{"version":3,"sources":["webpack:///./src/services/LinkServices.js","webpack:///./src/assets/Eastman_White_72dpi.png","webpack:///../../../src/mixins/measurable/index.ts","webpack:///../../../src/components/VGrid/VSpacer.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///../../../src/mixins/binds-attrs/index.ts","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/directives/intersect/index.ts","webpack:///../../../src/mixins/roundable/index.ts","webpack:///../../../src/mixins/colorable/index.ts","webpack:///../../../src/components/VResponsive/VResponsive.ts","webpack:///../../../src/components/VResponsive/index.ts","webpack:///../../../src/components/VImg/VImg.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","webpack:///./node_modules/core-js/modules/es.string.fixed.js","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///../../src/util/mergeData.ts","webpack:///./src/components/AppFooter.vue?3e3e","webpack:///src/components/AppFooter.vue","webpack:///./src/components/AppFooter.vue?c0c6","webpack:///../../../src/components/VFooter/VFooter.ts","webpack:///./src/components/AppFooter.vue","webpack:///../../../src/mixins/positionable/index.ts"],"names":["getContactLink","userInfo","fields","name","value","givenName","surname","mail","organization","jobTitle","mobilePhone","country","urlParams","forEach","field","push","encodeURI","join","module","exports","props","height","Number","maxHeight","maxWidth","minHeight","minWidth","width","String","computed","measurableStyles","styles","this","events","app","Boolean","applicationProperty","watch","prev","removeApplication","activated","created","i","length","mounted","deactivated","destroyed","methods","callUpdate","force","updateApplication","makeWatcher","Object","$data","val","data","attrs$","listeners$","immediate","$","getOwnPropertyDescriptor","f","toLength","toString","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","$endsWith","endsWith","min","Math","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","prototype","writable","target","proto","forced","searchString","that","endPosition","arguments","undefined","len","end","search","call","slice","outlined","shaped","tag","type","default","classes","roundedClasses","render","class","style","on","h","setBackgroundColor","$slots","inserted","window","modifiers","binding","handler","options","observer","IntersectionObserver","entries","el","isIntersecting","entry","unbind","init","observe","Intersect","rounded","tile","composite","values","color","setTextColor","colorName","mixins","aspectRatio","contentClass","computedAspectRatio","aspectStyle","paddingBottom","__cachedSizer","$createElement","staticClass","genContent","$listeners","hasIntersect","directives","intersect","alt","contain","eager","gradient","lazySrc","root","rootMargin","threshold","position","sizes","src","srcset","transition","currentSrc","image","isLoading","calculatedAspectRatio","naturalWidth","hasError","normalisedSrc","aspect","__cachedImage","backgroundImage","backgroundPosition","key","attrs","mode","loadImage","lazyImg","onLoad","startsWith","naturalHeight","onError","getSrc","err","console","pollForSize","timeout","poll","img","setTimeout","content","__genPlaceholder","placeholder","appear","node","mergeData","role","once","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","unsupportedIterableToArray","F","s","n","done","e","_e","TypeError","normalCompletion","didErr","step","next","_e2","createHTML","forcedStringHTMLMethod","fixed","elevation","computedElevation","elevationClasses","isNaN","parseInt","pattern","styleList","styleProp","parseStyle","styleMap","mergeTarget","mergeClasses","mergeStyles","mergeListeners","prop","source","dest","arg","_vm","_h","_c","_self","staticStyle","_v","openPharma","openAbout","$msal","isAuthenticated","contactLink","staticRenderFns","open","inset","padless","VSheet","computedBottom","$vuetify","application","computedLeft","computedRight","isPositioned","absolute","left","right","bottom","$el","component","VFooter","VImg","VSpacer","availableProps","top","selected","factory"],"mappings":"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","file":"js/chunk-28526d82.daf36a8c.js","sourcesContent":["export default {\n getContactLink: function(userInfo) {\n if (!userInfo) return '/contact'\n\n const fields = [\n {name: 'fname', value: userInfo.givenName},\n {name: 'lname', value: userInfo.surname},\n {name: 'mailto', value: userInfo.mail},\n {name: 'company', value: userInfo.organization},\n {name: 'title', value: userInfo.jobTitle},\n {name: 'phone', value: userInfo.mobilePhone},\n {name: 'country', value: userInfo.country},\n ]\n\n var urlParams = []\n\n fields.forEach(field => {\n urlParams.push(`${field.name}=${field.value}`)\n })\n\n return encodeURI(`/contact?${urlParams.join('&')}`)\n },\n}","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAAPCAYAAAAmqKvRAAAACXBIWXMAAAsSAAALEgHS3X78AAADAklEQVRYhe2Z7ZEaMQyG38vkP9sBmwogFUAqgFRwpANSQbgOrgSughwVZKkgUEGWDqCCzeygnTP2K6H9mCQ/8sx4BrSW15ZkW4iHqqpyAHVrS6H0nyeSWw4Azon0lgzA1BirkDFK6dcV7xilNO8aYdjnnr3PYqOYzDHPUHcqOiElqqraVN0AaXPHSFui17RpVVVFoqHjeZ9F4RzjNZhjljzlsPXVraS9b8mInmee56A/s+PmXRIj/Vg5tB9J5EF2zU8As+TJ32cezbMrte7YobtOJD5G906BIR2eiTM9sMB4TiS3nABcEumfYRQ4etnjjWzdDG8/hqlrOfwJwIPRPItp9PeRnEXwJJFceQHwUe69TMarv3+VO2sftWMywpU6WOK+7K7UaBwe73BvELIN8UnW8xTJxz0CyzyB3ieSN3JDOU5ioDhRYyxja4lNyFKMdSCNLbD+/iMZ5dqfrYfJIIETBmE9jy05kl+JIxlsQ1isZOx7XOQEaphYSaG1wx/FcKzFk/feTSFxgLwkPa7Ui1kA+AbgO4BfEiiao4YiDsYJ2XUnEvgabe/lheW4ABYU6ulgObwNXe6ceEFr4ziOmUkQqgsbAGbITfSd9WF02RBwBgmbg2qXIRyet0jWYsJAOUuG+QXAznk3xg4YkoLMYRR991xJ6JGEefSYw2fKLyHT4VbSFhpam9Qu+Kwde0x3G9zbHwB8jsYK0RK9obAcelGMHcOStYbGLtp7RoqNYph9qG2spG1+Zwc1z7QJPUef2aLHor8NjHeIDNBUjxaJdroDh+ZVeS8MJ8Vo9tlFDt8rNYjGPhbWPG/pWWlbJtIrJakUscpPJXLruQWr2mkVqeY93v71szyRvrGSPpr97lXW5i0qabnxvE31r3elTYteVkTRTotZx1r+sUdFyktpJJLen5QsWTsR/ULkDM12DWdS66D0cXiuHCMX5QgqDOOt5djWFhyyl8Ru6vgTZgiYY49GXhKibQjNgZpczboDXL8Y6n/LEuE/APtHSfsX6T9eAPwGRe4u526EDrYAAAAASUVORK5CYII=\"","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","import './_grid.sass'\nimport { createSimpleFunctional } from '../../util/helpers'\n\nexport default createSimpleFunctional('spacer', 'div', 'v-spacer')\n","import { factory as PositionableFactory } from '../positionable'\nimport { TargetProp } from 'vuetify/types/services/application'\n\n// Util\nimport mixins from '../../util/mixins'\n\nexport default function applicationable (value: TargetProp, events: string[] = []) {\n /* @vue/component */\n return mixins(PositionableFactory(['absolute', 'fixed'])).extend({\n name: 'applicationable',\n\n props: {\n app: Boolean,\n },\n\n computed: {\n applicationProperty (): TargetProp {\n return value\n },\n },\n\n watch: {\n // If previous value was app\n // reset the provided prop\n app (x: boolean, prev: boolean) {\n prev\n ? this.removeApplication(true)\n : this.callUpdate()\n },\n applicationProperty (newVal, oldVal) {\n this.$vuetify.application.unregister(this._uid, oldVal)\n },\n },\n\n activated () {\n this.callUpdate()\n },\n\n created () {\n for (let i = 0, length = events.length; i < length; i++) {\n this.$watch(events[i], this.callUpdate)\n }\n this.callUpdate()\n },\n\n mounted () {\n this.callUpdate()\n },\n\n deactivated () {\n this.removeApplication()\n },\n\n destroyed () {\n this.removeApplication()\n },\n\n methods: {\n callUpdate () {\n if (!this.app) return\n\n this.$vuetify.application.register(\n this._uid,\n this.applicationProperty,\n this.updateApplication()\n )\n },\n removeApplication (force = false) {\n if (!force && !this.app) return\n\n this.$vuetify.application.unregister(\n this._uid,\n this.applicationProperty\n )\n },\n updateApplication: () => 0,\n },\n })\n}\n","import Vue, { WatchHandler } from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType & WatchHandler {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary,\n listeners$: {} as Dictionary,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar $endsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import { VNodeDirective } from 'vue/types/vnode'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n /* istanbul ignore if */\n if (!el._observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n el._observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n !el._observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el)\n else el._observe.init = true\n }, options)\n\n el._observe = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._observe) return\n\n el._observe.observer.unobserve(el)\n delete el._observe\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","import Vue from 'vue'\nimport { VNodeData } from 'vue/types/vnode'\nimport { consoleError } from '../../util/console'\nimport { isCssColor } from '../../util/colorUtils'\n\nexport default Vue.extend({\n name: 'colorable',\n\n props: {\n color: String,\n },\n\n methods: {\n setBackgroundColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n 'background-color': `${color}`,\n 'border-color': `${color}`,\n }\n } else if (color) {\n data.class = {\n ...data.class,\n [color]: true,\n }\n }\n\n return data\n },\n\n setTextColor (color?: string | false, data: VNodeData = {}): VNodeData {\n if (typeof data.style === 'string') {\n // istanbul ignore next\n consoleError('style must be an object', this)\n // istanbul ignore next\n return data\n }\n if (typeof data.class === 'string') {\n // istanbul ignore next\n consoleError('class must be an object', this)\n // istanbul ignore next\n return data\n }\n if (isCssColor(color)) {\n data.style = {\n ...data.style as object,\n color: `${color}`,\n 'caret-color': `${color}`,\n }\n } else if (color) {\n const [colorName, colorModifier] = color.toString().trim().split(' ', 2) as (string | undefined)[]\n data.class = {\n ...data.class,\n [colorName + '--text']: true,\n }\n if (colorModifier) {\n data.class['text--' + colorModifier] = true\n }\n }\n return data\n },\n },\n})\n","import './VResponsive.sass'\n\n// Mixins\nimport Measurable, { NumberOrNumberString } from '../../mixins/measurable'\n\n// Types\nimport { VNode } from 'vue'\n\n// Utils\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Measurable).extend({\n name: 'v-responsive',\n\n props: {\n aspectRatio: [String, Number] as NumberOrNumberString,\n contentClass: String,\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.aspectRatio)\n },\n aspectStyle (): object | undefined {\n return this.computedAspectRatio\n ? { paddingBottom: (1 / this.computedAspectRatio) * 100 + '%' }\n : undefined\n },\n __cachedSizer (): VNode | [] {\n if (!this.aspectStyle) return []\n\n return this.$createElement('div', {\n style: this.aspectStyle,\n staticClass: 'v-responsive__sizer',\n })\n },\n },\n\n methods: {\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-responsive__content',\n class: this.contentClass,\n }, this.$slots.default)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-responsive',\n style: this.measurableStyles,\n on: this.$listeners,\n }, [\n this.__cachedSizer,\n this.genContent(),\n ])\n },\n})\n","import VResponsive from './VResponsive'\n\nexport { VResponsive }\nexport default VResponsive\n","// Styles\nimport './VImg.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\n// Components\nimport VResponsive from '../VResponsive'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport mixins from '../../util/mixins'\nimport mergeData from '../../util/mergeData'\nimport { consoleWarn } from '../../util/console'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src: string\n srcset?: string\n lazySrc: string\n aspect: number\n}\n\nconst hasIntersect = typeof window !== 'undefined' && 'IntersectionObserver' in window\n\n/* @vue/component */\nexport default mixins(\n VResponsive,\n Themeable,\n).extend({\n name: 'v-img',\n\n directives: { intersect },\n\n props: {\n alt: String,\n contain: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n } as PropValidator,\n position: {\n type: String,\n default: 'center center',\n },\n sizes: String,\n src: {\n type: [String, Object],\n default: '',\n } as PropValidator,\n srcset: String,\n transition: {\n type: [Boolean, String],\n default: 'fade-transition',\n },\n },\n\n data () {\n return {\n currentSrc: '', // Set from srcset\n image: null as HTMLImageElement | null,\n isLoading: true,\n calculatedAspectRatio: undefined as number | undefined,\n naturalWidth: undefined as number | undefined,\n hasError: false,\n }\n },\n\n computed: {\n computedAspectRatio (): number {\n return Number(this.normalisedSrc.aspect || this.calculatedAspectRatio)\n },\n normalisedSrc (): srcObject {\n return this.src && typeof this.src === 'object'\n ? {\n src: this.src.src,\n srcset: this.srcset || this.src.srcset,\n lazySrc: this.lazySrc || this.src.lazySrc,\n aspect: Number(this.aspectRatio || this.src.aspect),\n } : {\n src: this.src,\n srcset: this.srcset,\n lazySrc: this.lazySrc,\n aspect: Number(this.aspectRatio || 0),\n }\n },\n __cachedImage (): VNode | [] {\n if (!(this.normalisedSrc.src || this.normalisedSrc.lazySrc || this.gradient)) return []\n\n const backgroundImage: string[] = []\n const src = this.isLoading ? this.normalisedSrc.lazySrc : this.currentSrc\n\n if (this.gradient) backgroundImage.push(`linear-gradient(${this.gradient})`)\n if (src) backgroundImage.push(`url(\"${src}\")`)\n\n const image = this.$createElement('div', {\n staticClass: 'v-image__image',\n class: {\n 'v-image__image--preload': this.isLoading,\n 'v-image__image--contain': this.contain,\n 'v-image__image--cover': !this.contain,\n },\n style: {\n backgroundImage: backgroundImage.join(', '),\n backgroundPosition: this.position,\n },\n key: +this.isLoading,\n })\n\n /* istanbul ignore if */\n if (!this.transition) return image\n\n return this.$createElement('transition', {\n attrs: {\n name: this.transition,\n mode: 'in-out',\n },\n }, [image])\n },\n },\n\n watch: {\n src () {\n // Force re-init when src changes\n if (!this.isLoading) this.init(undefined, undefined, true)\n else this.loadImage()\n },\n '$vuetify.breakpoint.width': 'getSrc',\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init (\n entries?: IntersectionObserverEntry[],\n observer?: IntersectionObserver,\n isIntersecting?: boolean\n ) {\n // If the current browser supports the intersection\n // observer api, the image is not observable, and\n // the eager prop isn't being used, do not load\n if (\n hasIntersect &&\n !isIntersecting &&\n !this.eager\n ) return\n\n if (this.normalisedSrc.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = this.normalisedSrc.lazySrc\n this.pollForSize(lazyImg, null)\n }\n /* istanbul ignore else */\n if (this.normalisedSrc.src) this.loadImage()\n },\n onLoad () {\n this.getSrc()\n this.isLoading = false\n this.$emit('load', this.src)\n\n if (\n this.image &&\n (this.normalisedSrc.src.endsWith('.svg') || this.normalisedSrc.src.startsWith('data:image/svg+xml'))\n ) {\n if (this.image.naturalHeight && this.image.naturalWidth) {\n this.naturalWidth = this.image.naturalWidth\n this.calculatedAspectRatio = this.image.naturalWidth / this.image.naturalHeight\n } else {\n this.calculatedAspectRatio = 1\n }\n }\n },\n onError () {\n this.hasError = true\n this.$emit('error', this.src)\n },\n getSrc () {\n /* istanbul ignore else */\n if (this.image) this.currentSrc = this.image.currentSrc || this.image.src\n },\n loadImage () {\n const image = new Image()\n this.image = image\n\n image.onload = () => {\n /* istanbul ignore if */\n if (image.decode) {\n image.decode().catch((err: DOMException) => {\n consoleWarn(\n `Failed to decode image, trying to render anyway\\n\\n` +\n `src: ${this.normalisedSrc.src}` +\n (err.message ? `\\nOriginal error: ${err.message}` : ''),\n this\n )\n }).then(this.onLoad)\n } else {\n this.onLoad()\n }\n }\n image.onerror = this.onError\n\n this.hasError = false\n this.sizes && (image.sizes = this.sizes)\n this.normalisedSrc.srcset && (image.srcset = this.normalisedSrc.srcset)\n image.src = this.normalisedSrc.src\n this.$emit('loadstart', this.normalisedSrc.src)\n\n this.aspectRatio || this.pollForSize(image)\n this.getSrc()\n },\n pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n const { naturalHeight, naturalWidth } = img\n\n if (naturalHeight || naturalWidth) {\n this.naturalWidth = naturalWidth\n this.calculatedAspectRatio = naturalWidth / naturalHeight\n } else if (!img.complete && this.isLoading && !this.hasError && timeout != null) {\n setTimeout(poll, timeout)\n }\n }\n\n poll()\n },\n genContent () {\n const content: VNode = VResponsive.options.methods.genContent.call(this)\n if (this.naturalWidth) {\n this._b(content.data!, 'div', {\n style: { width: `${this.naturalWidth}px` },\n })\n }\n\n return content\n },\n __genPlaceholder (): VNode | void {\n if (this.$slots.placeholder) {\n const placeholder = this.isLoading\n ? [this.$createElement('div', {\n staticClass: 'v-image__placeholder',\n }, this.$slots.placeholder)]\n : []\n\n if (!this.transition) return placeholder[0]\n\n return this.$createElement('transition', {\n props: {\n appear: true,\n name: this.transition,\n },\n }, placeholder)\n }\n },\n },\n\n render (h): VNode {\n const node = VResponsive.options.render.call(this, h)\n\n const data = mergeData(node.data!, {\n staticClass: 'v-image',\n attrs: {\n 'aria-label': this.alt,\n role: this.alt ? 'img' : undefined,\n },\n class: this.themeClasses,\n // Only load intersect directive if it\n // will work in the current browser.\n directives: hasIntersect\n ? [{\n name: 'intersect',\n modifiers: { once: true },\n value: {\n handler: this.init,\n options: this.options,\n },\n }]\n : undefined,\n })\n\n node.children = [\n this.__cachedSizer,\n this.__cachedImage,\n this.__genPlaceholder(),\n this.genContent(),\n ] as VNode[]\n\n return h(node.tag, data, node.children)\n },\n})\n","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n\n if (!it) {\n if (Array.isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n\n var F = function F() {};\n\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.fixed` method\n// https://tc39.es/ecma262/#sec-string.prototype.fixed\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, {\n fixed: function fixed() {\n return createHTML(this, 'tt', '', '');\n }\n});\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\n","/**\n * @copyright 2017 Alex Regan\n * @license MIT\n * @see https://github.com/alexsasharegan/vue-functional-data-merge\n */\n/* eslint-disable max-statements */\nimport { VNodeData } from 'vue'\nimport { camelize, wrapInArray } from './helpers'\n\nconst pattern = {\n styleList: /;(?![^(]*\\))/g,\n styleProp: /:(.*)/,\n} as const\n\nfunction parseStyle (style: string) {\n const styleMap: Dictionary = {}\n\n for (const s of style.split(pattern.styleList)) {\n let [key, val] = s.split(pattern.styleProp)\n key = key.trim()\n if (!key) {\n continue\n }\n // May be undefined if the `key: value` pair is incomplete.\n if (typeof val === 'string') {\n val = val.trim()\n }\n styleMap[camelize(key)] = val\n }\n\n return styleMap\n}\n\n/**\n * Intelligently merges data for createElement.\n * Merges arguments left to right, preferring the right argument.\n * Returns new VNodeData object.\n */\nexport default function mergeData (...vNodeData: VNodeData[]): VNodeData\nexport default function mergeData (): VNodeData {\n const mergeTarget: VNodeData & Dictionary = {}\n let i: number = arguments.length\n let prop: string\n\n // Allow for variadic argument length.\n while (i--) {\n // Iterate through the data properties and execute merge strategies\n // Object.keys eliminates need for hasOwnProperty call\n for (prop of Object.keys(arguments[i])) {\n switch (prop) {\n // Array merge strategy (array concatenation)\n case 'class':\n case 'directives':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeClasses(mergeTarget[prop], arguments[i][prop])\n }\n break\n case 'style':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeStyles(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Space delimited string concatenation strategy\n case 'staticClass':\n if (!arguments[i][prop]) {\n break\n }\n if (mergeTarget[prop] === undefined) {\n mergeTarget[prop] = ''\n }\n if (mergeTarget[prop]) {\n // Not an empty string, so concatenate\n mergeTarget[prop] += ' '\n }\n mergeTarget[prop] += arguments[i][prop].trim()\n break\n // Object, the properties of which to merge via array merge strategy (array concatenation).\n // Callback merge strategy merges callbacks to the beginning of the array,\n // so that the last defined callback will be invoked first.\n // This is done since to mimic how Object.assign merging\n // uses the last given value to assign.\n case 'on':\n case 'nativeOn':\n if (arguments[i][prop]) {\n mergeTarget[prop] = mergeListeners(mergeTarget[prop], arguments[i][prop])\n }\n break\n // Object merge strategy\n case 'attrs':\n case 'props':\n case 'domProps':\n case 'scopedSlots':\n case 'staticStyle':\n case 'hook':\n case 'transition':\n if (!arguments[i][prop]) {\n break\n }\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = {}\n }\n mergeTarget[prop] = { ...arguments[i][prop], ...mergeTarget[prop] }\n break\n // Reassignment strategy (no merge)\n default: // slot, key, ref, tag, show, keepAlive\n if (!mergeTarget[prop]) {\n mergeTarget[prop] = arguments[i][prop]\n }\n }\n }\n }\n\n return mergeTarget\n}\n\nexport function mergeStyles (\n target: undefined | string | object[] | object,\n source: undefined | string | object[] | object\n) {\n if (!target) return source\n if (!source) return target\n\n target = wrapInArray(typeof target === 'string' ? parseStyle(target) : target)\n\n return (target as object[]).concat(typeof source === 'string' ? parseStyle(source) : source)\n}\n\nexport function mergeClasses (target: any, source: any) {\n if (!source) return target\n if (!target) return source\n\n return target ? wrapInArray(target).concat(source) : source\n}\n\nexport function mergeListeners (...args: [\n { [key: string]: Function | Function[] } | undefined,\n { [key: string]: Function | Function[] } | undefined\n]) {\n if (!args[0]) return args[1]\n if (!args[1]) return args[0]\n\n const dest: { [key: string]: Function | Function[] } = {}\n\n for (let i = 2; i--;) {\n const arg = args[i]\n for (const event in arg) {\n if (!arg[event]) continue\n\n if (dest[event]) {\n // Merge current listeners before (because we are iterating backwards).\n // Note that neither \"target\" or \"source\" must be altered.\n dest[event] = ([] as Function[]).concat(arg[event], dest[event])\n } else {\n // Straight assign.\n dest[event] = arg[event]\n }\n }\n }\n\n return dest\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-footer',{staticStyle:{\"background-color\":\"var(--eastman-azure)\",\"padding\":\"1.2em 10vw\",\"height\":\"64px\"},attrs:{\"dark\":\"\"}},[_c('v-img',{attrs:{\"src\":require(\"@/assets/Eastman_White_72dpi.png\"),\"max-height\":\"15\",\"max-width\":\"128\",\"contain\":\"\"}}),_c('a',{staticClass:\"app-link app-link-white mx-6\",attrs:{\"href\":\"https://www.eastman.com/Pages/Legal_Information.aspx\",\"target\":\"_blank\"}},[_vm._v(\" Copyright \")]),_c('a',{staticClass:\"app-link app-link-white\",attrs:{\"href\":\"https://www.eastman.com/privacy/Pages/Overview.aspx\",\"target\":\"_blank\"}},[_vm._v(\" Privacy \")]),_c('v-spacer'),_c('span',{staticClass:\"app-link app-link-white mr-6\",on:{\"click\":_vm.openPharma}},[_vm._v(\" Eastman pharmaceutical ingredients \")]),_c('span',{staticClass:\"app-link app-link-white mr-6\",on:{\"click\":_vm.openAbout}},[_vm._v(\" About \")]),(_vm.$msal.isAuthenticated())?_c('router-link',{staticClass:\"app-link app-link-white mr-6\",attrs:{\"to\":\"/feedback\"}},[_vm._v(\" Feedback \")]):_vm._e(),_c('router-link',{staticClass:\"app-link app-link-white\",attrs:{\"to\":_vm.contactLink}},[_vm._v(\" Contact us \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppFooter.vue?vue&type=script&lang=js&\"","// Styles\nimport './VFooter.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue/types/vnode'\n\n/* @vue/component */\nexport default mixins(\n VSheet,\n Applicationable('footer', [\n 'height',\n 'inset',\n ]),\n SSRBootable\n).extend({\n name: 'v-footer',\n\n props: {\n height: {\n default: 'auto',\n type: [Number, String],\n },\n inset: Boolean,\n padless: Boolean,\n tag: {\n type: String,\n default: 'footer',\n },\n },\n\n computed: {\n applicationProperty (): string {\n return this.inset ? 'insetFooter' : 'footer'\n },\n classes (): object {\n return {\n ...VSheet.options.computed.classes.call(this),\n 'v-footer--absolute': this.absolute,\n 'v-footer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-footer--padless': this.padless,\n 'v-footer--inset': this.inset,\n }\n },\n computedBottom (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app\n ? this.$vuetify.application.bottom\n : 0\n },\n computedLeft (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.left\n : 0\n },\n computedRight (): number | undefined {\n if (!this.isPositioned) return undefined\n\n return this.app && this.inset\n ? this.$vuetify.application.right\n : 0\n },\n isPositioned (): boolean {\n return Boolean(\n this.absolute ||\n this.fixed ||\n this.app\n )\n },\n styles (): object {\n const height = parseInt(this.height)\n\n return {\n ...VSheet.options.computed.styles.call(this),\n height: isNaN(height) ? height : convertToUnit(height),\n left: convertToUnit(this.computedLeft),\n right: convertToUnit(this.computedRight),\n bottom: convertToUnit(this.computedBottom),\n }\n },\n },\n\n methods: {\n updateApplication () {\n const height = parseInt(this.height)\n\n return isNaN(height)\n ? this.$el ? this.$el.clientHeight : 0\n : height\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-footer',\n class: this.classes,\n style: this.styles,\n })\n\n return h(this.tag, data, this.$slots.default)\n },\n})\n","import { render, staticRenderFns } from \"./AppFooter.vue?vue&type=template&id=d078965e&\"\nimport script from \"./AppFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./AppFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VFooter,VImg,VSpacer})\n","import Vue from 'vue'\nimport { filterObjectOnKeys } from '../../util/helpers'\nimport { OptionsVue, VueConstructor } from 'vue/types/vue'\n\nconst availableProps = {\n absolute: Boolean,\n bottom: Boolean,\n fixed: Boolean,\n left: Boolean,\n right: Boolean,\n top: Boolean,\n}\ntype props = Record\n\nexport type Positionable = VueConstructor\n\nexport function factory (selected?: S[]): Positionable\nexport function factory (selected: undefined): OptionsVue\nexport function factory (selected: any[] = []): any {\n return Vue.extend({\n name: 'positionable',\n props: selected.length ? filterObjectOnKeys(availableProps, selected) : availableProps,\n })\n}\n\nexport default factory()\n\n// Add a `*` before the second `/`\n/* Tests /\nlet single = factory(['top']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet some = factory(['top', 'bottom']).extend({\n created () {\n this.top\n this.bottom\n this.absolute\n }\n})\n\nlet all = factory().extend({\n created () {\n this.top\n this.bottom\n this.absolute\n this.foobar\n }\n})\n/**/\n"],"sourceRoot":""}