Greasy Fork

Greasy Fork is available in English.

社会主义核心价值观(Core Socialist Values)

替换政治相关条幅为社会主义核心价值观,替换政治相关 Logo 颜色为中国红,去除政治相关通知,让技术远离政治。

目前为 2022-06-21 提交的版本,查看 最新版本

/*! For license information please see main.js.LICENSE.txt */
(()=>{"use strict";function e(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function t(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var r=function(){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t)}var r,i,n;return r=t,n=[{key:"replace",value:function(){"https://junit.org/junit5/"===location.href&&($(t.selectors.junitAbout).prevAll().remove(),$(t.selectors.junitLogo).attr("src",t.junitLogoUrl),$(t.selectors.junitFavicon).attr("href",t.junitLogoUrl))}}],(i=null)&&e(r.prototype,i),n&&e(r,n),Object.defineProperty(r,"prototype",{writable:!1}),t}();function i(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}t(r,"selectors",{reactBar:".css-lpiycv",junitAbout:"#about",junitLogo:'img[src="/junit5/assets/img/junit5-logo.png"]',junitFavicon:'link[rel="icon"]',codeceptBar:".sub-bar .message"}),t(r,"junitLogoUrl","https://raw.githubusercontent.com/duanluan/tampermonkey-scripts/main/core-socialist-values/src/junit/imgs/junit5-logo-csv.png");var n,a,o,l=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,n;return t=e,n=[{key:"replace",value:function(t,r){-1!=$(t).text().toLowerCase().indexOf("ukraine")&&(e.loopReplaceBar(t),new MutationObserver((function(r,i){e.loopReplaceBar(t)})).observe($(r)[0],{childList:!0}))}},{key:"loopReplaceBar",value:function(t){if($($(t)[0]).text().replace(/\s+/g,"")!==e.txt)var r=setInterval((function(){$($(t)[0]).text().replace(/\s+/g,"")===e.txt&&clearInterval(r),e.replaceBar(t)}),1e3)}},{key:"replaceBar",value:function(e){var t=".csv_bar",r=".csv_bar .csv_bar_ul";$(e).css({minHeight:"40px"}),$(e).html("\n    <div class=\"csv_bar\">\n      <ul class='csv_bar_ul'><li>富强</li><li>民主</li><li>文明</li><li>和谐</li><li>自由</li><li>平等</li><li>公正</li><li>法治</li><li>爱国</li><li>敬业</li><li>诚信</li><li>友善</li></ul><br>\n      <ul class='csv_bar_ul'><li>Prosperity</li><li>Democracy</li><li>Civility</li><li>Harmony</li><li>Freedom</li><li>Equality</li><li>Justice</li><li>Rule of law</li><li>Patriotism</li><li>Dedication</li><li>Integrity</li><li>Friendship</li>\n      </ul>\n    </div>");var i=$(t);2==i.length&&i.eq(0).remove(),$(r).css({display:"inline-block",listStyle:"none",margin:0,padding:0,width:"auto"}),$(r+" li").css({color:"#DE2910",fontWeight:"bold",fontFamily:"KaiTi",float:"left",paddingRight:"10px","min-width":"80px",textAlign:"center"}),$(r+":first").css("verticalAlign","bottom"),$(r+":first li").css("fontSize","18px"),$(r+":eq(1) li").css("fontSize","13px")}}],(r=null)&&i(t.prototype,r),n&&i(t,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();function c(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}o="富强民主文明和谐自由平等公正法治爱国敬业诚信友善ProsperityDemocracyCivilityHarmonyFreedomEqualityJusticeRuleoflawPatriotismDedicationIntegrityFriendship",(a="txt")in(n=l)?Object.defineProperty(n,a,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[a]=o;var s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,i;return t=e,i=[{key:"replace",value:function(){"reactjs.org"===location.host&&l.replace(e.selectors.bar,e.selectors.observingBar)}}],(r=null)&&c(t.prototype,r),i&&c(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function u(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(s,"selectors",{bar:".css-lpiycv",observingBar:"#gatsby-focus-wrapper"});var f=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,i;return t=e,i=[{key:"replace",value:function(){if("angular.io"===location.host&&!localStorage.getItem("aio-notification/war-ukraine")){var e=$(this.selectors.bar);e.length>0&&-1!=e.text().toLowerCase().indexOf("ukraine")&&$(this.selectors.dismissNotificationBtn)[0].click()}}}],(r=null)&&u(t.prototype,r),i&&u(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function b(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(f,"selectors",{bar:".mat-toolbar-row.notification-container",dismissNotificationBtn:'button[aria-label="Dismiss notification"]'});var p=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,i;return t=e,i=[{key:"replace",value:function(){"codecept.io"===location.host&&l.replace(e.selectors.bar,e.selectors.observingBar)}}],(r=null)&&b(t.prototype,r),i&&b(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function v(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(p,"selectors",{bar:".sub-bar .message",observingBar:"#app"});var y=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,i;return t=e,i=[{key:"replace",value:function(){if("https://github.com/"===location.href){var t=$(e.selectors.notice);t.length>0&&-1!=t.text().toLowerCase().indexOf("ukraine")&&t.remove()}}}],(r=null)&&v(t.prototype,r),i&&v(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();function g(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(y,"selectors",{notice:".border.js-notice"});var m=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r,i;return t=e,i=[{key:"replace",value:function(){"docs.nestjs.com"===location.host&&(l.replace(e.selectors.bar,e.selectors.observingBar),$(e.selectors.bar).css("padding","0"))}}],(r=null)&&g(t.prototype,r),i&&g(t,i),Object.defineProperty(t,"prototype",{writable:!1}),e}();!function(e,t,r){t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r}(m,"selectors",{bar:".top-bar",observingBar:".ng-star-inserted"}),s.replace(),f.replace(),r.replace(),p.replace(),y.replace(),m.replace()})// ==UserScript==
// @name         社会主义核心价值观(Core Socialist Values)
// @namespace    http://tampermonkey.net/
// @version      0.5.0
// @description  替换政治相关条幅为社会主义核心价值观,替换政治相关 Logo 颜色为中国红,去除政治相关通知,让技术远离政治。
// @author       duanluan
// @license      Apache 2.0
// @match        *://reactjs.org/*
// @match        *://angular.io/*
// @match        *://junit.org/*
// @match        *://codecept.io/*
// @match        *://github.com/*
// @match        *://docs.nestjs.com/*
// @icon         <$ICON$>
// @require      https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.slim.min.js
// @grant        none
// ==/UserScript==
();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QzNDLElBQU1pRCxFQUFVaEQsRUFBRStDLEVBQU85QyxVQUFVZ0QsUUFDL0JELEVBQVFkLE9BQVMsSUFBeUQsR0FBcERjLEVBQVFsQyxPQUFPQyxjQUFjQyxRQUFRLFlBQzdEZ0MsRUFBUTVDLHVHQVZLMkMsd1JBQUFBLEVBQUFBLFlBRUEsQ0FDakJFLE9BQVEsMEJDRFNILEVBQUFBLDJLQU9uQixXQUN3QixvQkFBbEJoRCxTQUFTdUMsT0FDWDFCLEVBQUlZLFFBQVF1QixFQUFTN0MsVUFBVXFDLElBQUtRLEVBQVM3QyxVQUFVc0MsY0FDdkR2QyxFQUFFOEMsRUFBUzdDLFVBQVVxQyxLQUFLUCxJQUFJLFVBQVcsbUdBVjFCZSxrSEFBQUEsRUFBQUEsWUFFQSxDQUNqQlIsSUFBSyxXQUNMQyxhQUFjLHNCQ0toQkgsRUFBTWIsVUFDTmlCLEVBQVFqQixVQUNSMUIsRUFBTTBCLFVBQ051QixFQUFTdkIsVUFDVHdCLEVBQU94QixVQUNQMkIsRUFBQUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90YW1wZXJtb25rZXktc2NyaXB0LXV0aWxzLy4vY29yZS1zb2NpYWxpc3QtdmFsdWVzL3NyYy9qdW5pdC9KdW5pdC50cyIsIndlYnBhY2s6Ly90YW1wZXJtb25rZXktc2NyaXB0LXV0aWxzLy4vY29yZS1zb2NpYWxpc3QtdmFsdWVzL3NyYy9jb21tb24vQmFyLnRzIiwid2VicGFjazovL3RhbXBlcm1vbmtleS1zY3JpcHQtdXRpbHMvLi9jb3JlLXNvY2lhbGlzdC12YWx1ZXMvc3JjL3JlYWN0L1JlYWN0LnRzIiwid2VicGFjazovL3RhbXBlcm1vbmtleS1zY3JpcHQtdXRpbHMvLi9jb3JlLXNvY2lhbGlzdC12YWx1ZXMvc3JjL2FuZ3VsYXIvQW5ndWxhci50cyIsIndlYnBhY2s6Ly90YW1wZXJtb25rZXktc2NyaXB0LXV0aWxzLy4vY29yZS1zb2NpYWxpc3QtdmFsdWVzL3NyYy9jb2RlY2VwdC9Db2RlY2VwdC50cyIsIndlYnBhY2s6Ly90YW1wZXJtb25rZXktc2NyaXB0LXV0aWxzLy4vY29yZS1zb2NpYWxpc3QtdmFsdWVzL3NyYy9naXRodWIvR2l0aHViLnRzIiwid2VicGFjazovL3RhbXBlcm1vbmtleS1zY3JpcHQtdXRpbHMvLi9jb3JlLXNvY2lhbGlzdC12YWx1ZXMvc3JjL25lc3QvTmVzdC50cyIsIndlYnBhY2s6Ly90YW1wZXJtb25rZXktc2NyaXB0LXV0aWxzLy4vY29yZS1zb2NpYWxpc3QtdmFsdWVzL3NyYy9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIEp1bml0IHtcblxuICBwcml2YXRlIHN0YXRpYyBzZWxlY3RvcnMgPSB7XG4gICAgcmVhY3RCYXI6ICcuY3NzLWxwaXljdicsXG4gICAganVuaXRBYm91dDogJyNhYm91dCcsXG4gICAganVuaXRMb2dvOiAnaW1nW3NyYz1cIi9qdW5pdDUvYXNzZXRzL2ltZy9qdW5pdDUtbG9nby5wbmdcIl0nLFxuICAgIGp1bml0RmF2aWNvbjogJ2xpbmtbcmVsPVwiaWNvblwiXScsXG4gICAgY29kZWNlcHRCYXI6ICcuc3ViLWJhciAubWVzc2FnZScsXG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBqdW5pdExvZ29VcmwgPSAnaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2R1YW5sdWFuL3RhbXBlcm1vbmtleS1zY3JpcHRzL21haW4vY29yZS1zb2NpYWxpc3QtdmFsdWVzL3NyYy9qdW5pdC9pbWdzL2p1bml0NS1sb2dvLWNzdi5wbmcnXG5cbiAgc3RhdGljIHJlcGxhY2UoKSB7XG4gICAgaWYgKGxvY2F0aW9uLmhyZWYgPT09ICdodHRwczovL2p1bml0Lm9yZy9qdW5pdDUvJykge1xuICAgICAgJChKdW5pdC5zZWxlY3RvcnMuanVuaXRBYm91dCkucHJldkFsbCgpLnJlbW92ZSgpO1xuICAgICAgJChKdW5pdC5zZWxlY3RvcnMuanVuaXRMb2dvKS5hdHRyKCdzcmMnLCBKdW5pdC5qdW5pdExvZ29VcmwpO1xuICAgICAgJChKdW5pdC5zZWxlY3RvcnMuanVuaXRGYXZpY29uKS5hdHRyKCdocmVmJywgSnVuaXQuanVuaXRMb2dvVXJsKTtcbiAgICB9XG4gIH1cbn0iLCJleHBvcnQgZGVmYXVsdCBjbGFzcyBCYXIge1xuXG4gIHN0YXRpYyByZXBsYWNlKHNlbGVjdG9yLCBvYnNlcnZpbmdTZWxlY3Rvcikge1xuICAgIGlmICgkKHNlbGVjdG9yKS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCd1a3JhaW5lJykgPT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgQmFyLmxvb3BSZXBsYWNlQmFyKHNlbGVjdG9yKTtcbiAgICAvLyDnm5HlkKzmnaHluYXlj5jljJbvvIzlj5jljJblkI7lho3mrKHmiafooYxcbiAgICBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zOiBNdXRhdGlvblJlY29yZFtdLCBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlcikgPT4ge1xuICAgICAgQmFyLmxvb3BSZXBsYWNlQmFyKHNlbGVjdG9yKTtcbiAgICB9KS5vYnNlcnZlKCQob2JzZXJ2aW5nU2VsZWN0b3IpWzBdLCB7Y2hpbGRMaXN0OiB0cnVlfSlcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHR4dCA9ICflr4zlvLrmsJHkuLvmlofmmI7lkozosJDoh6rnlLHlubPnrYnlhazmraPms5XmsrvniLHlm73mlazkuJror5rkv6Hlj4vlloRQcm9zcGVyaXR5RGVtb2NyYWN5Q2l2aWxpdHlIYXJtb255RnJlZWRvbUVxdWFsaXR5SnVzdGljZVJ1bGVvZmxhd1BhdHJpb3Rpc21EZWRpY2F0aW9uSW50ZWdyaXR5RnJpZW5kc2hpcCc7XG5cbiAgLy8g5b6q546v5pu/5o2i5p2h5bmFXG4gIHByaXZhdGUgc3RhdGljIGxvb3BSZXBsYWNlQmFyKHNlbGVjdG9yKSB7XG4gICAgaWYgKCQoJChzZWxlY3RvcilbMF0pLnRleHQoKS5yZXBsYWNlKC9cXHMrL2csIFwiXCIpID09PSBCYXIudHh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGlzU3RvcCA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICgkKCQoc2VsZWN0b3IpWzBdKS50ZXh0KCkucmVwbGFjZSgvXFxzKy9nLCBcIlwiKSA9PT0gQmFyLnR4dCkge1xuICAgICAgICBjbGVhckludGVydmFsKGlzU3RvcCk7XG4gICAgICB9XG4gICAgICBCYXIucmVwbGFjZUJhcihzZWxlY3Rvcik7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZXBsYWNlQmFyKHNlbGVjdG9yKSB7XG4gICAgY29uc3QgYmFyU2VsZWN0b3IgPSAnLmNzdl9iYXInLCBiYXJVbFNlbGVjdG9yID0gYmFyU2VsZWN0b3IgKyAnIC5jc3ZfYmFyX3VsJztcblxuICAgICQoc2VsZWN0b3IpLmNzcyh7J21pbkhlaWdodCc6ICc0MHB4J30pO1xuICAgICQoc2VsZWN0b3IpLmh0bWwoYFxuICAgIDxkaXYgY2xhc3M9XCJjc3ZfYmFyXCI+XG4gICAgICA8dWwgY2xhc3M9J2Nzdl9iYXJfdWwnPjxsaT7lr4zlvLo8L2xpPjxsaT7msJHkuLs8L2xpPjxsaT7mlofmmI48L2xpPjxsaT7lkozosJA8L2xpPjxsaT7oh6rnlLE8L2xpPjxsaT7lubPnrYk8L2xpPjxsaT7lhazmraM8L2xpPjxsaT7ms5Xmsrs8L2xpPjxsaT7niLHlm708L2xpPjxsaT7mlazkuJo8L2xpPjxsaT7or5rkv6E8L2xpPjxsaT7lj4vlloQ8L2xpPjwvdWw+PGJyPlxuICAgICAgPHVsIGNsYXNzPSdjc3ZfYmFyX3VsJz48bGk+UHJvc3Blcml0eTwvbGk+PGxpPkRlbW9jcmFjeTwvbGk+PGxpPkNpdmlsaXR5PC9saT48bGk+SGFybW9ueTwvbGk+PGxpPkZyZWVkb208L2xpPjxsaT5FcXVhbGl0eTwvbGk+PGxpPkp1c3RpY2U8L2xpPjxsaT5SdWxlIG9mIGxhdzwvbGk+PGxpPlBhdHJpb3Rpc208L2xpPjxsaT5EZWRpY2F0aW9uPC9saT48bGk+SW50ZWdyaXR5PC9saT48bGk+RnJpZW5kc2hpcDwvbGk+XG4gICAgICA8L3VsPlxuICAgIDwvZGl2PmApO1xuXG4gICAgLy8g6YG/5YWN5Ye6546w5aSa5Liq5a+86Ie05qC35byP5re75Yqg5aSx6LSlXG4gICAgY29uc3QgJGJhciA9ICQoYmFyU2VsZWN0b3IpO1xuICAgIGlmICgkYmFyLmxlbmd0aCA9PSAyKSB7XG4gICAgICAkYmFyLmVxKDApLnJlbW92ZSgpO1xuICAgIH1cblxuICAgICQoYmFyVWxTZWxlY3RvcikuY3NzKHsnZGlzcGxheSc6ICdpbmxpbmUtYmxvY2snLCAnbGlzdFN0eWxlJzogJ25vbmUnLCAnbWFyZ2luJzogMCwgJ3BhZGRpbmcnOiAwLCAnd2lkdGgnOiAnYXV0byd9KTtcbiAgICAkKGJhclVsU2VsZWN0b3IgKyAnIGxpJykuY3NzKHsnY29sb3InOiAnI0RFMjkxMCcsICdmb250V2VpZ2h0JzogJ2JvbGQnLCAnZm9udEZhbWlseSc6ICdLYWlUaScsICdmbG9hdCc6ICdsZWZ0JywgJ3BhZGRpbmdSaWdodCc6ICcxMHB4JywgJ21pbi13aWR0aCc6ICc4MHB4JywgJ3RleHRBbGlnbic6ICdjZW50ZXInfSk7XG4gICAgJChiYXJVbFNlbGVjdG9yICsgJzpmaXJzdCcpLmNzcygndmVydGljYWxBbGlnbicsICdib3R0b20nKTtcbiAgICAkKGJhclVsU2VsZWN0b3IgKyAnOmZpcnN0IGxpJykuY3NzKCdmb250U2l6ZScsICcxOHB4Jyk7XG4gICAgJChiYXJVbFNlbGVjdG9yICsgJzplcSgxKSBsaScpLmNzcygnZm9udFNpemUnLCAnMTNweCcpO1xuICB9XG59XG4iLCJpbXBvcnQgQmFyIGZyb20gXCIuLi9jb21tb24vQmFyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlYWN0IHtcblxuICBwcml2YXRlIHN0YXRpYyBzZWxlY3RvcnMgPSB7XG4gICAgYmFyOiAnLmNzcy1scGl5Y3YnLFxuICAgIG9ic2VydmluZ0JhcjogJyNnYXRzYnktZm9jdXMtd3JhcHBlcicsXG4gIH1cblxuICBzdGF0aWMgcmVwbGFjZSgpIHtcbiAgICBpZiAobG9jYXRpb24uaG9zdCA9PT0gJ3JlYWN0anMub3JnJykge1xuICAgICAgQmFyLnJlcGxhY2UoUmVhY3Quc2VsZWN0b3JzLmJhciwgUmVhY3Quc2VsZWN0b3JzLm9ic2VydmluZ0Jhcik7XG4gICAgfVxuICB9XG59IiwiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQW5ndWxhciB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0b3JzID0ge1xuICAgIGJhcjogJy5tYXQtdG9vbGJhci1yb3cubm90aWZpY2F0aW9uLWNvbnRhaW5lcicsXG4gICAgZGlzbWlzc05vdGlmaWNhdGlvbkJ0bjogJ2J1dHRvblthcmlhLWxhYmVsPVwiRGlzbWlzcyBub3RpZmljYXRpb25cIl0nLFxuICB9XG5cbiAgc3RhdGljIHJlcGxhY2UoKSB7XG4gICAgaWYgKGxvY2F0aW9uLmhvc3QgPT09ICdhbmd1bGFyLmlvJykge1xuICAgICAgLy8g5LiN5a2Y5Zyo5piv5ZCm5YWz6Zet6YCa55+l55qE5pys5Zyw5a2Y5YKo5pe2XG4gICAgICBpZiAoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhaW8tbm90aWZpY2F0aW9uL3dhci11a3JhaW5lJykpIHtcbiAgICAgICAgLy8g5aaC5p6c6YCa55+l5Lit5a2Y5Zyo5YWz6ZSu6K+NXG4gICAgICAgIGNvbnN0ICRiYXIgPSAkKHRoaXMuc2VsZWN0b3JzLmJhcik7XG4gICAgICAgIGlmICgkYmFyLmxlbmd0aCA+IDAgJiYgJGJhci50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCd1a3JhaW5lJykgIT0gLTEpIHtcbiAgICAgICAgICAvLyDngrnlh7vlhbPpl63pgJrnn6VcbiAgICAgICAgICAkKHRoaXMuc2VsZWN0b3JzLmRpc21pc3NOb3RpZmljYXRpb25CdG4pWzBdLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJpbXBvcnQgQmFyIGZyb20gXCIuLi9jb21tb24vQmFyXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvZGVjZXB0IHtcblxuICBzdGF0aWMgc2VsZWN0b3JzID0ge1xuICAgIGJhcjogJy5zdWItYmFyIC5tZXNzYWdlJyxcbiAgICBvYnNlcnZpbmdCYXI6ICcjYXBwJ1xuICB9XG5cbiAgc3RhdGljIHJlcGxhY2UoKSB7XG4gICAgaWYgKGxvY2F0aW9uLmhvc3QgPT09ICdjb2RlY2VwdC5pbycpIHtcbiAgICAgIEJhci5yZXBsYWNlKENvZGVjZXB0LnNlbGVjdG9ycy5iYXIsIENvZGVjZXB0LnNlbGVjdG9ycy5vYnNlcnZpbmdCYXIpO1xuICAgIH1cbiAgfVxufSIsImV4cG9ydCBkZWZhdWx0IGNsYXNzIEdpdGh1YiB7XG5cbiAgc3RhdGljIHNlbGVjdG9ycyA9IHtcbiAgICBub3RpY2U6ICcuYm9yZGVyLmpzLW5vdGljZSdcbiAgfVxuXG4gIHN0YXRpYyByZXBsYWNlKCkge1xuICAgIGlmIChsb2NhdGlvbi5ocmVmID09PSAnaHR0cHM6Ly9naXRodWIuY29tLycpIHtcbiAgICAgIGNvbnN0ICRub3RpY2UgPSAkKEdpdGh1Yi5zZWxlY3RvcnMubm90aWNlKTtcbiAgICAgIGlmICgkbm90aWNlLmxlbmd0aCA+IDAgJiYgJG5vdGljZS50ZXh0KCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCd1a3JhaW5lJykgIT0gLTEpIHtcbiAgICAgICAgJG5vdGljZS5yZW1vdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsImltcG9ydCBCYXIgZnJvbSBcIi4uL2NvbW1vbi9CYXJcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29kZWNlcHQge1xuXG4gIHN0YXRpYyBzZWxlY3RvcnMgPSB7XG4gICAgYmFyOiAnLnRvcC1iYXInLFxuICAgIG9ic2VydmluZ0JhcjogJy5uZy1zdGFyLWluc2VydGVkJ1xuICB9XG5cbiAgc3RhdGljIHJlcGxhY2UoKSB7XG4gICAgaWYgKGxvY2F0aW9uLmhvc3QgPT09ICdkb2NzLm5lc3Rqcy5jb20nKSB7XG4gICAgICBCYXIucmVwbGFjZShDb2RlY2VwdC5zZWxlY3RvcnMuYmFyLCBDb2RlY2VwdC5zZWxlY3RvcnMub2JzZXJ2aW5nQmFyKTtcbiAgICAgICQoQ29kZWNlcHQuc2VsZWN0b3JzLmJhcikuY3NzKCdwYWRkaW5nJywgJzAnKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIOabv+aNouWQjueahOadoeW5heWOu+mZpOepuuagvOaNouihjOWQjueahOaWh+acrFxuaW1wb3J0IEp1bml0IGZyb20gXCIuL2p1bml0L0p1bml0XCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcIi4vcmVhY3QvUmVhY3RcIjtcbmltcG9ydCBBbmd1bGFyIGZyb20gXCIuL2FuZ3VsYXIvQW5ndWxhclwiO1xuaW1wb3J0IENvZGVjZXB0IGZyb20gXCIuL2NvZGVjZXB0L0NvZGVjZXB0XCI7XG5pbXBvcnQgR2l0aHViIGZyb20gXCIuL2dpdGh1Yi9HaXRodWJcIjtcbmltcG9ydCBOZXN0IGZyb20gXCIuL25lc3QvTmVzdFwiO1xuXG4oKCkgPT4ge1xuICAndXNlIHN0cmljdCc7XG5cbiAgUmVhY3QucmVwbGFjZSgpO1xuICBBbmd1bGFyLnJlcGxhY2UoKTtcbiAgSnVuaXQucmVwbGFjZSgpO1xuICBDb2RlY2VwdC5yZXBsYWNlKCk7XG4gIEdpdGh1Yi5yZXBsYWNlKCk7XG4gIE5lc3QucmVwbGFjZSgpO1xufSkoKTtcblxuLy8gPT1Vc2VyU2NyaXB0PT1cbi8vIEBuYW1lICAgICAgICAg56S+5Lya5Li75LmJ5qC45b+D5Lu35YC86KeC77yIQ29yZSBTb2NpYWxpc3QgVmFsdWVz77yJXG4vLyBAbmFtZXNwYWNlICAgIGh0dHA6Ly90YW1wZXJtb25rZXkubmV0L1xuLy8gQHZlcnNpb24gICAgICAwLjUuMFxuLy8gQGRlc2NyaXB0aW9uICDmm7/mjaLmlL/msrvnm7jlhbPmnaHluYXkuLrnpL7kvJrkuLvkuYnmoLjlv4Pku7flgLzop4LvvIzmm7/mjaLmlL/msrvnm7jlhbMgTG9nbyDpopzoibLkuLrkuK3lm73nuqLvvIzljrvpmaTmlL/msrvnm7jlhbPpgJrnn6XvvIzorqnmioDmnK/ov5znprvmlL/msrvjgIJcbi8vIEBhdXRob3IgICAgICAgZHVhbmx1YW5cbi8vIEBsaWNlbnNlICAgICAgQXBhY2hlIDIuMFxuLy8gQG1hdGNoICAgICAgICAqOi8vcmVhY3Rqcy5vcmcvKlxuLy8gQG1hdGNoICAgICAgICAqOi8vYW5ndWxhci5pby8qXG4vLyBAbWF0Y2ggICAgICAgICo6Ly9qdW5pdC5vcmcvKlxuLy8gQG1hdGNoICAgICAgICAqOi8vY29kZWNlcHQuaW8vKlxuLy8gQG1hdGNoICAgICAgICAqOi8vZ2l0aHViLmNvbS8qXG4vLyBAbWF0Y2ggICAgICAgICo6Ly9kb2NzLm5lc3Rqcy5jb20vKlxuLy8gQGljb24gICAgICAgICA8JElDT04kPlxuLy8gQHJlcXVpcmUgICAgICBodHRwczovL2Nkbi5ib290Y2RuLm5ldC9hamF4L2xpYnMvanF1ZXJ5LzMuNi4wL2pxdWVyeS5zbGltLm1pbi5qc1xuLy8gQGdyYW50ICAgICAgICBub25lXG4vLyA9PS9Vc2VyU2NyaXB0PT1cbiJdLCJuYW1lcyI6WyJKdW5pdCIsImxvY2F0aW9uIiwiaHJlZiIsIiQiLCJzZWxlY3RvcnMiLCJqdW5pdEFib3V0IiwicHJldkFsbCIsInJlbW92ZSIsImp1bml0TG9nbyIsImF0dHIiLCJqdW5pdExvZ29VcmwiLCJqdW5pdEZhdmljb24iLCJyZWFjdEJhciIsImNvZGVjZXB0QmFyIiwiQmFyIiwic2VsZWN0b3IiLCJvYnNlcnZpbmdTZWxlY3RvciIsInRleHQiLCJ0b0xvd2VyQ2FzZSIsImluZGV4T2YiLCJsb29wUmVwbGFjZUJhciIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJtdXRhdGlvbnMiLCJvYnNlcnZlciIsIm9ic2VydmUiLCJjaGlsZExpc3QiLCJyZXBsYWNlIiwidHh0IiwiaXNTdG9wIiwic2V0SW50ZXJ2YWwiLCJjbGVhckludGVydmFsIiwicmVwbGFjZUJhciIsImJhclNlbGVjdG9yIiwiYmFyVWxTZWxlY3RvciIsImNzcyIsImh0bWwiLCIkYmFyIiwibGVuZ3RoIiwiZXEiLCJSZWFjdCIsImhvc3QiLCJiYXIiLCJvYnNlcnZpbmdCYXIiLCJBbmd1bGFyIiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInRoaXMiLCJkaXNtaXNzTm90aWZpY2F0aW9uQnRuIiwiY2xpY2siLCJDb2RlY2VwdCIsIkdpdGh1YiIsIiRub3RpY2UiLCJub3RpY2UiLCJOZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==