\n // Needed for lazy modals\n\n\n var outer = h(false);\n\n if (!this.is_hidden) {\n outer = h('div', {\n key: 'modal-outer',\n style: this.modalOuterStyle,\n attrs: {\n id: this.safeId('__BV_modal_outer_')\n }\n }, [modal, tabTrap, backdrop]);\n } // Wrap in
to maintain `this.$el` reference for\n // hide/show method access\n\n\n return h('div', {}, [outer]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/modal/modal.js\n// module id = ESch\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _tooltip = _interopRequireDefault(require(\"../../utils/tooltip.class\"));\n\nvar _warn = _interopRequireDefault(require(\"../../utils/warn\"));\n\nvar _toolpop = _interopRequireDefault(require(\"../../mixins/toolpop\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BTooltip',\n mixins: [_toolpop.default],\n props: {\n title: {\n type: String,\n default: ''\n },\n triggers: {\n type: [String, Array],\n default: 'hover focus'\n },\n placement: {\n type: String,\n default: 'top'\n }\n },\n data: function data() {\n return {};\n },\n methods: {\n createToolpop: function createToolpop() {\n // getTarget is in toolpop mixin\n var target = this.getTarget();\n /* istanbul ignore else */\n\n if (target) {\n this._toolpop = new _tooltip.default(target, this.getConfig(), this.$root);\n } else {\n this._toolpop = null;\n (0, _warn.default)(\"b-tooltip: 'target' element not found!\");\n }\n\n return this._toolpop;\n }\n },\n render: function render(h) {\n return h('div', {\n class: ['d-none'],\n style: {\n display: 'none'\n },\n attrs: {\n 'aria-hidden': true\n }\n }, [h('div', {\n ref: 'title'\n }, this.$slots.default)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/tooltip/tooltip.js\n// module id = EXyZ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _form = _interopRequireDefault(require(\"../../mixins/form\"));\n\nvar _formState = _interopRequireDefault(require(\"../../mixins/form-state\"));\n\nvar _formSize = _interopRequireDefault(require(\"../../mixins/form-size\"));\n\nvar _formRadioCheck = _interopRequireDefault(require(\"../../mixins/form-radio-check\"));\n\nvar _looseEqual = _interopRequireDefault(require(\"../../utils/loose-equal\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BFormRadio',\n mixins: [_id.default, _formRadioCheck.default, // Includes shared render function\n _form.default, _formSize.default, _formState.default],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: {\n checked: {\n // v-model\n type: [String, Object, Number, Boolean],\n default: null\n }\n },\n computed: {\n // Radio Groups can only have a single value, so determining if checked is simple\n is_Checked: function is_Checked() {\n return (0, _looseEqual.default)(this.value, this.computedLocalChecked);\n },\n // Flags for form-radio-check mixin\n is_Radio: function is_Radio() {\n return true;\n },\n is_Check: function is_Check() {\n return false;\n }\n },\n watch: {\n // Radio Groups can only have a single value, so our watchers are simple\n computedLocalChecked: function computedLocalChecked(newVal, oldVal) {\n this.$emit('input', this.computedLocalChecked);\n }\n },\n methods: {\n handleChange: function handleChange(_ref) {\n var checked = _ref.target.checked;\n var value = this.value;\n this.computedLocalChecked = value; // Change is only emitted on user interaction\n\n this.$emit('change', checked ? value : null); // If this is a child of form-radio-group, we emit a change event on it as well\n\n if (this.is_Group) {\n this.bvGroup.$emit('change', checked ? value : null);\n }\n }\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-radio/form-radio.js\n// module id = Ea66\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _alert = _interopRequireDefault(require(\"./alert\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BAlert: _alert.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/alert/index.js\n// module id = FEtK\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _form = _interopRequireDefault(require(\"../../mixins/form\"));\n\nvar _formSize = _interopRequireDefault(require(\"../../mixins/form-size\"));\n\nvar _formState = _interopRequireDefault(require(\"../../mixins/form-state\"));\n\nvar _formText = _interopRequireDefault(require(\"../../mixins/form-text\"));\n\nvar _formSelection = _interopRequireDefault(require(\"../../mixins/form-selection\"));\n\nvar _formValidity = _interopRequireDefault(require(\"../../mixins/form-validity\"));\n\nvar _array = require(\"../../utils/array\");\n\nvar _dom = require(\"../../utils/dom\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Valid supported input types\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // @vue/component\n\nvar _default = _vue.default.extend({\n name: 'BFormInput',\n mixins: [_id.default, _form.default, _formSize.default, _formState.default, _formText.default, _formSelection.default, _formValidity.default],\n props: {\n // value prop defined in form-text mixin\n // value: { },\n type: {\n type: String,\n default: 'text',\n validator: function validator(type) {\n return (0, _array.arrayIncludes)(TYPES, type);\n }\n },\n noWheel: {\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date).\n type: Boolean,\n default: false\n },\n min: {\n type: [String, Number],\n default: null\n },\n max: {\n type: [String, Number],\n default: null\n },\n step: {\n type: [String, Number],\n default: null\n },\n list: {\n type: String,\n default: null\n }\n },\n computed: {\n localType: function localType() {\n // We only allow certain types\n return (0, _array.arrayIncludes)(TYPES, this.type) ? this.type : 'text';\n }\n },\n watch: {\n noWheel: function noWheel(newVal) {\n this.setWheelStopper(newVal);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propgation\n\n if (on) {\n (0, _dom.eventOn)(input, 'focus', this.onWheelFocus);\n (0, _dom.eventOn)(input, 'blur', this.onWheelBlur);\n } else {\n (0, _dom.eventOff)(input, 'focus', this.onWheelFocus);\n (0, _dom.eventOff)(input, 'blur', this.onWheelBlur);\n (0, _dom.eventOff)(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus(evt) {\n (0, _dom.eventOn)(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur(evt) {\n (0, _dom.eventOff)(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(evt) {\n evt.preventDefault();\n this.$el.blur();\n }\n },\n render: function render(h) {\n var self = this;\n return h('input', {\n ref: 'input',\n class: self.computedClass,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: self.localValue,\n expression: 'localValue'\n }],\n attrs: {\n id: self.safeId(),\n name: self.name,\n form: self.form || null,\n type: self.localType,\n disabled: self.disabled,\n placeholder: self.placeholder,\n required: self.required,\n autocomplete: self.autocomplete || null,\n readonly: self.readonly || self.plaintext,\n min: self.min,\n max: self.max,\n step: self.step,\n list: self.localType !== 'password' ? self.list : null,\n 'aria-required': self.required ? 'true' : null,\n 'aria-invalid': self.computedAriaInvalid\n },\n domProps: {\n value: self.localValue\n },\n on: _objectSpread({}, self.$listeners, {\n input: self.onInput,\n change: self.onChange,\n blur: self.onBlur\n })\n });\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-input/form-input.js\n// module id = FGX+\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _looseEqual = _interopRequireDefault(require(\"../../../utils/loose-equal\"));\n\nvar _warn = _interopRequireDefault(require(\"../../../utils/warn\"));\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _listenOnRoot = _interopRequireDefault(require(\"../../../mixins/listen-on-root\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n mixins: [_listenOnRoot.default],\n props: {\n noProviderPaging: {\n type: Boolean,\n default: false\n },\n noProviderSorting: {\n type: Boolean,\n default: false\n },\n noProviderFiltering: {\n type: Boolean,\n default: false\n },\n apiUrl: {\n // Passthrough prop. Passed to the context object. Not used by b-table directly\n type: String,\n default: ''\n }\n },\n computed: {\n hasProvider: function hasProvider() {\n return this.items instanceof Function;\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return ctx;\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newVal, oldVal) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || newVal instanceof Function) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newVal, oldVal) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!(0, _looseEqual.default)(newVal, oldVal)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot('bv::refresh::table', function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n // Public Method: Force a refresh of the provider function\n this.$off('refreshed', this.refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on('refreshed', this.refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = (0, _inspect.isArray)(this.items) ? this.items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = (0, _inspect.isArray)(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit('refreshed'); // New root emit\n\n if (this.id) {\n this.emitOnRoot('bv::table::refreshed', this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n var _this2 = this;\n\n try {\n // Call provider function passing it the context and optional callback\n var data = this.items(this.context, this._providerSetLocal);\n\n if (data && data.then && (0, _inspect.isFunction)(data.then)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if ((0, _inspect.isArray)(data)) {\n // Provider returned Array data\n this._providerSetLocal(data);\n } else if (this.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n (0, _warn.default)(\"b-table provider function didn't request callback and did not return a promise or data\");\n /* istanbul ignore next */\n\n this.localBusy = false;\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n (0, _warn.default)(\"b-table provider function error [\".concat(e.name, \"] \").concat(e.message));\n this.localBusy = false;\n this.$off('refreshed', this.refresh);\n }\n });\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-provider.js\n// module id = FQkT\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _keyCodes = _interopRequireDefault(require(\"../utils/key-codes\"));\n\nvar _range = _interopRequireDefault(require(\"../utils/range\"));\n\nvar _toString = _interopRequireDefault(require(\"../utils/to-string\"));\n\nvar _warn = _interopRequireDefault(require(\"../utils/warn\"));\n\nvar _inspect = require(\"../utils/inspect\");\n\nvar _dom = require(\"../utils/dom\");\n\nvar _normalizeSlot = _interopRequireDefault(require(\"../mixins/normalize-slot\"));\n\nvar _link = _interopRequireDefault(require(\"../components/link/link\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\n * Common props, computed, data, render function, and methods\n * for
and \n */\n// Threshold of limit size when we start/stop showing ellipsis\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // Make an array of N to N+X\n\nfunction makePageArray(startNum, numPages) {\n return (0, _range.default)(numPages).map(function (value, index) {\n return {\n number: index + startNum,\n classes: null\n };\n });\n} // Sanitize the provided Limit value (converting to a number)\n\n\nfunction sanitizeLimit(value) {\n var limit = parseInt(value, 10) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n} // Sanitize the provided current page number (converting to a number)\n\n\nfunction sanitizeCurPage(value, numPages) {\n var page = parseInt(value, 10) || 1;\n return page > numPages ? numPages : page < 1 ? 1 : page;\n} // Links don't normally respond to SPACE, so we add that functionality via this handler\n\n\nfunction onSpaceKey(evt) {\n if (evt.keyCode === _keyCodes.default.SPACE) {\n evt.preventDefault(); // Stop page from scrolling\n\n evt.stopImmediatePropagation();\n evt.stopPropagation(); // Trigger the click event on the link\n\n evt.currentTarget.click();\n return false;\n }\n} // Props object\n\n\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n value: {\n type: [Number, String],\n default: null,\n validator: function validator(value) {\n var num = parseInt(value, 10);\n /* istanbul ignore if */\n\n if (!(0, _inspect.isNull)(value) && (isNaN(num) || num < 1)) {\n (0, _warn.default)('pagination: v-model value must be a number greater than 0');\n return false;\n }\n\n return true;\n }\n },\n limit: {\n type: [Number, String],\n default: DEFAULT_LIMIT,\n validator: function validator(value) {\n var num = parseInt(value, 10);\n /* istanbul ignore if */\n\n if (isNaN(num) || num < 1) {\n (0, _warn.default)('pagination: prop \"limit\" must be a number greater than 0');\n return false;\n }\n\n return true;\n }\n },\n size: {\n type: String,\n default: 'md'\n },\n align: {\n type: String,\n default: 'left'\n },\n hideGotoEndButtons: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: 'Pagination'\n },\n labelFirstPage: {\n type: String,\n default: 'Go to first page'\n },\n firstText: {\n type: String,\n default: '«'\n },\n labelPrevPage: {\n type: String,\n default: 'Go to previous page'\n },\n prevText: {\n type: String,\n default: '‹'\n },\n labelNextPage: {\n type: String,\n default: 'Go to next page'\n },\n nextText: {\n type: String,\n default: '›'\n },\n labelLastPage: {\n type: String,\n default: 'Go to last page'\n },\n lastText: {\n type: String,\n default: '»'\n },\n labelPage: {\n type: [String, Function],\n default: 'Go to page'\n },\n hideEllipsis: {\n type: Boolean,\n default: false\n },\n ellipsisText: {\n type: String,\n default: '…'\n } // @vue/component\n\n};\nvar _default = {\n mixins: [_normalizeSlot.default],\n model: {\n prop: 'value',\n event: 'input'\n },\n props: props,\n data: function data() {\n var curr = parseInt(this.value, 10);\n return {\n // -1 signifies no page initially selected\n currentPage: curr > 0 ? curr : -1,\n localNumPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n return this.size ? \"pagination-\".concat(this.size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added.\n // We ad text centering to make the button appearance better in fill mode.\n return 'text-center';\n }\n\n return '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurPage(this.currentPage, this.localNumPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.limit;\n var numPages = this.localNumPages;\n var curPage = this.computedCurrentPage;\n var hideEllipsis = this.hideEllipsis;\n var showFirstDots = false;\n var showLastDots = false;\n var numLinks = limit;\n var startNum = 1;\n\n if (numPages <= limit) {\n // Special Case: Less pages available than the limit of displayed pages\n numLinks = numPages;\n } else if (curPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n // We are near the beginning of the page list\n if (!hideEllipsis) {\n showLastDots = true;\n numLinks = limit - 1;\n }\n } else if (numPages - curPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n // We are near the end of the list\n if (!hideEllipsis) {\n numLinks = limit - 1;\n showFirstDots = true;\n }\n\n startNum = numPages - numLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD && !hideEllipsis) {\n numLinks = limit - 2;\n showFirstDots = showLastDots = true;\n }\n\n startNum = curPage - Math.floor(numLinks / 2);\n } // Sanity checks\n\n\n if (startNum < 1) {\n /* istanbul ignore next */\n startNum = 1;\n } else if (startNum > numPages - numLinks) {\n startNum = numPages - numLinks + 1;\n }\n\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numLinks: numLinks,\n startNum: startNum\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numLinks = _this$paginationParam.numLinks,\n startNum = _this$paginationParam.startNum;\n var currPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNum, numLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currPage - startNum; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: {\n value: function value(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurPage(newValue, this.localNumPages);\n }\n },\n currentPage: function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit null if no page selected\n this.$emit('input', newValue > 0 ? newValue : null);\n }\n },\n limit: function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumPages ? _this.localNumPages : _this.currentPage;\n });\n },\n methods: {\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return (0, _dom.selectAll)('a.page-link', this.$el).filter(function (btn) {\n return (0, _dom.isVisible)(btn);\n });\n },\n setBtnFocus: function setBtnFocus(btn) {\n btn.focus();\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return parseInt((0, _dom.getAttr)(el, 'aria-posinset'), 10) === _this2.computedCurrentPage;\n });\n\n if (btn && btn.focus) {\n _this2.setBtnFocus(btn);\n } else {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !(0, _dom.isDisabled)(el);\n });\n\n if (btn && btn.focus && btn !== document.activeElement) {\n _this3.setBtnFocus(btn);\n }\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !(0, _dom.isDisabled)(el);\n });\n\n if (btn && btn.focus && btn !== document.activeElement) {\n _this4.setBtnFocus(btn);\n }\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var idx = buttons.indexOf(document.activeElement);\n\n if (idx > 0 && !(0, _dom.isDisabled)(buttons[idx - 1]) && buttons[idx - 1].focus) {\n _this5.setBtnFocus(buttons[idx - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in next tick to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var idx = buttons.indexOf(document.activeElement);\n var cnt = buttons.length - 1;\n\n if (idx < cnt && !(0, _dom.isDisabled)(buttons[idx + 1]) && buttons[idx + 1].focus) {\n _this6.setBtnFocus(buttons[idx + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var buttons = [];\n var numberOfPages = this.localNumPages;\n var disabled = this.disabled;\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var currPage = this.computedCurrentPage;\n var fill = this.align === 'fill'; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNum) {\n return pageNum === currPage;\n };\n\n var noCurrPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNum = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNum,\n index: pageNum - 1\n };\n var btnContent = _this7.normalizeSlot(btnSlot, scope) || (0, _toString.default)(btnText) || h(false);\n var inner = h(isDisabled ? 'span' : _link.default, {\n staticClass: 'page-link',\n props: isDisabled ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: 'menuitem',\n tabindex: isDisabled ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n click: function click(evt) {\n _this7.onClick(linkTo, evt);\n },\n keydown: onSpaceKey\n }\n }, [btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: {\n disabled: isDisabled,\n 'flex-fill': fill\n },\n attrs: {\n role: 'none presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first'),\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : ''],\n attrs: {\n role: 'separator'\n }\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot('ellipsis-text', {}) || (0, _toString.default)(_this7.ellipsisText) || h(false)])]);\n }; // Goto First Page button bookend\n\n\n buttons.push(this.hideGotoEndButtons ? h(false) : makeEndBtn(1, this.labelFirstPage, 'first-text', this.firstText, 1, 'bookend-goto-first')); // Goto Previous page button bookend\n\n buttons.push(makeEndBtn(currPage - 1, this.labelPrevPage, 'prev-text', this.prevText, 1, 'bookend-goto-prev')); // First Ellipsis Bookend\n\n buttons.push(showFirstDots ? makeEllipsis(false) : h(false)); // Individual Page links\n\n this.pageList.forEach(function (page, idx) {\n var active = isActivePage(page.number) && !noCurrPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: 'menuitemradio',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': (0, _inspect.isFunction)(_this7.labelPage) ? _this7.labelPage(page.number) : \"\".concat(_this7.labelPage, \" \").concat(page.number),\n 'aria-checked': active ? 'true' : 'false',\n 'aria-posinset': page.number,\n 'aria-setsize': numberOfPages,\n // ARIA \"roving tabindex\" method\n tabindex: tabIndex\n };\n var btnContent = (0, _toString.default)(_this7.makePage(page.number));\n var scope = {\n page: page.number,\n index: page.number - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var inner = h(disabled ? 'span' : _link.default, {\n props: disabled ? {} : _this7.linkProps(page.number),\n staticClass: 'page-link',\n attrs: attrs,\n on: disabled ? {} : {\n click: function click(evt) {\n _this7.onClick(page.number, evt);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot('page', scope) || btnContent]);\n buttons.push(h('li', {\n key: \"page-\".concat(page.number),\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill\n }, page.classes],\n attrs: {\n role: 'none presentation'\n }\n }, [inner]));\n }); // Last Ellipsis Bookend\n\n buttons.push(showLastDots ? makeEllipsis(true) : h(false)); // Goto Next page button bookend\n\n buttons.push(makeEndBtn(currPage + 1, this.labelNextPage, 'next-text', this.nextText, numberOfPages, 'bookend-goto-next')); // Goto Last Page button bookend\n\n buttons.push(this.hideGotoEndButtons ? h(false) : makeEndBtn(numberOfPages, this.labelLastPage, 'last-text', this.lastText, numberOfPages, 'bookend-goto-last')); // Assemble the pagination buttons\n\n var pagination = h('ul', {\n ref: 'ul',\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment],\n attrs: {\n role: 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': this.ariaLabel || null\n },\n on: {\n keydown: function keydown(evt) {\n var keyCode = evt.keyCode;\n var shift = evt.shiftKey;\n\n if (keyCode === _keyCodes.default.LEFT) {\n evt.preventDefault();\n shift ? _this7.focusFirst() : _this7.focusPrev();\n } else if (keyCode === _keyCodes.default.RIGHT) {\n evt.preventDefault();\n shift ? _this7.focusLast() : _this7.focusNext();\n }\n }\n }\n }, buttons); // if we are pagination-nav, wrap in '' wrapper\n\n if (this.isNav) {\n return h('nav', {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false'\n }\n }, [pagination]);\n } else {\n return pagination;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/pagination.js\n// module id = FekY\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _popper = _interopRequireDefault(require(\"popper.js\"));\n\nvar _popover = _interopRequireDefault(require(\"../../utils/popover.class\"));\n\nvar _warn = _interopRequireDefault(require(\"../../utils/warn\"));\n\nvar _env = require(\"../../utils/env\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _object = require(\"../../utils/object\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Key which we use to store tooltip object on element\nvar BV_POPOVER = '__BV_PopOver__'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true // Build a PopOver config based on bindings (if any)\n // Arguments and modifiers take precedence over passed value config object\n\n /* istanbul ignore next: not easy to test */\n\n};\n\nvar parseBindings = function parseBindings(bindings)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a blank config\n var config = {}; // Process bindings.value\n\n if ((0, _inspect.isString)(bindings.value)) {\n // Value is popover content (html optionally supported)\n config.content = bindings.value;\n } else if ((0, _inspect.isFunction)(bindings.value)) {\n // Content generator function\n config.content = bindings.value;\n } else if ((0, _inspect.isObject)(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread({}, config, bindings.value);\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n (0, _object.keys)(bindings.modifiers).forEach(function (mod) {\n if (/^html$/.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (/^nofade$/.test(mod)) {\n // no animation\n config.animation = false;\n } else if (/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/.test(mod)) {\n // placement of popover\n config.placement = mod;\n } else if (/^(window|viewport)$/.test(mod)) {\n // Boundary of popover\n config.boundary = mod;\n } else if (/^d\\d+$/.test(mod)) {\n // Delay value\n var delay = parseInt(mod.slice(1), 10) || 0;\n\n if (delay) {\n config.delay = delay;\n }\n } else if (/^o-?\\d+$/.test(mod)) {\n // Offset value (negative allowed)\n var offset = parseInt(mod.slice(1), 10) || 0;\n\n if (offset) {\n config.offset = offset;\n }\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n var triggers = (0, _inspect.isString)(config.trigger) ? config.trigger.trim().split(/\\s+/) : [];\n triggers.forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n (0, _object.keys)(validTriggers).forEach(function (trigger) {\n if (bindings.modifiers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = (0, _object.keys)(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to focus\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Remove trigger config\n delete config.trigger;\n }\n\n return config;\n}; // Add or update PopOver on our element\n\n\nvar applyPopover = function applyPopover(el, bindings, vnode) {\n if (!_env.isBrowser) {\n /* istanbul ignore next */\n return;\n } // Popper is required for PopOvers to work\n\n\n if (!_popper.default) {\n /* istanbul ignore next */\n (0, _warn.default)('v-b-popover: Popper.js is required for PopOvers to work');\n /* istanbul ignore next */\n\n return;\n }\n\n var config = parseBindings(bindings);\n\n if (el[BV_POPOVER]) {\n el[BV_POPOVER].updateConfig(config);\n } else {\n el[BV_POPOVER] = new _popover.default(el, config, vnode.context.$root);\n }\n}; // Remove PopOver on our element\n\n\nvar removePopover = function removePopover(el) {\n if (el[BV_POPOVER]) {\n el[BV_POPOVER].destroy();\n el[BV_POPOVER] = null;\n delete el[BV_POPOVER];\n }\n};\n/*\n * Export our directive\n */\n\n\nvar _default = {\n bind: function bind(el, bindings, vnode) {\n applyPopover(el, bindings, vnode);\n },\n inserted: function inserted(el, bindings, vnode) {\n applyPopover(el, bindings, vnode);\n },\n update: function update(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyPopover(el, bindings, vnode);\n }\n },\n componentUpdated: function componentUpdated(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyPopover(el, bindings, vnode);\n }\n },\n unbind: function unbind(el) {\n removePopover(el);\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/popover/popover.js\n// module id = FhUz\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_to-length.js\n// module id = Fj2U\n// module chunks = 0","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/createError.js\n// module id = FtD3\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _modal = _interopRequireDefault(require(\"./modal\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar directives = {\n BModal: _modal.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/modal/index.js\n// module id = G+QY\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isURLSameOrigin.js\n// module id = GHBc\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _dom = require(\"./dom\");\n\nvar _warn = require(\"./warn\");\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [opts={childList: true, subtree: true}] observe options\n * @see http://stackoverflow.com/questions/3219758\n */\nvar observeDom = function observeDom(el, callback, opts)\n/* istanbul ignore next: difficult to test in JSDOM */\n{\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null; // Early exit when we have no element\n\n /* istanbul ignore next: difficult to test in JSDOM */\n\n if (!(0, _dom.isElement)(el)) {\n return null;\n } // Exit and throw a warning when `MutationObserver` isn't available\n\n\n if ((0, _warn.warnNoMutationObserverSupport)('observeDom')) {\n return null;\n } // Define a new observer\n\n\n var obs = new _dom.MutationObs(function (mutations) {\n var changed = false; // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n\n for (var i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n var mutation = mutations[i]; // Mutation type\n\n var type = mutation.type; // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n\n var target = mutation.target; // Detect whether a change happened based on type and target\n\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc)\n // as they don't change layout\n changed = true;\n } else if (type === 'attributes') {\n changed = true;\n } else if (type === 'childList' && (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true;\n }\n } // We only call the callback if a change that could affect\n // layout/size truely happened\n\n\n if (changed) {\n callback();\n }\n }); // Have the observer observe foo for changes in children, etc\n\n obs.observe(el, _objectSpread({\n childList: true,\n subtree: true\n }, opts)); // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n\n return obs;\n};\n\nvar _default = observeDom;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/observe-dom.js\n// module id = GKfW\n// module chunks = 0","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/fn/object/assign.js\n// module id = GahY\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_to-iobject.js\n// module id = GllJ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.concat = exports.arrayIncludes = exports.isArray = exports.from = void 0;\n\nvar _from = _interopRequireDefault(require(\"core-js/library/fn/array/from\"));\n\nvar _isArray = _interopRequireDefault(require(\"core-js/library/fn/array/is-array\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// --- Static ---\nvar from = Array.from || _from.default;\nexports.from = from;\nvar isArray = Array.isArray || _isArray.default; // --- Instance ---\n\nexports.isArray = isArray;\n\nvar arrayIncludes = function arrayIncludes(array, value) {\n return array.indexOf(value) !== -1;\n};\n\nexports.arrayIncludes = arrayIncludes;\n\nvar concat = function concat() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return Array.prototype.concat.apply([], args);\n};\n\nexports.concat = concat;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/array.js\n// module id = GnGf\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = GxOn\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _config = require(\"../../utils/config\");\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _buttonClose = _interopRequireDefault(require(\"../button/button-close\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar NAME = 'BAlert'; // Convert `show` value to a number\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || (0, _inspect.isBoolean)(show)) {\n return 0;\n }\n\n show = parseInt(show, 10);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (parseInt(show, 10) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return Boolean(show);\n}; // Is a value number like (i.e. a number or a number as string)\n\n\nvar isNumericLike = function isNumericLike(value) {\n return !isNaN(parseInt(value, 10));\n}; // @vue/component\n\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n model: {\n prop: 'show',\n event: 'input'\n },\n props: {\n variant: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'variant'));\n }\n },\n dismissible: {\n type: Boolean,\n default: false\n },\n dismissLabel: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'dismissLabel'));\n }\n },\n show: {\n type: [Boolean, Number, String],\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n countDownTimerId: null,\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this.show),\n showClass: this.fade && this.show\n };\n },\n watch: {\n show: function show(newVal) {\n this.countDown = parseCountDown(newVal);\n this.localShow = parseShow(newVal);\n },\n countDown: function countDown(newVal) {\n var _this = this;\n\n this.clearTimer();\n this.$emit('dismiss-count-down', newVal);\n\n if (this.show !== newVal) {\n // Update the v-model if needed\n this.$emit('input', newVal);\n }\n\n if (newVal > 0) {\n this.localShow = true;\n this.countDownTimerId = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n (0, _dom.requestAF)(function () {\n _this.localShow = false;\n });\n });\n }\n },\n localShow: function localShow(newVal) {\n if (!newVal && (this.dismissible || isNumericLike(this.show))) {\n // Only emit dismissed events for dismissible or auto dismissing alerts\n this.$emit('dismissed');\n }\n\n if (!isNumericLike(this.show) && this.show !== newVal) {\n // Only emit booleans if we weren't passed a number via `this.show`\n this.$emit('input', newVal);\n }\n }\n },\n created: function created() {\n this.countDown = parseCountDown(this.show);\n this.localShow = parseShow(this.show);\n },\n mounted: function mounted() {\n this.countDown = parseCountDown(this.show);\n this.localShow = parseShow(this.show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearTimer();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearTimer();\n this.countDown = 0;\n this.localShow = false;\n },\n clearTimer: function clearTimer() {\n if (this.countDownTimerId) {\n clearInterval(this.countDownTimerId);\n this.countDownTimerId = null;\n }\n },\n onBeforeEnter: function onBeforeEnter() {\n var _this2 = this;\n\n if (this.fade) {\n (0, _dom.requestAF)(function () {\n _this2.showClass = true;\n });\n }\n },\n onBeforeLeave: function onBeforeLeave()\n /* istanbul ignore next: does not appear to be called in vue-test-utils */\n {\n this.showClass = false;\n }\n },\n render: function render(h) {\n var $slots = this.$slots;\n var $alert; // undefined\n\n if (this.localShow) {\n var $dismissBtn = h(false);\n\n if (this.dismissible) {\n // Add dismiss button\n $dismissBtn = h(_buttonClose.default, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [$slots.dismiss]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n fade: this.fade,\n show: this.showClass,\n 'alert-dismissible': this.dismissible\n }, \"alert-\".concat(this.variant), this.variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n }\n }, [$dismissBtn, $slots.default]);\n $alert = [$alert];\n }\n\n return h('transition', {\n props: {\n 'enter-class': '',\n 'enter-active-class': '',\n 'enter-to-class': '',\n 'leave-class': 'show',\n 'leave-active-class': '',\n 'leave-to-class': ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave\n }\n }, $alert);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/alert/alert.js\n// module id = HDlv\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * @param {number} length\n * @return {Array}\n */\nvar range = function range(length) {\n return Array.apply(null, {\n length: length\n });\n};\n\nvar _default = range;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/range.js\n// module id = HHnW\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../../utils/vue\"));\n\nvar _config = require(\"../../../utils/config\");\n\nvar _dom = require(\"../../../utils/dom\");\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _object = require(\"../../../utils/object\");\n\nvar _warn = require(\"../../../utils/warn\");\n\nvar _toast = _interopRequireWildcard(require(\"../toast\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n// --- Constants ---\nvar PROP_NAME = '$bvToast'; // Base toast props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray((0, _object.keys)((0, _object.omit)(_toast.props, ['static', 'visible'])))); // Map prop names to toast slot names\n\nvar propsToSlots = {\n toastContent: 'default',\n title: 'toast-title' // --- Utility methods ---\n // Method to filter only recognized props that are not undefined\n\n};\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!(0, _inspect.isUndefined)(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Create a private sub-component that extends BToast\n// which self-destructs after hidden\n// @vue/component\n\n\nvar BToastPop = _vue.default.extend({\n name: 'BToastPop',\n extends: _toast.default,\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n // Self destruct handler\n var self = this;\n\n var handleDestroy = function handleDestroy() {\n // Ensure the toast has been force hidden\n self.localShow = false;\n self.doRender = false;\n self.$nextTick(function () {\n self.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n // and to allow the portal-target time to remove the content\n (0, _dom.requestAF)(function () {\n self.$destroy();\n });\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once('hook:destroyed', handleDestroy); // Self destruct after hidden\n\n this.$once('hidden', handleDestroy); // Self destruct when toaster is destroyed\n\n this.listenOnRoot('bv::toaster::destroyed', function (toaster) {\n if (toaster === self.toaster) {\n handleDestroy();\n }\n });\n }\n}); // Method to generate the on-demand toast\n\n\nvar makeToast = function makeToast(props, $parent) {\n if ((0, _warn.warnNotClient)(PROP_NAME)) {\n // Should this throw an error?\n\n /* istanbul ignore next */\n return;\n } // Create an instance of `BToast` component\n\n\n var toast = new BToastPop({\n // We set parent as the local VM so these toasts can emit events on\n // the app `$root`\n // And it helps to ensure `BToast` is destroyed when parent is destroyed\n parent: $parent,\n // Preset the prop values\n propsData: _objectSpread({}, filterOptions((0, _config.getComponentConfig)('BToast') || {}), (0, _object.omit)(props, ['toastContent']), {\n // Props that can't be overridden\n static: false,\n visible: true\n })\n }); // Convert certain props to slots\n\n (0, _object.keys)(propsToSlots).forEach(function (prop) {\n var value = props[prop];\n\n if (!(0, _inspect.isUndefined)(value)) {\n // Can be a string, or array of VNodes\n // Alternatively, user can use HTML version of prop to pass an HTML string\n if (prop === 'title' && (0, _inspect.isString)(value)) {\n // Special case for title if it is a string, we wrap in a \n value = [$parent.$createElement('strong', {\n class: 'mr-2'\n }, value)];\n }\n\n toast.$slots[propsToSlots[prop]] = value;\n }\n }); // Create a mount point (a DIV)\n // TODO: this needs to target a portal-target\n // But we still need to place in document to portal-vue can\n // transfer the content\n\n var div = document.createElement('div');\n document.body.appendChild(div); // Mount the toast to trigger it to show\n\n toast.$mount(div);\n}; // BvToast instance property class\n\n\nvar BvToast =\n/*#__PURE__*/\nfunction () {\n function BvToast(vm) {\n _classCallCheck(this, BvToast);\n\n // Assign the new properties to this instance\n (0, _object.assign)(this, {\n _vm: vm,\n _root: vm.$root\n }); // Set these properties as read-only and non-enumerable\n\n (0, _object.defineProperties)(this, {\n _vm: (0, _object.readonlyDescriptor)(),\n _root: (0, _object.readonlyDescriptor)()\n });\n } // --- Instance methods ---\n // Opens a user defined toast and returns immediately\n\n\n _createClass(BvToast, [{\n key: \"toast\",\n value: function toast(content) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!content || (0, _warn.warnNotClient)(PROP_NAME)) {\n // Should this throw an error?\n\n /* istanbul ignore next */\n return;\n }\n\n var props = _objectSpread({}, filterOptions(options), {\n toastContent: content\n });\n\n makeToast(props, this._vm);\n } // shows a `` component with the specified ID\n\n }, {\n key: \"show\",\n value: function show(id) {\n if (id) {\n this._root.$emit('bv::show::toast', id);\n }\n } // Hide a toast with specified ID, or if not ID all toasts\n\n }, {\n key: \"hide\",\n value: function hide() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n this._root.$emit('bv::hide::toast', id);\n }\n }]);\n\n return BvToast;\n}(); // Method to install `$bvToast` VM injection\n\n\nvar install = function install(_Vue) {\n if (install._installed) {\n // Only install once\n\n /* istanbul ignore next */\n return;\n }\n\n install._installed = true; // Add our instance mixin\n\n _Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvToast` for each VM\n this._bv__toast = new BvToast(this);\n }\n }); // Define our read-only `$bvToast` instance property\n // Placed in an if just in case in HMR mode\n\n\n if (!_Vue.prototype.hasOwnProperty(PROP_NAME)) {\n (0, _object.defineProperty)(_Vue.prototype, PROP_NAME, {\n get: function get() {\n return this._bv__toast;\n }\n });\n }\n};\n\nvar _default = install;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/toast/helpers/bv-toast.js\n// module id = HT2+\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _link = _interopRequireDefault(require(\"../link/link\"));\n\nvar _nav = _interopRequireWildcard(require(\"../nav/nav\"));\n\nvar _keyCodes = _interopRequireDefault(require(\"../../utils/key-codes\"));\n\nvar _observeDom = _interopRequireDefault(require(\"../../utils/observe-dom\"));\n\nvar _object = require(\"../../utils/object\");\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// -- Constants --\nvar navProps = (0, _object.omit)(_nav.props, ['tabs', 'isNavBar']); // -- Utils --\n// Filter function to filter out disabled tabs\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BTabButtonHelper = _vue.default.extend({\n name: 'BTabButtonHelper',\n inject: {\n bvTabs: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: {\n // Reference to the child instance\n tab: {\n default: null\n },\n tabs: {\n type: Array,\n default: function _default()\n /* istanbul ignore next */\n {\n return [];\n }\n },\n id: {\n type: String,\n default: null\n },\n controls: {\n type: String,\n default: null\n },\n tabIndex: {\n type: Number,\n default: null\n },\n posInSet: {\n type: Number,\n default: null\n },\n setSize: {\n type: Number,\n default: null\n },\n noKeyNav: {\n type: Boolean,\n default: false\n }\n },\n methods: {\n focus: function focus() {\n if (this.$refs && this.$refs.link && this.$refs.link.focus) {\n this.$refs.link.focus();\n }\n },\n handleEvt: function handleEvt(evt) {\n function stop() {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n if (this.tab.disabled) {\n /* istanbul ignore next */\n return;\n }\n\n var type = evt.type;\n var key = evt.keyCode;\n var shift = evt.shiftKey;\n\n if (type === 'click') {\n stop();\n this.$emit('click', evt);\n } else if (type === 'keydown' && !this.noKeyNav && key === _keyCodes.default.SPACE) {\n // In keynav mode, SPACE press will also trigger a click/select\n stop();\n this.$emit('click', evt);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if (key === _keyCodes.default.UP || key === _keyCodes.default.LEFT || key === _keyCodes.default.HOME) {\n stop();\n\n if (shift || key === _keyCodes.default.HOME) {\n this.$emit('first', evt);\n } else {\n this.$emit('prev', evt);\n }\n } else if (key === _keyCodes.default.DOWN || key === _keyCodes.default.RIGHT || key === _keyCodes.default.END) {\n stop();\n\n if (shift || key === _keyCodes.default.END) {\n this.$emit('last', evt);\n } else {\n this.$emit('next', evt);\n }\n }\n }\n }\n },\n render: function render(h) {\n var link = h(_link.default, {\n ref: 'link',\n staticClass: 'nav-link',\n class: [{\n active: this.tab.localActive && !this.tab.disabled,\n disabled: this.tab.disabled\n }, this.tab.titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n this.tab.localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n href: this.tab.href,\n // To be deprecated to always be '#'\n disabled: this.tab.disabled\n },\n attrs: {\n role: 'tab',\n id: this.id,\n // Roving tab index when keynav enabled\n tabindex: this.tabIndex,\n 'aria-selected': this.tab.localActive && !this.tab.disabled ? 'true' : 'false',\n 'aria-setsize': this.setSize,\n 'aria-posinset': this.posInSet,\n 'aria-controls': this.controls\n },\n on: {\n click: this.handleEvt,\n keydown: this.handleEvt\n }\n }, [this.tab.$slots.title || this.tab.title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [this.tab.titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [link]);\n }\n}); // @vue/component\n\n\nvar _default2 = _vue.default.extend({\n name: 'BTabs',\n mixins: [_id.default],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: _objectSpread({}, navProps, {\n tag: {\n type: String,\n default: 'div'\n },\n card: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n end: {\n // Synonym for 'bottom'\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noNavStyle: {\n type: Boolean,\n default: false\n },\n noKeyNav: {\n type: Boolean,\n default: false\n },\n lazy: {\n // This prop is sniffed by the child\n type: Boolean,\n default: false\n },\n contentClass: {\n type: [String, Array, Object],\n default: null\n },\n navClass: {\n type: [String, Array, Object],\n default: null\n },\n navWrapperClass: {\n type: [String, Array, Object],\n default: null\n },\n activeNavItemClass: {\n // Only applied to the currently active \n type: [String, Array, Object],\n default: null\n },\n activeTabClass: {\n // Only applied to the currently active \n // This prop is sniffed by the child\n type: [String, Array, Object],\n default: null\n },\n value: {\n // v-model\n type: Number,\n default: null\n }\n }),\n data: function data() {\n var tabIdx = parseInt(this.value, 10);\n tabIdx = isNaN(tabIdx) ? -1 : tabIdx;\n return {\n // Index of current tab\n currentTab: tabIdx,\n // Array of direct child instances\n tabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n navStyle: function navStyle() {\n return this.pills ? 'pills' : 'tabs';\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card) {\n if (this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n } else {\n classes.push(\"card-header-\".concat(this.navStyle));\n }\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: {\n currentTab: function currentTab(val, old) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function (tab, idx) {\n if (val === idx && !tab.disabled) {\n tab.localActive = true;\n index = idx;\n } else {\n tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit('input', index);\n },\n value: function value(val, old) {\n if (val !== old) {\n val = parseInt(val, 10);\n val = isNaN(val) ? -1 : val;\n old = parseInt(old, 10) || 0;\n var tabs = this.tabs;\n\n if (tabs[val] && !tabs[val].disabled) {\n this.currentTab = val;\n } else {\n // Try next or prev tabs\n if (val < old) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }\n },\n created: function created() {\n var _this = this;\n\n var tabIdx = parseInt(this.value, 10);\n this.currentTab = isNaN(tabIdx) ? -1 : tabIdx; // Create private non-reactive prop\n\n this._bvObserver = null; // For SSR and to make sure only a single tab is shown on mount\n // We wrap this in a `$nextTick()` to ensure the child tabs have been created\n\n this.$nextTick(function () {\n _this.updateTabs();\n });\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.$nextTick(function () {\n // Call `updateTabs()` just in case...\n _this2.updateTabs(); // Observe child changes so we can update list of tabs\n\n\n _this2.setObserver(true);\n });\n },\n deactivated: function deactivated()\n /* istanbul ignore next */\n {\n this.setObserver(false);\n },\n activated: function activated()\n /* istanbul ignore next */\n {\n var _this3 = this;\n\n var tabIdx = parseInt(this.value, 10);\n this.currentTab = isNaN(tabIdx) ? -1 : tabIdx;\n this.$nextTick(function () {\n _this3.updateTabs();\n\n _this3.setObserver(true);\n });\n },\n beforeDestroy: function beforeDestroy()\n /* istanbul ignore next */\n {\n this.setObserver(false);\n },\n methods: {\n setObserver: function setObserver(on) {\n if (on) {\n // Make sure no existing observer running\n this.setObserver(false); // Watch for changes to sub components\n\n this._bvObserver = (0, _observeDom.default)(this.$refs.tabsContainer, this.updateTabs.bind(this), {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['style', 'class']\n });\n } else {\n if (this._bvObserver && this._bvObserver.disconnect) {\n this._bvObserver.disconnect();\n }\n\n this._bvObserver = null;\n }\n },\n getTabs: function getTabs() {\n return (this.$slots.default || []).map(function (vnode) {\n return vnode.componentInstance;\n }).filter(function (tab) {\n return tab && tab._isTab;\n });\n },\n // Update list of children\n updateTabs: function updateTabs() {\n // Probe tabs\n var tabs = this.getTabs(); // Find *last* active non-disabled tab in current tabs\n // We trust tab state over currentTab, in case tabs were added/removed/re-ordered\n\n var tabIndex = tabs.indexOf(tabs.slice().reverse().find(function (tab) {\n return tab.localActive && !tab.disabled;\n })); // Else try setting to currentTab\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = tabs.indexOf(tabs.slice().reverse().find(notDisabled));\n } else if (tabs[currentTab] && !tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find *first* non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = tabs.indexOf(tabs.find(notDisabled));\n } // Set the current tab state to active\n\n\n tabs.forEach(function (tab, idx) {\n // tab.localActive = idx === tabIndex && !tab.disabled\n tab.localActive = false;\n });\n\n if (tabs[tabIndex]) {\n tabs[tabIndex].localActive = true;\n } // Update the array of tab children\n\n\n this.tabs = tabs; // Set the currentTab index (can be -1 if no non-disabled tabs)\n\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab(tab) {\n return (this.$refs.buttons || []).find(function (btn) {\n return btn.tab === tab;\n });\n },\n // Force a button to re-render it's content, given a instance\n // Called by on `update()`\n updateButton: function updateButton(tab) {\n var button = this.getButtonForTab(tab);\n\n if (button && button.$forceUpdate) {\n button.$forceUpdate();\n }\n },\n // Activate a tab given a instance\n // Also accessed by \n activateTab: function activateTab(tab) {\n var result = false;\n\n if (tab) {\n var index = this.tabs.indexOf(tab);\n\n if (!tab.disabled && index > -1) {\n result = true;\n this.currentTab = index;\n }\n }\n\n if (!result) {\n // Couldn't set tab, so ensure v-model is set to `this.currentTab`\n\n /* istanbul ignore next: should rarely happen */\n this.$emit('input', this.currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a instance\n // Accessed by \n deactivateTab: function deactivateTab(tab) {\n if (tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function (t) {\n return t !== tab;\n }).find(notDisabled));\n } else {\n // No tab specified\n\n /* istanbul ignore next: should never happen */\n return false;\n }\n },\n // Focus a tab button given it's instance\n focusButton: function focusButton(tab) {\n var _this4 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering/updating before focusing\n this.$nextTick(function () {\n var button = _this4.getButtonForTab(tab);\n\n if (button && button.focus) {\n button.focus();\n }\n });\n },\n // Emit a click event on a specified component instance\n emitTabClick: function emitTabClick(tab, evt) {\n if (evt && evt instanceof Event && tab && tab.$emit && !tab.disabled) {\n tab.$emit('click', evt);\n }\n },\n // Click handler\n clickTab: function clickTab(tab, evt) {\n this.activateTab(tab);\n this.emitTabClick(tab, evt);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var tab = this.tabs.find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = Math.max(this.currentTab, 0);\n var tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = Math.max(this.currentTab, -1);\n var tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab);\n this.emitTabClick(tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this5 = this;\n\n var tabs = this.tabs; // Currently active tab\n\n var activeTab = tabs.find(function (tab) {\n return tab.localActive && !tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var fallbackTab = tabs.find(function (tab) {\n return !tab.disabled;\n }); // For each found create the tab buttons\n\n var buttons = tabs.map(function (tab, index) {\n var tabIndex = null; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n if (!_this5.noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if (activeTab === tab || !activeTab && fallbackTab === tab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BTabButtonHelper, {\n key: tab._uid || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true,\n props: {\n tab: tab,\n tabs: tabs,\n id: tab.controlledBy || (_this5.tab && _this5.tab.safeId ? _this5.tab.safeId(\"_BV_tab_button_\") : null),\n controls: _this5.tab && _this5.tab.safeId ? _this5.tab.safeId() : null,\n tabIndex: tabIndex,\n setSize: tabs.length,\n posInSet: index + 1,\n noKeyNav: _this5.noKeyNav\n },\n on: {\n click: function click(evt) {\n _this5.clickTab(tab, evt);\n },\n first: _this5.firstTab,\n prev: _this5.previousTab,\n next: _this5.nextTab,\n last: _this5.lastTab\n }\n });\n }); // Nav\n\n var nav = h(_nav.default, {\n ref: 'nav',\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: this.fill,\n justified: this.justified,\n align: this.align,\n tabs: !this.noNavStyle && !this.pills,\n pills: !this.noNavStyle && this.pills,\n vertical: this.vertical,\n small: this.small\n }\n }, [buttons, this.$slots.tabs]);\n nav = h('div', {\n key: 'bv-tabs-nav',\n class: [{\n 'card-header': this.card && !this.vertical && !(this.end || this.bottom),\n 'card-footer': this.card && !this.vertical && (this.end || this.bottom),\n 'col-auto': this.vertical\n }, this.navWrapperClass]\n }, [nav]);\n var empty = h(false);\n\n if (!tabs || tabs.length === 0) {\n empty = h('div', {\n key: 'empty-tab',\n class: ['tab-pane', 'active', {\n 'card-body': this.card\n }]\n }, this.$slots.empty);\n } // Main content section\n // TODO: This container should be a helper component\n\n\n var content = h('div', {\n ref: 'tabsContainer',\n key: 'bv-tabs-container',\n staticClass: 'tab-content',\n class: [{\n col: this.vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n }\n }, [this.$slots.default, empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: this.vertical,\n 'no-gutters': this.vertical && this.card\n },\n attrs: {\n id: this.safeId()\n }\n }, [this.end || this.bottom ? content : h(false), [nav], this.end || this.bottom ? h(false) : content]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/tabs/tabs.js\n// module id = HURm\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _inputGroupAddon = _interopRequireWildcard(require(\"./input-group-addon\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BInputGroupAppend',\n functional: true,\n props: _inputGroupAddon.commonProps,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // pass all our props/attrs down to child, and set`append` to true\n return h(_inputGroupAddon.default, (0, _vueFunctionalDataMerge.mergeData)(data, {\n props: _objectSpread({}, props, {\n append: true\n })\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-append.js\n// module id = Hea7\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formRow = _interopRequireDefault(require(\"../layout/form-row\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = _formRow.default;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-row.js\n// module id = I7Xz\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nvar _link = _interopRequireWildcard(require(\"../link/link\"));\n\nvar _html = require(\"../../utils/html\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = _objectSpread({}, (0, _link.propsFactory)(), {\n text: {\n type: String,\n default: null\n },\n html: {\n type: String,\n default: null\n },\n ariaCurrent: {\n type: String,\n default: 'location'\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BBreadcrumbLink',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var suppliedProps = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = suppliedProps.active ? 'span' : _link.default;\n var componentData = {\n props: (0, _pluckProps.default)(props, suppliedProps)\n };\n\n if (suppliedProps.active) {\n componentData.attrs = {\n 'aria-current': suppliedProps.ariaCurrent\n };\n }\n\n if (!children) {\n componentData.domProps = (0, _html.htmlOrText)(suppliedProps.html, suppliedProps.text);\n }\n\n return h(tag, (0, _vueFunctionalDataMerge.mergeData)(data, componentData), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb-link.js\n// module id = IEZC\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _breadcrumb = _interopRequireDefault(require(\"./breadcrumb\"));\n\nvar _breadcrumbItem = _interopRequireDefault(require(\"./breadcrumb-item\"));\n\nvar _breadcrumbLink = _interopRequireDefault(require(\"./breadcrumb-link\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BBreadcrumb: _breadcrumb.default,\n BBreadcrumbItem: _breadcrumbItem.default,\n BBreadcrumbLink: _breadcrumbLink.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/index.js\n// module id = JD2z\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/es6.object.assign.js\n// module id = JNDa\n// module chunks = 0","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/bind.js\n// module id = JP+z\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _link = _interopRequireDefault(require(\"./link\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BLink: _link.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/link/index.js\n// module id = JWHX\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _config = require(\"../../utils/config\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NAME = 'BCardSubTitle';\nvar props = {\n subTitle: {\n type: String,\n default: ''\n },\n subTitleTag: {\n type: String,\n default: 'h6'\n },\n subTitleTextVariant: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'subTitleTextVariant') || '') || null;\n }\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || props.subTitle);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-sub-title.js\n// module id = JnTl\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _media = _interopRequireDefault(require(\"./media\"));\n\nvar _mediaAside = _interopRequireDefault(require(\"./media-aside\"));\n\nvar _mediaBody = _interopRequireDefault(require(\"./media-body\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BMedia: _media.default,\n BMediaAside: _mediaAside.default,\n BMediaBody: _mediaBody.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/index.js\n// module id = JuiE\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) { /* Ignore */ }\n }\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\n\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/defaults.js\n// module id = KCLY\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _config = require(\"../../utils/config\");\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nvar _link = _interopRequireWildcard(require(\"../link/link\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar NAME = 'BBadge';\nvar linkProps = (0, _link.propsFactory)();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\n\nvar props = _objectSpread({}, linkProps, {\n tag: {\n type: String,\n default: 'span'\n },\n variant: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'variant'));\n }\n },\n pill: {\n type: Boolean,\n default: false\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = !props.href && !props.to ? props.tag : _link.default;\n var componentData = {\n staticClass: 'badge',\n class: [\"badge-\".concat(props.variant || (0, _config.getComponentConfig)(NAME, 'variant')), {\n 'badge-pill': Boolean(props.pill),\n active: props.active,\n disabled: props.disabled\n }],\n props: (0, _pluckProps.default)(linkProps, props)\n };\n return h(tag, (0, _vueFunctionalDataMerge.mergeData)(data, componentData), children);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/badge/badge.js\n// module id = KXjV\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-gpo.js\n// module id = Kfln\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _html = require(\"../../utils/html\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// @vue/component\nvar _default2 = _vue.default.extend({\n name: 'BProgressBar',\n inject: {\n bvProgress: {\n default: function _default()\n /* istanbul ignore next */\n {\n return {};\n }\n }\n },\n props: {\n value: {\n type: Number,\n default: 0\n },\n label: {\n type: String,\n default: null\n },\n labelHtml: {\n type: String\n },\n // $parent (this.bvProgress) prop values may take precedence over the following props\n // Which is why they are defaulted to null\n max: {\n type: Number,\n default: null\n },\n precision: {\n type: Number,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n striped: {\n type: Boolean,\n default: null\n },\n animated: {\n type: Boolean,\n default: null\n },\n showProgress: {\n type: Boolean,\n default: null\n },\n showValue: {\n type: Boolean,\n default: null\n }\n },\n computed: {\n progressBarClasses: function progressBarClasses() {\n return [this.computedVariant ? \"bg-\".concat(this.computedVariant) : '', this.computedStriped || this.computedAnimated ? 'progress-bar-striped' : '', this.computedAnimated ? 'progress-bar-animated' : ''];\n },\n progressBarStyles: function progressBarStyles() {\n return {\n width: 100 * (this.value / this.computedMax) + '%'\n };\n },\n computedProgress: function computedProgress() {\n var p = Math.pow(10, this.computedPrecision);\n return Math.round(100 * p * this.value / this.computedMax) / p;\n },\n computedMax: function computedMax() {\n // Prefer our max over parent setting\n return (0, _inspect.isNumber)(this.max) ? this.max : this.bvProgress.max || 100;\n },\n computedVariant: function computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant;\n },\n computedPrecision: function computedPrecision() {\n // Prefer our precision over parent setting\n return (0, _inspect.isNumber)(this.precision) ? this.precision : this.bvProgress.precision || 0;\n },\n computedStriped: function computedStriped() {\n // Prefer our striped over parent setting\n return (0, _inspect.isBoolean)(this.striped) ? this.striped : this.bvProgress.striped || false;\n },\n computedAnimated: function computedAnimated() {\n // Prefer our animated over parent setting\n return (0, _inspect.isBoolean)(this.animated) ? this.animated : this.bvProgress.animated || false;\n },\n computedShowProgress: function computedShowProgress() {\n // Prefer our showProgress over parent setting\n return (0, _inspect.isBoolean)(this.showProgress) ? this.showProgress : this.bvProgress.showProgress || false;\n },\n computedShowValue: function computedShowValue() {\n // Prefer our showValue over parent setting\n return (0, _inspect.isBoolean)(this.showValue) ? this.showValue : this.bvProgress.showValue || false;\n }\n },\n render: function render(h) {\n var childNodes = h(false);\n\n if (this.$slots.default) {\n childNodes = this.$slots.default;\n } else if (this.label || this.labelHtml) {\n childNodes = h('span', {\n domProps: (0, _html.htmlOrText)(this.labelHtml, this.label)\n });\n } else if (this.computedShowProgress) {\n childNodes = this.computedProgress.toFixed(this.computedPrecision);\n } else if (this.computedShowValue) {\n childNodes = this.value.toFixed(this.computedPrecision);\n }\n\n return h('div', {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': this.computedMax.toString(),\n 'aria-valuenow': this.value.toFixed(this.computedPrecision)\n }\n }, [childNodes]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/progress/progress-bar.js\n// module id = KpFv\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.htmlOrText = exports.stripTags = void 0;\nvar stripTagsRegex = /(<([^>]+)>)/gi; // Removes any thing that looks like an HTML tag from the supplied string\n\nvar stripTags = function stripTags() {\n var text = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return String(text).replace(stripTagsRegex, '');\n}; // Generate a domProps object for either innerHTML, textContent or nothing\n\n\nexports.stripTags = stripTags;\n\nvar htmlOrText = function htmlOrText(innerHTML, textContent) {\n return innerHTML ? {\n innerHTML: innerHTML\n } : textContent ? {\n textContent: textContent\n } : {};\n};\n\nexports.htmlOrText = htmlOrText;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/html.js\n// module id = KsnV\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.position = exports.offset = exports.getCS = exports.getBCR = exports.hasAttr = exports.getAttr = exports.removeAttr = exports.setAttr = exports.hasClass = exports.removeClass = exports.addClass = exports.getById = exports.contains = exports.closest = exports.matches = exports.select = exports.selectAll = exports.reflow = exports.isDisabled = exports.isVisible = exports.isElement = exports.eventOff = exports.eventOn = exports.parseEventOptions = exports.MutationObs = exports.requestAF = exports.closestEl = exports.matchesEl = void 0;\n\nvar _array = require(\"./array\");\n\nvar _env = require(\"./env\");\n\nvar _inspect = require(\"../utils/inspect\");\n\n// --- Constants ---\nvar w = _env.hasWindowSupport ? window : {};\nvar d = _env.hasDocumentSupport ? document : {};\nvar elProto = typeof Element !== 'undefined' ? Element.prototype : {}; // --- Normalization utils ---\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n\n/* istanbul ignore next */\n\nvar matchesEl = elProto.matches || elProto.msMatchesSelector || elProto.webkitMatchesSelector; // See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n\n/* istanbul ignore next */\n\nexports.matchesEl = matchesEl;\n\nvar closestEl = elProto.closest || function (sel)\n/* istanbul ignore next */\n{\n var el = this;\n\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el;\n }\n\n el = el.parentElement || el.parentNode;\n } while (!(0, _inspect.isNull)(el) && el.nodeType === Node.ELEMENT_NODE);\n\n return null;\n}; // `requestAnimationFrame()` convenience method\n// We don't have a version for cancelAnimationFrame, but we don't call it anywhere\n\n\nexports.closestEl = closestEl;\n\nvar requestAF = w.requestAnimationFrame || w.webkitRequestAnimationFrame || w.mozRequestAnimationFrame || w.msRequestAnimationFrame || w.oRequestAnimationFrame || function (cb) {\n // Fallback, but not a true polyfill\n // All browsers we support (other than Opera Mini) support\n // `requestAnimationFrame()` without a polyfill\n\n /* istanbul ignore next */\n return setTimeout(cb, 16);\n};\n\nexports.requestAF = requestAF;\nvar MutationObs = w.MutationObserver || w.WebKitMutationObserver || w.MozMutationObserver || null; // --- Utils ---\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\n\nexports.MutationObs = MutationObs;\n\nvar parseEventOptions = function parseEventOptions(options) {\n if (!_env.hasPassiveEventSupport) {\n // Need to translate to actual Boolean value\n return Boolean((0, _inspect.isObject)(options) ? options.useCapture : options);\n }\n\n return (0, _inspect.isObject)(options) ? options : {\n useCapture: Boolean(options || false)\n };\n}; // Attach an event listener to an element\n\n\nexports.parseEventOptions = parseEventOptions;\n\nvar eventOn = function eventOn(el, evtName, handler, options) {\n if (el && el.addEventListener) {\n el.addEventListener(evtName, handler, parseEventOptions(options));\n }\n}; // Remove an event listener from an element\n\n\nexports.eventOn = eventOn;\n\nvar eventOff = function eventOff(el, evtName, handler, options) {\n if (el && el.removeEventListener) {\n el.removeEventListener(evtName, handler, parseEventOptions(options));\n }\n}; // Determine if an element is an HTML Element\n\n\nexports.eventOff = eventOff;\n\nvar isElement = function isElement(el) {\n return Boolean(el && el.nodeType === Node.ELEMENT_NODE);\n}; // Determine if an HTML element is visible - Faster than CSS check\n\n\nexports.isElement = isElement;\n\nvar isVisible = function isVisible(el) {\n if (!isElement(el) || !contains(d.body, el)) {\n return false;\n }\n\n if (el.style.display === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n\n /* istanbul ignore next */\n return false;\n } // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n\n\n var bcr = getBCR(el);\n return Boolean(bcr && bcr.height > 0 && bcr.width > 0);\n}; // Determine if an element is disabled\n\n\nexports.isVisible = isVisible;\n\nvar isDisabled = function isDisabled(el) {\n return !isElement(el) || el.disabled || Boolean(getAttr(el, 'disabled')) || hasClass(el, 'disabled');\n}; // Cause/wait-for an element to reflow it's content (adjusting it's height/width)\n\n\nexports.isDisabled = isDisabled;\n\nvar reflow = function reflow(el) {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight;\n}; // Select all elements matching selector. Returns `[]` if none found\n\n\nexports.reflow = reflow;\n\nvar selectAll = function selectAll(selector, root) {\n return (0, _array.from)((isElement(root) ? root : d).querySelectorAll(selector));\n}; // Select a single element, returns `null` if not found\n\n\nexports.selectAll = selectAll;\n\nvar select = function select(selector, root) {\n return (isElement(root) ? root : d).querySelector(selector) || null;\n}; // Determine if an element matches a selector\n\n\nexports.select = select;\n\nvar matches = function matches(el, selector) {\n if (!isElement(el)) {\n return false;\n }\n\n return matchesEl.call(el, selector);\n}; // Finds closest element matching selector. Returns `null` if not found\n\n\nexports.matches = matches;\n\nvar closest = function closest(selector, root) {\n if (!isElement(root)) {\n return null;\n }\n\n var el = closestEl.call(root, selector); // Emulate jQuery closest and return `null` if match is the passed in element (root)\n\n return el === root ? null : el;\n}; // Returns true if the parent element contains the child element\n\n\nexports.closest = closest;\n\nvar contains = function contains(parent, child) {\n if (!parent || !(0, _inspect.isFunction)(parent.contains)) {\n return false;\n }\n\n return parent.contains(child);\n}; // Get an element given an ID\n\n\nexports.contains = contains;\n\nvar getById = function getById(id) {\n return d.getElementById(/^#/.test(id) ? id.slice(1) : id) || null;\n}; // Add a class to an element\n\n\nexports.getById = getById;\n\nvar addClass = function addClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className);\n }\n}; // Remove a class from an element\n\n\nexports.addClass = addClass;\n\nvar removeClass = function removeClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className);\n }\n}; // Test if an element has a class\n\n\nexports.removeClass = removeClass;\n\nvar hasClass = function hasClass(el, className) {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className);\n }\n\n return false;\n}; // Set an attribute on an element\n\n\nexports.hasClass = hasClass;\n\nvar setAttr = function setAttr(el, attr, value) {\n if (attr && isElement(el)) {\n el.setAttribute(attr, value);\n }\n}; // Remove an attribute from an element\n\n\nexports.setAttr = setAttr;\n\nvar removeAttr = function removeAttr(el, attr) {\n if (attr && isElement(el)) {\n el.removeAttribute(attr);\n }\n}; // Get an attribute value from an element\n// Returns `null` if not found\n\n\nexports.removeAttr = removeAttr;\n\nvar getAttr = function getAttr(el, attr) {\n return attr && isElement(el) ? el.getAttribute(attr) : null;\n}; // Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\n\n\nexports.getAttr = getAttr;\n\nvar hasAttr = function hasAttr(el, attr) {\n return attr && isElement(el) ? el.hasAttribute(attr) : null;\n}; // Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n\n\nexports.hasAttr = hasAttr;\n\nvar getBCR = function getBCR(el) {\n return isElement(el) ? el.getBoundingClientRect() : null;\n}; // Get computed style object for an element\n\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\n\n\nexports.getBCR = getBCR;\n\nvar getCS = function getCS(el) {\n return _env.hasWindowSupport && isElement(el) ? w.getComputedStyle(el) : {};\n}; // Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\n\n\nexports.getCS = getCS;\n\nvar offset = function offset(el)\n/* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset;\n }\n\n var bcr = getBCR(el);\n\n if (bcr) {\n var win = el.ownerDocument.defaultView;\n _offset.top = bcr.top + win.pageYOffset;\n _offset.left = bcr.left + win.pageXOffset;\n }\n\n return _offset;\n}; // Return an element's offset with respect to to it's offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\n\n\nexports.offset = offset;\n\nvar position = function position(el)\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\n{\n var _offset = {\n top: 0,\n left: 0\n };\n\n if (!isElement(el)) {\n return _offset;\n }\n\n var parentOffset = {\n top: 0,\n left: 0\n };\n var elStyles = getCS(el);\n\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset;\n } else {\n _offset = offset(el);\n var doc = el.ownerDocument;\n var offsetParent = el.offsetParent || doc.documentElement;\n\n while (offsetParent && (offsetParent === doc.body || offsetParent === doc.documentElement) && getCS(offsetParent).position === 'static') {\n offsetParent = offsetParent.parentNode;\n }\n\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent);\n var offsetParentStyles = getCS(offsetParent);\n parentOffset.top += parseFloat(offsetParentStyles.borderTopWidth);\n parentOffset.left += parseFloat(offsetParentStyles.borderLeftWidth);\n }\n }\n\n return {\n top: _offset.top - parentOffset.top - parseFloat(elStyles.marginTop),\n left: _offset.left - parentOffset.left - parseFloat(elStyles.marginLeft)\n };\n};\n\nexports.position = position;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/dom.js\n// module id = Kz7p\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _form = _interopRequireWildcard(require(\"../form/form\"));\n\nvar _object = require(\"../../utils/object\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = (0, _object.omit)(_form.props, ['inline']); // @vue/component\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BNavForm',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(_form.default, (0, _vueFunctionalDataMerge.mergeData)(data, {\n props: _objectSpread({}, props, {\n inline: true\n })\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-form.js\n// module id = LHeC\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_global.js\n// module id = LJRb\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-pie.js\n// module id = LXgj\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = _vue.default.extend({\n name: 'BDropdownText',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'p'\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('li', [h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'b-dropdown-text',\n props: props,\n ref: 'text'\n }), children)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-text.js\n// module id = LcsR\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n tag: {\n type: String,\n default: 'hr'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BDropdownDivider',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', [h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'dropdown-divider',\n attrs: {\n role: 'separator'\n },\n ref: 'divider'\n }))]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-divider.js\n// module id = Lzqu\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_defined.js\n// module id = MZfH\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _link = _interopRequireWildcard(require(\"../link/link\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = (0, _link.propsFactory)(); // @vue/component\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BDropdownItem',\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: props,\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n (0, _dom.requestAF)(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(evt) {\n this.$emit('click', evt);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n return h('li', [h(_link.default, {\n props: this.$props,\n staticClass: 'dropdown-item',\n attrs: {\n role: 'menuitem'\n },\n on: {\n click: this.onClick\n },\n ref: 'item'\n }, this.$slots.default)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-item.js\n// module id = Mjd8\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _config = require(\"../../utils/config\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar NAME = 'BButtonClose';\nvar props = {\n disabled: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'ariaLabel'));\n }\n },\n textVariant: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'textVariant') || '') || null;\n }\n } // @vue/component\n\n};\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n slots = _ref.slots;\n var componentData = {\n staticClass: 'close',\n class: _defineProperty({}, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click: function click(e) {\n // Ensure click on button HTML content is also disabled\n\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && e instanceof Event) {\n e.stopPropagation();\n e.preventDefault();\n }\n }\n } // Careful not to override the default slot with innerHTML\n\n };\n\n if (!slots().default) {\n componentData.domProps = {\n innerHTML: '×'\n };\n }\n\n return h('button', (0, _vueFunctionalDataMerge.mergeData)(data, componentData), slots().default);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button/button-close.js\n// module id = NCKu\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.isPromise = exports.isRegExp = exports.isDate = exports.isPrimitive = exports.isNumber = exports.isString = exports.isBoolean = exports.isFunction = exports.isNull = exports.isUndefined = exports.toRawTypeLC = exports.toRawType = exports.toType = void 0;\n\nvar _array = require(\"./array\");\n\nexports.isArray = _array.isArray;\n\nvar _object = require(\"./object\");\n\nexports.isObject = _object.isObject;\nexports.isPlainObject = _object.isPlainObject;\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\nvar toType = function toType(val) {\n return _typeof(val);\n};\n\nexports.toType = toType;\n\nvar toRawType = function toRawType(val) {\n return Object.prototype.toString.call(val).slice(8, -1);\n};\n\nexports.toRawType = toRawType;\n\nvar toRawTypeLC = function toRawTypeLC(val) {\n return toRawType(val).toLowerCase();\n};\n\nexports.toRawTypeLC = toRawTypeLC;\n\nvar isUndefined = function isUndefined(val) {\n return val === undefined;\n};\n\nexports.isUndefined = isUndefined;\n\nvar isNull = function isNull(val) {\n return val === null;\n};\n\nexports.isNull = isNull;\n\nvar isFunction = function isFunction(val) {\n return toType(val) === 'function';\n};\n\nexports.isFunction = isFunction;\n\nvar isBoolean = function isBoolean(val) {\n return toType(val) === 'boolean';\n};\n\nexports.isBoolean = isBoolean;\n\nvar isString = function isString(val) {\n return toType(val) === 'string';\n};\n\nexports.isString = isString;\n\nvar isNumber = function isNumber(val) {\n return toType(val) === 'number';\n};\n\nexports.isNumber = isNumber;\n\nvar isPrimitive = function isPrimitive(val) {\n return isBoolean(val) || isString(val) || isNumber(val);\n};\n\nexports.isPrimitive = isPrimitive;\n\nvar isDate = function isDate(val) {\n return val instanceof Date;\n};\n\nexports.isDate = isDate;\n\nvar isRegExp = function isRegExp(val) {\n return toRawType(val) === 'RegExp';\n};\n\nexports.isRegExp = isRegExp;\n\nvar isPromise = function isPromise(val) {\n return !isUndefined(val) && !isNull(val) && isFunction(val.then) && isFunction(val.catch);\n}; // Extra convenience named re-exports\n\n\nexports.isPromise = isPromise;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/inspect.js\n// module id = NGQz\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_property-desc.js\n// module id = NWrd\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _mediaBody = _interopRequireDefault(require(\"./media-body\"));\n\nvar _mediaAside = _interopRequireDefault(require(\"./media-aside\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n rightAlign: {\n type: Boolean,\n default: false\n },\n verticalAlign: {\n type: String,\n default: 'top'\n },\n noBody: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BMedia',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n children = _ref.children;\n var childNodes = props.noBody ? children : [];\n var $slots = slots();\n\n if (!props.noBody) {\n if ($slots.aside && !props.rightAlign) {\n childNodes.push(h(_mediaAside.default, {\n staticClass: 'mr-3',\n props: {\n verticalAlign: props.verticalAlign\n }\n }, $slots.aside));\n }\n\n childNodes.push(h(_mediaBody.default, $slots.default));\n\n if ($slots.aside && props.rightAlign) {\n childNodes.push(h(_mediaAside.default, {\n staticClass: 'ml-3',\n props: {\n verticalAlign: props.verticalAlign\n }\n }, $slots.aside));\n }\n }\n\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'media'\n }), childNodes);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/media.js\n// module id = Neo3\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _button = _interopRequireDefault(require(\"./button\"));\n\nvar _buttonClose = _interopRequireDefault(require(\"./button-close\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BButton: _button.default,\n BBtn: _button.default,\n BButtonClose: _buttonClose.default,\n BBtnClose: _buttonClose.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button/index.js\n// module id = NpfB\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _default = {\n methods: {\n renderTopRow: function renderTopRow() {\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in always stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot('top-row') || this.isStacked === true) {\n return h(false);\n }\n\n var fields = this.computedFields;\n return h('tr', {\n key: 'top-row',\n staticClass: 'b-table-top-row',\n class: [(0, _inspect.isFunction)(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-top') : this.tbodyTrClass],\n attrs: {\n role: 'row'\n }\n }, [this.normalizeSlot('top-row', {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-top-row.js\n// module id = OASh\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/*\n * SSR Safe Client Side ID attribute generation\n * id's can only be generated client side, after mount.\n * this._uid is not synched between server and client.\n */\n// @vue/component\nvar _default = {\n props: {\n id: {\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n localId_: null\n };\n },\n computed: {\n safeId: function safeId() {\n // Computed property that returns a dynamic function for creating the ID.\n // Reacts to changes in both .id and .localId_ And regens a new function\n var id = this.id || this.localId_; // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method!!!\n // But benefits from Vue's Computed prop caching\n\n var fn = function fn(suffix) {\n if (!id) {\n return null;\n }\n\n suffix = String(suffix || '').replace(/\\s+/g, '_');\n return suffix ? id + '_' + suffix : id;\n };\n\n return fn;\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // mounted only occurs client side\n this.$nextTick(function () {\n // Update dom with auto ID after dom loaded to prevent\n // SSR hydration errors.\n _this.localId_ = \"__BVID__\".concat(_this._uid);\n });\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/id.js\n// module id = OfYj\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"./inspect\");\n\n/**\n * Convert a value to a string that can be rendered.\n */\nvar toString = function toString(val) {\n var spaces = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n return (0, _inspect.isUndefined)(val) || (0, _inspect.isNull)(val) ? '' : (0, _inspect.isArray)(val) || (0, _inspect.isPlainObject)(val) && val.toString === Object.prototype.toString ? JSON.stringify(val, null, spaces) : String(val);\n};\n\nvar _default = toString;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/to-string.js\n// module id = Oqy/\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _default = {\n props: {\n footClone: {\n type: Boolean,\n default: false\n },\n footVariant: {\n type: String,\n default: ''\n },\n tfootClass: {\n type: [String, Array, Object],\n default: null\n },\n tfootTrClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n computed: {\n footClasses: function footClasses() {\n var variant = this.footVariant || this.headVariant || null;\n return [variant ? 'thead-' + variant : '', this.tfootClass];\n }\n },\n methods: {\n renderTfoot: function renderTfoot() {\n var h = this.$createElement; // Passing true to renderThead will make it render a tfoot\n\n return this.footClone ? this.renderThead(true) : h(false);\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-tfoot.js\n// module id = P3/C\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _default = {\n props: {\n busy: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this.busy || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:busy', newVal);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(evt) {\n if (this.computedBusy) {\n // If table is busy (via provider) then don't propagate\n evt.preventDefault();\n evt.stopPropagation();\n return true;\n }\n\n return false;\n },\n // Renter the busy indicator or return null if not busy\n renderBusy: function renderBusy() {\n var h = this.$createElement; // Return a busy indicator row, or null if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot('table-busy')) {\n // Show the busy slot\n var trAttrs = {\n role: this.isStacked ? 'row' : null\n };\n var tdAttrs = {\n colspan: String(this.computedFields.length),\n role: this.isStacked ? 'cell' : null\n };\n return h('tr', {\n key: 'table-busy-slot',\n staticClass: 'b-table-busy-slot',\n class: [(0, _inspect.isFunction)(this.tbodyTrClass) ? this.tbodyTrClass(null, 'table-busy') : this.tbodyTrClass],\n attrs: trAttrs\n }, [h('td', {\n attrs: tdAttrs\n }, [this.normalizeSlot('table-busy', {})])]);\n } else {\n // We return null here so that we can determine if we need to\n // render the table items rows or not.\n return null;\n }\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-busy.js\n// module id = PG0z\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _looseEqual = _interopRequireDefault(require(\"../../../utils/loose-equal\"));\n\nvar _warn = _interopRequireDefault(require(\"../../../utils/warn\"));\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _stringifyRecordValues = _interopRequireDefault(require(\"./stringify-record-values\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DEPRECATION_MSG = 'Supplying a function to prop \"filter\" is deprecated. Use \"filter-function\" instead.';\nvar _default = {\n props: {\n filter: {\n // Passing a function to filter is deprecated and should be avoided\n type: [String, RegExp, Object, Array, Function],\n default: null,\n // `deprecated` -> Don't use this prop\n // `deprecation` -> Refers to a change in prop usage\n deprecation: DEPRECATION_MSG\n },\n filterFunction: {\n type: Function,\n default: null\n }\n },\n data: function data() {\n return {\n // Flag for displaying which empty slot to show, and for some event triggering.\n isFiltered: false\n };\n },\n computed: {\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n filteredCheck: function filteredCheck() {\n // For watching changes to filteredItems vs localItems\n return {\n filteredItems: this.filteredItems,\n localItems: this.localItems,\n localFilter: this.localFilter\n };\n },\n localFilter: function localFilter() {\n // Returns a sanitized/normalized version of filter prop\n if ((0, _inspect.isFunction)(this.filter)) {\n // this.localFilterFn will contain the correct function ref.\n // Deprecate setting prop filter to a function\n\n /* istanbul ignore next */\n return '';\n } else if (!(0, _inspect.isFunction)(this.filterFunction) && !((0, _inspect.isString)(this.filter) || (0, _inspect.isRegExp)(this.filter))) {\n // Using internal filter function, which only accepts string or regexp at the moment\n return '';\n } else {\n // Could be a string, object or array, as needed by external filter function\n return this.filter;\n }\n },\n localFilterFn: function localFilterFn() {\n var filter = this.filter;\n var filterFn = this.filterFunction; // Sanitized/normalize filter-function prop\n\n if ((0, _inspect.isFunction)(filterFn)) {\n return filterFn;\n } else if ((0, _inspect.isFunction)(filter)) {\n // Deprecate setting prop filter to a function\n\n /* istanbul ignore next */\n (0, _warn.default)(\"b-table: \".concat(DEPRECATION_MSG));\n /* istanbul ignore next */\n\n return filter;\n } else {\n // no filterFunction, so signal to use internal filter function\n return null;\n }\n },\n filteredItems: function filteredItems() {\n // Returns the records in localItems that match the filter criteria.\n // Returns the original localItems array if not sorting\n var items = this.localItems || [];\n var criteria = this.localFilter;\n var filterFn = this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria); // We only do local filtering if requested, and if the are records to filter and\n // if a filter criteria was specified\n\n if (this.localFiltering && filterFn && items.length > 0) {\n items = items.filter(filterFn);\n }\n\n return items;\n }\n },\n watch: {\n // Watch for changes to the filter criteria and filtered items vs localItems).\n // And set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localItems = _ref.localItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if ((0, _looseEqual.default)(localFilter, []) || (0, _looseEqual.default)(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // if Filter criteria is truthy\n isFiltered = true;\n } else {\n /* istanbul ignore next: rare chance of reaching this else */\n isFiltered = false;\n }\n\n if (isFiltered) {\n this.$emit('filtered', filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newVal, oldVal) {\n if (newVal === false && oldVal === true) {\n // We need to emit a filtered event if isFiltered transitions from true to\n // false so that users can update their pagination controls.\n this.$emit('filtered', this.localItems, this.localItems.length);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial filtered state.\n // In a nextTick so that we trigger a filtered event if needed\n this.$nextTick(function () {\n _this.isFiltered = Boolean(_this.localFilter);\n });\n },\n methods: {\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions.\n // Wrap the provided filter-function and return a new function.\n // Returns null if no filter-function defined or if criteria is falsey.\n // Rather than directly grabbing this.computedLocalFilterFn or this.filterFunction\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !(0, _inspect.isFunction)(filterFn) || !criteria || (0, _looseEqual.default)(criteria, []) || (0, _looseEqual.default)(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n // Generates the default filter function, using the given filter criteria\n if (!criteria || !((0, _inspect.isString)(criteria) || (0, _inspect.isRegExp)(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the regexp needed for filtering\n\n\n var regexp = criteria;\n\n if ((0, _inspect.isString)(regexp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = criteria.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&').replace(/[\\s\\uFEFF\\xA0]+/g, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regexp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special _ prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields).\n //\n // TODO: Enable searching on formatted fields and scoped slots\n // TODO: Should we filter only on visible fields (i.e. ones in this.fields) by default?\n // TODO: Allow for searching on specific fields/key, this could be combined with the previous TODO\n // TODO: Give stringifyRecordValues extra options for filtering (i.e. passing the\n // fields definition and a reference to $scopedSlots)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n // We set lastIndex = 0 on regex in case someone uses the /g global flag\n regexp.lastIndex = 0;\n return regexp.test((0, _stringifyRecordValues.default)(item));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-filtering.js\n// module id = PIl9\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_string-at.js\n// module id = PTWi\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _mixinTbodyRow = _interopRequireDefault(require(\"./mixin-tbody-row\"));\n\nvar _mixinEmpty = _interopRequireDefault(require(\"./mixin-empty\"));\n\nvar _mixinTopRow = _interopRequireDefault(require(\"./mixin-top-row\"));\n\nvar _mixinBottomRow = _interopRequireDefault(require(\"./mixin-bottom-row\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// busy mixin is imported in main table.js as it is used by multiple mixins\nvar _default = {\n mixins: [_mixinTbodyRow.default, _mixinEmpty.default, _mixinTopRow.default, _mixinBottomRow.default],\n props: {\n tbodyClass: {\n type: [String, Array],\n default: null\n },\n tbodyTransitionProps: {\n type: Object // default: undefined\n\n },\n tbodyTransitionHandlers: {\n type: Object // default: undefined\n\n }\n },\n methods: {\n renderTbody: function renderTbody() {\n var _this = this;\n\n // Render the tbody element and children\n var h = this.$createElement;\n var items = this.computedItems; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = this.renderBusy();\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't bsuy, or we don't have a busy slot\n // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n $rows.push(this.renderTopRow()); // render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty Items / Empty Filtered Row slot (only shows if items.length < -\n\n $rows.push(this.renderEmpty()); // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n\n $rows.push(this.renderBottomRow());\n } // If tbody transition enabled\n\n\n var isTransGroup = this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n var tbodyProps = {};\n var tbodyOn = {};\n\n if (isTransGroup) {\n tbodyOn = this.tbodyTransitionHandlers || {};\n tbodyProps = _objectSpread({}, this.tbodyTransitionProps || {}, {\n tag: 'tbody'\n });\n } // Assemble rows into the tbody\n\n\n var $tbody = h(isTransGroup ? 'transition-group' : 'tbody', {\n props: tbodyProps,\n on: tbodyOn,\n class: [this.tbodyClass],\n attrs: {\n role: 'rowgroup'\n }\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-tbody.js\n// module id = Pbs0\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _target = require(\"../../utils/target\");\n\n// Target listen types\nvar listenTypes = {\n click: true // Emitted show event for modal\n\n};\nvar EVENT_SHOW = 'bv::show::modal';\n\nvar setRole = function setRole(el, binding, vnode) {\n if (el.tagName !== 'BUTTON') {\n (0, _dom.setAttr)(el, 'role', 'button');\n }\n};\n/*\n * Export our directive\n */\n\n\nvar _default = {\n // eslint-disable-next-line no-shadow-restricted-names\n bind: function bind(el, binding, vnode) {\n (0, _target.bindTargets)(vnode, binding, listenTypes, function (_ref) {\n var targets = _ref.targets,\n vnode = _ref.vnode;\n targets.forEach(function (target) {\n vnode.context.$root.$emit(EVENT_SHOW, target, vnode.elm);\n });\n }); // If element is not a button, we add `role=\"button\"` for accessibility\n\n setRole(el, binding, vnode);\n },\n updated: setRole,\n componentUpdated: setRole,\n unbind: function unbind(el, binding, vnode) {\n (0, _target.unbindTargets)(vnode, binding, listenTypes); // If element is not a button, we add `role=\"button\"` for accessibility\n\n if (el.tagName !== 'BUTTON') {\n (0, _dom.removeAttr)(el, 'role', 'button');\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/modal/modal.js\n// module id = PxEr\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _keyCodes = _interopRequireDefault(require(\"../../../utils/key-codes\"));\n\nvar _get = _interopRequireDefault(require(\"../../../utils/get\"));\n\nvar _toString = _interopRequireDefault(require(\"../../../utils/to-string\"));\n\nvar _array = require(\"../../../utils/array\");\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _filterEvent = _interopRequireDefault(require(\"./filter-event\"));\n\nvar _textSelectionActive = _interopRequireDefault(require(\"./text-selection-active\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n props: {\n tbodyTrClass: {\n type: [String, Array, Function],\n default: null\n }\n },\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n tdClasses: function tdClasses(field, item) {\n var cellVariant = '';\n\n if (item._cellVariants && item._cellVariants[field.key]) {\n cellVariant = \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(item._cellVariants[field.key]);\n }\n\n return [field.variant && !cellVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(field.variant) : '', cellVariant, field.class ? field.class : '', this.getTdValues(item, field.key, field.tdClass, '')];\n },\n tdAttrs: function tdAttrs(field, item, colIndex) {\n var attrs = {\n role: 'cell',\n 'aria-colindex': String(colIndex + 1)\n };\n\n if (field.isRowHeader) {\n attrs.scope = 'row';\n attrs.role = 'rowheader';\n }\n\n if (this.isStacked) {\n // Generate the \"header cell\" label content in stacked mode\n attrs['data-label'] = field.label;\n }\n\n return _objectSpread({}, attrs, this.getTdValues(item, field.key, field.tdAttr, {}));\n },\n rowClasses: function rowClasses(item) {\n return [item._rowVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(item._rowVariant) : '', (0, _inspect.isFunction)(this.tbodyTrClass) ? this.tbodyTrClass(item, 'row') : this.tbodyTrClass];\n },\n getTdValues: function getTdValues(item, key, tdValue, defValue) {\n var parent = this.$parent;\n\n if (tdValue) {\n var value = (0, _get.default)(item, key, '');\n\n if ((0, _inspect.isFunction)(tdValue)) {\n return tdValue(value, key, item);\n } else if ((0, _inspect.isString)(tdValue) && (0, _inspect.isFunction)(parent[tdValue])) {\n return parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = field.formatter;\n var parent = this.$parent;\n var value = (0, _get.default)(item, key, null);\n\n if (formatter) {\n if ((0, _inspect.isFunction)(formatter)) {\n value = formatter(value, key, item);\n } else if ((0, _inspect.isString)(formatter) && (0, _inspect.isFunction)(parent[formatter])) {\n value = parent[formatter](value, key, item);\n }\n }\n\n return (0, _inspect.isUndefined)(value) || (0, _inspect.isNull)(value) ? '' : value;\n },\n tbodyRowKeydown: function tbodyRowKeydown(evt, item, rowIndex) {\n var keyCode = evt.keyCode;\n var target = evt.target;\n var trs = this.$refs.itemRows;\n\n if (this.stopIfBusy(evt)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (!(target && target.tagName === 'TR' && target === document.activeElement)) {\n // Ignore if not the active tr element\n return;\n } else if (target.tabIndex !== 0) {\n // Ignore if not focusable\n\n /* istanbul ignore next */\n return;\n } else if (trs && trs.length === 0) {\n /* istanbul ignore next */\n return;\n }\n\n var index = trs.indexOf(target);\n\n if (keyCode === _keyCodes.default.ENTER || keyCode === _keyCodes.default.SPACE) {\n evt.stopPropagation();\n evt.preventDefault(); // We also allow enter/space to trigger a click (when row is focused)\n // We translate to a row-clicked event\n\n this.rowClicked(evt, item, rowIndex);\n } else if ((0, _array.arrayIncludes)([_keyCodes.default.UP, _keyCodes.default.DOWN, _keyCodes.default.HOME, _keyCodes.default.END], keyCode)) {\n evt.stopPropagation();\n evt.preventDefault();\n var shift = evt.shiftKey;\n\n if (keyCode === _keyCodes.default.HOME || shift && keyCode === _keyCodes.default.UP) {\n // Focus first row\n trs[0].focus();\n } else if (keyCode === _keyCodes.default.END || shift && keyCode === _keyCodes.default.DOWN) {\n // Focus last row\n trs[trs.length - 1].focus();\n } else if (keyCode === _keyCodes.default.UP && index > 0) {\n // Focus previous row\n trs[index - 1].focus();\n } else if (keyCode === _keyCodes.default.DOWN && index < trs.length - 1) {\n // Focus next row\n trs[index + 1].focus();\n }\n }\n },\n // Row event handlers\n rowClicked: function rowClicked(e, item, index) {\n if (this.stopIfBusy(e)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if ((0, _filterEvent.default)(e)) {\n // clicked on a non-disabled control so ignore\n return;\n } else if ((0, _textSelectionActive.default)(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n this.$emit('row-clicked', item, index, e);\n },\n middleMouseRowClicked: function middleMouseRowClicked(e, item, index) {\n if (this.stopIfBusy(e)) {\n // If table is busy (via provider) then don't propagate\n return;\n }\n\n this.$emit('row-middle-clicked', item, index, e);\n },\n rowDblClicked: function rowDblClicked(e, item, index) {\n if (this.stopIfBusy(e)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if ((0, _filterEvent.default)(e)) {\n // clicked on a non-disabled control so ignore\n\n /* istanbul ignore next: event filtering already tested via click handler */\n return;\n }\n\n this.$emit('row-dblclicked', item, index, e);\n },\n rowHovered: function rowHovered(e, item, index) {\n if (this.stopIfBusy(e)) {\n // If table is busy (via provider) then don't propagate\n return;\n }\n\n this.$emit('row-hovered', item, index, e);\n },\n rowUnhovered: function rowUnhovered(e, item, index) {\n if (this.stopIfBusy(e)) {\n // If table is busy (via provider) then don't propagate\n return;\n }\n\n this.$emit('row-unhovered', item, index, e);\n },\n rowContextmenu: function rowContextmenu(e, item, index) {\n if (this.stopIfBusy(e)) {\n // If table is busy (via provider) then don't propagate\n return;\n }\n\n this.$emit('row-contextmenu', item, index, e);\n },\n // Render helpers\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this = this;\n\n var h = this.$createElement; // Renders a TD or TH for a row's field\n\n var $scoped = this.$scopedSlots;\n var detailsSlot = $scoped['row-details'];\n var rowSelected = this.selectedRows[rowIndex];\n var formatted = this.getFormattedValue(item, field);\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys can be duplicated)\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(field.key),\n class: this.tdClasses(field, item),\n attrs: this.tdAttrs(field, item, colIndex)\n };\n\n var toggleDetailsFn = function toggleDetailsFn() {\n if (detailsSlot) {\n _this.$set(item, '_showDetails', !item._showDetails);\n }\n };\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: (0, _get.default)(item, field.key, ''),\n value: formatted,\n toggleDetails: toggleDetailsFn,\n detailsShowing: Boolean(item._showDetails),\n rowSelected: Boolean(rowSelected)\n };\n var $childNodes = $scoped[field.key] ? $scoped[field.key](slotScope) : (0, _toString.default)(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', {}, [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(field.isRowHeader ? 'th' : 'td', data, [$childNodes]);\n },\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this2 = this;\n\n // Renders an item's row (or rows if details supported)\n var h = this.$createElement;\n var $scoped = this.$scopedSlots;\n var fields = this.computedFields;\n var tableStriped = this.striped;\n var hasRowClickHandler = this.$listeners['row-clicked'] || this.selectable;\n var $detailsSlot = $scoped['row-details'];\n var rowShowDetails = Boolean(item._showDetails && $detailsSlot); // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for aria-describedby when details showing\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null;\n\n var toggleDetailsFn = function toggleDetailsFn() {\n if ($detailsSlot) {\n _this2.$set(item, '_showDetails', !item._showDetails);\n }\n }; // For each item data field in row\n\n\n var $tds = fields.map(function (field, colIndex) {\n return _this2.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (this.currentPage && this.perPage && this.perPage > 0) {\n ariaRowIndex = String((this.currentPage - 1) * this.perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKey = this.primaryKey;\n var rowKey = primaryKey && !(0, _inspect.isUndefined)(item[primaryKey]) && !(0, _inspect.isNull)(item[primaryKey]) ? (0, _toString.default)(item[primaryKey]) : String(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKey && !(0, _inspect.isUndefined)(item[primaryKey]) && !(0, _inspect.isNull)(item[primaryKey]) ? this.safeId(\"_row_\".concat(item[primaryKey])) : null;\n var handlers = {};\n\n if (hasRowClickHandler) {\n handlers['click'] = function (evt) {\n _this2.rowClicked(evt, item, rowIndex);\n };\n\n handlers['keydown'] = function (evt) {\n _this2.tbodyRowKeydown(evt, item, rowIndex);\n };\n } // Add the item row\n\n\n $rows.push(h('tr', {\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'itemRows',\n refInFor: true,\n class: [this.rowClasses(item), this.selectableRowClasses(rowIndex), {\n 'b-table-has-details': rowShowDetails\n }],\n attrs: _objectSpread({\n id: rowId,\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': rowId ? String(item[primaryKey]) : null,\n 'aria-describedby': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex,\n role: 'row'\n }, this.selectableRowAttrs(rowIndex)),\n on: _objectSpread({}, handlers, {\n // TODO: Instantiate the following handlers only if we have registered\n // listeners i.e. this.$listeners['row-middle-clicked'], etc.\n auxclick: function auxclick(evt) {\n if (evt.which === 2) {\n _this2.middleMouseRowClicked(evt, item, rowIndex);\n }\n },\n contextmenu: function contextmenu(evt) {\n _this2.rowContextmenu(evt, item, rowIndex);\n },\n // Note: these events are not accessibility friendly!\n dblclick: function dblclick(evt) {\n _this2.rowDblClicked(evt, item, rowIndex);\n },\n mouseenter: function mouseenter(evt) {\n _this2.rowHovered(evt, item, rowIndex);\n },\n mouseleave: function mouseleave(evt) {\n _this2.rowUnhovered(evt, item, rowIndex);\n }\n })\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var tdAttrs = {\n colspan: String(fields.length),\n role: 'cell'\n };\n var trAttrs = {\n id: detailsId,\n role: 'row' // Render the details slot\n\n };\n var $details = h('td', {\n attrs: tdAttrs\n }, [$detailsSlot({\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: toggleDetailsFn\n })]); // Add a hidden row to keep table row striping consistent when details showing\n\n if (tableStriped) {\n $rows.push(h('tr', {\n key: \"__b-table-details-\".concat(rowIndex, \"-stripe__\"),\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n }\n }));\n } // Add the actual details row\n\n\n $rows.push(h('tr', {\n key: \"__b-table-details-\".concat(rowIndex, \"__\"),\n staticClass: 'b-table-details',\n class: [(0, _inspect.isFunction)(this.tbodyTrClass) ? this.tbodyTrClass(item, 'row-details') : this.tbodyTrClass],\n attrs: trAttrs\n }, [$details]));\n } else if ($detailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h(false));\n\n if (tableStriped) {\n // add extra placeholder if table is striped\n $rows.push(h(false));\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-tbody-row.js\n// module id = Q2Y0\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-gops.js\n// module id = QfzX\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _dropdown = require(\"../dropdown/dropdown\");\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _dropdown2 = _interopRequireDefault(require(\"../../mixins/dropdown\"));\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nvar _html = require(\"../../utils/html\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// -- Constants --\nvar props = _objectSpread({}, (0, _pluckProps.default)(['menuClass', 'toggleClass', 'noCaret', 'role'], _dropdown.props), {\n extraMenuClasses: {\n type: String,\n default: '',\n // `deprecated` -> Don't use this prop\n // `deprecation` -> Refers to a change in prop usage\n deprecated: 'Setting prop \"extra-menu-classes\" is deprecated. Use \"menu-class\" prop instead.'\n },\n extraToggleClasses: {\n type: String,\n default: '',\n // `deprecated` -> Don't use this prop\n // `deprecation` -> Refers to a change in prop usage\n deprecated: 'Setting prop \"extra-toggle-classes\" is deprecated. Use \"toggle-class\" prop instead.'\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BNavItemDropdown',\n mixins: [_id.default, _dropdown2.default],\n props: props,\n computed: {\n isNav: function isNav() {\n // Signal to dropdown mixin that we are in a navbar\n return true;\n },\n dropdownClasses: function dropdownClasses() {\n return ['nav-item', 'b-nav-dropdown', 'dropdown', this.directionClass, {\n show: this.visible\n }];\n },\n menuClasses: function menuClasses() {\n return ['dropdown-menu', {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }, this.extraMenuClasses, // Deprecated\n this.menuClass];\n },\n toggleClasses: function toggleClasses() {\n return ['nav-link', 'dropdown-toggle', {\n 'dropdown-toggle-no-caret': this.noCaret\n }, this.extraToggleClasses, // Deprecated\n this.toggleClass];\n }\n },\n render: function render(h) {\n var button = h('a', {\n class: this.toggleClasses,\n ref: 'toggle',\n attrs: {\n href: '#',\n id: this.safeId('_BV_button_'),\n disabled: this.disabled,\n 'aria-haspopup': 'true',\n 'aria-expanded': String(this.visible)\n },\n on: {\n click: this.toggle,\n keydown: this.toggle // space, enter, down\n\n }\n }, [this.$slots['button-content'] || this.$slots.text || h('span', {\n domProps: (0, _html.htmlOrText)(this.html, this.text)\n })]);\n var menu = h('ul', {\n class: this.menuClasses,\n ref: 'menu',\n attrs: {\n tabindex: '-1',\n 'aria-labelledby': this.safeId('_BV_button_')\n },\n on: {\n mouseover: this.onMouseOver,\n keydown: this.onKeydown // tab, up, down, esc\n\n }\n }, [this.$slots.default]);\n return h('li', {\n attrs: {\n id: this.safeId()\n },\n class: this.dropdownClasses\n }, [button, menu]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-item-dropdown.js\n// module id = QjOx\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = filterEvent;\n\nvar _dom = require(\"../../../utils/dom\");\n\nvar _constants = require(\"./constants\");\n\n// Returns true of we should ignore the click/dbclick/keypress event\n// Avoids having the user need to use @click.stop on the form control\nfunction filterEvent(evt) {\n if (!evt || !evt.target) {\n /* istanbul ignore next */\n return;\n }\n\n var el = evt.target;\n\n if (el.tagName === 'TD' || el.tagName === 'TH' || el.tagName === 'TR' || el.disabled) {\n // Shortut all the following tests for efficiency\n return false;\n }\n\n if ((0, _dom.closest)('.dropdown-menu', el)) {\n // Click was in a dropdown menu, so ignore\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : (0, _dom.closest)('label', el);\n\n if (label && label.control && !label.control.disabled) {\n // If the label's form control is not disabled then we don't propagate evt\n return true;\n } // Else check to see if the event target matches one of the selectors in the event filter\n // i.e. anchors, non disabled inputs, etc. Return true if we should ignore the event.\n\n\n return (0, _dom.matches)(el, _constants.EVENT_FILTER);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/filter-event.js\n// module id = Qn3o\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _upperFirst = _interopRequireDefault(require(\"./upper-first\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Suffix can be a falsey value so nothing is appended to string.\n * (helps when looping over props & some shouldn't change)\n * Use data last parameters to allow for currying.\n * @param {string} suffix\n * @param {string} str\n */\nvar suffixPropName = function suffixPropName(suffix, str) {\n return str + (suffix ? (0, _upperFirst.default)(suffix) : '');\n};\n\nvar _default = suffixPropName;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/suffix-prop-name.js\n// module id = R+GZ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _looseEqual = _interopRequireDefault(require(\"../../../utils/loose-equal\"));\n\nvar _array = require(\"../../../utils/array\");\n\nvar _sanitizeRow = _interopRequireDefault(require(\"./sanitize-row\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n props: {\n selectable: {\n type: Boolean,\n default: false\n },\n selectMode: {\n type: String,\n default: 'multi'\n },\n selectedVariant: {\n type: String,\n default: 'primary'\n }\n },\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var selectable = this.selectable;\n var isSelecting = selectable && this.selectedRows && this.selectedRows.some(Boolean);\n return _ref = {\n 'b-table-selectable': selectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), selectable), _defineProperty(_ref, 'b-table-selecting', isSelecting), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n 'aria-multiselectable': this.selectableIsMultiSelect\n };\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n if (this.selectable) {\n return (0, _array.arrayIncludes)(['range', 'multi'], this.selectMode) ? 'true' : 'false';\n } else {\n return null;\n }\n }\n },\n watch: {\n computedItems: function computedItems(newVal, oldVal) {\n // Reset for selectable\n // TODO: Should selectedLastClicked be reset here?\n // As changes to _showDetails would trigger it to reset\n this.selectedLastRow = -1;\n var equal = false;\n\n if (this.selectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = (0, _array.isArray)(newVal) && (0, _array.isArray)(oldVal) && newVal.length === oldVal.length;\n\n for (var i = 0; equal && i < newVal.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = (0, _looseEqual.default)((0, _sanitizeRow.default)(newVal[i]), (0, _sanitizeRow.default)(oldVal[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newVal, oldVal) {\n this.clearSelected();\n this.setSelectionHandlers(newVal);\n },\n selectMode: function selectMode(newVal, oldVal) {\n this.clearSelected();\n },\n selectedRows: function selectedRows(_selectedRows, oldVal) {\n var _this = this;\n\n if (this.selectable && !(0, _looseEqual.default)(_selectedRows, oldVal)) {\n var items = []; // forEach skips over non-existant indicies (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit('row-selected', items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers\n if (this.selectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n isRowSelected: function isRowSelected(idx) {\n return Boolean(this.selectedRows[idx]);\n },\n selectableRowClasses: function selectableRowClasses(idx) {\n var rowSelected = this.isRowSelected(idx);\n var base = this.dark ? 'bg' : 'table';\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': this.selectable && rowSelected\n }, \"\".concat(base, \"-\").concat(variant), this.selectable && rowSelected && variant);\n },\n selectableRowAttrs: function selectableRowAttrs(idx) {\n return {\n 'aria-selected': !this.selectable ? null : this.isRowSelected(idx) ? 'true' : 'false'\n };\n },\n clearSelected: function clearSelected() {\n var hasSelection = this.selectedRows.reduce(function (prev, v) {\n return prev || v;\n }, false);\n\n if (hasSelection) {\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n }\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on ? '$on' : '$off'; // Handle row-clicked event\n\n this[method]('row-clicked', this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method]('filtered', this.clearSelected);\n this[method]('context-changed', this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, evt) {\n /* istanbul ignore if: should never happen */\n if (!this.selectable) {\n // Don't do anything if table is not in selectable mode\n\n /* istanbul ignore next: should never happen */\n this.clearSelected();\n /* istanbul ignore next: should never happen */\n\n return;\n }\n\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index];\n var mode = this.selectMode; // Note 'multi' mode needs no special handling\n\n if (mode === 'single') {\n selectedRows = [];\n } else if (mode === 'range') {\n if (this.selectedLastRow > -1 && evt.shiftKey) {\n // range\n for (var idx = Math.min(this.selectedLastRow, index); idx <= Math.max(this.selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(evt.ctrlKey || evt.metaKey)) {\n // clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-selectable.js\n// module id = R/6f\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_to-primitive.js\n// module id = R4d1\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = sanitizeRow;\n\nvar _object = require(\"../../../utils/object\");\n\nvar _constants = require(\"./constants\");\n\n// Return a copy of a row after all reserved fields have been filtered out\n// TODO: add option to specify which fields to include\nfunction sanitizeRow(row) {\n return (0, _object.keys)(row).reduce(function (obj, key) {\n // Ignore special fields that start with _\n if (!_constants.IGNORED_FIELD_KEYS[key]) {\n obj[key] = row[key];\n }\n\n return obj;\n }, {});\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/sanitize-row.js\n// module id = RASJ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _tooltip = _interopRequireDefault(require(\"./tooltip.class\"));\n\nvar _dom = require(\"./dom\");\n\nvar _inspect = require(\"./inspect\");\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar NAME = 'popover';\nvar CLASS_PREFIX = 'bs-popover';\nvar BS_CLASS_PREFIX_REGEX = new RegExp(\"\\\\b\".concat(CLASS_PREFIX, \"\\\\S+\"), 'g');\n\nvar Defaults = _objectSpread({}, _tooltip.default.Default, {\n placement: 'right',\n trigger: 'click',\n content: '',\n template: ''\n});\n\nvar ClassName = {\n FADE: 'fade',\n SHOW: 'show'\n};\nvar Selector = {\n TITLE: '.popover-header',\n CONTENT: '.popover-body'\n};\n\nvar PopOver =\n/*#__PURE__*/\nfunction (_ToolTip) {\n _inherits(PopOver, _ToolTip);\n\n function PopOver() {\n _classCallCheck(this, PopOver);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(PopOver).apply(this, arguments));\n }\n\n _createClass(PopOver, [{\n key: \"isWithContent\",\n // --- Method overrides ---\n value: function isWithContent(tip) {\n tip = tip || this.$tip;\n\n if (!tip) {\n /* istanbul ignore next */\n return false;\n }\n\n var hasTitle = Boolean(((0, _dom.select)(Selector.TITLE, tip) || {}).innerHTML);\n var hasContent = Boolean(((0, _dom.select)(Selector.CONTENT, tip) || {}).innerHTML);\n return hasTitle || hasContent;\n }\n }, {\n key: \"addAttachmentClass\",\n value: function addAttachmentClass(attachment)\n /* istanbul ignore next */\n {\n (0, _dom.addClass)(this.getTipElement(), \"\".concat(CLASS_PREFIX, \"-\").concat(attachment));\n }\n }, {\n key: \"setContent\",\n value: function setContent(tip) {\n // we use append for html objects to maintain js events/components\n this.setElementContent((0, _dom.select)(Selector.TITLE, tip), this.getTitle());\n this.setElementContent((0, _dom.select)(Selector.CONTENT, tip), this.getContent());\n (0, _dom.removeClass)(tip, ClassName.FADE);\n (0, _dom.removeClass)(tip, ClassName.SHOW);\n } // This method may look identical to ToolTip version, but it uses a different RegEx defined above\n\n }, {\n key: \"cleanTipClass\",\n value: function cleanTipClass()\n /* istanbul ignore next */\n {\n var tip = this.getTipElement();\n var tabClass = tip.className.match(BS_CLASS_PREFIX_REGEX);\n\n if (!(0, _inspect.isNull)(tabClass) && tabClass.length > 0) {\n tabClass.forEach(function (cls) {\n (0, _dom.removeClass)(tip, cls);\n });\n }\n }\n }, {\n key: \"getTitle\",\n value: function getTitle() {\n var title = this.$config.title || '';\n /* istanbul ignore next */\n\n if ((0, _inspect.isFunction)(title)) {\n title = title(this.$element);\n }\n /* istanbul ignore next */\n\n\n if ((0, _inspect.isObject)(title) && title.nodeType && !title.innerHTML.trim()) {\n // We have a dom node, but without inner content, so just return an empty string\n title = '';\n }\n\n if ((0, _inspect.isString)(title)) {\n title = title.trim();\n }\n\n if (!title) {\n // Try and grab element's title attribute\n title = (0, _dom.getAttr)(this.$element, 'title') || (0, _dom.getAttr)(this.$element, 'data-original-title') || '';\n title = title.trim();\n }\n\n return title;\n } // New methods\n\n }, {\n key: \"getContent\",\n value: function getContent() {\n var content = this.$config.content || '';\n /* istanbul ignore next */\n\n if ((0, _inspect.isFunction)(content)) {\n content = content(this.$element);\n }\n /* istanbul ignore next */\n\n\n if ((0, _inspect.isObject)(content) && content.nodeType && !content.innerHTML.trim()) {\n // We have a dom node, but without inner content, so just return an empty string\n content = '';\n }\n\n if ((0, _inspect.isString)(content)) {\n content = content.trim();\n }\n\n return content;\n }\n }], [{\n key: \"Default\",\n // --- Getter overrides ---\n get: function get() {\n return Defaults;\n }\n }, {\n key: \"NAME\",\n get: function get() {\n return NAME;\n }\n }]);\n\n return PopOver;\n}(_tooltip.default);\n\nvar _default = PopOver;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/popover.class.js\n// module id = Rakl\n// module chunks = 0","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/is-buffer/index.js\n// module id = Re3r\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _pagination = _interopRequireDefault(require(\"../../mixins/pagination\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0;\n\nfunction sanitizePerPage(value) {\n var perPage = parseInt(value, 10) || DEFAULT_PER_PAGE;\n return perPage < 1 ? 1 : perPage;\n}\n\nfunction sanitizeTotalRows(value) {\n var totalRows = parseInt(value, 10) || DEFAULT_TOTAL_ROWS;\n return totalRows < 0 ? 0 : totalRows;\n}\n\nvar props = {\n perPage: {\n type: [Number, String],\n default: DEFAULT_PER_PAGE\n },\n totalRows: {\n type: [Number, String],\n default: DEFAULT_TOTAL_ROWS\n },\n ariaControls: {\n type: String,\n default: null\n } // Our render function is brought in from the pagination mixin\n // @vue/component\n\n};\n\nvar _default = _vue.default.extend({\n name: 'BPagination',\n mixins: [_pagination.default],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = Math.ceil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n }\n },\n watch: {\n numberOfPages: function numberOfPages(newVal) {\n if (newVal === this.localNumPages) {\n /* istanbul ignore next */\n return;\n }\n\n this.localNumPages = newVal;\n this.currentPage = 1;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumPages = this.numberOfPages; // Set the initial page value\n\n var curr = parseInt(this.value, 10) || 0;\n\n if (curr > 0) {\n this.currentPage = curr;\n } else {\n this.$nextTick(function () {\n // If this value parses to NaN or a value less than 1\n // Trigger an initial emit of 'null' if no page specified\n _this.currentPage = 0;\n });\n }\n },\n mounted: function mounted() {\n // Set the initial page count\n this.localNumPages = this.numberOfPages;\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(num, evt) {\n var _this2 = this;\n\n // Handle edge cases where number of pages has changed (i.e. if perPage changes)\n // This should normally not happen, but just in case.\n if (num > this.numberOfPages) {\n /* istanbul ignore next */\n num = this.numberOfPages;\n } else if (num < 1) {\n /* istanbul ignore next */\n num = 1;\n } // Update the v-model\n\n\n this.currentPage = num; // Emit event triggered by user interaction\n\n this.$emit('change', this.currentPage);\n this.$nextTick(function () {\n // Keep the current button focused if possible\n var target = evt.target;\n\n if ((0, _dom.isVisible)(target) && _this2.$el.contains(target) && target.focus) {\n target.focus();\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n linkProps: function linkProps(pageNum) {\n // Always '#' for pagination component\n return {\n href: '#'\n };\n }\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/pagination/pagination.js\n// module id = Rm85\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _listGroup = _interopRequireDefault(require(\"./list-group\"));\n\nvar _listGroupItem = _interopRequireDefault(require(\"./list-group-item\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BListGroup: _listGroup.default,\n BListGroupItem: _listGroupItem.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/list-group/index.js\n// module id = S+R4\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _tabs = _interopRequireDefault(require(\"./tabs\"));\n\nvar _tab = _interopRequireDefault(require(\"./tab\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BTabs: _tabs.default,\n BTab: _tab.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/tabs/index.js\n// module id = T0hN\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _array = require(\"../../utils/array\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = {\n type: {\n type: String,\n default: 'iframe',\n validator: function validator(str) {\n return (0, _array.arrayIncludes)(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str);\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n aspect: {\n type: String,\n default: '16by9'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BEmbed',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, {\n ref: data.ref,\n staticClass: 'embed-responsive',\n class: _defineProperty({}, \"embed-responsive-\".concat(props.aspect), Boolean(props.aspect))\n }, [h(props.type, (0, _vueFunctionalDataMerge.mergeData)(data, {\n ref: '',\n staticClass: 'embed-responsive-item'\n }), children)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/embed/embed.js\n// module id = T532\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/es6.array.from.js\n// module id = TKAh\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true or 'valid' for is-valid\n * - false or 'invalid' for is-invalid\n * - null (or empty string) for no contextual state\n */\n// @vue/component\nvar _default = {\n props: {\n state: {\n // true/'valid', false/'invalid', '',null\n // The order must be String first, then Boolean!\n type: [String, Boolean],\n default: null\n }\n },\n computed: {\n computedState: function computedState() {\n var state = this.state;\n\n if (state === '') {\n return null;\n } else if (state === true || state === 'valid') {\n return true;\n } else if (state === false || state === 'invalid') {\n return false;\n }\n\n return null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n\n if (state === true) {\n return 'is-valid';\n } else if (state === false) {\n return 'is-invalid';\n }\n\n return null;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-state.js\n// module id = TMTb\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n\n return data;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/transformData.js\n// module id = TNV1\n// module chunks = 0","\n /*! \n * portal-vue © Thorsten Lünborg, 2019 \n * \n * Version: 2.1.3\n * \n * LICENCE: MIT \n * \n * https://github.com/linusborg/portal-vue\n * \n */\n\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar Vue = _interopDefault(require('vue'));\n\nfunction _typeof(obj) {\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 _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar inBrowser = typeof window !== 'undefined';\nfunction freeze(item) {\n if (Array.isArray(item) || _typeof(item) === 'object') {\n return Object.freeze(item);\n }\n\n return item;\n}\nfunction combinePassengers(transports) {\n var slotProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return transports.reduce(function (passengers, transport) {\n var temp = transport.passengers[0];\n var newPassengers = typeof temp === 'function' ? temp(slotProps) : transport.passengers;\n return passengers.concat(newPassengers);\n }, []);\n}\nfunction stableSort(array, compareFn) {\n return array.map(function (v, idx) {\n return [idx, v];\n }).sort(function (a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0];\n }).map(function (c) {\n return c[1];\n });\n}\nfunction pick(obj, keys) {\n return keys.reduce(function (acc, key) {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nvar transports = {};\nvar targets = {};\nvar sources = {};\nvar Wormhole = Vue.extend({\n data: function data() {\n return {\n transports: transports,\n targets: targets,\n sources: sources,\n trackInstances: inBrowser\n };\n },\n methods: {\n open: function open(transport) {\n if (!inBrowser) return;\n var to = transport.to,\n from = transport.from,\n passengers = transport.passengers,\n _transport$order = transport.order,\n order = _transport$order === void 0 ? Infinity : _transport$order;\n if (!to || !from || !passengers) return;\n var newTransport = {\n to: to,\n from: from,\n passengers: freeze(passengers),\n order: order\n };\n var keys = Object.keys(this.transports);\n\n if (keys.indexOf(to) === -1) {\n Vue.set(this.transports, to, []);\n }\n\n var currentIndex = this.$_getTransportIndex(newTransport); // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n\n var newTransports = this.transports[to].slice(0);\n\n if (currentIndex === -1) {\n newTransports.push(newTransport);\n } else {\n newTransports[currentIndex] = newTransport;\n }\n\n this.transports[to] = stableSort(newTransports, function (a, b) {\n return a.order - b.order;\n });\n },\n close: function close(transport) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var to = transport.to,\n from = transport.from;\n if (!to || !from) return;\n\n if (!this.transports[to]) {\n return;\n }\n\n if (force) {\n this.transports[to] = [];\n } else {\n var index = this.$_getTransportIndex(transport);\n\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n var newTransports = this.transports[to].slice(0);\n newTransports.splice(index, 1);\n this.transports[to] = newTransports;\n }\n }\n },\n registerTarget: function registerTarget(target, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(\"[portal-vue]: Target \".concat(target, \" already exists\"));\n }\n\n this.$set(this.targets, target, Object.freeze([vm]));\n },\n unregisterTarget: function unregisterTarget(target) {\n this.$delete(this.targets, target);\n },\n registerSource: function registerSource(source, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(\"[portal-vue]: source \".concat(source, \" already exists\"));\n }\n\n this.$set(this.sources, source, Object.freeze([vm]));\n },\n unregisterSource: function unregisterSource(source) {\n this.$delete(this.sources, source);\n },\n hasTarget: function hasTarget(to) {\n return !!(this.targets[to] && this.targets[to][0]);\n },\n hasSource: function hasSource(to) {\n return !!(this.sources[to] && this.sources[to][0]);\n },\n hasContentFor: function hasContentFor(to) {\n return !!this.transports[to] && !!this.transports[to].length;\n },\n // Internal\n $_getTransportIndex: function $_getTransportIndex(_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n for (var i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i;\n }\n }\n\n return -1;\n }\n }\n});\nvar wormhole = new Wormhole(transports);\n\nvar _id = 1;\nvar Portal = Vue.extend({\n name: 'portal',\n props: {\n disabled: {\n type: Boolean\n },\n name: {\n type: String,\n default: function _default() {\n return String(_id++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n }\n },\n created: function created() {\n wormhole.registerSource(this.name, this);\n },\n mounted: function mounted() {\n if (!this.disabled) {\n this.sendUpdate();\n }\n },\n updated: function updated() {\n if (this.disabled) {\n this.clear();\n } else {\n this.sendUpdate();\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterSource(this.name);\n this.clear();\n },\n watch: {\n to: function to(newValue, oldValue) {\n oldValue && oldValue !== newValue && this.clear(oldValue);\n this.sendUpdate();\n }\n },\n methods: {\n clear: function clear(target) {\n var closer = {\n from: this.name,\n to: target || this.to\n };\n wormhole.close(closer);\n },\n normalizeSlots: function normalizeSlots() {\n return this.$scopedSlots.default ? [this.$scopedSlots.default] : this.$slots.default;\n },\n normalizeOwnChildren: function normalizeOwnChildren(children) {\n return typeof children === 'function' ? children(this.slotProps) : children;\n },\n sendUpdate: function sendUpdate() {\n var slotContent = this.normalizeSlots();\n\n if (slotContent) {\n var transport = {\n from: this.name,\n to: this.to,\n passengers: _toConsumableArray(slotContent),\n order: this.order\n };\n wormhole.open(transport);\n } else {\n this.clear();\n }\n }\n },\n render: function render(h) {\n var children = this.$slots.default || this.$scopedSlots.default || [];\n var Tag = this.tag;\n\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? this.normalizeOwnChildren(children)[0] : h(Tag, [this.normalizeOwnChildren(children)]);\n } else {\n return this.slim ? h() : h(Tag, {\n class: {\n 'v-portal': true\n },\n style: {\n display: 'none'\n },\n key: 'v-portal-placeholder'\n });\n }\n }\n});\n\nvar PortalTarget = Vue.extend({\n name: 'portalTarget',\n props: {\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n required: true\n },\n slim: {\n type: Boolean,\n default: false\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n data: function data() {\n return {\n transports: wormhole.transports,\n firstRender: true\n };\n },\n created: function created() {\n wormhole.registerTarget(this.name, this);\n },\n watch: {\n ownTransports: function ownTransports() {\n this.$emit('change', this.children().length > 0);\n },\n name: function name(newVal, oldVal) {\n /**\r\n * TODO\r\n * This should warn as well ...\r\n */\n wormhole.unregisterTarget(oldVal);\n wormhole.registerTarget(newVal, this);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n if (this.transition) {\n this.$nextTick(function () {\n // only when we have a transition, because it causes a re-render\n _this.firstRender = false;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterTarget(this.name);\n },\n computed: {\n ownTransports: function ownTransports() {\n var transports = this.transports[this.name] || [];\n\n if (this.multiple) {\n return transports;\n }\n\n return transports.length === 0 ? [] : [transports[transports.length - 1]];\n },\n passengers: function passengers() {\n return combinePassengers(this.ownTransports, this.slotProps);\n }\n },\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children: function children() {\n return this.passengers.length !== 0 ? this.passengers : this.$scopedSlots.default ? this.$scopedSlots.default(this.slotProps) : this.$slots.default || [];\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper: function noWrapper() {\n var noWrapper = this.slim && !this.transition;\n\n if (noWrapper && this.children().length > 1) {\n console.warn('[portal-vue]: PortalTarget with `slim` option received more than one child element.');\n }\n\n return noWrapper;\n }\n },\n render: function render(h) {\n var noWrapper = this.noWrapper();\n var children = this.children();\n var Tag = this.transition || this.tag;\n return noWrapper ? children[0] : this.slim && !Tag ? h() : h(Tag, {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined\n },\n class: {\n 'vue-portal-target': true\n }\n }, children);\n }\n});\n\nvar _id$1 = 0;\nvar portalProps = ['disabled', 'name', 'order', 'slim', 'slotProps', 'tag', 'to'];\nvar targetProps = ['multiple', 'transition'];\nvar MountingPortal = Vue.extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: {\n type: [Boolean, String]\n },\n bail: {\n type: Boolean\n },\n mountTo: {\n type: String,\n required: true\n },\n // Portal\n disabled: {\n type: Boolean\n },\n // name for the portal\n name: {\n type: String,\n default: function _default() {\n return 'mounted_' + String(_id$1++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n // name for the target\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n },\n // Target\n multiple: {\n type: Boolean,\n default: false\n },\n targetSlim: {\n type: Boolean\n },\n targetSlotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n targetTag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n created: function created() {\n if (typeof document === 'undefined') return;\n var el = document.querySelector(this.mountTo);\n\n if (!el) {\n console.error(\"[portal-vue]: Mount Point '\".concat(this.mountTo, \"' not found in document\"));\n return;\n }\n\n var props = this.$props; // Target already exists\n\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(\"[portal-vue]: Target \".concat(props.name, \" is already mounted.\\n Aborting because 'bail: true' is set\"));\n } else {\n this.portalTarget = wormhole.targets[props.name];\n }\n\n return;\n }\n\n var append = props.append;\n\n if (append) {\n var type = typeof append === 'string' ? append : 'DIV';\n var mountEl = document.createElement(type);\n el.appendChild(mountEl);\n el = mountEl;\n } // get props for target from $props\n // we have to rename a few of them\n\n\n var _props = pick(this.$props, targetProps);\n\n _props.slim = this.targetSlim;\n _props.tag = this.targetTag;\n _props.slotProps = this.targetSlotProps;\n _props.name = this.to;\n this.portalTarget = new PortalTarget({\n el: el,\n parent: this.$parent || this,\n propsData: _props\n });\n },\n beforeDestroy: function beforeDestroy() {\n var target = this.portalTarget;\n\n if (this.append) {\n var el = target.$el;\n el.parentNode.removeChild(el);\n }\n\n target.$destroy();\n },\n render: function render(h) {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\");\n return h();\n } // if there's no \"manual\" scoped slot, so we create a ourselves\n\n\n if (!this.$scopedSlots.manual) {\n var props = pick(this.$props, portalProps);\n return h(Portal, {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, this.$slots.default);\n } // else, we render the scoped slot\n\n\n var content = this.$scopedSlots.manual({\n to: this.to\n }); // if user used for the scoped slot\n // content will be an array\n\n if (Array.isArray(content)) {\n content = content[0];\n }\n\n if (!content) return h();\n return content;\n }\n});\n\nfunction install(Vue$$1) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Vue$$1.component(options.portalName || 'Portal', Portal);\n Vue$$1.component(options.portalTargetName || 'PortalTarget', PortalTarget);\n Vue$$1.component(options.MountingPortalName || 'MountingPortal', MountingPortal);\n}\n\nvar index = {\n install: install\n};\n\nexports.default = index;\nexports.Portal = Portal;\nexports.PortalTarget = PortalTarget;\nexports.MountingPortal = MountingPortal;\nexports.Wormhole = wormhole;\n//# sourceMappingURL=portal-vue.common.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/portal-vue/dist/portal-vue.common.js\n// module id = TX8X\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _scrollspy = _interopRequireDefault(require(\"./scrollspy\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar directives = {\n BScrollspy: _scrollspy.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/scrollspy/index.js\n// module id = TaNr\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _breadcrumbLink = _interopRequireWildcard(require(\"./breadcrumb-link\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BBreadcrumbItem',\n functional: true,\n props: _breadcrumbLink.props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('li', (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'breadcrumb-item',\n class: {\n active: props.active\n }\n }), [h(_breadcrumbLink.default, {\n props: props\n }, children)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/breadcrumb/breadcrumb-item.js\n// module id = Teo5\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n flush: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: [Boolean, String],\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BListGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var horizontal = props.horizontal === '' ? true : props.horizontal;\n horizontal = props.flush ? false : horizontal;\n var componentData = {\n staticClass: 'list-group',\n class: _defineProperty({\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true\n }, \"list-group-horizontal-\".concat(horizontal), (0, _inspect.isString)(horizontal))\n };\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, componentData), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/list-group/list-group.js\n// module id = TnPr\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n// @vue/component\nvar _default = {\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.selectionStart;\n },\n set: function set(val)\n /* istanbul ignore next */\n {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.selectionEnd;\n },\n set: function set(val)\n /* istanbul ignore next */\n {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.selectionDirection;\n },\n set: function set(val)\n /* istanbul ignore next */\n {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n select: function select()\n /* istanbul ignore next */\n {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n setSelectionRange: function setSelectionRange()\n /* istanbul ignore next */\n {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n setRangeText: function setRangeText()\n /* istanbul ignore next */\n {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-selection.js\n// module id = U7wL\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar identity = function identity(x) {\n return x;\n};\n\nvar _default = identity;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/identity.js\n// module id = UWlG\n// module chunks = 0","var core = module.exports = { version: '2.6.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_core.js\n// module id = UdSC\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _listenOnRoot = _interopRequireDefault(require(\"../../mixins/listen-on-root\"));\n\nvar _env = require(\"../../utils/env\");\n\nvar _dom = require(\"../../utils/dom\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Events we emit on $root\nvar EVENT_STATE = 'bv::collapse::state';\nvar EVENT_ACCORDION = 'bv::collapse::accordion'; // Private event we emit on $root to ensure the toggle state is always synced\n// Gets emited even if the state has not changed!\n// This event is NOT to be documented as people should not be using it.\n\nvar EVENT_STATE_SYNC = 'bv::collapse::sync::state'; // Events we listen to on $root\n\nvar EVENT_TOGGLE = 'bv::toggle::collapse'; // Event Listener options\n\nvar EventOptions = {\n passive: true,\n capture: false // @vue/component\n\n};\n\nvar _default = _vue.default.extend({\n name: 'BCollapse',\n mixins: [_listenOnRoot.default],\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n id: {\n type: String,\n required: true\n },\n isNav: {\n type: Boolean,\n default: false\n },\n accordion: {\n type: String,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n }\n },\n data: function data() {\n return {\n show: this.visible,\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n return {\n 'navbar-collapse': this.isNav,\n collapse: !this.transitioning,\n show: this.show && !this.transitioning\n };\n }\n },\n watch: {\n visible: function visible(newVal) {\n if (newVal !== this.show) {\n this.show = newVal;\n }\n },\n show: function show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.emitState();\n }\n }\n },\n created: function created() {\n this.show = this.visible; // Listen for toggle events to open/close us\n\n this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt);\n },\n mounted: function mounted() {\n var _this = this;\n\n this.show = this.visible;\n\n if (this.isNav && _env.isBrowser) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this.emitState();\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates\n // to ensure the toggle button is in sync with the collapse's state.\n // It is emitted regardless if the visible state changes.\n this.$root.$emit(EVENT_STATE_SYNC, this.id, this.show);\n },\n deactivated: function deactivated()\n /* istanbul ignore next */\n {\n if (this.isNav && _env.isBrowser) {\n this.setWindowEvents(false);\n }\n },\n activated: function activated()\n /* istanbul ignore next */\n {\n if (this.isNav && _env.isBrowser) {\n this.setWindowEvents(true);\n }\n\n this.$root.$emit(EVENT_STATE_SYNC, this.id, this.show);\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && _env.isBrowser) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n var method = on ? _dom.eventOn : _dom.eventOff;\n method(window, 'resize', this.handleResize, EventOptions);\n method(window, 'orientationchange', this.handleResize, EventOptions);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter(el) {\n el.style.height = 0;\n (0, _dom.reflow)(el);\n el.style.height = el.scrollHeight + 'px';\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit('show');\n },\n onAfterEnter: function onAfterEnter(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('shown');\n },\n onLeave: function onLeave(el) {\n el.style.height = 'auto';\n el.style.display = 'block';\n el.style.height = (0, _dom.getBCR)(el).height + 'px';\n (0, _dom.reflow)(el);\n this.transitioning = true;\n el.style.height = 0; // This should be moved out so we can add cancellable events\n\n this.$emit('hide');\n },\n onAfterLeave: function onAfterLeave(el) {\n el.style.height = null;\n this.transitioning = false;\n this.$emit('hidden');\n },\n emitState: function emitState() {\n this.$emit('input', this.show); // Let v-b-toggle know the state of this collapse\n\n this.$root.$emit(EVENT_STATE, this.id, this.show);\n\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.$root.$emit(EVENT_ACCORDION, this.id, this.accordion);\n }\n },\n clickHandler: function clickHandler(evt) {\n // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n var el = evt.target;\n\n if (!this.isNav || !el || (0, _dom.getCS)(this.$el).display !== 'block') {\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n return;\n }\n\n if ((0, _dom.matches)(el, '.nav-link,.dropdown-item') || (0, _dom.closest)('.nav-link,.dropdown-item', el)) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(target) {\n if (target !== this.id) {\n return;\n }\n\n this.toggle();\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, accordion) {\n if (!this.accordion || accordion !== this.accordion) {\n return;\n }\n\n if (openedId === this.id) {\n // Open this collapse if not shown\n if (!this.show) {\n this.toggle();\n }\n } else {\n // Close this collapse if shown\n if (this.show) {\n this.toggle();\n }\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = (0, _dom.getCS)(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.id || null\n },\n on: {\n click: this.clickHandler\n }\n }, [this.$slots.default]);\n return h('transition', {\n props: {\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: 'collapsing',\n leaveToClass: ''\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [content]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/collapse/collapse.js\n// module id = UePd\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _memoize = _interopRequireDefault(require(\"../../utils/memoize\"));\n\nvar _suffixPropName = _interopRequireDefault(require(\"../../utils/suffix-prop-name\"));\n\nvar _array = require(\"../../utils/array\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _object = require(\"../../utils/object\");\n\nvar _config = require(\"../../utils/config\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Generates a prop object with a type of\n * [Boolean, String, Number]\n */\nfunction boolStrNum() {\n return {\n type: [Boolean, String, Number],\n default: false\n };\n}\n/**\n * Generates a prop object with a type of\n * [String, Number]\n */\n\n\nfunction strNum() {\n return {\n type: [String, Number],\n default: null\n };\n} // Memoized function for better performance on generating class names\n\n\nvar computeBkPtClass = (0, _memoize.default)(function computeBkPt(type, breakpoint, val) {\n var className = type;\n\n if ((0, _inspect.isUndefined)(val) || (0, _inspect.isNull)(val) || val === false) {\n return undefined;\n }\n\n if (breakpoint) {\n className += \"-\".concat(breakpoint);\n } // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n\n\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase();\n } // .order-md-6\n\n\n className += \"-\".concat(val);\n return className.toLowerCase();\n}); // Cached copy of the breakpoint prop names\n\nvar breakpointPropMap = (0, _object.create)(null); // Lazy evaled props factory for BCol\n\nvar generateProps = function generateProps() {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n var breakpoints = (0, _config.getBreakpointsUpCached)().filter(Boolean); // Supports classes like: .col-sm, .col-md-6, .col-lg-auto\n\n var breakpointCol = breakpoints.reduce(function (propMap, breakpoint) {\n if (breakpoint) {\n // We filter out the '' breakpoint (xs), as making a prop name ''\n // would not work. The `cols` prop is used for `xs`\n propMap[breakpoint] = boolStrNum();\n }\n\n return propMap;\n }, (0, _object.create)(null)); // Supports classes like: .offset-md-1, .offset-lg-12\n\n var breakpointOffset = breakpoints.reduce(function (propMap, breakpoint) {\n propMap[(0, _suffixPropName.default)(breakpoint, 'offset')] = strNum();\n return propMap;\n }, (0, _object.create)(null)); // Supports classes like: .order-md-1, .order-lg-12\n\n var breakpointOrder = breakpoints.reduce(function (propMap, breakpoint) {\n propMap[(0, _suffixPropName.default)(breakpoint, 'order')] = strNum();\n return propMap;\n }, (0, _object.create)(null)); // For loop doesn't need to check hasOwnProperty\n // when using an object created from null\n\n breakpointPropMap = (0, _object.assign)((0, _object.create)(null), {\n col: (0, _object.keys)(breakpointCol),\n offset: (0, _object.keys)(breakpointOffset),\n order: (0, _object.keys)(breakpointOrder)\n }); // Return the generated props\n\n return _objectSpread({\n // Generic flexbox .col (xs)\n col: {\n type: Boolean,\n default: false\n },\n // .col-[1-12]|auto (xs)\n cols: strNum()\n }, breakpointCol, {\n offset: strNum()\n }, breakpointOffset, {\n order: strNum()\n }, breakpointOrder, {\n // Flex alignment\n alignSelf: {\n type: String,\n default: null,\n validator: function validator(str) {\n return (0, _array.arrayIncludes)(['auto', 'start', 'end', 'center', 'baseline', 'stretch'], str);\n }\n },\n tag: {\n type: String,\n default: 'div'\n }\n });\n}; // We do not use Vue.extend here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\n\nvar _default = {\n name: 'BCol',\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n\n for (var i = 0; i < _keys.length; i++) {\n // computeBkPt(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBkPtClass(type, _keys[i].replace(type, ''), props[_keys[i]]); // If a class is returned, push it onto the array.\n\n if (c) {\n classList.push(c);\n }\n }\n }\n\n var hasColClasses = classList.some(function (className) {\n return /^col-/.test(className);\n });\n classList.push((_classList$push = {\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || !hasColClasses && !props.cols\n }, _defineProperty(_classList$push, \"col-\".concat(props.cols), props.cols), _defineProperty(_classList$push, \"offset-\".concat(props.offset), props.offset), _defineProperty(_classList$push, \"order-\".concat(props.order), props.order), _defineProperty(_classList$push, \"align-self-\".concat(props.alignSelf), props.alignSelf), _classList$push));\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: classList\n }), children);\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/col.js\n// module id = UgDT\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _looseEqual = _interopRequireDefault(require(\"../../utils/loose-equal\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _normalizeSlot = _interopRequireDefault(require(\"../../mixins/normalize-slot\"));\n\nvar _mixinItems = _interopRequireDefault(require(\"./helpers/mixin-items\"));\n\nvar _mixinFiltering = _interopRequireDefault(require(\"./helpers/mixin-filtering\"));\n\nvar _mixinSorting = _interopRequireDefault(require(\"./helpers/mixin-sorting\"));\n\nvar _mixinPagination = _interopRequireDefault(require(\"./helpers/mixin-pagination\"));\n\nvar _mixinCaption = _interopRequireDefault(require(\"./helpers/mixin-caption\"));\n\nvar _mixinColgroup = _interopRequireDefault(require(\"./helpers/mixin-colgroup\"));\n\nvar _mixinThead = _interopRequireDefault(require(\"./helpers/mixin-thead\"));\n\nvar _mixinTfoot = _interopRequireDefault(require(\"./helpers/mixin-tfoot\"));\n\nvar _mixinTbody = _interopRequireDefault(require(\"./helpers/mixin-tbody\"));\n\nvar _mixinBusy = _interopRequireDefault(require(\"./helpers/mixin-busy\"));\n\nvar _mixinSelectable = _interopRequireDefault(require(\"./helpers/mixin-selectable\"));\n\nvar _mixinProvider = _interopRequireDefault(require(\"./helpers/mixin-provider\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// b-table component definition\n// @vue/component\nvar _default2 = _vue.default.extend({\n name: 'BTable',\n // Order of mixins is important.\n // They are merged from left to fight, followed by this component.\n mixins: [_id.default, _normalizeSlot.default, _mixinItems.default, _mixinFiltering.default, _mixinSorting.default, _mixinPagination.default, _mixinBusy.default, _mixinCaption.default, _mixinColgroup.default, _mixinThead.default, _mixinTfoot.default, _mixinTbody.default, _mixinSelectable.default, _mixinProvider.default],\n // Don't place ATTRS on root element automatically, as table could be wrapped in responsive div\n inheritAttrs: false,\n props: {\n striped: {\n type: Boolean,\n default: false\n },\n bordered: {\n type: Boolean,\n default: false\n },\n borderless: {\n type: Boolean,\n default: false\n },\n outlined: {\n type: Boolean,\n default: false\n },\n dark: {\n type: Boolean,\n default: false\n },\n hover: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n fixed: {\n type: Boolean,\n default: false\n },\n responsive: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: [Boolean, String],\n default: false\n },\n tableClass: {\n type: [String, Array, Object],\n default: null\n },\n value: {\n // v-model for retrieving the current displayed rows\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n // Mixins add to data\n return {};\n },\n computed: {\n // Layout related computed props\n isStacked: function isStacked() {\n return this.stacked === '' ? true : this.stacked;\n },\n isResponsive: function isResponsive() {\n var responsive = this.responsive === '' ? true : this.responsive;\n return this.isStacked ? false : responsive;\n },\n responsiveClass: function responsiveClass() {\n return this.isResponsive === true ? 'table-responsive' : this.isResponsive ? \"table-responsive-\".concat(this.responsive) : '';\n },\n tableClasses: function tableClasses() {\n return [// User supplied classes\n this.tableClass, // Styling classes\n _defineProperty({\n 'table-striped': this.striped,\n 'table-hover': this.hover && this.computedItems.length > 0 && !this.computedBusy,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n border: this.outlined,\n // The following are b-table custom styles\n 'b-table-fixed': this.fixed,\n 'b-table-stacked': this.stacked === true || this.stacked === ''\n }, \"b-table-stacked-\".concat(this.stacked), this.stacked !== true && this.stacked), // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n // Preserve user supplied aria-describedby, if provided in $attrs\n var adb = [(this.$attrs || {})['aria-describedby'], this.captionId].filter(Boolean).join(' ') || null;\n var items = this.computedItems;\n var fields = this.computedFields;\n return _objectSpread({\n // We set aria-rowcount before merging in $attrs, in case user has supplied their own\n 'aria-rowcount': this.filteredItems.length > items.length ? String(this.filteredItems.length) : null\n }, this.$attrs, {\n // Now we can override any $attrs here\n id: this.safeId(),\n role: this.isStacked ? 'table' : null,\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': String(fields.length),\n 'aria-describedby': adb\n }, this.selectableTableAttrs);\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: parseInt(this.perPage, 10) || 0,\n currentPage: parseInt(this.currentPage, 10) || 1,\n apiUrl: this.apiUrl\n };\n },\n computedItems: function computedItems() {\n return this.paginatedItems || [];\n }\n },\n watch: {\n // Watch for changes on computedItems and update the v-model\n computedItems: function computedItems(newVal, oldVal) {\n this.$emit('input', newVal);\n },\n context: function context(newVal, oldVal) {\n // Emit context info for external paging/filtering/sorting handling\n if (!(0, _looseEqual.default)(newVal, oldVal)) {\n this.$emit('context-changed', newVal);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the v-model of displayed items\n this.$emit('input', this.computedItems);\n },\n render: function render(h) {\n // Build the caption (from caption mixin)\n var $caption = this.renderCaption(); // Build the colgroup\n\n var $colgroup = this.renderColgroup(); // Build the thead\n\n var $thead = this.renderThead(); // Build the tfoot\n\n var $tfoot = this.renderTfoot(); // Build the tbody\n\n var $tbody = this.renderTbody(); // Assemble table\n\n var $table = h('table', {\n key: 'b-table',\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs\n }, [$caption, $colgroup, $thead, $tfoot, $tbody]); // Add responsive wrapper if needed and return table\n\n return this.isResponsive ? h('div', {\n key: 'b-table-responsive',\n class: this.responsiveClass\n }, [$table]) : $table;\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/table.js\n// module id = UqMQ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = {\n active: {\n type: Boolean,\n default: false\n },\n activeClass: {\n type: String,\n default: 'active'\n },\n disabled: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BDropdownItemButton',\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: props,\n methods: {\n closeDropdown: function closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true);\n }\n },\n onClick: function onClick(evt) {\n this.$emit('click', evt);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n return h('li', [h('button', {\n staticClass: 'dropdown-item',\n class: _defineProperty({}, this.activeClass, this.active),\n attrs: {\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n },\n on: {\n click: this.onClick\n },\n ref: 'button'\n }, this.$slots.default)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-item-button.js\n// module id = V2Be\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _warn = _interopRequireDefault(require(\"../../utils/warn\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DEPRECATED_MSG = 'Setting prop \"href\" is deprecated. Use the component instead.'; // @vue/component\n\nvar _default2 = _vue.default.extend({\n name: 'BTab',\n mixins: [_id.default],\n inject: {\n bvTabs: {\n default: function _default() {\n return {\n // Don't set a tab index if not rendered inside \n noKeyNav: true\n };\n }\n }\n },\n props: {\n active: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n },\n buttonId: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: ''\n },\n titleItemClass: {\n // Sniffed by tabs.js and added to nav 'li.nav-item'\n type: [String, Array, Object],\n default: null\n },\n titleLinkClass: {\n // Sniffed by tabs.js and added to nav 'a.nav-link'\n type: [String, Array, Object],\n default: null\n },\n headHtml: {\n // Is this actually ever used?\n type: String,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n noBody: {\n type: Boolean,\n default: false\n },\n href: {\n // This should be deprecated, as tabs are not navigation (URL) based\n // + + / should be used instead\n // We don't support router-links here\n type: String,\n default: '#',\n // `deprecated` -> Don't use this prop\n // `deprecation` -> Refers to a change in prop usage\n deprecated: DEPRECATED_MSG\n },\n lazy: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localActive: this.active && !this.disabled,\n show: false\n };\n },\n computed: {\n tabClasses: function tabClasses() {\n return [{\n show: this.show,\n active: this.localActive,\n fade: this.computedFade,\n disabled: this.disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply `activeTabClass` styles when this tab is active\n this.localActive ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedFade: function computedFade() {\n return this.bvTabs.fade || false;\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n },\n _isTab: function _isTab() {\n // For parent sniffing of child\n return true;\n }\n },\n watch: {\n localActive: function localActive(newVal, oldVal) {\n // Make 'active' prop work with `.sync` modifier\n this.$emit('update:active', newVal);\n },\n active: function active(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal) {\n // If activated post mount\n this.activate();\n } else {\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit('update:active', this.localActive);\n }\n }\n }\n },\n disabled: function disabled(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal && this.localActive && this.bvTabs.firstTab) {\n this.localActive = false;\n this.bvTabs.firstTab();\n }\n }\n }\n },\n mounted: function mounted() {\n // Initially show on mount if active and not disabled\n this.show = this.localActive; // Deprecate use of `href` prop\n\n if (this.href && this.href !== '#') {\n /* istanbul ignore next */\n (0, _warn.default)(\"b-tab: \".concat(DEPRECATED_MSG));\n }\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n if (this.$slots.title && this.bvTabs.updateButton) {\n this.bvTabs.updateButton(this);\n }\n },\n methods: {\n // Transition handlers\n beforeEnter: function beforeEnter() {\n var _this = this;\n\n // Change opacity (add 'show' class) 1 frame after display,\n // otherwise CSS transition won't happen\n (0, _dom.requestAF)(function () {\n _this.show = true;\n });\n },\n beforeLeave: function beforeLeave() {\n // Remove the 'show' class\n this.show = false;\n },\n // Public methods\n activate: function activate() {\n if (this.bvTabs.activateTab && !this.disabled) {\n return this.bvTabs.activateTab(this);\n } else {\n // Not inside a component or tab is disabled\n return false;\n }\n },\n deactivate: function deactivate() {\n if (this.bvTabs.deactivateTab && this.localActive) {\n return this.bvTabs.deactivateTab(this);\n } else {\n // Not inside a component or not active to begin with\n return false;\n }\n }\n },\n render: function render(h) {\n var content = h(this.tag, {\n ref: 'panel',\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [// TODO: Convert to style object in render\n {\n name: 'show',\n rawName: 'v-show',\n value: this.localActive,\n expression: 'localActive'\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n tabindex: this.localActive && !this.bvTabs.noKeyNav ? '0' : null,\n 'aria-hidden': this.localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n }\n }, // Render content lazily if requested\n [this.localActive || !this.computedLazy ? this.$slots.default : h(false)]);\n return h('transition', {\n props: {\n mode: 'out-in',\n // Disable use of built-in transition classes\n 'enter-class': '',\n 'enter-active-class': '',\n 'enter-to-class': '',\n 'leave-class': '',\n 'leave-active-class': '',\n 'leave-to-class': ''\n },\n on: {\n beforeEnter: this.beforeEnter,\n beforeLeave: this.beforeLeave\n }\n }, [content]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/tabs/tab.js\n// module id = VCNE\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_redefine.js\n// module id = VEVK\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _img = _interopRequireDefault(require(\"../image/img\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _env = require(\"../../utils/env\");\n\nvar _html = require(\"../../utils/html\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n imgSrc: {\n type: String // default: undefined\n\n },\n imgAlt: {\n type: String // default: undefined\n\n },\n imgWidth: {\n type: [Number, String] // default: undefined\n\n },\n imgHeight: {\n type: [Number, String] // default: undefined\n\n },\n imgBlank: {\n type: Boolean,\n default: false\n },\n imgBlankColor: {\n type: String,\n default: 'transparent'\n },\n contentVisibleUp: {\n type: String\n },\n contentTag: {\n type: String,\n default: 'div'\n },\n caption: {\n type: String\n },\n captionHtml: {\n type: String\n },\n captionTag: {\n type: String,\n default: 'h3'\n },\n text: {\n type: String\n },\n textHtml: {\n type: String\n },\n textTag: {\n type: String,\n default: 'p'\n },\n background: {\n type: String\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: 'BCarouselSlide',\n mixins: [_id.default],\n inject: {\n bvCarousel: {\n default: function _default() {\n return {\n // Explicitly disable touch if not a child of carousel\n noTouch: true\n };\n }\n }\n },\n props: props,\n data: function data() {\n return {};\n },\n computed: {\n contentClasses: function contentClasses() {\n return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? \"d-\".concat(this.contentVisibleUp, \"-block\") : ''];\n },\n computedWidth: function computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null;\n },\n computedHeight: function computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null;\n }\n },\n render: function render(h) {\n var $slots = this.$slots;\n var noDrag = !this.bvCarousel.noTouch && _env.hasTouchSupport;\n var img = $slots.img;\n\n if (!img && (this.imgSrc || this.imgBlank)) {\n img = h(_img.default, {\n props: {\n fluidGrow: true,\n block: true,\n src: this.imgSrc,\n blank: this.imgBlank,\n blankColor: this.imgBlankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n alt: this.imgAlt\n },\n // Touch support event handler\n on: noDrag ? {\n dragstart: function dragstart(e) {\n /* istanbul ignore next: difficult to test in JSDOM */\n e.preventDefault();\n }\n } : {}\n });\n }\n\n if (!img) {\n img = h(false);\n }\n\n var content = h(this.contentTag, {\n staticClass: 'carousel-caption',\n class: this.contentClasses\n }, [this.caption || this.captionHtml ? h(this.captionTag, {\n domProps: (0, _html.htmlOrText)(this.captionHtml, this.caption)\n }) : h(false), this.text || this.textHtml ? h(this.textTag, {\n domProps: (0, _html.htmlOrText)(this.textHtml, this.text)\n }) : h(false), $slots.default]);\n return h('div', {\n staticClass: 'carousel-item',\n style: {\n background: this.background || this.bvCarousel.background || null\n },\n attrs: {\n id: this.safeId(),\n role: 'listitem'\n }\n }, [img, content]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/carousel/carousel-slide.js\n// module id = VQrr\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_to-object.js\n// module id = VSuk\n// module chunks = 0","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file.\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 normalizeComponent (\n rawScriptExports,\n compiledTemplate,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */\n) {\n var esModule\n var scriptExports = rawScriptExports = rawScriptExports || {}\n\n // ES6 modules interop\n var type = typeof rawScriptExports.default\n if (type === 'object' || type === 'function') {\n esModule = rawScriptExports\n scriptExports = rawScriptExports.default\n }\n\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (compiledTemplate) {\n options.render = compiledTemplate.render\n options.staticRenderFns = compiledTemplate.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 = 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 = injectStyles\n }\n\n if (hook) {\n var functional = options.functional\n var existing = functional\n ? options.render\n : options.beforeCreate\n\n if (!functional) {\n // inject component registration as beforeCreate hook\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n } else {\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 functioal component in vue file\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return existing(h, context)\n }\n }\n }\n\n return {\n esModule: esModule,\n exports: scriptExports,\n options: options\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/component-normalizer.js\n// module id = VU/8\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _array = require(\"../../utils/array\");\n\nvar _config = require(\"../../utils/config\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _formCustom = _interopRequireDefault(require(\"../../mixins/form-custom\"));\n\nvar _form = _interopRequireDefault(require(\"../../mixins/form\"));\n\nvar _formState = _interopRequireDefault(require(\"../../mixins/form-state\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _normalizeSlot = _interopRequireDefault(require(\"../../mixins/normalize-slot\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NAME = 'BFormFile'; // @vue/component\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n mixins: [_id.default, _form.default, _formState.default, _formCustom.default, _normalizeSlot.default],\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n value: {\n // type: Object,\n default: null\n },\n accept: {\n type: String,\n default: ''\n },\n // Instruct input to capture from camera\n capture: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'placeholder') || '');\n }\n },\n browseText: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'browseText') || '');\n }\n },\n dropPlaceholder: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'dropPlaceholder') || '');\n }\n },\n multiple: {\n type: Boolean,\n default: false\n },\n directory: {\n type: Boolean,\n default: false\n },\n noTraverse: {\n type: Boolean,\n default: false\n },\n noDrop: {\n type: Boolean,\n default: false\n },\n fileNameFormatter: {\n type: Function,\n default: null\n }\n },\n data: function data() {\n return {\n selectedFile: null,\n dragging: false,\n hasFocus: false\n };\n },\n computed: {\n selectLabel: function selectLabel() {\n // Draging active\n if (this.dragging && this.dropPlaceholder) {\n return this.dropPlaceholder;\n } // No file chosen\n\n\n if (!this.selectedFile || this.selectedFile.length === 0) {\n return this.placeholder;\n } // Convert selectedFile to an array (if not already one)\n\n\n var files = (0, _array.concat)(this.selectedFile).filter(Boolean);\n\n if (this.hasNormalizedSlot('file-name')) {\n // There is a slot for formatting the files/names\n return [this.normalizeSlot('file-name', {\n files: files,\n names: files.map(function (f) {\n return f.name;\n })\n })];\n } else {\n // Use the user supplied formatter, or the built in one.\n return (0, _inspect.isFunction)(this.fileNameFormatter) ? String(this.fileNameFormatter(files)) : files.map(function (file) {\n return file.name;\n }).join(', ');\n }\n }\n },\n watch: {\n selectedFile: function selectedFile(newVal, oldVal) {\n // The following test is needed when the file input is \"reset\" or the\n // exact same file(s) are selected to prevent an infinite loop.\n // When in `multiple` mode we need to check for two empty arrays or\n // two arrays with identical files\n if (newVal === oldVal || (0, _array.isArray)(newVal) && (0, _array.isArray)(oldVal) && newVal.length === oldVal.length && newVal.every(function (v, i) {\n return v === oldVal[i];\n })) {\n return;\n }\n\n if (!newVal && this.multiple) {\n this.$emit('input', []);\n } else {\n this.$emit('input', newVal);\n }\n },\n value: function value(newVal) {\n if (!newVal || (0, _array.isArray)(newVal) && newVal.length === 0) {\n this.reset();\n }\n }\n },\n methods: {\n focusHandler: function focusHandler(evt) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a '[type=file]:focus ~ sibling' selector issue,\n // so we add a 'focus' class to get around these bugs\n if (this.plain || evt.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n reset: function reset() {\n try {\n // Wrapped in try in case IE 11 craps out\n this.$refs.input.value = '';\n } catch (e) {} // IE 11 doesn't support setting `input.value` to '' or null\n // So we use this little extra hack to reset the value, just in case.\n // This also appears to work on modern browsers as well.\n\n\n this.$refs.input.type = '';\n this.$refs.input.type = 'file';\n this.selectedFile = this.multiple ? [] : null;\n },\n onFileChange: function onFileChange(evt) {\n var _this = this;\n\n // Always emit original event\n this.$emit('change', evt); // Check if special `items` prop is available on event (drop mode)\n // Can be disabled by setting no-traverse\n\n var items = evt.dataTransfer && evt.dataTransfer.items;\n /* istanbul ignore next: not supported in JSDOM */\n\n if (items && !this.noTraverse) {\n var queue = [];\n\n for (var i = 0; i < items.length; i++) {\n var item = items[i].webkitGetAsEntry();\n\n if (item) {\n queue.push(this.traverseFileTree(item));\n }\n }\n\n Promise.all(queue).then(function (filesArr) {\n _this.setFiles((0, _array.from)(filesArr));\n });\n return;\n } // Normal handling\n\n\n this.setFiles(evt.target.files || evt.dataTransfer.files);\n },\n setFiles: function setFiles() {\n var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (!files) {\n /* istanbul ignore next: this will probably not happen */\n this.selectedFile = null;\n } else if (this.multiple) {\n // Convert files to array\n var filesArray = [];\n\n for (var i = 0; i < files.length; i++) {\n filesArray.push(files[i]);\n } // Return file(s) as array\n\n\n this.selectedFile = filesArray;\n } else {\n // Return single file object\n this.selectedFile = files[0] || null;\n }\n },\n onReset: function onReset() {\n // Triggered when the parent form (if any) is reset\n this.selectedFile = this.multiple ? [] : null;\n },\n onDragover: function onDragover(evt)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (this.noDrop || !this.custom) {\n return;\n }\n\n this.dragging = true;\n evt.dataTransfer.dropEffect = 'copy';\n },\n onDragleave: function onDragleave(evt)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n evt.preventDefault();\n evt.stopPropagation();\n this.dragging = false;\n },\n onDrop: function onDrop(evt)\n /* istanbul ignore next: difficult to test in JSDOM */\n {\n evt.preventDefault();\n evt.stopPropagation();\n\n if (this.noDrop) {\n return;\n }\n\n this.dragging = false;\n\n if (evt.dataTransfer.files && evt.dataTransfer.files.length > 0) {\n this.onFileChange(evt);\n }\n },\n traverseFileTree: function traverseFileTree(item, path)\n /* istanbul ignore next: not supported in JSDOM */\n {\n var _this2 = this;\n\n // Based on http://stackoverflow.com/questions/3590058\n return new Promise(function (resolve) {\n path = path || '';\n\n if (item.isFile) {\n // Get file\n item.file(function (file) {\n file.$path = path; // Inject $path to file obj\n\n resolve(file);\n });\n } else if (item.isDirectory) {\n // Get folder contents\n item.createReader().readEntries(function (entries) {\n var queue = [];\n\n for (var i = 0; i < entries.length; i++) {\n queue.push(_this2.traverseFileTree(entries[i], path + item.name + '/'));\n }\n\n Promise.all(queue).then(function (filesArr) {\n resolve((0, _array.from)(filesArr));\n });\n });\n }\n });\n }\n },\n render: function render(h) {\n // Form Input\n var input = h('input', {\n ref: 'input',\n class: [{\n 'form-control-file': this.plain,\n 'custom-file-input': this.custom,\n focus: this.custom && this.hasFocus\n }, this.stateClass],\n attrs: {\n type: 'file',\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n required: this.required,\n form: this.form || null,\n capture: this.capture || null,\n accept: this.accept || null,\n multiple: this.multiple,\n webkitdirectory: this.directory,\n 'aria-required': this.required ? 'true' : null\n },\n on: {\n change: this.onFileChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.onReset\n }\n });\n\n if (this.plain) {\n return input;\n } // Overlay Labels\n\n\n var label = h('label', {\n staticClass: 'custom-file-label',\n class: [this.dragging ? 'dragging' : null],\n attrs: {\n for: this.safeId(),\n 'data-browse': this.browseText || null\n }\n }, this.selectLabel); // Return rendered custom file input\n\n return h('div', {\n staticClass: 'custom-file b-form-file',\n class: this.stateClass,\n attrs: {\n id: this.safeId('_BV_file_outer_')\n },\n on: {\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n }, [input, label]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-file/form-file.js\n// module id = VhEN\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"./inspect\");\n\n/**\n * Get property defined by dot/array notation in string.\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @param {*} defaultValue (optional)\n * @return {*}\n */\nvar get = function get(obj, path) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n // Handle array of path values\n path = (0, _inspect.isArray)(path) ? path.join('.') : path; // If no path or no object passed\n\n if (!path || !(0, _inspect.isObject)(obj)) {\n return defaultValue;\n } // Handle edge case where user has dot(s) in top-level item field key\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2762\n\n\n if (obj.hasOwnProperty(path)) {\n return obj[path];\n } // Handle string array notation (numeric indices only)\n\n\n path = String(path).replace(/\\[(\\d+)]/g, '.$1');\n var steps = path.split('.').filter(Boolean); // Handle case where someone passes a string of only dots\n\n if (steps.length === 0) {\n return defaultValue;\n } // Traverse path in object to find result\n\n\n return steps.every(function (step) {\n return (0, _inspect.isObject)(obj) && obj.hasOwnProperty(step) && (obj = obj[step]) != null;\n }) ? obj : defaultValue;\n};\n\nvar _default = get;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/get.js\n// module id = Vypj\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _link = _interopRequireWildcard(require(\"../link/link\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar linkProps = (0, _link.propsFactory)();\nlinkProps.href.default = undefined;\nlinkProps.to.default = undefined;\n\nvar props = _objectSpread({}, linkProps, {\n tag: {\n type: String,\n default: 'div'\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BNavbarBrand',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var isLink = Boolean(props.to || props.href);\n var tag = isLink ? _link.default : props.tag;\n return h(tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'navbar-brand',\n props: isLink ? (0, _pluckProps.default)(linkProps, props) : {}\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar-brand.js\n// module id = W/FM\n// module chunks = 0","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/process/browser.js\n// module id = W2nU\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false // alias of 'left'\n\n },\n right: {\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false // alias of 'right'\n\n },\n height: {\n type: String,\n default: null\n },\n width: {\n type: String,\n default: null\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BCardImg',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: [baseClass],\n attrs: {\n src: props.src,\n alt: props.alt,\n height: props.height,\n width: props.width\n }\n }));\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-img.js\n// module id = WF/B\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _toggle = _interopRequireDefault(require(\"./toggle\"));\n\nexports.Toggle = _toggle.default;\n\nvar _modal = _interopRequireDefault(require(\"./modal\"));\n\nexports.Modal = _modal.default;\n\nvar _scrollspy = _interopRequireDefault(require(\"./scrollspy\"));\n\nexports.Scrollspy = _scrollspy.default;\n\nvar _tooltip = _interopRequireDefault(require(\"./tooltip\"));\n\nexports.Tooltip = _tooltip.default;\n\nvar _popover = _interopRequireDefault(require(\"./popover\"));\n\nexports.Popover = _popover.default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/index.js\n// module id = WVvG\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n fluid: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BContainer',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: {\n container: !props.fluid,\n 'container-fluid': props.fluid\n }\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/container.js\n// module id = WnFU\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _prefixPropName = _interopRequireDefault(require(\"../../utils/prefix-prop-name\"));\n\nvar _copyProps = _interopRequireDefault(require(\"../../utils/copy-props\"));\n\nvar _html = require(\"../../utils/html\");\n\nvar _cardMixin = _interopRequireDefault(require(\"../../mixins/card-mixin\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = _objectSpread({}, (0, _copyProps.default)(_cardMixin.default.props, _prefixPropName.default.bind(null, 'footer')), {\n footer: {\n type: String,\n default: null\n },\n footerHtml: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Object, Array],\n default: null\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BCardFooter',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.footerTag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(props.footerBgVariant), Boolean(props.footerBgVariant)), _defineProperty(_ref2, \"border-\".concat(props.footerBorderVariant), Boolean(props.footerBorderVariant)), _defineProperty(_ref2, \"text-\".concat(props.footerTextVariant), Boolean(props.footerTextVariant)), _ref2)]\n }), children || [h('div', {\n domProps: (0, _html.htmlOrText)(props.footerHtml, props.footer)\n })]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-footer.js\n// module id = X/jh\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nvar stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};\n\nvar _default = stableSort;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/stable-sort.js\n// module id = X17e\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = {\n vertical: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n ariaRole: {\n type: String,\n default: 'group'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BButtonGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), Boolean(props.size)),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-group/button-group.js\n// module id = X1Qo\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_hide.js\n// module id = X96f\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_a-function.js\n// module id = XHdj\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _html = require(\"../../utils/html\");\n\nvar _config = require(\"../../utils/config\");\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _dropdown = _interopRequireDefault(require(\"../../mixins/dropdown\"));\n\nvar _button = _interopRequireDefault(require(\"../button/button\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NAME = 'BDropdown';\nvar props = {\n toggleText: {\n // This really should be toggleLabel\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'toggleText'));\n }\n },\n size: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'variant') || '') || null;\n }\n },\n menuClass: {\n type: [String, Array],\n default: null\n },\n toggleTag: {\n type: String,\n default: 'button'\n },\n toggleClass: {\n type: [String, Array],\n default: null\n },\n noCaret: {\n type: Boolean,\n default: false\n },\n split: {\n type: Boolean,\n default: false\n },\n splitHref: {\n type: String // default: undefined\n\n },\n splitTo: {\n type: [String, Object] // default: undefined\n\n },\n splitVariant: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: 'menu'\n },\n boundary: {\n // String: `scrollParent`, `window` or `viewport`\n // Object: HTML Element reference\n type: [String, Object],\n default: 'scrollParent'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n mixins: [_id.default, _dropdown.default],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n // Position `static` is needed to allow menu to \"breakout\" of the scrollParent boundaries\n // when boundary is anything other than `scrollParent`\n // See https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n var positionStatic = this.boundary !== 'scrollParent' || !this.boundary;\n return ['btn-group', 'b-dropdown', 'dropdown', this.directionClass, {\n show: this.visible,\n 'position-static': positionStatic\n }];\n },\n menuClasses: function menuClasses() {\n return ['dropdown-menu', {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }, this.menuClass];\n },\n toggleClasses: function toggleClasses() {\n return ['dropdown-toggle', {\n 'dropdown-toggle-split': this.split,\n 'dropdown-toggle-no-caret': this.noCaret && !this.split\n }, this.toggleClass];\n }\n },\n render: function render(h) {\n var split = h(false);\n\n if (this.split) {\n var btnProps = {\n disabled: this.disabled,\n variant: this.splitVariant || this.variant,\n size: this.size // We add these as needed due to router-link issues with defined property with undefined/null values\n\n };\n\n if (this.splitTo) {\n btnProps.to = this.splitTo;\n }\n\n if (this.splitHref) {\n btnProps.href = this.splitHref;\n }\n\n split = h(_button.default, {\n ref: 'button',\n props: btnProps,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n on: {\n click: this.click\n }\n }, [this.$slots['button-content'] || this.$slots.text || this.html || (0, _html.stripTags)(this.text)]);\n }\n\n var toggle = h(_button.default, {\n ref: 'toggle',\n class: this.toggleClasses,\n props: {\n variant: this.variant,\n size: this.size,\n disabled: this.disabled,\n tag: this.toggleTag\n },\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n click: this.toggle,\n // click\n keydown: this.toggle // enter, space, down\n\n }\n }, [this.split ? h('span', {\n class: ['sr-only']\n }, [this.toggleText]) : this.$slots['button-content'] || this.$slots.text || this.html || (0, _html.stripTags)(this.text)]);\n var menu = h('ul', {\n ref: 'menu',\n class: this.menuClasses,\n attrs: {\n role: this.role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n mouseover: this.onMouseOver,\n keydown: this.onKeydown // tab, up, down, esc\n\n }\n }, [this.$slots.default]);\n return h('div', {\n attrs: {\n id: this.safeId()\n },\n class: this.dropdownClasses\n }, [split, toggle, menu]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown.js\n// module id = XHeZ\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_shared-key.js\n// module id = XMgk\n// module chunks = 0","'use strict';\n\nvar defaults = require('./../defaults');\nvar utils = require('./../utils');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {method: 'get'}, this.defaults, config);\n config.method = config.method.toLowerCase();\n\n // Hook up interceptors middleware\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/Axios.js\n// module id = XmWM\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = defaultSortCompare;\n\nvar _get = _interopRequireDefault(require(\"../../../utils/get\"));\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _stringifyObjectValues = _interopRequireDefault(require(\"./stringify-object-values\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Default sort compare routine\n//\n// TODO: add option to sort by multiple columns (tri-state per column, plus order of columns in sort)\n// where sortBy could be an array of objects [ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]\n// or an array of arrays [ ['foo','asc'], ['bar','desc'] ]\nfunction defaultSortCompare(a, b, sortBy) {\n a = (0, _get.default)(a, sortBy, '');\n b = (0, _get.default)(b, sortBy, '');\n\n if ((0, _inspect.isDate)(a) && (0, _inspect.isDate)(b) || (0, _inspect.isNumber)(a) && (0, _inspect.isNumber)(b)) {\n // Special case for comparing Dates and Numbers\n // Internally dates are compared via their epoch number values\n if (a < b) {\n return -1;\n } else if (a > b) {\n return 1;\n } else {\n return 0;\n }\n } else {\n // Do localized string comparison\n return (0, _stringifyObjectValues.default)(a).localeCompare((0, _stringifyObjectValues.default)(b), undefined, {\n numeric: true\n });\n }\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/default-sort-compare.js\n// module id = YFvg\n// module chunks = 0","require('../../modules/es6.array.is-array');\nmodule.exports = require('../../modules/_core').Array.isArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/fn/array/is-array.js\n// module id = YGiA\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _inputGroupPrepend = _interopRequireDefault(require(\"./input-group-prepend\"));\n\nvar _inputGroupAppend = _interopRequireDefault(require(\"./input-group-append\"));\n\nvar _inputGroupText = _interopRequireDefault(require(\"./input-group-text\"));\n\nvar _html = require(\"../../utils/html\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar props = {\n id: {\n type: String\n },\n size: {\n type: String\n },\n prepend: {\n type: String\n },\n prependHTML: {\n type: String\n },\n append: {\n type: String\n },\n appendHTML: {\n type: String\n },\n tag: {\n type: String,\n default: 'div'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BInputGroup',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n var $slots = slots();\n var childNodes = []; // Prepend prop\n\n if (props.prepend) {\n childNodes.push(h(_inputGroupPrepend.default, [h(_inputGroupText.default, {\n domProps: (0, _html.htmlOrText)(props.prependHTML, props.prepend)\n })]));\n } else {\n childNodes.push(h(false));\n } // Prepend slot\n\n\n if ($slots.prepend) {\n childNodes.push(h(_inputGroupPrepend.default, $slots.prepend));\n } else {\n childNodes.push(h(false));\n } // Default slot\n\n\n if ($slots.default) {\n childNodes.push.apply(childNodes, _toConsumableArray($slots.default));\n } else {\n childNodes.push(h(false));\n } // Append prop\n\n\n if (props.append) {\n childNodes.push(h(_inputGroupAppend.default, [h(_inputGroupText.default, {\n domProps: (0, _html.htmlOrText)(props.appendHTML, props.append)\n })]));\n } else {\n childNodes.push(h(false));\n } // Append slot\n\n\n if ($slots.append) {\n childNodes.push(h(_inputGroupAppend.default, $slots.append));\n } else {\n childNodes.push(h(false));\n }\n\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(props.size), Boolean(props.size)),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), childNodes);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group.js\n// module id = YfH7\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _navbar = _interopRequireDefault(require(\"./navbar\"));\n\nvar _navbarNav = _interopRequireDefault(require(\"./navbar-nav\"));\n\nvar _navbarBrand = _interopRequireDefault(require(\"./navbar-brand\"));\n\nvar _navbarToggle = _interopRequireDefault(require(\"./navbar-toggle\"));\n\nvar _nav = _interopRequireDefault(require(\"../nav\"));\n\nvar _collapse = _interopRequireDefault(require(\"../collapse\"));\n\nvar _dropdown = _interopRequireDefault(require(\"../dropdown\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BNavbar: _navbar.default,\n BNavbarNav: _navbarNav.default,\n BNavbarBrand: _navbarBrand.default,\n BNavbarToggle: _navbarToggle.default,\n BNavToggle: _navbarToggle.default\n};\nvar plugins = {\n NavPlugin: _nav.default,\n CollapsePlugin: _collapse.default,\n DropdownPlugin: _dropdown.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components,\n plugins: plugins\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/index.js\n// module id = Ymj4\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _prefixPropName = _interopRequireDefault(require(\"../../utils/prefix-prop-name\"));\n\nvar _copyProps = _interopRequireDefault(require(\"../../utils/copy-props\"));\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nvar _cardMixin = _interopRequireDefault(require(\"../../mixins/card-mixin\"));\n\nvar _cardTitle = _interopRequireWildcard(require(\"./card-title\"));\n\nvar _cardSubTitle = _interopRequireWildcard(require(\"./card-sub-title\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = _objectSpread({}, (0, _copyProps.default)(_cardMixin.default.props, _prefixPropName.default.bind(null, 'body')), {\n bodyClass: {\n type: [String, Object, Array],\n default: null\n }\n}, _cardTitle.props, _cardSubTitle.props, {\n overlay: {\n type: Boolean,\n default: false\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BCardBody',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var cardTitle = h(false);\n var cardSubTitle = h(false);\n var cardContent = children || [h(false)];\n\n if (props.title) {\n cardTitle = h(_cardTitle.default, {\n props: (0, _pluckProps.default)(_cardTitle.props, props)\n });\n }\n\n if (props.subTitle) {\n cardSubTitle = h(_cardSubTitle.default, {\n props: (0, _pluckProps.default)(_cardSubTitle.props, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(props.bodyBgVariant), Boolean(props.bodyBgVariant)), _defineProperty(_ref2, \"border-\".concat(props.bodyBorderVariant), Boolean(props.bodyBorderVariant)), _defineProperty(_ref2, \"text-\".concat(props.bodyTextVariant), Boolean(props.bodyTextVariant)), _ref2), props.bodyClass || {}]\n }), [cardTitle, cardSubTitle].concat(_toConsumableArray(cardContent)));\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-body.js\n// module id = Z09Z\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _normalizeFields = _interopRequireDefault(require(\"./normalize-fields\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default2 = {\n props: {\n items: {\n type: [Array, Function],\n default: function _default()\n /* istanbul ignore next */\n {\n return [];\n }\n },\n fields: {\n // Object format is deprecated and should be avoided\n type: [Array, Object],\n default: null\n },\n primaryKey: {\n // Primary key for record.\n // If provided the value in each row must be unique!!!\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n // Our local copy of the items. Must be an array\n localItems: (0, _inspect.isArray)(this.items) ? this.items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // [ { key:..., label:..., ...}, {...}, ..., {..}]\n return (0, _normalizeFields.default)(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj()\n /* istanbul ignore next: not using at the moment */\n {\n // Fields as a simple lookup hash object\n // Mainly for scopedSlots for convenience\n return this.computedFields.reduce(function (f, obj) {\n obj[f.key] = f;\n return obj;\n }, {});\n }\n },\n watch: {\n items: function items(newItems) {\n /* istanbul ignore else */\n if ((0, _inspect.isArray)(newItems)) {\n // Set localItems/filteredItems to a copy of the provided array\n this.localItems = newItems.slice();\n } else if ((0, _inspect.isUndefined)(newItems) || (0, _inspect.isNull)(newItems)) {\n /* istanbul ignore next */\n this.localItems = [];\n }\n }\n }\n};\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-items.js\n// module id = Z4hk\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formRadio = _interopRequireDefault(require(\"./form-radio\"));\n\nvar _formRadioGroup = _interopRequireDefault(require(\"./form-radio-group\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormRadio: _formRadio.default,\n BRadio: _formRadio.default,\n BFormRadioGroup: _formRadioGroup.default,\n BRadioGroup: _formRadioGroup.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-radio/index.js\n// module id = Ze8Z\n// module chunks = 0","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.15.0\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (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\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style. \n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one. \n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option. \n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right. \n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property. \n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers. \n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element. \n * It will read the variation of the `placement` property. \n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper. \n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces. \n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2. \n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries. \n * We can say it has \"escaped the boundaries\" — or just \"escaped\". \n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor. \n * These can be overridden using the `options` argument of Popper.js. \n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created. \n * By default, it is set to no-op. \n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates. \n * By default, it is set to no-op. \n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node. \n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/popper.js/dist/esm/popper.js\n// module id = Zgw8\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _buttonGroup = _interopRequireDefault(require(\"./button-group\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BButtonGroup: _buttonGroup.default,\n BBtnGroup: _buttonGroup.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-group/index.js\n// module id = ZhCs\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.HTMLElement = void 0;\n\nvar _env = require(\"./env\");\n\n/**\n * SSR safe types\n */\nvar w = _env.hasWindowSupport ? window : {};\nvar HTMLElement = w.HTMLElement || Object;\nexports.HTMLElement = HTMLElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/safe-types.js\n// module id = ZnA3\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _html = require(\"../../../utils/html\");\n\nvar _default = {\n props: {\n caption: {\n type: String,\n default: null\n },\n captionHtml: {\n type: String\n },\n captionTop: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n captionClasses: function captionClasses() {\n return {\n 'b-table-caption-top': this.captionTop\n };\n },\n captionId: function captionId() {\n // Even though this.safeId looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var h = this.$createElement; // Build the caption\n\n var $captionSlot = this.normalizeSlot('table-caption', {});\n var $caption = h(false);\n\n if ($captionSlot || this.caption || this.captionHtml) {\n var data = {\n key: 'caption',\n class: this.captionClasses,\n attrs: {\n id: this.captionId\n }\n };\n\n if (!$captionSlot) {\n data.domProps = (0, _html.htmlOrText)(this.captionHtml, this.caption);\n }\n\n $caption = h('caption', data, [$captionSlot]);\n }\n\n return $caption;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-caption.js\n// module id = ZuOO\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _object = require(\"./object\");\n\nvar memoize = function memoize(fn) {\n var cache = (0, _object.create)(null);\n return 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 argsKey = JSON.stringify(args);\n return cache[argsKey] = cache[argsKey] || fn.apply(null, args);\n };\n};\n\nvar _default = memoize;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/memoize.js\n// module id = a44S\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _lowerFirst = _interopRequireDefault(require(\"./lower-first\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nvar unprefixPropName = function unprefixPropName(prefix, value) {\n return (0, _lowerFirst.default)(value.replace(prefix, ''));\n};\n\nvar _default = unprefixPropName;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/unprefix-prop-name.js\n// module id = ab1q\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = acO+\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _card = _interopRequireDefault(require(\"./card\"));\n\nvar _cardHeader = _interopRequireDefault(require(\"./card-header\"));\n\nvar _cardBody = _interopRequireDefault(require(\"./card-body\"));\n\nvar _cardTitle = _interopRequireDefault(require(\"./card-title\"));\n\nvar _cardSubTitle = _interopRequireDefault(require(\"./card-sub-title\"));\n\nvar _cardFooter = _interopRequireDefault(require(\"./card-footer\"));\n\nvar _cardImg = _interopRequireDefault(require(\"./card-img\"));\n\nvar _cardImgLazy = _interopRequireDefault(require(\"./card-img-lazy\"));\n\nvar _cardText = _interopRequireDefault(require(\"./card-text\"));\n\nvar _cardGroup = _interopRequireDefault(require(\"./card-group\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BCard: _card.default,\n BCardHeader: _cardHeader.default,\n BCardBody: _cardBody.default,\n BCardTitle: _cardTitle.default,\n BCardSubTitle: _cardSubTitle.default,\n BCardFooter: _cardFooter.default,\n BCardImg: _cardImg.default,\n BCardImgLazy: _cardImgLazy.default,\n BCardText: _cardText.default,\n BCardGroup: _cardGroup.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/index.js\n// module id = awSw\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_shared.js\n// module id = ayv/\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _dom = require(\"../utils/dom\");\n\n// @vue/component\nvar _default = {\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n (0, _dom.eventOff)(this.focusInElement, 'focusin', this._focusInHandler, false);\n\n if (newValue) {\n (0, _dom.eventOn)(this.focusInElement, 'focusin', this._focusInHandler, false);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n (0, _dom.eventOn)(this.focusInElement, 'focusin', this._focusInHandler, false);\n }\n },\n beforeDestroy: function beforeDestroy()\n /* istanbul ignore next */\n {\n (0, _dom.eventOff)(this.focusInElement, 'focusin', this._focusInHandler, false);\n },\n methods: {\n _focusInHandler: function _focusInHandler(evt) {\n if (this.focusInHandler) {\n this.focusInHandler(evt);\n }\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/focus-in.js\n// module id = brxk\n// module chunks = 0","'use strict';\n\nvar bind = require('./helpers/bind');\nvar isBuffer = require('is-buffer');\n\n/*global toString:true*/\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return (typeof FormData !== 'undefined') && (val instanceof FormData);\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/utils.js\n// module id = cGG2\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _alert = _interopRequireDefault(require(\"./alert\"));\n\nexports.Alert = _alert.default;\n\nvar _badge = _interopRequireDefault(require(\"./badge\"));\n\nexports.Badge = _badge.default;\n\nvar _breadcrumb = _interopRequireDefault(require(\"./breadcrumb\"));\n\nexports.Breadcrumb = _breadcrumb.default;\n\nvar _button = _interopRequireDefault(require(\"./button\"));\n\nexports.Button = _button.default;\n\nvar _buttonGroup = _interopRequireDefault(require(\"./button-group\"));\n\nexports.ButtonGroup = _buttonGroup.default;\n\nvar _buttonToolbar = _interopRequireDefault(require(\"./button-toolbar\"));\n\nexports.ButtonToolbar = _buttonToolbar.default;\n\nvar _inputGroup = _interopRequireDefault(require(\"./input-group\"));\n\nexports.InputGroup = _inputGroup.default;\n\nvar _card = _interopRequireDefault(require(\"./card\"));\n\nexports.Card = _card.default;\n\nvar _carousel = _interopRequireDefault(require(\"./carousel\"));\n\nexports.Carousel = _carousel.default;\n\nvar _layout = _interopRequireDefault(require(\"./layout\"));\n\nexports.Layout = _layout.default;\n\nvar _collapse = _interopRequireDefault(require(\"./collapse\"));\n\nexports.Collapse = _collapse.default;\n\nvar _dropdown = _interopRequireDefault(require(\"./dropdown\"));\n\nexports.Dropdown = _dropdown.default;\n\nvar _embed = _interopRequireDefault(require(\"./embed\"));\n\nexports.Embed = _embed.default;\n\nvar _form = _interopRequireDefault(require(\"./form\"));\n\nexports.Form = _form.default;\n\nvar _formGroup = _interopRequireDefault(require(\"./form-group\"));\n\nexports.FormGroup = _formGroup.default;\n\nvar _formCheckbox = _interopRequireDefault(require(\"./form-checkbox\"));\n\nexports.FormCheckbox = _formCheckbox.default;\n\nvar _formRadio = _interopRequireDefault(require(\"./form-radio\"));\n\nexports.FormRadio = _formRadio.default;\n\nvar _formInput = _interopRequireDefault(require(\"./form-input\"));\n\nexports.FormInput = _formInput.default;\n\nvar _formTextarea = _interopRequireDefault(require(\"./form-textarea\"));\n\nexports.FormTextarea = _formTextarea.default;\n\nvar _formFile = _interopRequireDefault(require(\"./form-file\"));\n\nexports.FormFile = _formFile.default;\n\nvar _formSelect = _interopRequireDefault(require(\"./form-select\"));\n\nexports.FormSelect = _formSelect.default;\n\nvar _image = _interopRequireDefault(require(\"./image\"));\n\nexports.Image = _image.default;\n\nvar _jumbotron = _interopRequireDefault(require(\"./jumbotron\"));\n\nexports.Jumbotron = _jumbotron.default;\n\nvar _link = _interopRequireDefault(require(\"./link\"));\n\nexports.Link = _link.default;\n\nvar _listGroup = _interopRequireDefault(require(\"./list-group\"));\n\nexports.ListGroup = _listGroup.default;\n\nvar _media = _interopRequireDefault(require(\"./media\"));\n\nexports.Media = _media.default;\n\nvar _modal = _interopRequireDefault(require(\"./modal\"));\n\nexports.Modal = _modal.default;\n\nvar _nav = _interopRequireDefault(require(\"./nav\"));\n\nexports.Nav = _nav.default;\n\nvar _navbar = _interopRequireDefault(require(\"./navbar\"));\n\nexports.Navbar = _navbar.default;\n\nvar _pagination = _interopRequireDefault(require(\"./pagination\"));\n\nexports.Pagination = _pagination.default;\n\nvar _paginationNav = _interopRequireDefault(require(\"./pagination-nav\"));\n\nexports.PaginationNav = _paginationNav.default;\n\nvar _popover = _interopRequireDefault(require(\"./popover\"));\n\nexports.Popover = _popover.default;\n\nvar _progress = _interopRequireDefault(require(\"./progress\"));\n\nexports.Progress = _progress.default;\n\nvar _spinner = _interopRequireDefault(require(\"./spinner\"));\n\nexports.Spinner = _spinner.default;\n\nvar _table = _interopRequireDefault(require(\"./table\"));\n\nexports.Table = _table.default;\n\nvar _tabs = _interopRequireDefault(require(\"./tabs\"));\n\nexports.Tabs = _tabs.default;\n\nvar _toast = _interopRequireDefault(require(\"./toast\"));\n\nexports.Toast = _toast.default;\n\nvar _tooltip = _interopRequireDefault(require(\"./tooltip\"));\n\nexports.Tooltip = _tooltip.default;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/index.js\n// module id = cOEn\n// module chunks = 0","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/CancelToken.js\n// module id = cWxy\n// module chunks = 0","require('../../modules/es6.object.is');\nmodule.exports = require('../../modules/_core').Object.is;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/fn/object/is.js\n// module id = ceLm\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _progressBar = _interopRequireDefault(require(\"./progress-bar\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BProgress',\n provide: function provide() {\n return {\n bvProgress: this\n };\n },\n props: {\n // These props can be inherited via the child b-progress-bar(s)\n variant: {\n type: String,\n default: null\n },\n striped: {\n type: Boolean,\n default: false\n },\n animated: {\n type: Boolean,\n default: false\n },\n height: {\n type: String,\n default: null\n },\n precision: {\n type: Number,\n default: 0\n },\n showProgress: {\n type: Boolean,\n default: false\n },\n showValue: {\n type: Boolean,\n default: false\n },\n max: {\n type: Number,\n default: 100\n },\n // This prop is not inherited by child b-progress-bar(s)\n value: {\n type: Number,\n default: 0\n }\n },\n computed: {\n progressHeight: function progressHeight() {\n return {\n height: this.height || null\n };\n }\n },\n render: function render(h) {\n var childNodes = this.$slots.default;\n\n if (!childNodes) {\n childNodes = h(_progressBar.default, {\n props: {\n value: this.value,\n max: this.max,\n precision: this.precision,\n variant: this.variant,\n animated: this.animated,\n striped: this.striped,\n showProgress: this.showProgress,\n showValue: this.showValue\n }\n });\n }\n\n return h('div', {\n class: ['progress'],\n style: this.progressHeight\n }, [childNodes]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/progress/progress.js\n// module id = cgSB\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n tag: {\n type: String,\n default: 'span'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BNavText',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'navbar-text'\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-text.js\n// module id = ckuA\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _looseEqual = _interopRequireDefault(require(\"./loose-equal\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar looseIndexOf = function looseIndexOf(arr, val) {\n // Assumes that the first argument is an array\n for (var i = 0; i < arr.length; i++) {\n if ((0, _looseEqual.default)(arr[i], val)) {\n return i;\n }\n }\n\n return -1;\n};\n\nvar _default = looseIndexOf;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/loose-index-of.js\n// module id = ctcl\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n inline: {\n type: Boolean,\n default: false\n },\n novalidate: {\n type: Boolean,\n default: false\n },\n validated: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BForm',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form.js\n// module id = czjy\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_iter-create.js\n// module id = d3hS\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.EVENT_FILTER = exports.IGNORED_FIELD_KEYS = void 0;\n// Constants used by table helpers\n// Object of item keys that should be ignored for headers and stringification and filter events\nvar IGNORED_FIELD_KEYS = {\n _rowVariant: true,\n _cellVariants: true,\n _showDetails: true // Filter CSS Selector for click/dblclick/etc events\n // If any of these selectors match the clicked element, we ignore the event\n\n};\nexports.IGNORED_FIELD_KEYS = IGNORED_FIELD_KEYS;\nvar EVENT_FILTER = ['a', 'a *', // include content inside links\n'button', 'button *', // include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');\nexports.EVENT_FILTER = EVENT_FILTER;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/constants.js\n// module id = dBT8\n// module chunks = 0","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/isAbsoluteURL.js\n// module id = dIwP\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formFile = _interopRequireDefault(require(\"./form-file\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormFile: _formFile.default,\n BFile: _formFile.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-file/index.js\n// module id = dOJo\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _progress = _interopRequireDefault(require(\"./progress\"));\n\nvar _progressBar = _interopRequireDefault(require(\"./progress-bar\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BProgress: _progress.default,\n BProgressBar: _progressBar.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/progress/index.js\n// module id = dPTs\n// module chunks = 0","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/Cancel.js\n// module id = dVOP\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _popper = _interopRequireDefault(require(\"popper.js\"));\n\nvar _bvEvent = _interopRequireDefault(require(\"../utils/bv-event.class\"));\n\nvar _keyCodes = _interopRequireDefault(require(\"../utils/key-codes\"));\n\nvar _warn = _interopRequireDefault(require(\"../utils/warn\"));\n\nvar _dom = require(\"../utils/dom\");\n\nvar _inspect = require(\"../utils/inspect\");\n\nvar _clickOut = _interopRequireDefault(require(\"./click-out\"));\n\nvar _focusIn = _interopRequireDefault(require(\"./focus-in\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Return an Array of visible items\nfunction filterVisible(els) {\n return (els || []).filter(_dom.isVisible);\n} // Dropdown item CSS selectors\n// TODO: .dropdown-form handling\n\n\nvar Selector = {\n FORM_CHILD: '.dropdown form',\n NAVBAR_NAV: '.navbar-nav',\n ITEM_SELECTOR: '.dropdown-item:not(.disabled):not([disabled])' // Popper attachment positions\n\n};\nvar AttachmentMap = {\n // Dropup left align\n TOP: 'top-start',\n // Dropup right align\n TOPEND: 'top-end',\n // Dropdown left align\n BOTTOM: 'bottom-start',\n // Dropdown right align\n BOTTOMEND: 'bottom-end',\n // Dropright left align\n RIGHT: 'right-start',\n // Dropright right align\n RIGHTEND: 'right-end',\n // Dropleft left align\n LEFT: 'left-start',\n // Dropleft right align\n LEFTEND: 'left-end' // @vue/component\n\n};\nvar _default2 = {\n mixins: [_clickOut.default, _focusIn.default],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n text: {\n // Button label\n type: String,\n default: ''\n },\n html: {\n // Button label\n type: String\n },\n dropup: {\n // place on top if possible\n type: Boolean,\n default: false\n },\n dropright: {\n // place right if possible\n type: Boolean,\n default: false\n },\n dropleft: {\n // place left if possible\n type: Boolean,\n default: false\n },\n right: {\n // Right align menu (default is left align)\n type: Boolean,\n default: false\n },\n offset: {\n // Number of pixels to offset menu, or a CSS unit value (i.e. 1px, 1rem, etc)\n type: [Number, String],\n default: 0\n },\n noFlip: {\n // Disable auto-flipping of menu from bottom<=>top\n type: Boolean,\n default: false\n },\n popperOpts: {\n // type: Object,\n default: function _default() {}\n }\n },\n data: function data() {\n return {\n visible: false,\n inNavbar: null,\n visibleChangePrevented: false\n };\n },\n computed: {\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var evtName = newValue ? 'show' : 'hide';\n var bvEvt = new _bvEvent.default(evtName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null\n });\n this.emitEvent(bvEvt);\n\n if (bvEvt.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggereded this.hide(true)\n\n this.$off('hidden', this.focusToggler);\n return;\n }\n\n if (evtName === 'show') {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create non-reactive property\n this._popper = null;\n },\n deactivated: function deactivated()\n /* istanbul ignore next: not easy to test */\n {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.removePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.removePopper();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvt) {\n var type = bvEvt.type;\n this.$emit(type, bvEvt);\n this.$root.$emit(\"bv::dropdown::\".concat(type), bvEvt);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Ensure other menus are closed\n\n\n this.$root.$emit('bv::dropdown::shown', this); // Are we in a navbar ?\n\n if ((0, _inspect.isNull)(this.inNavbar) && this.isNav) {\n /* istanbul ignore next */\n this.inNavbar = Boolean((0, _dom.closest)('.navbar', this.$el));\n } // Disable totally Popper.js for Dropdown in Navbar\n\n\n if (!this.inNavbar) {\n if (typeof _popper.default === 'undefined') {\n /* istanbul ignore next */\n (0, _warn.default)('b-dropdown: Popper.js not found. Falling back to CSS positioning.');\n } else {\n // for dropup with alignment we use the parent element as popper container\n var element = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n element = element.$el || element; // Instantiate popper.js\n\n this.createPopper(element);\n }\n }\n\n this.whileOpenListen(true); // Wrap in nextTick to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit('shown');\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.$root.$emit('bv::dropdown::hidden', this);\n this.$emit('hidden');\n this.removePopper();\n },\n createPopper: function createPopper(element) {\n this.removePopper();\n this._popper = new _popper.default(element, this.$refs.menu, this.getPopperConfig());\n },\n removePopper: function removePopper() {\n if (this._popper) {\n // Ensure popper event listeners are removed cleanly\n this._popper.destroy();\n }\n\n this._popper = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = AttachmentMap.BOTTOM;\n\n if (this.dropup) {\n placement = this.right ? AttachmentMap.TOPEND : AttachmentMap.TOP;\n } else if (this.dropright) {\n placement = AttachmentMap.RIGHT;\n } else if (this.dropleft) {\n placement = AttachmentMap.LEFT;\n } else if (this.right) {\n placement = AttachmentMap.BOTTOMEND;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n\n if (this.boundary) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: this.boundary\n };\n }\n\n return _objectSpread({}, popperConfig, this.popperOpts || {});\n },\n whileOpenListen: function whileOpenListen(open) {\n // turn listeners on/off while open\n if (open) {\n // If another dropdown is opened\n this.$root.$on('bv::dropdown::shown', this.rootCloseListener); // Hide the dropdown when clicked outside\n\n this.listenForClickOut = true; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = true;\n } else {\n this.$root.$off('bv::dropdown::shown', this.rootCloseListener);\n this.listenForClickOut = false;\n this.listenForFocusIn = false;\n }\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n show: function show() {\n // Public method to show dropdown\n if (this.disabled) {\n return;\n }\n\n this.visible = true;\n },\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n // Public method to hide dropdown\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once('hidden', this.focusToggler);\n }\n },\n toggle: function toggle(evt) {\n // Called only by a button that toggles the menu\n evt = evt || {};\n var type = evt.type;\n var key = evt.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && (key === _keyCodes.default.ENTER || key === _keyCodes.default.SPACE || key === _keyCodes.default.DOWN))) {\n // We only toggle on Click, Enter, Space, and Arrow Down\n\n /* istanbul ignore next */\n return;\n }\n\n if (this.disabled) {\n /* istanbul ignore next */\n this.visible = false;\n /* istanbul ignore next */\n\n return;\n }\n\n this.$emit('toggle', evt);\n\n if (evt.defaultPrevented) {\n // Exit if canceled\n return;\n }\n\n evt.preventDefault();\n evt.stopPropagation(); // Toggle visibility\n\n this.visible = !this.visible;\n },\n click: function click(evt) {\n // Called only in split button mode, for the split button\n if (this.disabled) {\n /* istanbul ignore next */\n this.visible = false;\n /* istanbul ignore next */\n\n return;\n }\n\n this.$emit('click', evt);\n },\n onKeydown: function onKeydown(evt) {\n // Called from dropdown menu context\n var key = evt.keyCode;\n\n if (key === _keyCodes.default.ESC) {\n // Close on ESC\n this.onEsc(evt);\n } else if (key === _keyCodes.default.TAB) {\n // Close on tab out\n\n /* istanbul ignore next: not used and should be removed */\n this.onTab(evt);\n } else if (key === _keyCodes.default.DOWN) {\n // Down Arrow\n this.focusNext(evt, false);\n } else if (key === _keyCodes.default.UP) {\n // Up Arrow\n this.focusNext(evt, true);\n }\n },\n onEsc: function onEsc(evt) {\n if (this.visible) {\n this.visible = false;\n evt.preventDefault();\n evt.stopPropagation(); // Return focus to original trigger button\n\n this.$once('hidden', this.focusToggler);\n }\n },\n onTab: function onTab(evt)\n /* istanbul ignore next: not easy to test */\n {// TODO: Need special handler for dealing with form inputs\n // Tab, if in a text-like input, we should just focus next item in the dropdown\n // Note: Inputs are in a special .dropdown-form container\n },\n onMouseOver: function onMouseOver(evt)\n /* istanbul ignore next: not easy to test */\n {// Removed mouseover focus handler\n },\n // Document click out listener\n clickOutHandler: function clickOutHandler() {\n if (this.visible) {\n this.visible = false;\n }\n },\n // Document focusin listener\n focusInHandler: function focusInHandler(evt) {\n // If focus leaves dropdown, hide it\n if (this.visible && !(0, _dom.contains)(this.$refs.menu, evt.target) && !(0, _dom.contains)(this.$refs.toggle, evt.target)) {\n this.visible = false;\n }\n },\n // Keyboard nav\n focusNext: function focusNext(evt, up) {\n var _this2 = this;\n\n if (!this.visible) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n evt.preventDefault();\n evt.stopPropagation();\n this.$nextTick(function () {\n var items = _this2.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(evt.target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this2.focusItem(index, items);\n });\n },\n focusItem: function focusItem(idx, items) {\n var el = items.find(function (el, i) {\n return i === idx;\n });\n\n if (el && (0, _dom.getAttr)(el, 'tabindex') !== '-1') {\n el.focus();\n }\n },\n getItems: function getItems() {\n // Get all items\n return filterVisible((0, _dom.selectAll)(Selector.ITEM_SELECTOR, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n this.$refs.menu.focus && this.$refs.menu.focus();\n },\n focusToggler: function focusToggler() {\n var toggler = this.toggler;\n\n if (toggler && toggler.focus) {\n toggler.focus();\n }\n }\n }\n};\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/dropdown.js\n// module id = ddAL\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n// @vue/component\nvar _default = {\n props: {\n plain: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-custom.js\n// module id = dfnb\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar componentPlugins = _interopRequireWildcard(require(\"./components\"));\n\nvar directivePlugins = _interopRequireWildcard(require(\"./directives\"));\n\nvar _plugins = require(\"./utils/plugins\");\n\nvar _config = require(\"./utils/config\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nvar install = function install(Vue) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (install.installed) {\n /* istanbul ignore next */\n return;\n }\n\n install.installed = true; // Configure BootstrapVue\n\n (0, _config.setConfig)(config); // Register component plugins\n\n (0, _plugins.registerPlugins)(Vue, componentPlugins); // Register directive plugins\n\n (0, _plugins.registerPlugins)(Vue, directivePlugins);\n};\n\ninstall.installed = false;\nvar BootstrapVue = {\n install: install,\n setConfig: _config.setConfig // Auto installation only occurs if window.Vue exists\n\n};\n(0, _plugins.vueUse)(BootstrapVue);\nvar _default = BootstrapVue;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/index.js\n// module id = e6fC\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _form = _interopRequireDefault(require(\"./form\"));\n\nvar _formDatalist = _interopRequireDefault(require(\"./form-datalist\"));\n\nvar _formRow = _interopRequireDefault(require(\"./form-row\"));\n\nvar _formText = _interopRequireDefault(require(\"./form-text\"));\n\nvar _formInvalidFeedback = _interopRequireDefault(require(\"./form-invalid-feedback\"));\n\nvar _formValidFeedback = _interopRequireDefault(require(\"./form-valid-feedback\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BForm: _form.default,\n BFormDatalist: _formDatalist.default,\n BDatalist: _formDatalist.default,\n BFormRow: _formRow.default,\n BFormText: _formText.default,\n BFormInvalidFeedback: _formInvalidFeedback.default,\n BFormFeedback: _formInvalidFeedback.default,\n BFormValidFeedback: _formValidFeedback.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/index.js\n// module id = eEUf\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_classof.js\n// module id = eRfT\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_descriptors.js\n// module id = epIX\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.omitLinkProps = exports.pickLinkProps = exports.props = exports.propsFactory = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _array = require(\"../../utils/array\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _object = require(\"../../utils/object\");\n\nvar _router = require(\"../../utils/router\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n/**\n * The Link component is used in many other BV components.\n * As such, sharing its props makes supporting all its features easier.\n * However, some components need to modify the defaults for their own purpose.\n * Prefer sharing a fresh copy of the props to ensure mutations\n * do not affect other component references to the props.\n *\n * https://github.com/vuejs/vue-router/blob/dev/src/components/link.js\n * @return {{}}\n */\nvar propsFactory = function propsFactory() {\n return {\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n default: null\n },\n target: {\n type: String,\n default: '_self'\n },\n active: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n // router-link specific props\n to: {\n type: [String, Object],\n default: null\n },\n append: {\n type: Boolean,\n default: false\n },\n replace: {\n type: Boolean,\n default: false\n },\n event: {\n type: [String, Array],\n default: 'click'\n },\n activeClass: {\n type: String // default: undefined\n\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String // default: undefined\n\n },\n routerTag: {\n type: String,\n default: 'a'\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n };\n};\n\nexports.propsFactory = propsFactory;\nvar props = propsFactory(); // Return a fresh copy of props\n// Containing only the specified prop(s)\n\nexports.props = props;\n\nvar pickLinkProps = function pickLinkProps(propsToPick) {\n var freshLinkProps = propsFactory(); // Normalize everything to array.\n\n propsToPick = (0, _array.concat)(propsToPick);\n return (0, _object.keys)(freshLinkProps).reduce(function (memo, prop) {\n if ((0, _array.arrayIncludes)(propsToPick, prop)) {\n memo[prop] = freshLinkProps[prop];\n }\n\n return memo;\n }, {});\n}; // Return a fresh copy of props\n// Keeping all but the specified omitting prop(s)\n\n\nexports.pickLinkProps = pickLinkProps;\n\nvar omitLinkProps = function omitLinkProps(propsToOmit) {\n var freshLinkProps = propsFactory(); // Normalize everything to array.\n\n propsToOmit = (0, _array.concat)(propsToOmit);\n return (0, _object.keys)(props).reduce(function (memo, prop) {\n if (!(0, _array.arrayIncludes)(propsToOmit, prop)) {\n memo[prop] = freshLinkProps[prop];\n }\n\n return memo;\n }, {});\n};\n\nexports.omitLinkProps = omitLinkProps;\n\nvar clickHandlerFactory = function clickHandlerFactory(_ref) {\n var disabled = _ref.disabled,\n tag = _ref.tag,\n href = _ref.href,\n suppliedHandler = _ref.suppliedHandler,\n parent = _ref.parent;\n return function onClick(evt) {\n var _arguments = arguments;\n\n if (disabled && evt instanceof Event) {\n // Stop event from bubbling up.\n evt.stopPropagation(); // Kill the event loop attached to this specific EventTarget.\n // Needed to prevent vue-router for doing its thing\n\n evt.stopImmediatePropagation();\n } else {\n if ((0, _router.isRouterLink)(tag) && evt.target.__vue__) {\n // Router links do not emit instance 'click' events, so we\n // add in an $emit('click', evt) on it's vue instance\n\n /* istanbul ignore next: difficult to test, but we know it works */\n evt.target.__vue__.$emit('click', evt);\n } // Call the suppliedHandler(s), if any provided\n\n\n (0, _array.concat)(suppliedHandler).filter(function (h) {\n return (0, _inspect.isFunction)(h);\n }).forEach(function (handler) {\n handler.apply(void 0, _toConsumableArray(_arguments));\n });\n parent.$root.$emit('clicked::link', evt);\n }\n\n if (!(0, _router.isRouterLink)(tag) && href === '#' || disabled) {\n // Stop scroll-to-top behavior or navigation on regular links\n // when href is just '#'\n evt.preventDefault();\n }\n };\n}; // @vue/component\n\n\nvar _default = _vue.default.extend({\n name: 'BLink',\n functional: true,\n props: propsFactory(),\n render: function render(h, _ref2) {\n var props = _ref2.props,\n data = _ref2.data,\n parent = _ref2.parent,\n children = _ref2.children;\n var tag = (0, _router.computeTag)(props, parent);\n var rel = (0, _router.computeRel)(props);\n var href = (0, _router.computeHref)(props, tag);\n var eventType = (0, _router.isRouterLink)(tag) ? 'nativeOn' : 'on';\n var suppliedHandler = (data[eventType] || {}).click;\n var handlers = {\n click: clickHandlerFactory({\n tag: tag,\n href: href,\n disabled: props.disabled,\n suppliedHandler: suppliedHandler,\n parent: parent\n })\n };\n var componentData = (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: {\n active: props.active,\n disabled: props.disabled\n },\n attrs: {\n rel: rel,\n target: props.target,\n tabindex: props.disabled ? '-1' : data.attrs ? data.attrs.tabindex : null,\n 'aria-disabled': props.disabled ? 'true' : null\n },\n props: _objectSpread({}, props, {\n tag: props.routerTag\n })\n }); // If href attribute exists on router-link (even undefined or null) it fails working on SSR\n // So we explicitly add it here if needed (i.e. if computeHref() is truthy)\n\n if (href) {\n componentData.attrs.href = href;\n } else {\n // Ensure the prop HREF does not exist for router links\n delete componentData.props.href;\n } // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler if !props.disabled\n\n\n componentData[eventType] = _objectSpread({}, componentData[eventType] || {}, handlers);\n return h(tag, componentData, children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/link/link.js\n// module id = etPs\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-dp.js\n// module id = f/4Z\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = f8aL\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _config = require(\"../../utils/config\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = {\n tag: {\n type: String,\n default: 'nav'\n },\n type: {\n type: String,\n default: 'light'\n },\n variant: {\n type: String\n },\n toggleable: {\n type: [Boolean, String],\n default: false\n },\n fixed: {\n type: String\n },\n sticky: {\n type: Boolean,\n default: false\n },\n print: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BNavbar',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var breakpoint = '';\n var xs = (0, _config.getBreakpoints)()[0];\n\n if (props.toggleable && (0, _inspect.isString)(props.toggleable) && props.toggleable !== xs) {\n breakpoint = \"navbar-expand-\".concat(props.toggleable);\n } else if (props.toggleable === false) {\n breakpoint = 'navbar-expand';\n }\n\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'navbar',\n class: (_class = {\n 'd-print': props.print,\n 'sticky-top': props.sticky\n }, _defineProperty(_class, \"navbar-\".concat(props.type), Boolean(props.type)), _defineProperty(_class, \"bg-\".concat(props.variant), Boolean(props.variant)), _defineProperty(_class, \"fixed-\".concat(props.fixed), Boolean(props.fixed)), _defineProperty(_class, \"\".concat(breakpoint), Boolean(breakpoint)), _class),\n attrs: {\n role: props.tag === 'nav' ? null : 'navigation'\n }\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar.js\n// module id = f9FU\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_wks.js\n// module id = fSvE\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/InterceptorManager.js\n// module id = fuGk\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _pagination = _interopRequireDefault(require(\"./pagination\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BPagination: _pagination.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/pagination/index.js\n// module id = gEcC\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _inputGroupAddon = _interopRequireWildcard(require(\"./input-group-addon\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BInputGroupPrepend',\n functional: true,\n props: _inputGroupAddon.commonProps,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // pass all our props/attrs down to child, and set`append` to false\n return h(_inputGroupAddon.default, (0, _vueFunctionalDataMerge.mergeData)(data, {\n props: _objectSpread({}, props, {\n append: false\n })\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-prepend.js\n// module id = gMle\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _embed = _interopRequireDefault(require(\"./embed\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BEmbed: _embed.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/embed/index.js\n// module id = gY5a\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-dps.js\n// module id = gh01\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _array = require(\"../../utils/array\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center'];\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n noGutters: {\n type: Boolean,\n default: false\n },\n alignV: {\n type: String,\n default: null,\n validator: function validator(str) {\n return (0, _array.arrayIncludes)(COMMON_ALIGNMENT.concat(['baseline', 'stretch']), str);\n }\n },\n alignH: {\n type: String,\n default: null,\n validator: function validator(str) {\n return (0, _array.arrayIncludes)(COMMON_ALIGNMENT.concat(['between', 'around']), str);\n }\n },\n alignContent: {\n type: String,\n default: null,\n validator: function validator(str) {\n return (0, _array.arrayIncludes)(COMMON_ALIGNMENT.concat(['between', 'around', 'stretch']), str);\n }\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BRow',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'row',\n class: (_class = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_class, \"align-items-\".concat(props.alignV), props.alignV), _defineProperty(_class, \"justify-content-\".concat(props.alignH), props.alignH), _defineProperty(_class, \"align-content-\".concat(props.alignContent), props.alignContent), _class)\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/row.js\n// module id = ghhx\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _img = _interopRequireDefault(require(\"./img\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _config = require(\"../../utils/config\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NAME = 'BImgLazy';\nvar THROTTLE = 100;\nvar EventOptions = {\n passive: true,\n capture: false\n};\nvar props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n blankSrc: {\n // If null, a blank image is generated\n type: String,\n default: null\n },\n blankColor: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'blankColor'));\n }\n },\n blankWidth: {\n type: [Number, String],\n default: null\n },\n blankHeight: {\n type: [Number, String],\n default: null\n },\n show: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n type: Boolean,\n default: false\n },\n block: {\n type: Boolean,\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n rounded: {\n type: [Boolean, String],\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n offset: {\n type: [Number, String],\n default: 360\n },\n throttle: {\n type: [Number, String],\n default: THROTTLE\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n props: props,\n data: function data() {\n return {\n isShown: false,\n scrollTimeout: null\n };\n },\n computed: {\n computedSrc: function computedSrc() {\n return !this.blankSrc || this.isShown ? this.src : this.blankSrc;\n },\n computedBlank: function computedBlank() {\n return !(this.isShown || this.blankSrc);\n },\n computedWidth: function computedWidth() {\n return this.isShown ? this.width : this.blankWidth || this.width;\n },\n computedHeight: function computedHeight() {\n return this.isShown ? this.height : this.blankHeight || this.height;\n }\n },\n watch: {\n show: function show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.isShown = newVal;\n\n if (!newVal) {\n // Make sure listeners are re-enabled if img is force set to blank\n this.setListeners(true);\n }\n }\n },\n isShown: function isShown(newVal, oldVal) {\n if (newVal !== oldVal) {\n // Update synched show prop\n this.$emit('update:show', newVal);\n }\n }\n },\n created: function created() {\n this.isShown = this.show;\n },\n mounted: function mounted() {\n if (this.isShown) {\n this.setListeners(false);\n } else {\n this.setListeners(true);\n this.$nextTick(this.checkView);\n }\n },\n activated: function activated()\n /* istanbul ignore next */\n {\n if (!this.isShown) {\n this.setListeners(true);\n this.$nextTick(this.checkView);\n }\n },\n deactivated: function deactivated()\n /* istanbul ignore next */\n {\n this.setListeners(false);\n },\n beforeDestroy: function beforeDestroy() {\n this.setListeners(false);\n },\n methods: {\n setListeners: function setListeners(on) {\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = null;\n }\n\n var root = window;\n\n if (on) {\n (0, _dom.eventOn)(this.$el, 'load', this.checkView);\n (0, _dom.eventOn)(root, 'scroll', this.onScroll, EventOptions);\n (0, _dom.eventOn)(root, 'resize', this.onScroll, EventOptions);\n (0, _dom.eventOn)(root, 'orientationchange', this.onScroll, EventOptions);\n (0, _dom.eventOn)(document, 'transitionend', this.onScroll, EventOptions);\n } else {\n (0, _dom.eventOff)(this.$el, 'load', this.checkView);\n (0, _dom.eventOff)(root, 'scroll', this.onScroll, EventOptions);\n (0, _dom.eventOff)(root, 'resize', this.onScroll, EventOptions);\n (0, _dom.eventOff)(root, 'orientationchange', this.onScroll, EventOptions);\n (0, _dom.eventOff)(document, 'transitionend', this.onScroll, EventOptions);\n }\n },\n checkView: function checkView() {\n // check bounding box + offset to see if we should show\n if (this.isShown) {\n this.setListeners(false);\n return;\n }\n\n var offset = parseInt(this.offset, 10) || 0;\n var docElement = document.documentElement;\n var view = {\n l: 0 - offset,\n t: 0 - offset,\n b: docElement.clientHeight + offset,\n r: docElement.clientWidth + offset\n /* istanbul ignore next */\n\n };\n var box = (0, _dom.getBCR)(this.$el);\n /* istanbul ignore next: can't test getBoundingClientRect in JSDOM */\n\n if (box.right >= view.l && box.bottom >= view.t && box.left <= view.r && box.top <= view.b) {\n // image is in view (or about to be in view)\n this.isShown = true;\n this.setListeners(false);\n }\n },\n onScroll: function onScroll() {\n if (this.isShown) {\n this.setListeners(false);\n } else {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = setTimeout(this.checkView, parseInt(this.throttle, 10) || THROTTLE);\n }\n }\n },\n render: function render(h) {\n return h(_img.default, {\n props: {\n src: this.computedSrc,\n alt: this.alt,\n blank: this.computedBlank,\n blankColor: this.blankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n fluid: this.fluid,\n fluidGrow: this.fluidGrow,\n block: this.block,\n thumbnail: this.thumbnail,\n rounded: this.rounded,\n left: this.left,\n right: this.right,\n center: this.center\n }\n });\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/image/img-lazy.js\n// module id = hdQV\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formGroup = _interopRequireDefault(require(\"./form-group\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormGroup: _formGroup.default,\n BFormFieldset: _formGroup.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-group/index.js\n// module id = hi16\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _config = require(\"../../utils/config\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// --- Constants --\nvar NAME = 'BImg'; // Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + ' ' + ' ';\nvar props = {\n src: {\n type: String,\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n block: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n // Gives fluid images class `w-100` to make them grow to fit container\n type: Boolean,\n default: false\n },\n rounded: {\n // rounded can be:\n // false: no rounding of corners\n // true: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n type: [Boolean, String],\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n blank: {\n type: Boolean,\n default: false\n },\n blankColor: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'blankColor'));\n }\n } // --- Helper methods ---\n\n};\nexports.props = props;\n\nfunction makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', String(width)).replace('%{h}', String(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n} // @vue/component\n\n\nvar _default2 = _vue.default.extend({\n name: 'BImg',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var src = props.src;\n var width = parseInt(props.width, 10) ? parseInt(props.width, 10) : null;\n var height = parseInt(props.height, 10) ? parseInt(props.height, 10) : null;\n var align = null;\n var block = props.block;\n\n if (props.blank) {\n if (!height && Boolean(width)) {\n height = width;\n } else if (!width && Boolean(height)) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent');\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', (0, _vueFunctionalDataMerge.mergeData)(data, {\n attrs: {\n src: src,\n alt: props.alt,\n width: width ? String(width) : null,\n height: height ? String(height) : null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n rounded: props.rounded === '' || props.rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(props.rounded), (0, _inspect.isString)(props.rounded) && props.rounded !== ''), _defineProperty(_class, align, Boolean(align)), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/image/img.js\n// module id = hpTH\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n textTag: {\n type: String,\n default: 'p'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BCardText',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'card-text'\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-text.js\n// module id = i1K4\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_iter-call.js\n// module id = i4hI\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _paginationNav = _interopRequireDefault(require(\"./pagination-nav\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BPaginationNav: _paginationNav.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/pagination-nav/index.js\n// module id = iNir\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../../utils/vue\"));\n\nvar _modal = _interopRequireWildcard(require(\"../modal\"));\n\nvar _config = require(\"../../../utils/config\");\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _object = require(\"../../../utils/object\");\n\nvar _warn = require(\"../../../utils/warn\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\n// --- Constants ---\nvar PROP_NAME = '$bvModal'; // Base modal props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\n\nvar BASE_PROPS = ['id'].concat(_toConsumableArray((0, _object.keys)((0, _object.omit)(_modal.props, ['busy', 'lazy', 'noStacking', 'visible'])))); // Fallback event resolver (returns undefined)\n\nvar defaultResolver = function defaultResolver(bvModalEvt) {}; // Map prop names to modal slot names\n\n\nvar propsToSlots = {\n msgBoxContent: 'default',\n title: 'modal-title',\n okTitle: 'modal-ok',\n cancelTitle: 'modal-cancel' // --- Utility methods ---\n // Method to filter only recognized props that are not undefined\n\n};\n\nvar filterOptions = function filterOptions(options) {\n return BASE_PROPS.reduce(function (memo, key) {\n if (!(0, _inspect.isUndefined)(options[key])) {\n memo[key] = options[key];\n }\n\n return memo;\n }, {});\n}; // Create a private sub-component that extends BModal\n// which self-destructs after hidden\n// @vue/component\n\n\nvar MsgBox = _vue.default.extend({\n name: 'BMsgBox',\n extends: _modal.default,\n destroyed: function destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el);\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Self destruct handler\n var handleDestroy = function handleDestroy() {\n var self = _this;\n\n _this.$nextTick(function () {\n // In a `setTimeout()` to release control back to application\n setTimeout(function () {\n return self.$destroy();\n }, 0);\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once('hook:destroyed', handleDestroy); // Self destruct after hidden\n\n this.$once('hidden', handleDestroy); // Self destruct on route change\n\n /* istanbul ignore if */\n\n if (this.$router && this.$route) {\n var unwatch = this.$watch('$router', handleDestroy);\n this.$once('hook:beforeDestroy', unwatch);\n } // Should we also self destruct on parent deactivation?\n // Show the `MsgBox`\n\n\n this.show();\n }\n}); // Method to generate the on-demand modal message box\n// Returns a promise that resolves to a value returned by the resolve\n\n\nvar asyncMsgBox = function asyncMsgBox(props, $parent) {\n var resolver = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultResolver;\n\n if ((0, _warn.warnNotClient)(PROP_NAME) || (0, _warn.warnNoPromiseSupport)(PROP_NAME)) {\n // Should this throw an error?\n\n /* istanbul ignore next */\n return;\n } // Create an instance of `MsgBox` component\n\n\n var msgBox = new MsgBox({\n // We set parent as the local VM so these modals can emit events on\n // the app `$root`, as needed by things like tooltips and popovers\n // And it helps to ensure `MsgBox` is destroyed when parent is destroyed\n parent: $parent,\n // Preset the prop values\n propsData: _objectSpread({}, filterOptions((0, _config.getComponentConfig)('BModal') || {}), {\n // Defaults that user can override\n hideHeaderClose: true,\n hideHeader: !(props.title || props.titleHtml)\n }, (0, _object.omit)(props, ['msgBoxContent']), {\n // Props that can't be overridden\n lazy: false,\n busy: false,\n visible: false,\n noStacking: false,\n noEnforceFocus: false\n })\n }); // Convert certain props to scoped slots\n\n (0, _object.keys)(propsToSlots).forEach(function (prop) {\n if (!(0, _inspect.isUndefined)(props[prop])) {\n // Can be a string, or array of VNodes.\n // Alternatively, user can use HTML version of prop to pass an HTML string.\n msgBox.$slots[propsToSlots[prop]] = props[prop];\n }\n }); // Create a mount point (a DIV)\n\n var div = document.createElement('div');\n document.body.appendChild(div); // Return a promise that resolves when hidden, or rejects on destroyed\n\n return new Promise(function (resolve, reject) {\n var resolved = false;\n msgBox.$once('hook:destroyed', function () {\n if (!resolved) {\n /* istanbul ignore next */\n reject(new Error('BootstrapVue MsgBox destroyed before resolve'));\n }\n });\n msgBox.$on('hide', function (bvModalEvt) {\n if (!bvModalEvt.defaultPrevented) {\n var result = resolver(bvModalEvt); // If resolver didn't cancel hide, we resolve\n\n if (!bvModalEvt.defaultPrevented) {\n resolved = true;\n resolve(result);\n }\n }\n }); // Mount the `MsgBox`, which will auto-trigger it to show\n\n msgBox.$mount(div);\n });\n}; // BvModal instance property class\n\n\nvar BvModal =\n/*#__PURE__*/\nfunction () {\n function BvModal(vm) {\n _classCallCheck(this, BvModal);\n\n // Assign the new properties to this instance\n (0, _object.assign)(this, {\n _vm: vm,\n _root: vm.$root\n }); // Set these properties as read-only and non-enumerable\n\n (0, _object.defineProperties)(this, {\n _vm: (0, _object.readonlyDescriptor)(),\n _root: (0, _object.readonlyDescriptor)()\n });\n } // --- Instance methods ---\n // Show modal with the specified ID args are for future use\n\n\n _createClass(BvModal, [{\n key: \"show\",\n value: function show(id) {\n if (id && this._root) {\n var _this$_root;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_this$_root = this._root).$emit.apply(_this$_root, ['bv::show::modal', id].concat(args));\n }\n } // Hide modal with the specified ID args are for future use\n\n }, {\n key: \"hide\",\n value: function hide(id) {\n if (id && this._root) {\n var _this$_root2;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (_this$_root2 = this._root).$emit.apply(_this$_root2, ['bv::hide::modal', id].concat(args));\n }\n } // TODO: Could make Promise versions of above that first checks\n // if modal is in document (by ID) and if not found reject\n // the Promise. Otherwise waits for hide/hidden event and\n // then resolves returning the `BvModalEvent` object\n // (which contains the details)\n // The following methods require Promise support!\n // IE 11 and others do not support Promise natively, so users\n // should have a Polyfill loaded (which they need anyways for IE 11 support)\n // Opens a user defined message box and returns a promise\n\n }, {\n key: \"msgBox\",\n value: function msgBox(content) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var resolver = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!content || (0, _warn.warnNoPromiseSupport)(PROP_NAME) || (0, _warn.warnNotClient)(PROP_NAME) || !(0, _inspect.isFunction)(resolver)) {\n // Should this throw an error?\n\n /* istanbul ignore next */\n return;\n }\n\n var props = _objectSpread({}, filterOptions(options), {\n msgBoxContent: content\n });\n\n return asyncMsgBox(props, this._vm, resolver);\n } // Open a message box with OK button only and returns a promise\n\n }, {\n key: \"msgBoxOk\",\n value: function msgBoxOk(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Pick the modal props we support from options\n var props = _objectSpread({}, options, {\n // Add in overrides and our content prop\n okOnly: true,\n okDisabled: false,\n hideFooter: false,\n msgBoxContent: message\n });\n\n return this.msgBox(message, props, function (bvModalEvt) {\n // Always resolve to true for OK\n return true;\n });\n } // Open a message box modal with OK and CANCEL buttons\n // and returns a promise\n\n }, {\n key: \"msgBoxConfirm\",\n value: function msgBoxConfirm(message) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Set the modal props we support from options\n var props = _objectSpread({}, options, {\n // Add in overrides and our content prop\n okOnly: false,\n okDisabled: false,\n cancelDisabled: false,\n hideFooter: false\n });\n\n return this.msgBox(message, props, function (bvModalEvt) {\n var trigger = bvModalEvt.trigger;\n return trigger === 'ok' ? true : trigger === 'cancel' ? false : null;\n });\n }\n }]);\n\n return BvModal;\n}(); // Method to install `$bvModal` VM injection\n\n\nvar install = function install(_Vue) {\n if (install._installed) {\n // Only install once\n\n /* istanbul ignore next */\n return;\n }\n\n install._installed = true; // Add our instance mixin\n\n _Vue.mixin({\n beforeCreate: function beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvModal` for each VM\n this._bv__modal = new BvModal(this);\n }\n }); // Define our read-only `$bvModal` instance property\n // Placed in an if just in case in HMR mode\n\n\n if (!_Vue.prototype.hasOwnProperty(PROP_NAME)) {\n (0, _object.defineProperty)(_Vue.prototype, PROP_NAME, {\n get: function get() {\n return this._bv__modal;\n }\n });\n }\n};\n\nvar _default = install;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/modal/helpers/bv-modal.js\n// module id = iNk9\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _identity = _interopRequireDefault(require(\"./identity\"));\n\nvar _inspect = require(\"./inspect\");\n\nvar _object = require(\"./object\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Given an array of properties or an object of property keys,\n * plucks all the values off the target object, returning a new object\n * that has props that reference the original prop values\n *\n * @param {{}|string[]} keysToPluck\n * @param {{}} objToPluck\n * @param {Function} transformFn\n * @return {{}}\n */\nvar pluckProps = function pluckProps(keysToPluck, objToPluck) {\n var transformFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _identity.default;\n return ((0, _inspect.isArray)(keysToPluck) ? keysToPluck.slice() : (0, _object.keys)(keysToPluck)).reduce(function (memo, prop) {\n memo[transformFn(prop)] = objToPluck[prop];\n return memo;\n }, {});\n};\n\nvar _default = pluckProps;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/pluck-props.js\n// module id = il3A\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _popover = _interopRequireDefault(require(\"./popover\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar directives = {\n BPopover: _popover.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/popover/index.js\n// module id = inTl\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _default = {\n methods: {\n renderBottomRow: function renderBottomRow() {\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in always stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot('bottom-row') || this.isStacked === true) {\n return h(false);\n }\n\n var fields = this.computedFields;\n return h('tr', {\n key: '__b-table-bottom-row__',\n staticClass: 'b-table-bottom-row',\n class: [(0, _inspect.isFunction)(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-bottom') : this.tbodyTrClass],\n attrs: {\n role: 'row'\n }\n }, this.normalizeSlot('bottom-row', {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-bottom-row.js\n// module id = j35Z\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/es6.array.is-array.js\n// module id = j3RY\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_is-array-iter.js\n// module id = k6pp\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-assign.js\n// module id = kjKX\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_fails.js\n// module id = lBu0\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _form = _interopRequireDefault(require(\"../../mixins/form\"));\n\nvar _formOptions = _interopRequireDefault(require(\"../../mixins/form-options\"));\n\nvar _formRadioCheckGroup = _interopRequireDefault(require(\"../../mixins/form-radio-check-group\"));\n\nvar _formSize = _interopRequireDefault(require(\"../../mixins/form-size\"));\n\nvar _formState = _interopRequireDefault(require(\"../../mixins/form-state\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n checked: {\n type: [String, Object, Number, Boolean],\n default: null\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BFormRadioGroup',\n mixins: [_id.default, _form.default, _formRadioCheckGroup.default, // Includes render function\n _formOptions.default, _formSize.default, _formState.default],\n provide: function provide() {\n return {\n bvRadioGroup: this\n };\n },\n props: props,\n data: function data() {\n return {\n localChecked: this.checked\n };\n },\n computed: {\n is_RadioGroup: function is_RadioGroup() {\n return true;\n }\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-radio/form-radio-group.js\n// module id = lYmS\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/**\n * @param {string} str\n */\nvar lowerFirst = function lowerFirst(str) {\n str = String(str);\n return str.charAt(0).toLowerCase() + str.slice(1);\n};\n\nvar _default = lowerFirst;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/lower-first.js\n// module id = ld9E\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _keyCodes = _interopRequireDefault(require(\"../../utils/key-codes\"));\n\nvar _noop = _interopRequireDefault(require(\"../../utils/noop\"));\n\nvar _observeDom = _interopRequireDefault(require(\"../../utils/observe-dom\"));\n\nvar _config = require(\"../../utils/config\");\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _env = require(\"../../utils/env\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar NAME = 'BCarousel'; // Slide directional classes\n\nvar DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n } // Fallback Transition duration (with a little buffer) in ms\n\n};\nvar TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch\n\nvar TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe\n\nvar SWIPE_THRESHOLD = 40; // PointerEvent pointer types\n\nvar PointerType = {\n TOUCH: 'touch',\n PEN: 'pen' // Transition Event names\n\n};\nvar TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n};\nvar EventOptions = {\n passive: true,\n capture: false // Return the browser specific transitionEnd event name\n\n};\n\nfunction getTransitionEndEvent(el) {\n for (var name in TransitionEndEvents) {\n if (!(0, _inspect.isUndefined)(el.style[name])) {\n return TransitionEndEvents[name];\n }\n } // fallback\n\n /* istanbul ignore next */\n\n\n return null;\n} // @vue/component\n\n\nvar _default2 = _vue.default.extend({\n name: 'BCarousel',\n mixins: [_id.default],\n provide: function provide() {\n return {\n bvCarousel: this\n };\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n labelPrev: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'labelPrev'));\n }\n },\n labelNext: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'labelNext'));\n }\n },\n labelGotoSlide: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'labelGotoSlide'));\n }\n },\n labelIndicators: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'labelIndicators'));\n }\n },\n interval: {\n type: Number,\n default: 5000\n },\n indicators: {\n type: Boolean,\n default: false\n },\n controls: {\n type: Boolean,\n default: false\n },\n noAnimation: {\n // Disable slide/fade animation\n type: Boolean,\n default: false\n },\n fade: {\n // Enable cross-fade animation instead of slide animation\n type: Boolean,\n default: false\n },\n noTouch: {\n // Sniffed by carousel-slide\n type: Boolean,\n default: false\n },\n noHoverPause: {\n // Disable pause on hover\n type: Boolean,\n default: false\n },\n imgWidth: {\n // Sniffed by carousel-slide\n type: [Number, String] // default: undefined\n\n },\n imgHeight: {\n // Sniffed by carousel-slide\n type: [Number, String] // default: undefined\n\n },\n background: {\n type: String // default: undefined\n\n },\n value: {\n type: Number,\n default: 0\n }\n },\n data: function data() {\n return {\n index: this.value || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(parseInt(this.interval, 10) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n };\n },\n watch: {\n value: function value(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.setSlide(newVal);\n }\n },\n interval: function interval(newVal, oldVal) {\n if (newVal === oldVal) {\n /* istanbul ignore next */\n return;\n }\n\n if (!newVal) {\n // Pausing slide show\n this.pause(false);\n } else {\n // Restarting or Changing interval\n this.pause(true);\n this.start(false);\n }\n },\n isPaused: function isPaused(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit(newVal ? 'paused' : 'unpaused');\n }\n },\n index: function index(to, from) {\n if (to === from || this.isSliding) {\n /* istanbul ignore next */\n return;\n }\n\n this.doSlide(to, from);\n }\n },\n created: function created() {\n // Create private non-reactive props\n this._intervalId = null;\n this._animationTimeout = null;\n this._touchTimeout = null; // Set initial paused state\n\n this.isPaused = !(parseInt(this.interval, 10) > 0);\n },\n mounted: function mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides\n\n this.updateSlides(); // Observe child changes so we can update slide list\n\n (0, _observeDom.default)(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n });\n },\n beforeDestroy: function beforeDestroy() {\n clearTimeout(this._animationTimeout);\n clearTimeout(this._touchTimeout);\n clearInterval(this._intervalId);\n this._intervalId = null;\n this._animationTimeout = null;\n this._touchTimeout = null;\n },\n methods: {\n // Set slide\n setSlide: function setSlide(slide) {\n var _this = this;\n\n var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n // Don't animate when page is not visible\n\n /* istanbul ignore if: difficult to test */\n if (_env.isBrowser && document.visibilityState && document.hidden) {\n return;\n }\n\n var len = this.slides.length; // Don't do anything if nothing to slide to\n\n if (len === 0) {\n return;\n } // Don't change slide while transitioning, wait until transition is done\n\n\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once('sliding-end', function () {\n return _this.setSlide(slide, direction);\n });\n return;\n }\n\n this.direction = direction; // Make sure we have an integer (you never know!)\n\n slide = Math.floor(slide); // Set new slide index. Wrap around if necessary\n\n this.index = slide >= len ? 0 : slide >= 0 ? slide : len - 1;\n },\n // Previous slide\n prev: function prev() {\n this.setSlide(this.index - 1, 'prev');\n },\n // Next slide\n next: function next() {\n this.setSlide(this.index + 1, 'next');\n },\n // Pause auto rotation\n pause: function pause(evt) {\n if (!evt) {\n this.isPaused = true;\n }\n\n if (this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = null;\n }\n },\n // Start auto rotate slides\n start: function start(evt) {\n if (!evt) {\n this.isPaused = false;\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n\n\n if (this._intervalId) {\n clearInterval(this._intervalId);\n this._intervalId = null;\n } // Don't start if no interval, or less than 2 slides\n\n\n if (this.interval && this.slides.length > 1) {\n this._intervalId = setInterval(this.next, Math.max(1000, this.interval));\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n restart: function restart(evt)\n /* istanbul ignore next: difficult to test */\n {\n if (!this.$el.contains(document.activeElement)) {\n this.start();\n }\n },\n doSlide: function doSlide(to, from) {\n var _this2 = this;\n\n var isCycling = Boolean(this.interval); // Determine sliding direction\n\n var direction = this.calcDirection(this.direction, from, to);\n var overlayClass = direction.overlayClass;\n var dirClass = direction.dirClass; // Determine current and next slides\n\n var currentSlide = this.slides[from];\n var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to\n\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return;\n } // Start animating\n\n\n this.isSliding = true;\n\n if (isCycling) {\n this.pause(false);\n }\n\n this.$emit('sliding-start', to); // Update v-model\n\n this.$emit('input', this.index);\n\n if (this.noAnimation) {\n (0, _dom.addClass)(nextSlide, 'active');\n (0, _dom.removeClass)(currentSlide, 'active');\n this.isSliding = false; // Notify ourselves that we're done sliding (slid)\n\n this.$nextTick(function () {\n return _this2.$emit('sliding-end', to);\n });\n } else {\n (0, _dom.addClass)(nextSlide, overlayClass); // Trigger a reflow of next slide\n\n (0, _dom.reflow)(nextSlide);\n (0, _dom.addClass)(currentSlide, dirClass);\n (0, _dom.addClass)(nextSlide, dirClass); // Transition End handler\n\n var called = false;\n /* istanbul ignore next: difficult to test */\n\n var onceTransEnd = function onceTransEnd(evt) {\n if (called) {\n return;\n }\n\n called = true;\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n if (_this2.transitionEndEvent) {\n var events = _this2.transitionEndEvent.split(/\\s+/);\n\n events.forEach(function (evt) {\n return (0, _dom.eventOff)(currentSlide, evt, onceTransEnd, EventOptions);\n });\n }\n\n _this2._animationTimeout = null;\n (0, _dom.removeClass)(nextSlide, dirClass);\n (0, _dom.removeClass)(nextSlide, overlayClass);\n (0, _dom.addClass)(nextSlide, 'active');\n (0, _dom.removeClass)(currentSlide, 'active');\n (0, _dom.removeClass)(currentSlide, dirClass);\n (0, _dom.removeClass)(currentSlide, overlayClass);\n (0, _dom.setAttr)(currentSlide, 'aria-current', 'false');\n (0, _dom.setAttr)(nextSlide, 'aria-current', 'true');\n (0, _dom.setAttr)(currentSlide, 'aria-hidden', 'true');\n (0, _dom.setAttr)(nextSlide, 'aria-hidden', 'false');\n _this2.isSliding = false;\n _this2.direction = null; // Notify ourselves that we're done sliding (slid)\n\n _this2.$nextTick(function () {\n return _this2.$emit('sliding-end', to);\n });\n }; // Set up transitionend handler\n\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n\n\n if (this.transitionEndEvent) {\n var events = this.transitionEndEvent.split(/\\s+/);\n events.forEach(function (event) {\n return (0, _dom.eventOn)(currentSlide, event, onceTransEnd, EventOptions);\n });\n } // Fallback to setTimeout()\n\n\n this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION);\n }\n\n if (isCycling) {\n this.start(false);\n }\n },\n // Update slide list\n updateSlides: function updateSlides() {\n this.pause(true); // Get all slides as DOM elements\n\n this.slides = (0, _dom.selectAll)('.carousel-item', this.$refs.inner);\n var numSlides = this.slides.length; // Keep slide number in range\n\n var index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1));\n this.slides.forEach(function (slide, idx) {\n var n = idx + 1;\n\n if (idx === index) {\n (0, _dom.addClass)(slide, 'active');\n (0, _dom.setAttr)(slide, 'aria-current', 'true');\n } else {\n (0, _dom.removeClass)(slide, 'active');\n (0, _dom.setAttr)(slide, 'aria-current', 'false');\n }\n\n (0, _dom.setAttr)(slide, 'aria-posinset', String(n));\n (0, _dom.setAttr)(slide, 'aria-setsize', String(numSlides));\n }); // Set slide as active\n\n this.setSlide(index);\n this.start(this.isPaused);\n },\n calcDirection: function calcDirection() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev;\n }\n\n return DIRECTION[direction];\n },\n handleClick: function handleClick(evt, fn) {\n var keyCode = evt.keyCode;\n\n if (evt.type === 'click' || keyCode === _keyCodes.default.SPACE || keyCode === _keyCodes.default.ENTER) {\n evt.preventDefault();\n evt.stopPropagation();\n fn();\n }\n },\n handleSwipe: function handleSwipe()\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n var absDeltaX = Math.abs(this.touchDeltaX);\n\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return;\n }\n\n var direction = absDeltaX / this.touchDeltaX;\n\n if (direction > 0) {\n // Swipe left\n this.prev();\n } else if (direction < 0) {\n // Swipe right\n this.next();\n }\n },\n touchStart: function touchStart(evt)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n if (_env.hasPointerEventSupport && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchStartX = evt.clientX;\n } else if (!_env.hasPointerEventSupport) {\n this.touchStartX = evt.touches[0].clientX;\n }\n },\n touchMove: function touchMove(evt)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n // Ensure swiping with one touch and not pinching\n if (evt.touches && evt.touches.length > 1) {\n this.touchDeltaX = 0;\n } else {\n this.touchDeltaX = evt.touches[0].clientX - this.touchStartX;\n }\n },\n touchEnd: function touchEnd(evt)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n {\n if (_env.hasPointerEventSupport && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchDeltaX = evt.clientX - this.touchStartX;\n }\n\n this.handleSwipe(); // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause(false);\n\n if (this._touchTimeout) {\n clearTimeout(this._touchTimeout);\n }\n\n this._touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + Math.max(1000, this.interval));\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n // Wrapper for slides\n var inner = h('div', {\n ref: 'inner',\n class: ['carousel-inner'],\n attrs: {\n id: this.safeId('__BV_inner_'),\n role: 'list'\n }\n }, [this.$slots.default]); // Prev and next controls\n\n var controls = h(false);\n\n if (this.controls) {\n controls = [h('a', {\n class: ['carousel-control-prev'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_')\n },\n on: {\n click: function click(evt) {\n _this3.handleClick(evt, _this3.prev);\n },\n keydown: function keydown(evt) {\n _this3.handleClick(evt, _this3.prev);\n }\n }\n }, [h('span', {\n class: ['carousel-control-prev-icon'],\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: ['sr-only']\n }, [this.labelPrev])]), h('a', {\n class: ['carousel-control-next'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_')\n },\n on: {\n click: function click(evt) {\n _this3.handleClick(evt, _this3.next);\n },\n keydown: function keydown(evt) {\n _this3.handleClick(evt, _this3.next);\n }\n }\n }, [h('span', {\n class: ['carousel-control-next-icon'],\n attrs: {\n 'aria-hidden': 'true'\n }\n }), h('span', {\n class: ['sr-only']\n }, [this.labelNext])])];\n } // Indicators\n\n\n var indicators = h('ol', {\n class: ['carousel-indicators'],\n directives: [{\n name: 'show',\n rawName: 'v-show',\n value: this.indicators,\n expression: 'indicators'\n }],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': this.indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': this.safeId('__BV_inner_')\n }\n }, this.slides.map(function (slide, n) {\n return h('li', {\n key: \"slide_\".concat(n),\n class: {\n active: n === _this3.index\n },\n attrs: {\n role: 'button',\n id: _this3.safeId(\"__BV_indicator_\".concat(n + 1, \"_\")),\n tabindex: _this3.indicators ? '0' : '-1',\n 'aria-current': n === _this3.index ? 'true' : 'false',\n 'aria-label': \"\".concat(_this3.labelGotoSlide, \" \").concat(n + 1),\n 'aria-describedby': _this3.slides[n].id || null,\n 'aria-controls': _this3.safeId('__BV_inner_')\n },\n on: {\n click: function click(evt) {\n _this3.handleClick(evt, function () {\n _this3.setSlide(n);\n });\n },\n keydown: function keydown(evt) {\n _this3.handleClick(evt, function () {\n _this3.setSlide(n);\n });\n }\n }\n });\n }));\n var on = {\n mouseenter: this.noHoverPause ? _noop.default : this.pause,\n mouseleave: this.noHoverPause ? _noop.default : this.restart,\n focusin: this.pause,\n focusout: this.restart,\n keydown: function keydown(evt) {\n if (/input|textarea/i.test(evt.target.tagName)) {\n /* istanbul ignore next */\n return;\n }\n\n var keyCode = evt.keyCode;\n\n if (keyCode === _keyCodes.default.LEFT || keyCode === _keyCodes.default.RIGHT) {\n evt.preventDefault();\n evt.stopPropagation();\n\n _this3[keyCode === _keyCodes.default.LEFT ? 'prev' : 'next']();\n }\n } // Touch support event handlers for environment\n\n };\n\n if (!this.noTouch && _env.hasTouchSupport) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (_env.hasPointerEventSupport) {\n on['&pointerdown'] = this.touchStart;\n on['&pointerup'] = this.touchEnd;\n } else {\n on['&touchstart'] = this.touchStart;\n on['&touchmove'] = this.touchMove;\n on['&touchend'] = this.touchEnd;\n }\n } // Return the carousel\n\n\n return h('div', {\n staticClass: 'carousel',\n class: {\n slide: !this.noAnimation,\n 'carousel-fade': !this.noAnimation && this.fade,\n 'pointer-event': !this.noTouch && _env.hasTouchSupport && _env.hasPointerEventSupport\n },\n style: {\n background: this.background\n },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': this.isSliding ? 'true' : 'false'\n },\n on: on\n }, [inner, controls, indicators]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/carousel/carousel.js\n// module id = m9fp\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getBreakpointsDownCached = exports.getBreakpointsUpCached = exports.getBreakpointsCached = exports.getBreakpointsDown = exports.getBreakpointsUp = exports.getBreakpoints = exports.getComponentConfig = exports.getConfigValue = exports.getDefaults = exports.getConfig = exports.resetConfig = exports.setConfig = void 0;\n\nvar _cloneDeep = _interopRequireDefault(require(\"./clone-deep\"));\n\nvar _get = _interopRequireDefault(require(\"./get\"));\n\nvar _memoize = _interopRequireDefault(require(\"./memoize\"));\n\nvar _warn = _interopRequireDefault(require(\"./warn\"));\n\nvar _inspect = require(\"./inspect\");\n\nvar _object = require(\"./object\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// General BootstrapVue configuration\n//\n// BREAKPOINT DEFINITIONS\n//\n// Some components (BCol and BFormGroup) generate props based on breakpoints, and this\n// occurs when the component is first loaded (evaluated), which may happen before the\n// config is created/modified\n//\n// To get around this we make these components async (lazy evaluation)\n// The component definition is only called/executed when the first access to the\n// component is used (and cached on subsequent uses)\n//\n// See: https://vuejs.org/v2/guide/components-dynamic-async.html#Async-Components\n//\n// PROP DEFAULTS\n//\n// For default values on props, we use the default value factory function approach so\n// so that the default values are pulled in at each component instantiation\n//\n// props: {\n// variant: {\n// type: String,\n// default: () => getConfigComponent('BAlert', 'variant')\n// }\n// }\n// prettier-ignore\nvar DEFAULTS = {\n // Breakpoints\n breakpoints: ['xs', 'sm', 'md', 'lg', 'xl'],\n // Component Specific defaults are keyed by the component\n // name (PascalCase) and prop name (camelCase)\n BAlert: {\n dismissLabel: 'Close',\n variant: 'info'\n },\n BBadge: {\n variant: 'secondary'\n },\n BButton: {\n variant: 'secondary'\n },\n BButtonClose: {\n // `textVariant` is `null` to inherit the current text color\n textVariant: null,\n ariaLabel: 'Close'\n },\n BCardSubTitle: {\n // BCard and BCardBody also inherit this prop\n subTitleTextVariant: 'muted'\n },\n BCarousel: {\n labelPrev: 'Previous Slide',\n labelNext: 'Next Slide',\n labelGotoSlide: 'Goto Slide',\n labelIndicators: 'Select a slide to display'\n },\n BDropdown: {\n toggleText: 'Toggle Dropdown',\n variant: 'secondary'\n },\n BFormFile: {\n browseText: 'Browse',\n // Chrome default file prompt\n placeholder: 'No file chosen',\n dropPlaceholder: 'Drop files here'\n },\n BFormText: {\n textVariant: 'muted'\n },\n BImg: {\n blankColor: 'transparent'\n },\n BImgLazy: {\n blankColor: 'transparent'\n },\n BModal: {\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n okTitle: 'OK',\n okVariant: 'primary',\n headerCloseLabel: 'Close'\n },\n BNavbarToggle: {\n label: 'Toggle navigation'\n },\n BToast: {\n toaster: 'b-toaster-top-right'\n } // This contains user defined configuration\n\n};\nvar CONFIG = {}; // Method to get a deep clone (immutable) copy of the defaults\n\nvar getDefaults = function getDefaults() {\n return (0, _cloneDeep.default)(DEFAULTS);\n}; // Method to set the config\n// Merges in only known top-level and sub-level keys\n// Vue.use(BootstrapVue, config)\n// or\n// BootstrapVue.setConfig(config)\n// Vue.use(BootstrapVue)\n\n\nexports.getDefaults = getDefaults;\n\nvar setConfig = function setConfig() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!(0, _inspect.isObject)(config)) {\n /* istanbul ignore next */\n return;\n }\n\n (0, _object.keys)(config).filter(function (cmpName) {\n return config.hasOwnProperty(cmpName);\n }).forEach(function (cmpName) {\n if (!DEFAULTS.hasOwnProperty(cmpName)) {\n /* istanbul ignore next */\n (0, _warn.default)(\"config: unknown config property \\\"\".concat(cmpName, \"\\\"\"));\n /* istanbul ignore next */\n\n return;\n }\n\n var cmpConfig = config[cmpName];\n\n if (cmpName === 'breakpoints') {\n // Special case for breakpoints\n var breakpoints = config.breakpoints;\n\n if (!(0, _inspect.isArray)(breakpoints) || breakpoints.length < 2 || breakpoints.some(function (b) {\n return !(0, _inspect.isString)(b) || b.length === 0;\n })) {\n /* istanbul ignore next */\n (0, _warn.default)('config: \"breakpoints\" must be an array of at least 2 breakpoint names');\n } else {\n CONFIG.breakpoints = (0, _cloneDeep.default)(breakpoints);\n }\n } else if ((0, _inspect.isObject)(cmpConfig)) {\n (0, _object.keys)(cmpConfig).filter(function (key) {\n return cmpConfig.hasOwnProperty(key);\n }).forEach(function (key) {\n if (!DEFAULTS[cmpName].hasOwnProperty(key)) {\n /* istanbul ignore next */\n (0, _warn.default)(\"config: unknown config property \\\"\".concat(cmpName, \".{$key}\\\"\"));\n } else {\n // If we pre-populate the config with defaults, we can skip this line\n CONFIG[cmpName] = CONFIG[cmpName] || {};\n\n if (!(0, _inspect.isUndefined)(cmpConfig[key])) {\n CONFIG[cmpName][key] = (0, _cloneDeep.default)(cmpConfig[key]);\n }\n }\n });\n }\n });\n}; // Reset the user config to default\n// For testing purposes only\n\n\nexports.setConfig = setConfig;\n\nvar resetConfig = function resetConfig() {\n CONFIG = {};\n}; // Get the current user config\n// For testing purposes only\n\n\nexports.resetConfig = resetConfig;\n\nvar getConfig = function getConfig() {\n return (0, _cloneDeep.default)(CONFIG);\n}; // Method to grab a config value based on a dotted/array notation key\n// Returns a deep clone (immutable) copy\n\n\nexports.getConfig = getConfig;\n\nvar getConfigValue = function getConfigValue(key) {\n // First we try the user config, and if key not found we fall back to default value\n // NOTE: If we deep clone DEFAULTS into config, then we can skip the fallback for get\n return (0, _cloneDeep.default)((0, _get.default)(CONFIG, key, (0, _get.default)(getDefaults(), key)));\n}; // Method to grab a config value for a particular component.\n// Returns a deep clone (immutable) copy\n\n\nexports.getConfigValue = getConfigValue;\n\nvar getComponentConfig = function getComponentConfig(cmpName) {\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n // Return the particular config value for key for if specified,\n // otherwise we return the full config\n return key ? getConfigValue(\"\".concat(cmpName, \".\").concat(key)) : getConfigValue(cmpName) || {};\n}; // Convenience method for getting all breakpoint names\n\n\nexports.getComponentConfig = getComponentConfig;\n\nvar getBreakpoints = function getBreakpoints() {\n return getConfigValue('breakpoints');\n}; // Convenience method for getting all breakpoint names\n// Caches the results after first access\n\n\nexports.getBreakpoints = getBreakpoints;\nvar getBreakpointsCached = (0, _memoize.default)(function () {\n return getConfigValue('breakpoints');\n}); // Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n\nexports.getBreakpointsCached = getBreakpointsCached;\n\nvar getBreakpointsUp = function getBreakpointsUp() {\n var breakpoints = getBreakpoints();\n breakpoints[0] = '';\n return breakpoints;\n}; // Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n// Caches the results after first access\n\n\nexports.getBreakpointsUp = getBreakpointsUp;\nvar getBreakpointsUpCached = (0, _memoize.default)(function () {\n var breakpoints = getBreakpointsCached().slice();\n breakpoints[0] = '';\n return breakpoints;\n}); // Convenience method for getting breakpoints with\n// the largest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n\nexports.getBreakpointsUpCached = getBreakpointsUpCached;\n\nvar getBreakpointsDown = function getBreakpointsDown() {\n var breakpoints = getBreakpoints();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n}; // Convenience method for getting breakpoints with\n// the largest breakpoint set as ''\n// Useful for components that create breakpoint specific props\n// Caches the results after first access\n\n/* istanbul ignore next: we don't use this method anywhere, yet */\n\n\nexports.getBreakpointsDown = getBreakpointsDown;\nvar getBreakpointsDownCached = (0, _memoize.default)(function () {\n var breakpoints = getBreakpointsCached().slice();\n breakpoints[breakpoints.length - 1] = '';\n return breakpoints;\n}); // Named Exports\n\nexports.getBreakpointsDownCached = getBreakpointsDownCached;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/config.js\n// module id = mGKc\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = mW6W\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _popper = _interopRequireDefault(require(\"popper.js\"));\n\nvar _tooltip = _interopRequireDefault(require(\"../../utils/tooltip.class\"));\n\nvar _warn = _interopRequireDefault(require(\"../../utils/warn\"));\n\nvar _env = require(\"../../utils/env\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _object = require(\"../../utils/object\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Key which we use to store tooltip object on element\nvar BV_TOOLTIP = '__BV_ToolTip__'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true // Build a ToolTip config based on bindings (if any)\n // Arguments and modifiers take precedence over passed value config object\n\n /* istanbul ignore next: not easy to test */\n\n};\n\nvar parseBindings = function parseBindings(bindings)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a blank config\n var config = {}; // Process bindings.value\n\n if ((0, _inspect.isString)(bindings.value)) {\n // Value is tooltip content (html optionally supported)\n config.title = bindings.value;\n } else if ((0, _inspect.isFunction)(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if ((0, _inspect.isObject)(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread({}, config, bindings.value);\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n (0, _object.keys)(bindings.modifiers).forEach(function (mod) {\n if (/^html$/.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (/^nofade$/.test(mod)) {\n // No animation\n config.animation = false;\n } else if (/^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (/^(window|viewport)$/.test(mod)) {\n // Boundary of tooltip\n config.boundary = mod;\n } else if (/^d\\d+$/.test(mod)) {\n // Delay value\n var delay = parseInt(mod.slice(1), 10) || 0;\n\n if (delay) {\n config.delay = delay;\n }\n } else if (/^o-?\\d+$/.test(mod)) {\n // Offset value, negative allowed\n var offset = parseInt(mod.slice(1), 10) || 0;\n\n if (offset) {\n config.offset = offset;\n }\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n var triggers = (0, _inspect.isString)(config.trigger) ? config.trigger.trim().split(/\\s+/) : [];\n triggers.forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n (0, _object.keys)(validTriggers).forEach(function (trigger) {\n if (bindings.modifiers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = (0, _object.keys)(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Remove trigger config\n delete config.trigger;\n }\n\n return config;\n}; // Add or update ToolTip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!_env.isBrowser) {\n /* istanbul ignore next */\n return;\n }\n\n if (!_popper.default) {\n // Popper is required for ToolTips to work\n\n /* istanbul ignore next */\n (0, _warn.default)('v-b-tooltip: Popper.js is required for ToolTips to work');\n /* istanbul ignore next */\n\n return;\n }\n\n var config = parseBindings(bindings);\n\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].updateConfig(config);\n } else {\n el[BV_TOOLTIP] = new _tooltip.default(el, config, vnode.context.$root);\n }\n}; // Remove ToolTip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].destroy();\n el[BV_TOOLTIP] = null;\n delete el[BV_TOOLTIP];\n }\n};\n/*\n * Export our directive\n */\n\n\nvar _default = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n inserted: function inserted(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n update: function update(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyTooltip(el, bindings, vnode);\n }\n },\n componentUpdated: function componentUpdated(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyTooltip(el, bindings, vnode);\n }\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/tooltip/tooltip.js\n// module id = molP\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formCheckbox = _interopRequireDefault(require(\"./form-checkbox\"));\n\nvar _formCheckboxGroup = _interopRequireDefault(require(\"./form-checkbox-group\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormCheckbox: _formCheckbox.default,\n BCheckbox: _formCheckbox.default,\n BCheck: _formCheckbox.default,\n BFormCheckboxGroup: _formCheckboxGroup.default,\n BCheckboxGroup: _formCheckboxGroup.default,\n BCheckGroup: _formCheckboxGroup.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-checkbox/index.js\n// module id = mpc6\n// module chunks = 0","module.exports = require('./lib/axios');\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/index.js\n// module id = mtWM\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _modal = _interopRequireDefault(require(\"./modal\"));\n\nvar _bvModal = _interopRequireDefault(require(\"./helpers/bv-modal\"));\n\nvar _modal2 = _interopRequireDefault(require(\"../../directives/modal/modal\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BModal: _modal.default\n};\nvar directives = {\n BModal: _modal2.default\n};\n\nvar _install = (0, _plugins.installFactory)({\n components: components,\n directives: directives\n});\n\nvar _default = {\n install: function install(Vue) {\n // Inject `$bvModal` into Vue prototype\n (0, _bvModal.default)(Vue); // Install component and directive\n\n _install(Vue);\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/modal/index.js\n// module id = mxOy\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_is-object.js\n// module id = n3H3\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nvar _array = require(\"../../utils/array\");\n\nvar _link = _interopRequireWildcard(require(\"../link/link\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar actionTags = ['a', 'router-link', 'button', 'b-link'];\nvar linkProps = (0, _link.propsFactory)();\ndelete linkProps.href.default;\ndelete linkProps.to.default;\n\nvar props = _objectSpread({\n tag: {\n type: String,\n default: 'div'\n },\n action: {\n type: Boolean,\n default: null\n },\n button: {\n type: Boolean,\n default: null\n },\n variant: {\n type: String,\n default: null\n }\n}, linkProps); // @vue/component\n\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BListGroupItem',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tag = props.button ? 'button' : !props.href && !props.to ? props.tag : _link.default;\n var isAction = Boolean(props.href || props.to || props.action || props.button || (0, _array.arrayIncludes)(actionTags, props.tag));\n var attrs = {};\n var itemProps = {};\n\n if (tag === 'button') {\n if (!data.attrs || !data.attrs.type) {\n // Add a type for button is one not provided in passed attributes\n attrs.type = 'button';\n }\n\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n attrs.disabled = true;\n }\n } else {\n itemProps = (0, _pluckProps.default)(linkProps, props);\n }\n\n var componentData = {\n attrs: attrs,\n props: itemProps,\n staticClass: 'list-group-item',\n class: (_class = {}, _defineProperty(_class, \"list-group-item-\".concat(props.variant), Boolean(props.variant)), _defineProperty(_class, 'list-group-item-action', isAction), _defineProperty(_class, \"active\", props.active), _defineProperty(_class, \"disabled\", props.disabled), _class)\n };\n return h(tag, (0, _vueFunctionalDataMerge.mergeData)(data, componentData), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/list-group/list-group-item.js\n// module id = n5GY\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _toggle = _interopRequireDefault(require(\"./toggle\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar directives = {\n BToggle: _toggle.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/toggle/index.js\n// module id = n9qK\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _env = require(\"../../utils/env\");\n\nvar _target = require(\"../../utils/target\");\n\n// Target listen types\nvar listenTypes = {\n click: true // Property key for handler storage\n\n};\nvar BV_TOGGLE = '__BV_toggle__';\nvar BV_TOGGLE_STATE = '__BV_toggle_STATE__';\nvar BV_TOGGLE_CONTROLS = '__BV_toggle_CONTROLS__';\nvar BV_TOGGLE_TARGETS = '__BV_toggle_TARGETS__'; // Emitted control event for collapse (emitted to collapse)\n\nvar EVENT_TOGGLE = 'bv::toggle::collapse'; // Listen to event for toggle state update (emitted by collapse)\n\nvar EVENT_STATE = 'bv::collapse::state'; // Private event emitted on $root to ensure the toggle state is always synced.\n// Gets emitted even if the state of b-collapse has not changed.\n// This event is NOT to be documented as people should not be using it.\n\nvar EVENT_STATE_SYNC = 'bv::collapse::sync::state'; // Reset and remove a property from the provided element\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n/* istanbul ignore next: not easy to test */\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n if (!_env.isBrowser) {\n return;\n } // Ensure the collapse class and aria-* attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or it's contents\n\n\n if (el[BV_TOGGLE_STATE] === true) {\n (0, _dom.addClass)(el, 'collapsed');\n (0, _dom.setAttr)(el, 'aria-expanded', 'true');\n } else if (el[BV_TOGGLE_STATE] === false) {\n (0, _dom.removeClass)(el, 'collapsed');\n (0, _dom.setAttr)(el, 'aria-expanded', 'false');\n }\n\n (0, _dom.setAttr)(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]);\n};\n/*\n * Export our directive\n */\n\n\nvar _default = {\n bind: function bind(el, binding, vnode) {\n var targets = (0, _target.bindTargets)(vnode, binding, listenTypes, function (_ref) {\n var targets = _ref.targets,\n vnode = _ref.vnode;\n targets.forEach(function (target) {\n vnode.context.$root.$emit(EVENT_TOGGLE, target);\n });\n });\n\n if (_env.isBrowser && vnode.context && targets.length > 0) {\n // Add targets array to element\n el[BV_TOGGLE_TARGETS] = targets; // Add aria attributes to element\n\n el[BV_TOGGLE_CONTROLS] = targets.join(' '); // State is initially collapsed until we receive a state event\n\n el[BV_TOGGLE_STATE] = false;\n (0, _dom.setAttr)(el, 'aria-controls', el[BV_TOGGLE_CONTROLS]);\n (0, _dom.setAttr)(el, 'aria-expanded', 'false'); // If element is not a button, we add `role=\"button\"` for accessibility\n\n if (el.tagName !== 'BUTTON') {\n (0, _dom.setAttr)(el, 'role', 'button');\n } // Toggle state handler, stored on element\n\n\n el[BV_TOGGLE] = function toggleDirectiveHandler(id, state) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n\n if (targets.indexOf(id) !== -1) {\n // Set aria-expanded state\n (0, _dom.setAttr)(el, 'aria-expanded', state ? 'true' : 'false'); // Set/Clear 'collapsed' class state\n\n el[BV_TOGGLE_STATE] = state;\n\n if (state) {\n (0, _dom.removeClass)(el, 'collapsed');\n } else {\n (0, _dom.addClass)(el, 'collapsed');\n }\n }\n }; // Listen for toggle state changes (public)\n\n\n vnode.context.$root.$on(EVENT_STATE, el[BV_TOGGLE]); // Listen for toggle state sync (private)\n\n vnode.context.$root.$on(EVENT_STATE_SYNC, el[BV_TOGGLE]);\n }\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode)\n /* istanbul ignore next */\n {\n (0, _target.unbindTargets)(vnode, binding, listenTypes); // Remove our $root listener\n\n if (el[BV_TOGGLE]) {\n vnode.context.$root.$off(EVENT_STATE, el[BV_TOGGLE]);\n vnode.context.$root.$off(EVENT_STATE_SYNC, el[BV_TOGGLE]);\n } // Reset custom props\n\n\n resetProp(el, BV_TOGGLE);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_CONTROLS);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs\n\n (0, _dom.removeClass)(el, 'collapsed');\n (0, _dom.removeAttr)(el, 'aria-expanded');\n (0, _dom.removeAttr)(el, 'aria-controls');\n (0, _dom.removeAttr)(el, 'role');\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/toggle/toggle.js\n// module id = nIHM\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.getNoWarn = exports.getEnv = exports.hasPointerEventSupport = exports.hasTouchSupport = exports.hasPassiveEventSupport = exports.isBrowser = exports.hasMutationObserverSupport = exports.hasPromiseSupport = exports.hasNavigatorSupport = exports.hasDocumentSupport = exports.hasWindowSupport = void 0;\n\n/**\n * Utilities to get information about the current environment\n */\n// --- Constants ---\nvar hasWindowSupport = typeof window !== 'undefined';\nexports.hasWindowSupport = hasWindowSupport;\nvar hasDocumentSupport = typeof document !== 'undefined';\nexports.hasDocumentSupport = hasDocumentSupport;\nvar hasNavigatorSupport = typeof navigator !== 'undefined';\nexports.hasNavigatorSupport = hasNavigatorSupport;\nvar hasPromiseSupport = typeof Promise !== 'undefined';\nexports.hasPromiseSupport = hasPromiseSupport;\nvar hasMutationObserverSupport = typeof MutationObserver !== 'undefined' || typeof WebKitMutationObserver !== 'undefined' || typeof MozMutationObserver !== 'undefined';\nexports.hasMutationObserverSupport = hasMutationObserverSupport;\nvar isBrowser = hasWindowSupport && hasDocumentSupport && hasNavigatorSupport; // Determine if the browser supports the option passive for events\n\nexports.isBrowser = isBrowser;\n\nvar hasPassiveEventSupport = function () {\n var passiveEventSupported = false;\n\n if (isBrowser) {\n try {\n var options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true;\n }\n\n };\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false;\n }\n }\n\n return passiveEventSupported;\n}();\n\nexports.hasPassiveEventSupport = hasPassiveEventSupport;\nvar hasTouchSupport = isBrowser && ('ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0);\nexports.hasTouchSupport = hasTouchSupport;\nvar hasPointerEventSupport = isBrowser && Boolean(window.PointerEvent || window.MSPointerEvent); // --- Getters ---\n\nexports.hasPointerEventSupport = hasPointerEventSupport;\n\nvar getEnv = function getEnv(key) {\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var env = typeof process !== 'undefined' && process ? process.env || {} : {};\n\n if (!key) {\n /* istanbul ignore next */\n return env;\n }\n\n return env[key] || fallback;\n};\n\nexports.getEnv = getEnv;\n\nvar getNoWarn = function getNoWarn() {\n return getEnv('BOOTSTRAP_VUE_NO_WARN');\n};\n\nexports.getNoWarn = getNoWarn;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/env.js\n// module id = nPIW\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formInput = _interopRequireDefault(require(\"./form-input\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormInput: _formInput.default,\n BInput: _formInput.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-input/index.js\n// module id = o6bs\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/parseHeaders.js\n// module id = oJlt\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n },\n verticalAlign: {\n type: String,\n default: 'top'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BMediaAside',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'd-flex',\n class: _defineProperty({}, \"align-self-\".concat(props.verticalAlign), props.verticalAlign)\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/media-aside.js\n// module id = oLzF\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = stringifyObjectValues;\n\nvar _object = require(\"../../../utils/object\");\n\nvar _inspect = require(\"../../../utils/inspect\");\n\n// Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Primitives (numbers/strings) are returned as-is\n// Null and undefined values are filtered out\n// Dates are converted to their native string format\n//\nfunction stringifyObjectValues(val) {\n if ((0, _inspect.isUndefined)(val) || (0, _inspect.isNull)(val)) {\n /* istanbul ignore next */\n return '';\n }\n\n if (val instanceof Object && !(val instanceof Date)) {\n // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n return (0, _object.keys)(val).sort()\n /* sort to prevent SSR issues on pre-rendered sorted tables */\n .filter(function (v) {\n return !(0, _inspect.isUndefined)(v) && !(0, _inspect.isNull)(v);\n })\n /* ignore undefined/null values */\n .map(function (k) {\n return stringifyObjectValues(val[k]);\n }).join(' ');\n }\n\n return String(val);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/stringify-object-values.js\n// module id = oWDv\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inputGroup = _interopRequireDefault(require(\"./input-group\"));\n\nvar _inputGroupAddon = _interopRequireDefault(require(\"./input-group-addon\"));\n\nvar _inputGroupPrepend = _interopRequireDefault(require(\"./input-group-prepend\"));\n\nvar _inputGroupAppend = _interopRequireDefault(require(\"./input-group-append\"));\n\nvar _inputGroupText = _interopRequireDefault(require(\"./input-group-text\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BInputGroup: _inputGroup.default,\n BInputGroupAddon: _inputGroupAddon.default,\n BInputGroupPrepend: _inputGroupPrepend.default,\n BInputGroupAppend: _inputGroupAppend.default,\n BInputGroupText: _inputGroupText.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/index.js\n// module id = ob1s\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _startcase = _interopRequireDefault(require(\"../../../utils/startcase\"));\n\nvar _keyCodes = _interopRequireDefault(require(\"../../../utils/key-codes\"));\n\nvar _html = require(\"../../../utils/html\");\n\nvar _filterEvent = _interopRequireDefault(require(\"./filter-event\"));\n\nvar _textSelectionActive = _interopRequireDefault(require(\"./text-selection-active\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = {\n props: {\n headVariant: {\n type: String,\n default: ''\n },\n theadClass: {\n type: [String, Array, Object],\n default: null\n },\n theadTrClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n computed: {\n headClasses: function headClasses() {\n return [this.headVariant ? 'thead-' + this.headVariant : '', this.theadClass];\n }\n },\n methods: {\n fieldClasses: function fieldClasses(field) {\n // header field (th) classes\n return [field.variant ? 'table-' + field.variant : '', field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(evt, field, isFoot) {\n if (this.stopIfBusy(evt)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if ((0, _filterEvent.default)(evt)) {\n // clicked on a non-disabled control so ignore\n return;\n } else if ((0, _textSelectionActive.default)(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n evt.stopPropagation();\n evt.preventDefault();\n this.$emit('head-clicked', field.key, field, evt, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var h = this.$createElement;\n\n if (this.isStacked === true) {\n // In always stacked mode, we don't bother rendering the head/foot\n return h(false);\n }\n\n var fields = this.computedFields || []; // Helper function to generate a field TH cell\n\n var makeCell = function makeCell(field, colIndex) {\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = (0, _startcase.default)(field.key);\n }\n\n var hasHeadClickListener = _this.$listeners['head-clicked'] || _this.isSortable;\n var handlers = {};\n\n if (hasHeadClickListener) {\n handlers.click = function (evt) {\n _this.headClicked(evt, field, isFoot);\n };\n\n handlers.keydown = function (evt) {\n var keyCode = evt.keyCode;\n\n if (keyCode === _keyCodes.default.ENTER || keyCode === _keyCodes.default.SPACE) {\n _this.headClicked(evt, field, isFoot);\n }\n };\n }\n\n var data = {\n key: field.key,\n class: [_this.fieldClasses(field), _this.sortTheadThClasses(field.key, field, isFoot)],\n style: field.thStyle || {},\n attrs: _objectSpread({\n // We only add a tabindex of 0 if there is a head-clicked listener\n tabindex: hasHeadClickListener ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n role: 'columnheader',\n scope: 'col',\n 'aria-colindex': String(colIndex + 1),\n 'aria-label': ariaLabel\n }, _this.sortTheadThAttrs(field.key, field, isFoot)),\n on: handlers\n };\n var fieldScope = {\n label: field.label,\n column: field.key,\n field: field\n };\n var slot = isFoot && _this.hasNormalizedSlot(\"FOOT_\".concat(field.key)) ? _this.normalizeSlot(\"FOOT_\".concat(field.key), fieldScope) : _this.normalizeSlot(\"HEAD_\".concat(field.key), fieldScope);\n\n if (slot) {\n slot = [slot];\n } else {\n data.domProps = (0, _html.htmlOrText)(field.labelHtml);\n }\n\n return h('th', data, slot || field.label);\n }; // Generate the array of TH cells\n\n\n var $cells = fields.map(makeCell).filter(function (th) {\n return th;\n }); // Genrate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h('tr', {\n class: this.tfootTrClass,\n attrs: {\n role: 'row'\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields\n };\n $trs.push(this.normalizeSlot('thead-top', scope) || h(false));\n $trs.push(h('tr', {\n class: this.theadTrClass,\n attrs: {\n role: 'row'\n }\n }, $cells));\n }\n\n return h(isFoot ? 'tfoot' : 'thead', {\n key: isFoot ? 'tfoot' : 'thead',\n class: isFoot ? this.footClasses : this.headClasses,\n attrs: {\n role: 'rowgroup'\n }\n }, $trs);\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-thead.js\n// module id = on+x\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = otxB\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/cookies.js\n// module id = p1b6\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_uid.js\n// module id = pALt\n// module chunks = 0","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/cancel/isCancel.js\n// module id = pBtG\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _popover = _interopRequireDefault(require(\"./popover\"));\n\nvar _popover2 = _interopRequireDefault(require(\"../../directives/popover/popover\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BPopover: _popover.default\n};\nvar directives = {\n BPopover: _popover2.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components,\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/popover/index.js\n// module id = pDyP\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _form = _interopRequireWildcard(require(\"../form/form\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _default = _vue.default.extend({\n name: 'BDropdownForm',\n functional: true,\n props: _objectSpread({}, _form.props),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('li', [h(_form.default, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'b-dropdown-form',\n props: props,\n ref: 'form'\n }), children)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-form.js\n// module id = pavp\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _startcase = _interopRequireDefault(require(\"../../../utils/startcase\"));\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _object = require(\"../../../utils/object\");\n\nvar _constants = require(\"./constants\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Private function to massage field entry into common object format\nvar processField = function processField(key, value) {\n var field = null;\n\n if ((0, _inspect.isString)(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if ((0, _inspect.isFunction)(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if ((0, _inspect.isObject)(value)) {\n field = _objectSpread({}, value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nvar normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if ((0, _inspect.isArray)(origFields)) {\n // Normalize array Form\n origFields.filter(function (f) {\n return f;\n }).forEach(function (f) {\n if ((0, _inspect.isString)(f)) {\n fields.push({\n key: f,\n label: (0, _startcase.default)(f)\n });\n } else if ((0, _inspect.isObject)(f) && f.key && (0, _inspect.isString)(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(_objectSpread({}, f));\n } else if ((0, _inspect.isObject)(f) && (0, _object.keys)(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = (0, _object.keys)(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } else if (origFields && (0, _inspect.isObject)(origFields) && (0, _object.keys)(origFields).length > 0) {\n // Normalize object Form (deprecated)\n (0, _object.keys)(origFields).forEach(function (key) {\n var field = processField(key, origFields[key]);\n\n if (field) {\n fields.push(field);\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && (0, _inspect.isArray)(items) && items.length > 0) {\n var sample = items[0];\n (0, _object.keys)(sample).forEach(function (k) {\n if (!_constants.IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: (0, _startcase.default)(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = (0, _inspect.isString)(f.label) ? f.label : (0, _startcase.default)(f.key);\n return true;\n }\n\n return false;\n });\n};\n\nvar _default = normalizeFields;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/normalize-fields.js\n// module id = pdnS\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'h6'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BDropdownHeader',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('li', [h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'dropdown-header',\n attrs: {\n id: props.id || null\n },\n ref: 'header'\n }), children)]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/dropdown-header.js\n// module id = pk8h\n// module chunks = 0"," /**\r\n * Vue Cookies v1.5.13\r\n * https://github.com/cmp-cc/vue-cookies\r\n *\r\n * Copyright 2016, cmp-cc\r\n * Released under the MIT license\r\n */\r\n\r\n(function() {\r\n\r\n var defaultConfig = {\r\n expires : '1d',\r\n path : '; path=/'\r\n }\r\n\r\n var VueCookies = {\r\n // install of Vue\r\n install: function(Vue) {\r\n Vue.prototype.$cookies = this\r\n Vue.cookies = this\r\n },\r\n config : function(expireTimes,path) {\r\n if(expireTimes) {\r\n defaultConfig.expires = expireTimes;\r\n }\r\n if(path) {\r\n defaultConfig.path = '; path=' + path;\r\n }\r\n },\r\n get: function(key) {\r\n var value = decodeURIComponent(document.cookie.replace(new RegExp(\"(?:(?:^|.*;)\\\\s*\" + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\\\\s*([^;]*).*$)|^.*$\"), \"$1\")) || null\r\n\r\n if(value && value.substring(0,1) === \"{\" && value.substring(value.length-1,value.length) === \"}\") {\r\n try {\r\n value = JSON.parse(value)\r\n }catch (e) {\r\n return value;\r\n }\r\n }\r\n return value;\r\n },\r\n set: function(key, value, expireTimes, path, domain, secure) {\r\n if (!key) {\r\n throw new Error(\"cookie name is not find in first argument\")\r\n }else if(/^(?:expires|max\\-age|path|domain|secure)$/i.test(key)){\r\n throw new Error(\"cookie key name illegality ,Cannot be set to ['expires','max-age','path','domain','secure']\\t\",\"current key name: \"+key);\r\n }\r\n // support json object\r\n if(value && value.constructor === Object) {\r\n value = JSON.stringify(value);\r\n }\r\n var _expires = \"\";\r\n expireTimes = expireTimes === undefined ? defaultConfig.expires : expireTimes;\r\n if (expireTimes && expireTimes != 0) {\r\n switch (expireTimes.constructor) {\r\n case Number:\r\n if(expireTimes === Infinity || expireTimes === -1) _expires = \"; expires=Fri, 31 Dec 9999 23:59:59 GMT\";\r\n else _expires = \"; max-age=\" + expireTimes;\r\n break;\r\n case String:\r\n if (/^(?:\\d{1,}(y|m|d|h|min|s))$/i.test(expireTimes)) {\r\n // get capture number group\r\n var _expireTime = expireTimes.replace(/^(\\d{1,})(?:y|m|d|h|min|s)$/i, \"$1\");\r\n // get capture type group , to lower case\r\n switch (expireTimes.replace(/^(?:\\d{1,})(y|m|d|h|min|s)$/i, \"$1\").toLowerCase()) {\r\n // Frequency sorting\r\n case 'm': _expires = \"; max-age=\" + +_expireTime * 2592000; break; // 60 * 60 * 24 * 30\r\n case 'd': _expires = \"; max-age=\" + +_expireTime * 86400; break; // 60 * 60 * 24\r\n case 'h': _expires = \"; max-age=\" + +_expireTime * 3600; break; // 60 * 60\r\n case 'min': _expires = \"; max-age=\" + +_expireTime * 60; break; // 60\r\n case 's': _expires = \"; max-age=\" + _expireTime; break;\r\n case 'y': _expires = \"; max-age=\" + +_expireTime * 31104000; break; // 60 * 60 * 24 * 30 * 12\r\n default: new Error(\"unknown exception of 'set operation'\");\r\n }\r\n } else {\r\n _expires = \"; expires=\" + expireTimes;\r\n }\r\n break;\r\n case Date:\r\n _expires = \"; expires=\" + expireTimes.toUTCString();\r\n break;\r\n }\r\n }\r\n document.cookie = encodeURIComponent(key) + \"=\" + encodeURIComponent(value) + _expires + (domain ? \"; domain=\" + domain : \"\") + (path ? \"; path=\" + path : defaultConfig.path) + (secure ? \"; secure\" : \"\");\r\n return this;\r\n },\r\n remove: function(key, path, domain) {\r\n if (!key || !this.isKey(key)) {\r\n return false;\r\n }\r\n document.cookie = encodeURIComponent(key) + \"=; expires=Thu, 01 Jan 1970 00:00:00 GMT\" + (domain ? \"; domain=\" + domain : \"\") + (path ? \"; path=\" + path : defaultConfig.path);\r\n return this;\r\n },\r\n isKey: function(key) {\r\n return (new RegExp(\"(?:^|;\\\\s*)\" + encodeURIComponent(key).replace(/[\\-\\.\\+\\*]/g, \"\\\\$&\") + \"\\\\s*\\\\=\")).test(document.cookie);\r\n },\r\n keys: function() {\r\n if(!document.cookie) return [];\r\n var _keys = document.cookie.replace(/((?:^|\\s*;)[^\\=]+)(?=;|$)|^\\s*|\\s*(?:\\=[^;]*)?(?:\\1|$)/g, \"\").split(/\\s*(?:\\=[^;]*)?;\\s*/);\r\n for (var _index = 0; _index < _keys.length; _index++) {\r\n _keys[_index] = decodeURIComponent(_keys[_index]);\r\n }\r\n return _keys;\r\n }\r\n }\r\n\r\n if (typeof exports == \"object\") {\r\n module.exports = VueCookies;\r\n } else if (typeof define == \"function\" && define.amd) {\r\n define([], function() {\r\n return VueCookies;\r\n })\r\n } else if (window.Vue) {\r\n Vue.use(VueCookies);\r\n }\r\n // vue-cookies can exist independently,no dependencies library\r\n if(typeof window!==\"undefined\"){\r\n window.$cookies = VueCookies;\r\n }\r\n\r\n})()\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-cookies/vue-cookies.js\n// module id = ppUw\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n// @vue/component\nvar _default = {\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n get: function get()\n /* istanbul ignore next */\n {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n setCustomValidity: function setCustomValidity()\n /* istanbul ignore next */\n {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n checkValidity: function checkValidity()\n /* istanbul ignore next */\n {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n reportValidity: function reportValidity()\n /* istanbul ignore next */\n {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-validity.js\n// module id = pt6z\n// module chunks = 0","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/spread.js\n// module id = pxG4\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.vueUse = exports.registerDirectives = exports.registerDirective = exports.registerComponents = exports.registerComponent = exports.registerPlugins = exports.installFactory = void 0;\n\nvar _config = require(\"./config\");\n\nvar _env = require(\"./env\");\n\n/**\n * Plugin install factory function.\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\nvar installFactory = function installFactory(_ref) {\n var components = _ref.components,\n directives = _ref.directives,\n plugins = _ref.plugins;\n\n var install = function install(Vue) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (install.installed) {\n /* istanbul ignore next */\n return;\n }\n\n install.installed = true;\n (0, _config.setConfig)(config);\n registerComponents(Vue, components);\n registerDirectives(Vue, directives);\n registerPlugins(Vue, plugins);\n };\n\n install.installed = false;\n return install;\n};\n/**\n * Load a group of plugins.\n * @param {object} Vue\n * @param {object} Plugin definitions\n */\n\n\nexports.installFactory = installFactory;\n\nvar registerPlugins = function registerPlugins(Vue) {\n var plugins = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var plugin in plugins) {\n if (plugin && plugins[plugin]) {\n Vue.use(plugins[plugin]);\n }\n }\n};\n/**\n * Load a component.\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\n\n\nexports.registerPlugins = registerPlugins;\n\nvar registerComponent = function registerComponent(Vue, name, def) {\n if (Vue && name && def) {\n Vue.component(name, def);\n }\n};\n/**\n * Load a group of components.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\n\n\nexports.registerComponent = registerComponent;\n\nvar registerComponents = function registerComponents(Vue) {\n var components = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var component in components) {\n registerComponent(Vue, component, components[component]);\n }\n};\n/**\n * Load a directive.\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\n\n\nexports.registerComponents = registerComponents;\n\nvar registerDirective = function registerDirective(Vue, name, def) {\n if (Vue && name && def) {\n Vue.directive(name, def);\n }\n};\n/**\n * Load a group of directives.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\n\n\nexports.registerDirective = registerDirective;\n\nvar registerDirectives = function registerDirectives(Vue) {\n var directives = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n for (var directive in directives) {\n registerDirective(Vue, directive, directives[directive]);\n }\n};\n/**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\n\n\nexports.registerDirectives = registerDirectives;\n\nvar vueUse = function vueUse(VuePlugin) {\n /* istanbul ignore next */\n if (_env.hasWindowSupport && window.Vue) {\n window.Vue.use(VuePlugin);\n }\n};\n\nexports.vueUse = vueUse;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/plugins.js\n// module id = q21c\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _tooltip = _interopRequireDefault(require(\"./tooltip\"));\n\nvar _tooltip2 = _interopRequireDefault(require(\"../../directives/tooltip/tooltip\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BTooltip: _tooltip.default\n};\nvar directives = {\n BTooltip: _tooltip2.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components,\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/tooltip/index.js\n// module id = q2kL\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n tooltip: {\n type: Boolean,\n default: false\n },\n forceShow: {\n type: Boolean,\n default: false\n },\n state: {\n type: [Boolean, String],\n default: null\n },\n ariaLive: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: null\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BFormInvalidFeedback',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var show = props.forceShow === true || props.state === false || props.state === 'invalid';\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: {\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n 'd-block': show\n },\n attrs: {\n id: props.id,\n role: props.role,\n 'aria-live': props.ariaLive,\n 'aria-atomic': props.ariaLive ? 'true' : null\n }\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-invalid-feedback.js\n// module id = q32r\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _pluckProps = _interopRequireDefault(require(\"../../utils/pluck-props\"));\n\nvar _nav = require(\"../nav/nav\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// -- Constants --\nvar props = (0, _pluckProps.default)(['tag', 'fill', 'justified', 'align', 'small'], _nav.props); // -- Utils --\n\nexports.props = props;\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // @vue/component\n\n\nvar _default = _vue.default.extend({\n name: 'BNavbarNav',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'navbar-nav',\n class: (_class = {\n 'nav-fill': props.fill,\n 'nav-justified': props.justified\n }, _defineProperty(_class, computeJustifyContent(props.align), props.align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/navbar/navbar-nav.js\n// module id = qHHr\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _nav = _interopRequireDefault(require(\"./nav\"));\n\nvar _navItem = _interopRequireDefault(require(\"./nav-item\"));\n\nvar _navText = _interopRequireDefault(require(\"./nav-text\"));\n\nvar _navForm = _interopRequireDefault(require(\"./nav-form\"));\n\nvar _navItemDropdown = _interopRequireDefault(require(\"./nav-item-dropdown\"));\n\nvar _dropdown = _interopRequireDefault(require(\"../dropdown\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BNav: _nav.default,\n BNavItem: _navItem.default,\n BNavText: _navText.default,\n BNavForm: _navForm.default,\n BNavItemDropdown: _navItemDropdown.default,\n BNavItemDd: _navItemDropdown.default,\n BNavDropdown: _navItemDropdown.default,\n BNavDd: _navItemDropdown.default\n};\nvar plugins = {\n DropdownPlugin: _dropdown.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components,\n plugins: plugins\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/index.js\n// module id = qIPk\n// module chunks = 0","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/combineURLs.js\n// module id = qRfI\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_iobject.js\n// module id = rD30\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _tooltip = _interopRequireDefault(require(\"./tooltip\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar directives = {\n BTooltip: _tooltip.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/tooltip/index.js\n// module id = rd7L\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _form = _interopRequireDefault(require(\"../../mixins/form\"));\n\nvar _formOptions = _interopRequireDefault(require(\"../../mixins/form-options\"));\n\nvar _formRadioCheckGroup = _interopRequireDefault(require(\"../../mixins/form-radio-check-group\"));\n\nvar _formSize = _interopRequireDefault(require(\"../../mixins/form-size\"));\n\nvar _formState = _interopRequireDefault(require(\"../../mixins/form-state\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n switches: {\n // Custom switch styling\n type: Boolean,\n default: false\n },\n checked: {\n type: [String, Number, Object, Array, Boolean],\n default: null\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BFormCheckboxGroup',\n mixins: [_id.default, _form.default, _formRadioCheckGroup.default, // Includes render function\n _formOptions.default, _formSize.default, _formState.default],\n provide: function provide() {\n return {\n bvCheckGroup: this\n };\n },\n props: props,\n data: function data() {\n return {\n localChecked: this.checked || []\n };\n },\n computed: {\n is_RadioGroup: function is_RadioGroup() {\n return false;\n }\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-checkbox/form-checkbox-group.js\n// module id = sGYS\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BSpinner',\n functional: true,\n props: {\n type: {\n type: String,\n default: 'border' // SCSS currently supports 'border' or 'grow'\n\n },\n label: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: null\n },\n small: {\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'status'\n },\n tag: {\n type: String,\n default: 'span'\n }\n },\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots;\n var label = h(false);\n var hasLabel = slots().label || props.label;\n\n if (hasLabel) {\n label = h('span', {\n staticClass: 'sr-only'\n }, hasLabel);\n }\n\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n attrs: {\n role: hasLabel ? props.role || 'status' : null,\n 'aria-hidden': hasLabel ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), Boolean(props.type)), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), Boolean(props.variant)), _class)\n }), [label]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/spinner/spinner.js\n// module id = sQZJ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _normalizeSlot2 = _interopRequireDefault(require(\"../utils/normalize-slot\"));\n\nvar _array = require(\"../utils/array\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n methods: {\n hasNormalizedSlot: function hasNormalizedSlot(name) {\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return Boolean(this.$scopedSlots[name] || this.$slots[name]);\n },\n normalizeSlot: function normalizeSlot(name) {\n var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Returns an array of rendered vNodes if slot found.\n // Returns undefined if not found.\n var vNodes = (0, _normalizeSlot2.default)(name, scope, this.$scopedSlots, this.$slots);\n return vNodes ? (0, _array.concat)(vNodes) : vNodes;\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/normalize-slot.js\n// module id = sb3a\n// module chunks = 0","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n error.request = request;\n error.response = response;\n return error;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/enhanceError.js\n// module id = t8qj\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n }\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BMediaBody',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'media-body'\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/media/media-body.js\n// module id = t9XS\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _config = require(\"../../utils/config\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar NAME = 'BFormText';\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'small'\n },\n textVariant: {\n type: String,\n default: function _default() {\n return String((0, _config.getComponentConfig)(NAME, 'textVariant') || '');\n }\n },\n inline: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: NAME,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: _defineProperty({\n 'form-text': !props.inline\n }, \"text-\".concat(props.textVariant), Boolean(props.textVariant)),\n attrs: {\n id: props.id\n }\n }), children);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-text.js\n// module id = tDPY\n// module chunks = 0","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Factory for creating new instances\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n};\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/axios.js\n// module id = tIFN\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n title: {\n type: String,\n default: ''\n },\n titleTag: {\n type: String,\n default: 'h4'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BCardTitle',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'card-title'\n }), children || props.title);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-title.js\n// module id = tbfv\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\n/*\n * Key Codes (events)\n */\nvar KEY_CODES = {\n SPACE: 32,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n PAGEUP: 33,\n PAGEDOWN: 34,\n HOME: 36,\n END: 35,\n TAB: 9,\n SHIFT: 16,\n CTRL: 17,\n BACKSPACE: 8,\n ALT: 18,\n PAUSE: 19,\n BREAK: 19,\n INSERT: 45,\n INS: 45,\n DELETE: 46\n};\nvar _default = KEY_CODES;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/key-codes.js\n// module id = tgmf\n// module chunks = 0","'use strict';\n\n// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n\nfunction E() {\n this.message = 'String contains an invalid character';\n}\nE.prototype = new Error;\nE.prototype.code = 5;\nE.prototype.name = 'InvalidCharacterError';\n\nfunction btoa(input) {\n var str = String(input);\n var output = '';\n for (\n // initialize result and counter\n var block, charCode, idx = 0, map = chars;\n // if the next str index does not exist:\n // change the mapping table to \"=\"\n // check if d has no fractional digits\n str.charAt(idx | 0) || (map = '=', idx % 1);\n // \"8 - idx % 1 * 8\" generates the sequence 2, 4, 6, 8\n output += map.charAt(63 & block >> 8 - idx % 1 * 8)\n ) {\n charCode = str.charCodeAt(idx += 3 / 4);\n if (charCode > 0xFF) {\n throw new E();\n }\n block = block << 8 | charCode;\n }\n return output;\n}\n\nmodule.exports = btoa;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/helpers/btoa.js\n// module id = thJu\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _observeDom = _interopRequireDefault(require(\"../../utils/observe-dom\"));\n\nvar _warn = _interopRequireDefault(require(\"../../utils/warn\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/*\n * Constants / Defaults\n */\nvar NAME = 'v-b-scrollspy';\nvar ACTIVATE_EVENT = 'bv::scrollspy::activate';\nvar Default = {\n element: 'body',\n offset: 10,\n method: 'auto',\n throttle: 75\n};\nvar DefaultType = {\n element: '(string|element|component)',\n offset: 'number',\n method: 'string',\n throttle: 'number'\n};\nvar ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n};\nvar Selector = {\n ACTIVE: '.active',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown, .dropup',\n DROPDOWN_ITEMS: '.dropdown-item',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n};\nvar OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position' // HREFs must end with a hash followed by at least one non-hash character.\n // HREFs in the links are assumed to point to non-external links.\n // Comparison to the current page base URL is not performed!\n\n};\nvar HREF_REGEX = /^.*(#[^#]+)$/; // Transition Events\n\nvar TransitionEndEvents = ['webkitTransitionEnd', 'transitionend', 'otransitionend', 'oTransitionEnd']; // Options for events\n\nvar EventOptions = {\n passive: true,\n capture: false\n /*\n * Utility Methods\n */\n // Better var type detection\n\n};\n\nfunction toType(obj)\n/* istanbul ignore next: not easy to test */\n{\n return {}.toString.call(obj).match(/\\s([a-zA-Z]+)/)[1].toLowerCase();\n} // Check config properties for expected types\n\n\nfunction typeCheckConfig(componentName, config, configTypes)\n/* istanbul ignore next: not easy to test */\n{\n for (var property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n var expectedTypes = configTypes[property];\n var value = config[property];\n var valueType = value && (0, _dom.isElement)(value) ? 'element' : toType(value); // handle Vue instances\n\n valueType = value && value._isVue ? 'component' : valueType;\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n /* istanbul ignore next */\n (0, _warn.default)(\"\".concat(componentName, \": Option \\\"\").concat(property, \"\\\" provided type \\\"\").concat(valueType, \"\\\" but expected type \\\"\").concat(expectedTypes, \"\\\"\"));\n }\n }\n }\n}\n/*\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n/* istanbul ignore next: not easy to test */\n\n\nvar ScrollSpy\n/* istanbul ignore next: not easy to test */\n=\n/*#__PURE__*/\nfunction () {\n function ScrollSpy(element, config, $root) {\n _classCallCheck(this, ScrollSpy);\n\n // The element we activate links in\n this.$el = element;\n this.$scroller = null;\n this.$selector = [Selector.NAV_LINKS, Selector.LIST_ITEMS, Selector.DROPDOWN_ITEMS].join(',');\n this.$offsets = [];\n this.$targets = [];\n this.$activeTarget = null;\n this.$scrollHeight = 0;\n this.$resizeTimeout = null;\n this.$obs_scroller = null;\n this.$obs_targets = null;\n this.$root = $root || null;\n this.$config = null;\n this.updateConfig(config);\n }\n\n _createClass(ScrollSpy, [{\n key: \"updateConfig\",\n value: function updateConfig(config, $root) {\n if (this.$scroller) {\n // Just in case out scroll element has changed\n this.unlisten();\n this.$scroller = null;\n }\n\n var cfg = _objectSpread({}, this.constructor.Default, config);\n\n if ($root) {\n this.$root = $root;\n }\n\n typeCheckConfig(this.constructor.Name, cfg, this.constructor.DefaultType);\n this.$config = cfg;\n\n if (this.$root) {\n var self = this;\n this.$root.$nextTick(function () {\n self.listen();\n });\n } else {\n this.listen();\n }\n }\n }, {\n key: \"dispose\",\n value: function dispose() {\n this.unlisten();\n clearTimeout(this.$resizeTimeout);\n this.$resizeTimeout = null;\n this.$el = null;\n this.$config = null;\n this.$scroller = null;\n this.$selector = null;\n this.$offsets = null;\n this.$targets = null;\n this.$activeTarget = null;\n this.$scrollHeight = null;\n }\n }, {\n key: \"listen\",\n value: function listen() {\n var _this = this;\n\n var scroller = this.getScroller();\n\n if (scroller && scroller.tagName !== 'BODY') {\n (0, _dom.eventOn)(scroller, 'scroll', this, EventOptions);\n }\n\n (0, _dom.eventOn)(window, 'scroll', this, EventOptions);\n (0, _dom.eventOn)(window, 'resize', this, EventOptions);\n (0, _dom.eventOn)(window, 'orientationchange', this, EventOptions);\n TransitionEndEvents.forEach(function (evtName) {\n (0, _dom.eventOn)(window, evtName, _this, EventOptions);\n });\n this.setObservers(true); // Schedule a refresh\n\n this.handleEvent('refresh');\n }\n }, {\n key: \"unlisten\",\n value: function unlisten() {\n var _this2 = this;\n\n var scroller = this.getScroller();\n this.setObservers(false);\n\n if (scroller && scroller.tagName !== 'BODY') {\n (0, _dom.eventOff)(scroller, 'scroll', this, EventOptions);\n }\n\n (0, _dom.eventOff)(window, 'scroll', this, EventOptions);\n (0, _dom.eventOff)(window, 'resize', this, EventOptions);\n (0, _dom.eventOff)(window, 'orientationchange', this, EventOptions);\n TransitionEndEvents.forEach(function (evtName) {\n (0, _dom.eventOff)(window, evtName, _this2, EventOptions);\n });\n }\n }, {\n key: \"setObservers\",\n value: function setObservers(on) {\n var _this3 = this;\n\n // We observe both the scroller for content changes, and the target links\n if (this.$obs_scroller) {\n this.$obs_scroller.disconnect();\n this.$obs_scroller = null;\n }\n\n if (this.$obs_targets) {\n this.$obs_targets.disconnect();\n this.$obs_targets = null;\n }\n\n if (on) {\n this.$obs_targets = (0, _observeDom.default)(this.$el, function () {\n _this3.handleEvent('mutation');\n }, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['href']\n });\n this.$obs_scroller = (0, _observeDom.default)(this.getScroller(), function () {\n _this3.handleEvent('mutation');\n }, {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['id', 'style', 'class']\n });\n }\n } // general event handler\n\n }, {\n key: \"handleEvent\",\n value: function handleEvent(evt) {\n var type = (0, _inspect.isString)(evt) ? evt : evt.type;\n var self = this;\n\n function resizeThrottle() {\n if (!self.$resizeTimeout) {\n self.$resizeTimeout = setTimeout(function () {\n self.refresh();\n self.process();\n self.$resizeTimeout = null;\n }, self.$config.throttle);\n }\n }\n\n if (type === 'scroll') {\n if (!this.$obs_scroller) {\n // Just in case we are added to the DOM before the scroll target is\n // We re-instantiate our listeners, just in case\n this.listen();\n }\n\n this.process();\n } else if (/(resize|orientationchange|mutation|refresh)/.test(type)) {\n // Postpone these events by throttle time\n resizeThrottle();\n }\n } // Refresh the list of target links on the element we are applied to\n\n }, {\n key: \"refresh\",\n value: function refresh() {\n var _this4 = this;\n\n var scroller = this.getScroller();\n\n if (!scroller) {\n return;\n }\n\n var autoMethod = scroller !== scroller.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET;\n var method = this.$config.method === 'auto' ? autoMethod : this.$config.method;\n var methodFn = method === OffsetMethod.POSITION ? _dom.position : _dom.offset;\n var offsetBase = method === OffsetMethod.POSITION ? this.getScrollTop() : 0;\n this.$offsets = [];\n this.$targets = [];\n this.$scrollHeight = this.getScrollHeight(); // Find all the unique link HREFs that we will control\n\n (0, _dom.selectAll)(this.$selector, this.$el) // Get HREF value\n .map(function (link) {\n return (0, _dom.getAttr)(link, 'href');\n }) // Filter out HREFs that do not match our RegExp\n .filter(function (href) {\n return href && HREF_REGEX.test(href || '');\n }) // Find all elements with ID that match HREF hash\n .map(function (href) {\n // Convert HREF into an ID (including # at beginning)\n var id = href.replace(HREF_REGEX, '$1').trim();\n\n if (!id) {\n return null;\n } // Find the element with the ID specified by id\n\n\n var el = (0, _dom.select)(id, scroller);\n\n if (el && (0, _dom.isVisible)(el)) {\n return {\n offset: parseInt(methodFn(el).top, 10) + offsetBase,\n target: id\n };\n }\n\n return null;\n }).filter(Boolean) // Sort them by their offsets (smallest first)\n .sort(function (a, b) {\n return a.offset - b.offset;\n }) // record only unique targets/offsets\n .reduce(function (memo, item) {\n if (!memo[item.target]) {\n _this4.$offsets.push(item.offset);\n\n _this4.$targets.push(item.target);\n\n memo[item.target] = true;\n }\n\n return memo;\n }, {}); // Return this for easy chaining\n\n return this;\n } // Handle activating/clearing\n\n }, {\n key: \"process\",\n value: function process() {\n var scrollTop = this.getScrollTop() + this.$config.offset;\n var scrollHeight = this.getScrollHeight();\n var maxScroll = this.$config.offset + scrollHeight - this.getOffsetHeight();\n\n if (this.$scrollHeight !== scrollHeight) {\n this.refresh();\n }\n\n if (scrollTop >= maxScroll) {\n var target = this.$targets[this.$targets.length - 1];\n\n if (this.$activeTarget !== target) {\n this.activate(target);\n }\n\n return;\n }\n\n if (this.$activeTarget && scrollTop < this.$offsets[0] && this.$offsets[0] > 0) {\n this.$activeTarget = null;\n this.clear();\n return;\n }\n\n for (var i = this.$offsets.length; i--;) {\n var isActiveTarget = this.$activeTarget !== this.$targets[i] && scrollTop >= this.$offsets[i] && ((0, _inspect.isUndefined)(this.$offsets[i + 1]) || scrollTop < this.$offsets[i + 1]);\n\n if (isActiveTarget) {\n this.activate(this.$targets[i]);\n }\n }\n }\n }, {\n key: \"getScroller\",\n value: function getScroller() {\n if (this.$scroller) {\n return this.$scroller;\n }\n\n var scroller = this.$config.element;\n\n if (!scroller) {\n return null;\n } else if ((0, _dom.isElement)(scroller.$el)) {\n scroller = scroller.$el;\n } else if ((0, _inspect.isString)(scroller)) {\n scroller = (0, _dom.select)(scroller);\n }\n\n if (!scroller) {\n return null;\n }\n\n this.$scroller = scroller.tagName === 'BODY' ? window : scroller;\n return this.$scroller;\n }\n }, {\n key: \"getScrollTop\",\n value: function getScrollTop() {\n var scroller = this.getScroller();\n return scroller === window ? scroller.pageYOffset : scroller.scrollTop;\n }\n }, {\n key: \"getScrollHeight\",\n value: function getScrollHeight() {\n return this.getScroller().scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\n }\n }, {\n key: \"getOffsetHeight\",\n value: function getOffsetHeight() {\n var scroller = this.getScroller();\n return scroller === window ? window.innerHeight : (0, _dom.getBCR)(scroller).height;\n }\n }, {\n key: \"activate\",\n value: function activate(target) {\n var _this5 = this;\n\n this.$activeTarget = target;\n this.clear(); // Grab the list of target links ()\n\n var links = (0, _dom.selectAll)(this.$selector // Split out the base selectors\n .split(',') // Map to a selector that matches links with HREF ending in the ID (including '#')\n .map(function (selector) {\n return \"\".concat(selector, \"[href$=\\\"\").concat(target, \"\\\"]\");\n }) // Join back into a single selector string\n .join(','), this.$el);\n links.forEach(function (link) {\n if ((0, _dom.hasClass)(link, ClassName.DROPDOWN_ITEM)) {\n // This is a dropdown item, so find the .dropdown-toggle and set it's state\n var dropdown = (0, _dom.closest)(Selector.DROPDOWN, link);\n\n if (dropdown) {\n _this5.setActiveState((0, _dom.select)(Selector.DROPDOWN_TOGGLE, dropdown), true);\n } // Also set this link's state\n\n\n _this5.setActiveState(link, true);\n } else {\n // Set triggered link as active\n _this5.setActiveState(link, true);\n\n if ((0, _dom.matches)(link.parentElement, Selector.NAV_ITEMS)) {\n // Handle nav-link inside nav-item, and set nav-item active\n _this5.setActiveState(link.parentElement, true);\n } // Set triggered links parents as active\n // With both and markup a parent is the previous sibling of any nav ancestor\n\n\n var el = link;\n\n while (el) {\n el = (0, _dom.closest)(Selector.NAV_LIST_GROUP, el);\n var sibling = el ? el.previousElementSibling : null;\n\n if (sibling && (0, _dom.matches)(sibling, \"\".concat(Selector.NAV_LINKS, \", \").concat(Selector.LIST_ITEMS))) {\n _this5.setActiveState(sibling, true);\n } // Handle special case where nav-link is inside a nav-item\n\n\n if (sibling && (0, _dom.matches)(sibling, Selector.NAV_ITEMS)) {\n _this5.setActiveState((0, _dom.select)(Selector.NAV_LINKS, sibling), true); // Add active state to nav-item as well\n\n\n _this5.setActiveState(sibling, true);\n }\n }\n }\n }); // Signal event to via $root, passing ID of activated target and reference to array of links\n\n if (links && links.length > 0 && this.$root) {\n this.$root.$emit(ACTIVATE_EVENT, target, links);\n }\n }\n }, {\n key: \"clear\",\n value: function clear() {\n var _this6 = this;\n\n (0, _dom.selectAll)(\"\".concat(this.$selector, \", \").concat(Selector.NAV_ITEMS), this.$el).filter(function (el) {\n return (0, _dom.hasClass)(el, ClassName.ACTIVE);\n }).forEach(function (el) {\n return _this6.setActiveState(el, false);\n });\n }\n }, {\n key: \"setActiveState\",\n value: function setActiveState(el, active) {\n if (!el) {\n return;\n }\n\n if (active) {\n (0, _dom.addClass)(el, ClassName.ACTIVE);\n } else {\n (0, _dom.removeClass)(el, ClassName.ACTIVE);\n }\n }\n }], [{\n key: \"Name\",\n get: function get() {\n return NAME;\n }\n }, {\n key: \"Default\",\n get: function get() {\n return Default;\n }\n }, {\n key: \"DefaultType\",\n get: function get() {\n return DefaultType;\n }\n }]);\n\n return ScrollSpy;\n}();\n\nvar _default = ScrollSpy;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/scrollspy/scrollspy.class.js\n// module id = to/m\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_array-includes.js\n// module id = u4pN\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _keyCodes = _interopRequireDefault(require(\"../../utils/key-codes\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(','); // @vue/component\n\nvar _default = _vue.default.extend({\n name: 'BButtonToolbar',\n props: {\n justify: {\n type: Boolean,\n default: false\n },\n keyNav: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n if (this.keyNav) {\n // Pre-set the tabindexes if the markup does not include tabindex=\"-1\" on the toolbar items\n this.getItems();\n }\n },\n methods: {\n onFocusin: function onFocusin(evt) {\n if (evt.target === this.$el) {\n evt.preventDefault();\n evt.stopPropagation();\n this.focusFirst(evt);\n }\n },\n stop: function stop(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n },\n onKeydown: function onKeydown(evt) {\n if (!this.keyNav) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var key = evt.keyCode;\n var shift = evt.shiftKey;\n\n if (key === _keyCodes.default.UP || key === _keyCodes.default.LEFT) {\n this.stop(evt);\n shift ? this.focusFirst(evt) : this.focusPrev(evt);\n } else if (key === _keyCodes.default.DOWN || key === _keyCodes.default.RIGHT) {\n this.stop(evt);\n shift ? this.focusLast(evt) : this.focusNext(evt);\n }\n },\n setItemFocus: function setItemFocus(item) {\n item && item.focus && item.focus();\n },\n focusFirst: function focusFirst(evt) {\n var items = this.getItems();\n this.setItemFocus(items[0]);\n },\n focusPrev: function focusPrev(evt) {\n var items = this.getItems();\n var index = items.indexOf(evt.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n this.setItemFocus(items[0]);\n }\n },\n focusNext: function focusNext(evt) {\n var items = this.getItems();\n var index = items.indexOf(evt.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n this.setItemFocus(items[0]);\n }\n },\n focusLast: function focusLast(evt) {\n var items = this.getItems().reverse();\n this.setItemFocus(items[0]);\n },\n getItems: function getItems() {\n var items = (0, _dom.selectAll)(ITEM_SELECTOR, this.$el);\n items.forEach(function (item) {\n // Ensure tabfocus is -1 on any new elements\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return (0, _dom.isVisible)(el);\n });\n }\n },\n render: function render(h) {\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: this.keyNav ? '0' : null\n },\n on: this.keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.$slots.default]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/button-toolbar/button-toolbar.js\n// module id = uM87\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @vue/component\nvar _default = {\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n value: {// Value when checked\n // type: Object,\n // default: undefined\n },\n checked: {// This is the v-model\n // type: Object,\n // default: undefined\n },\n inline: {\n type: Boolean,\n default: false\n },\n plain: {\n type: Boolean,\n default: false\n },\n button: {\n // Only applicable in standalone mode (non group)\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: null\n },\n ariaLabel: {\n // Placed on the input if present.\n type: String,\n default: null\n },\n ariaLabelledby: {\n // Placed on the input if present.\n type: String,\n default: null\n }\n },\n data: function data() {\n return {\n localChecked: this.is_Group ? this.bvGroup.checked : this.checked,\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.is_Group ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(val) {\n if (this.is_Group) {\n this.bvGroup.localChecked = val;\n } else {\n this.localChecked = val;\n }\n }\n },\n is_Group: function is_Group() {\n // Is this check/radio a child of check-group or radio-group?\n return Boolean(this.bvGroup);\n },\n is_BtnMode: function is_BtnMode() {\n // Support button style in single input mode\n return this.is_Group ? this.bvGroup.buttons : this.button;\n },\n is_Plain: function is_Plain() {\n return this.is_BtnMode ? false : this.is_Group ? this.bvGroup.plain : this.plain;\n },\n is_Custom: function is_Custom() {\n return this.is_BtnMode ? false : !this.is_Plain;\n },\n is_Switch: function is_Switch() {\n // Custom switch styling (checkboxes only)\n return this.is_BtnMode || this.is_Radio || this.is_Plain ? false : this.is_Group ? this.bvGroup.switches : this.switch;\n },\n is_Inline: function is_Inline() {\n return this.is_Group ? this.bvGroup.inline : this.inline;\n },\n is_Disabled: function is_Disabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.is_Group ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n is_Required: function is_Required() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return Boolean(this.get_Name && (this.is_Group ? this.bvGroup.required : this.required));\n },\n get_Name: function get_Name() {\n // Group name preferred over local name\n return (this.is_Group ? this.bvGroup.groupName : this.name) || null;\n },\n get_Form: function get_Form() {\n return (this.is_Group ? this.bvGroup.form : this.form) || null;\n },\n get_Size: function get_Size() {\n return (this.is_Group ? this.bvGroup.size : this.size) || '';\n },\n get_State: function get_State() {\n return this.is_Group ? this.bvGroup.computedState : this.computedState;\n },\n get_ButtonVariant: function get_ButtonVariant() {\n // Local variant preferred over group variant\n if (this.buttonVariant) {\n return this.buttonVariant;\n } else if (this.is_Group && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n } // default variant\n\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n // Same for radio & check\n return ['btn', \"btn-\".concat(this.get_ButtonVariant), this.get_Size ? \"btn-\".concat(this.get_Size) : '', // 'disabled' class makes \"button\" look disabled\n this.is_Disabled ? 'disabled' : '', // 'active' class makes \"button\" look pressed\n this.is_Checked ? 'active' : '', // Focus class makes button look focused\n this.hasFocus ? 'focus' : ''];\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.computedLocalChecked = newVal;\n }\n },\n methods: {\n handleFocus: function handleFocus(evt) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (evt.target) {\n if (evt.type === 'focus') {\n this.hasFocus = true;\n } else if (evt.type === 'blur') {\n this.hasFocus = false;\n }\n }\n },\n // Convenience methods for focusing the input\n focus: function focus() {\n if (!this.is_Disabled && this.$refs.input && this.$refs.input.focus) {\n this.$refs.input.focus();\n }\n },\n blur: function blur() {\n if (!this.is_Disabled && this.$refs.input && this.$refs.input.blur) {\n this.$refs.input.blur();\n }\n }\n },\n render: function render(h) {\n var defaultSlot = this.$slots.default; // Generate the input element\n\n var on = {\n change: this.handleChange\n };\n\n if (this.is_BtnMode) {\n // Handlers for focus styling when in button mode\n on.focus = on.blur = this.handleFocus;\n }\n\n var input = h('input', {\n ref: 'input',\n key: 'input',\n on: on,\n class: {\n 'form-check-input': this.is_Plain,\n 'custom-control-input': this.is_Custom,\n 'is-valid': this.get_State === true && !this.is_BtnMode,\n 'is-invalid': this.get_State === false && !this.is_BtnMode,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': this.is_Plain && !defaultSlot\n },\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }],\n attrs: {\n id: this.safeId(),\n type: this.is_Radio ? 'radio' : 'checkbox',\n name: this.get_Name,\n form: this.get_Form,\n disabled: this.is_Disabled,\n required: this.is_Required,\n autocomplete: 'off',\n 'aria-required': this.is_Required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n },\n domProps: {\n value: this.value,\n checked: this.is_Checked\n }\n });\n\n if (this.is_BtnMode) {\n // Button mode\n var button = h('label', {\n class: this.buttonClasses\n }, [input, defaultSlot]);\n\n if (!this.is_Group) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [button]);\n }\n\n return button;\n } else {\n // Not button mode\n var label = h(false); // If no label content in plain mode we dont render the label\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n if (!(this.is_Plain && !defaultSlot)) {\n label = h('label', {\n class: {\n 'form-check-label': this.is_Plain,\n 'custom-control-label': this.is_Custom\n },\n attrs: {\n for: this.safeId()\n }\n }, defaultSlot);\n } // Wrap it in a div\n\n\n return h('div', {\n class: _defineProperty({\n 'form-check': this.is_Plain,\n 'form-check-inline': this.is_Plain && this.is_Inline,\n 'custom-control': this.is_Custom,\n 'custom-control-inline': this.is_Custom && this.is_Inline,\n 'custom-checkbox': this.is_Custom && this.is_Check && !this.is_Switch,\n 'custom-switch': this.is_Switch,\n 'custom-radio': this.is_Custom && this.is_Radio\n }, \"form-control-\".concat(this.get_Size), Boolean(this.get_Size && !this.is_BtnMode))\n }, [input, label]);\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-radio-check.js\n// module id = vd6y\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.commonProps = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _inputGroupText = _interopRequireDefault(require(\"./input-group-text\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar commonProps = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n isText: {\n type: Boolean,\n default: false\n } // @vue/component\n\n};\nexports.commonProps = commonProps;\n\nvar _default = _vue.default.extend({\n name: 'BInputGroupAddon',\n functional: true,\n props: _objectSpread({}, commonProps, {\n append: {\n type: Boolean,\n default: false\n }\n }),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: {\n 'input-group-append': props.append,\n 'input-group-prepend': !props.append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(_inputGroupText.default, children)] : children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/input-group/input-group-addon.js\n// module id = vxJQ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// -- Constants --\nvar DEPRECATED_MSG = 'Setting prop \"is-nav-bar\" is deprecated. Use the component instead.';\nvar props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n },\n align: {\n type: String,\n default: null\n },\n tabs: {\n type: Boolean,\n default: false\n },\n pills: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n isNavBar: {\n type: Boolean,\n default: false,\n // `deprecated` -> Don't use this prop\n // `deprecation` -> Refers to a change in prop usage\n deprecated: DEPRECATED_MSG\n } // -- Utils --\n\n};\nexports.props = props;\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // @vue/component\n\n\nvar _default = _vue.default.extend({\n name: 'BNav',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: (_class = {\n nav: !props.isNavBar,\n 'navbar-nav': props.isNavBar,\n 'nav-tabs': props.tabs && !props.isNavBar,\n 'nav-pills': props.pills && !props.isNavBar,\n 'flex-column': props.vertical && !props.isNavBar,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(props.align), !props.vertical && props.align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav.js\n// module id = w+xg\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _stableSort = _interopRequireDefault(require(\"../../../utils/stable-sort\"));\n\nvar _startcase = _interopRequireDefault(require(\"../../../utils/startcase\"));\n\nvar _array = require(\"../../../utils/array\");\n\nvar _inspect = require(\"../../../utils/inspect\");\n\nvar _defaultSortCompare = _interopRequireDefault(require(\"./default-sort-compare\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _default = {\n props: {\n sortBy: {\n type: String,\n default: null\n },\n sortDesc: {\n // To Do: Make this tri-state: true, false, null\n type: Boolean,\n default: false\n },\n sortDirection: {\n // This prop is named incorrectly.\n // It should be initialSortDirection\n // As it is a bit misleading (not to mention screws up\n // the Aria Label on the headers)\n type: String,\n default: 'asc',\n validator: function validator(direction) {\n return (0, _array.arrayIncludes)(['asc', 'desc', 'last'], direction);\n }\n },\n sortCompare: {\n type: Function,\n default: null\n },\n noSortReset: {\n // Another prop that should have had a better name.\n // It should be noSortClear (on non-sortable headers).\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n type: Boolean,\n default: false\n },\n labelSortAsc: {\n type: String,\n default: 'Click to sort Ascending'\n },\n labelSortDesc: {\n type: String,\n default: 'Click to sort Descending'\n },\n labelSortClear: {\n type: String,\n default: 'Click to clear sorting'\n },\n noLocalSorting: {\n type: Boolean,\n default: false\n },\n noFooterSorting: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n localSortBy: this.sortBy || '',\n localSortDesc: this.sortDesc || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n sortedItems: function sortedItems() {\n // Sorts the filtered items and returns a new array of the sorted items\n // or the original items array if not sorted.\n var items = (this.filteredItems || []).slice();\n var sortBy = this.localSortBy;\n var sortDesc = this.localSortDesc;\n var sortCompare = this.sortCompare;\n var localSorting = this.localSorting;\n\n if (sortBy && localSorting) {\n // stableSort returns a new array, and leaves the original array intact\n return (0, _stableSort.default)(items, function (a, b) {\n var result = null;\n\n if ((0, _inspect.isFunction)(sortCompare)) {\n // Call user provided sortCompare routine\n result = sortCompare(a, b, sortBy, sortDesc);\n }\n\n if ((0, _inspect.isUndefined)(result) || (0, _inspect.isNull)(result) || result === false) {\n // Fallback to built-in defaultSortCompare if sortCompare\n // is not defined or returns null/false\n result = (0, _defaultSortCompare.default)(a, b, sortBy);\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: {\n isSortable: function isSortable(newVal, oldVal)\n /* istanbul ignore next: pain in the butt to test */\n {\n if (newVal) {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n } else {\n this.$off('head-clicked', this.handleSort);\n }\n },\n sortDesc: function sortDesc(newVal, oldVal) {\n if (newVal === this.localSortDesc) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortDesc = newVal || false;\n },\n sortBy: function sortBy(newVal, oldVal) {\n if (newVal === this.localSortBy) {\n /* istanbul ignore next */\n return;\n }\n\n this.localSortBy = newVal || null;\n },\n // Update .sync props\n localSortDesc: function localSortDesc(newVal, oldVal) {\n // Emit update to sort-desc.sync\n if (newVal !== oldVal) {\n this.$emit('update:sortDesc', newVal);\n }\n },\n localSortBy: function localSortBy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:sortBy', newVal);\n }\n }\n },\n created: function created() {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, evt, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === 'asc') {\n _this.localSortDesc = false;\n } else if (sortDirection === 'desc') {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n if (key === this.localSortBy) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = key; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = null;\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit('sort-changed', this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {// No Classes for sorting currently...\n // All styles targeted using aria-* attrs\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable;\n var ariaLabel = '';\n\n if ((!field.label || !field.label.trim()) && !field.headerTitle) {\n // In case field's label and title are empty/blank, we need to\n // add a hint about what the column is about for non-sighted users.\n // This is duplicated code from tbody-row mixin, but we need it\n // here as well, since we overwrite the original aria-label.\n\n /* istanbul ignore next */\n ariaLabel = (0, _startcase.default)(key);\n } // The correctness of these labels is very important for screen-reader users.\n\n\n var ariaLabelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n ariaLabelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n ariaLabelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === 'asc') {\n ariaLabelSorting = this.labelSortAsc;\n } else if (sortDirection === 'desc') {\n ariaLabelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n ariaLabelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Assemble the aria-label attribute value\n\n\n ariaLabel = [ariaLabel.trim(), ariaLabelSorting.trim()].filter(Boolean).join(': '); // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attributes\n // (All the above just to get these two values)\n\n return {\n 'aria-label': ariaLabel || null,\n 'aria-sort': ariaSort\n };\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/table/helpers/mixin-sorting.js\n// module id = wJ5m\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _html = require(\"../utils/html\");\n\nvar _inspect = require(\"../utils/inspect\");\n\nvar _object = require(\"../utils/object\");\n\n// @vue/component\nvar _default2 = {\n props: {\n options: {\n type: [Array, Object],\n default: function _default() {\n return [];\n }\n },\n valueField: {\n type: String,\n default: 'value'\n },\n textField: {\n type: String,\n default: 'text'\n },\n htmlField: {\n type: String,\n default: 'html'\n },\n disabledField: {\n type: String,\n default: 'disabled'\n }\n },\n computed: {\n formOptions: function formOptions() {\n var options = this.options;\n var valueField = this.valueField;\n var textField = this.textField;\n var htmlField = this.htmlField;\n var disabledField = this.disabledField;\n\n if ((0, _inspect.isArray)(options)) {\n // Normalize flat-ish arrays to Array of Objects\n return options.map(function (option) {\n if ((0, _inspect.isPlainObject)(option)) {\n var value = option[valueField];\n var text = String(option[textField]);\n return {\n value: (0, _inspect.isUndefined)(value) ? text : value,\n text: (0, _html.stripTags)(text),\n html: option[htmlField],\n disabled: Boolean(option[disabledField])\n };\n }\n\n return {\n value: option,\n text: (0, _html.stripTags)(String(option)),\n disabled: false\n };\n });\n } else {\n // options is Object\n // Normalize Objects to Array of Objects\n return (0, _object.keys)(options).map(function (key) {\n var option = options[key] || {};\n\n if ((0, _inspect.isPlainObject)(option)) {\n var value = option[valueField];\n var text = option[textField];\n return {\n value: (0, _inspect.isUndefined)(value) ? key : value,\n text: (0, _inspect.isUndefined)(text) ? (0, _html.stripTags)(String(key)) : (0, _html.stripTags)(String(text)),\n html: option[htmlField],\n disabled: Boolean(option[disabledField])\n };\n }\n\n return {\n value: key,\n text: (0, _html.stripTags)(String(option)),\n disabled: false\n };\n });\n }\n }\n }\n};\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-options.js\n// module id = wen1\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _html = require(\"../utils/html\");\n\nvar _formCheckbox = _interopRequireDefault(require(\"../components/form-checkbox/form-checkbox\"));\n\nvar _formRadio = _interopRequireDefault(require(\"../components/form-radio/form-radio\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// @vue/component\nvar _default = {\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n validated: {\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n plain: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n computed: {\n inline: function inline() {\n return !this.stacked;\n },\n groupName: function groupName() {\n // Checks/Radios tied to the same model must have the same name,\n // especially for ARIA accessibility.\n return this.name || this.safeId();\n },\n groupClasses: function groupClasses() {\n if (this.buttons) {\n return ['btn-group-toggle', this.inline ? 'btn-group' : 'btn-group-vertical', this.size ? \"btn-group-\".concat(this.size) : '', this.validated ? \"was-validated\" : ''];\n }\n\n return [this.validated ? \"was-validated\" : ''];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : null;\n }\n },\n watch: {\n checked: function checked(newVal, oldVal) {\n this.localChecked = newVal;\n },\n localChecked: function localChecked(newVal, oldVal) {\n this.$emit('input', newVal);\n }\n },\n render: function render(h) {\n var _this = this;\n\n var $slots = this.$slots;\n var inputs = this.formOptions.map(function (option, idx) {\n var uid = \"_BV_option_\".concat(idx, \"_\");\n return h(_this.is_RadioGroup ? _formRadio.default : _formCheckbox.default, {\n key: uid,\n props: {\n id: _this.safeId(uid),\n value: option.value,\n // Individual radios or checks can be disabled in a group\n disabled: option.disabled || false // We don't need to include these, since the input's will know they are inside here\n // name: this.groupName,\n // form: this.form || null,\n // required: Boolean(this.name && this.required)\n\n }\n }, [h('span', {\n domProps: (0, _html.htmlOrText)(option.html, option.text)\n })]);\n });\n return h('div', {\n class: this.groupClasses,\n attrs: {\n id: this.safeId(),\n role: this.is_RadioGroup ? 'radiogroup' : 'group',\n // Tabindex to allow group to be focused if needed\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n }, [$slots.first, inputs, $slots.default]);\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-radio-check-group.js\n// module id = wybu\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n tooltip: {\n type: Boolean,\n default: false\n },\n forceShow: {\n type: Boolean,\n default: false\n },\n state: {\n type: [Boolean, String],\n default: null\n },\n ariaLive: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: null\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BFormValidFeedback',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var show = props.forceShow === true || props.state === true || props.state === 'valid';\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: {\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n 'd-block': show\n },\n attrs: {\n id: props.id,\n role: props.role,\n 'aria-live': props.ariaLive,\n 'aria-atomic': props.ariaLive ? 'true' : null\n }\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-valid-feedback.js\n// module id = x7Qz\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _imgLazy = _interopRequireWildcard(require(\"../image/img-lazy\"));\n\nvar _object = require(\"../../utils/object\");\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Copy of `` props, and remove conflicting/non-applicable props\n// The `omit()` util creates a new object, so we can just pass the original props\nvar lazyProps = (0, _object.omit)(_imgLazy.props, ['left', 'right', 'center', 'block', 'rounded', 'thumbnail', 'fluid', 'fluidGrow']);\n\nvar props = _objectSpread({}, lazyProps, {\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false // alias of 'left'\n\n },\n right: {\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false // alias of 'right'\n\n } // @vue/component\n\n});\n\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BCardImgLazy',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n } // False out the left/center/right props before passing to b-img-lazy\n\n\n var lazyProps = _objectSpread({}, props, {\n left: false,\n right: false,\n center: false\n });\n\n return h(_imgLazy.default, (0, _vueFunctionalDataMerge.mergeData)(data, {\n class: [baseClass],\n props: lazyProps\n }));\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/card/card-img-lazy.js\n// module id = xCJ0\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nvar _link = _interopRequireWildcard(require(\"../link/link\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar props = (0, _link.propsFactory)(); // @vue/component\n\nexports.props = props;\n\nvar _default2 = _vue.default.extend({\n name: 'BNavItem',\n functional: true,\n props: _objectSpread({}, props, {\n linkAttrs: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n linkClasses: {\n type: [String, Object, Array],\n default: null\n }\n }),\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n listeners = _ref.listeners,\n children = _ref.children;\n // We transfer the listeners to the link\n delete data.on;\n return h('li', (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'nav-item'\n }), [h(_link.default, {\n staticClass: 'nav-link',\n class: props.linkClasses,\n attrs: props.linkAttrs,\n props: props,\n on: listeners\n }, children)]);\n }\n});\n\nexports.default = _default2;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/nav/nav-item.js\n// module id = xGBE\n// module chunks = 0","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\nvar combineURLs = require('./../helpers/combineURLs');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Support baseURL config\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n }\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData(\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers || {}\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData(\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData(\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/axios/lib/core/dispatchRequest.js\n// module id = xLtR\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_create-property.js\n// module id = xQEJ\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formTextarea = _interopRequireDefault(require(\"./form-textarea\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormTextarea: _formTextarea.default,\n BTextarea: _formTextarea.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-textarea/index.js\n// module id = xUiR\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_object-create.js\n// module id = xlna\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _dropdown = _interopRequireDefault(require(\"./dropdown\"));\n\nvar _dropdownItem = _interopRequireDefault(require(\"./dropdown-item\"));\n\nvar _dropdownItemButton = _interopRequireDefault(require(\"./dropdown-item-button\"));\n\nvar _dropdownHeader = _interopRequireDefault(require(\"./dropdown-header\"));\n\nvar _dropdownDivider = _interopRequireDefault(require(\"./dropdown-divider\"));\n\nvar _dropdownForm = _interopRequireDefault(require(\"./dropdown-form\"));\n\nvar _dropdownText = _interopRequireDefault(require(\"./dropdown-text\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BDropdown: _dropdown.default,\n BDd: _dropdown.default,\n BDropdownItem: _dropdownItem.default,\n BDdItem: _dropdownItem.default,\n BDropdownItemButton: _dropdownItemButton.default,\n BDropdownItemBtn: _dropdownItemButton.default,\n BDdItemButton: _dropdownItemButton.default,\n BDdItemBtn: _dropdownItemButton.default,\n BDropdownHeader: _dropdownHeader.default,\n BDdHeader: _dropdownHeader.default,\n BDropdownDivider: _dropdownDivider.default,\n BDdDivider: _dropdownDivider.default,\n BDropdownForm: _dropdownForm.default,\n BDdForm: _dropdownForm.default,\n BDropdownText: _dropdownText.default,\n BDdText: _dropdownText.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/dropdown/index.js\n// module id = y47G\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _scrollspy = _interopRequireDefault(require(\"./scrollspy.class\"));\n\nvar _env = require(\"../../utils/env\");\n\nvar _object = require(\"../../utils/object\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Key we use to store our instance\nvar BV_SCROLLSPY = '__BV_ScrollSpy__'; // Build a ScrollSpy config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\n/* istanbul ignore next: not easy to test */\n\nvar parseBindings = function parseBindings(bindings)\n/* istanbul ignore next: not easy to test */\n{\n var config = {}; // If argument, assume element ID\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.element = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n (0, _object.keys)(bindings.modifiers).forEach(function (mod) {\n if (/^\\d+$/.test(mod)) {\n // Offset value\n config.offset = parseInt(mod, 10);\n } else if (/^(auto|position|offset)$/.test(mod)) {\n // Offset method\n config.method = mod;\n }\n }); // Process value\n\n if ((0, _inspect.isString)(bindings.value)) {\n // Value is a CSS ID or selector\n config.element = bindings.value;\n } else if ((0, _inspect.isNumber)(bindings.value)) {\n // Value is offset\n config.offset = Math.round(bindings.value);\n } else if ((0, _inspect.isObject)(bindings.value)) {\n // Value is config object\n // Filter the object based on our supported config options\n (0, _object.keys)(bindings.value).filter(function (k) {\n return Boolean(_scrollspy.default.DefaultType[k]);\n }).forEach(function (k) {\n config[k] = bindings.value[k];\n });\n }\n\n return config;\n}; // Add or update ScrollSpy on our element\n\n\nvar applyScrollspy = function applyScrollspy(el, bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n if (!_env.isBrowser) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings);\n\n if (el[BV_SCROLLSPY]) {\n el[BV_SCROLLSPY].updateConfig(config, vnode.context.$root);\n } else {\n el[BV_SCROLLSPY] = new _scrollspy.default(el, config, vnode.context.$root);\n }\n}; // Remove ScrollSpy on our element\n\n/* istanbul ignore next: not easy to test */\n\n\nvar removeScrollspy = function removeScrollspy(el)\n/* istanbul ignore next: not easy to test */\n{\n if (el[BV_SCROLLSPY]) {\n el[BV_SCROLLSPY].dispose();\n el[BV_SCROLLSPY] = null;\n delete el[BV_SCROLLSPY];\n }\n};\n/*\n * Export our directive\n */\n\n\nvar _default = {\n bind: function bind(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n applyScrollspy(el, bindings, vnode);\n },\n inserted: function inserted(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n applyScrollspy(el, bindings, vnode);\n },\n update: function update(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyScrollspy(el, bindings, vnode);\n }\n },\n componentUpdated: function componentUpdated(el, bindings, vnode)\n /* istanbul ignore next: not easy to test */\n {\n if (bindings.value !== bindings.oldValue) {\n applyScrollspy(el, bindings, vnode);\n }\n },\n unbind: function unbind(el)\n /* istanbul ignore next: not easy to test */\n {\n removeScrollspy(el);\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/directives/scrollspy/scrollspy.js\n// module id = yA1N\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar noop = function noop() {};\n\nvar _default = noop;\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/utils/noop.js\n// module id = yCSL\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.props = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _vueFunctionalDataMerge = require(\"vue-functional-data-merge\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar props = {\n tag: {\n type: String,\n default: 'div'\n } // @vue/component\n\n};\nexports.props = props;\n\nvar _default = _vue.default.extend({\n name: 'BFormRow',\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, (0, _vueFunctionalDataMerge.mergeData)(data, {\n staticClass: 'form-row'\n }), children);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/layout/form-row.js\n// module id = yCm2\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/es6.object.is.js\n// module id = yDbc\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_cof.js\n// module id = yEAn\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inspect = require(\"../utils/inspect\");\n\n// @vue/component\nvar _default = {\n model: {\n prop: 'value',\n event: 'update'\n },\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n formatter: {\n type: Function,\n default: null\n },\n trim: {\n type: Boolean,\n default: false\n },\n number: {\n type: Boolean,\n default: false\n },\n lazyFormatter: {\n type: Boolean,\n value: false\n }\n },\n data: function data() {\n return {\n localValue: this.stringifyValue(this.value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n return [{\n // Range input needs class custom-range\n 'custom-range': this.type === 'range',\n // plaintext not supported by type=range or type=color\n 'form-control-plaintext': this.plaintext && this.type !== 'range' && this.type !== 'color',\n // form-control not used by type=range or plaintext. Always used by type=color\n 'form-control': !this.plaintext && this.type !== 'range' || this.type === 'color'\n }, this.sizeFormClass, this.stateClass];\n },\n computedAriaInvalid: function computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // this.ariaInvalid is null or false or 'false'\n return this.computedState === false ? 'true' : null;\n }\n\n if (this.ariaInvalid === true) {\n // User wants explicit aria-invalid=true\n return 'true';\n } // Most likely a string value (which could be the string 'true')\n\n\n return this.ariaInvalid;\n }\n },\n watch: {\n value: function value(newVal, oldVal) {\n if (newVal !== oldVal && newVal !== this.localValue) {\n this.localValue = this.stringifyValue(newVal);\n }\n }\n },\n mounted: function mounted() {\n var value = this.stringifyValue(this.value);\n\n if (value !== this.localValue) {\n /* istanbul ignore next */\n this.localValue = value;\n }\n },\n methods: {\n stringifyValue: function stringifyValue(value) {\n return (0, _inspect.isUndefined)(value) || (0, _inspect.isNull)(value) ? '' : String(value);\n },\n getFormatted: function getFormatted(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = this.stringifyValue(value);\n\n if ((!this.lazyFormatter || force) && (0, _inspect.isFunction)(this.formatter)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n value = this.stringifyValue(value);\n\n if (this.localValue !== value) {\n // keep the input set to the value before modifiers\n this.localValue = value;\n\n if (this.number) {\n // Emulate .number modifier behaviour\n var num = parseFloat(value);\n value = isNaN(num) ? value : num;\n } else if (this.trim) {\n // Emulate .trim modifier behaviour\n value = value.trim();\n } // Update the v-model\n\n\n this.$emit('update', value);\n }\n },\n onInput: function onInput(evt) {\n // evt.target.composing is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n\n /* istanbul ignore if: hard to test composition events */\n if (evt.target.composing) {\n return;\n }\n\n var formatted = this.getFormatted(evt.target.value, evt);\n\n if (formatted === false || evt.defaultPrevented) {\n evt.preventDefault();\n return;\n }\n\n this.updateValue(formatted);\n this.$emit('input', formatted);\n },\n onChange: function onChange(evt) {\n // evt.target.composing is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n\n /* istanbul ignore if: hard to test composition events */\n if (evt.target.composing) {\n return;\n }\n\n var formatted = this.getFormatted(evt.target.value, evt);\n\n if (formatted === false) {\n return;\n }\n\n this.updateValue(formatted);\n this.$emit('change', formatted);\n },\n onBlur: function onBlur(evt) {\n // lazy formatter\n if (this.lazyFormatter) {\n var formatted = this.getFormatted(evt.target.value, evt, true);\n\n if (formatted === false) {\n return;\n }\n\n this.updateValue(formatted);\n } // Emit native blur event\n\n\n this.$emit('blur', evt);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n this.$el.focus();\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n this.$el.blur();\n }\n }\n }\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/mixins/form-text.js\n// module id = yHJO\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _formSelect = _interopRequireDefault(require(\"./form-select\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BFormSelect: _formSelect.default,\n BSelect: _formSelect.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-select/index.js\n// module id = yKl8\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _collapse = _interopRequireDefault(require(\"./collapse\"));\n\nvar _toggle = _interopRequireDefault(require(\"../../directives/toggle/toggle\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BCollapse: _collapse.default\n};\nvar directives = {\n BToggle: _toggle.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components,\n directives: directives\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/collapse/index.js\n// module id = yTKe\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _formOptions = _interopRequireDefault(require(\"../../mixins/form-options\"));\n\nvar _html = require(\"../../utils/html\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BFormDatalist',\n mixins: [_formOptions.default],\n props: {\n id: {\n type: String,\n default: null,\n required: true\n }\n },\n render: function render(h) {\n var options = this.formOptions.map(function (option, index) {\n return h('option', {\n key: \"option_\".concat(index, \"_opt\"),\n attrs: {\n disabled: option.disabled\n },\n domProps: _objectSpread({}, (0, _html.htmlOrText)(option.html, option.text), {\n value: option.value\n })\n });\n });\n return h('datalist', {\n attrs: {\n id: this.id\n }\n }, [options, this.$slots.default]);\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form/form-datalist.js\n// module id = yg5N\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _carousel = _interopRequireDefault(require(\"./carousel\"));\n\nvar _carouselSlide = _interopRequireDefault(require(\"./carousel-slide\"));\n\nvar _plugins = require(\"../../utils/plugins\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar components = {\n BCarousel: _carousel.default,\n BCarouselSlide: _carouselSlide.default\n};\nvar _default = {\n install: (0, _plugins.installFactory)({\n components: components\n })\n};\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/carousel/index.js\n// module id = ylhW\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_ctx.js\n// module id = ytf2\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _id = _interopRequireDefault(require(\"../../mixins/id\"));\n\nvar _form = _interopRequireDefault(require(\"../../mixins/form\"));\n\nvar _formSize = _interopRequireDefault(require(\"../../mixins/form-size\"));\n\nvar _formState = _interopRequireDefault(require(\"../../mixins/form-state\"));\n\nvar _formText = _interopRequireDefault(require(\"../../mixins/form-text\"));\n\nvar _formSelection = _interopRequireDefault(require(\"../../mixins/form-selection\"));\n\nvar _formValidity = _interopRequireDefault(require(\"../../mixins/form-validity\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// @vue/component\nvar _default = _vue.default.extend({\n name: 'BFormTextarea',\n mixins: [_id.default, _form.default, _formSize.default, _formState.default, _formText.default, _formSelection.default, _formValidity.default],\n props: {\n rows: {\n type: [Number, String],\n default: 2\n },\n maxRows: {\n type: [Number, String],\n default: null\n },\n wrap: {\n // 'soft', 'hard' or 'off'. Browser default is 'soft'\n type: String,\n default: 'soft'\n },\n noResize: {\n // Disable the resize handle of textarea\n type: Boolean,\n default: false\n },\n noAutoShrink: {\n // When in auto resize mode, disable shrinking to content height\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n dontResize: true,\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto resize mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // The computed height for auto resize.\n // We avoid setting the style to null, which can override user manual resize.\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-resize is\n // enabled so that the computed height calcaultion returns a stable value.\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value).\n // A value of 1 can cause issues in some browsers, and most browsers only support\n // 2 as the smallest value.\n return Math.max(parseInt(this.rows, 10) || 2, 2);\n },\n computedMaxRows: function computedMaxRows() {\n return Math.max(this.computedMinRows, parseInt(this.maxRows, 10) || 0);\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea.\n // If auto-resize is enabled, then we return null as we use CSS to control height.\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n }\n },\n watch: {\n dontResize: function dontResize(newVal, oldval) {\n if (!newVal) {\n this.setHeight();\n }\n },\n localValue: function localValue(newVal, oldVal) {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Enable opt-in resizing once mounted\n this.$nextTick(function () {\n _this.dontResize = false;\n });\n },\n activated: function activated() {\n var _this2 = this;\n\n // If we are being re-activated in , enable opt-in resizing\n this.$nextTick(function () {\n _this2.dontResize = false;\n });\n },\n deactivated: function deactivated() {\n // If we are in a deactivated , disable opt-in resizing\n this.dontResize = true;\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.dontResize = true;\n },\n methods: {\n setHeight: function setHeight() {\n var _this3 = this;\n\n this.$nextTick(function () {\n _this3.heightInPx = _this3.computeHeight();\n });\n },\n computeHeight: function computeHeight()\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n {\n if (this.$isServer || !(0, _inspect.isNull)(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document.\n // Must be checked after above checks\n\n if (!(0, _dom.isVisible)(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = (0, _dom.getCS)(el); // Height of one line of text in px\n\n var lineHeight = parseFloat(computedStyle.lineHeight); // Calculate height of border and padding\n\n var border = (parseFloat(computedStyle.borderTopWidth) || 0) + (parseFloat(computedStyle.borderBottomWidth) || 0);\n var padding = (parseFloat(computedStyle.paddingTop) || 0) + (parseFloat(computedStyle.paddingBottom) || 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = el.style.height || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n el.style.height = 'auto';\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case this computedProp\n // returns the same value as before.\n\n el.style.height = oldHeight; // Calculate content height in \"rows\" (scrollHeight includes padding but not border)\n\n var contentRows = Math.max((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = Math.min(Math.max(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = Math.max(Math.ceil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of oldHeight and new height,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && (parseFloat(oldHeight) || 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n // Using self instead of this helps reduce code size during minification\n var self = this;\n return h('textarea', {\n ref: 'input',\n class: self.computedClass,\n style: self.computedStyle,\n directives: [{\n name: 'model',\n rawName: 'v-model',\n value: self.localValue,\n expression: 'localValue'\n }],\n attrs: {\n id: self.safeId(),\n name: self.name,\n form: self.form || null,\n disabled: self.disabled,\n placeholder: self.placeholder,\n required: self.required,\n autocomplete: self.autocomplete || null,\n readonly: self.readonly || self.plaintext,\n rows: self.computedRows,\n wrap: self.wrap || null,\n 'aria-required': self.required ? 'true' : null,\n 'aria-invalid': self.computedAriaInvalid\n },\n domProps: {\n value: self.localValue\n },\n on: _objectSpread({}, self.$listeners, {\n input: self.onInput,\n change: self.onChange,\n blur: self.onBlur\n })\n });\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/form-textarea/form-textarea.js\n// module id = z1dD\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _vue = _interopRequireDefault(require(\"../../utils/vue\"));\n\nvar _looseEqual = _interopRequireDefault(require(\"../../utils/loose-equal\"));\n\nvar _toString = _interopRequireDefault(require(\"../../utils/to-string\"));\n\nvar _warn = _interopRequireDefault(require(\"../../utils/warn\"));\n\nvar _dom = require(\"../../utils/dom\");\n\nvar _env = require(\"../../utils/env\");\n\nvar _inspect = require(\"../../utils/inspect\");\n\nvar _router = require(\"../../utils/router\");\n\nvar _pagination = _interopRequireDefault(require(\"../../mixins/pagination\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Props object\nvar props = {\n // pagination-nav specific props\n numberOfPages: {\n type: [Number, String],\n default: 1,\n validator: function validator(value) {\n var num = parseInt(value, 10);\n /* istanbul ignore if */\n\n if (isNaN(num) || num < 1) {\n (0, _warn.default)('b-pagination: prop \"number-of-pages\" must be a number greater than 0');\n return false;\n }\n\n return true;\n }\n },\n baseUrl: {\n type: String,\n default: '/'\n },\n useRouter: {\n type: Boolean,\n default: false\n },\n linkGen: {\n type: Function,\n default: null\n },\n pageGen: {\n type: Function,\n default: null\n },\n pages: {\n // Optional array of page links\n type: Array,\n default: null\n },\n noPageDetect: {\n // Disable auto page number detection if true\n type: Boolean,\n default: false\n },\n // router-link specific props\n activeClass: {\n type: String // default: undefined\n\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String // default: undefined\n\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n } // TODO: move this to an instance method in pagination mixin\n\n};\n\nvar sanitizeNumPages = function sanitizeNumPages(value) {\n var num = parseInt(value, 10) || 1;\n return num < 1 ? 1 : num;\n}; // Our render function is brought in via the pagination mixin\n// @vue/component\n\n\nvar _default = _vue.default.extend({\n name: 'BPaginationNav',\n mixins: [_pagination.default],\n props: props,\n computed: {\n // Used by render function to trigger wrapping in '' element\n isNav: function isNav() {\n return true;\n },\n computedValue: function computedValue() {\n // Returns the value prop as a number or `null` if undefined or < 1\n var val = parseInt(this.value, 10);\n return isNaN(val) || val < 1 ? null : val;\n }\n },\n watch: {\n numberOfPages: function numberOfPages(newVal, oldVal) {\n var _this = this;\n\n this.$nextTick(function () {\n _this.setNumPages();\n });\n },\n pages: function pages(newVal, oldVal) {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.setNumPages();\n });\n }\n },\n created: function created() {\n var _this3 = this;\n\n this.setNumPages(); // For SSR, assuming a page URL can be detected\n\n this.$nextTick(function () {\n _this3.guessCurrentPage();\n });\n },\n mounted: function mounted() {\n var _this4 = this;\n\n if (this.$router) {\n // We only add the watcher if vue router is detected\n this.$watch('$route', function (to, from) {\n _this4.$nextTick(function () {\n (0, _dom.requestAF)(function () {\n _this4.guessCurrentPage();\n });\n });\n });\n }\n },\n methods: {\n setNumPages: function setNumPages() {\n if ((0, _inspect.isArray)(this.pages) && this.pages.length > 0) {\n this.localNumPages = this.pages.length;\n } else {\n this.localNumPages = sanitizeNumPages(this.numberOfPages);\n }\n },\n onClick: function onClick(pageNum, evt) {\n var _this5 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNum === this.currentPage) {\n return;\n }\n\n (0, _dom.requestAF)(function () {\n // Update the v-model\n // Done in in requestAF() to allow browser to complete the\n // native browser click handling of a link\n _this5.currentPage = pageNum;\n\n _this5.$emit('change', pageNum);\n });\n this.$nextTick(function () {\n // Done in a nextTick() to ensure rendering complete\n try {\n // Emulate native link click page reloading behaviour by blurring the\n // paginator and returning focus to the document\n var target = evt.currentTarget || evt.target;\n target.blur();\n } catch (e) {}\n });\n },\n getPageInfo: function getPageInfo(pageNum) {\n if (!(0, _inspect.isArray)(this.pages) || this.pages.length === 0 || (0, _inspect.isUndefined)(this.pages[pageNum - 1])) {\n var link = \"\".concat(this.baseUrl).concat(pageNum);\n return {\n link: this.useRouter ? {\n path: link\n } : link,\n text: (0, _toString.default)(pageNum)\n };\n }\n\n var info = this.pages[pageNum - 1];\n\n if ((0, _inspect.isObject)(info)) {\n var _link = info.link;\n return {\n // Normalize link for router use\n link: (0, _inspect.isObject)(_link) ? _link : this.useRouter ? {\n path: _link\n } : _link,\n // Make sure text has a value\n text: (0, _toString.default)(info.text || pageNum)\n };\n } else {\n return {\n link: (0, _toString.default)(info),\n text: (0, _toString.default)(pageNum)\n };\n }\n },\n makePage: function makePage(pageNum) {\n var info = this.getPageInfo(pageNum);\n\n if (this.pageGen && (0, _inspect.isFunction)(this.pageGen)) {\n return this.pageGen(pageNum, info);\n }\n\n return info.text;\n },\n makeLink: function makeLink(pageNum) {\n var info = this.getPageInfo(pageNum);\n\n if (this.linkGen && (0, _inspect.isFunction)(this.linkGen)) {\n return this.linkGen(pageNum, info);\n }\n\n return info.link;\n },\n linkProps: function linkProps(pageNum) {\n var link = this.makeLink(pageNum);\n var props = {\n target: this.target || null,\n rel: this.rel || null,\n disabled: this.disabled,\n // The following props are only used if BLink detects router\n exact: this.exact,\n activeClass: this.activeClass,\n exactActiveClass: this.exactActiveClass,\n append: this.append,\n replace: this.replace,\n // nuxt-link specific prop\n noPrefetch: this.noPrefetch\n };\n\n if (this.useRouter || (0, _inspect.isObject)(link)) {\n props.to = link;\n } else {\n props.href = link;\n }\n\n return props;\n },\n resolveLink: function resolveLink() {\n var to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n // Given a to (or href string), convert to normalized route-like structure\n // Works only client side!!\n var link;\n\n try {\n // Convert the `to` to a HREF via a temporary `a` tag\n link = document.createElement('a');\n link.href = (0, _router.computeHref)({\n to: to\n }, 'a', '/', '/'); // We need to add the anchor to the document to make sure the\n // `pathname` is correctly detected in any browser (i.e. IE)\n\n document.body.appendChild(link); // Once href is assigned, the link will be normalized to the full URL bits\n\n var _link2 = link,\n pathname = _link2.pathname,\n hash = _link2.hash,\n search = _link2.search; // Remove link from document\n\n document.body.removeChild(link); // Return the location in a route-like object\n\n return {\n path: pathname,\n hash: hash,\n query: (0, _router.parseQuery)(search)\n };\n } catch (e) {\n /* istanbul ignore next */\n try {\n link && link.parentNode && link.parentNode.removeChild(link);\n } catch (e) {}\n /* istanbul ignore next */\n\n\n return {};\n }\n },\n resolveRoute: function resolveRoute() {\n var to = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n // Given a to (or href string), convert to normalized route location structure\n // works only when router available!!\n try {\n var route = this.$router.resolve(to, this.$route).route;\n return {\n path: route.path,\n hash: route.hash,\n query: route.query\n };\n } catch (e) {\n /* istanbul ignore next */\n return {};\n }\n },\n guessCurrentPage: function guessCurrentPage() {\n var guess = this.computedValue;\n var $router = this.$router;\n var $route = this.$route; // This section only occurs if we are client side, or server-side with $router\n\n /* istanbul ignore else */\n\n if (!this.noPageDetect && !guess && (_env.isBrowser || !_env.isBrowser && $router)) {\n // Current route (if router available)\n var currRoute = $router && $route ? {\n path: $route.path,\n hash: $route.hash,\n query: $route.query\n } : {}; // Current page full HREF (if client side). Can't be done as a computed prop!\n\n var loc = _env.isBrowser ? window.location || document.location : null;\n var currLink = loc ? {\n path: loc.pathname,\n hash: loc.hash,\n query: (0, _router.parseQuery)(loc.search)\n } : {}; // Loop through the possible pages looking for a match until found\n\n for (var page = 1; !guess && page <= this.localNumPages; page++) {\n var to = this.makeLink(page);\n\n if ($router && ((0, _inspect.isObject)(to) || this.useRouter)) {\n // Resolve the page via the $router\n guess = (0, _looseEqual.default)(this.resolveRoute(to), currRoute) ? page : null;\n } else if (_env.isBrowser) {\n // If no $router available (or !this.useRouter when `to` is a string)\n // we compare using parsed URIs\n guess = (0, _looseEqual.default)(this.resolveLink(to), currLink) ? page : null;\n } else {\n // probably SSR, but no $router so we can't guess, so lets break out of\n // the loop early\n\n /* istanbul ignore next */\n guess = -1;\n }\n }\n } // We set currentPage to 0 to trigger an $emit('input', null)\n // As the default for this.currentPage is -1 when no value is specified\n // And valid page numbers are greater than 0\n\n\n this.currentPage = guess > 0 ? guess : 0;\n }\n }\n});\n\nexports.default = _default;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/es/components/pagination-nav/pagination-nav.js\n// module id = zfKA\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/bootstrap-vue/node_modules/core-js/library/modules/_iterators.js\n// module id = zpnD\n// module chunks = 0"],"sourceRoot":""}
\ No newline at end of file
diff --git a/src/frontend_vue/ops_scripts/prod.sh b/src/frontend_vue/ops_scripts/prod.sh
index 281eb8d..35fdd74 100755
--- a/src/frontend_vue/ops_scripts/prod.sh
+++ b/src/frontend_vue/ops_scripts/prod.sh
@@ -4,4 +4,4 @@ cp ./config/config_prod.json ./config/config.json
npm install
npm run build
-http-server /src/dist
+# http-server /src/dist