{"version":3,"file":"js/decidim_core-473a3f034d7939ddeb9d.js","mappings":"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","sources":["webpack://decidim_application/webpack/runtime/chunk loaded","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/input_multiple_mentions.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/input_character_counter.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/dropdowns_menus.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/icon.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/external_link.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/external_domain_warning.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/form_validator.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-comments-0.26.2/app/packs/src/decidim/comments/comments.component.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/input_emoji.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/dialog_mode.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/focus_guard.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/index.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/back_to_list.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/clipboard.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/append_elements.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/form_remote.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/conferences.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/results_listing.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/impersonation.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/entrypoints/decidim_core.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/account_form.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/append_redirect_url_to_modals.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/callout.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/conversations.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/diff_mode_dropdown.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/floating_help.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/form_attachments.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/history.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/identity_selector_dialog.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/input_autojump.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/notifications.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/represent_user_group.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/responsive_horizontal_tabs.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/security/selfxss_warning.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/start_conversation_dialog.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/tooltip_keep_on_hover.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/user_registrations.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/vendor/modernizr.js","webpack://decidim_application/./vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/src/decidim/vendor/social-share-button.js","webpack://decidim_application//tmp/build/vendor/bundle/ruby/2.7.0/gems/decidim-core-0.26.2/app/packs/images|sync|/^\\.\\/.*$/","webpack://decidim_application/webpack/bootstrap","webpack://decidim_application/webpack/runtime/compat get default export","webpack://decidim_application/webpack/runtime/define property getters","webpack://decidim_application/webpack/runtime/global","webpack://decidim_application/webpack/runtime/hasOwnProperty shorthand","webpack://decidim_application/webpack/runtime/node module decorator","webpack://decidim_application/webpack/runtime/publicPath","webpack://decidim_application/webpack/runtime/jsonp chunk loading","webpack://decidim_application/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","/* eslint no-unused-vars: 0 */\nimport Tribute from \"src/decidim/vendor/tribute\"\n\nconst updateSubmitButton = ($fieldContainer, $selectedItems) => {\n  const $form = $fieldContainer.closest(\"form\");\n  if ($form.length < 1) {\n    return;\n  }\n\n  const $submitButton = $form.find(\"button[type='submit']\");\n  if ($selectedItems.children().length === 0) {\n    $submitButton.prop(\"disabled\", true);\n  } else {\n    $submitButton.prop(\"disabled\", false);\n  }\n}\n\n$(() => {\n  const $multipleMentionContainer = $(\".js-multiple-mentions\");\n  const $multipleMentionRecipientsContainer = $(\".js-multiple-mentions-recipients\");\n  const nodatafound = $multipleMentionContainer.attr(\"data-noresults\");\n  const directMessageDisabled = $multipleMentionContainer.attr(\"data-direct-messages-disabled\");\n\n  const maxRecipients = 9;\n  let mentionsCount = 0;\n\n  /* eslint no-unused-vars: 0 */\n  let deleteRecipient = function(element) {\n    // Remove recipient\n    element.remove();\n    mentionsCount -= 1;\n    // In case mentions container disable, enable again\n    if ($multipleMentionContainer.prop(\"disabled\")) {\n      $multipleMentionContainer.prop(\"disabled\", false);\n    }\n  };\n\n  let noMatchTemplate = null\n  if (nodatafound) {\n    noMatchTemplate = () => `<li>${nodatafound}</li>`;\n  }\n\n  // Returns a function, that, as long as it continues to be invoked, will not\n  // be triggered. The function will be called after it stops being called for\n  // N milliseconds\n  /* eslint no-invalid-this: 0 */\n  /* eslint consistent-this: 0 */\n  /* eslint prefer-reflect: 0 */\n  const debounce = function(callback, wait) {\n    let timeout = null;\n    return (...args) => {\n      const context = this;\n      clearTimeout(timeout);\n      timeout = setTimeout(() => callback.apply(context, args), wait);\n    };\n  }\n\n  /* eslint no-use-before-define: [\"error\", { \"variables\": false }]*/\n  /* eslint no-unused-expressions: 0 */\n  let remoteSearch = function(text, cb) {\n    let exclusionIds = [];\n    $multipleMentionRecipientsContainer.find(\"input[name^='recipient_id']\").each(function(index) {\n      exclusionIds.push($(this).val());\n    });\n    let query = `{users(filter:{wildcard:\"${text}\",excludeIds:[${exclusionIds}]}){id,nickname,name,avatarUrl,__typename,...on UserGroup{membersCount},...on User{directMessagesEnabled}}}`;\n    $.post(\"/api\", {query: query}).\n      then((response) => {\n        let data = response.data.users || {};\n        cb(data)\n      }).fail(function() {\n        cb([])\n      }).always(() => {\n      // This function runs Tribute every single time you type something\n      // So we must evalute DOM properties after each\n        const $parent = $(tribute.current.element).parent();\n        $parent.addClass(\"is-active\");\n\n        // We need to move the container to the wrapper selected\n        const $tribute = $parent.find(\".tribute-container\");\n        // Remove the inline styles, relative to absolute positioning\n        $tribute.removeAttr(\"style\");\n      })\n  };\n\n  // tribute.js docs - http://github.com/zurb/tribute\n  /* global Tribute*/\n  /* eslint multiline-ternary: 0 */\n  /* eslint no-ternary: 0 */\n  let tribute = new Tribute({\n    autocompleteMode: true,\n    // avoid overloading the API if the user types too fast\n    values: debounce(function (text, cb) {\n      remoteSearch(text, (users) => cb(users));\n    }, 250),\n    positionMenu: true,\n    menuContainer: null,\n    menuItemLimit: 10,\n    fillAttr: \"nickname\",\n    noMatchTemplate: noMatchTemplate,\n    lookup: (item) => item.nickname + item.name,\n    selectTemplate: function(item) {\n      mentionsCount += 1;\n      if (mentionsCount >= maxRecipients) {\n        $multipleMentionContainer.prop(\"disabled\", true);\n      }\n      if (typeof item === \"undefined\") {\n        return null;\n      }\n      // Set recipient profile view\n      let recipientLabel = `\n        <label style=\"padding: 0 0 10px 0\">\n          <img src=\"${item.original.avatarUrl}\" alt=\"${item.original.name}\" height=\"35\" width=\"35\" style=\"border-radius: 50%;\" aria-label=\"${item.original.name}\">&nbsp;\n          <b>${item.original.name}</b>\n          <input type=\"hidden\" name=\"recipient_id[]\" value=\"${item.original.id}\">\n          <div class=\"float-right\">&times;</div>\n        </label>\n      `;\n\n      // Append new recipient to DOM\n      if (item.original.__typename === \"UserGroup\" || item.original.directMessagesEnabled === \"true\") {\n        $multipleMentionRecipientsContainer.append($(recipientLabel));\n        $multipleMentionContainer.val(\"\");\n      }\n\n      // In order to add tabindex accessibility control to each recipient in list\n      $multipleMentionRecipientsContainer.find(\"label\").each(function(index) {\n        $(this).find(\"div\").attr(\"tabIndex\", 0).attr(\"aria-controls\", 0).attr(\"aria-label\", \"Close\").attr(\"role\", \"tab\");\n      });\n\n      updateSubmitButton($multipleMentionContainer, $multipleMentionRecipientsContainer);\n      // Clean input\n      return \"\";\n    },\n    menuItemTemplate: function(item) {\n      let svg = \"\";\n      let enabled = item.original.directMessagesEnabled === \"true\";\n      if (window.Decidim && item.original.__typename === \"UserGroup\") {\n        enabled = true;\n        const iconsPath = window.Decidim.config.get(\"icons_path\");\n        svg = `<span class=\"is-group\">${item.original.membersCount}x <svg class=\"icon--members icon\"><use href=\"${iconsPath}#icon-members\"/></svg></span>`;\n      }\n      let disabledElementClass = enabled ? \"\" : \"disabled-tribute-element\";\n      let disabledElementMessage = enabled ? \"\" : `&nbsp;<span class=\"disabled-tribute-element-info\">${directMessageDisabled}</span>`;\n      return `<div class=\"tribute-item ${item.original.__typename} ${disabledElementClass}\">\n      <span class=\"author__avatar\"><img src=\"${item.original.avatarUrl}\" alt=\"author-avatar\"></span>\n        <strong>${item.original.nickname}</strong>\n        <small>${item.original.name}</small>\n        ${svg}\n        ${disabledElementMessage}\n      </div>`;\n    }\n  });\n\n  let setupEvents = function($element) {\n    updateSubmitButton($multipleMentionContainer, $multipleMentionRecipientsContainer);\n\n    // DOM manipulation\n    $element.on(\"focusin\", (event) => {\n      // Set the parent container relative to the current element\n      tribute.menuContainer = event.target.parentNode;\n    });\n    $element.on(\"focusout\", (event) => {\n      let $parent = $(event.target).parent();\n\n      if ($parent.hasClass(\"is-active\")) {\n        $parent.removeClass(\"is-active\");\n      }\n    });\n    $element.on(\"input\", (event) => {\n      let $parent = $(event.target).parent();\n\n      if (tribute.isActive) {\n        // We need to move the container to the wrapper selected\n        let $tribute = $(\".tribute-container\");\n        $tribute.appendTo($parent);\n        // Remove the inline styles, relative to absolute positioning\n        $tribute.removeAttr(\"style\");\n        // Parent adaptation\n        $parent.addClass(\"is-active\");\n      } else {\n        $parent.removeClass(\"is-active\");\n      }\n    });\n  };\n\n  let setupRecipientEvents = function($element) {\n    // Allow delete with click on element in recipients list\n    $element.on(\"click\", (event) => {\n      let $target = event.target.parentNode;\n      if ($target.tagName === \"LABEL\") {\n        deleteRecipient($target);\n        updateSubmitButton($multipleMentionContainer, $multipleMentionRecipientsContainer);\n      }\n    });\n    // Allow delete with keypress on element in recipients list\n    $element.on(\"keypress\", (event) => {\n      let $target = event.target.parentNode;\n      if ($target.tagName === \"LABEL\") {\n        deleteRecipient($target);\n        updateSubmitButton($multipleMentionContainer, $multipleMentionRecipientsContainer);\n      }\n    });\n  };\n\n  // Call only if we have containter to bind events to\n  if ($multipleMentionContainer.length) {\n    setupEvents($multipleMentionContainer);\n    tribute.attach($multipleMentionContainer);\n  }\n\n  // Call only if we have containter to bind events to\n  if ($multipleMentionRecipientsContainer.length) {\n    setupRecipientEvents($multipleMentionRecipientsContainer);\n  }\n});\n","const COUNT_KEY = \"%count%\";\nconst DEFAULT_MESSAGES = {\n  charactersAtLeast: {\n    one: `at least ${COUNT_KEY} character`,\n    other: `at least ${COUNT_KEY} characters`\n  },\n  charactersLeft: {\n    one: `${COUNT_KEY} character left`,\n    other: `${COUNT_KEY} characters left`\n  }\n};\nlet MESSAGES = DEFAULT_MESSAGES;\n\nexport default class InputCharacterCounter {\n  static configureMessages(messages) {\n    MESSAGES = $.extend(DEFAULT_MESSAGES, messages);\n  }\n\n  constructor(input) {\n    this.$input = input;\n    this.$target = $(this.$input.data(\"remaining-characters\"));\n    this.minCharacters = parseInt(this.$input.attr(\"minlength\"), 10);\n    this.maxCharacters = parseInt(this.$input.attr(\"maxlength\"), 10);\n\n    if (this.$target.length < 1) {\n      let targetId = null;\n      if (this.$input.attr(\"id\") && this.$input.attr(\"id\").length > 0) {\n        targetId = `${this.$input.attr(\"id\")}_characters`;\n      } else {\n        targetId = `characters_${Math.random().toString(36).substr(2, 9)}`;\n      }\n\n      this.$target = $(`<span id=\"${targetId}\" class=\"form-input-extra-before\" />`)\n\n      // If input is a hidden for WYSIWYG editor add it at the end\n      if (this.$input.parent().is(\".editor\")) {\n        this.$input.parent().after(this.$target);\n      }\n      // Prefix and suffix columns are wrapped in columns, so put the\n      // character counter before that.\n      else if (\n        this.$input.parent().is(\".columns\") &&\n        this.$input.parent().parent().is(\".row\")\n      ) {\n        this.$input.parent().parent().after(this.$target);\n      } else {\n        this.$input.after(this.$target);\n      }\n    }\n\n    if (this.$target.length > 0 && (this.maxCharacters > 0 || this.minCharacters > 0)) {\n      this.bindEvents();\n    }\n  }\n\n  bindEvents() {\n    // In WYSIWYG editors (Quill) we need to find the active editor from the\n    // DOM node. Quill has the experimental \"find\" method that should work\n    // fine in this case\n    if (Quill && this.$input.parent().is(\".editor\")) {\n      // Wait until the next javascript loop so Quill editors are created\n      setTimeout(() => {\n        const editor = Quill.find(this.$input.siblings(\".editor-container\")[0]);\n        editor.on(\"text-change\", () => {\n          this.updateStatus();\n        });\n      })\n    }\n    this.$input.on(\"keyup\", () => {\n      this.updateStatus();\n    });\n    if (this.$input.get(0) !== null) {\n      this.$input.get(0).addEventListener(\"emoji.added\", () => {\n        this.updateStatus();\n      });\n    }\n    this.updateStatus();\n  }\n\n  updateStatus() {\n    const numCharacters = this.$input.val().length;\n    const showMessages = [];\n\n    if (this.minCharacters > 0) {\n      let message = MESSAGES.charactersAtLeast.other;\n      if (this.minCharacters === 1) {\n        message = MESSAGES.charactersAtLeast.one;\n      }\n      showMessages.push(message.replace(COUNT_KEY, this.minCharacters));\n    }\n\n    if (this.maxCharacters > 0) {\n      const remaining = this.maxCharacters - numCharacters;\n      let message = MESSAGES.charactersLeft.other;\n      if (remaining === 1) {\n        message = MESSAGES.charactersLeft.one;\n      }\n      this.$input[0].dispatchEvent(\n        new CustomEvent(\"characterCounter\", {detail: {remaining: remaining}})\n      );\n      showMessages.push(message.replace(COUNT_KEY, remaining));\n    }\n\n    this.$target.text(showMessages.join(\", \"));\n  }\n}\n\nconst createCharacterCounter = ($input) => {\n  $input.data(\"remaining-characters-counter\", new InputCharacterCounter($input));\n}\n\n$(() => {\n  $(\"input[type='text'], textarea, .editor>input[type='hidden']\").each((_i, elem) => {\n    const $input = $(elem);\n\n    if (!$input.is(\"[minlength]\") && !$input.is(\"[maxlength]\")) {\n      return;\n    }\n\n    createCharacterCounter($input);\n  });\n});\n\nexport {InputCharacterCounter, createCharacterCounter};\n","/* eslint-disable require-jsdoc */\n\n// This will apply some fixes for the Foundation dropdown menu element\n// according to W3C instructions at:\n// https://www.w3.org/TR/wai-aria-practices/examples/menu-button/menu-button-links.html\n//\n// NOTE:\n// This needs to run AFTER Foundation has been initialized because those\n// initializers will affect the drop down menu elements.\nexport default function fixDropdownMenus() {\n  $(\"[data-dropdown-menu]\").each((_i, element) => {\n    // This will break navigation on macOS VoiceOver app since it will let the\n    // user to focus on the li element instead of the <a> element where we\n    // actually need the focus to be in.\n    $(\"li.is-dropdown-submenu-parent\", element).removeAttr(\"aria-haspopup\").removeAttr(\"aria-label\");\n    $(\"li.is-dropdown-submenu-parent > a:first\", element).removeAttr(\"aria-label\");\n    // Foundation marks the wrong role for the submenu elements\n    $(\"ul.is-dropdown-submenu\", element).attr(\"role\", \"menu\");\n  })\n}\n\n// Ensure the first element is always focused when a dropdown is opened as\n// this would not always happen when using a screen reader. If this is not\n// done, the screen reader will stay quiet when the menu opens which can lead\n// to the blind user not understanding the menu has opened.\n$(() => {\n  $(\"[data-dropdown-menu]\").on(\"show.zf.dropdownMenu\", (_i, element) => {\n    $(\"li:first > a\", element).focus();\n  });\n})\n","const DEFAULT_ATTRIBUTES = {\n  role: \"img\",\n  \"aria-hidden\": \"true\"\n};\n\n/**\n * Generates a Decidim icon element and returns it as a string.\n * @param {String} iconKey - the key of the icon to be generated\n * @param {Object} attributes - extra attributes to define for the icon SVG\n * @param {int} wait - number of milliseconds to wait before executing the function.\n * @private\n * @returns {Void} - Returns nothing.\n */\nexport default function icon(iconKey, attributes = {}) {\n  const iconAttributes = $.extend(DEFAULT_ATTRIBUTES, attributes);\n  const title = iconAttributes.title || iconAttributes.ariaLabel;\n  Reflect.deleteProperty(iconAttributes, \"title\");\n\n  const htmlAttributes = {\n    \"class\": `icon icon--${iconKey}`\n  };\n  Object.keys(iconAttributes).forEach((key) => {\n    // Convert the key to dash-format.\n    const newKey = key.replace(/([A-Z])/g, (ucw) => `-${ucw[0].toLowerCase()}`);\n    if (typeof htmlAttributes[key] === \"undefined\") {\n      htmlAttributes[newKey] = iconAttributes[key];\n    } else {\n      htmlAttributes[newKey] = `${htmlAttributes[newKey]} ${iconAttributes[key]}`;\n    }\n  });\n\n  const iconsPath =  window.Decidim.config.get(\"icons_path\");\n  const elHtml = `<svg><use href=\"${iconsPath}#icon-${iconKey}\"></use></svg>`;\n  const $el = $(elHtml);\n  if (title) {\n    $el.prepend(`<title>${title}</title>`);\n  } else {\n    // This keeps accessibility audit tools happy\n    $el.prepend(`<title>${iconKey}</title>`);\n    // Force hidden if title is not defined\n    htmlAttributes[\"aria-hidden\"] = \"true\";\n  }\n  $el.attr(htmlAttributes);\n\n  return $(\"<div />\").append($el).html();\n}\n","import icon from \"src/decidim/icon\"\n\nconst EXCLUDE_CLASSES = [\n  \"card--list__data__icon\",\n  \"footer-social__icon\",\n  \"logo-cityhall\"\n];\nconst EXCLUDE_ANCESTOR_CLASSES = [\n  \"editor-container\"\n]\nconst EXCLUDE_REL = [\"license\", \"decidim\"];\n\nconst DEFAULT_MESSAGES = {\n  externalLink: \"External link\"\n};\nlet MESSAGES = DEFAULT_MESSAGES;\n\nexport default class ExternalLink {\n  static configureMessages(messages) {\n    MESSAGES = $.extend(DEFAULT_MESSAGES, messages);\n  }\n\n  constructor(link) {\n    this.$link = link;\n\n    this.setup();\n  }\n\n  setup() {\n    if (EXCLUDE_CLASSES.some((cls) => this.$link.hasClass(cls))) {\n      return;\n    }\n    if (EXCLUDE_ANCESTOR_CLASSES.some((cls) => this.$link.parents().hasClass(cls))) {\n      return;\n    }\n    if (\n      EXCLUDE_REL.some((rel) => {\n        const linkRels = `${this.$link.attr(\"rel\")}`.split(\" \");\n        return linkRels.indexOf(rel) > -1;\n      })\n    ) {\n      return;\n    }\n\n    this.$link.addClass(\"external-link-container\");\n    let spacer = \"&nbsp;\";\n    if (this.$link.text().trim().length < 1) {\n      // Fixes image links extra space\n      spacer = \"\";\n    }\n    this.$link.append(`${spacer}${this.generateElement()}`);\n  }\n\n  generateElement() {\n    let content = `${this.generateIcon()}${this.generateScreenReaderLabel()}`;\n\n    return `<span class=\"external-link-indicator\">${content}</span>`;\n  }\n\n  generateIcon() {\n    return icon(\"external-link\");\n  }\n\n  generateScreenReaderLabel() {\n    return `<span class=\"show-for-sr\">(${MESSAGES.externalLink})</span>`;\n  }\n}\n","/* eslint-disable require-jsdoc */\n\nexport default function updateExternalDomainLinks($target) {\n  const whitelist = window.Decidim.config.get(\"external_domain_whitelist\")\n\n  if (window.location.pathname === \"/link\") {\n    return;\n  }\n\n  $(\"a\", $target).filter((_i, link) => {\n    const $link = $(link);\n    if (!$link[0].hasAttribute(\"href\") || $link.parents(\".ql-editor\").length > 0) {\n      return false;\n    }\n\n    const parts = $link.attr(\"href\").match(/^(([a-z]+):)?\\/\\/([^/:]+)(:[0-9]*)?(\\/.*)?$/) || null;\n    if (!parts) {\n      return false;\n    }\n\n    const domain = parts[3].replace(/^www\\./, \"\")\n    if (whitelist.includes(domain)) {\n      return false;\n    }\n\n    return true;\n  }).each((_n, link) => {\n    const $link = $(link);\n    const externalHref = `/link?external_url=${encodeURIComponent($link.attr(\"href\"))}`;\n    $link.attr(\"href\", externalHref)\n    $link.attr(\"data-remote\", true)\n  });\n}\n","const DEFAULT_MESSAGES = {\n  correctErrors: \"There are errors on the form, please correct them.\"\n};\nlet MESSAGES = DEFAULT_MESSAGES;\n\nexport default class FormValidator {\n  static configureMessages(messages) {\n    MESSAGES = $.extend(DEFAULT_MESSAGES, messages);\n  }\n\n  constructor(form) {\n    this.$form = form;\n\n    this.$form.on(\"form-error.decidim\", () => {\n      this.handleError();\n    });\n  }\n\n  handleError() {\n    this.announceFormError();\n\n    $(\".is-invalid-input:first\", this.$form).focus();\n  }\n\n  /**\n   * This announces immediately to the screen reader that there are errors on\n   * the form that need to be fixed. Does not work on all screen readers but\n   * works e.g. in Windows+Firefox+NVDA and macOS+Safari+VoiceOver\n   * combinations.\n   *\n   * @returns {undefined}\n   */\n  announceFormError() {\n    let $announce = $(\".sr-announce\", this.$form);\n    if ($announce.length > 0) {\n      $announce.remove();\n    }\n    $announce = $(\"<div />\");\n    $announce.attr(\"class\", \"sr-announce show-for-sr\");\n    $announce.attr(\"aria-live\", \"assertive\");\n    this.$form.prepend($announce);\n\n    setTimeout(() => {\n      $announce.text(MESSAGES.correctErrors);\n    }, 100);\n  }\n}\n\n$(() => {\n  $(\"form\").each((_i, el) => {\n    $(el).data(\"form-validator\", new FormValidator($(el)));\n  });\n  $(document).on(\"forminvalid.zf.abide\", function(_ev, form) {\n    form.trigger(\"form-error.decidim\");\n  })\n});\n","/* eslint id-length: [\"error\", { \"exceptions\": [\"$\"] }] */\n\n/**\n * A plain Javascript component that handles the comments.\n *\n * @class\n * @augments Component\n */\n\n// This is necessary for testing purposes\nconst $ = window.$;\n\nimport { createCharacterCounter } from \"src/decidim/input_character_counter\"\nimport ExternalLink from \"src/decidim/external_link\"\nimport updateExternalDomainLinks from \"src/decidim/external_domain_warning\"\n\nexport default class CommentsComponent {\n  constructor($element, config) {\n    this.$element = $element;\n    this.commentableGid = config.commentableGid;\n    this.commentsUrl = config.commentsUrl;\n    this.rootDepth = config.rootDepth;\n    this.order = config.order;\n    this.lastCommentId = config.lastCommentId;\n    this.pollingInterval = config.pollingInterval || 15000;\n    this.id = this.$element.attr(\"id\") || this._getUID();\n    this.mounted = false;\n  }\n\n  /**\n   * Handles the logic for mounting the component\n   * @public\n   * @returns {Void} - Returns nothing\n   */\n  mountComponent() {\n    if (this.$element.length > 0 && !this.mounted) {\n      this.mounted = true;\n      this._initializeComments(this.$element);\n\n      $(\".order-by__dropdown .is-submenu-item a\", this.$element).on(\"click.decidim-comments\", () => this._onInitOrder());\n    }\n  }\n\n  /**\n   * Handles the logic for unmounting the component\n   * @public\n   * @returns {Void} - Returns nothing\n   */\n  unmountComponent() {\n    if (this.mounted) {\n      this.mounted = false;\n      this._stopPolling();\n\n      $(\".add-comment .opinion-toggle .button\", this.$element).off(\"click.decidim-comments\");\n      $(\".add-comment textarea\", this.$element).off(\"input.decidim-comments\");\n      $(\".order-by__dropdown .is-submenu-item a\", this.$element).off(\"click.decidim-comments\");\n      $(\".add-comment form\", this.$element).off(\"submit.decidim-comments\");\n      $(\".add-comment textarea\", this.$element).each((_i, el) => el.removeEventListener(\"emoji.added\", this._onTextInput));\n    }\n  }\n\n  /**\n   * Adds a new thread to the comments section.\n   * @public\n   * @param {String} threadHtml - The HTML content for the thread.\n   * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n   *   herself was the author of the new thread. Defaults to false.\n   * @returns {Void} - Returns nothing\n   */\n  addThread(threadHtml, fromCurrentUser = false) {\n    const $parent = $(\".comments:first\", this.$element);\n    const $comment = $(threadHtml);\n    const $threads = $(\".comment-threads\", this.$element);\n    this._addComment($threads, $comment);\n    this._finalizeCommentCreation($parent, fromCurrentUser);\n  }\n\n  /**\n   * Adds a new reply to an existing comment.\n   * @public\n   * @param {Number} commentId - The ID of the comment for which to add the\n   *   reply to.\n   * @param {String} replyHtml - The HTML content for the reply.\n   * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n   *   herself was the author of the new reply. Defaults to false.\n   * @returns {Void} - Returns nothing\n   */\n  addReply(commentId, replyHtml, fromCurrentUser = false) {\n    const $parent = $(`#comment_${commentId}`);\n    const $comment = $(replyHtml);\n    const $replies = $(`#comment-${commentId}-replies`);\n    this._addComment($replies, $comment);\n    $replies.siblings(\".comment__additionalreply\").removeClass(\"hide\");\n    this._finalizeCommentCreation($parent, fromCurrentUser);\n  }\n\n  /**\n   * Generates a unique identifier for the form.\n   * @private\n   * @returns {String} - Returns a unique identifier\n   */\n  _getUID() {\n    return `comments-${new Date().setUTCMilliseconds()}-${Math.floor(Math.random() * 10000000)}`;\n  }\n\n  /**\n   * Initializes the comments for the given parent element.\n   * @private\n   * @param {jQuery} $parent The parent element to initialize.\n   * @returns {Void} - Returns nothing\n   */\n  _initializeComments($parent) {\n    $(\".add-comment\", $parent).each((_i, el) => {\n      const $add = $(el);\n      const $form = $(\"form\", $add);\n      const $opinionButtons = $(\".opinion-toggle .button\", $add);\n      const $text = $(\"textarea\", $form);\n\n      $opinionButtons.on(\"click.decidim-comments\", this._onToggleOpinion);\n      $text.on(\"input.decidim-comments\", this._onTextInput);\n\n      $(document).trigger(\"attach-mentions-element\", [$text.get(0)]);\n\n      $form.on(\"submit.decidim-comments\", () => {\n        const $submit = $(\"button[type='submit']\", $form);\n\n        $submit.attr(\"disabled\", \"disabled\");\n        this._stopPolling();\n      });\n\n      if ($text.length && $text.get(0) !== null) {\n        // Attach event to the DOM node, instead of the jQuery object\n        $text.get(0).addEventListener(\"emoji.added\", this._onTextInput);\n      }\n    });\n\n    this._pollComments();\n  }\n\n  /**\n   * Adds the given comment element to the given target element and\n   * initializes it.\n   * @private\n   * @param {jQuery} $target - The target element to add the comment to.\n   * @param {jQuery} $container - The comment container element to add.\n   * @returns {Void} - Returns nothing\n   */\n  _addComment($target, $container) {\n    let $comment = $(\".comment\", $container);\n    if ($comment.length < 1) {\n      // In case of a reply\n      $comment = $container;\n    }\n    this.lastCommentId = parseInt($comment.data(\"comment-id\"), 10);\n\n    $target.append($container);\n    $container.foundation();\n    this._initializeComments($container);\n    createCharacterCounter($(\".add-comment textarea\", $container));\n    $container.find('a[target=\"_blank\"]').each((_i, elem) => {\n      const $link = $(elem);\n      $link.data(\"external-link\", new ExternalLink($link));\n    });\n    updateExternalDomainLinks($container)\n  }\n\n  /**\n   * Finalizes the new comment creation after the comment adding finishes\n   * successfully.\n   * @private\n   * @param {jQuery} $parent - The parent comment element to finalize.\n   * @param {Boolean} fromCurrentUser - A boolean indicating whether the user\n   *   herself was the author of the new comment.\n   * @returns {Void} - Returns nothing\n   */\n  _finalizeCommentCreation($parent, fromCurrentUser) {\n    if (fromCurrentUser) {\n      const $add = $(\"> .add-comment\", $parent);\n      const $text = $(\"textarea\", $add);\n      const characterCounter = $text.data(\"remaining-characters-counter\");\n      $text.val(\"\");\n      if (characterCounter) {\n        characterCounter.updateStatus();\n      }\n      if (!$add.parent().is(\".comments\")) {\n        $add.addClass(\"hide\");\n      }\n    }\n\n    // Restart the polling\n    this._pollComments();\n  }\n\n  /**\n   * Sets a timeout to poll new comments.\n   * @private\n   * @returns {Void} - Returns nothing\n   */\n  _pollComments() {\n    this._stopPolling();\n\n    this.pollTimeout = setTimeout(() => {\n      Rails.ajax({\n        url: this.commentsUrl,\n        type: \"GET\",\n        data: new URLSearchParams({\n          \"commentable_gid\": this.commentableGid,\n          \"root_depth\": this.rootDepth,\n          \"order\": this.order,\n          \"after\": this.lastCommentId\n        }),\n        success: this._pollComments()\n      })\n    }, this.pollingInterval);\n  }\n\n  /**\n   * Stops polling for new comments.\n   * @private\n   * @returns {Void} - Returns nothing\n   */\n  _stopPolling() {\n    if (this.pollTimeout) {\n      clearTimeout(this.pollTimeout);\n    }\n  }\n\n  /**\n   * Sets the loading comments element visible in the view.\n   * @private\n   * @returns {Void} - Returns nothing\n   */\n  _setLoading() {\n    const $container = $(\"> .comments-container\", this.$element);\n    $(\"> .comments\", $container).addClass(\"hide\");\n    $(\"> .loading-comments\", $container).removeClass(\"hide\");\n  }\n\n  /**\n   * Event listener for the ordering links.\n   * @private\n   * @returns {Void} - Returns nothing\n   */\n  _onInitOrder() {\n    this._stopPolling();\n    this._setLoading();\n  }\n\n  /**\n   * Event listener for the opinion toggle buttons.\n   * @private\n   * @param {Event} ev - The event object.\n   * @returns {Void} - Returns nothing\n   */\n  _onToggleOpinion(ev) {\n    let $btn = $(ev.target);\n    if (!$btn.is(\".button\")) {\n      $btn = $btn.parents(\".button\");\n    }\n\n    const $add = $btn.closest(\".add-comment\");\n    const $form = $(\"form\", $add);\n    const $opinionButtons = $(\".opinion-toggle .button\", $add);\n    const $selectedState = $(\".opinion-toggle .selected-state\", $add);\n    const $alignment = $(\".alignment-input\", $form);\n\n    $opinionButtons.removeClass(\"is-active\").attr(\"aria-pressed\", \"false\");\n    $btn.addClass(\"is-active\").attr(\"aria-pressed\", \"true\");\n\n    if ($btn.is(\".opinion-toggle--ok\")) {\n      $alignment.val(1);\n    } else if ($btn.is(\".opinion-toggle--meh\")) {\n      $alignment.val(0);\n    } else if ($btn.is(\".opinion-toggle--ko\")) {\n      $alignment.val(-1);\n    }\n\n    // Announce the selected state for the screen reader\n    $selectedState.text($btn.data(\"selected-label\"));\n  }\n\n  /**\n   * Event listener for the comment field text input.\n   * @private\n   * @param {Event} ev - The event object.\n   * @returns {Void} - Returns nothing\n   */\n  _onTextInput(ev) {\n    const $text = $(ev.target);\n    const $add = $text.closest(\".add-comment\");\n    const $form = $(\"form\", $add);\n    const $submit = $(\"button[type='submit']\", $form);\n\n    if ($text.val().length > 0) {\n      $submit.removeAttr(\"disabled\");\n    } else {\n      $submit.attr(\"disabled\", \"disabled\");\n    }\n  }\n}\n","import {EmojiButton} from \"@joeattardi/emoji-button\";\n\n// eslint-disable-next-line require-jsdoc\nexport default function addInputEmoji() {\n  const containers = document.querySelectorAll(\"[data-input-emoji]\");\n\n  if (containers.length) {\n    containers.forEach((elem) => {\n      const picker = new EmojiButton({\n        position: \"bottom-end\",\n        rootElement: elem.closest(\"form\")?.parentElement || document.body,\n        zIndex: 2000\n      });\n\n      // if the selector is inside a modal window\n      // this allows shows the emoji menu uncut\n      const reveal = elem.closest(\"[data-reveal]\")\n      if (reveal) {\n        reveal.style.overflowY = \"unset\"\n      }\n\n      const wrapper = document.createElement(\"div\");\n      wrapper.className = \"emoji__container\"\n      const btnContainer = document.createElement(\"div\");\n      btnContainer.className = \"emoji__trigger\"\n      const btn = document.createElement(\"div\");\n      btn.className = \"emoji__button\"\n      btn.innerHTML = '<svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"smile\" role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 496 512\"><path fill=\"currentColor\" d=\"M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 448c-110.3 0-200-89.7-200-200S137.7 56 248 56s200 89.7 200 200-89.7 200-200 200zm-80-216c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32-32 14.3-32 32 14.3 32 32 32zm4 72.6c-20.8 25-51.5 39.4-84 39.4s-63.2-14.3-84-39.4c-8.5-10.2-23.7-11.5-33.8-3.1-10.2 8.5-11.5 23.6-3.1 33.8 30 36 74.1 56.6 120.9 56.6s90.9-20.6 120.9-56.6c8.5-10.2 7.1-25.3-3.1-33.8-10.1-8.4-25.3-7.1-33.8 3.1z\"></path></svg>'\n\n      const parent = elem.parentNode;\n      parent.insertBefore(wrapper, elem);\n      wrapper.appendChild(elem);\n      wrapper.appendChild(btnContainer);\n      btnContainer.appendChild(btn);\n\n      // The form errors need to be in the same container with the field they\n      // belong to for Foundation Abide to show them automatically.\n      parent.querySelectorAll(\".form-error\").forEach((el) => wrapper.appendChild(el));\n\n      let handlerPicker = function () {\n        picker.togglePicker(btnContainer);\n      }\n\n      btnContainer.addEventListener(\"click\", handlerPicker);\n\n      elem.addEventListener(\"characterCounter\", (event) => {\n        if (event.detail.remaining >= 4) {\n          btnContainer.addEventListener(\"click\", handlerPicker);\n          btnContainer.removeAttribute(\"style\");\n        } else {\n          btnContainer.removeEventListener(\"click\", handlerPicker);\n          btnContainer.setAttribute(\"style\", \"color:lightgrey\");\n        }\n      });\n\n\n      picker.on(\"emoji\", ({emoji}) => {\n        elem.value += ` ${emoji} `\n\n        const event = new Event(\"emoji.added\");\n        elem.dispatchEvent(event);\n      });\n    })\n  }\n};\n","/**\n * A method to enable the dialog mode for the given dialog(s).\n *\n * This should be called when the dialog is opened. It implements two things for\n * the dialog:\n * 1. It places the focus to the title element making sure the screen reader\n *    focuses in the correct position of the document. Otherwise some screen\n *    readers continue reading outside of the document.\n * 2. Document \"tab guards\" that force the keyboard focus within the modal when\n *    the user is using keyboard or keyboard emulating devices for browsing the\n *    document.\n *\n * The \"tab guards\" are added at the top and bottom of the document to keep the\n * user's focus within the dialog if they accidentally or intentionally place\n * the focus outside of the document, e.g. in different window or in the browser\n * address bar. They guard the focus on both sides of the document returning\n * focus back to the first or last focusable element within the dialog.\n *\n * @param {jQuery} $dialogs The jQuery element(s) to apply the mode for.\n * @return {Void} Nothing\n */\nexport default ($dialogs) => {\n  $dialogs.each((_i, dialog) => {\n    const $dialog = $(dialog);\n\n    const $container = $(\"body\");\n    const $title = $(\".reveal__title:first\", $dialog);\n\n    if ($title.length > 0) {\n      // Focus on the title to make the screen reader to start reading the\n      // content within the modal.\n      $title.attr(\"tabindex\", $title.attr(\"tabindex\") || -1);\n      $title.trigger(\"focus\");\n    }\n\n    // Once the final modal closes, disable the focus guarding\n    $dialog.off(\"closed.zf.reveal.focusguard\").on(\"closed.zf.reveal.focusguard\", () => {\n      $dialog.off(\"closed.zf.reveal.focusguard\");\n\n      // After the last dialog is closed, the tab guards should be removed.\n      // This is done when the focus guard is disabled. If there is still a\n      // visible reveal item in the DOM, make that the currently \"guarded\"\n      // element. Note that there may be multiple dialogs open on top of each\n      // other at the same time.\n      const $visibleReveal = $(\".reveal:visible:last\", $container);\n      if ($visibleReveal.length > 0) {\n        window.focusGuard.trap($visibleReveal[0]);\n      } else {\n        window.focusGuard.disable();\n      }\n    });\n\n    window.focusGuard.trap(dialog);\n  });\n};\n","import { Keyboard } from \"foundation-sites\"\n\nconst focusGuardClass = \"focusguard\";\nconst focusableNodes = [\"A\", \"IFRAME\", \"OBJECT\", \"EMBED\"];\nconst focusableDisableableNodes = [\"BUTTON\", \"INPUT\", \"TEXTAREA\", \"SELECT\"];\n\nexport default class FocusGuard {\n  constructor(container) {\n    this.container = container;\n    this.guardedElement = null;\n  }\n\n  trap(element) {\n    if (this.guardedElement) {\n      Keyboard.releaseFocus($(this.guardedElement));\n    }\n\n    this.enable();\n    this.guardedElement = element;\n\n    // Call the release focus first so that we don't accidentally add the\n    // keyboard trap twice. Note that the Foundation methods expect the elements\n    // to be jQuery elements which is why we pass them through jQuery.\n    Keyboard.releaseFocus($(element));\n    Keyboard.trapFocus($(element));\n  }\n\n  enable() {\n    // Check if the guards already exists due to some other dialog\n    const guards = this.container.querySelectorAll(`:scope > .${focusGuardClass}`);\n    if (guards.length > 0) {\n      // Make sure the guards are the first and last element as there have\n      // been changes in the DOM.\n      guards.forEach((guard) => {\n        if (guard.dataset.position === \"start\") {\n          this.container.prepend(guard);\n        } else {\n          this.container.append(guard);\n        }\n      })\n\n      return;\n    }\n\n    // Add guards at the start and end of the document and attach their focus\n    // listeners\n    const startGuard = this.createFocusGuard(\"start\");\n    const endGuard = this.createFocusGuard(\"end\");\n\n    this.container.prepend(startGuard);\n    this.container.append(endGuard);\n\n    startGuard.addEventListener(\"focus\", () => this.handleContainerFocus(startGuard));\n    endGuard.addEventListener(\"focus\", () => this.handleContainerFocus(endGuard));\n  }\n\n  disable() {\n    const guards = this.container.querySelectorAll(`:scope > .${focusGuardClass}`);\n    guards.forEach((guard) => guard.remove());\n\n    if (this.guardedElement) {\n      // Note that the Foundation methods expect the elements to be jQuery\n      // elements which is why we pass them through jQuery.\n      Keyboard.releaseFocus($(this.guardedElement));\n      this.guardedElement = null;\n    }\n  }\n\n  createFocusGuard(position) {\n    const guard = document.createElement(\"div\");\n    guard.className = focusGuardClass;\n    guard.dataset.position = position;\n    guard.tabIndex = 0;\n    guard.setAttribute(\"aria-hidden\", \"true\");\n\n    return guard;\n  };\n\n  handleContainerFocus(guard) {\n    if (!this.guardedElement) {\n      guard.blur();\n      return;\n    }\n\n    const visibleNodes = Array.from(this.guardedElement.querySelectorAll(\"*\")).filter((item) => {\n      return this.isVisible(item);\n    });\n\n    let target = null;\n    if (guard.dataset.position === \"start\") {\n      // Focus at the start guard, so focus the first focusable element after that\n      for (let ind = 0; ind < visibleNodes.length; ind += 1) {\n        if (!this.isFocusGuard(visibleNodes[ind]) && this.isFocusable(visibleNodes[ind])) {\n          target = visibleNodes[ind];\n          break;\n        }\n      }\n    } else {\n      // Focus at the end guard, so focus the first focusable element after that\n      for (let ind = visibleNodes.length - 1; ind >= 0; ind -= 1) {\n        if (!this.isFocusGuard(visibleNodes[ind]) && this.isFocusable(visibleNodes[ind])) {\n          target = visibleNodes[ind];\n          break;\n        }\n      }\n    }\n\n    if (target) {\n      target.focus();\n    } else {\n      // If no focusable element was found, blur the guard focus\n      guard.blur();\n    }\n  };\n\n  isVisible(element) {\n    return element.offsetWidth > 0 || element.offsetHeight > 0;\n  }\n\n  isFocusGuard(element) {\n    return element.classList.contains(focusGuardClass);\n  }\n\n  isFocusable(element) {\n    if (focusableNodes.indexOf(element.nodeName) > -1) {\n      return true;\n    }\n    if (focusableDisableableNodes.indexOf(element.nodeName) > -1 || element.getAttribute(\"contenteditable\")) {\n      if (element.getAttribute(\"disabled\")) {\n        return false;\n      }\n      return true;\n    }\n\n    const tabindex = parseInt(element.getAttribute(\"tabindex\"), 10);\n    if (!isNaN(tabindex) && tabindex >= 0) {\n      return true;\n    }\n\n    return false;\n  }\n}\n","/* eslint-disable no-invalid-this */\n\nimport svg4everybody from \"svg4everybody\"\nimport formDatePicker from \"src/decidim/form_datepicker\"\nimport fixDropdownMenus from \"src/decidim/dropdowns_menus\"\nimport createQuillEditor from \"src/decidim/editor\"\nimport Configuration from \"src/decidim/configuration\"\nimport ExternalLink from \"src/decidim/external_link\"\nimport updateExternalDomainLinks from \"src/decidim/external_domain_warning\"\nimport InputCharacterCounter from \"src/decidim/input_character_counter\"\nimport FormValidator from \"src/decidim/form_validator\"\nimport CommentsComponent from \"src/decidim/comments/comments.component\"\nimport DataPicker from \"src/decidim/data_picker\"\nimport FormFilterComponent from \"src/decidim/form_filter\"\nimport addInputEmoji from \"src/decidim/input_emoji\"\nimport dialogMode from \"src/decidim/dialog_mode\"\nimport FocusGuard from \"src/decidim/focus_guard\"\nimport backToListLink from \"src/decidim/back_to_list\"\n\nwindow.Decidim = window.Decidim || {};\nwindow.Decidim.config = new Configuration()\nwindow.Decidim.ExternalLink = ExternalLink;\nwindow.Decidim.InputCharacterCounter = InputCharacterCounter;\nwindow.Decidim.FormValidator = FormValidator;\nwindow.Decidim.DataPicker = DataPicker;\nwindow.Decidim.CommentsComponent = CommentsComponent;\nwindow.Decidim.addInputEmoji = addInputEmoji;\n\n$(() => {\n  window.theDataPicker = new DataPicker($(\".data-picker\"));\n  window.focusGuard = new FocusGuard(document.querySelector(\"body\"));\n\n  $(document).foundation();\n  $(document).on(\"open.zf.reveal\", (ev) => {\n    dialogMode($(ev.target));\n  });\n\n  // Trap the focus within the mobile menu if the user enters it. This is an\n  // accessibility feature forcing the focus within the offcanvas container\n  // which holds the mobile menu.\n  $(\"#offCanvas\").on(\"openedEnd.zf.offCanvas\", (ev) => {\n    ev.target.querySelector(\".main-nav a\").focus();\n    window.focusGuard.trap(ev.target);\n  }).on(\"closed.zf.offCanvas\", () => {\n    window.focusGuard.disable();\n  });\n\n  fixDropdownMenus();\n\n  svg4everybody();\n\n  // Prevent data-open buttons e.g. from submitting the underlying form in\n  // authorized action buttons.\n  $(\"[data-open]\").on(\"click\", (event) => {\n    event.preventDefault();\n  });\n\n  formDatePicker();\n\n  $(\".editor-container\").each((_idx, container) => {\n    createQuillEditor(container);\n  });\n\n  $('a[target=\"_blank\"]').each((_i, elem) => {\n    const $link = $(elem);\n    $link.data(\"external-link\", new ExternalLink($link));\n  });\n\n  // Mount comments component\n  $(\"[data-decidim-comments]\").each((_i, el) => {\n    const $el = $(el);\n    const comments = new CommentsComponent($el, $el.data(\"decidim-comments\"));\n    comments.mountComponent();\n    $(el).data(\"comments\", comments);\n  });\n\n  $(\"form.new_filter\").each(function () {\n    const formFilter = new FormFilterComponent($(this));\n\n    formFilter.mountComponent();\n  })\n\n  updateExternalDomainLinks($(\"body\"))\n\n  addInputEmoji()\n\n  backToListLink(document.querySelectorAll(\".js-back-to-list\"));\n});\n","/**\n * Changes \"Back to list\" links to the one saved in sessionStorage API\n * To apply this to a link, at least one element must have the class \"js-back-to-list\".\n * For this to work it needs the filteredParams in SessionStorage, that's saved on FormFilterComponent.\n * @param {NodeList} links - Hyperlinks elements that point to the filters page that will use the fitererd params\n * @returns {void}\n */\nexport default function backToListLink(links) {\n\n  if (!links) {\n    return;\n  }\n\n  if (!window.sessionStorage) {\n    return;\n  }\n\n  const filteredParams = JSON.parse(sessionStorage.getItem(\"filteredParams\")) || {};\n  links.forEach((link) => {\n    const href = link.getAttribute(\"href\");\n    if (filteredParams[href]) {\n      link.setAttribute(\"href\", filteredParams[href]);\n    }\n  });\n\n}\n","import select from \"select\";\n\n/**\n * This provides functionality to add clipboard copy functionality to buttons\n * on the page. The element to be copied from has to be defined for the button\n * using a `data` attribute and the target element has to be a form input.\n *\n * Usage:\n *   1. Create the button:\n *     <button class=\"button\"\n *      data-clipboard-copy=\"#target-input-element\"\n *      data-clipboard-copy-label=\"Copied!\"\n *      data-clipboard-copy-message=\"The text was successfully copied to clipboard.\"\n *      aria-label=\"Copy the text to clipboard\">\n *        <%= icon \"clipboard\", role: \"presentation\", \"aria-hidden\": true %>\n *        Copy to clipboard\n *    </button>\n *\n *   2. Make sure the target element exists on the page:\n *     <input id=\"target-input-element\" type=\"text\" value=\"This text will be copied.\">\n *\n * Options through data attributes:\n * - `data-clipboard-copy` = The jQuery selector for the target input element\n *   where text will be copied from.\n * - `data-clipboard-copy-label` = The label that will be shown in the button\n *   after a succesful copy.\n * - `data-clipboard-copy-message` = The text that will be announced to screen\n *   readers after a successful copy.\n */\n\n// How long the \"copied\" text is shown in the copy element after successful\n// copy.\nconst CLIPBOARD_COPY_TIMEOUT = 5000;\n\n$(() => {\n  $(document).on(\"click\", \"[data-clipboard-copy]\", (ev) => {\n    const $el = $(ev.target);\n    if (!$el.data(\"clipboard-copy\") || $el.data(\"clipboard-copy\").length < 1) {\n      return;\n    }\n\n    const $input = $($el.data(\"clipboard-copy\"));\n    if ($input.length < 1 || !$input.is(\"input, textarea, select\")) {\n      return;\n    }\n\n    // Get the available text to clipboard.\n    const selectedText = select($input[0]);\n    if (!selectedText || selectedText.length < 1) {\n      return;\n    }\n\n    // Move the selected text to clipboard.\n    const $temp = $(`<textarea>${selectedText}</textarea>`).css({\n      width: 1,\n      height: 1\n    });\n    $el.after($temp);\n    $temp.select();\n\n    const copyDone = () => {\n      $temp.remove();\n      $el.focus();\n    };\n    try {\n      // document.execCommand is deprecated but the Clipboard API is not\n      // supported by IE (which unfortunately is still a thing).\n      if (!document.execCommand(\"copy\")) {\n        return;\n      }\n    } catch (err) {\n      copyDone();\n      return;\n    }\n    copyDone();\n\n    // Change the label to indicate the copying was successful.\n    const label = $el.data(\"clipboard-copy-label\");\n    if (label) {\n      let to = $el.data(\"clipboard-copy-label-timeout\");\n      if (to) {\n        clearTimeout(to);\n      }\n\n      if (!$el.data(\"clipboard-copy-label-original\")) {\n        $el.data(\"clipboard-copy-label-original\", $el.html());\n      }\n\n      $el.html(label);\n      to = setTimeout(() => {\n        $el.html($el.data(\"clipboard-copy-label-original\"));\n        $el.removeData(\"clipboard-copy-label-original\");\n        $el.removeData(\"clipboard-copy-label-timeout\");\n      }, CLIPBOARD_COPY_TIMEOUT);\n      $el.data(\"clipboard-copy-label-timeout\", to)\n    }\n\n    // Alert the screen reader what just happened (the link was copied).\n    let message = $el.data(\"clipboard-copy-message\");\n    if (message) {\n      let $msg = $el.data(\"clipboard-message-element\");\n      if ($msg) {\n        if ($msg.html() === message) {\n          // Try to hint the screen reader to re-read the text in the message\n          // element.\n          message += \"&nbsp;\";\n        }\n      } else {\n        $msg = $('<div aria-role=\"alert\" aria-live=\"assertive\" aria-atomic=\"true\" class=\"clipboard-announcement show-for-sr\"></div>');\n        $el.after($msg);\n        $el.data(\"clipboard-message-element\", $msg);\n      }\n\n      // Add the non breaking space always to content to try to force the\n      // screen reader to reannounce the added text.\n      $msg.html(message);\n    }\n  });\n});\n","import \"@zeitiger/appendaround\"\n\n$(() => {\n  let $appendableElements = $(\".js-append\");\n  $appendableElements.appendAround();\n})\n","import Rails from \"@rails/ujs\";\n\n// Make the remote form submit buttons disabled when the form is being\n// submitted to avoid multiple submits.\ndocument.addEventListener(\"ajax:beforeSend\", (ev) => {\n  if (!ev.target.matches(\"form[data-remote]\")) {\n    return;\n  }\n\n  ev.target.querySelectorAll(\"[type=submit]\").forEach((submit) => {\n    submit.disabled = true;\n  });\n});\ndocument.addEventListener(\"ajax:complete\", (ev) => {\n  if (!ev.target.matches(\"form[data-remote]\")) {\n    return;\n  }\n\n  ev.target.querySelectorAll(\"[type=submit]\").forEach((submit) => {\n    submit.disabled = false;\n  });\n});\n\n// The forms that are attached to Foundation Abide do not work properly with\n// Rails UJS Ajax forms that have the `data-remote` attribute attached to\n// them. The reason is that in case Foundation Abide sees the form as valid,\n// it will submit it normally bypassing the Rails UJS functionality.\n// The submit events happens through jQuery in Foundation Abide which is why\n// we need to bind the event with jQuery.\n$(document).on(\"submit\", \"form[data-remote][data-abide]\", (ev) => {\n  ev.preventDefault();\n\n  if (ev.target.querySelectorAll(\"[data-invalid]\").length > 0) {\n    return;\n  }\n\n  Reflect.apply(Rails.handleRemote, ev.target, [ev]);\n});\n","/* eslint-disable no-invalid-this */\n\nimport Foundation from \"foundation-sites\"\n\n$(() => {\n  // True if small devices\n  if (!Foundation.MediaQuery.atLeast(\"medium\")) {\n    const $speaker = $(\".js-conference\")\n\n    $speaker.hover(function () {\n      const top = $(window).scrollTop() + ($(window).height() * 0.1)\n      $(this).find(\".js-bio\").css(\"top\", top)\n    })\n  }\n});\n","import { pushState, registerCallback } from \"src/decidim/history\"\n\nconst initializeListingOptionsMenu = (options) => {\n  $(document).on(\"click\", `${options.containerSelector} a`, (event) => {\n    const $target = $(event.target);\n\n    $target.parents(\".menu\").find(\"a:first\").text($target.text());\n\n    pushState($target.attr(\"href\"));\n  })\n\n  registerCallback(options.callbackName, () => {\n    const url = window.location.toString();\n    const match = url.match(/${options.urlParameter}=([^&]*)/);\n    const $targetMenu = $(`${options.containerSelector} .menu`);\n    let value = $targetMenu.find(\".menu a:first\").data(options.dataAttribute);\n\n    if (match) {\n      value = match[1];\n    }\n\n    const linkText = $targetMenu.find(`.menu a[data-${options.dataAttribute}=\"${value}\"]`).text();\n\n    $targetMenu.find(\"a:first\").text(linkText);\n  });\n};\n\n$(() => {\n  initializeListingOptionsMenu({\n    containerSelector: \".order-by\",\n    callbackName: \"orders\",\n    urlParameter: \"order\",\n    dataAttribute: \"order\"\n  });\n  initializeListingOptionsMenu({\n    containerSelector: \".results-per-page\",\n    callbackName: \"results_per_page\",\n    urlParameter: \"per_page\",\n    dataAttribute: \"per-page-option\"\n  });\n});\n","import moment from \"moment\"\n\n$(() => {\n  const $impersonationWarning = $(\".impersonation-warning\");\n  if ($impersonationWarning.length) {\n    const endsAt = moment($impersonationWarning.data(\"session-ends-at\"));\n    const exitInterval = setInterval(() => {\n      const diff = (endsAt - moment()) / 60000;\n      const diffInMinutes = Math.round(diff);\n      $impersonationWarning.find(\".minutes\").html(diffInMinutes);\n\n      if (diff <= 0) {\n        window.location.reload();\n      }\n    }, 1000);\n\n    // Prevent reload when page is already unloading, otherwise it may cause infinite reloads.\n    window.addEventListener(\"beforeunload\", () => {\n      clearInterval(exitInterval);\n      return;\n    });\n  }\n});\n","/* eslint no-unused-vars: 0 */\n/* eslint id-length: [\"error\", { \"exceptions\": [\"$\"] }] */\n\nimport $ from \"jquery\"\nimport Quill from \"quill\"\nimport Rails from \"@rails/ujs\"\n\nimport \"core-js/stable\";\nimport \"regenerator-runtime/runtime\";\nimport morphdom from \"morphdom\"\n// Export variable to make it available in .js.erb templates\nwindow.morphdom = morphdom\nimport \"src/decidim/vendor/foundation-datepicker\"\nimport \"src/decidim/foundation_datepicker_locales\"\nimport \"src/decidim/vendor/modernizr\"\nimport \"src/decidim/vendor/social-share-button\"\nimport \"social-share-button\"\n\nimport \"src/decidim/input_tags\"\nimport \"src/decidim/input_hashtags\"\nimport \"src/decidim/input_mentions\"\nimport \"src/decidim/input_multiple_mentions\"\nimport \"src/decidim/input_character_counter\"\nimport \"src/decidim/input_autojump\"\nimport \"src/decidim/index\"\nimport \"src/decidim/history\"\nimport \"src/decidim/callout\"\nimport \"src/decidim/clipboard\"\nimport \"src/decidim/append_elements\"\nimport \"src/decidim/user_registrations\"\nimport \"src/decidim/account_form\"\nimport \"src/decidim/data_picker\"\nimport \"src/decidim/dropdowns_menus\"\nimport \"src/decidim/append_redirect_url_to_modals\"\nimport \"src/decidim/form_attachments\"\nimport \"src/decidim/form_validator\"\nimport \"src/decidim/form_remote\"\nimport \"src/decidim/ajax_modals\"\nimport \"src/decidim/conferences\"\nimport \"src/decidim/tooltip_keep_on_hover\"\nimport \"src/decidim/diff_mode_dropdown\"\nimport \"src/decidim/conversations\"\nimport \"src/decidim/delayed\"\nimport \"src/decidim/icon\"\nimport \"src/decidim/vizzs\"\nimport \"src/decidim/responsive_horizontal_tabs\"\nimport \"src/decidim/security/selfxss_warning\"\nimport \"src/decidim/session_timeouter\"\nimport \"src/decidim/configuration\"\nimport \"src/decidim/floating_help\"\nimport \"src/decidim/confirm\"\nimport \"src/decidim/comments/comments\"\nimport \"src/decidim/results_listing\"\nimport \"src/decidim/represent_user_group\"\nimport \"src/decidim/impersonation\"\nimport \"src/decidim/start_conversation_dialog\"\nimport \"src/decidim/notifications\"\nimport \"src/decidim/identity_selector_dialog\"\nimport \"src/decidim/gallery\"\nimport \"src/decidim/back_to_list\"\n\n// CSS\nimport \"entrypoints/decidim_core.scss\"\n\n// Import from the Rails instance application\nimport \"src/decidim/decidim_application\"\n\n// Images\nrequire.context(\"../images\", true)\n\n// This needs to be loaded after confirm dialog to bind properly\nRails.start()\n\n","/**\n * Since the delete account has a modal to confirm it we need to copy the content of the\n * reason field to the hidden field in the form inside the modal.\n */\n$(() => {\n  const $deleteAccountForm = $(\".delete-account\");\n  const $deleteAccountModalForm = $(\".delete-account-modal\");\n\n  if ($deleteAccountForm.length > 0) {\n    const $openModalButton = $(\".open-modal-button\");\n    const $modal = $(\"#deleteConfirm\");\n\n    $openModalButton.on(\"click\", (event) => {\n      try {\n        const reasonValue = $deleteAccountForm.find(\"textarea#delete_account_delete_reason\").val();\n        $deleteAccountModalForm.find(\"input#delete_account_delete_reason\").val(reasonValue);\n        $modal.foundation(\"open\");\n      } catch (error) {\n        console.error(error); // eslint-disable-line no-console\n      }\n\n      event.preventDefault();\n      event.stopPropagation();\n      return false;\n    });\n  }\n});\n","/* eslint-disable multiline-ternary, no-ternary */\n\n/*\n *\n * This is used to make sure users are redirected to\n * the expected URL after sign in.\n *\n * When a button or link trigger a login modal we capture\n * the event and inject the URL where the user should\n * be redirected after sign in (the redirect_url param).\n *\n * The code is injected to any form or link in the modal\n * and when the modal is closed we remove the injected\n * code.\n *\n * In order for this to work the button or link must have\n * a data-open attribute with the ID of the modal to open\n * and a data-redirect-url attribute with the URL to redirect\n * the user. If any of this is missing no code will be\n * injected.\n *\n */\n$(() => {\n  const removeUrlParameter = (url, parameter) => {\n    const urlParts = url.split(\"?\");\n\n    if (urlParts.length >= 2) {\n      // Get first part, and remove from array\n      const urlBase = urlParts.shift();\n\n      // Join it back up\n      const queryString = urlParts.join(\"?\");\n\n      const prefix = `${encodeURIComponent(parameter)}=`;\n      const parts = queryString.split(/[&;]/g);\n\n      // Reverse iteration as may be destructive\n      for (let index = parts.length - 1; index >= 0; index -= 1) {\n        // Idiom for string.startsWith\n        if (parts[index].lastIndexOf(prefix, 0) !== -1) {\n          parts.splice(index, 1);\n        }\n      }\n\n      if (parts.length === 0) {\n        return urlBase;\n      }\n\n      return `${urlBase}?${parts.join(\"&\")}`;\n    }\n\n    return url;\n  }\n\n  $(document).on(\"click.zf.trigger\", (event) => {\n    const target = `#${$(event.target).data(\"open\")}`;\n    const redirectUrl = $(event.target).data(\"redirectUrl\");\n\n    if (target && redirectUrl) {\n      $(\"<input type='hidden' />\").\n        attr(\"id\", \"redirect_url\").\n        attr(\"name\", \"redirect_url\").\n        attr(\"value\", redirectUrl).\n        appendTo(`${target} form`);\n\n      $(`${target} a`).attr(\"href\", (index, href) => {\n        const querystring = jQuery.param({\"redirect_url\": redirectUrl});\n        return href + (href.match(/\\?/) ? \"&\" : \"?\") + querystring;\n      });\n    }\n  });\n\n  $(document).on(\"closed.zf.reveal\", (event) => {\n    $(\"#redirect_url\", event.target).remove();\n    $(\"a\", event.target).attr(\"href\", (index, href) => {\n      if (href && href.indexOf(\"redirect_url\") !== -1) {\n        return removeUrlParameter(href, \"redirect_url\");\n      }\n\n      return href;\n    });\n  });\n});\n","/**\n * Improves the accessibility of the callout messages for screen readers. Not\n * all screen readers would announce the callout alert contents after the page\n * reload without this.\n */\n\n$(() => {\n  const $callout = $('.callout[role=\"alert\"]:first');\n  if ($callout.length > 0) {\n    setTimeout(() => {\n      // The content insertion is to try to hint some of the screen readers\n      // that the alert content has changed and needs to be announced.\n      $callout.attr(\"tabindex\", \"0\").focus().html(`${$callout.html()}&nbsp;`);\n    }, 500);\n  }\n});\n","/**\n * Scroll smoothly to the last message automatically when the page is fully loaded.\n * To apply this to a page, at least one element must have the class \"scroll-to-last-message\".\n * @returns {void}\n */\nconst scrollToLastMessage = function() {\n  if ($(\".scroll-to-last-message\").length > 0) {\n    window.scrollTo({\n      top: $(\".conversation-chat:last-child\").offset().top,\n      behavior: \"smooth\"\n    });\n  }\n}\n\n$(document).ready(() => {\n  scrollToLastMessage();\n});\n","$(() => {\n  const $allDiffViews = $(\".row.diff_view\");\n\n  $(document).on(\"click\", \".diff-view-by a.diff-view-mode\", (event) => {\n    event.preventDefault();\n    const $target = $(event.target)\n    let type = \"escaped\";\n    const $selected = $target.parents(\".is-dropdown-submenu-parent\").find(\"#diff-view-selected\");\n    if ($selected.text().trim() === $target.text().trim()) {\n      return;\n    }\n\n    $selected.text($target.text());\n\n    if ($target.attr(\"id\") === \"diff-view-unified\") {\n      if ($(\".row.diff_view_split_escaped\").hasClass(\"hide\")) {\n        type = \"unescaped\";\n      }\n\n      $allDiffViews.addClass(\"hide\");\n      $(`.row.diff_view_unified_${type}`).removeClass(\"hide\");\n    }\n    if ($target.attr(\"id\") === \"diff-view-split\") {\n      if ($(\".row.diff_view_unified_escaped\").hasClass(\"hide\")) {\n        type = \"unescaped\";\n      }\n\n      $allDiffViews.addClass(\"hide\");\n      $(`.row.diff_view_split_${type}`).removeClass(\"hide\");\n    }\n  })\n\n  $(document).on(\"click\", \".diff-view-by a.diff-view-html\", (event) => {\n    event.preventDefault();\n    const $target = $(event.target);\n    $target.parents(\".is-dropdown-submenu-parent\").find(\"#diff-view-html-selected\").text($target.text());\n    const $visibleDiffViewsId = $allDiffViews.not(\".hide\").first().attr(\"id\").split(\"_\").slice(1, -1).join(\"_\");\n    const $visibleDiffViews = $allDiffViews.filter(`[id*=${$visibleDiffViewsId}]`)\n\n    if ($target.attr(\"id\") === \"diff-view-escaped-html\") {\n      $visibleDiffViews.filter(\"[id$=_unescaped]\").addClass(\"hide\");\n      $visibleDiffViews.filter(\"[id$=_escaped]\").removeClass(\"hide\");\n    }\n    if ($target.attr(\"id\") === \"diff-view-unescaped-html\") {\n      $visibleDiffViews.filter(\"[id$=_escaped]\").addClass(\"hide\");\n      $visibleDiffViews.filter(\"[id$=_unescaped]\").removeClass(\"hide\");\n    }\n  })\n});\n","$(function() {\n  if (!window.localStorage) {\n    return;\n  }\n\n  let getDismissedHelpers = () => {\n    let serialized = localStorage.getItem(\"dismissedHelpers\");\n    if (!serialized) {\n      return [];\n    }\n\n    return serialized.split(\",\");\n  };\n\n  let addDismissedHelper = (id) => {\n    let dismissedHelpers = getDismissedHelpers();\n\n    if (!dismissedHelpers.includes(id)) {\n      localStorage.setItem(\n        \"dismissedHelpers\",\n        [...dismissedHelpers, id].join(\",\")\n      );\n    }\n  };\n\n  let dismissedHelpers = getDismissedHelpers();\n\n  $(\".floating-helper-container\").each((_index, elem) => {\n    let id = $(elem).data(\"help-id\");\n\n    $(\n      \".floating-helper__trigger, .floating-helper__content-close\",\n      elem\n    ).on(\"click\", (ev) => {\n      ev.preventDefault();\n    });\n\n    if (!dismissedHelpers.includes(id)) {\n      $(\".floating-helper\", elem).foundation(\"toggle\");\n      $(\".floating-helper__wrapper\", elem).foundation(\"toggle\");\n\n      $(\".floating-helper\", elem).on(\"off.zf.toggler\", () => {\n        addDismissedHelper(id);\n      });\n    }\n  });\n});\n","$(() => {\n  $(\"form .attachments_container\").on(\"closed.zf.callout\", (event) => {\n    $(event.target).remove();\n  });\n});\n","/* eslint-disable require-jsdoc */\n/* eslint-disable no-prototype-builtins, no-restricted-syntax, no-param-reassign */\n\nlet callbacks = {};\n\nexport default function registerCallback(callbackId, callback) {\n  callbacks[callbackId] = callback;\n}\n\nconst unregisterCallback = (callbackId) => {\n  callbacks[callbackId] = null;\n}\n\nconst pushState = (url, state = null) => {\n  if (window.history) {\n    window.history.pushState(state, null, url);\n  }\n};\n\nconst replaceState = (url, state = null) => {\n  if (window.history) {\n    window.history.replaceState(state, null,  url);\n  }\n};\n\nconst state = () => {\n  if (window.history) {\n    return window.history.state;\n  }\n  return null;\n};\n\nwindow.onpopstate = (event) => {\n  // Ensure the event is caused by user action\n  if (event.isTrusted) {\n    for (let callbackId in callbacks) {\n      if (callbacks.hasOwnProperty(callbackId)) {\n        callbacks[callbackId](event.state);\n      }\n    }\n  }\n}\n\nexport { registerCallback, unregisterCallback, pushState, replaceState, state };\n","/**\n * Makes the #select-identity-button to open a popup for the user to\n * select with which identity he wants to perform an action.\n *\n */\n$(() => {\n  let button = $(\"#select-identity-button\"),\n      identitiesUrl = null,\n      userIdentitiesDialog = $(\"#user-identities\");\n\n  if (userIdentitiesDialog.length) {\n    identitiesUrl = userIdentitiesDialog.data(\"reveal-identities-url\");\n\n    button.click(function () {\n      $.ajax(identitiesUrl).done(function(response) {\n        userIdentitiesDialog.html(response).foundation(\"open\");\n        button.trigger(\"ajax:success\")\n      });\n    });\n  }\n});\n\n\n/**\n * Manage the identity selector for endorsements.\n *\n */\n$(() => {\n  $(\"#select-identity-button\").on(\"ajax:success\", function() {\n    // once reveal popup has been rendered register event callbacks\n    $(\"#user-identities ul.reveal__list li\").each(function(index, elem) {\n      let liTag = $(elem)\n      liTag.on(\"click\", function() {\n        let method = liTag.data(\"method\"),\n            urlDataAttr = null;\n        if (method === \"POST\") {\n          urlDataAttr = \"create_url\";\n        } else {\n          urlDataAttr = \"destroy_url\";\n        }\n        $.ajax({\n          url: liTag.data(urlDataAttr),\n          method: method,\n          dataType: \"script\",\n          success: function() {\n            if (liTag.hasClass(\"selected\")) {\n              liTag.removeClass(\"selected\")\n              liTag.find(\".icon--circle-check\").addClass(\"invisible\")\n              liTag.data(\"method\", \"POST\")\n            } else {\n              liTag.addClass(\"selected\")\n              liTag.find(\".icon--circle-check\").removeClass(\"invisible\")\n              liTag.data(\"method\", \"DELETE\")\n            }\n          }\n        })\n      })\n    });\n  });\n})\n","$(() => {\n  const $inputs = $(\"input[data-autojump]\");\n  const DELETE_KEY_CODE = 8;\n\n  // Initialize\n  $inputs.on(\"keydown\", (event) => {\n    // Don't do anything if there is selected text\n    if (event.target.selectionStart !== event.target.selectionEnd) {\n      return;\n    }\n\n    if (event.originalEvent.key.length === 1 && event.target.dataset.jumpNext) {\n      if (\n        event.target.value.length ===\n        parseInt(event.target.dataset.maxLength, 10)\n      ) {\n        event.preventDefault();\n        setTimeout(() => {\n          const next = $(event.target.dataset.jumpNext);\n          next.val(event.originalEvent.key);\n          next.trigger(\"focus\");\n        }, 1);\n      }\n    } else if (\n      event.originalEvent.keyCode === DELETE_KEY_CODE &&\n      event.target.dataset.jumpPrev\n    ) {\n      if (event.target.value.length === 0) {\n        event.preventDefault();\n        setTimeout(() => {\n          const prev = $(event.target.dataset.jumpPrev);\n          prev.val(prev.val().slice(0, -1));\n          prev.trigger(\"focus\");\n        }, 1);\n      }\n    }\n  });\n});\n","$(() => {\n  const $notificationsBellIcon = $(\".title-bar .topbar__notifications\");\n  const $wrapper = $(\".wrapper\");\n  const $section = $wrapper.find(\"#notifications\");\n  const $noNotificationsText = $(\".empty-notifications\");\n  const $pagination = $wrapper.find(\"ul.pagination\");\n  const FADEOUT_TIME = 500;\n\n  const anyNotifications = () => $wrapper.find(\".card--widget\").length > 0;\n  const emptyNotifications = () => {\n    if (!anyNotifications()) {\n      $section.remove();\n      $noNotificationsText.removeClass(\"hide\");\n    }\n  };\n\n  $section.on(\"click\", \".mark-as-read-button\", (event) => {\n    const $item = $(event.target).parents(\".card--widget\");\n    $item.fadeOut(FADEOUT_TIME, () => {\n      $item.remove();\n      emptyNotifications();\n    });\n  });\n\n  $wrapper.on(\"click\", \".mark-all-as-read-button\", () => {\n    $section.fadeOut(FADEOUT_TIME, () => {\n      $pagination.remove();\n      $notificationsBellIcon.removeClass(\"is-active\");\n      $wrapper.find(\".card--widget\").remove();\n      emptyNotifications();\n    });\n  });\n\n  emptyNotifications();\n});\n","$(() => {\n  const $checkbox = $(\".represent-user-group\").find(\"input#user_group\");\n  const $userGroupFields = $(\".user-group-fields\");\n\n  $checkbox.click(() => {\n    const $select = $userGroupFields.find(\"select\");\n\n    if (!$select.val()) {\n      $userGroupFields.toggle();\n    }\n\n    if ($userGroupFields.is(\":visible\")) {\n      $checkbox.prop(\"checked\", true);\n    } else {\n      $checkbox.prop(\"checked\", false);\n    }\n  });\n});\n","$(() => {\n  const $responsiveTabBlock = $(\".responsive-tab-block\");\n\n  $responsiveTabBlock.click((event) => {\n    if (event.target.closest(\".is-active\") !== null) {\n      event.preventDefault();\n      if (window.innerWidth <= 639) {\n        $responsiveTabBlock.toggleClass(\"expanded\");\n      }\n    }\n  });\n});\n","/* eslint-disable no-console */\n\n$(() => {\n  if (!console) {\n    return;\n  }\n\n  const allMessages = window.Decidim.config.get(\"messages\");\n  if (!allMessages) {\n    return;\n  }\n  const messages = allMessages.selfxssWarning;\n\n  console.log(`%c${messages.title}`, \"color:#f00;font-weight:bold;font-size:50px;\");\n  console.log(`%c${messages.description}`, \"font-size:24px;\");\n});\n","$(() => {\n  let addUsersConversationDialog = $(\"#user-conversations-add-modal\"),\n      button = $(\"#start-conversation-dialog-button\");\n\n  /* eslint no-unused-vars: 0 */\n  if (addUsersConversationDialog.length) {\n    let refreshUrl = addUsersConversationDialog.data(\"refresh-url\");\n\n    button.click(function () {\n      addUsersConversationDialog.foundation(\"open\");\n    });\n  }\n});\n","/* eslint-disable no-invalid-this */\n\n$(() => {\n\n  // Foundation requires plugins to be initializated\n  setTimeout(function() {\n\n    const $tooltips = $(\".tooltip\")\n\n    $tooltips.\n      on(\"mouseover\", function() {\n        $(`[data-keep-on-hover='true'][data-toggle='${this.id}']`).foundation(\"show\");\n      }).\n      on(\"mouseout\", function() {\n        $(`[data-keep-on-hover='true'][data-toggle='${this.id}']`).foundation(\"hide\");\n      })\n  }, 0);\n});\n","$(() => {\n  const $userRegistrationForm = $(\"#register-form\");\n  const $userGroupFields      = $userRegistrationForm.find(\".user-group-fields\");\n  const inputSelector         = 'input[name=\"user[sign_up_as]\"]';\n  const newsletterSelector    = 'input[type=\"checkbox\"][name=\"user[newsletter]\"]';\n  const $newsletterModal      = $(\"#sign-up-newsletter-modal\");\n\n\n  const setGroupFieldsVisibility = (value) => {\n    if (value === \"user\") {\n      $userGroupFields.hide();\n    } else {\n      $userGroupFields.show();\n    }\n  }\n\n  const checkNewsletter = (check) => {\n    $userRegistrationForm.find(newsletterSelector).prop(\"checked\", check);\n    $newsletterModal.data(\"continue\", true);\n    $newsletterModal.foundation(\"close\");\n    $userRegistrationForm.submit();\n  }\n\n  setGroupFieldsVisibility($userRegistrationForm.find(`${inputSelector}:checked`).val());\n\n  $userRegistrationForm.on(\"change\", inputSelector, (event) => {\n    const value = event.target.value;\n\n    setGroupFieldsVisibility(value);\n  });\n\n  $userRegistrationForm.on(\"submit\", (event) => {\n    const newsletterChecked = $userRegistrationForm.find(newsletterSelector);\n    if (!$newsletterModal.data(\"continue\")) {\n      if (!newsletterChecked.prop(\"checked\")) {\n        event.preventDefault();\n        $newsletterModal.foundation(\"open\");\n      }\n    }\n  });\n\n  $newsletterModal.find(\".check-newsletter\").on(\"click\", (event) => {\n    checkNewsletter($(event.target).data(\"check\"));\n  });\n});\n","/* eslint-disable */\n\n/*! modernizr 3.3.1 (Custom Build) | MIT *\n * https://modernizr.com/download/?-setclasses !*/\n!function(n,e,s){function o(n,e){return typeof n===e}function a(){var n,e,s,a,i,l,r;for(var c in f)if(f.hasOwnProperty(c)){if(n=[],e=f[c],e.name&&(n.push(e.name.toLowerCase()),e.options&&e.options.aliases&&e.options.aliases.length))for(s=0;s<e.options.aliases.length;s++)n.push(e.options.aliases[s].toLowerCase());for(a=o(e.fn,\"function\")?e.fn():e.fn,i=0;i<n.length;i++)l=n[i],r=l.split(\".\"),1===r.length?Modernizr[r[0]]=a:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=a),t.push((a?\"\":\"no-\")+r.join(\"-\"))}}function i(n){var e=r.className,s=Modernizr._config.classPrefix||\"\";if(c&&(e=e.baseVal),Modernizr._config.enableJSClass){var o=new RegExp(\"(^|\\\\s)\"+s+\"no-js(\\\\s|$)\");e=e.replace(o,\"$1\"+s+\"js$2\")}Modernizr._config.enableClasses&&(e+=\" \"+s+n.join(\" \"+s),c?r.className.baseVal=e:r.className=e)}var t=[],f=[],l={_version:\"3.3.1\",_config:{classPrefix:\"\",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(n,e){var s=this;setTimeout(function(){e(s[n])},0)},addTest:function(n,e,s){f.push({name:n,fn:e,options:s})},addAsyncTest:function(n){f.push({name:null,fn:n})}},Modernizr=function(){};Modernizr.prototype=l,Modernizr=new Modernizr;var r=e.documentElement,c=\"svg\"===r.nodeName.toLowerCase();a(),i(t),delete l.addTest,delete l.addAsyncTest;for(var u=0;u<Modernizr._q.length;u++)Modernizr._q[u]();n.Modernizr=Modernizr}(window,document);\n","/* eslint-disable complexity, default-case, no-param-reassign, consistent-return */\n\n/*\n *\n * Social Share Button\n *\n * Copyright (c) <2012> <Jason Lee> - The MIT license\n * Originally copied fom https://github.com/huacnlee/social-share-button\n * Transformed from Coffescript to Javascipt with decaffeintate\n *\n * We've copied itlocally so it works with webpacker\n *\n * decaffeinate suggestions:\n * DS102: Remove unnecessary code created because of implicit returns\n * DS205: Consider reworking code to avoid use of IIFEs\n * DS207: Consider shorter variations of null checks\n * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md\n */\nwindow.SocialShareButton = {\n  openUrl(url, width, height) {\n    if (width === null) {\n      width = 640;\n    }\n    if (height === null) {\n      height = 480;\n    }\n    const left = (screen.width / 2) - (width / 2);\n    const top = (screen.height * 0.3) - (height / 2);\n    const opt = `width=${width},height=${height},left=${left},top=${top},menubar=no,status=no,location=no`;\n    window.open(url, \"popup\", opt);\n    return false;\n  },\n\n  share(el) {\n    if (el.getAttribute === null) {\n      el = document.querySelector(el);\n    }\n\n    const site = el.getAttribute(\"data-site\");\n    const appkey = el.getAttribute(\"data-appkey\") || \"\";\n    const $parent = el.parentNode;\n    let title = encodeURIComponent(el.getAttribute(`data-${site}-title`) || $parent.getAttribute(\"data-title\") || \"\");\n    const img = encodeURIComponent($parent.getAttribute(\"data-img\") || \"\");\n    let url = encodeURIComponent($parent.getAttribute(\"data-url\") || \"\");\n    const via = encodeURIComponent($parent.getAttribute(\"data-via\") || \"\");\n    const desc = encodeURIComponent($parent.getAttribute(\"data-desc\") || \" \");\n\n    // tracking click events if google analytics enabled\n    const ga = window[window.GoogleAnalyticsObject || \"ga\"];\n    if (typeof ga === \"function\") {\n      ga(\"send\", \"event\", \"Social Share Button\", \"click\", site);\n    }\n\n    if (url.length === 0) {\n      url = encodeURIComponent(location.href);\n    }\n    switch (site) {\n    case \"email\":\n      location.href = `mailto:?subject=${title}&body=${url}`;\n      break;\n    case \"weibo\":\n      this.openUrl(`http://service.weibo.com/share/share.php?url=${url}&type=3&pic=${img}&title=${title}&appkey=${appkey}`, 620, 370);\n      break;\n    case \"twitter\": {\n      let hashtags = encodeURIComponent(el.getAttribute(`data-${site}-hashtags`) || $parent.getAttribute(\"data-hashtags\") || \"\");\n      let viaStr = \"\";\n      if (via.length > 0) {\n        viaStr = `&via=${via}`;\n      }\n      this.openUrl(`https://twitter.com/intent/tweet?url=${url}&text=${title}&hashtags=${hashtags}${viaStr}`, 650, 300);\n      break;\n    }\n    case \"douban\":\n      this.openUrl(`http://shuo.douban.com/!service/share?href=${url}&name=${title}&image=${img}&sel=${desc}`, 770, 470);\n      break;\n    case \"facebook\":\n      this.openUrl(`http://www.facebook.com/sharer/sharer.php?u=${url}`, 555, 400);\n      break;\n    case \"qq\":\n      this.openUrl(`http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=${url}&title=${title}&pics=${img}&summary=${desc}&site=${appkey}`);\n      break;\n    case \"google_bookmark\":\n      this.openUrl(`https://www.google.com/bookmarks/mark?op=edit&output=popup&bkmk=${url}&title=${title}`);\n      break;\n    case \"delicious\":\n      this.openUrl(`https://del.icio.us/save?url=${url}&title=${title}&jump=yes&pic=${img}`);\n      break;\n    case \"pinterest\":\n      this.openUrl(`http://www.pinterest.com/pin/create/button/?url=${url}&media=${img}&description=${title}`);\n      break;\n    case \"linkedin\":\n      this.openUrl(`https://www.linkedin.com/shareArticle?mini=true&url=${url}&title=${title}&summary=${desc}`);\n      break;\n    case \"xing\":\n      this.openUrl(`https://www.xing.com/spi/shares/new?url=${url}`);\n      break;\n    case \"vkontakte\":\n      this.openUrl(`http://vk.com/share.php?url=${url}&title=${title}&image=${img}`);\n      break;\n    case \"odnoklassniki\":\n      this.openUrl(`https://connect.ok.ru/offer?url=${url}&title=${title}&description=${desc}&imageUrl=${img}`);\n      break;\n    case \"wechat\":\n      if (!window.SocialShareWeChatButton) {\n        throw new Error(\"You should require social-share-button/wechat to your application.js\");\n      }\n      window.SocialShareWeChatButton.qrcode({\n        url: decodeURIComponent(url),\n        header: el.getAttribute(\"title\"),\n        footer: el.getAttribute(\"data-wechat-footer\")\n      });\n      break;\n\n    case \"tumblr\": {\n      let getTumblrExtra = (param) => {\n        const cutomData = el.getAttribute(`data-${param}`);\n        if (cutomData) {\n          return encodeURIComponent(cutomData);\n        }\n      };\n\n      let tumblrParams = () => {\n        const path = getTumblrExtra(\"type\") || \"link\";\n\n        const params = (() => {\n          switch (path) {\n          case \"text\": {\n            title = getTumblrExtra(\"title\") || title;\n            return `title=${title}`;\n          }\n          case \"photo\": {\n            title = getTumblrExtra(\"caption\") || title;\n            let source = getTumblrExtra(\"source\") || img;\n            return `caption=${title}&source=${source}`;\n          }\n          case \"quote\": {\n            let quote = getTumblrExtra(\"quote\") || title;\n            let source = getTumblrExtra(\"source\") || \"\";\n            return `quote=${quote}&source=${source}`;\n          }\n          // actually, it's a link clause\n          default: {\n            title = getTumblrExtra(\"title\") || title;\n            url = getTumblrExtra(\"url\") || url;\n            return `name=${title}&url=${url}`;\n          }} })();\n\n        return `/${path}?${params}`;\n      };\n\n      this.openUrl(`http://www.tumblr.com/share${tumblrParams()}`);\n      break;\n    }\n    case \"reddit\":\n      this.openUrl(`http://www.reddit.com/submit?url=${url}&newwindow=1`, 555, 400);\n      break;\n    case \"hacker_news\":\n      this.openUrl(`http://news.ycombinator.com/submitlink?u=${url}&t=${title}`, 770, 500);\n      break;\n    case \"telegram\":\n      this.openUrl(`https://telegram.me/share/url?text=${title}&url=${url}`);\n      break;\n    case \"whatsapp_app\": {\n      let whatsappAppUrl = `whatsapp://send?text=${title}%0A${url}`;\n      window.open(whatsappAppUrl, \"_top\");\n      break;\n    }\n    case \"whatsapp_web\":\n      this.openUrl(`https://web.whatsapp.com/send?text=${title}%0A${url}`);\n      break;\n    }\n    return false;\n  }\n};\n","var map = {\n\t\"./decidim/avatar-multiuser.png\": 92356,\n\t\"./decidim/brands/google.svg\": 56546,\n\t\"./decidim/cc-badge.png\": 45189,\n\t\"./decidim/decidim-logo.svg\": 69585,\n\t\"./decidim/default-avatar.svg\": 41415,\n\t\"./decidim/gamification/badges/decidim_gamification_badges_followers.svg\": 58184,\n\t\"./decidim/gamification/badges/decidim_gamification_badges_invitations.svg\": 54206,\n\t\"./decidim/icons.svg\": 55618,\n\t\"./decidim/pattern.png\": 37669,\n\t\"./decidim/placeholder.jpg\": 21090,\n\t\"./decidim/vendor/leaflet/layers-2x.png\": 7772,\n\t\"./decidim/vendor/leaflet/layers.png\": 44210,\n\t\"./decidim/vendor/leaflet/marker-icon-2x.png\": 67190,\n\t\"./decidim/vendor/leaflet/marker-icon.png\": 17427,\n\t\"./decidim/vendor/leaflet/marker-shadow.png\": 83957,\n\t\"./decidim/vendor/social-share-button/delicious.svg\": 56618,\n\t\"./decidim/vendor/social-share-button/douban.svg\": 84163,\n\t\"./decidim/vendor/social-share-button/email.svg\": 44038,\n\t\"./decidim/vendor/social-share-button/facebook.svg\": 22877,\n\t\"./decidim/vendor/social-share-button/google_bookmark.svg\": 94908,\n\t\"./decidim/vendor/social-share-button/google_plus.svg\": 61434,\n\t\"./decidim/vendor/social-share-button/hacker_news.svg\": 5026,\n\t\"./decidim/vendor/social-share-button/linkedin.svg\": 76762,\n\t\"./decidim/vendor/social-share-button/odnoklassniki.svg\": 91333,\n\t\"./decidim/vendor/social-share-button/pinterest.svg\": 36746,\n\t\"./decidim/vendor/social-share-button/qq.svg\": 69940,\n\t\"./decidim/vendor/social-share-button/reddit.svg\": 91595,\n\t\"./decidim/vendor/social-share-button/telegram.svg\": 54736,\n\t\"./decidim/vendor/social-share-button/tumblr.svg\": 4287,\n\t\"./decidim/vendor/social-share-button/twitter.svg\": 96905,\n\t\"./decidim/vendor/social-share-button/vkontakte.svg\": 37058,\n\t\"./decidim/vendor/social-share-button/wechat.svg\": 73882,\n\t\"./decidim/vendor/social-share-button/weibo.svg\": 64593,\n\t\"./decidim/vendor/social-share-button/whatsapp.svg\": 12825,\n\t\"./decidim/vendor/social-share-button/xing.svg\": 67752\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 70869;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/decidim-packs/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t2835: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkdecidim_application\"] = self[\"webpackChunkdecidim_application\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [85,7768,166,5509,9715,3055,1734,155,4659], function() { return __webpack_require__(46107); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","updateSubmitButton","$fieldContainer","$form","$submitButton","$selectedItems","$","$multipleMentionContainer","$multipleMentionRecipientsContainer","nodatafound","directMessageDisabled","mentionsCount","deleteRecipient","element","noMatchTemplate","tribute","autocompleteMode","values","timeout","args","context","clearTimeout","setTimeout","callback","debounce","exclusionIds","index","query","data","response","cb","$parent","$tribute","remoteSearch","text","positionMenu","menuContainer","menuItemLimit","fillAttr","lookup","item","selectTemplate","recipientLabel","menuItemTemplate","svg","enabled","window","iconsPath","disabledElementClass","disabledElementMessage","setupEvents","$element","event","$target","setupRecipientEvents","COUNT_KEY","DEFAULT_MESSAGES","charactersAtLeast","one","other","charactersLeft","MESSAGES","InputCharacterCounter","this","$input","minCharacters","parseInt","attr","maxCharacters","length","targetId","Math","parent","is","after","bindEvents","Quill","editor","on","get","addEventListener","updateStatus","numCharacters","val","showMessages","message","remaining","dispatchEvent","CustomEvent","detail","createCharacterCounter","DEFAULT_ATTRIBUTES","role","EXCLUDE_CLASSES","EXCLUDE_ANCESTOR_CLASSES","EXCLUDE_REL","externalLink","ExternalLink","$link","setup","linkRels","addClass","spacer","trim","append","iconKey","attributes","iconAttributes","title","Reflect","htmlAttributes","Object","newKey","key","ucw","$el","icon","updateExternalDomainLinks","whitelist","parts","domain","externalHref","encodeURIComponent","correctErrors","FormValidator","announceFormError","$announce","prepend","_ev","form","CommentsComponent","commentableGid","config","commentsUrl","rootDepth","order","lastCommentId","pollingInterval","id","mounted","_initializeComments","_stopPolling","el","fromCurrentUser","$comment","$threads","_addComment","_finalizeCommentCreation","$replies","Date","$add","$opinionButtons","$text","$submit","_pollComments","$container","characterCounter","pollTimeout","Rails","url","type","URLSearchParams","success","_setLoading","$btn","ev","$selectedState","$alignment","addInputEmoji","containers","document","picker","position","rootElement","elem","zIndex","reveal","wrapper","btnContainer","btn","handlerPicker","emoji","Event","focusGuardClass","focusableNodes","focusableDisableableNodes","FocusGuard","container","guardedElement","Keyboard","enable","guards","querySelectorAll","guard","startGuard","createFocusGuard","endGuard","visibleNodes","Array","target","ind","isFocusGuard","isFocusable","tabindex","isNaN","dialogMode","$dialogs","$dialog","$title","$visibleReveal","svg4everybody","formDatePicker","createQuillEditor","comments","formFilter","links","filteredParams","JSON","sessionStorage","href","link","backToListLink","selectedText","select","$temp","width","height","copyDone","label","to","$msg","$appendableElements","submit","Foundation","$speaker","top","initializeListingOptionsMenu","options","pushState","registerCallback","match","$targetMenu","value","linkText","containerSelector","callbackName","urlParameter","dataAttribute","$impersonationWarning","endsAt","moment","exitInterval","setInterval","diff","diffInMinutes","clearInterval","require","$deleteAccountForm","$deleteAccountModalForm","$openModalButton","$modal","reasonValue","console","redirectUrl","querystring","jQuery","urlParts","urlBase","queryString","prefix","removeUrlParameter","$callout","behavior","$allDiffViews","$selected","$visibleDiffViewsId","$visibleDiffViews","getDismissedHelpers","serialized","localStorage","dismissedHelpers","addDismissedHelper","callbacks","callbackId","unregisterCallback","state","replaceState","button","identitiesUrl","userIdentitiesDialog","liTag","method","urlDataAttr","dataType","$inputs","next","prev","$notificationsBellIcon","$wrapper","$section","$noNotificationsText","$pagination","emptyNotifications","$item","$checkbox","$userGroupFields","$responsiveTabBlock","allMessages","messages","addUsersConversationDialog","$tooltips","$userRegistrationForm","inputSelector","newsletterSelector","$newsletterModal","setGroupFieldsVisibility","newsletterChecked","check","checkNewsletter","n","e","s","o","t","f","l","_version","_config","classPrefix","enableClasses","enableJSClass","usePrefixes","_q","addTest","name","fn","addAsyncTest","Modernizr","r","c","a","i","Boolean","RegExp","u","openUrl","opt","screen","share","path","params","site","appkey","img","via","desc","ga","location","hashtags","viaStr","decodeURIComponent","header","footer","getTumblrExtra","param","cutomData","source","whatsappAppUrl","map","webpackContext","req","webpackContextResolve","__webpack_require__","Error","code","keys","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","every","splice","getter","__esModule","d","definition","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","nmd","paths","children","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","forEach","bind","push","__webpack_exports__"],"sourceRoot":""}