Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
// ------------------------------------------------------------------------
//
//     CODEX TEST USERSCRIPT
//
//     I can't think of anything to put as a description for now.
//
// ------------------------------------------------------------------------
//
//     NOTE TO USERS AND DEBUGGERS: This userscript is originally written in
//     Vue and TypeScript. The original code is converted to raw JavaScript
//     in a build process. To view the original source code, visit
//
//         https://gitlab.wikimedia.org/chlod/userscripts-template-codex
//
// ------------------------------------------------------------------------
//// <nowiki>
mw.loader.using(
  ["vue", "jquery", "@wikimedia/codex", "mediawiki.util"],
  function (require) {
    "use strict";
    var H = Object.defineProperty,
      D = Object.defineProperties;
    var P = Object.getOwnPropertyDescriptors;
    var V = Object.getOwnPropertySymbols;
    var _ = Object.prototype.hasOwnProperty,
      I = Object.prototype.propertyIsEnumerable;
    var S = (t, a, s) =>
        a in t
          ? H(t, a, {
              enumerable: !0,
              configurable: !0,
              writable: !0,
              value: s,
            })
          : (t[a] = s),
      O = (t, a) => {
        for (var s in a || (a = {})) _.call(a, s) && S(t, s, a[s]);
        if (V) for (var s of V(a)) I.call(a, s) && S(t, s, a[s]);
        return t;
      },
      q = (t, a) => D(t, P(a));
    var x = (t, a, s) =>
      new Promise((l, d) => {
        var m = (N) => {
            try {
              E(s.next(N));
            } catch (T) {
              d(T);
            }
          },
          f = (N) => {
            try {
              E(s.throw(N));
            } catch (T) {
              d(T);
            }
          },
          E = (N) =>
            N.done ? l(N.value) : Promise.resolve(N.value).then(m, f);
        E((s = s.apply(t, a)).next());
      });
    const e = require("vue"),
      R = require("@wikimedia/codex");
    require("jquery");
    const w = [
        {
          category: "Admissibilité",
          display: "Admissibilité",
          template: "{{Admissibilité}}",
          help: "Attention, il faut à la suite de la pose de ce bandeau ouvrir manuellement la procédure de DDA. Suivez les explications qui apparaîtront sur le bandeau.",
        },
        {
          category: "Admissibilité",
          display: "Admissibilité à vérifier",
          template:
            "{{Admissibilité à vérifier|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}|motif=$(reason)}}",
          reason: "Motif :",
          help: "",
        },
        {
          category: "Admissibilité",
          display: "Article en sursis",
          template:
            "{{Article en sursis|timestamp={{subst:CURRENTTIMESTAMP}}}}",
          help: "",
        },
        {
          category: "Admissibilité",
          display: "Notoriété art",
          template:
            "{{Notoriété art|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Admissibilité",
          display: "Pour Wikiquote",
          template: "{{Pour Wikiquote}}",
          help: "",
        },
        {
          category: "Admissibilité",
          display: "Vérifiabilité",
          template:
            "{{Vérifiabilité|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Admissibilité",
          display: "Vie privée",
          template:
            "{{Vie privée|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À catégoriser",
          template:
            "{{À catégoriser|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À dater",
          template:
            "{{À dater|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À déjargoniser",
          template:
            "{{À déjargoniser|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À délister",
          template:
            "{{À délister|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À désacadémiser",
          template:
            "{{À désacadémiser|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À désangliciser",
          template:
            "{{À désangliciser|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À fusionner",
          template:
            "{{À fusionner|$(extra)|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          extra: "Liste des articles à fusionner, séparés par des « | » :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À illustrer",
          template:
            "{{À illustrer|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À recycler",
          template:
            "{{À recycler|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À TeXifier",
          template:
            "{{À TeXifier|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "À wikifier",
          template:
            "{{À wikifier|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Alerte langue",
          template: "{{Alerte langue|$(reason)|$(extra)}}",
          extra:
            "Nom de la langue, tel qu'utilisé dans l'article relatif à cette langue :",
          reason:
            "nom de la langue utilisée ainsi qu'au moins une lettre de cette langue qui pourrait poser des problèmes d'affichage :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Article court",
          template: "{{Article court|$(extra)}}",
          extra: "Article dans lequel le sujet est plus développé :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Article incompréhensible",
          template:
            "{{Article incompréhensible|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Article mal proportionné",
          template: "{{Article mal proportionné}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Av. J.-C.",
          template: "{{Av. J.-C.}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Avertissement liste wikidata",
          template: "{{Avertissement liste wikidata}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Confusion",
          template: "{{Confusion|$(reason)}}",
          reason:
            "Lien(s) vers un ou plusieurs autres articles, séparés par des « | » :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "En travaux",
          template:
            "{{En travaux|$(user)|date={{subst:CURRENTDAY}} {{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}|commentaire=$(extra)}}",
          extra: "Commentaire facultatif :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Fusion technique",
          template: "{{Fusion technique|$(extra)}}",
          extra:
            "Liste des articles qui font l'objet de la fusion, sparés par des « | » :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Internationaliser",
          template:
            "{{Internationaliser|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Lire d'abord",
          template: "{{Lire d'abord|$(extra)}}",
          extra: "Liste des articles à lire d'abord, séparés par des « | » :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Orthographe",
          template:
            "{{Orthographe|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Plan",
          template:
            "{{Plan|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Plusieurs en cours",
          template: "{{Plusieurs en cours}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Redirect confusion",
          template: "{{Redirect confusion|$(reason)|$(extra)}}",
          extra: "Confusion possible avec l'article :",
          reason: "Nom de la redirection :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Résumé introductif",
          template:
            "{{Résumé introductif|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Résumé introductif trop court",
          template:
            "{{Résumé introductif trop court|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Résumé introductif trop long",
          template:
            "{{Résumé introductif trop long|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Style non encyclopédique",
          template:
            "{{Style non encyclopédique|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Synopsis",
          template:
            "{{Synopsis|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Titre incorrect",
          template: "{{Titre incorrect|1=$(reason)}}",
          reason: "Titre souhaité :",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Trop d'images",
          template:
            "{{Trop d'images|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Trop de citations",
          template:
            "{{Trop de citations|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Trop de liens",
          template:
            "{{Trop de liens|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Trop de wikiliens",
          template:
            "{{Trop de wikiliens|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Trop long",
          template: "{{Trop long}}",
          help: "",
        },
        {
          category: "Mise en forme",
          display: "Typographie",
          template:
            "{{Typographie|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Anthropocentrisme",
          template:
            "{{Anthropocentrisme|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Article non neutre",
          template:
            "{{Article non neutre|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Avantage non déclaré",
          template:
            "{{Avantage non déclaré|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}|motif=$(reason)}}",
          reason: "Motif :",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Désaccord de neutralité",
          template:
            "{{Désaccord de neutralité|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Désaccord de pertinence",
          template:
            "{{Désaccord de pertinence|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Introduction régionale",
          template:
            "{{Introduction régionale|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Point de vue interne",
          template:
            "{{Point de vue interne|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "POV fork",
          template: "{{POV fork}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Promotionnel",
          template:
            "{{Promotionnel|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "R3R",
          template: "{{R3R|1=~~~~}}",
          help: "",
        },
        {
          category: "Neutralité",
          display: "Scrutin en cours",
          template: "{{Scrutin en cours}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "À sourcer",
          template:
            "{{À sourcer|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "À vérifier",
          template:
            "{{À vérifier|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Conventions bibliographiques",
          template:
            "{{Conventions bibliographiques|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Copie à vérifier",
          template:
            "{{Copie à vérifier|1=$(reason)|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          reason: "Adresse du site copié :",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Détournement de sources",
          template: "{{Détournement de sources}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Lien internet incomplet",
          template: "{{Lien internet incomplet}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Mettre à jour",
          template:
            "{{Mettre à jour|$(reason)|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}|commentaire=$(extra)}}",
          extra: "Justification de la présence du bandeau (facultatif) :",
          reason: "Date de dernière mise à jour (facultatif) :",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Pas de liens externes",
          template: "{{Pas de liens externes}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Sans source",
          template:
            "{{Sans source|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Sources à lier",
          template:
            "{{Sources à lier|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Sources obsolètes",
          template:
            "{{Sources obsolètes|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Sources secondaires",
          template:
            "{{Sources secondaires|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}}}",
          help: "",
        },
        {
          category: "Sourçage",
          display: "Travail inédit",
          template:
            "{{Travail inédit|date={{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}|Cet article peut contenir}}",
          help: "",
        },
      ],
      L = (t) => w.find((a) => a.display === t),
      j = { class: "bandeaux-manager" },
      F = { class: "search-section" },
      W = { key: 0, class: "selected-bandeaux" },
      X = { class: "selection-list" },
      z = { key: 0, class: "bandeau-group" },
      J = { key: 0, class: "input-field" },
      Q = { key: 1, class: "input-field" },
      G = 5,
      K = e.defineComponent({
        __name: "BandeauxManager",
        setup(t) {
          const a = e.ref(!0),
            s = e.ref(""),
            l = e.ref([]),
            d = e.ref({}),
            m = e.ref({}),
            f = e.computed(() => w.filter((o) => l.value.includes(o.display))),
            E = e.computed(() => l.value.length < G),
            N = e.computed(() => f.value.map((o) => o.display).join(", ")),
            T = e.computed(() => {
              const o = s.value.toLowerCase().trim();
              return (
                o
                  ? w.filter(
                      (u) =>
                        u.display.toLowerCase().includes(o) ||
                        u.help.toLowerCase().includes(o)
                    )
                  : w
              ).reduce(
                (u, C) => (
                  u[C.category] || (u[C.category] = []),
                  u[C.category].push(C),
                  u
                ),
                {}
              );
            }),
            v = (o) => l.value.includes(o),
            U = (o) => {
              var u;
              const n = L(o);
              return !(n != null && n.reason) ||
                n.reason.toLowerCase().includes("facultatif") ||
                ((u = d.value[o]) != null && u.trim())
                ? "default"
                : "error";
            },
            A = e.computed(() =>
              f.value.length === 0
                ? !1
                : f.value.every((o) => {
                    var n;
                    return !o.reason ||
                      o.reason.toLowerCase().includes("facultatif")
                      ? !0
                      : (n = d.value[o.display]) == null
                      ? void 0
                      : n.trim();
                  })
            ),
            p = [
              "admissibilité",
              "à prouver",
              "à sourcer",
              "à vérifier",
              "BPV à sourcer",
              "contenu évasif",
              "sans source",
              "source douteuse",
              "source obsolète",
              "source unique",
              "sources à lier",
              "sources secondaires",
              "trop de sources",
              "vérifiabilité",
              "à catégoriser",
              "à dater",
              "à décoloriser",
              "à déjargoniser",
              "à délister",
              "à désacadémiser",
              "à désangliciser",
              "à TeXifier",
              "à wikifier",
              "biblio",
              "orthographe",
              "typographie",
              "catalogue de vente",
              "CV",
              "hagiographique",
              "dithyrambe",
              "name dropping",
              "pub",
              "tribune",
              "anthropocentrisme",
              "controverses",
              "détournement de sources",
              "internationaliser",
              "neutralité",
              "non neutre",
              "outre-mer",
              "rédaction",
              "titre non encyclopédique",
              "ton journalistique",
              "travail inédit",
              "anecdotes",
              "guide pratique",
              "pertinence",
              "sujet à identifier",
              "trop de citations",
              "vie privée",
              "à recycler",
              "contenu à préciser",
              "divergence avec Wikidata",
              "incompréhensible",
              "intro",
              "intro incompréhensible",
              "intro non représentative",
              "tableau incohérent",
              "traduction à revoir",
              "traduction incomplète",
              "lien internet",
              "orphelin",
              "pas de liens externes",
              "trop de liens",
              "trop de wikiliens",
              "intro courte",
              "intro longue",
              "mal proportionné",
              "synthèse",
              "trop long",
              "à illustrer",
              "image à légender",
              "trop d'images",
              "mettre à jour",
              "contradiction",
              "plan",
              "POV fork",
              "répétitions",
              "utilisateur non sûr",
            ],
            r = (o) =>
              ({
                "pov fork": "POV fork",
                cv: "CV",
                "à texifier": "à TeXifier",
                "divergence avec wikidata": "divergence avec Wikidata",
              }[o.toLowerCase()] || o),
            c = () => {
              var C;
              const o = [],
                n = [];
              f.value.forEach((i) => {
                var k;
                const g =
                  (k = i.template.match(/\{\{([^}|]+)/)) == null
                    ? void 0
                    : k[1].toLowerCase().trim();
                g !== void 0 &&
                  (p.map((Y) => Y.toLowerCase()).includes(g)
                    ? o.push(
                        q(O({}, i), { problemeMultiple: !0, paramName: r(g) })
                      )
                    : n.push(i));
              });
              let u = "";
              if (o.length > 1) {
                u += `{{Problèmes multiples
`;
                for (const i of o) {
                  const g =
                    (i.reason &&
                      ((C = d.value[i.display]) == null ? void 0 : C.trim())) ||
                    "{{subst:CURRENTMONTHNAME}} {{subst:CURRENTYEAR}}";
                  u += ` | ${i.paramName} = ${g}
`;
                }
                u += `}}
`;
              } else o.length === 1 && n.push(o[0]);
              return (
                (u += n.map((i) => {
                  let g = i.template;
                  return (
                    i.reason &&
                      (g = g.replace("$(reason)", d.value[i.display] || "")),
                    i.extra &&
                      (g = g.replace("$(extra)", m.value[i.display] || "")),
                    g
                  );
                }).join(`
`)),
                u
              );
            },
            y = () =>
              x(this, null, function* () {
                if (!A.value) return;
                a.value = !1;
                const o = c();
                try {
                  yield new mw.Api().postWithToken("csrf", {
                    action: "edit",
                    title: mw.config.get("wgPageName"),
                    prependtext:
                      o +
                      `
`,
                    summary: "Ajout de bandeaux de maintenance via C-helper",
                    tags: "C-helper",
                  }),
                    mw.notify(
                      "Bandeau(x) ajouté(s), rechargement de la page...",
                      { type: "success", tag: "c-helper" }
                    ),
                    setTimeout(() => location.reload(), 2e3);
                } catch (n) {
                  mw.notify("Erreur lors de l'ajout des bandeaux", {
                    type: "error",
                    tag: "c-helper",
                  });
                }
              }),
            M = () => {
              a.value = !1;
            };
          return (o, n) => (
            e.openBlock(),
            e.createBlock(
              e.unref(R.CdxDialog),
              {
                open: a.value,
                "onUpdate:open": n[2] || (n[2] = (u) => (a.value = u)),
                title: "C-helper",
                "primary-action": {
                  label: "Appliquer",
                  actionType: "progressive",
                  disabled: !A.value,
                },
                "default-action": { label: "Fermer" },
                onPrimary: y,
                onDefault: M,
              },
              {
                default: e.withCtx(() => [
                  e.createElementVNode("div", j, [
                    e.createElementVNode("div", F, [
                      e.createVNode(
                        e.unref(R.CdxTextInput),
                        {
                          modelValue: s.value,
                          "onUpdate:modelValue":
                            n[0] || (n[0] = (u) => (s.value = u)),
                          placeholder: "Rechercher un bandeau...",
                          "clear-button": { label: "Effacer" },
                          class: "search-input",
                        },
                        null,
                        8,
                        ["modelValue"]
                      ),
                    ]),
                    f.value.length > 0
                      ? (e.openBlock(),
                        e.createElementBlock("div", W, [
                          e.createVNode(
                            e.unref(R.CdxMessage),
                            { type: "notice" },
                            {
                              header: e.withCtx(() => [
                                e.createTextVNode(
                                  " Bandeaux sélectionnés (" +
                                    e.toDisplayString(f.value.length) +
                                    ") ",
                                  1
                                ),
                              ]),
                              default: e.withCtx(() => [
                                e.createElementVNode(
                                  "span",
                                  X,
                                  e.toDisplayString(N.value),
                                  1
                                ),
                              ]),
                              _: 1,
                            }
                          ),
                        ]))
                      : e.createCommentVNode("", !0),
                    (e.openBlock(!0),
                    e.createElementBlock(
                      e.Fragment,
                      null,
                      e.renderList(
                        T.value,
                        (u, C) => (
                          e.openBlock(),
                          e.createElementBlock(
                            e.Fragment,
                            { key: C },
                            [
                              u.length > 0
                                ? (e.openBlock(),
                                  e.createElementBlock("div", z, [
                                    e.createVNode(
                                      e.unref(R.CdxLabel),
                                      { class: "group-label" },
                                      {
                                        default: e.withCtx(() => [
                                          e.createTextVNode(
                                            e.toDisplayString(C) +
                                              " (" +
                                              e.toDisplayString(u.length) +
                                              ") ",
                                            1
                                          ),
                                        ]),
                                        _: 2,
                                      },
                                      1024
                                    ),
                                    (e.openBlock(!0),
                                    e.createElementBlock(
                                      e.Fragment,
                                      null,
                                      e.renderList(
                                        u,
                                        (i) => (
                                          e.openBlock(),
                                          e.createElementBlock(
                                            "div",
                                            {
                                              key: i.template,
                                              class: "bandeau-item",
                                            },
                                            [
                                              e.createVNode(
                                                e.unref(R.CdxCheckbox),
                                                {
                                                  modelValue: l.value,
                                                  "onUpdate:modelValue":
                                                    n[1] ||
                                                    (n[1] = (g) =>
                                                      (l.value = g)),
                                                  "input-value": i.display,
                                                  disabled:
                                                    !E.value && !v(i.display),
                                                },
                                                e.createSlots(
                                                  {
                                                    default: e.withCtx(() => [
                                                      e.createTextVNode(
                                                        e.toDisplayString(
                                                          i.display
                                                        ) + " ",
                                                        1
                                                      ),
                                                    ]),
                                                    _: 2,
                                                  },
                                                  [
                                                    i.help
                                                      ? {
                                                          name: "description",
                                                          fn: e.withCtx(() => [
                                                            e.createTextVNode(
                                                              e.toDisplayString(
                                                                i.help
                                                              ),
                                                              1
                                                            ),
                                                          ]),
                                                          key: "0",
                                                        }
                                                      : void 0,
                                                  ]
                                                ),
                                                1032,
                                                [
                                                  "modelValue",
                                                  "input-value",
                                                  "disabled",
                                                ]
                                              ),
                                              v(i.display) && i.reason
                                                ? (e.openBlock(),
                                                  e.createElementBlock(
                                                    "div",
                                                    J,
                                                    [
                                                      e.createVNode(
                                                        e.unref(R.CdxField),
                                                        {
                                                          "label-icon": "info",
                                                        },
                                                        {
                                                          label: e.withCtx(
                                                            () => [
                                                              e.createTextVNode(
                                                                e.toDisplayString(
                                                                  i.reason
                                                                ),
                                                                1
                                                              ),
                                                            ]
                                                          ),
                                                          default: e.withCtx(
                                                            () => [
                                                              e.createVNode(
                                                                e.unref(
                                                                  R.CdxTextInput
                                                                ),
                                                                {
                                                                  modelValue:
                                                                    d.value[
                                                                      i.display
                                                                    ],
                                                                  "onUpdate:modelValue":
                                                                    (g) =>
                                                                      (d.value[
                                                                        i.display
                                                                      ] = g),
                                                                  placeholder:
                                                                    "Requis",
                                                                  status: U(
                                                                    i.display
                                                                  ),
                                                                },
                                                                null,
                                                                8,
                                                                [
                                                                  "modelValue",
                                                                  "onUpdate:modelValue",
                                                                  "status",
                                                                ]
                                                              ),
                                                            ]
                                                          ),
                                                          _: 2,
                                                        },
                                                        1024
                                                      ),
                                                    ]
                                                  ))
                                                : e.createCommentVNode("", !0),
                                              v(i.display) && i.extra
                                                ? (e.openBlock(),
                                                  e.createElementBlock(
                                                    "div",
                                                    Q,
                                                    [
                                                      e.createVNode(
                                                        e.unref(R.CdxField),
                                                        {
                                                          "label-icon": "info",
                                                        },
                                                        {
                                                          label: e.withCtx(
                                                            () => [
                                                              e.createTextVNode(
                                                                e.toDisplayString(
                                                                  i.extra
                                                                ),
                                                                1
                                                              ),
                                                            ]
                                                          ),
                                                          default: e.withCtx(
                                                            () => [
                                                              e.createVNode(
                                                                e.unref(
                                                                  R.CdxTextInput
                                                                ),
                                                                {
                                                                  modelValue:
                                                                    m.value[
                                                                      i.display
                                                                    ],
                                                                  "onUpdate:modelValue":
                                                                    (g) =>
                                                                      (m.value[
                                                                        i.display
                                                                      ] = g),
                                                                  placeholder:
                                                                    "Optionnel",
                                                                },
                                                                null,
                                                                8,
                                                                [
                                                                  "modelValue",
                                                                  "onUpdate:modelValue",
                                                                ]
                                                              ),
                                                            ]
                                                          ),
                                                          _: 2,
                                                        },
                                                        1024
                                                      ),
                                                    ]
                                                  ))
                                                : e.createCommentVNode("", !0),
                                            ]
                                          )
                                        )
                                      ),
                                      128
                                    )),
                                  ]))
                                : e.createCommentVNode("", !0),
                            ],
                            64
                          )
                        )
                      ),
                      128
                    )),
                    Object.keys(T.value).length === 0
                      ? (e.openBlock(),
                        e.createBlock(
                          e.unref(R.CdxMessage),
                          { key: 1, type: "notice" },
                          {
                            default: e.withCtx(
                              () =>
                                n[3] ||
                                (n[3] = [
                                  e.createTextVNode(
                                    " Aucun bandeau ne correspond à votre recherche "
                                  ),
                                ])
                            ),
                            _: 1,
                          }
                        ))
                      : e.createCommentVNode("", !0),
                  ]),
                ]),
                _: 1,
              },
              8,
              ["open", "primary-action"]
            )
          );
        },
      }),
      Z = [
        { display: "Souhaiter la bienvenue" },
        { display: "Maladresses" },
        { display: "Vandalisme" },
        { display: "Suggestion" },
        { display: "Liens externes" },
        { display: "Copyvio" },
        { display: "Avertissement supression" },
        { display: "Aide" },
      ],
      $ = [
        {
          category: 0,
          display: "Bienvenue nouveau",
          template: "Bienvenue nouveau|$(user)|message=$(extra)",
          extra: "Ajouter un message personnel (facultatif) :",
          help: "",
          required: [],
        },
        {
          category: 0,
          display: "Bienvenue IP",
          template: "Bienvenue IP",
          help: "",
          required: [],
        },
        {
          category: 0,
          display: "Bienvenue IP méritante",
          template: "Bienvenue IP méritante|$(user)|message=$(extra)",
          extra: "Ajouter un message personnel (facultatif) :",
          help: "",
          required: [],
        },
        {
          category: 1,
          display: "Test 0",
          template: "Test 0|$(page)|$(diff)|autre=$(extra)|user=$(user)",
          extra: "Type de maladresse (facultatif) :",
          help: "",
          required: ["page"],
        },
        {
          category: 1,
          display: "Test ?",
          template: "Test ?|$(page)|$(diff)",
          help: "",
          required: ["page"],
        },
        {
          category: 1,
          display: "Ajout POV",
          template: "Ajout POV|$(page)|user=$(user)",
          help: "",
          required: ["page"],
        },
        {
          category: 1,
          display: "Non-encyclo",
          template: "Non-encyclo|user=$(user)",
          help: "",
          required: [],
        },
        {
          category: 1,
          display: "Retrait injustifié",
          template: "Retrait injustifié|$(page)|user=$(user)",
          help: "",
          required: ["page"],
        },
        {
          category: 1,
          display: "Ortho",
          template: "Ortho|$(page)|user=$(user)",
          help: "",
          required: ["page"],
        },
        {
          category: 2,
          display: "Test 1",
          template: "Test 1|$(page)",
          help: "",
          required: ["page"],
        },
        {
          category: 2,
          display: "Test 2",
          template: "Test 2",
          help: "",
          required: [],
        },
        {
          category: 2,
          display: "Test 3",
          template: "Test 3",
          help: "",
          required: [],
        },
        {
          category: 2,
          display: "Test 4",
          template: "Test 4",
          help: "",
          required: [],
        },
        {
          category: 3,
          display: "Faut sourcer",
          template: "Faut sourcer|$(page)|user=$(user)",
          help: "",
          required: ["page"],
        },
        {
          category: 3,
          display: "Faut sourcer 2",
          template: "Faut sourcer 2|$(page)",
          help: "",
          required: ["page"],
        },
        {
          category: 4,
          display: "Bienvenue spammeur",
          template: "Bienvenue spammeur|$(page)|user=$(user)",
          help: "",
          required: ["page"],
        },
        {
          category: 4,
          display: "Bienvenue spammeur 2",
          template: "Bienvenue spammeur 2|$(page)",
          help: "",
          required: ["page"],
        },
        {
          category: 5,
          display: "Avertissement Copyvio",
          template: "Avertissement Copyvio|$(page)|$(extra)",
          extra: "Site copié (facultatif) :",
          help: "",
          required: ["page"],
        },
        {
          category: 5,
          display: "Avertissement Copyvio Synopsis",
          template: "Avertissement Copyvio Synopsis|$(page)|$(extra)",
          extra: "Site copié (facultatif) :",
          help: "",
          required: ["page"],
        },
        {
          category: 6,
          display: "BSI CAA",
          template: "BSI CAA|$(page)",
          help: "",
          required: ["page"],
        },
        {
          category: 6,
          display: "BSI vandalisme",
          template: "BSI vandalisme|$(page)",
          help: "",
          required: ["page"],
        },
        {
          category: 7,
          display: "Aide sources",
          template: "Aide sources|user=$(user)",
          help: "",
          required: [],
        },
        {
          category: 7,
          display: "Aide images",
          template: "Aide images|user=$(user)",
          help: "",
          required: [],
        },
      ],
      ee = e.defineComponent({
        name: "UserMessageManager",
        components: {
          CdxCheckbox: R.CdxCheckbox,
          CdxDialog: R.CdxDialog,
          CdxLabel: R.CdxLabel,
          CdxTextInput: R.CdxTextInput,
          CdxRadio: R.CdxRadio,
          CdxField: R.CdxField,
        },
        setup() {
          const t = e.ref(!0),
            a = e.ref(""),
            s = e.ref(!0),
            l = e.ref(""),
            d = e.ref({}),
            m = e.computed(() => $.find((p) => p.display === l.value)),
            f = (p) => {
              var r;
              return (r = p.required) != null &&
                r.includes("page") &&
                l.value === p.display &&
                !a.value
                ? "error"
                : "default";
            },
            E = e.computed(() => {
              var r;
              if (!l.value) return !1;
              const p = m.value;
              return !(
                !p ||
                ((r = p.required) != null && r.includes("page") && !a.value)
              );
            }),
            N = e.computed(() =>
              $.reduce((p, r) => {
                const c = Z[r.category].display;
                return p[c] || (p[c] = []), p[c].push(r), p;
              }, {})
            ),
            T = (p, r) =>
              x(this, null, function* () {
                try {
                  const c = yield new mw.Api().get({
                    action: "query",
                    prop: "revisions",
                    titles: p,
                    rvuser: r,
                    rvlimit: 1,
                    rvprop: "ids",
                    formatversion: 2,
                  });
                  if (!c.query.pages) throw new Error("Titre de page erroné");
                  const y = c.query.pages[0];
                  if (!y.revisions)
                    throw y.missing
                      ? new Error("Page non trouvée")
                      : y.invalid
                      ? new Error("Titre de page invalide")
                      : new Error("Révision non trouvée");
                  return String(y.revisions[0].revid);
                } catch (c) {
                  return (
                    mw.notify(
                      `Erreur lors de la récupération de la révision : ${c}`,
                      { type: "error" }
                    ),
                    ""
                  );
                }
              }),
            v = () =>
              x(this, null, function* () {
                var n;
                const p =
                    a.value || mw.config.get("wgPageName").replaceAll("_", " "),
                  r = document.querySelector(".diff")
                    ? ((n = document.querySelector(
                        ".diff-ntitle .mw-userlink"
                      )) == null
                        ? void 0
                        : n.textContent) || ""
                    : mw.config.get("wgRelevantUserName") || "";
                let c = "";
                const y = $.find((u) => u.display === l.value);
                if (!y) return { outputText: "", targetUser: r };
                let M = y.template;
                return (
                  M.includes("$(diff)") && !c && p && (c = yield T(p, r)),
                  (M = M.replaceAll("$(day)", "{{subst:CURRENTDAY}}")
                    .replaceAll("$(month)", "{{subst:CURRENTMONTHNAME}}")
                    .replaceAll("$(year)", "{{subst:CURRENTYEAR}}")
                    .replaceAll("$(page)", p)
                    .replaceAll("$(diff)", c)
                    .replaceAll("$(user)", mw.config.get("wgUserName") || "")
                    .replaceAll("$(extra)", d.value[y.display] || "")),
                  {
                    outputText: `

{{${s.value ? "subst:" : ""}${M}}}
~~~~`,
                    targetUser: r,
                  }
                );
              });
          return {
            open: t,
            pageInput: a,
            substCheckbox: s,
            selectedTemplate: l,
            extraInputs: d,
            groupedTemplates: N,
            canSubmit: E,
            getPageInputStatus: f,
            onPrimaryAction: () =>
              x(this, null, function* () {
                if (!E.value) return;
                t.value = !1;
                const { outputText: p, targetUser: r } = yield v();
                try {
                  yield new mw.Api().postWithToken("csrf", {
                    action: "edit",
                    title: `Discussion utilisateur:${r}`,
                    appendtext: p,
                    summary: `Message utilisateur : ${l.value}`,
                    tags: "C-helper",
                  }),
                    mw.notify("Le message a bien été ajouté.", {
                      title: "C-helper",
                      type: "success",
                    });
                } catch (c) {
                  mw.notify("Erreur lors de l'ajout du message.", {
                    title: "C-helper",
                    type: "error",
                  });
                }
              }),
            onDefaultAction: () => {
              t.value = !1;
            },
          };
        },
      }),
      te = (t, a) => {
        const s = t.__vccOpts || t;
        for (const [l, d] of a) s[l] = d;
        return s;
      },
      ae = { class: "message-manager" },
      se = { class: "subst-section" },
      re = { class: "page-input-container" },
      ie = { class: "extra-input" };
    function le(t, a, s, l, d, m) {
      const f = e.resolveComponent("CdxCheckbox"),
        E = e.resolveComponent("CdxLabel"),
        N = e.resolveComponent("CdxRadio"),
        T = e.resolveComponent("CdxTextInput"),
        v = e.resolveComponent("CdxField"),
        U = e.resolveComponent("CdxDialog");
      return (
        e.openBlock(),
        e.createBlock(
          U,
          {
            open: t.open,
            "onUpdate:open": a[3] || (a[3] = (A) => (t.open = A)),
            title: "C helper - Informer un utilisateur",
            "primary-action": {
              label: "Valider la requête",
              actionType: "progressive",
              disabled: !t.canSubmit,
            },
            "default-action": { label: "Fermer" },
            onPrimary: t.onPrimaryAction,
            onDefault: t.onDefaultAction,
          },
          {
            default: e.withCtx(() => [
              e.createElementVNode("div", ae, [
                e.createElementVNode("div", se, [
                  e.createVNode(
                    f,
                    {
                      modelValue: t.substCheckbox,
                      "onUpdate:modelValue":
                        a[0] || (a[0] = (A) => (t.substCheckbox = A)),
                    },
                    {
                      default: e.withCtx(
                        () =>
                          a[4] ||
                          (a[4] = [
                            e.createTextVNode(" Substituer les modèles "),
                          ])
                      ),
                      _: 1,
                    },
                    8,
                    ["modelValue"]
                  ),
                ]),
                (e.openBlock(!0),
                e.createElementBlock(
                  e.Fragment,
                  null,
                  e.renderList(
                    t.groupedTemplates,
                    (A, p) => (
                      e.openBlock(),
                      e.createElementBlock(
                        "div",
                        { key: p, class: "message-group" },
                        [
                          e.createVNode(
                            E,
                            { class: "group-label" },
                            {
                              default: e.withCtx(() => [
                                e.createTextVNode(e.toDisplayString(p), 1),
                              ]),
                              _: 2,
                            },
                            1024
                          ),
                          (e.openBlock(!0),
                          e.createElementBlock(
                            e.Fragment,
                            null,
                            e.renderList(A, (r) => {
                              var c;
                              return (
                                e.openBlock(),
                                e.createElementBlock(
                                  "div",
                                  {
                                    key: r.display,
                                    class: "template-container",
                                  },
                                  [
                                    e.createVNode(
                                      N,
                                      {
                                        modelValue: t.selectedTemplate,
                                        "onUpdate:modelValue":
                                          a[1] ||
                                          (a[1] = (y) =>
                                            (t.selectedTemplate = y)),
                                        "input-value": r.display,
                                        name: "message-radio",
                                        class: "template-radio",
                                      },
                                      e.createSlots(
                                        {
                                          default: e.withCtx(() => [
                                            e.createTextVNode(
                                              e.toDisplayString(r.display) +
                                                " ",
                                              1
                                            ),
                                          ]),
                                          _: 2,
                                        },
                                        [
                                          r.help
                                            ? {
                                                name: "description",
                                                fn: e.withCtx(() => [
                                                  e.createTextVNode(
                                                    e.toDisplayString(r.help),
                                                    1
                                                  ),
                                                ]),
                                                key: "0",
                                              }
                                            : void 0,
                                        ]
                                      ),
                                      1032,
                                      ["modelValue", "input-value"]
                                    ),
                                    e.withDirectives(
                                      e.createElementVNode(
                                        "div",
                                        re,
                                        [
                                          e.createVNode(
                                            v,
                                            { status: t.getPageInputStatus(r) },
                                            {
                                              default: e.withCtx(() => [
                                                e.createVNode(E, null, {
                                                  default: e.withCtx(
                                                    () =>
                                                      a[5] ||
                                                      (a[5] = [
                                                        e.createTextVNode(
                                                          "Article modifié :"
                                                        ),
                                                      ])
                                                  ),
                                                  _: 1,
                                                }),
                                                e.createVNode(
                                                  T,
                                                  {
                                                    modelValue: t.pageInput,
                                                    "onUpdate:modelValue":
                                                      a[2] ||
                                                      (a[2] = (y) =>
                                                        (t.pageInput = y)),
                                                    placeholder:
                                                      "Veuillez renseigner l'article concerné...",
                                                  },
                                                  null,
                                                  8,
                                                  ["modelValue"]
                                                ),
                                              ]),
                                              _: 2,
                                            },
                                            1032,
                                            ["status"]
                                          ),
                                        ],
                                        512
                                      ),
                                      [
                                        [
                                          e.vShow,
                                          t.selectedTemplate === r.display &&
                                            ((c = r.required) == null
                                              ? void 0
                                              : c.includes("page")),
                                        ],
                                      ]
                                    ),
                                    e.withDirectives(
                                      e.createElementVNode(
                                        "div",
                                        ie,
                                        [
                                          e.createVNode(
                                            v,
                                            { status: "default" },
                                            {
                                              default: e.withCtx(() => [
                                                e.createVNode(
                                                  E,
                                                  null,
                                                  {
                                                    default: e.withCtx(() => [
                                                      e.createTextVNode(
                                                        e.toDisplayString(
                                                          r.extra
                                                        ),
                                                        1
                                                      ),
                                                    ]),
                                                    _: 2,
                                                  },
                                                  1024
                                                ),
                                                e.createVNode(
                                                  T,
                                                  {
                                                    modelValue:
                                                      t.extraInputs[r.display],
                                                    "onUpdate:modelValue": (
                                                      y
                                                    ) =>
                                                      (t.extraInputs[
                                                        r.display
                                                      ] = y),
                                                    disabled:
                                                      t.selectedTemplate !==
                                                      r.display,
                                                  },
                                                  null,
                                                  8,
                                                  [
                                                    "modelValue",
                                                    "onUpdate:modelValue",
                                                    "disabled",
                                                  ]
                                                ),
                                              ]),
                                              _: 2,
                                            },
                                            1024
                                          ),
                                        ],
                                        512
                                      ),
                                      [
                                        [
                                          e.vShow,
                                          t.selectedTemplate === r.display &&
                                            r.extra,
                                        ],
                                      ]
                                    ),
                                  ]
                                )
                              );
                            }),
                            128
                          )),
                        ]
                      )
                    )
                  ),
                  128
                )),
              ]),
            ]),
            _: 1,
          },
          8,
          ["open", "primary-action", "onPrimary", "onDefault"]
        )
      );
    }
    const oe = te(ee, [["render", le]]),
      h = {
        bandeaux: {
          id: "c-helper-codex-bandeaux",
          title: "Apposer des bandeaux de maintenance",
          label: "Bandeaux",
        },
        messages: {
          id: "c-helper-codex-messages",
          title: "Laisser un message sur la pdd de l'utilisateur",
          label: "Message",
        },
      };
    function b(t, a, s = !1) {
      const l = window
          .$("<li>")
          .addClass(s ? "toggle-list-item mw-list-item-js" : "mw-list-item")
          .attr("id", t.id),
        d = window
          .$("<a>")
          .addClass(s ? "toggle-list-item__anchor" : "")
          .attr({ href: "#", title: t.title })
          .on("click", (m) => {
            m.preventDefault(), a();
          });
      return (
        s
          ? d.append(
              window.$("<span>").addClass("minerva-icon"),
              window
                .$("<span>")
                .addClass("toggle-list-item__label")
                .text(t.label)
            )
          : d.text(t.label),
        l.append(d)
      );
    }
    function ne() {
      const t = mw.config.get("skin"),
        a = mw.config.get("wgNamespaceNumber"),
        s = {
          bandeaux: () => e.createApp(K).mount("#app-bandeaux"),
          messages: () => e.createApp(oe).mount("#app-messages"),
        };
      if (t === "minerva") {
        const l = window.$(".page-actions-overflow-list");
        if (!l.length) return;
        switch (a) {
          case 0:
            l.append(b(h.bandeaux, s.bandeaux, !0));
            break;
          case 1:
            l.append(b(h.messages, s.messages, !0));
            break;
          case 2:
            l.append(
              b(h.bandeaux, s.bandeaux, !0),
              b(h.messages, s.messages, !0)
            );
            break;
          case 3:
            l.append(b(h.messages, s.messages, !0));
            break;
        }
      } else {
        const l = window.$("#p-cactions");
        if (!l.length) return;
        const d = l.clone(),
          m = d.find("ul");
        switch (
          (d
            .removeAttr("id")
            .addClass("vector-menu")
            .attr("title", "C-helper")
            .find(".vector-menu-heading")
            .text("Č (version Codex)"),
          m.empty(),
          a)
        ) {
          case 0:
            m.append(b(h.bandeaux, s.bandeaux));
            break;
          case 1:
            m.append(b(h.messages, s.messages));
            break;
          case 2:
            m.append(b(h.bandeaux, s.bandeaux), b(h.messages, s.messages));
            break;
          case 3:
            m.append(b(h.messages, s.messages));
            break;
        }
        m.children().length && d.insertAfter(l);
      }
    }
    function B() {
      window.$("#app-bandeaux, #app-messages").length ||
        mw.config.get("wgNamespaceNumber") < 0 ||
        (window.$('<div id="app-bandeaux">').insertBefore("#mw-content-text"),
        window.$('<div id="app-messages">').insertBefore("#mw-content-text"),
        ne());
    }
    document.readyState === "loading"
      ? document.addEventListener("DOMContentLoaded", B)
      : B();
    (function () {
      "use strict";
      mw.util
        .addCSS(`.bandeaux-manager{max-height:70vh;overflow-y:auto;padding:1em}.search-section{position:sticky;top:0;background-color:var(--background-color-base);padding:1em 0;margin:-1em -1em 1em;z-index:2}.search-input{padding:0 1em}.selected-bandeaux{margin-bottom:1.5em}.group-label{font-weight:700;color:var(--color-subtle);margin:1em 0 .5em}.bandeau-group{margin-bottom:1em}.bandeau-item{padding:.5em 0}.input-field{margin:.5em 0 .5em 1.5em}.selection-list{font-size:.875em;line-height:1.25}.message-manager{max-height:70vh;overflow-y:auto;padding:1em}.subst-section{margin-bottom:1em}.message-group{margin-bottom:1.5em}.group-label{font-weight:700;margin-bottom:.5em;color:#54595d}.template-container{margin:.5em 0}.page-input-container,.extra-input{margin:.5em 0 .5em 1.5em}
/*$vite$:1*/`);
    })();
  }
);
// </nowiki>