{"version":3,"file":"public-DRrxSwtj.js","sources":["../../../app/frontend/scripts/register-as-organization.js","../../../app/frontend/scripts/search.js","../../../app/frontend/scripts/status-message.js","../../../app/frontend/components/utils/flashMessage.js","../../../app/frontend/scripts/vote.js","../../../app/frontend/alpine/cookie-consent.js","../../../app/frontend/alpine/dropdown-public.js","../../../app/frontend/alpine/entries-search.js","../../../app/frontend/components/locales/translations.js","../../../app/frontend/alpine/entries-translation.js","../../../app/frontend/alpine/file-upload-public.js","../../../app/frontend/alpine/form-error-handler.js","../../../app/frontend/alpine/google-maps-public.js","../../../app/frontend/alpine/news-items-categories.js","../../../app/frontend/alpine/skiplinks.js","../../../app/frontend/alpine/social-media-sharer.js","../../../node_modules/mark.js/dist/mark.es6.min.js","../../../app/frontend/alpine/search-result-highlighter.js","../../../node_modules/js-sha3/src/sha3.js","../../../app/frontend/alpine/voter-rrn.js","../../../app/frontend/alpine/nudging.js","../../../app/frontend/entrypoints/public.js"],"sourcesContent":["(() => {\n const registrationOptions = document.querySelectorAll('input[name=\"participant-registers-as\"]');\n if (registrationOptions.length == 0) return;\n const organizationInputWrapper = document.querySelector('[data-participant-registers-as=\"organization-wrapper\"]');\n const organizationInput = organizationInputWrapper.querySelector('[data-participant-registers-as=\"organization\"]');\n const firstNameInput = document.querySelector('[data-participant-input=\"first-name\"]');\n\n registrationOptions.forEach((option) => {\n if (option.value == 'participant' && option.hasAttribute('checked')) {\n organizationInputWrapper.classList.add('hidden');\n organizationInput.setAttribute('value', '');\n firstNameInput.focus();\n }\n option.addEventListener('change', toggleOrganizationField, true);\n });\n})();\n\nfunction toggleOrganizationField(event) {\n const organizationInputWrapper = document.querySelector('[data-participant-registers-as=\"organization-wrapper\"]');\n const organizationInput = organizationInputWrapper.querySelector('[data-participant-registers-as=\"organization\"]');\n const firstNameInput = document.querySelector('[data-participant-input=\"first-name\"]');\n\n if (event.currentTarget.value == 'participant') {\n organizationInputWrapper.classList.add('hidden');\n organizationInput.setAttribute('value', '');\n firstNameInput.focus();\n }\n if (event.currentTarget.value == 'organization') {\n organizationInputWrapper.classList.remove('hidden');\n organizationInput.focus();\n }\n}\n","document.addEventListener('turbo:load', () => {\n const searchButton = document.querySelector(\"[data-js-selector='search-button']\");\n const searchWrapper = document.querySelector(\"[data-js-selector='search-bar']\");\n\n if (!searchButton || !searchWrapper) return;\n\n const observer = new MutationObserver(() => {\n if (searchWrapper.classList.contains('is-open')) {\n document.querySelector('header input[name=\"q\"]').focus();\n }\n });\n\n observer.observe(searchWrapper, { attributes: true });\n\n const searchInput = {\n open: () => {\n searchButton.classList.add('is-open');\n searchWrapper.classList.add('is-open');\n },\n close: () => {\n searchButton.classList.remove('is-open');\n searchWrapper.classList.remove('is-open');\n },\n };\n\n searchButton.addEventListener('click', () => {\n const isOpen = searchButton.classList.contains('is-open');\n\n if (isOpen) searchInput.close();\n else searchInput.open();\n });\n\n searchWrapper.addEventListener('keydown', (e) => {\n if (e.key === 'Escape') {\n searchInput.close();\n searchButton.focus();\n }\n });\n});\n","const flashWrapper = document.querySelector(\"[data-js-selector='flash-wrapper']\");\nconst closeButton = document.querySelector(\"[data-id='close-flash-message']\");\n\nconst removeFlashMessage = () => flashWrapper.removeChild(flashWrapper.children[0]);\n\nconst focusFirstElement = () => {\n const main = document.querySelector('#main');\n const focusable = main.querySelectorAll(\n \"button, [href], input:not([type='hidden']), select, textarea, [tabindex]:not([tabindex='-1'])\"\n );\n const firstFocusable = focusable[0];\n firstFocusable.focus();\n};\n\ncloseButton?.addEventListener('keypress', (e) => {\n if (e.key !== 'Enter') return;\n\n try {\n removeFlashMessage();\n focusFirstElement();\n } catch (error) {\n console.error(error);\n }\n});\n\ncloseButton?.addEventListener('click', () => {\n try {\n removeFlashMessage();\n } catch (error) {\n console.error(error);\n }\n});\n","export default (message) => {\n const alertElement = document.querySelector('[data-js-selector=\"flash-wrapper\"]');\n\n if (alertElement && message) {\n clearFlashMessages(alertElement);\n\n const jsAlert = document.createElement('div');\n const attentionIcon = document.createElement('i');\n jsAlert.classList.add('alert', 'alert-danger', 'alert--fixed');\n jsAlert.dataset.jsSelector = 'alert';\n attentionIcon.classList.add('fa', 'fa-exclamation-triangle');\n jsAlert.appendChild(attentionIcon);\n const messageNode = document.createTextNode(message);\n jsAlert.appendChild(messageNode);\n\n alertElement.appendChild(jsAlert);\n setTimeout(() => {\n jsAlert.remove();\n }, 3500);\n }\n};\n\nconst clearFlashMessages = (alertElement) => {\n const jsAlerts = alertElement.querySelectorAll('[data-js-selector=\"alert\"]');\n jsAlerts.forEach((alert) => {\n alert.remove();\n });\n};\n","import setFlashMessage from '~/components/utils/flashMessage';\nimport axios from 'axios';\n\n(() => {\n const entryTileLikeButtons = document.querySelectorAll('[data-js-selector=\"toggle-vote\"]');\n entryTileLikeButtons.forEach((el) => {\n el.addEventListener('click', (evt) => toggleVote(evt));\n });\n})();\n\nconst toggleVote = (evt) => {\n const entryId = evt.currentTarget.dataset.entryId;\n if (entryId) {\n axios\n .post(`entries/${entryId}/toggle_like.json`)\n .then((response) => {\n const data = response.data;\n if (data.action === 'voted') {\n hideVoteElements(entryId);\n } else if (data.action === 'voted_do_redirect') {\n hideVoteElements(entryId);\n window.location = `entries/${entryId}/thank_you_for_voting`;\n } else if (data.trigger === 'unvoted') {\n showVoteElements(entryId);\n }\n\n updateVotesCount(entryId, data.count);\n updateTopicVotesCount(data.topic_votes_count);\n if (data.flash_notice) setFlashMessage(data.flash_notice);\n })\n .catch((error) => {\n setFlashMessage('Something went wrong, please try again or contact support.');\n console.error(error);\n });\n } else {\n console.error('Could not retrieve entry id.');\n }\n};\n\nconst hideVoteElements = (entryId) => {\n document.querySelectorAll(`#entry_${entryId} .can-vote`).forEach((el) => el.classList.add('hidden'));\n\n document.querySelectorAll(`#entry_${entryId} .cannot-vote`).forEach((el) => el.classList.remove('hidden'));\n};\n\nconst showVoteElements = (entryId) => {\n document.querySelectorAll(`#entry_${entryId} .can-vote`).forEach((el) => el.classList.remove('hidden'));\n\n document.querySelectorAll(`#entry_${entryId} .cannot-vote`).forEach((el) => el.classList.add('hidden'));\n};\n\nconst updateVotesCount = (entryId, count) => {\n const counters = document.querySelectorAll(`#entry_${entryId} .votes-count, #counters_${entryId} .votes-count`);\n counters.forEach((el) => (el.innerText = count));\n};\n\nconst updateTopicVotesCount = (count) => {\n const counter = document.querySelector('[data-js-selector=\"topic-likes-counter\"]');\n if (counter) counter.innerText = count;\n};\n\nexport { updateVotesCount };\n","export default function cookieConsent() {\n const COOKIE_NAME = 'bpart_cookie_consent_analytics';\n const COOKIE_EXPIRE = 31536000; // 1 year\n\n return {\n show: null,\n consented: null,\n\n init() {\n this.$watch('consented', (value) => this.consentChanged(value));\n this.show = !this.isAnalyticsCookieSet();\n this.consented = this.isAnalyticsAllowed();\n },\n\n consentChanged(consent) {\n switch (consent) {\n case true:\n this.setAnalyticsCookieGranted();\n break;\n case false:\n this.setAnalyticsCookieDenied();\n break;\n }\n },\n\n handleClick(consent = { consented: false }) {\n this.consented = consent.consented;\n this.show = false;\n },\n\n setAnalyticsCookieGranted() {\n if (this.isAnalyticsCookieGranted()) return;\n document.cookie = `${COOKIE_NAME}=granted; max-age=${COOKIE_EXPIRE}; path=/`;\n this.$dispatch('gtag-consent', { analytics_storage: 'granted' });\n },\n\n setAnalyticsCookieDenied() {\n if (this.isAnalyticsCookieDenied()) return;\n document.cookie = `${COOKIE_NAME}=denied; max-age=${COOKIE_EXPIRE}; path=/`;\n this.$dispatch('gtag-consent', { analytics_storage: 'denied' });\n },\n\n isAnalyticsAllowed() {\n if (this.isAnalyticsCookieDenied()) return false;\n if (this.isAnalyticsCookieGranted()) return true;\n return null;\n },\n\n isAnalyticsCookieSet() {\n return document.cookie.split(';').some((item) => item.trim().startsWith(COOKIE_NAME));\n },\n\n isAnalyticsCookieDenied() {\n return document.cookie.split(';').some((item) => item.trim().startsWith(`${COOKIE_NAME}=denied`));\n },\n\n isAnalyticsCookieGranted() {\n return document.cookie.split(';').some((item) => item.trim().startsWith(`${COOKIE_NAME}=granted`));\n },\n };\n}\n","export default function dropdown() {\n return {\n currentFocus: -1,\n items: this.$el.querySelectorAll('[role=\"menuitem\"]'),\n trigger: this.$el.querySelector('summary'),\n\n init() {\n this.$el.parentElement.addEventListener('mouseleave', () => {\n this.$el.open = false;\n });\n },\n\n previousDropdownItem(items) {\n if (this.currentFocus > 0) {\n items[this.currentFocus].classList.remove('dropdown__item--focus');\n\n this.currentFocus--;\n\n items[this.currentFocus].classList.add('dropdown__item--focus');\n }\n },\n\n nextDropdownItem(items) {\n if (this.trigger.matches(':focus')) this.trigger.classList.add('summary--unfocused');\n if (this.currentFocus < items.length - 1) {\n if (this.currentFocus > -1) items[this.currentFocus].classList.remove('dropdown__item--focus');\n\n this.currentFocus++;\n\n items[this.currentFocus].classList.add('dropdown__item--focus');\n }\n },\n\n resetFocus(items) {\n if (items[this.currentFocus]) items[this.currentFocus].classList.remove('dropdown__item--focus');\n this.trigger.classList.remove('summary--unfocused');\n this.currentFocus = -1;\n },\n\n dropdown: {\n ['@mouseover']() {\n window.innerWidth > 1024 ? (this.$el.open = true) : null;\n },\n ['@click.outside']() {\n this.$el.open = false;\n },\n ['@keydown.arrow-up.prevent']() {\n this.previousDropdownItem(this.items);\n },\n ['@keydown.arrow-down.prevent']() {\n this.nextDropdownItem(this.items);\n },\n ['@keydown.tab']() {\n this.resetFocus(this.items);\n this.$el.open = false;\n },\n ['@keydown.space']() {\n if (this.$el.open) {\n this.resetFocus(this.items);\n }\n },\n ['@keydown.enter']() {\n if (this.currentFocus > -1) {\n this.items[this.currentFocus].click();\n this.resetFocus(this.items);\n }\n },\n },\n };\n}\n","export default function entriesSearch(translations) {\n return {\n translations: JSON.parse(translations),\n // For search and topics, the first element to get focus using the arrow keys is the crosshair (to remove current input).\n // But by default this crosshair is not visible since there's no input yet.\n firstElementVisible: { search: false, topics: false, sort: true },\n selected: { topics: [], sort: 'random' },\n currentFocus: -1,\n items: {\n topics: this.$refs.topicFilter.querySelectorAll('[role=\"menuitem\"]'),\n sort: this.$refs.sortFilter.querySelectorAll('[role=\"menuitem\"]'),\n },\n trigger: {\n topics: this.$refs.topicFilter.querySelector('summary'),\n sort: this.$refs.sortFilter.querySelector('summary'),\n },\n activeView: 'grid',\n\n init() {\n // the search field\n this.$refs.searchInput.addEventListener('input', () => {\n this.firstElementVisible.search = this.$refs.searchInput.value.length > 0;\n });\n\n // the topics dropdown\n this.$refs.topicFilter.addEventListener('toggle', () => {\n if (!this.$refs.topicFilter.open) this.search();\n });\n this.$refs.topicFilter.addEventListener('input', () => {\n this.firstElementVisible.topics = this.selected.topics.length > 0;\n });\n\n // the sort dropdown\n this.$refs.sortFilter.addEventListener('change', () => {\n this.selected.sort = this.$refs.sortFilter.querySelector('input:checked').value;\n this.search();\n this.$refs.sortFilter.open = false;\n });\n },\n\n search() {\n this.$refs.searchForm.requestSubmit();\n },\n\n clearSearch() {\n this.$refs.searchInput.value = '';\n this.$refs.searchInput.focus();\n this.search();\n },\n\n clearTopics() {\n this.$refs.topicFilter.open = false;\n this.selected.topics.forEach((topic) => {\n topic.checked = false;\n });\n this.firstElementVisible.topics = false;\n this.search();\n },\n\n selectItem(type) {\n let item = this.items[type][this.currentFocus].querySelector('input');\n if (this.currentFocus > -1) item.checked = !item.checked;\n this.selected[type] = type === 'topics' ? this.$refs.topicFilter.querySelectorAll('input:checked') : item.value;\n this.firstElementVisible[type] = type === 'topics' ? this.selected[type].length > 0 : true;\n if (type === 'sort') this.$refs.sortFilter.open = !this.$refs.sortFilter.open;\n },\n\n deselectAllTopics() {\n this.selected.topics.forEach((topic) => {\n topic.checked = false;\n });\n this.firstElementVisible.topics = false;\n this.resetFocus('topics');\n this.$refs.topicFilter.open = false;\n },\n\n selectedTopicsText() {\n return `${this.translations.selected} (${this.selected.topics.length})`;\n },\n\n previousDropdownItem(type) {\n if (this.currentFocus > (this.firstElementVisible[type] ? 0 : 1)) {\n this.items[type][this.currentFocus].classList.remove('dropdown__item--focus');\n this.currentFocus--;\n this.items[type][this.currentFocus].classList.add('dropdown__item--focus');\n }\n },\n\n nextDropdownItem(type) {\n if (this.trigger[type].matches(':focus')) this.trigger[type].classList.add('summary--unfocused');\n\n if (this.currentFocus === -1 && !this.firstElementVisible[type]) {\n this.currentFocus = 1;\n this.items[type][this.currentFocus].classList.add('dropdown__item--focus');\n } else {\n if (this.currentFocus < this.items[type].length - 1) {\n if (this.currentFocus > -1) this.items[type][this.currentFocus].classList.remove('dropdown__item--focus');\n this.currentFocus++;\n this.items[type][this.currentFocus].classList.add('dropdown__item--focus');\n }\n }\n },\n\n resetFocus(type) {\n if (this.items[type][this.currentFocus]) {\n this.items[type][this.currentFocus].classList.remove('dropdown__item--focus');\n }\n this.trigger[type].classList.remove('summary--unfocused');\n this.currentFocus = -1;\n },\n\n // Pressing Tab (9), Enter (13), Shift (16) or Space (32) should not trigger a search after 750ms.\n // Enter is here to prevent triggering search when pressing Enter in the skiplinks.\n // Pressing Enter in the search input will still work as expected (= post the search form).\n searchInput: {\n ['@keydown.debounce.750ms']() {\n if ([9, 13, 16, 32].includes(this.$event.keyCode)) return;\n this.search();\n },\n },\n\n clearInputButton: {\n ['@click']() {\n this.clearSearch();\n },\n ['@keydown.enter.stop']() {\n this.clearSearch();\n },\n ['x-show']() {\n return this.firstElementVisible['search'];\n },\n },\n\n clearTopicsButton: {\n ['@click.prevent']() {\n this.clearTopics();\n },\n ['x-show']() {\n return this.firstElementVisible.topics;\n },\n },\n\n topicsPlaceholder: {\n ['x-text']() {\n return this.firstElementVisible.topics ? this.selectedTopicsText() : this.translations.placeholder;\n },\n ['x-bind:class']() {\n return this.firstElementVisible.topics ? 'topic-filter__selected-topics' : '';\n },\n ['@keyup.tab']() {\n this.$refs.topicFilter.open = false;\n this.search();\n },\n },\n\n sortPlaceholder: {\n ['x-text']() {\n return this.translations.filters[this.selected.sort];\n },\n ['@click']() {\n this.$refs.sortFilter.open = false;\n },\n ['@keyup.enter']() {\n this.search();\n },\n ['@keyup.tab']() {\n this.search();\n },\n },\n\n topicDropdown: {\n ['@click']() {\n this.selected.topics = this.$refs.topicFilter.querySelectorAll('input:checked');\n },\n ['@click.outside']() {\n this.$refs.topicFilter.open = false;\n },\n ['@keydown.arrow-up.prevent']() {\n if (this.$refs.topicFilter.open) this.previousDropdownItem('topics');\n },\n ['@keydown.arrow-down.prevent']() {\n if (this.$refs.topicFilter.open) this.nextDropdownItem('topics');\n },\n ['@keydown.tab']() {\n this.resetFocus('topics');\n this.$refs.topicFilter.open = false;\n },\n ['@keydown.space.prevent']() {\n if (this.$refs.topicFilter.open) this.resetFocus('topics');\n this.$refs.topicFilter.open = !this.$refs.topicFilter.open;\n },\n ['@keydown.enter.prevent.stop']() {\n if (this.currentFocus !== 0) {\n this.selectItem('topics');\n } else if (this.currentFocus === 0) {\n this.deselectAllTopics();\n }\n },\n },\n\n sortDropdown: {\n ['x-cloak']() {\n return true;\n },\n ['x-transition']() {\n return true;\n },\n ['x-show']() {\n return this.activeView === 'grid';\n },\n ['@click.outside']() {\n this.$refs.sortFilter.open = false;\n },\n ['@keydown.arrow-up.prevent']() {\n if (this.$refs.sortFilter.open) this.previousDropdownItem('sort');\n },\n ['@keydown.arrow-down.prevent']() {\n if (this.$refs.sortFilter.open) this.nextDropdownItem('sort');\n },\n ['@keydown.tab']() {\n this.resetFocus('sort');\n this.$refs.sortFilter.open = false;\n },\n ['@keydown.space.prevent']() {\n if (this.$refs.sortFilter.open) this.resetFocus('sort');\n this.$refs.sortFilter.open = !this.$refs.sortFilter.open;\n },\n ['@keydown.enter.stop.prevent']() {\n if (this.currentFocus > -1) {\n this.selectItem('sort');\n this.resetFocus('sort');\n }\n },\n },\n\n shuffleTrigger: {\n ['@click']() {\n this.search();\n },\n ['@keydown.enter']() {\n this.search();\n },\n },\n };\n}\n","import EN_translations from './translation_files/EN_translations.json';\nimport NL_translations from './translation_files/NL_translations.json';\nimport FR_translations from './translation_files/FR_translations.json';\nimport DE_translations from './translation_files/DE_translations.json';\nimport IT_translations from './translation_files/IT_translations.json';\n\nexport const translate = (app, label, lang) => {\n switch (lang) {\n case 'en':\n return EN_translations[app][label];\n case 'nl':\n return NL_translations[app][label];\n case 'fr':\n return FR_translations[app][label];\n case 'de':\n return DE_translations[app][label];\n case 'it':\n return IT_translations[app][label];\n default:\n return EN_translations[app][label];\n }\n};\n","import { translate } from '~/components/locales/translations';\nimport axios from 'axios';\n\nexport default function entriesTranslation(googleTranslateApiKey, source) {\n return {\n isTranslated: false,\n translationSaved: false,\n error: false,\n currentLocale: document.querySelector('html').getAttribute('lang'),\n metaComponents: document.querySelectorAll('.entry__meta'),\n entryFields: null,\n\n init() {\n // There are two entry__meta components on the page:\n // one in the entry (for mobile) and one in the sidebar (for desktop)\n this.metaComponents.forEach((metaComponent) => {\n if (metaComponent.querySelector('.entry__icon--translation')) {\n this.setTranslationButtonText();\n this.entryFields = this.createEntryFields();\n\n // save the original text in localStorage\n this.entryFields.forEach((field, index) => localStorage.setItem(index, field.innerHTML));\n\n metaComponent.querySelector('.entry__translate-text').addEventListener('click', () => {\n this.handleTranslate();\n });\n }\n });\n },\n\n setTranslationButtonText() {\n // use translate to get the different messages in the correct language\n const backToOriginalMessage = translate('entry-translation', 'show_original', this.currentLocale);\n const toTranslationMessage = translate('entry-translation', 'translate', this.currentLocale);\n const translationByMessage = translate('entry-translation', 'translated_by_google', this.currentLocale);\n const errorMessage = translate('entry-translation', 'error', this.currentLocale);\n\n // put the relevant messages on the button for both entry__meta components\n this.metaComponents.forEach((metaComponent) => {\n metaComponent.querySelector('.entry__icon--translation').classList.remove('hidden');\n if (this.isTranslated) {\n metaComponent.querySelector('.entry__translate-text').innerText = backToOriginalMessage;\n metaComponent.querySelector('.translated-by--entry-meta').innerText = translationByMessage;\n } else {\n metaComponent.querySelector('.entry__translate-text').innerText = toTranslationMessage;\n metaComponent.querySelector('.translated-by--entry-meta').innerText = '';\n }\n if (this.error) {\n metaComponent.querySelector('.error-message--entry-meta').innerText = errorMessage;\n }\n });\n },\n\n // creates an array with all DOM nodes inside\n createEntryFields() {\n const entryFields = [];\n const entryContent = this.$refs.entry;\n const entryTitle = entryContent.querySelector(\"[data-id='title']\");\n const fields = entryContent.querySelectorAll('[data-field-type]');\n entryFields.push(entryTitle);\n fields.forEach((field) => entryFields.push(field));\n return entryFields;\n },\n\n handleTranslate() {\n if (this.isTranslated) {\n // restore original text in DOM from localStorage\n this.entryFields.forEach((field, index) => (field.innerHTML = localStorage.getItem(index)));\n this.isTranslated = false;\n } else if (this.translationSaved) {\n // restore translations in DOM from localStorage\n this.entryFields.forEach((field, index) => (field.innerHTML = localStorage.getItem(`translated-${index}`)));\n this.isTranslated = true;\n } else {\n // get translations from google\n this.fetchGoogleTranslation();\n this.isTranslated = true;\n this.translationSaved = true;\n }\n this.setTranslationButtonText();\n },\n\n async fetchGoogleTranslation() {\n axios\n .post(`https://translation.googleapis.com/language/translate/v2?key=${googleTranslateApiKey}`, {\n q: this.entryFields.map((text) => text.innerHTML),\n source: source,\n target: this.currentLocale,\n format: 'text',\n })\n .then((response) => {\n const googleTranslations = response.data.data.translations;\n googleTranslations.forEach((translation, index) => {\n // update the DOM with the translated text by changing the DOM nodes in entryFields\n this.entryFields[index].innerHTML = translation.translatedText;\n\n // save the translated text in localStorage\n localStorage.setItem(`translated-${index}`, translation.translatedText);\n });\n\n this.error = false;\n })\n .catch(() => {\n this.error = true;\n });\n },\n };\n}\n","import ImageBlobReduce from 'image-blob-reduce';\n\n// utils\nimport fireSwal from '~/scripts/fire-swal';\nimport { translate } from '~/scripts/locales/translations';\n\nconst MAX_IMAGE_SIZE = 10485760; // 10 MB\nconst MAX_IMAGE_DIMENSION = 1200; // px\n\nconst reduce = new ImageBlobReduce();\nconst locale = document.querySelector('html').getAttribute('lang');\n\nexport default function fileUpload({ originalUrl = '', originalFilename = '', isPreviewActive }) {\n return {\n originalUrl,\n originalFilename,\n isPreviewActive,\n destroyFile: '',\n\n isImageAttribute() {\n if (this.$refs.imagePreview) {\n return true;\n } else {\n return false;\n }\n },\n\n isFileAttribute() {\n if (this.$refs.filenamePreview) {\n return true;\n } else {\n return false;\n }\n },\n\n handleInput() {\n const input = this.$refs.input;\n const file = input.files[0];\n\n if (this.isFileAttribute()) {\n this.$refs.filenamePreview.innerText = file.name;\n this.$refs.filenamePreview.removeAttribute('href');\n this.isPreviewActive = true;\n this.destroyFile = '';\n } else if (this.isImageAttribute()) {\n const preview = this.$refs.imagePreview;\n const filenameEl = this.$refs.imageFilename;\n\n // check if the file is an image, if not return\n if (file.type.includes('image')) {\n fireSwal.loading({ title: translate('img-resize', 'analyzing', locale) });\n if (file.size > MAX_IMAGE_SIZE) {\n fireSwal.error({\n title: translate('img-resize', 'size-too-large__title', locale),\n text: translate('img-resize', 'size-too-large__text', locale),\n });\n input.value = null;\n return;\n }\n } else {\n return;\n }\n\n const reader = new FileReader();\n const img = new Image();\n reader.readAsDataURL(file);\n\n // we wait for the reader to load the file\n reader.onload = () => {\n img.src = reader.result;\n // we wait for the image to read the reader\n img.onload = () => {\n // validate dimension\n if (img.width > MAX_IMAGE_DIMENSION || img.height > MAX_IMAGE_DIMENSION) {\n fireSwal.loading({ title: translate('img-resize', 'loading', locale) });\n\n reduce\n .toBlob(file, { max: MAX_IMAGE_DIMENSION })\n .then((blob) => {\n // transfer reduced image back to input\n let transfer = new DataTransfer();\n const reducedImg = new File([blob], file.name);\n transfer.items.add(reducedImg);\n input.files = transfer.files;\n\n fireSwal.success({ title: translate('img-resize', 'success', locale) });\n })\n .catch(() =>\n fireSwal.error({\n title: translate('img-resize', 'error__title', locale),\n text: translate('img-resize', 'error__text', locale),\n })\n );\n } else {\n fireSwal.success({ title: translate('img-resize', 'size-ok', locale) });\n }\n };\n // if there is a preview image (e.g. carousel)\n if (preview) preview.src = reader.result;\n if (filenameEl) filenameEl.innerText = file.name;\n this.isPreviewActive = true;\n this.destroyFile = '';\n };\n } else {\n console.log('Something went wrong, please check the fileUpload component');\n }\n },\n\n // delete new file:\n // - if there was an original file present and there is a new file selected, reset the preview to the old file and clear the input\n // - if not, set the destroyFile flag and clear the preview\n deleteFile() {\n if (this.originalFilename != '' && this.$refs.input.files[0]) {\n this.$refs.input.value = '';\n this.resetPreview();\n } else {\n this.destroyFile = true;\n this.clearPreview();\n }\n },\n\n resetPreview() {\n if (this.isImageAttribute()) {\n this.$refs.imagePreview.src = this.originalUrl;\n this.$refs.imageFilename.innerText = this.originalFilename;\n }\n if (this.isFileAttribute()) {\n this.$refs.filenamePreview.href = this.originalUrl;\n this.$refs.filenamePreview.innerText = this.originalFilename;\n }\n this.isPreviewActive = true;\n },\n\n clearPreview() {\n if (this.isImageAttribute()) {\n this.$refs.imagePreview.removeAttribute('src');\n this.$refs.imageFilename.innerText = '';\n }\n if (this.isFileAttribute()) this.$refs.filenamePreview.removeAttribute('href');\n this.isPreviewActive = false;\n },\n\n handleDrop(event) {\n // Ignore if dataTransfer doesn't contain exactly one item\n if (event.dataTransfer.files.length !== 1) return;\n this.$refs.input.files = event.dataTransfer.files;\n this.handleInput();\n },\n\n dropzone: {\n ['@drop.prevent'](event) {\n this.handleDrop(event);\n },\n ['@dragover.prevent']() {\n // Just here to prevent the file from being opened\n },\n },\n };\n}\n","export default function formErrorHandler() {\n return {\n\n init() {\n document.addEventListener('turbo:before-stream-render', (e) => {\n // targetId is the target dom id of the turbo_stream\n const targetId = e.detail.newStream.target;\n if (targetId == 'input__error') {\n this.removeStyling();\n this.removeInputErrorMessages();\n } else {\n this.addStyling(targetId);\n this.focusFirstError();\n }\n });\n },\n\n addStyling(targetId) {\n const element = document.getElementById(targetId);\n const type = Array.from(element.classList).filter(klass => !/^form/.test(klass))[0];\n\n this.findInputElement(element, type)?.classList.add('form__input--invalid');\n\n if (['string', 'text'].includes(type) && element.querySelector('.tox-tinymce')) {\n element.querySelector('.tox-tinymce').style.borderColor = 'red';\n }\n },\n\n removeStyling() {\n const stylingElements = document.querySelectorAll('.form__input--invalid');\n\n stylingElements.forEach((element) => {\n element.classList.remove('form__input--invalid');\n if (element.querySelector('.tox-tinymce')) {\n element.parentNode.querySelector('.tox-tinymce').style.borderColor = '';\n };\n });\n },\n\n removeInputErrorMessages() {\n const messages = document.querySelectorAll('.input__error');\n\n messages.forEach((message) => {\n message.remove();\n });\n },\n\n focusFirstError() {\n const errorElement = document.querySelector('.form__input--invalid');\n\n if (errorElement) {\n if (errorElement.parentNode.classList.contains('form-field__file-upload') ||\n errorElement.classList.contains('map-entry') ||\n errorElement.classList.contains(\"string__input\") ||\n errorElement.classList.contains(\"text__input\")) {\n errorElement.parentNode.scrollIntoView();\n } else {\n errorElement.focus();\n }\n }\n },\n\n findInputElement(element, type) {\n switch (type) {\n case 'devise':\n return element.getElementsByTagName('input')[0];\n case 'string':\n return element.querySelector('input[type=text]') ||\n element.querySelector('input[type=password]') ||\n element.querySelector('input[type=email]') ||\n element.querySelector('input[type=confirmation]');\n case 'text':\n return element.getElementsByTagName('textarea')[0];\n case 'select':\n return element.getElementsByTagName('select')[0];\n case 'checkbox__wrapper':\n return element.querySelector('input[type=checkbox]');\n case 'checkboxes':\n return element.querySelector('input[type=checkbox]');\n case 'radio':\n return element.querySelector('input[type=radio]');\n case 'file-upload':\n return element.querySelector('input[type=file]');\n case 'map-select':\n return element.getElementsByClassName('map-entry')[0];\n }\n },\n };\n}\n","export default function googleMapsPublic(originLatLng, mapParams) {\n const topics = mapParams.topics;\n const mapSettings = mapParams.mapSettings;\n const mapOverlay = mapParams.mapOverlay;\n const geoJson = mapParams.geoJson;\n const latInput = topics\n ? null\n : this.$refs.map.closest('[data-selector=\"form-field__map\"').querySelector('[data-map-input=\"lat\"]');\n const lngInput = topics\n ? null\n : this.$refs.map.closest('[data-selector=\"form-field__map\"').querySelector('[data-map-input=\"lng\"]');\n\n return {\n showOverlay: mapOverlay.mapOverlayVisible,\n showError: false,\n overlayURL: mapOverlay.mapOverlayImageUrl,\n overlay: {\n north: mapOverlay.overlayBoundNorth,\n south: mapOverlay.overlayBoundSouth,\n east: mapOverlay.overlayBoundEast,\n west: mapOverlay.overlayBoundWest,\n },\n groundOverlay: null,\n map: null,\n markerURL:\n mapParams.markerUrl || 'https://bpart-default-assets.s3.eu-central-1.amazonaws.com/img/map-default-marker.png',\n intersectionObserver: null,\n\n init() {\n // Create an IntersectionObserver to animate the markers\n this.intersectionObserver = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n entry.target.classList.add('drop');\n this.intersectionObserver.unobserve(entry.target);\n }\n }\n });\n\n // Initialize the map (asynchronously)\n this.initMap();\n },\n\n async initMap() {\n // Load the Google Maps API libraries\n const { Map } = await google.maps.importLibrary('maps');\n const { AdvancedMarkerElement } = await google.maps.importLibrary('marker');\n const { Autocomplete } = await google.maps.importLibrary('places');\n\n // Create the map and set its options\n const mapOptions = {\n zoom: mapSettings.zoomLevel || 14,\n center: this.centerLatLng(),\n mapTypeId: mapSettings.mapType || 'roadmap',\n mapTypeControl: true,\n mapTypeControlOptions: {\n style: google.maps.MapTypeControlStyle.DROPDOWN_MENU,\n },\n gestureHandling: 'cooperative',\n mapId: 'MAP_ID',\n };\n let map = new Map(this.$refs.map, mapOptions);\n\n // Add a search box\n if (this.$refs.searchBox) {\n const placeAutocomplete = new Autocomplete(this.$refs.searchBox);\n\n placeAutocomplete.addListener('place_changed', async (ev) => {\n let value = this.$refs.searchBox.value;\n await this.findPlaces(value, map);\n });\n }\n\n // Add all entry markers (on homepage)\n if (google && map && topics) {\n topics.collection.forEach((topic) => {\n topic.entries.forEach((entry) => {\n const icon = document.createElement('img');\n icon.src = topic.iconUrl;\n\n const markerLatLng = new google.maps.LatLng(entry.position.lat, entry.position.lng);\n const title = entry.title.replace(/<[^>]*>?/gm, '');\n\n const marker = new AdvancedMarkerElement({\n map: map,\n position: markerLatLng,\n content: icon,\n title: title,\n });\n\n if (topics.type === 'topics') {\n const contentString =\n '
' +\n `

${title}

` +\n '' +\n `${mapSettings.detailsLink}` +\n '' +\n '
';\n\n const infoWindow = new google.maps.InfoWindow({\n content: contentString,\n });\n\n marker.addListener('gmp-click', () => {\n infoWindow.open({\n anchor: marker,\n map: map,\n shouldFocus: false,\n });\n });\n }\n\n // Add a drop animation to the marker\n const content = marker.content;\n content.style.opacity = '0';\n content.addEventListener('animationend', (event) => {\n content.classList.remove('drop');\n content.style.opacity = '1';\n });\n this.intersectionObserver.observe(content);\n });\n });\n }\n\n // Add a clickable or draggable marker to input a location (for entry or profile)\n // Draggable markers can be moved by using the keyboard. To activate dragging,\n // press Option + Space or Option + Enter (Mac), ALT + Space or Alt + Enter (Windows).\n if (latInput && lngInput) {\n const lat = latInput.value || originLatLng.originLat;\n const lng = lngInput.value || originLatLng.originLng;\n const markerLatLng = new google.maps.LatLng(lat, lng);\n const icon = document.createElement('img');\n icon.src = this.markerURL;\n\n const marker = new AdvancedMarkerElement({\n map: map,\n position: markerLatLng,\n gmpDraggable: true,\n content: icon,\n });\n\n map.setCenter(markerLatLng);\n\n map.addListener('click', (mapsMouseEvent) => {\n const position = mapsMouseEvent.latLng;\n latInput.setAttribute('value', position.lat());\n lngInput.setAttribute('value', position.lng());\n marker.position = position;\n });\n\n marker.addListener('dragend', (evt) => {\n const position = marker.position;\n latInput.setAttribute('value', position.lat);\n lngInput.setAttribute('value', position.lng);\n });\n }\n\n // a method to get the bounds of the overlay\n const overlayBounds = () => {\n try {\n const overlayNorth = parseFloat(this.overlay.north);\n const overlaySouth = parseFloat(this.overlay.south);\n const overlayEast = parseFloat(this.overlay.east);\n const overlayWest = parseFloat(this.overlay.west);\n const bounds = new google.maps.LatLngBounds(\n new google.maps.LatLng(overlaySouth, overlayWest),\n new google.maps.LatLng(overlayNorth, overlayEast)\n );\n return bounds;\n } catch (error) {\n console.error('Could not build overlayBounds', error);\n return false;\n }\n };\n\n //Extend the Overlay class so we can add a ground overlay to the map\n class MapOverlay extends google.maps.OverlayView {\n constructor(bounds, image) {\n super();\n this.bounds = bounds;\n this.image = image;\n }\n // onAdd is called when the map's panes are ready and the overlay has been added to the map.\n onAdd() {\n this.div = document.createElement('div');\n this.div.style.borderStyle = 'none';\n this.div.style.borderWidth = '0px';\n this.div.style.position = 'absolute';\n // Create the img element and attach it to the div.\n const img = document.createElement('img');\n img.src = this.image;\n img.style.width = '100%';\n img.style.height = '100%';\n img.style.position = 'absolute';\n this.div.appendChild(img);\n // Add the element to the \"overlayLayer\" pane.\n const panes = this.getPanes();\n panes.overlayLayer.appendChild(this.div);\n }\n draw() {\n // We use the south-west and north-east coordinates of the overlay to peg it to the correct position and size.\n // To do this, we need to retrieve the projection from the overlay.\n const overlayProjection = this.getProjection();\n // Retrieve the south-west and north-east coordinates of this overlay in LatLngs and convert them to pixel coordinates.\n // We'll use these coordinates to resize the div.\n const sw = overlayProjection.fromLatLngToDivPixel(this.bounds.getSouthWest());\n const ne = overlayProjection.fromLatLngToDivPixel(this.bounds.getNorthEast());\n\n // Resize the image's div to fit the indicated dimensions.\n if (this.div) {\n this.div.style.left = sw.x + 'px';\n this.div.style.top = ne.y + 'px';\n this.div.style.width = ne.x - sw.x + 'px';\n this.div.style.height = sw.y - ne.y + 'px';\n }\n }\n // The onRemove() method will be called automatically from the API if we ever set the overlay's map property to 'null'.\n onRemove() {\n if (this.div) {\n this.div.parentNode.removeChild(this.div);\n delete this.div;\n }\n }\n }\n\n // Add the overlay and geoJson to the map\n if (google && this.showOverlay) {\n if (overlayBounds() && this.overlayURL) {\n this.groundOverlay = new MapOverlay(overlayBounds(), this.overlayURL);\n this.groundOverlay.setMap(map);\n }\n\n if (geoJson) {\n map.data.addGeoJson(JSON.parse(geoJson));\n map.data.setStyle(function (feature) {\n return {\n fillColor: feature.getProperty('fill'),\n fillOpacity: feature.getProperty('fill-opacity'),\n strokeColor: feature.getProperty('stroke'),\n strokeOpacity: feature.getProperty('stroke-opacity'),\n strokeWeight: feature.getProperty('stroke-width'),\n title: feature.getProperty('title'),\n clickable: false,\n };\n });\n }\n }\n },\n\n async findPlaces(searchTerm, map) {\n const { Place } = await google.maps.importLibrary('places');\n const { AdvancedMarkerElement } = await google.maps.importLibrary('marker');\n const request = {\n textQuery: searchTerm,\n fields: ['displayName', 'location'],\n };\n\n const { places } = await Place.searchByText(request);\n\n if (places.length) {\n const { LatLngBounds } = await google.maps.importLibrary('core');\n const bounds = new LatLngBounds();\n\n // Loop through and get all the results.\n places.forEach((place) => {\n const markerView = new AdvancedMarkerElement({\n map,\n position: place.location,\n title: place.displayName,\n });\n\n bounds.extend(place.location);\n });\n\n // zoom to the bounds if there are multiple places\n if (places.length > 1) {\n map.fitBounds(bounds);\n } else {\n map.setCenter(bounds.getCenter());\n map.setZoom(this.zoomLevel || 14);\n }\n } else {\n console.log('No results');\n }\n },\n\n centerLatLng() {\n let resultLatLng = null;\n if (topics?.type === 'entry') {\n const entry = topics.collection[0].entries[0];\n if (entry.position) {\n resultLatLng = new google.maps.LatLng(entry.position.lat, entry.position.lng);\n }\n } else {\n resultLatLng = new google.maps.LatLng(originLatLng.originLat, originLatLng.originLng);\n }\n return resultLatLng;\n },\n };\n}\n","export default function newsItemsCategories() {\n return {\n init() {\n this.filter_els = this.$el.querySelectorAll('[data-js-selector=\"news-items-filter-button\"]');\n },\n\n activateFilter(el) {\n this.filter_els.forEach((filter) => {\n filter.classList.remove('news-items__filter-button--active');\n });\n el.classList.add('news-items__filter-button--active');\n },\n\n filters: {\n ['@click']() {\n this.activateFilter(this.$event.target);\n },\n }\n\n }\n}\n","export default function skiplinks() {\n return {\n skipToMain() {\n document.getElementById('main').scrollIntoView();\n\n // the first input field can not be of type hidden, because these can not be focused\n // if the first input field is replaced by tinymce, focus needs to be set on the active editor\n const focusable = document.getElementById('main').querySelector('button, [href], input:not([type=hidden]), select, textarea');\n if (focusable.hasAttribute('data-tinymce')) { tinymce.activeEditor.focus() } else { focusable.focus() };\n },\n }\n}\n","export default function socialMediaSharer(platform, url, hashtags = '') {\n return {\n handleClick() {\n switch (platform.toLowerCase()) {\n case 'facebook':\n window.open(\n `https://www.facebook.com/sharer/sharer.php?u=${url}`,\n 'Facebook',\n 'height=285,width=550,resizable=1'\n );\n break;\n case 'twitter':\n url = hashtags ? url.concat(`&hashtags=${hashtags}`) : url;\n window.open(\n `https://twitter.com/intent/tweet?text=&url=${url}`,\n 'Twitter',\n 'height=285,width=550,resizable=1'\n );\n break;\n }\n },\n };\n}\n","/*!***************************************************\n* mark.js v8.11.1\n* https://markjs.io/\n* Copyright (c) 2014–2018, Julian Kühnel\n* Released under the MIT license https://git.io/vwTVl\n*****************************************************/\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){\"use strict\";class e{constructor(e,t=!0,s=[],r=5e3){this.ctx=e,this.iframes=t,this.exclude=s,this.iframesTimeout=r}static matches(e,t){const s=\"string\"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){let t=!1;return s.every(s=>!r.call(e,s)||(t=!0,!1)),t}return!1}getContexts(){let e,t=[];return(e=void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:\"string\"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(e=>{const s=t.filter(t=>t.contains(e)).length>0;-1!==t.indexOf(e)||s||t.push(e)}),t}getIframeContents(e,t,s=(()=>{})){let r;try{const t=e.contentWindow;if(r=t.document,!t||!r)throw new Error(\"iframe inaccessible\")}catch(e){s()}r&&t(r)}isIframeBlank(e){const t=\"about:blank\",s=e.getAttribute(\"src\").trim(),r=e.contentWindow.location.href;return r===t&&s!==t&&s}observeIframeLoad(e,t,s){let r=!1,i=null;const o=()=>{if(!r){r=!0,clearTimeout(i);try{this.isIframeBlank(e)||(e.removeEventListener(\"load\",o),this.getIframeContents(e,t,s))}catch(e){s()}}};e.addEventListener(\"load\",o),i=setTimeout(o,this.iframesTimeout)}onIframeReady(e,t,s){try{\"complete\"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,s):this.getIframeContents(e,t,s):this.observeIframeLoad(e,t,s)}catch(e){s()}}waitForIframes(e,t){let s=0;this.forEachIframe(e,()=>!0,e=>{s++,this.waitForIframes(e.querySelector(\"html\"),()=>{--s||t()})},e=>{e||t()})}forEachIframe(t,s,r,i=(()=>{})){let o=t.querySelectorAll(\"iframe\"),n=o.length,a=0;o=Array.prototype.slice.call(o);const c=()=>{--n<=0&&i(a)};n||c(),o.forEach(t=>{e.matches(t,this.exclude)?c():this.onIframeReady(t,e=>{s(t)&&(a++,r(e)),c()},c)})}createIterator(e,t,s){return document.createNodeIterator(e,t,s,!1)}createInstanceOnIframe(t){return new e(t.querySelector(\"html\"),this.iframes)}compareNodeIframe(e,t,s){const r=e.compareDocumentPosition(s),i=Node.DOCUMENT_POSITION_PRECEDING;if(r&i){if(null===t)return!0;if(t.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}getIteratorNode(e){const t=e.previousNode();let s;return{prevNode:t,node:s=null===t?e.nextNode():e.nextNode()&&e.nextNode()}}checkIframeFilter(e,t,s,r){let i=!1,o=!1;return r.forEach((e,t)=>{e.val===s&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,s)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:s,handled:!0}),!0):(!1===i&&r.push({val:s,handled:!1}),!1)}handleOpenIframes(e,t,s,r){e.forEach(e=>{e.handled||this.getIframeContents(e.val,e=>{this.createInstanceOnIframe(e).forEachNode(t,s,r)})})}iterateThroughNodes(e,t,s,r,i){const o=this.createIterator(t,e,r);let n,a,c=[],h=[],l=()=>(({prevNode:a,node:n}=this.getIteratorNode(o)),n);for(;l();)this.iframes&&this.forEachIframe(t,e=>this.checkIframeFilter(n,a,e,c),t=>{this.createInstanceOnIframe(t).forEachNode(e,e=>h.push(e),r)}),h.push(n);h.forEach(e=>{s(e)}),this.iframes&&this.handleOpenIframes(c,e,s,r),i()}forEachNode(e,t,s,r=(()=>{})){const i=this.getContexts();let o=i.length;o||r(),i.forEach(i=>{const n=()=>{this.iterateThroughNodes(e,i,t,s,()=>{--o<=0&&r()})};this.iframes?this.waitForIframes(i,n):n()})}}class t{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf(\"MSIE\")>-1||t.indexOf(\"Trident\")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:\"\",className:\"\",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:\"partially\",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:\"disabled\",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new e(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t=\"debug\"){const s=this.opt.log;this.opt.debug&&\"object\"==typeof s&&\"function\"==typeof s[t]&&s[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}createRegExp(e){return\"disabled\"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),\"disabled\"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e)}createSynonymsRegExp(e){const t=this.opt.synonyms,s=this.opt.caseSensitive?\"\":\"i\",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?\"\\0\":\"\";for(let i in t)if(t.hasOwnProperty(i)){const o=t[i],n=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),a=\"disabled\"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);\"\"!==n&&\"\"!==a&&(e=e.replace(new RegExp(`(${this.escapeStr(n)}|${this.escapeStr(a)})`,`gm${s}`),r+`(${this.processSynomyms(n)}|`+`${this.processSynomyms(a)})`+r))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return(e=e.replace(/(?:\\\\)*\\?/g,e=>\"\\\\\"===e.charAt(0)?\"?\":\"\u0001\")).replace(/(?:\\\\)*\\*/g,e=>\"\\\\\"===e.charAt(0)?\"*\":\"\u0002\")}createWildcardsRegExp(e){let t=\"withSpaces\"===this.opt.wildcards;return e.replace(/\\u0001/g,t?\"[\\\\S\\\\s]?\":\"\\\\S?\").replace(/\\u0002/g,t?\"[\\\\S\\\\s]*?\":\"\\\\S*\")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\\\]/g,(e,t,s)=>{let r=s.charAt(t+1);return/[(|)\\\\]/.test(r)||\"\"===r?e:e+\"\\0\"})}createJoinersRegExp(e){let t=[];const s=this.opt.ignorePunctuation;return Array.isArray(s)&&s.length&&t.push(this.escapeStr(s.join(\"\"))),this.opt.ignoreJoiners&&t.push(\"\\\\u00ad\\\\u200b\\\\u200c\\\\u200d\"),t.length?e.split(/\\u0000+/).join(`[${t.join(\"\")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?\"\":\"i\",s=this.opt.caseSensitive?[\"aàáảãạăằắẳẵặâầấẩẫậäåāą\",\"AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćč\",\"CÇĆČ\",\"dđď\",\"DĐĎ\",\"eèéẻẽẹêềếểễệëěēę\",\"EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïī\",\"IÌÍỈĨỊÎÏĪ\",\"lł\",\"LŁ\",\"nñňń\",\"NÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøō\",\"OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rř\",\"RŘ\",\"sšśșş\",\"SŠŚȘŞ\",\"tťțţ\",\"TŤȚŢ\",\"uùúủũụưừứửữựûüůū\",\"UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿ\",\"YÝỲỶỸỴŸ\",\"zžżź\",\"ZŽŻŹ\"]:[\"aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ\",\"cçćčCÇĆČ\",\"dđďDĐĎ\",\"eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ\",\"iìíỉĩịîïīIÌÍỈĨỊÎÏĪ\",\"lłLŁ\",\"nñňńNÑŇŃ\",\"oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ\",\"rřRŘ\",\"sšśșşSŠŚȘŞ\",\"tťțţTŤȚŢ\",\"uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ\",\"yýỳỷỹỵÿYÝỲỶỸỴŸ\",\"zžżźZŽŻŹ\"];let r=[];return e.split(\"\").forEach(i=>{s.every(s=>{if(-1!==s.indexOf(i)){if(r.indexOf(s)>-1)return!1;e=e.replace(new RegExp(`[${s}]`,`gm${t}`),`[${s}]`),r.push(s)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\\s]+/gim,\"[\\\\s]+\")}createAccuracyRegExp(e){const t=\"!\\\"#$%&'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿\";let s=this.opt.accuracy,r=\"string\"==typeof s?s:s.value,i=\"string\"==typeof s?[]:s.limiters,o=\"\";switch(i.forEach(e=>{o+=`|${this.escapeStr(e)}`}),r){case\"partially\":default:return`()(${e})`;case\"complementary\":return`()([^${o=\"\\\\s\"+(o||this.escapeStr(t))}]*${e}[^${o}]*)`;case\"exactly\":return`(^|\\\\s${o})(${e})(?=$|\\\\s${o})`}}getSeparatedKeywords(e){let t=[];return e.forEach(e=>{this.opt.separateWordSearch?e.split(\" \").forEach(e=>{e.trim()&&-1===t.indexOf(e)&&t.push(e)}):e.trim()&&-1===t.indexOf(e)&&t.push(e)}),{keywords:t.sort((e,t)=>t.length-e.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||\"[object Object]\"!==Object.prototype.toString.call(e[0]))return this.log(\"markRanges() will only accept an array of objects\"),this.opt.noMatch(e),[];const t=[];let s=0;return e.sort((e,t)=>e.start-t.start).forEach(e=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(e,s);o&&(e.start=r,e.length=i-r,t.push(e),s=i)}),t}callNoMatchOnInvalidRanges(e,t){let s,r,i=!1;return e&&void 0!==e.start?(r=(s=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-s>0?i=!0:(this.log(\"Ignoring invalid or overlapping range: \"+`${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:s,end:r,valid:i}}checkWhitespaceRanges(e,t,s){let r,i=!0,o=s.length,n=t-o,a=parseInt(e.start,10)-n;return(r=(a=a>o?o:a)+parseInt(e.length,10))>o&&(r=o,this.log(`End range automatically set to the max value of ${o}`)),a<0||r-a<0||a>o||r>o?(i=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):\"\"===s.substring(a,r).replace(/\\s+/g,\"\")&&(i=!1,this.log(\"Skipping whitespace only range: \"+JSON.stringify(e)),this.opt.noMatch(e)),{start:a,end:r,valid:i}}getTextNodes(e){let t=\"\",s=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,e=>{s.push({start:t.length,end:(t+=e.textContent).length,node:e})},e=>this.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:s})})}matchesExclude(t){return e.matches(t,this.opt.exclude.concat([\"script\",\"style\",\"title\",\"head\",\"html\"]))}wrapRangeInTextNode(e,t,s){const r=this.opt.element?this.opt.element:\"mark\",i=e.splitText(t),o=i.splitText(s-t);let n=document.createElement(r);return n.setAttribute(\"data-markjs\",\"true\"),this.opt.className&&n.setAttribute(\"class\",this.opt.className),n.textContent=i.textContent,i.parentNode.replaceChild(n,i),o}wrapRangeInMappedTextNode(e,t,s,r,i){e.nodes.every((o,n)=>{const a=e.nodes[n+1];if(void 0===a||a.start>t){if(!r(o.node))return!1;const a=t-o.start,c=(s>o.end?o.end:s)-o.start,h=e.value.substr(0,o.start),l=e.value.substr(c+o.start);if(o.node=this.wrapRangeInTextNode(o.node,a,c),e.value=h+l,e.nodes.forEach((t,s)=>{s>=n&&(e.nodes[s].start>0&&s!==n&&(e.nodes[s].start-=c),e.nodes[s].end-=c)}),s-=c,i(o.node.previousSibling,o.start),!(s>o.end))return!1;t=o.end}return!0})}wrapMatches(e,t,s,r,i){const o=0===t?0:t+1;this.getTextNodes(t=>{t.nodes.forEach(t=>{let i;for(t=t.node;null!==(i=e.exec(t.textContent))&&\"\"!==i[o];){if(!s(i[o],t))continue;let n=i.index;if(0!==o)for(let e=1;e{let n;for(;null!==(n=e.exec(t.value))&&\"\"!==n[o];){let i=n.index;if(0!==o)for(let e=1;es(n[o],e),(t,s)=>{e.lastIndex=s,r(t)})}i()})}wrapRangeFromIndex(e,t,s,r){this.getTextNodes(i=>{const o=i.value.length;e.forEach((e,r)=>{let{start:n,end:a,valid:c}=this.checkWhitespaceRanges(e,o,i.value);c&&this.wrapRangeInMappedTextNode(i,n,a,s=>t(s,e,i.value.substring(n,a),r),t=>{s(t,e)})}),r()})}unwrapMatches(e){const t=e.parentNode;let s=document.createDocumentFragment();for(;e.firstChild;)s.appendChild(e.removeChild(e.firstChild));t.replaceChild(s,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression \"${e}\"`);let s=0,r=\"wrapMatches\";const i=e=>{s++,this.opt.each(e)};this.opt.acrossElements&&(r=\"wrapMatchesAcrossElements\"),this[r](e,this.opt.ignoreGroups,(e,t)=>this.opt.filter(t,e,s),i,()=>{0===s&&this.opt.noMatch(e),this.opt.done(s)})}mark(e,t){this.opt=t;let s=0,r=\"wrapMatches\";const{keywords:i,length:o}=this.getSeparatedKeywords(\"string\"==typeof e?[e]:e),n=this.opt.caseSensitive?\"\":\"i\",a=e=>{let t=new RegExp(this.createRegExp(e),`gm${n}`),c=0;this.log(`Searching with expression \"${t}\"`),this[r](t,1,(t,r)=>this.opt.filter(r,e,s,c),e=>{c++,s++,this.opt.each(e)},()=>{0===c&&this.opt.noMatch(e),i[o-1]===e?this.opt.done(s):a(i[i.indexOf(e)+1])})};this.opt.acrossElements&&(r=\"wrapMatchesAcrossElements\"),0===o?this.opt.done(s):a(i[0])}markRanges(e,t){this.opt=t;let s=0,r=this.checkRanges(e);r&&r.length?(this.log(\"Starting to mark with the following ranges: \"+JSON.stringify(r)),this.wrapRangeFromIndex(r,(e,t,s,r)=>this.opt.filter(e,t,s,r),(e,t)=>{s++,this.opt.each(e,t)},()=>{this.opt.done(s)})):this.opt.done(s)}unmark(t){this.opt=t;let s=this.opt.element?this.opt.element:\"*\";s+=\"[data-markjs]\",this.opt.className&&(s+=`.${this.opt.className}`),this.log(`Removal selector \"${s}\"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,e=>{this.unwrapMatches(e)},t=>{const r=e.matches(t,s),i=this.matchesExclude(t);return!r||i?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}}return function(e){const s=new t(e);return this.mark=((e,t)=>(s.mark(e,t),this)),this.markRegExp=((e,t)=>(s.markRegExp(e,t),this)),this.markRanges=((e,t)=>(s.markRanges(e,t),this)),this.unmark=(e=>(s.unmark(e),this)),this}});\n","import Mark from 'mark.js/dist/mark.es6.min.js';\n\nexport default function highlight(term = '') {\n return {\n init() {\n const highlighter = new Mark(this.$root);\n highlighter.mark(term);\n },\n };\n}\n","/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\n var CSHAKE_PADDING = [4, 1024, 262144, 67108864];\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\n var PADDING = [6, 1536, 393216, 100663296];\n var SHIFT = [0, 8, 16, 24];\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n var BITS = [224, 256, 384, 512];\n var SHAKE_BITS = [128, 256];\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];\n var CSHAKE_BYTEPAD = {\n '128': 168,\n '256': 136\n };\n\n if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (bits, padding, outputType) {\n return function (message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n\n var createShakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n\n var createCshakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits, n, s) {\n return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n\n var createKmacOutputMethod = function (bits, padding, outputType) {\n return function (key, message, outputBits, s) {\n return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n\n var createOutputMethods = function (method, createMethod, bits, padding) {\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n\n var createMethod = function (bits, padding) {\n var method = createOutputMethod(bits, padding, 'hex');\n method.create = function () {\n return new Keccak(bits, padding, bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n\n var createShakeMethod = function (bits, padding) {\n var method = createShakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function (message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n\n var createCshakeMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits, n, s) {\n if (!n && !s) {\n return methods['shake' + bits].create(outputBits);\n } else {\n return new Keccak(bits, padding, outputBits).bytepad([n, s], w);\n }\n };\n method.update = function (message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n\n var createKmacMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, 'hex');\n method.create = function (key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);\n };\n method.update = function (key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n\n var algorithms = [\n { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },\n { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },\n { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },\n { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },\n { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }\n ];\n\n var methods = {}, methodNames = [];\n\n for (var i = 0; i < algorithms.length; ++i) {\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for (var j = 0; j < bits.length; ++j) {\n var methodName = algorithm.name + '_' + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== 'sha3') {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = (1600 - (bits << 1)) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n\n for (var i = 0; i < 50; ++i) {\n this.s[i] = 0;\n }\n }\n\n Keccak.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length,\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\n\n while (index < length) {\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (notString) {\n for (i = this.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n this.reset = true;\n } else {\n this.start = i;\n }\n }\n return this;\n };\n\n Keccak.prototype.encode = function (x, right) {\n var o = x & 255, n = 1;\n var bytes = [o];\n x = x >> 8;\n o = x & 255;\n while (o > 0) {\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) {\n bytes.push(n);\n } else {\n bytes.unshift(n);\n }\n this.update(bytes);\n return bytes.length;\n };\n\n Keccak.prototype.encodeString = function (str) {\n var notString, type = typeof str;\n if (type !== 'string') {\n if (type === 'object') {\n if (str === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {\n str = new Uint8Array(str);\n } else if (!Array.isArray(str)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var bytes = 0, length = str.length;\n if (notString) {\n bytes = length;\n } else {\n for (var i = 0; i < str.length; ++i) {\n var code = str.charCodeAt(i);\n if (code < 0x80) {\n bytes += 1;\n } else if (code < 0x800) {\n bytes += 2;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes += 3;\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));\n bytes += 4;\n }\n }\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n\n Keccak.prototype.bytepad = function (strs, w) {\n var bytes = this.encode(w);\n for (var i = 0; i < strs.length; ++i) {\n bytes += this.encodeString(strs[i]);\n }\n var paddingBytes = w - bytes % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n\n Keccak.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n };\n\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = '', block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) {\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\n }\n if (extraBytes > 2) {\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\n }\n }\n return hex;\n };\n\n Keccak.prototype.arrayBuffer = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) {\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\n } else {\n buffer = new ArrayBuffer(bytes);\n }\n var array = new Uint32Array(buffer);\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n array[j] = s[i];\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n array[i] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n\n Keccak.prototype.digest = Keccak.prototype.array = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = (block >> 8) & 0xFF;\n array[offset + 2] = (block >> 16) & 0xFF;\n array[offset + 3] = (block >> 24) & 0xFF;\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) {\n array[offset + 1] = (block >> 8) & 0xFF;\n }\n if (extraBytes > 2) {\n array[offset + 2] = (block >> 16) & 0xFF;\n }\n }\n return array;\n };\n\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n\n Kmac.prototype = new Keccak();\n\n Kmac.prototype.finalize = function () {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n\n var f = function (s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = (s[11] << 4) | (s[10] >>> 28);\n b33 = (s[10] << 4) | (s[11] >>> 28);\n b14 = (s[20] << 3) | (s[21] >>> 29);\n b15 = (s[21] << 3) | (s[20] >>> 29);\n b46 = (s[31] << 9) | (s[30] >>> 23);\n b47 = (s[30] << 9) | (s[31] >>> 23);\n b28 = (s[40] << 18) | (s[41] >>> 14);\n b29 = (s[41] << 18) | (s[40] >>> 14);\n b20 = (s[2] << 1) | (s[3] >>> 31);\n b21 = (s[3] << 1) | (s[2] >>> 31);\n b2 = (s[13] << 12) | (s[12] >>> 20);\n b3 = (s[12] << 12) | (s[13] >>> 20);\n b34 = (s[22] << 10) | (s[23] >>> 22);\n b35 = (s[23] << 10) | (s[22] >>> 22);\n b16 = (s[33] << 13) | (s[32] >>> 19);\n b17 = (s[32] << 13) | (s[33] >>> 19);\n b48 = (s[42] << 2) | (s[43] >>> 30);\n b49 = (s[43] << 2) | (s[42] >>> 30);\n b40 = (s[5] << 30) | (s[4] >>> 2);\n b41 = (s[4] << 30) | (s[5] >>> 2);\n b22 = (s[14] << 6) | (s[15] >>> 26);\n b23 = (s[15] << 6) | (s[14] >>> 26);\n b4 = (s[25] << 11) | (s[24] >>> 21);\n b5 = (s[24] << 11) | (s[25] >>> 21);\n b36 = (s[34] << 15) | (s[35] >>> 17);\n b37 = (s[35] << 15) | (s[34] >>> 17);\n b18 = (s[45] << 29) | (s[44] >>> 3);\n b19 = (s[44] << 29) | (s[45] >>> 3);\n b10 = (s[6] << 28) | (s[7] >>> 4);\n b11 = (s[7] << 28) | (s[6] >>> 4);\n b42 = (s[17] << 23) | (s[16] >>> 9);\n b43 = (s[16] << 23) | (s[17] >>> 9);\n b24 = (s[26] << 25) | (s[27] >>> 7);\n b25 = (s[27] << 25) | (s[26] >>> 7);\n b6 = (s[36] << 21) | (s[37] >>> 11);\n b7 = (s[37] << 21) | (s[36] >>> 11);\n b38 = (s[47] << 24) | (s[46] >>> 8);\n b39 = (s[46] << 24) | (s[47] >>> 8);\n b30 = (s[8] << 27) | (s[9] >>> 5);\n b31 = (s[9] << 27) | (s[8] >>> 5);\n b12 = (s[18] << 20) | (s[19] >>> 12);\n b13 = (s[19] << 20) | (s[18] >>> 12);\n b44 = (s[29] << 7) | (s[28] >>> 25);\n b45 = (s[28] << 7) | (s[29] >>> 25);\n b26 = (s[38] << 8) | (s[39] >>> 24);\n b27 = (s[39] << 8) | (s[38] >>> 24);\n b8 = (s[48] << 14) | (s[49] >>> 18);\n b9 = (s[49] << 14) | (s[48] >>> 18);\n\n s[0] = b0 ^ (~b2 & b4);\n s[1] = b1 ^ (~b3 & b5);\n s[10] = b10 ^ (~b12 & b14);\n s[11] = b11 ^ (~b13 & b15);\n s[20] = b20 ^ (~b22 & b24);\n s[21] = b21 ^ (~b23 & b25);\n s[30] = b30 ^ (~b32 & b34);\n s[31] = b31 ^ (~b33 & b35);\n s[40] = b40 ^ (~b42 & b44);\n s[41] = b41 ^ (~b43 & b45);\n s[2] = b2 ^ (~b4 & b6);\n s[3] = b3 ^ (~b5 & b7);\n s[12] = b12 ^ (~b14 & b16);\n s[13] = b13 ^ (~b15 & b17);\n s[22] = b22 ^ (~b24 & b26);\n s[23] = b23 ^ (~b25 & b27);\n s[32] = b32 ^ (~b34 & b36);\n s[33] = b33 ^ (~b35 & b37);\n s[42] = b42 ^ (~b44 & b46);\n s[43] = b43 ^ (~b45 & b47);\n s[4] = b4 ^ (~b6 & b8);\n s[5] = b5 ^ (~b7 & b9);\n s[14] = b14 ^ (~b16 & b18);\n s[15] = b15 ^ (~b17 & b19);\n s[24] = b24 ^ (~b26 & b28);\n s[25] = b25 ^ (~b27 & b29);\n s[34] = b34 ^ (~b36 & b38);\n s[35] = b35 ^ (~b37 & b39);\n s[44] = b44 ^ (~b46 & b48);\n s[45] = b45 ^ (~b47 & b49);\n s[6] = b6 ^ (~b8 & b0);\n s[7] = b7 ^ (~b9 & b1);\n s[16] = b16 ^ (~b18 & b10);\n s[17] = b17 ^ (~b19 & b11);\n s[26] = b26 ^ (~b28 & b20);\n s[27] = b27 ^ (~b29 & b21);\n s[36] = b36 ^ (~b38 & b30);\n s[37] = b37 ^ (~b39 & b31);\n s[46] = b46 ^ (~b48 & b40);\n s[47] = b47 ^ (~b49 & b41);\n s[8] = b8 ^ (~b0 & b2);\n s[9] = b9 ^ (~b1 & b3);\n s[18] = b18 ^ (~b10 & b12);\n s[19] = b19 ^ (~b11 & b13);\n s[28] = b28 ^ (~b20 & b22);\n s[29] = b29 ^ (~b21 & b23);\n s[38] = b38 ^ (~b30 & b32);\n s[39] = b39 ^ (~b31 & b33);\n s[48] = b48 ^ (~b40 & b42);\n s[49] = b49 ^ (~b41 & b43);\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n\n if (COMMON_JS) {\n module.exports = methods;\n } else {\n for (i = 0; i < methodNames.length; ++i) {\n root[methodNames[i]] = methods[methodNames[i]];\n }\n if (AMD) {\n define(function () {\n return methods;\n });\n }\n }\n})();\n","import { sha3_512 } from 'js-sha3';\n\nexport default function voterRRN() {\n return {\n privacyPolicyChecked: false,\n\n init() {\n const form = this.$refs.form;\n const rrn = this.$refs.rrn;\n\n if (form && rrn) {\n this.formatAsRRN(rrn);\n this.hashRRN(form, rrn);\n }\n },\n\n hashRRN(form, rrn) {\n form.addEventListener('submit', (evt) => {\n const hashedRRN = this.$refs.hashedRRN;\n const filteredRRN = this.onlyDigits(rrn.value);\n\n hashedRRN.value = sha3_512(filteredRRN);\n });\n },\n\n formatAsRRN(rrn) {\n rrn.addEventListener('input', (evt) => {\n const value = this.onlyDigits(evt.target.value);\n const rrn1 = [value.slice(0, 2), value.slice(2, 4), value.slice(4, 6)].filter((value) => !!value).join('.');\n const rrn2 = [value.slice(6, 9), value.slice(9, 11)].filter((value) => !!value).join('.');\n rrn.value = [rrn1, rrn2].filter((value) => !!value).join('-');\n });\n },\n\n onlyDigits(input) {\n return input.replaceAll(/\\D/g, '');\n },\n };\n}\n","export default function nudging() {\n let timeout;\n\n const debounce = (fn, ms, args) => {\n clearTimeout(timeout);\n timeout = setTimeout(fn, ms, args);\n };\n\n return {\n editor: this.$refs.editor,\n timeout: null,\n\n init() {\n // We listen for custom event 'commentInput' on the editor to pass the tinyMCE content\n this.$refs.editor.addEventListener('commentInput', (e) => this.handleCommentInput(e));\n },\n\n handleCommentInput(e) {\n this.setContent(e);\n debounce(this.callAiFeedback, 1000, this);\n },\n\n setContent(e) {\n const content = e.detail;\n this.$refs.aiFeedbackContent.value = content;\n },\n\n callAiFeedback(context) {\n context.$refs.aiFeedbackSubmit.click();\n },\n }\n}\n","import 'core-js/stable';\nimport 'regenerator-runtime/runtime';\nimport '@hotwired/turbo-rails';\n\n// Helpers\n// import '../scripts';\n\n// Bpart Scripts\nimport '~/scripts/register-as-organization';\nimport '~/scripts/search';\nimport '~/scripts/status-message';\nimport '~/scripts/vote';\nimport '~/scripts/splide';\n\n// Alpine\nimport Alpine from 'alpinejs';\nimport cookieConsent from '../alpine/cookie-consent';\nimport dropdown from '../alpine/dropdown-public';\nimport entriesSearch from '../alpine/entries-search';\nimport entriesTranslation from '../alpine/entries-translation';\nimport fileUpload from '../alpine/file-upload-public';\nimport formErrorHandler from '../alpine/form-error-handler';\nimport googleMapsPublic from '../alpine/google-maps-public';\nimport newsItemsCategories from '../alpine/news-items-categories';\nimport skiplinks from '../alpine/skiplinks';\nimport socialMediaSharer from '../alpine/social-media-sharer';\nimport highlight from '../alpine/search-result-highlighter';\nimport voterRRN from '../alpine/voter-rrn';\nimport nudging from '../alpine/nudging';\n\n// Alpine\nwindow.Alpine = Alpine;\nAlpine.data('cookieConsent', cookieConsent);\nAlpine.data('dropdown', dropdown);\nAlpine.data('entriesSearch', entriesSearch);\nAlpine.data('entriesTranslation', entriesTranslation);\nAlpine.data('fileUpload', fileUpload);\nAlpine.data('formErrorHandler', formErrorHandler);\nAlpine.data('googleMapsPublic', googleMapsPublic);\nAlpine.data('newsItemsCategories', newsItemsCategories);\nAlpine.data('skiplinks', skiplinks);\nAlpine.data('socialMediaSharer', socialMediaSharer);\nAlpine.data('highlight', highlight);\nAlpine.data('voterRRN', voterRRN);\nAlpine.data('nudging', nudging);\n\ndocument.addEventListener('DOMContentLoaded', () => {\n Alpine.start();\n\n const flashMessage = document.getElementById('flash-message');\n if (flashMessage) setTimeout(flashMessage.focus(), 0);\n});\n"],"names":["registrationOptions","organizationInputWrapper","organizationInput","firstNameInput","option","toggleOrganizationField","event","searchButton","searchWrapper","searchInput","e","flashWrapper","closeButton","removeFlashMessage","focusFirstElement","error","setFlashMessage","message","alertElement","clearFlashMessages","jsAlert","attentionIcon","messageNode","alert","el","evt","toggleVote","entryId","axios","response","data","hideVoteElements","showVoteElements","updateVotesCount","updateTopicVotesCount","count","counter","cookieConsent","COOKIE_NAME","value","consent","item","dropdown","items","entriesSearch","translations","topic","type","translate","app","label","lang","EN_translations","NL_translations","FR_translations","DE_translations","IT_translations","entriesTranslation","googleTranslateApiKey","source","metaComponent","field","index","backToOriginalMessage","toTranslationMessage","translationByMessage","errorMessage","entryFields","entryContent","entryTitle","fields","text","translation","MAX_IMAGE_SIZE","MAX_IMAGE_DIMENSION","reduce","ImageBlobReduce","locale","fileUpload","originalUrl","originalFilename","isPreviewActive","input","file","preview","filenameEl","fireSwal","reader","img","blob","transfer","reducedImg","formErrorHandler","targetId","element","klass","_a","errorElement","googleMapsPublic","originLatLng","mapParams","topics","mapSettings","mapOverlay","geoJson","latInput","lngInput","entries","entry","Map","AdvancedMarkerElement","Autocomplete","mapOptions","map","ev","icon","markerLatLng","title","marker","contentString","infoWindow","content","lat","lng","mapsMouseEvent","position","overlayBounds","overlayNorth","overlaySouth","overlayEast","overlayWest","MapOverlay","bounds","image","overlayProjection","sw","ne","feature","searchTerm","Place","request","places","LatLngBounds","place","resultLatLng","newsItemsCategories","filter","skiplinks","focusable","socialMediaSharer","platform","url","hashtags","t","module","this","r","s","i","o","n","a","c","h","l","highlight","term","Mark","INPUT_ERROR","FINALIZE_ERROR","WINDOW","root","WEB_WORKER","NODE_JS","global","COMMON_JS","ARRAY_BUFFER","HEX_CHARS","SHAKE_PADDING","CSHAKE_PADDING","KECCAK_PADDING","PADDING","SHIFT","RC","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","obj","createOutputMethod","bits","padding","outputType","Keccak","createShakeOutputMethod","outputBits","createCshakeOutputMethod","methods","createKmacOutputMethod","key","createOutputMethods","method","createMethod","createShakeMethod","createCshakeMethod","w","createKmacMethod","Kmac","algorithms","methodNames","algorithm","j","methodName","newMethodName","notString","blocks","byteCount","length","blockCount","code","f","x","right","bytes","str","strs","paddingBytes","zeros","outputBlocks","extraBytes","hex","block","buffer","array","offset","c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","b10","b11","b12","b13","b14","b15","b16","b17","b18","b19","b20","b21","b22","b23","b24","b25","b26","b27","b28","b29","b30","b31","b32","b33","b34","b35","b36","b37","b38","b39","b40","b41","b42","b43","b44","b45","b46","b47","b48","b49","voterRRN","form","rrn","hashedRRN","filteredRRN","sha3_512","rrn1","rrn2","nudging","timeout","debounce","fn","ms","args","context","Alpine","flashMessage"],"mappings":"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","x_google_ignoreList":[16,18]}