// <nowiki>
// Note: This script was compiled and minified from TypeScript. For a more readable version, see https://github.com/Eejit43/wikipedia-scripts/blob/main/scripts/ajax-undo.ts
"use strict";mw.loader.using(["mediawiki.util"],()=>{const n=mw.config.get("wgDiffOldId");if(mw.config.get("wgAction")!=="history"&&!n)return;const a=mw.config.get("skin")==="minerva",d={awaitingClick:0,awaitingConfirmation:1,awaitingReload:2};mw.util.addCSS(`
#ajax-undo-loading {
display: none;
vertical-align: text-bottom;
height: 1.3em;
overflow: hidden;
line-height: 1.5em;
}
#ajax-undo-loading::after {
display: inline-table;
animation: ajax-undo-loading 0.8s steps(10) infinite;
content: "\u280B\\A\u2819\\A\u2839\\A\u2838\\A\u283C\\A\u2834\\A\u2826\\A\u2827\\A\u2807\\A\u280F";
color: gray;
text-align: left;
white-space: pre;
}
#ajax-undo-loading.is-diff {
height: 1.55em;
}
#ajax-undo-loading:not(.is-diff) {
margin: -0.3em 3px 0;
}
#ajax-undo-loading.is-minerva.is-diff {
margin: -0.2em 3px;
}
#ajax-undo-loading.is-minerva:not(.is-diff) {
float: right;
margin-top: 0px;
}
@keyframes ajax-undo-loading {
to {
transform: translateY(-15em);
}
}
#ajax-undo-reason {
display: none;
margin-left: 3px;
}
#ajax-undo-reason.is-minerva {
border: revert;
background: revert;
padding: revert;
}
#ajax-undo-reason.is-minerva:not(.is-diff) {
float: right;
height: 26px;
}`);for(const o of document.querySelectorAll(".mw-history-undo, .mw-diff-undo")){const m=o.querySelector("a");if(!m?.href){mw.notify("Could not find undo link!",{type:"error"});continue}const f=new URL(m.href),i=document.createElement("span");let s=d.awaitingClick;const t=document.createElement("a");t.textContent="ajax undo",t.href=f.href,a&&!n&&(t.style.marginLeft="1em"),t.addEventListener("click",async c=>{if(c.preventDefault(),s===d.awaitingClick)s=d.awaitingConfirmation,e.style.display="inline",e.focus(),t.textContent="confirm ajax undo";else if(s===d.awaitingConfirmation){s=d.awaitingReload,r.style.display="inline-block",t.style.color="gray",e.disabled=!0,a&&t.append(r);const u=f.searchParams.get("undo"),g=f.searchParams.get("undoafter");if(!u||!g)return mw.notify("Could not find undo parameters in URL!",{type:"error"});const l=o.closest(n?"td":"li")?.querySelector(".mw-userlink bdi")?.textContent;if(!l)return mw.notify("Could not find revision user!",{type:"error"});if(!await new mw.Api().postWithEditToken({action:"edit",title:mw.config.get("wgPageName"),undo:u,undoafter:g,summary:`Undid revision ${u} by [[Special:Contributions/${l}|${l}]] ([[User talk:${l}|talk]])${e.value?`: ${e.value}`:""}`}).catch((p,w)=>(mw.notify(`${w?.error.code??"Unknown error"} (${p})`,{type:"error"}),setTimeout(()=>window.___location.reload(),2e3),!1)))return;mw.notify("Revision successfully undone, reloading...",{type:"success"}),window.___location.reload()}}),n&&i.append(document.createTextNode("(")),i.append(t);const r=document.createElement("span");r.id="ajax-undo-loading",n&&r.classList.add("is-diff"),a&&r.classList.add("is-minerva"),a||i.append(r);const e=document.createElement("input");e.type="text",e.id="ajax-undo-reason",n&&e.classList.add("is-diff"),a&&e.classList.add("is-minerva"),e.placeholder="Insert reason here...",e.addEventListener("keydown",c=>{c.key==="Enter"&&t.click()}),a&&!n?i.prepend(e):i.append(e),n&&i.append(document.createTextNode(")")),n?(o.after(i),o.after(document.createTextNode(" "))):a?o.parentElement?.before(i):o.parentElement?.after(i)}});
// </nowiki>
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc2NyaXB0cy9hamF4LXVuZG8udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgTWVkaWFXaWtpRGF0YUVycm9yIH0gZnJvbSAnLi4vZ2xvYmFsLXR5cGVzJztcblxubXcubG9hZGVyLnVzaW5nKFsnbWVkaWF3aWtpLnV0aWwnXSwgKCkgPT4ge1xuICAgIGNvbnN0IGlzRGlmZiA9IG13LmNvbmZpZy5nZXQoJ3dnRGlmZk9sZElkJyk7XG5cbiAgICBpZiAobXcuY29uZmlnLmdldCgnd2dBY3Rpb24nKSAhPT0gJ2hpc3RvcnknICYmICFpc0RpZmYpIHJldHVybjtcblxuICAgIGNvbnN0IGlzTWluZXJ2YSA9IG13LmNvbmZpZy5nZXQoJ3NraW4nKSA9PT0gJ21pbmVydmEnO1xuXG4gICAgY29uc3QgU1RBR0VTID0ge1xuICAgICAgICBhd2FpdGluZ0NsaWNrOiAwLFxuICAgICAgICBhd2FpdGluZ0NvbmZpcm1hdGlvbjogMSxcbiAgICAgICAgYXdhaXRpbmdSZWxvYWQ6IDIsXG4gICAgfTtcblxuICAgIG13LnV0aWwuYWRkQ1NTKGBcbiNhamF4LXVuZG8tbG9hZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgaGVpZ2h0OiAxLjNlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuI2FqYXgtdW5kby1sb2FkaW5nOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgIGFuaW1hdGlvbjogYWpheC11bmRvLWxvYWRpbmcgMC44cyBzdGVwcygxMCkgaW5maW5pdGU7XG4gICAgY29udGVudDogXCJcdTI4MEJcXFxcQVx1MjgxOVxcXFxBXHUyODM5XFxcXEFcdTI4MzhcXFxcQVx1MjgzQ1xcXFxBXHUyODM0XFxcXEFcdTI4MjZcXFxcQVx1MjgyN1xcXFxBXHUyODA3XFxcXEFcdTI4MEZcIjtcbiAgICBjb2xvcjogZ3JheTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbiNhamF4LXVuZG8tbG9hZGluZy5pcy1kaWZmIHtcbiAgICBoZWlnaHQ6IDEuNTVlbTtcbn1cblxuI2FqYXgtdW5kby1sb2FkaW5nOm5vdCguaXMtZGlmZikge1xuICAgIG1hcmdpbjogLTAuM2VtIDNweCAwO1xufVxuXG4jYWpheC11bmRvLWxvYWRpbmcuaXMtbWluZXJ2YS5pcy1kaWZmIHtcbiAgICBtYXJnaW46IC0wLjJlbSAzcHg7XG59XG5cbiNhamF4LXVuZG8tbG9hZGluZy5pcy1taW5lcnZhOm5vdCguaXMtZGlmZikge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbkBrZXlmcmFtZXMgYWpheC11bmRvLWxvYWRpbmcge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNWVtKTtcbiAgICB9XG59XG5cbiNhamF4LXVuZG8tcmVhc29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbiNhamF4LXVuZG8tcmVhc29uLmlzLW1pbmVydmEge1xuICAgIGJvcmRlcjogcmV2ZXJ0O1xuICAgIGJhY2tncm91bmQ6IHJldmVydDtcbiAgICBwYWRkaW5nOiByZXZlcnQ7XG59XG5cbiNhamF4LXVuZG8tcmVhc29uLmlzLW1pbmVydmE6bm90KC5pcy1kaWZmKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGhlaWdodDogMjZweDtcbn1gKTtcblxuICAgIGZvciAoY29uc3QgdW5kb1NwYW4gb2YgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm13LWhpc3RvcnktdW5kbywgLm13LWRpZmYtdW5kbycpKSB7XG4gICAgICAgIGNvbnN0IHVuZG9MaW5rID0gdW5kb1NwYW4ucXVlcnlTZWxlY3RvcignYScpO1xuXG4gICAgICAgIGlmICghdW5kb0xpbms/LmhyZWYpIHtcbiAgICAgICAgICAgIG13Lm5vdGlmeSgnQ291bGQgbm90IGZpbmQgdW5kbyBsaW5rIScsIHsgdHlwZTogJ2Vycm9yJyB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdW5kb1VybCA9IG5ldyBVUkwodW5kb0xpbmsuaHJlZik7XG5cbiAgICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcblxuICAgICAgICBsZXQgc3RhZ2UgPSBTVEFHRVMuYXdhaXRpbmdDbGljaztcblxuICAgICAgICBjb25zdCBhamF4VW5kb0xpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgIGFqYXhVbmRvTGluay50ZXh0Q29udGVudCA9ICdhamF4IHVuZG8nO1xuICAgICAgICBhamF4VW5kb0xpbmsuaHJlZiA9IHVuZG9VcmwuaHJlZjtcbiAgICAgICAgaWYgKGlzTWluZXJ2YSAmJiAhaXNEaWZmKSBhamF4VW5kb0xpbmsuc3R5bGUubWFyZ2luTGVmdCA9ICcxZW0nO1xuICAgICAgICBhamF4VW5kb0xpbmsuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBhc3luYyAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgIGlmIChzdGFnZSA9PT0gU1RBR0VTLmF3YWl0aW5nQ2xpY2spIHtcbiAgICAgICAgICAgICAgICBzdGFnZSA9IFNUQUdFUy5hd2FpdGluZ0NvbmZpcm1hdGlvbjtcblxuICAgICAgICAgICAgICAgIHJlYXNvbklucHV0LnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lJztcbiAgICAgICAgICAgICAgICByZWFzb25JbnB1dC5mb2N1cygpO1xuXG4gICAgICAgICAgICAgICAgYWpheFVuZG9MaW5rLnRleHRDb250ZW50ID0gJ2NvbmZpcm0gYWpheCB1bmRvJztcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhZ2UgPT09IFNUQUdFUy5hd2FpdGluZ0NvbmZpcm1hdGlvbikge1xuICAgICAgICAgICAgICAgIHN0YWdlID0gU1RBR0VTLmF3YWl0aW5nUmVsb2FkO1xuICAgICAgICAgICAgICAgIGxvYWRpbmdTcGlubmVyLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICAgICAgICAgICAgICBhamF4VW5kb0xpbmsuc3R5bGUuY29sb3IgPSAnZ3JheSc7XG4gICAgICAgICAgICAgICAgcmVhc29uSW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgaWYgKGlzTWluZXJ2YSkgYWpheFVuZG9MaW5rLmFwcGVuZChsb2FkaW5nU3Bpbm5lcik7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB1bmRvSWQgPSB1bmRvVXJsLnNlYXJjaFBhcmFtcy5nZXQoJ3VuZG8nKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1bmRvQWZ0ZXIgPSB1bmRvVXJsLnNlYXJjaFBhcmFtcy5nZXQoJ3VuZG9hZnRlcicpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF1bmRvSWQgfHwgIXVuZG9BZnRlcikgcmV0dXJuIG13Lm5vdGlmeSgnQ291bGQgbm90IGZpbmQgdW5kbyBwYXJhbWV0ZXJzIGluIFVSTCEnLCB7IHR5cGU6ICdlcnJvcicgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCByZXZpc2lvblVzZXIgPSB1bmRvU3Bhbi5jbG9zZXN0KGlzRGlmZiA/ICd0ZCcgOiAnbGknKT8ucXVlcnlTZWxlY3RvcignLm13LXVzZXJsaW5rIGJkaScpPy50ZXh0Q29udGVudDtcblxuICAgICAgICAgICAgICAgIGlmICghcmV2aXNpb25Vc2VyKSByZXR1cm4gbXcubm90aWZ5KCdDb3VsZCBub3QgZmluZCByZXZpc2lvbiB1c2VyIScsIHsgdHlwZTogJ2Vycm9yJyB9KTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBhd2FpdCBuZXcgbXcuQXBpKClcbiAgICAgICAgICAgICAgICAgICAgLnBvc3RXaXRoRWRpdFRva2VuKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogJ2VkaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6IG13LmNvbmZpZy5nZXQoJ3dnUGFnZU5hbWUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZG86IHVuZG9JZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHVuZG9hZnRlcjogdW5kb0FmdGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogYFVuZGlkIHJldmlzaW9uICR7dW5kb0lkfSBieSBbW1NwZWNpYWw6Q29udHJpYnV0aW9ucy8ke3JldmlzaW9uVXNlcn18JHtyZXZpc2lvblVzZXJ9XV0gKFtbVXNlciB0YWxrOiR7cmV2aXNpb25Vc2VyfXx0YWxrXV0pJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFzb25JbnB1dC52YWx1ZSA/IGA6ICR7cmVhc29uSW5wdXQudmFsdWV9YCA6ICcnXG4gICAgICAgICAgICAgICAgICAgICAgICB9YCxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvckNvZGU6IHN0cmluZywgZXJyb3JJbmZvOiBNZWRpYVdpa2lEYXRhRXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG13Lm5vdGlmeShgJHtlcnJvckluZm8/LmVycm9yLmNvZGUgPz8gJ1Vua25vd24gZXJyb3InfSAoJHtlcnJvckNvZGV9KWAsIHsgdHlwZTogJ2Vycm9yJyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpLCAyMDAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXN1Y2Nlc3MpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIG13Lm5vdGlmeSgnUmV2aXNpb24gc3VjY2Vzc2Z1bGx5IHVuZG9uZSwgcmVsb2FkaW5nLi4uJywgeyB0eXBlOiAnc3VjY2VzcycgfSk7XG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoaXNEaWZmKSBzcGFuLmFwcGVuZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnKCcpKTtcbiAgICAgICAgc3Bhbi5hcHBlbmQoYWpheFVuZG9MaW5rKTtcblxuICAgICAgICBjb25zdCBsb2FkaW5nU3Bpbm5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgbG9hZGluZ1NwaW5uZXIuaWQgPSAnYWpheC11bmRvLWxvYWRpbmcnO1xuICAgICAgICBpZiAoaXNEaWZmKSBsb2FkaW5nU3Bpbm5lci5jbGFzc0xpc3QuYWRkKCdpcy1kaWZmJyk7XG4gICAgICAgIGlmIChpc01pbmVydmEpIGxvYWRpbmdTcGlubmVyLmNsYXNzTGlzdC5hZGQoJ2lzLW1pbmVydmEnKTtcblxuICAgICAgICBpZiAoIWlzTWluZXJ2YSkgc3Bhbi5hcHBlbmQobG9hZGluZ1NwaW5uZXIpO1xuXG4gICAgICAgIGNvbnN0IHJlYXNvbklucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgcmVhc29uSW5wdXQudHlwZSA9ICd0ZXh0JztcbiAgICAgICAgcmVhc29uSW5wdXQuaWQgPSAnYWpheC11bmRvLXJlYXNvbic7XG4gICAgICAgIGlmIChpc0RpZmYpIHJlYXNvbklucHV0LmNsYXNzTGlzdC5hZGQoJ2lzLWRpZmYnKTtcbiAgICAgICAgaWYgKGlzTWluZXJ2YSkgcmVhc29uSW5wdXQuY2xhc3NMaXN0LmFkZCgnaXMtbWluZXJ2YScpO1xuICAgICAgICByZWFzb25JbnB1dC5wbGFjZWhvbGRlciA9ICdJbnNlcnQgcmVhc29uIGhlcmUuLi4nO1xuICAgICAgICByZWFzb25JbnB1dC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSBhamF4VW5kb0xpbmsuY2xpY2soKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGlzTWluZXJ2YSAmJiAhaXNEaWZmKSBzcGFuLnByZXBlbmQocmVhc29uSW5wdXQpO1xuICAgICAgICBlbHNlIHNwYW4uYXBwZW5kKHJlYXNvbklucHV0KTtcblxuICAgICAgICBpZiAoaXNEaWZmKSBzcGFuLmFwcGVuZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnKScpKTtcblxuICAgICAgICBpZiAoaXNEaWZmKSB7XG4gICAgICAgICAgICB1bmRvU3Bhbi5hZnRlcihzcGFuKTtcbiAgICAgICAgICAgIHVuZG9TcGFuLmFmdGVyKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcgJykpO1xuICAgICAgICB9IGVsc2UgaWYgKGlzTWluZXJ2YSkgdW5kb1NwYW4ucGFyZW50RWxlbWVudD8uYmVmb3JlKHNwYW4pO1xuICAgICAgICBlbHNlIHVuZG9TcGFuLnBhcmVudEVsZW1lbnQ/LmFmdGVyKHNwYW4pO1xuICAgIH1cbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7O2FBRUEsR0FBRyxPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRyxJQUFNLENBQ3RDLE1BQU1BLEVBQVMsR0FBRyxPQUFPLElBQUksYUFBYSxFQUUxQyxHQUFJLEdBQUcsT0FBTyxJQUFJLFVBQVUsSUFBTSxXQUFhLENBQUNBLEVBQVEsT0FFeEQsTUFBTUMsRUFBWSxHQUFHLE9BQU8sSUFBSSxNQUFNLElBQU0sVUFFdENDLEVBQVMsQ0FDWCxjQUFlLEVBQ2YscUJBQXNCLEVBQ3RCLGVBQWdCLENBQ3BCLEVBRUEsR0FBRyxLQUFLLE9BQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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Q2xEQSxFQUFZLEtBQU8sT0FDbkJBLEVBQVksR0FBSyxtQkFDYlYsR0FBUVUsRUFBWSxVQUFVLElBQUksU0FBUyxFQUMzQ1QsR0FBV1MsRUFBWSxVQUFVLElBQUksWUFBWSxFQUNyREEsRUFBWSxZQUFjLHdCQUMxQkEsRUFBWSxpQkFBaUIsVUFBWUQsR0FBVSxDQUMzQ0EsRUFBTSxNQUFRLFNBQVNELEVBQWEsTUFBTSxDQUNsRCxDQUFDLEVBRUdQLEdBQWEsQ0FBQ0QsRUFBUU0sRUFBSyxRQUFRSSxDQUFXLEVBQzdDSixFQUFLLE9BQU9JLENBQVcsRUFFeEJWLEdBQVFNLEVBQUssT0FBTyxTQUFTLGVBQWUsR0FBRyxDQUFDLEVBRWhETixHQUNBRyxFQUFTLE1BQU1HLENBQUksRUFDbkJILEVBQVMsTUFBTSxTQUFTLGVBQWUsR0FBRyxDQUFDLEdBQ3BDRixFQUFXRSxFQUFTLGVBQWUsT0FBT0csQ0FBSSxFQUNwREgsRUFBUyxlQUFlLE1BQU1HLENBQUksQ0FDM0MsQ0FDSixDQUFDIiwKICAibmFtZXMiOiBbImlzRGlmZiIsICJpc01pbmVydmEiLCAiU1RBR0VTIiwgInVuZG9TcGFuIiwgInVuZG9MaW5rIiwgInVuZG9VcmwiLCAic3BhbiIsICJzdGFnZSIsICJhamF4VW5kb0xpbmsiLCAiZXZlbnQiLCAicmVhc29uSW5wdXQiLCAibG9hZGluZ1NwaW5uZXIiLCAidW5kb0lkIiwgInVuZG9BZnRlciIsICJyZXZpc2lvblVzZXIiLCAiZXJyb3JDb2RlIiwgImVycm9ySW5mbyJdCn0K