मीडियाविकि:Gadget-XFDcloser-core-beta.js

सूचना: सम्पादनहरू प्रकाशित गरेपछि, परिवर्तनहरू हेर्नको लागि तपाईंले आफ्नो ब्राउजरको क्यासलाई बाइपास गर्नुपर्छ। गुगल क्रोम, फायरफक्स, माइक्रोसफ्ट एजसफारी: Shift कुञ्जी थिचिराखेर रिलोड उपकरणपट्टी बटनमा थिच्नुहोस्।
/*  _______________________________________________________________________________
 * |                                                                               |
 * |                     === WARNING: GLOBAL GADGET FILE ===                       |
 * |                   Changes to this page affect many users.                     |
 * |  Please discuss changes on the talk page or on [[WT:Gadget]] before editing.  |
 * |_______________________________________________________________________________|
 * 
 * Built from source code at GitHub repository [https://github.com/wikimedia-gadgets/xfdcloser]
 * All changes should be made in the repository, otherwise they will be lost.
 * 
 * To update this script from github, you must have a local repository set up. Then
 * follow the instructions at [https://github.com/wikimedia-gadgets/xfdcloser/blob/master/README.md]
 * 
 * XFDcloser: close deletion discussions at XfD venues, including actions to implement closes; see [[WP:XFDC]]
 * Author: Evad37
 * Licencing and attribution: [[WP:XFDC#Licencing and attribution]]
 */
/* jshint esversion: 5, esnext:false, laxbreak: true, undef: true, eqnull: true, maxerr: 3000 */
/* globals console, document, window, $, mw, OO */
/* <nowiki> */
!function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){return o(e[i][1][r]||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}({1:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mw=exports.OO=exports.$=void 0;var $=window.$;exports.$=$;var mw=window.mw;exports.mw=mw;var OO=window.OO;exports.OO=OO},{}],2:[function(require,module,exports){module.exports={name:"xfdcloser",version:"4.0.9",description:"Wikipedia userscript that helps assess pages for WikiProjects",homepage:"https://github.com/wikimedia-gadgets/xfdcloser",browser:"index.js",scripts:{test:"npm run globals:node && mocha --require @babel/register --reporter list && npm run globals:window","test:all":"node bin/testall && npm run test","test:delay":"mocha --delay --require @babel/register --reporter list","lint:es5":'jshint "dist/loader-dev.js" "dist/loader-gadget.js"',"lint:es5:dev":'jshint "dist/loader-dev.js"',"lint:css":'stylelint "styles-src/**/*.css" --fix',"lint:es6":'eslint "xfdcloser-src/**/*.js" "test/*" --fix',"lint:bin":'eslint "bin/*.js" --fix --env node',lint:"npm run lint:es6 && npm run lint:es5 && npm run lint:css","lint:dev":"npm run lint:es6 && npm run lint:es5:dev && npm run lint:css","globals:node":'concat-cli -f "globals-src/comment.js" "globals-src/node.js" -o "globals.js"',"globals:window":'concat-cli -f "globals-src/comment.js" "globals-src/window.js" -o "globals.js"',"build:loader:dev":'concat-cli -f "loader-src/loader-dev-top.js.txt" "loader-src/loader-core.js.txt" "loader-src/loader-dev-bottom.js.txt" -o dist/loader-dev.js',"build:loader:gadget":'concat-cli -f "core-comment-top.js" "loader-src/loader-gadget-top.js.txt" "loader-src/loader-core.js.txt" "loader-src/loader-gadget-bottom.js.txt" "core-comment-bottom.js" -o dist/loader-gadget.js',"build:loader":"npm run build:loader:dev && npm run build:loader:gadget","build:bundle":"browserify xfdcloser-src/App.js --debug -t babelify --outfile dist/core.js","build:minify":"uglifyjs dist/core.js --compress -b ascii_only=true,beautify=false --output dist/core.min.js","build:concat":'concat-cli -f "core-comment-top.js" dist/core.min.js "core-comment-bottom.js" -o dist/core-gadget.js',"build:css":'concat-cli -f "core-comment-top.js" "styles-src/styles.css" "core-comment-bottom.js" -o dist/styles-gadget.css',build:"npm run globals:window && npm run build:loader && npm run lint && npm run test:all && npm run build:css && npm run build:bundle && npm run build:minify && npm run build:concat","build:dev":"npm run globals:window && npm run build:loader:dev && npm run lint:dev && npm run test:all && npm run build:bundle ","build:quickdev":"npm run globals:window && npm run build:loader:dev && npm run build:bundle "},author:{name:"Evad37",url:"https://en.wikipedia.org/wiki/User:Evad37"},repository:{type:"git",url:"https://github.com/wikimedia-gadgets/xfdcloser.git"},license:"(MIT OR CC-BY-4.0)",devDependencies:{"@babel/core":"^7.9.0","@babel/plugin-proposal-class-properties":"^7.8.3","@babel/preset-env":"^7.9.0","@babel/register":"^7.9.0","babel-eslint":"^10.1.0",babelify:"^10.0.0",browserify:"^16.5.0","concat-cli":"^4.0.0",eslint:"^6.5.1",jquery:"^3.5.1",jsdom:"^16.2.2",jshint:"^2.10.2","mediawiki-title":"^0.7.2",mocha:"^7.1.2",mwn:"^0.8.3",oojs:"^5.0.0","prompt-sync":"^4.2.0","replace-in-file":"^6.0.0",stylelint:"^13.3.3","stylelint-config-standard":"^20.0.0","uglify-js":"^3.8.0"}}},{}],3:[function(require,module,exports){"use strict";var _globals=require("../globals"),_config=_interopRequireDefault(require("./config")),_ShowHideTag=_interopRequireDefault(require("./ShowHideTag")),_windowSetManager=_interopRequireDefault(require("./windowSetManager")),_DiscussionView=_interopRequireDefault(require("./Views/DiscussionView"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _createForOfIteratorHelper(o){if("undefined"==typeof Symbol||null==o[Symbol.iterator]){if(Array.isArray(o)||(o=function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(o))){var i=0,F=function(){};return{s:F,n:function(){return i>=o.length?{done:!0}:{done:!1,value:o[i++]}},e:function(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var it,err,normalCompletion=!0,didErr=!1;return{s:function(){it=o[Symbol.iterator]()},n:function(){var step=it.next();return normalCompletion=step.done,step},e:function(_e2){didErr=!0,err=_e2},f:function(){try{normalCompletion||null==it.return||it.return()}finally{if(didErr)throw err}}}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}!function(){if(_config.default.mw.wgUserGroups.includes("extendedconfirmed")||_config.default.mw.wgUserGroups.includes("sysop")||"testwiki"===_config.default.mw.wgDBname)if((0,_globals.$)(window).on("beforeunload",function(e){if(_windowSetManager.default.hasOpenWindows())return e.returnValue=""}),_globals.mw.util.addPortletLink("p-cactions","#","XFDC prefs","p-xfdc-prefs","XFDcloser preferences"),(0,_globals.$)("#p-xfdc-prefs").click(function(e){e.preventDefault(),_windowSetManager.default.openWindow("prefs",{userIsSysop:_config.default.user.isSysop})}),0===_config.default.mw.wgArticleId)_globals.mw.util.addPortletLink("p-cactions","#","XFDC Unlink","p-xfdc-unlink","Unlink backlinks using XFDcloser"),(0,_globals.$)("#p-xfdc-unlink").click(function(e){e.preventDefault();var comment="",$commentEl=(0,_globals.$)(".mw-logline-delete").first().find(".comment").first();if($commentEl.length){var _step,_iterator=_createForOfIteratorHelper($commentEl.get()[0].childNodes);try{for(_iterator.s();!(_step=_iterator.n()).done;){var child=_step.value;if("A"==child.nodeName){var target=child.href.replace(/^.*?\/wiki\//,"").replace(/_/g," "),label=child.textContent;comment+=target===label?"[[".concat(label,"]]"):"[[".concat(target,"|").concat(label,"]]")}else comment+=child.nodeValue}}catch(err){_iterator.e(err)}finally{_iterator.f()}comment=comment.replace(/ \(\[\[Wikipedia:XFDC(#[\d.]+)?|XFDcloser]]\)/,"").slice(1,-1)}_windowSetManager.default.openWindow("unlink",{summary:comment,pageName:_config.default.mw.wgPageName})});else{var showHide=1<(0,_globals.$)("#mw-content-text "+_config.default.xfd.html.head).length&&_ShowHideTag.default.initialiseNewTag();(0,_globals.$)(_config.default.xfd.html.head+" > span.mw-headline").not(".XFDcloser-ignore").each(function(index){try{var discussionView=_DiscussionView.default.newFromHeadline({headingIndex:index,context:this,venue:_config.default.venue,currentPageName:_config.default.mw.wgPageName,userIsSysop:_config.default.user.isSysop});discussionView&&_config.default.isMobileSite?(0,_globals.$)(this).parent().next().prepend(discussionView.$element):discussionView&&(0,_globals.$)(this).after(discussionView.$element)}catch(e){console.warn("[XFDcloser] Could not retrieve page info for "+(0,_globals.$)(this).text(),e)}}),showHide&&showHide.isHidden&&showHide.hideClosed()}}()},{"../globals":1,"./ShowHideTag":61,"./Views/DiscussionView":64,"./config":81,"./windowSetManager":86}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function LookupMenuSelectWidget(config){config=config||{},LookupMenuSelectWidget.super.call(this,config)}_globals.OO.inheritClass(LookupMenuSelectWidget,_globals.OO.ui.MenuSelectWidget),LookupMenuSelectWidget.prototype.getItemMatcher=function(s,exact){var re;return s.normalize&&(s=s.normalize()),s=exact?s.trim():s.replace(/^\s+/,""),re=s.replace(/([\\{}()|.?*+\-^$[\]])/g,"\\$1").replace(/\s+/g,"\\s+"),exact&&(re="^\\s*"+re+"\\s*$"),re=new RegExp(re,"i"),function(item){var matchText=item.getMatchText();return matchText.normalize&&(matchText=matchText.normalize()),re.test(matchText)}};var _default=LookupMenuSelectWidget;exports.default=_default},{"../../globals":1}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_LookupMenuSelectWidget=(obj=require("./LookupMenuSelectWidget"))&&obj.__esModule?obj:{default:obj};function LookupMenuTagMultiselectWidget(config){config=config||{},LookupMenuTagMultiselectWidget.super.call(this,config),this.menu=new _LookupMenuSelectWidget.default(_globals.$.extend({widget:this,input:this.hasInput?this.input:null,$input:this.hasInput?this.input.$input:null,filterFromInput:!!this.hasInput,$autoCloseIgnore:this.hasInput?this.input.$element:(0,_globals.$)([]),$floatableContainer:this.hasInput&&"outline"===this.inputPosition?this.input.$element:this.$element,$overlay:this.$overlay,disabled:this.isDisabled(),multiselect:!0},config.menu)),this.menu.connect(this,{choose:"onMenuChoose",toggle:"onMenuToggle"}),this.hasInput&&this.input.connect(this,{change:"onInputChange"}),this.$input&&(this.$input.prop("disabled",this.isDisabled()),this.$input.attr({role:"combobox","aria-owns":this.menu.getElementId(),"aria-autocomplete":"list"})),this.popup||(this.$content.append(this.$input),this.$overlay.append(this.menu.$element))}_globals.OO.inheritClass(LookupMenuTagMultiselectWidget,_globals.OO.ui.MenuTagMultiselectWidget);var _default=LookupMenuTagMultiselectWidget;exports.default=_default},{"../../globals":1,"./LookupMenuSelectWidget":4}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function NoteWidget(config){NoteWidget.super.call(this,config),this.title=new _globals.OO.ui.LabelWidget({label:(0,_globals.$)("<strong>").text(config.title)}),this.noteContent=new _globals.OO.ui.LabelWidget({label:(0,_globals.$)("<div>").append(config.noteContent),$element:(0,_globals.$)("<label style='display:block'>")}),this.noteContent.toggle(!1),this.showButton=new _globals.OO.ui.ButtonWidget({label:"[show]",framed:!1}),this.showButton.$element.find("a").css("font-weight","normal"),this.hideButton=new _globals.OO.ui.ButtonWidget({label:"[hide]",framed:!1}),this.hideButton.$element.find("a").css("font-weight","normal"),this.hideButton.toggle(!1),this.showHideButtonGroup=new _globals.OO.ui.ButtonGroupWidget({items:[this.showButton,this.hideButton],$element:(0,_globals.$)("<div style='margin-left:2em;'>")}),this.$element.css({border:"1px dashed #888"}).append(this.title.$element,this.showHideButtonGroup.$element,this.noteContent.$element),this.showButton.connect(this,{click:["emit","expand"]}),this.hideButton.connect(this,{click:["emit","unexpand"]})}_globals.OO.inheritClass(NoteWidget,_globals.OO.ui.Widget),NoteWidget.prototype.setExpanded=function(expand){this.showButton.toggle(!expand),this.hideButton.toggle(!!expand),this.noteContent.toggle(!!expand)};var _default=NoteWidget;exports.default=_default},{"../../globals":1}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function ScrolledMessageDialog(config){ScrolledMessageDialog.super.call(this,config)}_globals.OO.inheritClass(ScrolledMessageDialog,_globals.OO.ui.MessageDialog),ScrolledMessageDialog.prototype.getReadyProcess=function(data){data=data||{};var $frameEl=this.$element.find(".oo-ui-window-frame");return ScrolledMessageDialog.super.prototype.getReadyProcess.call(this,data).next(function(){var scrollBy=data.scrollBy||0;$frameEl.css("transform","translate(0px, ".concat(scrollBy,"px)")),window.scrollTo(0,scrollBy)})};var _default=ScrolledMessageDialog;exports.default=_default},{"../../globals":1}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_api=_interopRequireDefault(require("../api")),_util=require("../util"),_MainWindowModel=_interopRequireDefault(require("../Models/MainWindowModel")),_windowSetManager=_interopRequireDefault(require("../windowSetManager"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var _default=function(){function DiscussionViewController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,DiscussionViewController),this.model=model,this.statusLabel=widget.statusLabel,this.buttonGroup=widget.buttonGroup,this.closeButton=widget.closeButton,this.relistButton=widget.relistButton,this.quickCloseButton=widget.quickCloseButtonMenu,this.quickCloseMenu=widget.quickCloseButtonMenu.getMenu(),this.model.connect(this,{update:"updateFromModel"}),this.closeButton.connect(this,{click:["onButtonClick","close"]}),this.relistButton.connect(this,{click:["onButtonClick","relist"]}),this.quickCloseMenu.connect(this,{choose:"onQuickCloseChoose"}),this.model.pages.length&&this.fetchInfoFromApi()}var Constructor,protoProps,staticProps;return Constructor=DiscussionViewController,(protoProps=[{key:"fetchInfoFromApi",value:function(){var _this=this,pagesExistencesPromise=_api.default.get({action:"query",format:"json",formatversion:2,titles:this.model.pagesNames,prop:"info",inprop:"talkid"}).then(function(response){return response.query.pages.forEach(function(page){var pageTitle=_globals.mw.Title.newFromText(page.title),talkpageTitle=pageTitle.getTalkPage();_globals.mw.Title.exist.set(pageTitle.getPrefixedDb(),!page.missing),talkpageTitle&&_globals.mw.Title.exist.set(talkpageTitle.getPrefixedDb(),!!page.talkid)})}),nominationDatePromise="afd"!==this.model.venue.type&&"mfd"!==this.model.venue.type?_globals.$.Deferred().resolve((0,_util.dateFromSubpageName)(this.model.discussionSubpageName)):_api.default.get({action:"query",format:"json",formatversion:2,titles:this.model.discussionPageName,prop:"revisions",rvprop:"timestamp",rvdir:"newer",rvlimit:"1"}).then(function(response){var timestamp=response.query.pages[0].revisions[0].timestamp;return new Date(timestamp)});nominationDatePromise.then(function(nominationDate){_this.model.setNominationDate(nominationDate)}),_globals.$.when(pagesExistencesPromise,nominationDatePromise).then(function(){_this.model.setStatusReady()}).catch(function(code,error){_this.model.setStatusError(code,error)})}},{key:"updateFromModel",value:function(){this.statusLabel.setLabel(new _globals.OO.ui.HtmlSnippet(this.model.status)).toggle(this.model.showStatus),this.buttonGroup.toggle(this.model.showButtons),this.quickCloseButton.toggle(this.model.showQuickClose),this.model.actioned&&(this.model.$headlineSpan.addClass("xfdc-actioned-heading"),(0,_globals.$)(".".concat(this.model.id,"-discussion-node")).addClass("xfdc-actioned-discussion"))}},{key:"onButtonClick",value:function(type){var _this2=this;_windowSetManager.default.openWindow("main",{model:new _MainWindowModel.default({type:type,discussion:this.model}),offsetTop:(0,_util.windowOffsetTop)()}).closed.then(function(winData){_this2.model.setClosedWindowData(winData)}),this.model.setWindowOpened(type)}},{key:"onQuickCloseChoose",value:function(menuOption){var _this3=this,quickCloseResult=menuOption.getData(),windowModel=new _MainWindowModel.default({type:"close",quick:!0,result:quickCloseResult,discussion:this.model});_windowSetManager.default.openWindow("main",{model:windowModel,offsetTop:(0,_util.windowOffsetTop)()}).closed.then(function(winData){_this3.model.setClosedWindowData(winData)}),this.model.setWindowOpened("close"),windowModel.result.singleModeResult.setSelectedResultName(quickCloseResult.replace("quick","").toLowerCase()),windowModel.options.isValid?(windowModel.taskList.resetItems(),windowModel.taskList.startTasks()):windowModel.showOptions()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),DiscussionViewController}();exports.default=_default},{"../../globals":1,"../Models/MainWindowModel":45,"../api":80,"../util":85,"../windowSetManager":86}],9:[function(require,module,exports){"use strict";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var GroupedItemController=function(){function GroupedItemController(model,group){if(!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,GroupedItemController),!model)throw new Error("GroupedItemController: model must be defined.");if(!Array.isArray(model.items))throw console.warn("GroupedItemController: model.items = ",model.items),new Error("GroupedItemController: Expected model.items to be an array");if(!group)throw new Error("GroupedItemController: group must be defined.");if(!Array.isArray(group.items))throw console.warn("GroupedItemController: group.items = ",group.items),new Error("GroupedItemController: Expected group.items to be an array");this.model=model,this.group=group,this.model.connect(this,{update:"updateGroupFromModel"}),this.group.aggregate({update:"itemUpdate"}),this.group.connect(this,{itemUpdate:"onItemUpdate"})}var Constructor,protoProps,staticProps;return Constructor=GroupedItemController,(protoProps=[{key:"updateGroupFromModel",value:function(){var _this=this,widgetItems=this.group.getItems(),widgetInputStates={};widgetItems.forEach(function(widget){widget.getInputStates&&(widgetInputStates[widget.getData().name]=widget.getInputStates())}),this.group.clearItems();var newWidgetItems=this.model.getItems().map(function(modelItem){var widget=widgetItems.find(function(widgetItem){return widgetItem.getData().name===modelItem.name});if(!widget){if(!modelItem.name)throw new Error("Models for group item widgets must have names!");var data=(widget=_this.newItemWidget(modelItem)).getData()||{};widget.setData(function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({},data,{name:modelItem.name}))}return widget});this.group.addItems(newWidgetItems),newWidgetItems.forEach(function(widget){var state=widgetInputStates[widget.getData().name];state&&widget.setInputStates&&widget.setInputStates(state)}),this.updateFromModel()}},{key:"newItemWidget",value:function(){}},{key:"updateFromModel",value:function(){}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),GroupedItemController}();exports.default=GroupedItemController},{}],10:[function(require,module,exports){"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_util=require("../util"),prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("../prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var _default=function(){function MainWindowController(model,window){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,MainWindowController),this.model=model,this.window=window,this.stackLayout=window.stackLayout,this.actions=window.actions,this.model.connect(this,{update:"updateFromModel",resize:this.window.updateSize.bind(this.window)})}var Constructor,protoProps,staticProps;return Constructor=MainWindowController,(protoProps=[{key:"updateFromModel",value:function(){this.actions.setMode(this.model.mode),this.actions.setAbilities(this.model.actionAbilities);var currentPanel=this.stackLayout.findItemFromData({name:this.model.currentPanel});if(!currentPanel)throw new Error("Could not find panel with name: "+this.model.currentPanel);this.stackLayout.setItem(currentPanel);var stackElement=this.stackLayout.$element.get(0),panelElement=currentPanel.$element.get(0);this.model.suggestCurrentPanelHeight(stackElement.scrollHeight+panelElement.clientHeight/2+1)}},{key:"getActionProcess",value:function(action){var _this=this;if(this.window.setErrorsLabels(),"save"!==action&&(this.model.sanityChecks.setShowWarnings(!0),this.model.sanityChecks.setShowRedirections(!0)),"save"===action)return(new _globals.OO.ui.Process).next(function(){var sanityWarnings=_this.model.sanityChecks.showWarnings&&_this.model.sanityChecks.getWarnings();return sanityWarnings?(_this.model.sanityChecks.setShowWarnings(!1),_this.window.setErrorsLabels({title:"Warning",dismiss:"Cancel"}),sanityWarnings.map(function(message){return new _globals.OO.ui.Error((0,_globals.$)("<div>".concat(message,"</div>")),{warning:!0})})):0}).next(function(){return _this.model.sanityChecks.showRedirections?_this.model.sanityChecks.getRedirections().then(function(redirections){if(_this.model.sanityChecks.setShowRedirections(!1),!redirections.length)return 0;_this.window.setErrorsLabels({title:"Redirection warning",dismiss:"Cancel"});var explanation="Actions will be applied to ".concat(1===redirections.length?"this redirect's <strong>target page</strong>":"these redirects' <strong>target pages</strong>",". To use the nominated ").concat(1===redirections.length?"page":"pages"," instead, undo the redirection before continuing."),listItems=redirections.map(function(redirect){return"<li>".concat((0,_util.makeLink)(redirect.from)," \u2192 ").concat((0,_util.makeLink)(redirect.to),"</li>")}).join("");return(0,_util.rejection)(new _globals.OO.ui.Error((0,_globals.$)("<div>".concat(explanation,"<ul>").concat(listItems,"</ul></div>")),{warning:!0}))}):0}).next(function(){if(_this.model.discussion.venue.expectRedirects)return 0;var redirections=_this.model.sanityChecks.getRedirections({setExistences:!0});_this.model.discussion.setRedirects(redirections)}).next(function(){_this.model.startTasks()});if("showPrefs"===action)this.model.showPrefs();else{if("savePrefs"===action){this.window.pushPending();var changedPrefValues=this.model.preferences.getValues({changedOnly:!0});return(new _globals.OO.ui.Process).next(function(){return prefs.set(changedPrefValues)}).next(function(){_this.model.preferences.resetValues(changedPrefValues),_this.model.closePrefs(),_this.window.popPending()})}"closePrefs"===action?this.model.closePrefs():"defaultPrefs"===action?this.model.preferences.restoreDefaults():"multimode"===action?this.model.setMultimode(!0):"singlemode"===action?this.model.setMultimode(!1):"next"===action?this.model.showOptions():"back"===action?this.model.showResult():"finish"===action?this.window.close({success:this.model.taskList.success,aborted:this.model.taskList.aborted,result:"relist"!==this.model.type&&this.model.result.getFormattedResult()}):"abort"===action?this.model.taskList.abort():!action&&this.model.canClose&&this.window.close()}return new _globals.OO.ui.Process}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),MainWindowController}();exports.default=_default},{"../../globals":1,"../prefs":83,"../util":85}],11:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_LookupMenuTagMultiselectWidget=(obj=require("../Components/LookupMenuTagMultiselectWidget"))&&obj.__esModule?obj:{default:obj};function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var _default=function(){function OptionsItemController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,OptionsItemController),this.model=model,this.model.connect(this,{update:"updateFromModel"}),this.widget=widget,this.widget.fieldset.aggregate({widgetChange:"fieldWidgetChange"}),this.widget.fieldset.connect(this,{fieldWidgetChange:"onFieldWidgetChange"}),this.widget.actionsDropdown.getMenu().connect(this,{choose:"onActionChange",select:"onActionChange"})}var Constructor,protoProps,staticProps;return Constructor=OptionsItemController,(protoProps=[{key:"updateFromModel",value:function(){var _this=this;this.widget.fieldset.setLabel(this.model.label);var actionsDropdownMenu=this.widget.actionsDropdown.getMenu();0===actionsDropdownMenu.items.length&&actionsDropdownMenu.addItems(this.model.actions.map(function(action){return new _globals.OO.ui.MenuOptionWidget({label:action.label,data:{name:action.name}})})),actionsDropdownMenu.selectItemByData({name:this.model.selectedActionName});var fieldLayouts=this.widget.fieldset.items.slice(1);this.widget.fieldset.removeItems(fieldLayouts),this.widget.fieldset.addItems(this.model.options.map(function(option){var fieldLayout=fieldLayouts.find(function(field){return field.getData().name===option.name});return fieldLayout?(fieldLayout.getField().setValue(option.value),fieldLayout):_this.newFieldLayout(option)})),this.widget.emit("update")}},{key:"onActionChange",value:function(option){this.model.setSelectedActionName(option&&option.getData().name)}},{key:"onFieldWidgetChange",value:function(fieldLayout){var optionName=fieldLayout.getData().name,optionValue=fieldLayout.getField().getValue();this.model.setOptionValue(optionName,optionValue)}},{key:"newFieldLayout",value:function(option){var widget;switch(option.type){case"toggleSwitch":widget=new _globals.OO.ui.ToggleSwitchWidget({value:option.value});break;case"dropdown":(widget=new _globals.OO.ui.DropdownWidget({$overlay:this.widget.$overlay,menu:{items:option.items.map(function(item){return new _globals.OO.ui.MenuOptionWidget(item)})}})).getValue=function(){var selected=widget.getMenu().findSelectedItem();return selected&&selected.getData()},widget.setValue=function(value){widget.getMenu().selectItemByData(value)},widget.setValue(option.value);break;case"lookupMenuTagMultiselect":widget=new _LookupMenuTagMultiselectWidget.default({data:{name:option.name},allowArbitrary:!0,$overlay:this.widget.$overlay,popup:!1,menu:{items:option.items.flatMap(function(itemgroup){return[new _globals.OO.ui.MenuSectionOptionWidget({label:itemgroup.group})].concat(_toConsumableArray(itemgroup.names.map(function(name){return new _globals.OO.ui.MenuOptionWidget({data:"{{"+name+"}}",label:"{{"+name+"}}"})})))})}}),option.value&&widget.setValue(option.value);break;default:throw new Error("Unrecognised option type: "+option.type)}var layout=new _globals.OO.ui.FieldLayout(widget,{label:option.label,data:{name:option.name}});switch(option.type){case"lookupMenuTagMultiselect":case"toggleSwitch":widget.on("change",function(){return layout.emit("widgetChange")});break;case"dropdown":widget.getMenu().on("choose",function(){return layout.emit("widgetChange")}),widget.getMenu().on("select",function(){return layout.emit("widgetChange")})}return layout}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),OptionsItemController}();exports.default=_default},{"../../globals":1,"../Components/LookupMenuTagMultiselectWidget":5}],12:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _GroupItemController=_interopRequireDefault(require("./GroupItemController")),_OptionsItemWidget=_interopRequireDefault(require("../Views/OptionsItemWidget"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var OptionsPanelController=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(OptionsPanelController,_GroupItemController["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(OptionsPanelController);function OptionsPanelController(model,widget){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,OptionsPanelController),(_this=_super.call(this,model,widget)).$overlay=widget.$overlay,_this}return Constructor=OptionsPanelController,(protoProps=[{key:"newItemWidget",value:function(modelItem){return new _OptionsItemWidget.default(modelItem,{$overlay:this.$overlay})}},{key:"onItemUpdate",value:function(){this.model.onItemUpdate()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),OptionsPanelController}();exports.default=OptionsPanelController},{"../Views/OptionsItemWidget":66,"./GroupItemController":9}],13:[function(require,module,exports){"use strict";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var PrefsItemController=function(){function PrefsItemController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,PrefsItemController),this.model=model,this.model.connect(this,{update:"updateFromModel"}),this.widget=widget,this.widget.selector.connect(this,{change:"onSelectorChange"}),"dropdown"===model.type&&this.widget.selector.getMenu().connect(this,{choose:"onMenuSelection",select:"onMenuSelection"}),this.updateFromModel()}var Constructor,protoProps,staticProps;return Constructor=PrefsItemController,(protoProps=[{key:"updateFromModel",value:function(){this.widget.fieldLayout.setLabel(this.model.label),this.widget.fieldLayout.setErrors(this.model.errors),this.widget.$element.find(".oo-ui-fieldLayout-messages").css("clear","both"),"dropdown"===this.model.type?this.widget.selector.getMenu().selectItemByData(this.model.value):this.widget.selector.setValue(this.model.value),this.widget.emit("update")}},{key:"onSelectorChange",value:function(value){this.model.setValue(value)}},{key:"onMenuSelection",value:function(item){this.model.setValue(item.getData())}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),PrefsItemController}();exports.default=PrefsItemController},{}],14:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _GroupItemController=_interopRequireDefault(require("./GroupItemController")),_PrefsItemWidget=_interopRequireDefault(require("../Views/PrefsItemWidget"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var PrefsPanelController=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(PrefsPanelController,_GroupItemController["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(PrefsPanelController);function PrefsPanelController(model,widget){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,PrefsPanelController),(_this=_super.call(this,model,widget.fieldset)).$overlay=widget.$overlay,_this.updateGroupFromModel(),_this}return Constructor=PrefsPanelController,(protoProps=[{key:"newItemWidget",value:function(modelItem){return new _PrefsItemWidget.default(modelItem,{$overlay:this.$overlay})}},{key:"onItemUpdate",value:function(){this.model.onItemUpdate()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),PrefsPanelController}();exports.default=PrefsPanelController},{"../Views/PrefsItemWidget":68,"./GroupItemController":9}],15:[function(require,module,exports){"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("../prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var PrefsWindowController=function(){function PrefsWindowController(model,window){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,PrefsWindowController),this.model=model,this.window=window,this.model.connect(this,{update:"updateFromModel",resize:this.window.updateSize}),this.updateFromModel()}var Constructor,protoProps,staticProps;return Constructor=PrefsWindowController,(protoProps=[{key:"updateFromModel",value:function(){this.window.actions.setAbilities(this.model.actionAbilities),this.window.updateSize()}},{key:"getActionProcess",value:function(action){var _this=this;if("savePrefs"!==action)return"defaultPrefs"===action?this.model.preferences.restoreDefaults():this.window.close(),new _globals.OO.ui.Process;this.window.pushPending();var changedPrefValues=this.model.preferences.getValues({changedOnly:!0});return(new _globals.OO.ui.Process).next(function(){return prefs.set(changedPrefValues)}).next(function(){_this.model.preferences.resetValues(changedPrefValues),_this.window.popPending()})}},{key:"getBodyHeight",value:function(){var panelHeight=this.window.prefsPanel.$element.get(0).scrollHeight||0,errorsHeight=(0,_globals.$)(".oo-ui-processDialog-errors").get(0).scrollHeight||0;return Math.max(200,panelHeight+1,errorsHeight+1)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),PrefsWindowController}();exports.default=PrefsWindowController},{"../../globals":1,"../prefs":83}],16:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var ResultItemController=function(){function ResultItemController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,ResultItemController),this.model=model,this.model.connect(this,{update:"updateFromModel"}),this.widget=widget,this.widget.resultDropdown.getMenu().connect(this,{choose:"onResultChoose"}),this.widget.targetInput.connect(this,{change:"onTargetChange"}),this.widget.customResultInput.connect(this,{change:"onCustomResultChange"})}var Constructor,protoProps,staticProps;return Constructor=ResultItemController,(protoProps=[{key:"updateFromModel",value:function(){var _this=this,dropdownMenu=this.widget.resultDropdown.getMenu();dropdownMenu.items.length!==this.model.availableResults.length&&(dropdownMenu.clearItems(),dropdownMenu.addItems(this.model.availableResults.map(function(result){return new _globals.OO.ui.MenuOptionWidget({data:{name:result.name},label:result.label,title:result.title})}))),dropdownMenu.selectItem(dropdownMenu.getItems().find(function(item){return item.getData().name===_this.model.selectedResultName})),this.widget.resultField.setLabel(this.model.pageName),this.widget.targetInput.setValue(this.model.targetPageName),this.widget.targetInput.setValidityFlag(this.model.targetIsValid),this.widget.targetField.toggle(this.model.showTarget),this.widget.customResultInput.setValue(this.model.customResultText),this.widget.customResultInput.setValidityFlag(this.model.customResultIsValid),this.widget.customField.toggle(this.model.showCustomResult),this.widget.emit("update")}},{key:"onResultChoose",value:function(option){this.model.setSelectedResultName(option&&option.getData().name)}},{key:"onTargetChange",value:function(value){this.model.setTargetPageName(value)}},{key:"onCustomResultChange",value:function(value){this.model.setCustomResultText(value)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),ResultItemController}();exports.default=ResultItemController},{"../../globals":1}],17:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _GroupItemController=_interopRequireDefault(require("./GroupItemController")),_ResultItemWidget=_interopRequireDefault(require("../Views/ResultItemWidget"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var ResultListWidgetController=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(ResultListWidgetController,_GroupItemController["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(ResultListWidgetController);function ResultListWidgetController(model,widget){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,ResultListWidgetController),(_this=_super.call(this,model,widget)).$overlay=widget.$overlay,_this.updateGroupFromModel(),_this}return Constructor=ResultListWidgetController,(protoProps=[{key:"newItemWidget",value:function(modelItem){return new _ResultItemWidget.default(modelItem,{$overlay:this.$overlay})}},{key:"onItemUpdate",value:function(){this.model.onItemUpdate()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),ResultListWidgetController}();exports.default=ResultListWidgetController},{"../Views/ResultItemWidget":71,"./GroupItemController":9}],18:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_NoteWidget=_interopRequireDefault(require("../Components/NoteWidget")),_api=_interopRequireDefault(require("../api"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var _default=function(){function ResultPanelController(model,widgets){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,ResultPanelController),this.model=model,this.notesFieldset=widgets.notesFieldset,this.resultFieldset=widgets.resultFieldset,this.resultWidgetField=widgets.resultWidgetField,this.multiResultWidgetField=widgets.multiResultWidgetField,this.resultSummary=widgets.resultSummary,this.resultSummaryField=widgets.resultSummaryField,this.rationaleFieldset=widgets.rationaleFieldset,this.copyButton=widgets.copyButton,this.rationaleTextbox=widgets.rationaleTextbox,this.newSentenceOption=widgets.newSentenceOption,this.preview=widgets.preview,this.model.connect(this,{update:"updateFromModel"}),this.resultSummary.connect(this,{change:"onResultSummaryChange"}),this.copyButton.connect(this,{click:"onCopyButtonClick"}),this.rationaleTextbox.connect(this,{change:"onRationaleChange"}),this.newSentenceOption.connect(this,{change:"onNewSentenceChange"}),this._latestPreviewWikitext="",this._latestRequestId=0}var Constructor,protoProps,staticProps;return Constructor=ResultPanelController,(protoProps=[{key:"updateFromModel",value:function(){var _this=this;this.resultFieldset.toggle(this.model.showResultFieldset),this.resultWidgetField.toggle(!this.model.isMultimode),this.multiResultWidgetField.toggle(this.model.isMultimode),this.resultSummaryField.toggle(this.model.isMultimode),this.rationaleFieldset.setLabel(this.model.rationaleHeading),this.copyButton.toggle(this.model.showCopyButton),this.rationaleTextbox.setValue(this.model.rationale),this.newSentenceOption.setSelected(this.model.newSentence).toggle(this.model.showNewSentenceOption),this.preview.$element.html(this.model.preview),this.notesFieldset.clearItems(),this.notesFieldset.addItems(this.model.topNotes.map(function(note){var widget=new _NoteWidget.default({title:note.title,noteContent:note.content,data:{name:note.name}});return widget.setExpanded(note.expanded),widget.connect(_this,{expand:["onNoteExpand",note.name],unexpand:["onNoteUnexpand",note.name]}),new _globals.OO.ui.FieldLayout(widget,{align:"top",$element:(0,_globals.$)("<div>").css("margin-top","5px")})}));var wikitext=this.model.previewWikitext;if(this._latestPreviewWikitext!==wikitext){this._latestPreviewWikitext=wikitext;var requestId=++this._latestRequestId;return _api.default.get({action:"parse",format:"json",formatversion:"2",text:wikitext,prop:"text",pst:1,disablelimitreport:1,contentmodel:"wikitext"}).then(function(response){requestId===_this._latestRequestId&&response&&response.parse&&response.parse.text&&(_this.preview.$element.empty().html(response.parse.text),_this.model.emit("resize"))})}}},{key:"onNoteExpand",value:function(noteName){this.model.setNoteExpanded(noteName,!0)}},{key:"onNoteUnexpand",value:function(noteName){this.model.setNoteExpanded(noteName,!1)}},{key:"onResultSelect",value:function(item){this.model.selectResult(item.getData())}},{key:"onSpeedyChange",value:function(isSelected){this.model.setSpeedyResult(isSelected)}},{key:"onSoftChange",value:function(isSelected){this.model.setSoftResult(isSelected)}},{key:"onDeleteFirstChange",value:function(isSelected){this.model.setDeleteFirstResult(isSelected)}},{key:"onTargetChange",value:function(value){this.model.setTarget(value)}},{key:"onCustomResultChange",value:function(value){this.model.setCustomResultText(value)}},{key:"onMultiResultChange",value:function(resultChange){this.model.updateMultimodeResult(resultChange)}},{key:"onResultSummaryChange",value:function(value){this.model.setResultSummary(value)}},{key:"onCopyButtonClick",value:function(){this.model.copyResultsToRationale()}},{key:"onRationaleChange",value:function(value){this.model.setRationale(value)}},{key:"onNewSentenceChange",value:function(isSelected){this.model.setNewSentence(isSelected)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),ResultPanelController}();exports.default=_default},{"../../globals":1,"../Components/NoteWidget":6,"../api":80}],19:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var SingleResultWidgetController=function(){function SingleResultWidgetController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,SingleResultWidgetController),this.model=model,this.model.connect(this,{update:"updateFromModel"}),this.widget=widget,this.widget.buttonSelect.connect(this,{select:"onButtonSelect"}),this.widget.speedyOption.connect(this,{change:"onSpeedyChange"}),this.widget.softOption.connect(this,{change:"onSoftChange"}),this.widget.deleteFirstOption.connect(this,{change:"onDeleteFirstChange"}),this.widget.targetInput.connect(this,{change:"onTargetChange"}),this.widget.customResultInput.connect(this,{change:"onCustomResultChange"})}var Constructor,protoProps,staticProps;return Constructor=SingleResultWidgetController,(protoProps=[{key:"updateFromModel",value:function(){var _this=this;this.widget.buttonSelect.getItems().length!==this.model.availableResults.length&&(this.widget.buttonSelect.clearItems(),this.widget.buttonSelect.addItems(this.model.availableResults.map(function(result){return new _globals.OO.ui.ButtonOptionWidget({data:{name:result.name},label:result.label,title:result.title})}))),this.widget.buttonSelect.selectItem(this.widget.buttonSelect.getItems().find(function(item){return item.getData().name===_this.model.selectedResultName})),this.widget.speedyOption.setSelected(this.model.speedyResult).toggle(this.model.showSpeedyResult),this.widget.softOption.setSelected(this.model.softResult).toggle(this.model.showSoftResult),this.widget.deleteFirstOption.setSelected(this.model.deleteFirstResult).toggle(this.model.showDeleteFirstResult),this.widget.optionsMultiselect.toggle(this.model.showResultOptions),this.widget.targetInput.setValue(this.model.targetPageName).toggle(this.model.showTarget).setValidityFlag(this.model.targetIsValid),this.widget.customResultInput.setValue(this.model.customResultText).toggle(this.model.showCustomResult).setValidityFlag(this.model.customResultIsValid),this.widget.emit("update")}},{key:"onButtonSelect",value:function(option){this.model.setSelectedResultName(option&&option.getData().name)}},{key:"onSpeedyChange",value:function(isSelected){this.model.setSpeedyResult(isSelected)}},{key:"onSoftChange",value:function(isSelected){this.model.setSoftResult(isSelected)}},{key:"onDeleteFirstChange",value:function(isSelected){this.model.setDeleteFirstResult(isSelected)}},{key:"onTargetChange",value:function(value){this.model.setTargetPageName(value)}},{key:"onCustomResultChange",value:function(value){this.model.setCustomResultText(value)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),SingleResultWidgetController}();exports.default=SingleResultWidgetController},{"../../globals":1}],20:[function(require,module,exports){"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_util=require("../util"),_api=(obj=require("../api"))&&obj.__esModule?obj:{default:obj},prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("../prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function toSmallSnippet(content){return new _globals.OO.ui.HtmlSnippet('<span style="font-size: 88%; font-weight: normal;">'.concat(content,"</span>"))}var _default=function(){function TaskItemController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,TaskItemController),this.model=model,this.widget=widget,this.api=_api.default,this._doingTask=!1,this.model.connect(this,{update:"updateFromModel"}),this.widget.showAllWarningsButton&&this.widget.showAllErrorsButton&&(this.widget.showAllWarningsButton.connect(this,{click:"onShowWarningsButtonClick"}),this.widget.showAllErrorsButton.connect(this,{click:"onShowErrorsButtonClick"}))}var Constructor,protoProps,staticProps;return Constructor=TaskItemController,(protoProps=[{key:"makeWarnings",value:function(){return this.model.showOverflowWarnings||this.model.warnings.length<prefs.get("collapseWarnings")?this.model.warnings.map(toSmallSnippet):[]}},{key:"onShowWarningsButtonClick",value:function(){this.model.showOverflowWarnings=!0,this.updateFromModel()}},{key:"makeErrors",value:function(){return this.model.showOverflowErrors||this.model.errors.length<prefs.get("collapseErrors")?this.model.errors.map(toSmallSnippet):[]}},{key:"onShowErrorsButtonClick",value:function(){this.model.showOverflowErrors=!0,this.updateFromModel()}},{key:"updateFromModel",value:function(){var _this=this;this.widget.field.setLabel(new _globals.OO.ui.HtmlSnippet("<span>".concat(this.model.label,"</span>"))),this.widget.progressbar.setProgress(this.model.progress),this.widget.progressbar.toggle(this.model.showProgressBar),this.widget.field.setNotices(this.model.notices.map(toSmallSnippet)),this.widget.field.setWarnings(this.makeWarnings()),this.widget.field.setErrors(this.makeErrors()),this.widget.showAllWarningsButton&&this.widget.showAllErrorsButton&&(this.widget.showAllWarningsButton.toggle(!this.model.showOverflowWarnings&&this.model.warnings.length>=prefs.get("collapseWarnings")),this.widget.showAllWarningsButton.setLabel("Show ".concat(this.model.warnings.length," warnings")),this.widget.showAllErrorsButton.toggle(!this.model.showOverflowErrors&&this.model.errors.length>=prefs.get("collapseErrors")),this.widget.showAllErrorsButton.setLabel("Show ".concat(this.model.errors.length," errors"))),this.widget.emit("update"),this.model.starting&&!this._doingTask&&this.model.canProceed()&&(this._doingTask=!0,this.model.setStarted(),_globals.$.when(this.doTask()).then(function(){return _this.model.setDone()}).catch(function(){return _this.model.setFailed()}))}},{key:"doTask",value:function(){throw new Error("doTask method not implemented")}},{key:"logError",value:function(code,error){console.error("[XFDcloser/".concat(this.model.taskName,"] ").concat(code||"unknown"),error)}},{key:"handlePageError",value:function(code,error,title,action){switch(action=action||"edit",code){case"unexpectedTitle":this.model.addError("API query result included unexpected title ".concat((0,_util.makeLink)(title),"; this page will not be edited")),this.model.trackStep("failed");break;case"unexpectedTarget":this.model.addError("API query result included unexpected target talk page ".concat((0,_util.makeLink)(title),"; this page will not be edited")),this.model.trackStep("failed");break;case"doesNotExist":this.model.addError("".concat((0,_util.makeLink)(title)," does not exist, and will not be edited")),this.model.trackStep("failed");break;case"couldNotUpdate":this.model.addError("Could not update ".concat((0,_util.makeLink)(title),": ").concat(error.message)),this.model.trackStep("failed");break;case"subjectDoesNoteExist":this.model.addError("The subject page for ".concat((0,_util.makeLink)(title)," does not exist; this talk page will not be edited")),this.model.trackStep("failed");break;case"targetIsNotModule":this.model.addError("Could not redirect ".concat((0,_util.makeLink)(title)," because ").concat(error&&error.target?(0,_util.makeLink)(error.target):"the target"," is not a module")),this.model.trackStep("failed");break;case"skipped":this.model.addWarning("".concat((0,_util.makeLink)(title)," skipped")),this.model.trackStep("skipped");break;case"skippedNoneFound":this.model.addWarning("".concat((0,_util.makeLink)(title)," skipped: none found")),this.model.trackStep("skipped");break;case"skippedNoLinks":this.model.addWarning("".concat((0,_util.makeLink)(title)," skipped (no direct links)")),this.model.trackStep("skipped");break;case"noChangesMade":this.model.addError("Did not find any changes to make to ".concat((0,_util.makeLink)(title))),this.model.trackStep("skipped");break;case"nominationTemplateNotFound":this.model.addError("Nomination template not found on page ".concat((0,_util.makeLink)(title))),this.model.trackStep("skipped");break;case"abort":this.model.setAborted(),this.model.trackStep("failed");break;case"aborted":this.model.trackStep("failed");break;default:this.model.addError("".concat(code||"unknown"," error: could not ").concat(action," page ").concat((0,_util.makeLink)(title))),this.model.trackStep("failed"),this.logError(code,error)}}},{key:"handleOverallError",value:function(errortype,code,error){if("read"===errortype)return this.model.addError("".concat(code||"unknown"," error: Could not read contents of nominated ").concat(1<this.model.discussion.pages.length?"pages":"page")),this.model.setFailed(),this.logError(code,error),(0,_util.rejection)()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),TaskItemController}();exports.default=_default},{"../../globals":1,"../api":80,"../prefs":83,"../util":85}],21:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _TaskItemWidget=_interopRequireDefault(require("../Views/TaskItemWidget")),_GroupItemController=_interopRequireDefault(require("./GroupItemController"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var TaskListPanelController=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(TaskListPanelController,_GroupItemController["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(TaskListPanelController);function TaskListPanelController(model,widget){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,TaskListPanelController),(_this=_super.call(this,model,widget.fieldset))._startedItems=!1,_this}return Constructor=TaskListPanelController,(protoProps=[{key:"newItemWidget",value:function(modelItem){return new _TaskItemWidget.default(modelItem)}},{key:"onItemUpdate",value:function(itemWidget){this.model.onItemUpdate(itemWidget.model)}},{key:"updateFromModel",value:function(){this.model.started&&!this._startedItems&&(this._startedItems=!0,this.group.items.forEach(function(itemWidget){return itemWidget.model.start()}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),TaskListPanelController}();exports.default=TaskListPanelController},{"../Views/TaskItemWidget":75,"./GroupItemController":9}],22:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_util=require("../../util"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj};function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var AddBeingDeleted=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(AddBeingDeleted,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(AddBeingDeleted);function AddBeingDeleted(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,AddBeingDeleted),(_this=_super.call(this,model,widgets)).model.setName("Updating ".concat(1<model.pageNames.length?"templates":"template")),_this.mergeTargets=[],_this.mergeTitles=[],_this}return Constructor=AddBeingDeleted,(protoProps=[{key:"transform",value:function(page){var _this2=this;if(this.model.aborted)return(0,_util.rejection)("aborted");if(page.missing)return(0,_util.rejection)("doesNotExist");var result=this.model.result.getResultsByPage().find(function(result){return result.pageName===_this2.model.discussion.redirects.unresolveOne((0,_util.docToModule)(page.title))});if(!result)return(0,_util.rejection)("unexpectedTitle");var options=this.model.options.getOptionValues(result&&result.selectedResultName);if(!options)return(0,_util.rejection)("couldNotUpdate","Internal error: could not find options for result");var holdcellsection=options.holdcellSection||options.holdcellMergeSection,inclusionTag=(0,_util.isModule)(page.title)?"includeonly":"noinclude",oldWikitext=page.content;try{return this.mergeTargets.includes(page.title)?{text:this.model.venue.removeNomTemplate(oldWikitext),summary:this.model.getEditSummary()}:"ready"===holdcellsection?{text:"<".concat(inclusionTag,">{{Db-xfd|fullvotepage=").concat(this.model.discussion.discussionPageLink,"}}</").concat(inclusionTag,">")+this.model.venue.removeNomTemplate(oldWikitext),summary:this.model.getEditSummary({short:!0,prefix:"[[WP:G6|G6]] Speedy deletion nomination, per"})}:{text:"<".concat(inclusionTag,">{{Being deleted|").concat((0,_util.ymdDateString)(this.model.discussion.nominationDate),"|").concat((0,_util.encodeForWikilinkFragment)(this.model.discussion.sectionHeader)+(this.mergeTitles.includes(page.title)?"|merge="+result.targetPageName:""),"}}</").concat(inclusionTag,">").concat(this.model.venue.removeNomTemplate(oldWikitext)),summary:this.model.getEditSummary({short:!0,prefix:"Added {{being deleted}} per"})}}catch(e){return(0,_util.rejection)("couldNotUpdate",e)}}},{key:"initialise",value:function(){this.model.setStarted(),this.model.setTotalSteps(this.model.pageNames.length);var mergePageResults=this.model.getPageResults("merge");this.mergeTargets=(0,_util.uniqueArray)(mergePageResults.map(function(pageResult){return pageResult.targetPageName})),this.mergeTitles=this.model.discussion.redirects.resolve(mergePageResults.map(function(pageResult){return pageResult.pageName}))}},{key:"doTask",value:function(){var _this3=this;return this.initialise(),this.model.setDoing(),this.api.editWithRetry(this.model.getResolvedPageNames().map(_util.moduleToDoc),null,function(page){return _this3.transform(page)},function(){return _this3.model.trackStep()},function(code,error,title){return _this3.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this3.handleOverallError(errortype,code,error)})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),AddBeingDeleted}();exports.default=AddBeingDeleted},{"../../util":85,"../TaskItemController":20}],23:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../../globals"),_TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_RemoveNomTemplates=_interopRequireDefault(require("./RemoveNomTemplates")),_util=require("../../util");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}var Merger=function(){function Merger(config){_classCallCheck(this,Merger),this.from=config.from,this.target=config.target,this.mergeToTemplate=config.mergeToTemplate,this.mergeFromTemplates=config.mergeFromTemplates,this.isNominatedPage=config.isNominatedPage}return _createClass(Merger,[{key:"mergeFromWikitext",get:function(){return this.mergeFromTemplates.join("")}}]),Merger}(),AddMergeTemplatesTask=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(AddMergeTemplatesTask,_TaskItemController2["default"]);var _super=_createSuper(AddMergeTemplatesTask);function AddMergeTemplatesTask(model,widgets){var _this;return _classCallCheck(this,AddMergeTemplatesTask),(_this=_super.call(this,model,widgets)).model.setName("Adding merge templates"),_this}return _createClass(AddMergeTemplatesTask,[{key:"getMergers",value:function(){var _this2=this,targets=(0,_util.uniqueArray)(this.model.getPageResults().map(function(pageResult){return pageResult.getFormattedTarget({raw:!0})})),curdate=(0,_util.dmyDateString)(new Date);return targets.map(function(target){var mergeFromPages=_this2.model.getPageResults().filter(function(pageResult){return pageResult.getFormattedTarget({raw:!0})===target}).map(function(pageResult){return _this2.model.discussion.redirects.resolveOne(pageResult.pageName)}),mergeToTemplate=_this2.model.venue.wikitext.mergeTo.replace(/__TARGET__/,target).replace(/__DEBATE__/,_this2.model.discussion.discussionSubpageName).replace(/__DATE__/,curdate).replace(/__TARGETTALK__/,_globals.mw.Title.newFromText(target).getTalkPage().getPrefixedText()),mergeFromTemplates=mergeFromPages.map(function(pageName){return _this2.model.venue.wikitext.mergeFrom.replace(/__NOMINATED__/,pageName).replace(/__DEBATE__/,_this2.model.discussion.discussionSubpageName).replace(/__DATE__/,curdate)}),isNominatedPage=_this2.model.discussion.pagesNames.includes(_this2.model.discussion.redirects.unresolveOne(target));return new Merger({from:mergeFromPages,target:target,mergeToTemplate:mergeToTemplate,mergeFromTemplates:mergeFromTemplates,isNominatedPage:isNominatedPage})})}},{key:"transformTargetTalk",value:function(page){if(this.model.aborted)return(0,_util.rejection)("aborted");var merger=this.getMergers().find(function(merger){return _globals.mw.Title.newFromText(merger.target).getTalkPage().getPrefixedText()===page.title});return merger?{prependtext:merger.mergeFromWikitext,summary:this.model.getEditSummary()}:(0,_util.rejection)("unexpectedTarget")}},{key:"transformNominatedPage",value:function(page){if(this.model.aborted)return(0,_util.rejection)("aborted");var merger=this.getMergers().find(function(merger){return merger.from.includes(page.title)});return merger?_RemoveNomTemplates.default.transform(this,page,merger.mergeToTemplate):(0,_util.rejection)("unexpectedTitle")}},{key:"doTask",value:function(){var _this3=this,mergers=this.getMergers();if(0===mergers.length)return this.model.addWarning("None found"),(0,_util.rejection)();var mergersToNotNominatedPages=mergers.filter(function(merger){return!merger.isNominatedPage});this.model.setTotalSteps(this.model.pageNames.length+mergersToNotNominatedPages.length),this.model.setDoing();var editTargetsTalkPages=mergersToNotNominatedPages.length&&this.api.editWithRetry(mergersToNotNominatedPages.map(function(merger){return _globals.mw.Title.newFromText(merger.target).getTalkPage().getPrefixedText()}),null,function(page){return _this3.transformTargetTalk(page)},function(){return _this3.model.trackStep()},function(code,error,title){return _this3.handlePageError(code,error,title)}).catch(function(errortype,code,error){"read"===errortype&&_this3.model.addError(code,error,"Could not read contents of target talk ".concat(1<mergersToNotNominatedPages.length?"pages":"page"))}),editNominatedPages=this.api.editWithRetry(this.model.getResolvedPageNames(),null,function(page){return _this3.transformNominatedPage(page)},function(){return _this3.model.trackStep()},function(code,error,title){return _this3.handlePageError(code,error,title)}).catch(function(errortype,code,error){"read"===errortype&&_this3.model.addError(code,error,"Could not read contents of nominated ".concat(1<_this3.model.pageNames.length?"pages":"page"))});return _globals.$.when(editTargetsTalkPages,editNominatedPages)}}]),AddMergeTemplatesTask}();exports.default=AddMergeTemplatesTask},{"../../../globals":1,"../../util":85,"../TaskItemController":20,"./RemoveNomTemplates":34}],24:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../../globals"),_TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_Template=_interopRequireDefault(require("../../Template"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var AddOldXfdTask=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(AddOldXfdTask,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(AddOldXfdTask);function AddOldXfdTask(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,AddOldXfdTask),(_this=_super.call(this,model,widgets)).model.setName("Updating talk ".concat(1<model.pageNames.length?"pages":"page")),_this}return Constructor=AddOldXfdTask,(protoProps=[{key:"makeOldxfdWikitext",value:function(altpage){var result=this.model.venue.wikitext.oldXfd.replace(/__DATE__/,(0,_util.dmyDateString)(this.model.discussion.nominationDate)).replace(/__DATE_YMD__/,(0,_util.ymdDateString)(this.model.discussion.nominationDate)).replace(/__ACTION__/,this.model.discussion.action).replace(/__SECTION__/,this.model.discussion.sectionHeader).replace(/__RESULT__/,this.model.result.getResultText()).replace(/__FIRSTDATE__/,(0,_util.dmyDateString)(this.model.discussion.firstCommentDate)).replace(/__SUBPAGE__/,this.model.discussion.discussionSubpageName);return altpage&&(result=result.replace("}}"," |altpage=".concat(altpage,"}}"))),result}},{key:"makeNewWikitext",value:function(wikitext,pageTitle){var oldAfdTemplate,titleObject=_globals.mw.Title.newFromText(pageTitle),PAGENAME=titleObject.getMain(),SUBJECTPAGENAME=titleObject.getSubjectPage().getNamespacePrefix()+PAGENAME,oldafdmulti="{{Old AfD multi",count=0;if(_Template.default.parseTemplates(wikitext,!0).forEach(function(template){if(/(a|t|d|f|i|m|r)fd/i.test(template.name)){var dateParamValue=template.getParamValue("date")||"",date=(0,_util.dateFromUserInput)(dateParamValue),ymdFormatDate=date&&(0,_util.ymdDateString)(date)||dateParamValue,dmyFormatDate=date&&(0,_util.dmyDateString)(date)||dateParamValue,result=template.getParamValue("result")||"keep";if(/(?:old|afd) ?(?:old|afd) ?(?:multi|full)?/i.test(template.name))(oldAfdTemplate=template).parameters.forEach(function(param){oldafdmulti+=" |".concat(param.name,"=").concat(param.value);var numCheck=/[A-z]+([0-9]+)/i.exec(param.name),paramNum=numCheck&&parseInt(numCheck[1])||1;count<paramNum&&(count=paramNum)});else if(/(?:old|tfd|Previous) ?(?:tfd|tfd|end)(?:full)?/i.test(template.name)){count++;var logSubpage=template.getParamValue("link")||ymdFormatDate,fragment=template.getParamValue(1)||template.getParamValue("disc")||"Template:"+PAGENAME,_page="{{subst:#ifexist:Wikipedia:Templates for deletion/Log/".concat(logSubpage)+"|Wikipedia:Templates for deletion/Log/".concat(logSubpage,"#").concat(fragment)+"|Wikipedia:Templates for discussion/Log/".concat(logSubpage,"#").concat(fragment,"}}");oldafdmulti+=" |date".concat(count,"=").concat(dmyFormatDate," |result").concat(count,"='''").concat((0,_util.uppercaseFirst)(result.replace(/'''/g,"")),"''' |page").concat(count,"=").concat(_page),wikitext=wikitext.replace(template.wikitext+"\n","").replace(template.wikitext,"")}else if(/old ?(?:f|i)fd(?:full)?/i.test(template.name)){count++;var _fragment="File:"+template.getParamValue("page")||PAGENAME,_page2="{{subst:#ifexist:Wikipedia:Images and media for deletion/".concat(ymdFormatDate)+"|Wikipedia:Images and media for deletion/".concat(ymdFormatDate,"#").concat(_fragment)+"|{{subst:#ifexist:Wikipedia:Files for deletion/".concat(ymdFormatDate)+"|Wikipedia:Files for deletion/".concat(ymdFormatDate,"#").concat(_fragment)+"|Wikipedia:Files for discussion/".concat(ymdFormatDate,"#").concat(_fragment,"}}}}");oldafdmulti+=" |date".concat(count,"=").concat(dmyFormatDate," |result").concat(count,"='''").concat((0,_util.uppercaseFirst)(result.replace(/'''/g,"")),"''' |page").concat(count,"=").concat(_page2),wikitext=wikitext.replace(template.wikitext+"\n","").replace(template.wikitext,"")}else if(/(?:old ?mfd|mfdend|mfdold)(?:full)?/i.test(template.name)){count++;var subpage=template.getParamValue("votepage")||template.getParamValue("title")||template.getParamValue("page")||SUBJECTPAGENAME,_page3="Wikipedia:Miscellany for deletion/".concat(subpage);oldafdmulti+=" |date".concat(count,"=").concat(dmyFormatDate," |result").concat(count,"='''").concat((0,_util.uppercaseFirst)(result.replace(/'''/g,"")),"''' |page").concat(count,"=").concat(_page3),wikitext=wikitext.replace(template.wikitext+"\n","").replace(template.wikitext,"")}else if(/old?(?: |-)?rfd(?:full)?/i.test(template.name)){count++;var rawlink=template.getParamValue("rawlink"),_subpage=template.getParamValue("page")||ymdFormatDate+"#"+SUBJECTPAGENAME,_page4=rawlink?rawlink.slice(2,rawlink.indexOf("|")):"Wikipedia:Redirects for discussion/Log/"+_subpage;oldafdmulti+=" |date".concat(count,"=").concat(dmyFormatDate," |result").concat(count,"='''").concat((0,_util.uppercaseFirst)(result.replace(/'''/g,"")),"''' |page").concat(count,"=").concat(_page4),wikitext=wikitext.replace(template.wikitext+"\n","").replace(template.wikitext,"")}}}),"afd"!==this.model.venue.type&&0===count)return this.makeOldxfdWikitext()+wikitext;var currentCount=1===++count?"":count.toString(),currentResult=1===count?this.model.result.getResultText():(0,_util.uppercaseFirst)(this.model.result.getResultText()),page="afd"===this.model.venue.type?this.model.discussion.discussionSubpageName:this.model.discussion.discussionPageLink;return oldafdmulti+=" |date".concat(currentCount,"=").concat((0,_util.dmyDateString)(this.model.discussion.nominationDate)," |result").concat(currentCount,"='''").concat(currentResult,"''' |page").concat(currentCount,"=").concat(page,"}}"),oldAfdTemplate?wikitext.replace(oldAfdTemplate.wikitext,oldafdmulti):oldafdmulti+"\n"+wikitext.trim()}},{key:"transform",value:function(page){var _this2=this;if(this.model.aborted)return(0,_util.rejection)("aborted");var pageName=this.model.getResolvedTalkpagesNames().find(function(talkpageName){return talkpageName===page.title}),pageTitle=pageName&&_globals.mw.Title.newFromText(pageName);if(!pageTitle)return(0,_util.rejection)("unexpectedTitle");if(!pageTitle.getSubjectPage().exists())return(0,_util.rejection)("Subject page does not exist");var baseEditParams={section:"0",summary:this.model.getEditSummary({prefix:"Old ".concat(this.model.venue.type.toUpperCase(),":")})};switch(!0){case page.redirect&&"rfd"===this.model.venue.type:return _globals.OO.ui.confirm('"'.concat(page.title,'" is currently a redirect. Okay to replace with Old RFD template?')).then(function(confirmed){return confirmed?_objectSpread({},baseEditParams,{text:_this2.makeOldxfdWikitext(),redirect:!1}):_globals.$.Deferred().reject("skipped")});case page.redirect&&"mfd"===this.model.venue.type:return _objectSpread({},baseEditParams,{prependtext:this.makeOldxfdWikitext(pageTitle.getPrefixedText()),redirect:!0});case page.redirect&&"afd"!==this.model.venue.type:return _objectSpread({},baseEditParams,{appendtext:"\n"+this.makeOldxfdWikitext(),redirect:!1});default:return _objectSpread({},baseEditParams,{text:this.makeNewWikitext(page.missing?"":page.content,page.title),redirect:!1})}}},{key:"doTask",value:function(){var _this3=this,talkpagesNames=this.model.getResolvedTalkpagesNames();return 0===talkpagesNames.length?(this.model.addWarning("None found"),(0,_util.rejection)()):(this.model.setTotalSteps(talkpagesNames.length),this.model.setDoing(),this.api.editWithRetry(talkpagesNames,{rvsection:"0"},function(page){return _this3.transform(page)},function(){return _this3.model.trackStep()},function(code,error,title){return _this3.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this3.handleOverallError(errortype,code,error)}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),AddOldXfdTask}();exports.default=AddOldXfdTask},{"../../../globals":1,"../../Template":62,"../../util":85,"../TaskItemController":20}],25:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_util=require("../../util"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj};function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?_assertThisInitialized(self):call}}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var AddToHoldingCell=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(AddToHoldingCell,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(AddToHoldingCell);function AddToHoldingCell(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,AddToHoldingCell),_defineProperty(_assertThisInitialized(_this=_super.call(this,model,widgets)),"doTask",function(){var _this2=this;return this.model.setTotalSteps(1),this.model.setDoing(),this.api.editWithRetry(this.model.venue.subpagePath+"Holding cell",null,function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)})}),_this.model.setName("Listing at holding cell"),_this}return Constructor=AddToHoldingCell,(protoProps=[{key:"transform",value:function(holdingCellPage){var _this3=this;if(this.model.aborted)return(0,_util.rejection)("aorted");var sectionsArray=holdingCellPage.content.split(/\n={3,}/).map(function(section){var headingSigns=/^[^=]+(=+)\n/.exec(section);return headingSigns?headingSigns[1]+section:section}),changesMade=0,moduleCount=0;return this.model.getPageResults().forEach(function(pageResult){var pageName=_this3.model.discussion.redirects.resolveOne(pageResult.pageName),pageTitle=_globals.mw.Title.newFromText(pageName),options=_this3.model.options.getOptionValues(pageResult.selectedResultName);if(_this3.model.venue.ns_number.includes(pageTitle.getNamespaceId()))if(pageTitle.exists()){var main=pageTitle.getMain(),dateString=(0,_util.ymdDateString)(_this3.model.discussion.nominationDate),section=_this3.model.discussion.sectionHeader,deleteParam="ready"===options.holdcellSection?"|delete=1":"",nsParam=828===pageTitle.getNamespaceId()?"|ns=Module":"",sectionNum=_this3.model.venue.holdingCellSectionNumber[options.holdcellSection||options.holdcellMergeSection];sectionsArray[sectionNum]=AddToHoldingCell.cleanupSection(sectionsArray[sectionNum])+"\n*{{tfdl|".concat(main,"|").concat(dateString,"|section=").concat(section).concat(deleteParam).concat(nsParam,"}}\n"),changesMade++,nsParam&&moduleCount++}else _this3.model.addError("".concat((0,_util.makeLink)(pageName)," does not exist, and will not be listed at the holding cell"));else _this3.model.addError("".concat((0,_util.makeLink)(pageName)," is not in the expected namespace, and will not be listed at the holding cell"))}),0===changesMade?(0,_util.rejection)("noChangesMade"):{text:sectionsArray.join("\n"),summary:this.model.getEditSummary({prefix:"Listing ".concat(AddToHoldingCell.typeListed(changesMade,moduleCount),":")})}}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),AddToHoldingCell}();_defineProperty(exports.default=AddToHoldingCell,"cleanupSection",function(wikitext){return wikitext.replace(/\n*^\*\s*''None currently''\s*$(?![^<]*?-->)/gim,"").trim()}),_defineProperty(AddToHoldingCell,"typeListed",function(total,moduleCount){switch(!0){case 1===total&&0===moduleCount:return"template";case 1===total&&1===moduleCount:return"module";case total===moduleCount:return"modules";case 0===moduleCount:return"templates";case 2===total&&1===moduleCount:return"template and module";case total===moduleCount+1:return"template and modules";default:return"templates and modules"}})},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],26:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _util=require("../../util"),_config=_interopRequireDefault(require("../../config")),_TaskItemController2=_interopRequireDefault(require("../TaskItemController"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?_assertThisInitialized(self):call}}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var CloseDiscussion=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(CloseDiscussion,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(CloseDiscussion);function CloseDiscussion(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,CloseDiscussion),_defineProperty(_assertThisInitialized(_this=_super.call(this,model,widgets)),"doTask",function(){var _this2=this;return this.model.setTotalSteps(1),this.model.setDoing(),this.api.editWithRetry(this.model.discussion.discussionPageName,{rvsection:this.model.discussion.sectionNumber},function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){_this2.handlePageError("abort"),"abort"!==code&&"aborted"!==code&&_this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.model.setAborted(),_this2.handleOverallError(errortype,code,error),(0,_util.rejection)()})}),_this.model.setName("Closing discussion"),_this}return Constructor=CloseDiscussion,(protoProps=[{key:"transform",value:function(page){if(this.model.aborted)return(0,_util.rejection)("aborted");if(page.content.includes(this.model.venue.wikitext.alreadyClosed))return this.model.addError("Discussion already closed (reload page to see the close)"),(0,_util.rejection)("abort");if(this.model.venue.hasIndividualSubpages&&_config.default.startTime<new Date(page.revisions[0].timestamp))return this.model.addError("Edit conflict detected"),(0,_util.rejection)("abort");var section_heading=page.content.slice(0,page.content.indexOf("\n")),sectionHeadingText=CloseDiscussion.sectionHeadingText(section_heading);if(sectionHeadingText!==this.model.discussion.sectionHeader)return this.model.addError('Possible edit conflict detected, found section heading"'.concat(sectionHeadingText,'"')),(0,_util.rejection)("abort");var xfd_close_top=this.model.venue.wikitext.closeTop.replace(/__RESULT__/,this.model.result.getResultText()||"&thinsp;").replace(/__TO_TARGET__/,this.model.result.getFormattedTarget({prepend:" to "})).replace(/__RATIONALE__/,this.model.result.getFormattedRationale("punctuated")||".").replace(/__SIG__/,_config.default.user.sig),section_content=page.content.slice(page.content.indexOf("\n")+1).replace(/({{closing}}|{{AfDh}}|{{AfDb}}|\{\{REMOVE THIS TEMPLATE WHEN CLOSING THIS AfD\|.?\}\}|<noinclude>\[\[Category:Relisted AfD debates\|.*?\]\](\[\[Category:AfD debates relisted 3 or more times|.*?\]\])?<\/noinclude>)/gi,""),updated_section=(this.model.venue.hasIndividualSubpages?xfd_close_top+"\n"+section_heading:section_heading+"\n"+xfd_close_top)+"\n"+section_content.trim()+"\n"+this.model.venue.wikitext.closeBottom;return{section:this.model.discussion.sectionNumber,text:updated_section,summary:"/* ".concat(this.model.discussion.sectionHeader," */ Closed as ").concat(this.model.result.getResultText()," ").concat(_config.default.script.advert)}}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),CloseDiscussion}();_defineProperty(exports.default=CloseDiscussion,"sectionHeadingText",function(wikitext){return(0,_util.decodeHtml)(wikitext.replace(/(?:^\s*=*\s*|\s*=*\s*$)/g,"").replace(/\[\[:?(?:[^\]]+\|)?([^\]]+)\]\]/g,"$1").replace(/{{\s*[Tt]l[a-z]?\s*\|\s*([^}]+)}}/g,"{{$1}}").replace(/s*}}/,"}}").replace(/\s{2,}/g," ").trim())})},{"../../config":81,"../../util":85,"../TaskItemController":20}],27:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var DeletePages=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(DeletePages,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(DeletePages);function DeletePages(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,DeletePages),(_this=_super.call(this,model,widgets)).model.setName("Deleting ".concat(1<model.pageNames.length?"pages":"page")),_this}return Constructor=DeletePages,(protoProps=[{key:"verifyPage",value:function(pageName){return!!_globals.mw.Title.newFromText(pageName).exists()||(this.model.addWarning("".concat((0,_util.makeLink)(pageName)," skipped: does not exist (may have already been deleted by others)")),this.model.trackStep("failed"),!1)}},{key:"doTask",value:function(){var _this2=this;this.model.setTotalSteps(this.model.discussion.pages.length),this.model.setDoing();var pagesToDelete=this.model.getResolvedPageNames().filter(function(pageName){return _this2.verifyPage(pageName)});return 0===pagesToDelete.length?(0,_util.rejection)():this.api.deleteWithRetry(pagesToDelete,{reason:this.model.getEditSummary({short:!0})},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title,"delete")}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),DeletePages}();exports.default=DeletePages},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],28:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var DeleteRedirects=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(DeleteRedirects,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(DeleteRedirects);function DeleteRedirects(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,DeleteRedirects),(_this=_super.call(this,model,widgets)).model.setName("Deleting redirects"),_this}return Constructor=DeleteRedirects,(protoProps=[{key:"titlesFromResponsePages",value:function(pages){var _this2=this,result={titles:pages.map(function(page){return page.title}),talkTitles:pages.filter(function(page){return page.talkid}).map(function(page){return _globals.mw.Title.newFromText(page.title).getTalkPage().getPrefixedText()})};return this.model.setTotalSteps(result.titles.length+result.talkTitles.length),result.titles.length<10?result:(0,_util.multiButtonConfirm)({title:"Warning",message:"Mass action to be peformed: delete ".concat(result.titles.length," redirects."),actions:[{label:"Cancel",flags:"safe"},{label:"View redirects...",action:"show"},{label:"Delete redirects",action:"accept",flags:"progressive"}],size:"medium",scrolled:!0}).then(function(action){return"show"!==action?action:(0,_util.multiButtonConfirm)({title:"Warning",message:"Mass action to be peformed: delete ".concat(result.titles.length," redirects:<ul>").concat(result.titles.map(function(title){return"<li>".concat(title,"</li>")}).join(""),"</ul>"),actions:[{label:"Cancel",flags:"safe"},{label:"Delete redirects",action:"accept",flags:"progressive"}],size:"medium",scrolled:!0})}).then(function(action){return"accept"!==action?(_this2.model.addWarning("Cancelled by user"),_globals.$.Deferred().reject("Skipped.")):result})}},{key:"doTask",value:function(){var _this3=this;return this.api.queryWithContinue({titles:this.model.getResolvedPageNames(),generator:"redirects",grdlimit:"max",prop:"info",inprop:"talkid"}).then(function(response){return _this3.model.aborted?(0,_util.rejection)("aborted"):response&&response.pages?_this3.titlesFromResponsePages(response.pages):(_this3.model.addWarning("none found"),(0,_util.rejection)("Skipped."))}).then(function(result){if(_this3.model.aborted)return(0,_util.rejection)("aborted");_this3.model.setDoing();var deleteRedirectsPromise=_this3.api.deleteWithRetry(result.titles,{reason:_this3.model.getEditSummary({prefix:"[[WP:G8|G8]] (redirect):"})},function(){return _this3.model.trackStep()},function(code,error,title){return _this3.handlePageError(code,error,title,"delete")}).catch(function(errortype,code,error){_this3.handleOverallError(errortype,code,error)}),deleteTalkpagesPromise=result.talkTitles.length&&_this3.api.deleteWithRetry(result.talkTitles,{reason:_this3.model.getEditSummary({prefix:"[[WP:G8|G8]] (talk page of redirect):"})},function(){return _this3.model.trackStep()},function(code,error,title){return _this3.handlePageError(code,error,title,"delete")}).catch(function(errortype,code,error){_this3.handleOverallError(errortype,code,error)});return _globals.$.when(deleteRedirectsPromise,deleteTalkpagesPromise)})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),DeleteRedirects}();exports.default=DeleteRedirects},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],29:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var DeleteTalkpages=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(DeleteTalkpages,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(DeleteTalkpages);function DeleteTalkpages(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,DeleteTalkpages),(_this=_super.call(this,model,widgets)).model.setName("Deleting talk ".concat(1<model.pageNames.length?"pages":"page")),_this}return Constructor=DeleteTalkpages,(protoProps=[{key:"verifyPage",value:function(pageName){var title=_globals.mw.Title.newFromText(pageName),isUserTalkBasePage=3===title.getNamespaceId()&&!pageName.includes("/");return title.exists()?!isUserTalkBasePage||(this.model.addWarning("".concat((0,_util.makeLink)(pageName)," skipped: base user talk page (not eligible for G8 speedy deletion)")),this.model.trackStep("skipped"),!1):(this.model.addWarning("".concat((0,_util.makeLink)(pageName)," skipped: does not exist (may have already been deleted by others)")),this.model.trackStep("skipped"),!1)}},{key:"doTask",value:function(){var _this2=this,talkPages=this.model.getResolvedTalkpagesNames();if(0===talkPages.length)return this.model.addWarning("None found"),(0,_util.rejection)();this.model.setTotalSteps(talkPages.length);var talkPagesToDelete=talkPages.filter(function(pageName){return _this2.verifyPage(pageName)});return this.model.setDoing(),this.api.deleteWithRetry(talkPagesToDelete,{reason:this.model.getEditSummary({prefix:"[[WP:G8|G8]]:"})},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title,"delete")}).catch(function(errortype,code,error){_this2.handleOverallError(errortype,code,error)})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),DeleteTalkpages}();exports.default=DeleteTalkpages},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],30:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var Disambiguate=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(Disambiguate,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(Disambiguate);function Disambiguate(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Disambiguate),(_this=_super.call(this,model,widgets)).model.setName("Updating ".concat(1<model.pageNames.length?"pages":"page")),_this}return Constructor=Disambiguate,(protoProps=[{key:"transform",value:function(page){if(this.model.aborted)return(0,_util.rejection)("aborted");if(!this.model.getResolvedPageNames().includes((0,_util.docToModule)(page.title)))return(0,_util.rejection)("unexpectedTitle");if(page.missing)return(0,_util.rejection)("doesNotExist");var updatedWikitext=page.content.replace(this.model.venue.regex.fullNomTemplate,"");return updatedWikitext===page.content&&(this.model.addWarning("Nomination template not found on page ".concat((0,_util.makeLink)(page.title))),updatedWikitext=page.content.replace(/^#REDIRECT/im,"*")),{text:/(?:disambiguation|disambig|dab|Mil-unit-dis|Numberdis)[^{]*}}/i.test(updatedWikitext)?updatedWikitext.trim():updatedWikitext.trim()+"\n{{Disambiguation cleanup|{{subst:DATE}}}}",summary:this.model.getEditSummary()}}},{key:"doTask",value:function(){var _this2=this,pageNames=this.model.getResolvedPageNames();return 0===pageNames.length?(this.model.addWarning("None found"),(0,_util.rejection)()):(this.model.setTotalSteps(pageNames.length),this.model.setDoing(),this.api.editWithRetry(pageNames,null,function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Disambiguate}();exports.default=Disambiguate},{"../../util":85,"../TaskItemController":20}],31:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../../globals"),_config=_interopRequireDefault(require("../../config")),_TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var RelistInfo=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(RelistInfo,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(RelistInfo);function RelistInfo(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,RelistInfo),(_this=_super.call(this,model,widgets)).model.setName("Preparing to relist"),_this}return Constructor=RelistInfo,(protoProps=[{key:"getRelistTemplate",value:function(content){var relists=content.match(/\[\[Wikipedia:Deletion process#Relisting discussions\|Relisted\]\]/g),relistNumber=relists?relists.length+1:1;return"{{subst:Relist|1=".concat(this.model.result.getRelistComment(),"|2=").concat(relistNumber,"}}")}},{key:"getRelistWikitext",value:function(content){var _this2=this,heading=content.slice(0,content.indexOf("\n")),newWikitext=content.trim()+"\n".concat(this.getRelistTemplate(content),"\n"),oldLogWikitext="";switch(this.model.venue.type){case"afd":newWikitext=newWikitext.replace(/\[\[Wikipedia:Articles for deletion\/Log\/\d{4} \w+ \d{1,2}#/,"[["+this.todaysLogpage+"#");break;case"ffd":case"tfd":var xfdCloseTop=this.model.venue.wikitext.closeTop.replace(/__RESULT__/,"relisted").replace(/__TO_TARGET__/," on [[".concat(this.todaysLogpage,"#").concat(this.model.discussion.sectionHeader,"|").concat(RelistInfo.today,"]]")).replace(/__RATIONALE__/,".").replace(/__SIG__/,_config.default.user.sig),pagesList=this.model.discussion.pages.map(function(page){return _this2.model.venue.wikitext.pagelinks.replace("__PAGE__",page.getMain()+(828===page.getNamespaceId()?"|module=Module":""))}).join("");oldLogWikitext="".concat(heading,"\n").concat(xfdCloseTop,"\n").concat(pagesList+this.model.venue.wikitext.closeBottom);break;case"mfd":var splitIndex=newWikitext.indexOf("\n",newWikitext.lastIndexOf(":{{pagelinks"));newWikitext="".concat(newWikitext.slice(0,splitIndex).trim(),"\n{{subst:mfdr}}\n").concat(newWikitext.slice(splitIndex+1).trim());break;case"rfd":var topWikitext="====".concat(this.model.discussion.sectionHeader,"===="),firstNomIndex=content.indexOf("*<span id="),lastNomIndex=content.lastIndexOf("*<span id=");if(firstNomIndex!==lastNomIndex){var sliceFrom=content.indexOf("\n",firstNomIndex-2),sliceTo=content.indexOf("\n",lastNomIndex);topWikitext+="\n<noinclude>"+content.slice(sliceFrom,sliceTo).replace(/\*<span/g,"<span").replace(/^(?!<span).*$\n?/gm,"").replace(/>.*$\s*/gm,"></span>").trim()+"</noinclude>"}oldLogWikitext="".concat(topWikitext,"\n{{subst:rfd relisted|page=").concat(RelistInfo.today,"|").concat(this.model.discussion.sectionHeader,"}}");break;case"cfd":oldLogWikitext="====".concat(this.model.discussion.sectionHeader,"====\n{{subst:cfd relisted|").concat(this.model.discussion.sectionHeader,"}}")}return{newWikitext:newWikitext,oldLogWikitext:oldLogWikitext}}},{key:"getLogInfo",value:function(embeddedinLogpage){var _this3=this;switch(this.model.venue.type){case"ffd":case"mfd":return{newLogEditType:"appendtext"};case"tfd":case"rfd":case"cfd":return this.api.get({action:"query",titles:this.todaysLogpage,prop:"revisions",rvprop:"content|timestamp",rvslots:"main",curtimestamp:1,formatversion:"2"}).then(function(response){return _this3.getNewLogInfo(response.query.pages[0],response.curtimestamp)});case"afd":return this.api.get({action:"query",titles:[embeddedinLogpage.title,this.todaysLogpage],prop:"revisions",rvprop:"content|timestamp",rvslots:"main",curtimestamp:1,formatversion:"2"}).then(function(response){return _this3.getTranscludingLogsInfo(response.query.pages,response.curtimestamp)});default:return(0,_util.rejection)("abort","Unknown XfD venue")}}},{key:"getNewLogInfo",value:function(page,curtimestamp){if(page.missing)return(0,_util.rejection)("abort","Today's log page does not yet exist");var newLogTimestamps={start:curtimestamp,base:page.revisions[0].timestamp},logWikitext=page.revisions[0].slots.main.content,h4_match=/====\s*(.*?)\s*====/.exec(logWikitext),h4=h4_match&&h4_match[1];return{newLogTimestamps:newLogTimestamps,newLogSection:h4?2:1,newLogEditType:h4&&"NEW NOMINATIONS"!==h4.toUpperCase()?"prependtext":"appendtext"}}},{key:"getTranscludingLogsInfo",value:function(pages,curtimestamp){if(1===pages.length)return(0,_util.rejection)("abort","Already transcluded to today's log page");var _ref2=_slicedToArray(pages[0].title===this.todaysLogpage?pages:pages.slice().reverse(),2),newLogpage=_ref2[0],oldLogpage=_ref2[1],newLogContent=newLogpage.revisions[0].slots.main.content,oldLogContent=oldLogpage.revisions[0].slots.main.content,newLogTimestamps={start:curtimestamp,base:newLogpage.revisions[0].timestamp},oldLogTimestamps={start:curtimestamp,base:oldLogpage.revisions[0].timestamp},escapedTitle=_globals.mw.util.escapeRegExp(this.model.discussion.discussionPageName),hiddenOnOldLogpage=new RegExp("\x3c!-- ?\\{\\{"+escapedTitle+"\\}\\} ?--\x3e","i"),listedOnNewLogpage=new RegExp("\\{\\{"+escapedTitle+"\\}\\}","i");if(hiddenOnOldLogpage.test(oldLogContent)||listedOnNewLogpage.test(newLogContent))return(0,_util.rejection)("abort","Discussion has been relisted already");var listCommentPattern=new RegExp("\x3c!-- Add new entries to the TOP of the following list --\x3e","i"),newLogWikitext=newLogContent.replace(listCommentPattern,"\x3c!-- Add new entries to the TOP of the following list --\x3e\n{{"+this.model.discussion.discussionPageName+"}}\x3c!--Relisted--\x3e"),transclusionPattern=new RegExp("(\\{\\{"+escapedTitle+"\\}\\})","i"),oldlogTransclusion=transclusionPattern.test(oldLogContent),oldLogWikitext=oldLogContent.replace(transclusionPattern,"\x3c!-- $1 --\x3e");return{oldlogtitle:oldLogpage.title,oldlogTransclusion:oldlogTransclusion,oldLogWikitext:oldLogWikitext,oldLogTimestamps:oldLogTimestamps,newLogWikitext:newLogWikitext,newLogTimestamps:newLogTimestamps,newLogSection:1,newLogEditType:"text"}}},{key:"getEmbeddedInLogpages",value:function(embeddedin){var _this4=this;return embeddedin.filter(function(ei){return ei.title.includes(_this4.model.venue.path)})}},{key:"doTask",value:function(){var _this5=this;return this.model.setTotalSteps(1),this.model.setDoing(),this.api.get(this.query).then(function(response){if(_this5.model.aborted)return(0,_util.rejection)("aborted");var content=response.query.pages[0].revisions[0].slots.main.content;if(content.includes("xfd-closed"))return(0,_util.rejection)("abort","Discussion is already closed");var embeddedinLogpage,discussionPageTimestamps={start:response.curtimestamp,base:response.query.pages[0].revisions[0].timestamp},_this5$getRelistWikit=_this5.getRelistWikitext(content),newWikitext=_this5$getRelistWikit.newWikitext,oldLogWikitext=_this5$getRelistWikit.oldLogWikitext;if(response.query.embeddedin){var embeddedInLogpages=response.query.embeddedin.filter(function(ei){return ei.title.includes(_this5.model.venue.path)});if(0===embeddedInLogpages.length)return(0,_util.rejection)("abort","Old log page not found");1<embeddedInLogpages.length&&embeddedInLogpages.slice(1).forEach(function(logpage){return _this5.model.addWarning("Note: transcluded on additional log page: "+(0,_util.makeLink)(logpage.title,logpage.title.replace(_this5.model.venue.path,"")))}),embeddedinLogpage=embeddedInLogpages[0]}return _globals.$.when(_this5.getLogInfo(embeddedinLogpage)).then(function(logInfo){if(_this5.model.aborted)return(0,_util.rejection)("abort");_this5.model.discussion.setRelistInfo(_objectSpread({today:RelistInfo.today,discussionPageTimestamps:discussionPageTimestamps,newWikitext:newWikitext,oldLogWikitext:oldLogWikitext},logInfo)),_this5.model.trackStep()})}).catch(function(code,error){return _this5.model.setAborted(),"abort"===code?_this5.model.addError("Aborted".concat("string"==typeof error?": "+error:".")):(_this5.model.addError("Aborted: ".concat(code||"unknown"," error")),_this5.logError(code,error)),(0,_util.rejection)()})}},{key:"todaysLogpage",get:function(){return this.model.venue.path+RelistInfo.today}},{key:"query",get:function(){var queryBase={action:"query",titles:this.model.discussion.discussionPageName,prop:"revisions",indexpageids:1,rvprop:"content|timestamp",rvslots:"main",curtimestamp:1,formatversion:"2"};return"afd"===this.model.venue.type?_objectSpread({},queryBase,{list:"embeddedin",eititle:this.model.discussion.discussionPageName,einamespace:this.model.venue.ns_logpages,eifilterredir:"nonredirects",eilimit:500}):_objectSpread({},queryBase,{rvsection:this.model.discussion.sectionNumber})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),RelistInfo}();_defineProperty(exports.default=RelistInfo,"today",(0,_util.ymdDateString)(new Date))},{"../../../globals":1,"../../config":81,"../../util":85,"../TaskItemController":20}],32:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function Redirection(config){_classCallCheck(this,Redirection),this.from=config.from,this.to=config.to,this.deleteFirst=config.deleteFirst,this.isSoft=config.isSoft,this.rcats=config.options&&config.options.rcats}var Redirect=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(Redirect,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(Redirect);function Redirect(model,widgets){var _this;_classCallCheck(this,Redirect);var plural=1<(_this=_super.call(this,model,widgets)).model.pageNames.length,label=_this.redirections.find(function(redirection){return redirection.deleteFirst})?"Deleting ".concat(plural?"pages":"page"," and replacing with ").concat(plural?"redirects":"redirect"):"Replacing ".concat(plural?"pages":"page"," with ").concat(plural?"redirects":"redirect");return _this.model.setName(label),_this}return Constructor=Redirect,(protoProps=[{key:"transform",value:function(redirection){if(this.aborted&&!redirection.deleteFirst)return(0,_util.rejection)("aborted");var text,rcatshell=redirection.rcats&&redirection.rcats.length?"\n\n{{Rcat shell|\n".concat(redirection.rcats.join("\n"),"\n}}"):"";if((0,_util.isModule)(redirection.from)){if(!(0,_util.isModule)(redirection.to))return(0,_util.rejection)("targetIsNotModule",{target:redirection.to});text='return require( "'.concat(redirection.to,'" )')}else text=redirection.isSoft?"{{Soft redirect|".concat(redirection.to,"}}").concat(rcatshell):"#REDIRECT [[".concat(redirection.to,"]]").concat(rcatshell);return{text:text,summary:this.model.getEditSummary()}}},{key:"redirect",value:function(redirection){var _this2=this;return this.api.editWithRetry(redirection.from,null,function(){return _this2.transform(redirection)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){"read"===errortype&&(_this2.model.addError("".concat(code||"unknown"," error: Could not read contents of ").concat((0,_util.makeLink)(redirection.from))),_this2.model.trackStep("failed"),_this2.logError(code,error))})}},{key:"deleteAndRedirect",value:function(redirection){var _this3=this;return this.api.deleteWithRetry(redirection.from,{reason:this.model.getEditSummary({short:!0})}).then(function(){return _this3.redirect(redirection)},function(_errortype,code,error){_this3.model.addError("".concat(code||"unknown"," error: Could not delete ").concat((0,_util.makeLink)(redirection.from))),_this3.model.trackStep("failed"),_this3.logError(code,error)})}},{key:"doTask",value:function(){var _this4=this;return this.model.setTotalSteps(this.redirections.length),this.model.setDoing(),_globals.$.when.apply(null,this.redirections.map(function(redirection){return redirection.deleteFirst?_this4.deleteAndRedirect(redirection):_this4.redirect(redirection)}))}},{key:"redirections",get:function(){var _this5=this,targets=(0,_util.uniqueArray)(this.model.getPageResults().map(function(pageResult){return(0,_util.normalisePageName)(pageResult.targetPageName)}));return this.model.getPageResults().filter(function(pageResult){var resolvedPageName=_this5.model.discussion.redirects.resolveOne(pageResult.pageName);return!targets.includes(resolvedPageName)}).map(function(pageResult){return new Redirection({from:_this5.model.discussion.redirects.resolveOne(pageResult.pageName),to:(0,_util.normalisePageName)(pageResult.targetPageName),deleteFirst:pageResult.isDeleteFirst(),isSoft:pageResult.isSoft(),options:_this5.model.options.getOptionValues(pageResult.resultName)})})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Redirect}();exports.default=Redirect},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],33:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../../globals"),_TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_unlink=_interopRequireDefault(require("../../unlink"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var RemoveCircularLinks=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(RemoveCircularLinks,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(RemoveCircularLinks);function RemoveCircularLinks(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,RemoveCircularLinks),(_this=_super.call(this,model,widgets)).model.setName("Unlinking circular links on redirect target"),_this}return Constructor=RemoveCircularLinks,(protoProps=[{key:"transform",value:function(page){if(this.model.aborted)return(0,_util.rejection)("aborted");var newWikitext;try{newWikitext=this.model.venue.removeNomTemplate(page.content)}catch(e){return(0,_util.rejection)("couldNotUpdate",e)}return(newWikitext=(0,_util.cleanupVoidTemplates)((0,_unlink.default)(newWikitext,this.model.getResolvedPageNames())))===page.content?(0,_util.rejection)("skippedNoneFound"):{text:newWikitext,summary:this.model.getEditSummary({prefix:"Unlinking circular redirects:"})}}},{key:"doTask",value:function(){var _this2=this;return this.model.setTotalSteps(this.targets.length),this.model.setDoing(),this.api.editWithRetry(this.targets,null,function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){if("read"===errortype)return _this2.model.addError(code,error,"Could not read contents of redirect ".concat((_this2.targets.length,"targets"))),(0,_util.rejection)()})}},{key:"targets",get:function(){return(0,_util.uniqueArray)(this.model.getPageResults().map(function(pageResult){return _globals.mw.Title.newFromText(pageResult.targetPageName).getPrefixedText()}))}},{key:"pageNamesToUnlink",get:function(){var _this3=this,targets=this.targets;return this.model.getPageResults().filter(function(pageResult){var resolvedPageName=_this3.model.discussion.redirects.resolveOne(pageResult.pageName);return!targets.includes(resolvedPageName)}).map(function(pageResult){return pageResult.pageName})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),RemoveCircularLinks}();exports.default=RemoveCircularLinks},{"../../../globals":1,"../../unlink":84,"../../util":85,"../TaskItemController":20}],34:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var RemoveNomTemplates=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(RemoveNomTemplates,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(RemoveNomTemplates);function RemoveNomTemplates(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,RemoveNomTemplates),(_this=_super.call(this,model,widgets)).model.setName("Updating ".concat(1<model.pageNames.length?"pages":"page")),_this}return Constructor=RemoveNomTemplates,staticProps=[{key:"transform",value:function(context,page,prependContent){if(prependContent=prependContent||"",context.aborted)return(0,_util.rejection)("aborted");var text,unresolvedPageName=context.model.discussion.redirects.unresolveOne((0,_util.docToModule)(page.title));if(!context.model.discussion.pages.find(function(page){return page.getPrefixedText()===unresolvedPageName}))return(0,_util.rejection)("unexpectedTitle");if(page.missing||!_globals.mw.Title.newFromText((0,_util.docToModule)(page.title)).exists())return(0,_util.rejection)("doesNotExist");if(!prependContent&&!context.model.venue.hasNomTemplate(page.content))return(0,_util.rejection)("nominationTemplateNotFound");try{text=prependContent+context.model.venue.removeNomTemplate(page.content)}catch(e){return(0,_util.rejection)("couldNotUpdate",e)}return{text:text,summary:context.model.getEditSummary()}}}],(protoProps=[{key:"doTask",value:function(){var _this2=this;return this.model.setTotalSteps(this.model.pageNames.length),this.model.setDoing(),this.api.editWithRetry(this.model.getResolvedPageNames().map(_util.moduleToDoc),null,function(page){return RemoveNomTemplates.transform(_this2,page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),RemoveNomTemplates}();exports.default=RemoveNomTemplates},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],35:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../../globals"),_TaskItemController2=(obj=require("../TaskItemController"))&&obj.__esModule?obj:{default:obj},_util=require("../../util");function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var TagTalkWithSpeedy=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(TagTalkWithSpeedy,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(TagTalkWithSpeedy);function TagTalkWithSpeedy(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,TagTalkWithSpeedy),(_this=_super.call(this,model,widgets)).model.setName("Tagging talk ".concat(1<model.pageNames.length?"pages":"page")),_this}return Constructor=TagTalkWithSpeedy,(protoProps=[{key:"verifyPage",value:function(pageName){var title=_globals.mw.Title.newFromText(pageName),isUserTalkBasePage=3===title.getNamespaceId()&&!pageName.includes("/");return title.exists()?!isUserTalkBasePage||(this.model.addWarning("".concat((0,_util.makeLink)(pageName)," skipped: base user talk page (not eligible for G8 speedy deletion)")),this.model.trackStep("skipped"),!1):(this.model.addWarning("".concat((0,_util.makeLink)(pageName)," skipped: does not exist (may have already been deleted by others)")),this.model.trackStep("skipped"),!1)}},{key:"transform",value:function(){return this.aborted?(0,_util.rejection)("aborted"):{prependtext:"{{Db-talk}}\n",summary:this.model.getEditSummary({short:!0,prefix:"[[WP:G8|G8]] Speedy deletion nomination, per"}),nocreate:1}}},{key:"doTask",value:function(){var _this2=this,talkPages=this.model.getResolvedTalkpagesNames();if(0===talkPages.length)return this.model.addWarning("None found"),(0,_util.rejection)();this.model.setTotalSteps(talkPages.length);var talkPagesToTag=talkPages.filter(function(talkPage){return _this2.verifyPage(talkPage)});return 0===talkPagesToTag.length?_globals.$.Deferred().resolve("Skipped"):(this.model.setDoing(),this.api.editWithRetry(talkPagesToTag,null,function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),TagTalkWithSpeedy}();exports.default=TagTalkWithSpeedy},{"../../../globals":1,"../../util":85,"../TaskItemController":20}],36:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../../globals"),_TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_unlink=_interopRequireDefault(require("../../unlink"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var UnlinkBacklinks=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(UnlinkBacklinks,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(UnlinkBacklinks);function UnlinkBacklinks(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UnlinkBacklinks),(_this=_super.call(this,model,widgets)).model.setName("Unlinking backlinks"),_this.finishedReadingApi=_globals.$.Deferred(),_this.queuedPrompts=[],_this.redirectPageNames=[],_this}return Constructor=UnlinkBacklinks,staticProps=[{key:"flattenResults",value:function(list){return list.flatMap(function(page){return page.redirect?(page.redirlinks||[]).map(function(subpage){return subpage.title}):page.title})}},{key:"findRedirectResults",value:function(list){return list.filter(function(page){return page.redirect}).map(function(page){return page.title})}},{key:"ignoreResultTitle",value:function(title){return["Template:WPUnited States Article alerts","Template:Article alerts columns","Template:Did you know nominations"].includes(title.split("/")[0])}}],(protoProps=[{key:"getQuery",value:function(pageName){var query={list:"backlinks",blfilterredir:"nonredirects",bllimit:"max",blnamespace:this.model.venue.ns_unlink,blredirect:1,bltitle:pageName};return(0,_util.isFile)(pageName)?function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({},query,{list:"backlinks|imageusage",iufilterredir:"nonredirects",iulimit:"max",iunamespace:this.model.venue.ns_unlink,iuredirect:1,iutitle:pageName}):query}},{key:"getUnlinkPages",value:function(backlinks,imageusage){var blPageNames=(0,_util.uniqueArray)(UnlinkBacklinks.flattenResults(backlinks)).filter(function(title){return!UnlinkBacklinks.ignoreResultTitle(title)}),iuPageNames=(0,_util.uniqueArray)(UnlinkBacklinks.flattenResults(imageusage)).filter(function(title){return!UnlinkBacklinks.ignoreResultTitle(title)});return{unlinkPageNames:(0,_util.uniqueArray)([].concat(_toConsumableArray(blPageNames),_toConsumableArray(iuPageNames))),redirectPageNames:UnlinkBacklinks.findRedirectResults([].concat(_toConsumableArray(backlinks),_toConsumableArray(imageusage))),hasImageUsage:0<iuPageNames.length}}},{key:"processSelection",value:function(selection){var _this2=this;if(this.model.aborted)return(0,_util.rejection)("aborted");if(selection&&"accept"===selection.action){if(selection.items&&0!==selection.items.length){this.model.setTotalSteps(selection.items.length);var editPromises=selection.items.reduce(function(batches,title){return 50===batches[batches.length-1].length?batches[batches.length]=[title]:batches[batches.length-1].push(title),batches},[[]]).map(function(batch){return _this2.api.editWithRetry(batch,{prop:"categories|revisions",clcategories:"Category:All disambiguation pages"},function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)})});return _globals.$.when.apply(null,editPromises)}this.model.addWarning("No pages selected")}else this.model.addWarning("Cancelled by user")}},{key:"transform",value:function(page){var _this3=this;if(this.model.aborted)return(0,_util.rejection)("aborted");var newWikitext=(0,_unlink.default)(page.content,[].concat(_toConsumableArray(this.model.getResolvedPageNames()),_toConsumableArray(this.redirectPageNames)),page.ns,!!page.categories);return newWikitext===page.content?(0,_util.rejection)("skippedNoLinks"):this.processListItems(page.title,newWikitext).then(function(updatedWikitext,isMajorEdit){var prefix="Removing link(s)"+(isMajorEdit?" / list item(s)":"")+((0,_util.isFile)(page.title)?" / file usage(s)":""),req={text:(0,_util.cleanupVoidTemplates)(updatedWikitext),summary:_this3.model.getEditSummary({prefix:prefix}),nocreate:1};return isMajorEdit||(req.minor=1),req})}},{key:"processListItems",value:function(pageTitle,wikitext,isMajorEdit){var _this4=this;if(this.model.aborted)return(0,_util.rejection)("aborted");var linesToReview=/^{{subst:void}}(.*)$/m.exec(wikitext);if(!linesToReview)return _globals.$.Deferred().resolve(wikitext,!!isMajorEdit).promise();var allHeadings=wikitext.split("{{subst:void}}")[0].match(/^=+.+?=+$/gm),heading=allHeadings?allHeadings[allHeadings.length-1].replace(/(^=* *| *=*$)/g,"").replace(/\{\{.*?\}\}/g,"").replace(/\[\[([^|\]]*?)\|([^\]]*?)\]\]/,"$2").replace(/\[\[([^|\]]*?)\]\]/,"$1"):null,message="<p>A backlink has been removed from the following list item:</p>\n<strong>List:</strong> [[".concat(heading?pageTitle+"#"+heading:pageTitle,"]]\n<pre>").concat(linesToReview[1],"</pre>\n<p>Please check if the item matches the list's [[WP:LISTCRITERIA|selection criteria]] before deciding to keep or remove the item from the list.</p>");return this.queueMultiButtonConfirm({title:"Review unlinked list item",message:message,actions:[{label:"Keep item",action:"keep",icon:"articleCheck",flags:"progressive"},{label:"Keep and request citation",action:"keep-cite",icon:"flag"},{label:"Remove item",action:"remove",icon:"trash",flags:"destructive"}],size:"large",scrolled:!0}).then(function(action){return"keep"===action?wikitext=wikitext.replace(/^{{subst:void}}/m,""):"keep-cite"===action?wikitext=wikitext.replace(/^{{subst:void}}(.*)(\n?)/m,"$1{{subst:Citation needed}}$2"):(wikitext=wikitext.replace(/^{{subst:void}}.*\n?/m,""),isMajorEdit=!0),_this4.processListItems(pageTitle,wikitext,isMajorEdit)})}},{key:"queueMultiButtonConfirm",value:function(params){var _this5=this,previousPrompt=this.queuedPrompts.length&&this.queuedPrompts[this.queuedPrompts.length-1],prompt=_globals.$.when(previousPrompt).then(function(){return _this5.aborted?(0,_util.rejection)("aborted"):(0,_util.multiButtonConfirm)(params)});return this.queuedPrompts.push(prompt),prompt}},{key:"doTask",value:function(){var _this6=this;return _globals.$.when.apply(null,this.model.getResolvedPageNames().map(function(pageName){return _this6.api.queryWithContinue(_this6.getQuery(pageName))})).then(function(){return Array.prototype.slice.call(arguments).reduce(_util.recursiveMerge)}).then(function(result){if(_this6.model.setDoing(),_this6.model.aborted)return(0,_util.rejection)("aborted");if(result.imageusage||(result.imageusage=[]),result.backlinks.length+result.imageusage.length===0)return _this6.model.addWarning("none found"),_this6.model.setTotalSteps(1),_this6.model.trackStep("skipped"),"Skipped";var _this6$getUnlinkPages=_this6.getUnlinkPages(result.backlinks,result.imageusage),unlinkPageNames=_this6$getUnlinkPages.unlinkPageNames,redirectPageNames=_this6$getUnlinkPages.redirectPageNames,hasImageUsage=_this6$getUnlinkPages.hasImageUsage;_this6.redirectPageNames=redirectPageNames;var title='"Unlink backlinks'.concat(hasImageUsage?" (and file usage)":"",":"),messages=["<p>All selected pages below may be edited (unless backlinks are only present due to transclusion of a template).</p>","<p>Use with caution, after reviewing the ".concat(1===unlinkPageNames.length?"page":unlinkPageNames.length+" pages"," listed below.</p>"),"<p>Note that the use of high speed, high volume editing software (such as this tool and Twinkle's unlink tool) is subject to the Bot policy's [[WP:ASSISTED|Assisted editing guidelines]]","<hr>"];return(0,_util.multiCheckboxMessageDialog)({title:title,message:_globals.$.apply(void 0,messages),items:unlinkPageNames.map(function(pageName){return{data:pageName,label:pageName,selected:!0}}),size:"medium",scrolled:!0}).then(function(selection){return _this6.processSelection(selection)})})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UnlinkBacklinks}();exports.default=UnlinkBacklinks},{"../../../globals":1,"../../unlink":84,"../../util":85,"../TaskItemController":20}],37:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_config=_interopRequireDefault(require("../../config"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var UpdateDiscussion=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(UpdateDiscussion,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(UpdateDiscussion);function UpdateDiscussion(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UpdateDiscussion),(_this=_super.call(this,model,widgets)).model.setName("Updating discussion"),_this}return Constructor=UpdateDiscussion,(protoProps=[{key:"getParams",value:function(){var _this$model$discussio=this.model.discussion.relistInfo,discussionPageTimestamps=_this$model$discussio.discussionPageTimestamps,newWikitext=_this$model$discussio.newWikitext,params={action:"edit",title:this.model.discussion.discussionPageName,text:newWikitext,summary:"Relisting discussion ".concat(_config.default.script.advert),assert:"user",basetimestamp:discussionPageTimestamps.base,starttimestamp:discussionPageTimestamps.start};return"mfd"===this.model.venue.type&&(params.section=this.model.discussion.sectionNumber),params}},{key:"doTask",value:function(){var _this2=this;return this.aborted?(0,_util.rejection)("aborted"):(this.model.setTotalSteps(1),this.model.setDoing(),this.api.postWithToken("csrf",this.getParams()).then(function(){return _this2.model.trackStep()},function(code,error){return _this2.handlePageError(code,error,_this2.model.discussion.discussionPageName),(0,_util.rejection)()}))}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UpdateDiscussion}();exports.default=UpdateDiscussion},{"../../config":81,"../../util":85,"../TaskItemController":20}],38:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_config=_interopRequireDefault(require("../../config"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var UpdateNewLogPage=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(UpdateNewLogPage,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(UpdateNewLogPage);function UpdateNewLogPage(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UpdateNewLogPage),(_this=_super.call(this,model,widgets)).model.setName("Adding to today's log page"),_this}return Constructor=UpdateNewLogPage,(protoProps=[{key:"getParams",value:function(){var relistInfo=this.model.discussion.relistInfo,params={action:"edit",title:this.model.venue.path+relistInfo.today,summary:"Relisting ".concat("afd"===this.model.venue.type?"[[:".concat(this.model.discussion.discussionPageName,"]]"):'"'.concat(this.model.discussion.sectionHeader,'"')," ").concat(_config.default.script.advert)};return params[relistInfo.newLogEditType]="afd"===this.model.venue.type?relistInfo.newLogWikitext:("appendtext"===relistInfo.newLogEditType?"\n":"")+relistInfo.newWikitext,relistInfo.newLogTimestamps&&(params.basetimestamp=relistInfo.newLogTimestamps.base,params.starttimestamp=relistInfo.newLogTimestamps.start),/(tfd|rfd|cfd)/.test(this.model.venue.type)&&(params.section=relistInfo.newLogSection),params}},{key:"doTask",value:function(){var _this2=this;if(this.aborted)return(0,_util.rejection)("aborted");this.model.setTotalSteps(1),this.model.setDoing();var params=this.getParams();return this.api.postWithToken("csrf",params).then(function(){return _this2.model.trackStep()},function(code,error){return _this2.handlePageError(code,error,params.title),(0,_util.rejection)()})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UpdateNewLogPage}();exports.default=UpdateNewLogPage},{"../../config":81,"../../util":85,"../TaskItemController":20}],39:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_config=_interopRequireDefault(require("../../config"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var UpdateNewLogPage=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(UpdateNewLogPage,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(UpdateNewLogPage);function UpdateNewLogPage(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UpdateNewLogPage),(_this=_super.call(this,model,widgets)).model.setName("Updating link in nomination ".concat(1<model.discussion.pages.length?"templates":"template")),_this}return Constructor=UpdateNewLogPage,(protoProps=[{key:"transform",value:function(page){if(this.aborted)return(0,_util.rejection)("Aborted");var updatedWikitext;if(!this.model.getResolvedPageNames().find(function(pagename){return pagename===(0,_util.docToModule)(page.title)}))return(0,_util.rejection)("unexpectedTitle");if(page.missing)return(0,_util.rejection)("doesNotExist");try{updatedWikitext=this.model.venue.updateNomTemplateAfterRelist(page.content,this.model.discussion.relistInfo.today,this.model.discussion.sectionHeader)}catch(e){return(0,_util.rejection)("couldNotUpdate",e)}return updatedWikitext===page.content?(0,_util.rejection)("nominationTemplateNotFound"):{text:updatedWikitext,summary:"Updating ".concat(this.model.venue.type.toUpperCase()," template: discussion was relisted ").concat(_config.default.script.advert)}}},{key:"doTask",value:function(){var _this2=this;if(this.aborted)return(0,_util.rejection)("Aborted");var pageNames=this.model.getResolvedPageNames().map(_util.moduleToDoc);return this.model.setTotalSteps(pageNames.length),this.model.setDoing(),this.api.editWithRetry(pageNames,null,function(page){return _this2.transform(page)},function(){return _this2.model.trackStep()},function(code,error,title){return _this2.handlePageError(code,error,title)}).catch(function(errortype,code,error){return _this2.handleOverallError(errortype,code,error)})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UpdateNewLogPage}();exports.default=UpdateNewLogPage},{"../../config":81,"../../util":85,"../TaskItemController":20}],40:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _TaskItemController2=_interopRequireDefault(require("../TaskItemController")),_util=require("../../util"),_config=_interopRequireDefault(require("../../config"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var UpdateOldLogPage=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(UpdateOldLogPage,_TaskItemController2["default"]);var Constructor,protoProps,staticProps,_super=_createSuper(UpdateOldLogPage);function UpdateOldLogPage(model,widgets){var _this;return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UpdateOldLogPage),(_this=_super.call(this,model,widgets)).model.setName("Removing from old log page"),_this}return Constructor=UpdateOldLogPage,(protoProps=[{key:"getParams",value:function(){var relistInfo=this.model.discussion.relistInfo,params={action:"edit",title:"afd"===this.model.venue.type?relistInfo.oldlogtitle:this.model.discussion.discussionPageName,text:relistInfo.oldLogWikitext,summary:"afd"===this.model.venue.type?"Relisting [[:".concat(this.model.discussion.discussionPageName,"]] ").concat(_config.default.script.advert):"/* ".concat(this.model.discussion.sectionHeader," */ Relisted on [[:").concat(this.model.venue.path+relistInfo.today,"#").concat(this.model.discussion.sectionHeader,"|").concat(relistInfo.today,"]] ").concat(_config.default.script.advert)};return relistInfo.oldLogTimestamps&&(params.basetimestamp=relistInfo.oldLogTimestamps.base,params.starttimestamp=relistInfo.oldLogTimestamps.start),"afd"!==this.model.venue.type&&(params.section=this.model.discussion.sectionNumber),params}},{key:"doTask",value:function(){var _this2=this;if(this.aborted)return(0,_util.rejection)("aborted");if(this.model.setTotalSteps(1),"afd"===this.model.venue.type&&!this.model.discussion.relistInfo.oldlogTransclusion)return this.model.addError("Transclusion not found on old log page; could not be commented out"),this.model.trackStep("failed"),(0,_util.rejection)();this.model.setDoing();var params=this.getParams();return this.api.postWithToken("csrf",params).then(function(){return _this2.model.trackStep()},function(code,error){return _this2.handlePageError(code,error,params.title),(0,_util.rejection)()})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UpdateOldLogPage}();exports.default=UpdateOldLogPage},{"../../config":81,"../../util":85,"../TaskItemController":20}],41:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_api=_interopRequireDefault(require("../api")),_config=_interopRequireDefault(require("../config")),_util=require("../util");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var UnlinkSummaryPanelController=function(){function UnlinkSummaryPanelController(model,widget){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UnlinkSummaryPanelController),this._requestId=0,this.model=model,this.summaryInput=widget.summaryInput,this.summaryInputField=widget.summaryInputField,this.summaryPreview=widget.summaryPreview,this.summaryPreviewField=widget.summaryPreviewField,this.model.connect(this,{update:"updateFromModel"}),this.summaryInput.connect(this,{change:"onInputChange",enter:"onInputEnter"}),this.updateFromModel()}var Constructor,protoProps,staticProps;return Constructor=UnlinkSummaryPanelController,(protoProps=[{key:"updateFromModel",value:function(){if(this.summaryInput.setValue(this.model.summary),this.summaryInputField.setErrors(this.model.summaryErrors),this.model.parsedSummary&&this.model.summaryIsValid){var $preview=(0,_globals.$)("<p>").append(this.model.parsedSummary);$preview.find("a").attr("target","_blank"),this.summaryPreview.setLabel($preview)}else this.summaryPreview.setLabel("");this.summaryPreviewField.setErrors(this.model.parseErrors)}},{key:"onInputChange",value:function(value){var _this=this;this.model.setSummary(value);var requestId=++this._requestId;(0,_util.timeout)(this._delay).then(function(){requestId<_this._requestId||!_this.model.summaryIsValid||_api.default.get({action:"parse",contentmodel:"wikitext",summary:"Removing link(s): ".concat(_this.model.summary," ").concat(_config.default.script.advert),prop:"text",disablelimitreport:1,format:"json",formatversion:"2"}).then(function(result){requestId<_this._requestId||!_this.model.summaryIsValid||_this.model.setParsedSummary(result.parse.parsedsummary)},function(errorCode){if(requestId<_this._requestId||!_this.model.summaryIsValid)return!1;_this.model.setParseError(errorCode)})})}},{key:"onInputEnter",value:function(){this.model.onInputEnter()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UnlinkSummaryPanelController}();_globals.OO.initClass(UnlinkSummaryPanelController);var _default=UnlinkSummaryPanelController;exports.default=_default},{"../../globals":1,"../api":80,"../config":81,"../util":85}],42:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var _default=function(){function UnlinkWindowController(model,window){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UnlinkWindowController),this.model=model,this.window=window,this.stackLayout=window.stackLayout,this.actions=window.actions,this.model.connect(this,{update:"updateFromModel",resize:this.window.updateSize}),this.updateFromModel()}var Constructor,protoProps,staticProps;return Constructor=UnlinkWindowController,(protoProps=[{key:"updateFromModel",value:function(){this.actions.setMode(this.model.mode),this.actions.setAbilities(this.model.actionAbilities),this.stackLayout.setItem(this.currentPanel),this.window.updateSize()}},{key:"getActionProcess",value:function(action){return"start"===action?this.model.startTask():"abort"===action?this.model.abortTask():action&&"close"!==action||!this.model.canClose||this.window.close(),new _globals.OO.ui.Process}},{key:"getBodyHeight",value:function(){var panelHeight=this.currentPanel.$element.get(0).scrollHeight||0,errorsHeight=(0,_globals.$)(".oo-ui-processDialog-errors").get(0).scrollHeight||0;return Math.max(200,panelHeight+1,errorsHeight+1)}},{key:"currentPanel",get:function(){var panel=this.stackLayout.findItemFromData({name:this.model.currentPanel});if(!panel)throw new Error("Could not find panel with name: "+this.model.currentPanel);return panel}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UnlinkWindowController}();exports.default=_default},{"../../globals":1}],43:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_windowSetManager=(obj=require("../windowSetManager"))&&obj.__esModule?obj:{default:obj};function DraggableMixin(){}_globals.OO.initClass(DraggableMixin),DraggableMixin.uid=0,DraggableMixin.prototype.setupDraggablityStyles=function(){(0,_globals.$)("body").addClass("ooui-draggbleWindow-open")},DraggableMixin.prototype.makeDraggable=function(xi,yi){(0,_globals.$)("body").addClass("ooui-draggbleWindow-open");var $frameEl=this.$element.find(".oo-ui-window-frame"),$handleEl=this.$element.find(".oo-ui-processDialog-location").css({cursor:"move"}),position={x:xi||0,y:yi||0};(xi||yi)&&($frameEl.css("transform","translate(".concat(position.x,"px, ").concat(position.y,"px)")),window.scrollTo(position.x,position.y));var constrain=function(val,minVal,maxVal){return val<minVal?minVal:maxVal<val?maxVal:val},pointerdown=!1,dragFrom={},pointer="PointerEvent"in window?"pointer":"mouse";this.draggableMixinEventNs=".oouiDraggableWin"+ ++DraggableMixin.uid,$handleEl.on(pointer+"enter"+this.draggableMixinEventNs,function(){return $frameEl.css("will-change","transform")}),$handleEl.on(pointer+"leave"+this.draggableMixinEventNs,function(){pointerdown||$frameEl.css("will-change","")}),$handleEl.on(pointer+"down"+this.draggableMixinEventNs,function(event){pointerdown=!0,dragFrom.x=event.clientX,dragFrom.y=event.clientY}),(0,_globals.$)("body").on(pointer+"move"+this.draggableMixinEventNs,function(event){if(pointerdown&&null!=dragFrom.x&&null!==dragFrom.y){var val,limit,dx=event.clientX-dragFrom.x,dy=event.clientY-dragFrom.y;dragFrom.x=event.clientX,dragFrom.y=event.clientY,position.x=(val=position.x+dx,limit=window.innerWidth/2+$frameEl.outerWidth()/2-100,constrain(val,-1*limit,limit)),position.y=function(val){var minLimit=-1*(window.innerHeight-$frameEl.outerHeight())/2,maxLimit=(document.documentElement||document).scrollHeight-window.innerHeight/2;return constrain(val,minLimit,maxLimit)}(position.y+dy),$frameEl.css("transform","translate(".concat(position.x,"px, ").concat(position.y,"px)"))}}),(0,_globals.$)("body").on(pointer+"up"+this.draggableMixinEventNs,function(){pointerdown=!1,delete dragFrom.x,delete dragFrom.y,position.x=Math.round(position.x),position.y=Math.round(position.y),$frameEl.css("transform","translate(".concat(position.x,"px, ").concat(position.y,"px)"))})},DraggableMixin.prototype.removeDraggability=function(){_windowSetManager.default.hasOpenWindows()||(0,_globals.$)("body").removeClass("ooui-draggbleWindow-open"),this.$element.find(".oo-ui-window-frame").css("transform",""),this.$element.find(".oo-ui-processDialog-location").off(this.draggableMixinEventNs),(0,_globals.$)("body").off(this.draggableMixinEventNs)};var _default=DraggableMixin;exports.default=_default},{"../../globals":1,"../windowSetManager":86}],44:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_RedirectList=(obj=require("./RedirectList"))&&obj.__esModule?obj:{default:obj},_util=require("../util");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var Discussion=function(){function Discussion(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Discussion),_globals.OO.EventEmitter.call(this),this.$headlineSpan=config.$headlineSpan,this.id=config.id,this.venue=config.venue,this.pages=config.pages||[],this.action=config.action||"",this.redirects=new _RedirectList.default,this.discussionPageName=config.discussionPageName,this.sectionHeader=config.sectionHeader,this.sectionNumber=config.sectionNumber,this.firstCommentDate=config.firstCommentDate,this.isOld=config.isOld,this.isRelisted=config.isRelisted,this.userIsSysop=config.userIsSysop,this.classes=config.classes,this.status="Loading...",this.showStatus=!0}var Constructor,protoProps,staticProps;return Constructor=Discussion,(protoProps=[{key:"setRedirects",value:function(redirections){this.redirects=new _RedirectList.default(redirections)}},{key:"setRelistInfo",value:function(relistInfo){this.relistInfo=function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({},relistInfo)}},{key:"setNominationDate",value:function(nominationDate){this.nominationDate=nominationDate,this.firstCommentDate||(this.firstCommentDate=nominationDate),this.emit("update")}},{key:"setStatusReady",value:function(){!this.userIsSysop&&50<this.pages.length?this.status="[XFDcloser: Too many pages for non-admin]":(this.status="",this.showStatus=!1),this.emit("update")}},{key:"setStatusError",value:function(code){this.status="".concat(code||"unknown"," error retrieving page information (reload the page to try again)"),this.emit("update")}},{key:"setWindowOpened",value:function(type){this.type=type,this.status=type.slice(0,1).toUpperCase()+type.slice(1).replace(/e$/,"")+"ing discussion...",this.showStatus=!0,this.emit("update")}},{key:"setClosedWindowData",value:function(windowData){switch(!0){case windowData&&windowData.aborted:this.status="<strong>Aborted</strong> during ".concat(this.type,"; check ").concat((0,_util.makeLink)("Special:MyContributions","your contributions")," to see which actions were already completed.");break;case windowData&&windowData.success:var actioned=this.type.slice(0,1).toUpperCase()+this.type.slice(1).replace(/e$/,"")+"ed",as=windowData.result?' as "'.concat(windowData.result,'"'):"";this.status="<strong>".concat(actioned,"</strong>").concat(as," (reload page to see the actual ").concat(this.type,")"),this.actioned=!0;break;default:return void this.setStatusReady()}this.finished=!0,this.showStatus=!0,this.emit("update")}},{key:"startClosing",value:function(){this.emit("update")}},{key:"startRelisting",value:function(){this.emit("update")}},{key:"startQuickClosing",value:function(result){console.log(result),this.emit("update")}},{key:"showButtons",get:function(){return!this.showStatus}},{key:"showQuickClose",get:function(){return 0<this.pages.length}},{key:"pagesNames",get:function(){return this.pages.map(function(page){return page.getPrefixedText()})}},{key:"discussionSubpageName",get:function(){return this.venue.hasIndividualSubpages?this.discussionPageName.replace(this.venue.subpagePath,""):this.discussionPageName.replace(this.venue.path,"")}},{key:"discussionPageLink",get:function(){return this.venue.hasIndividualSubpages?this.discussionPageName:this.discussionPageName+"#"+(0,_util.encodeForWikilinkFragment)(this.sectionHeader)}},{key:"talkpages",get:function(){return this.pages.filter(function(page){return page.cahHaveTalkPage()&&!page.isTalkPage()}).map(function(page){return page.getTalkPage()})}},{key:"talkpagesNames",get:function(){return this.talkpages.map(function(page){return page.getPrefixedText()})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Discussion}();_globals.OO.initClass(Discussion),_globals.OO.mixinClass(Discussion,_globals.OO.EventEmitter);var _default=Discussion;exports.default=_default},{"../../globals":1,"../util":85,"./RedirectList":51}],45:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_Result=_interopRequireDefault(require("./Result")),_Options=_interopRequireDefault(require("./Options")),_TaskList=_interopRequireDefault(require("./TaskList")),_SanityChecks=_interopRequireDefault(require("./SanityChecks")),_PrefsGroup=_interopRequireDefault(require("./PrefsGroup"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var obj,key,value,MainWindowModel=function(){function MainWindowModel(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,MainWindowModel),_globals.OO.EventEmitter.call(this);var type=config.type,userIsSysop=config.discussion.userIsSysop;this.discussion=config.discussion,this.result=new _Result.default({discussion:this.discussion,type:type,userIsSysop:userIsSysop}),this.options=new _Options.default({result:this.result,venue:this.discussion.venue,userIsSysop:userIsSysop}),this.sanityChecks=new _SanityChecks.default({discussion:this.discussion,result:this.result,options:this.options}),this.taskList=new _TaskList.default({discussion:this.discussion,result:this.result,options:this.options,type:type,userIsSysop:userIsSysop}),this.preferences=new _PrefsGroup.default({userIsSysop:userIsSysop}),this.heights={},this.type=config.type,config.quick?(this.isQuick=!0,this.mode="tasks"):"relist"===this.type?this.mode="relist":1<this.discussion.pages.length?this.mode="multimodeAvailable":this.mode="normal",this.previousMode="",this.currentPanel=config.quick?"taskListPanel":"resultPanel",this.userIsSysop=config.userIsSysop,this.result.connect(this,{update:["emit","update"],resize:["emit","update"]}),this.options.connect(this,{update:["emit","update"],itemUpdate:["emit","update"]}),this.taskList.connect(this,{update:["emit","update"]}),this.preferences.connect(this,{update:["emit","update"],itemUpdate:["emit","update"],resize:["emit","update"]})}var Constructor,protoProps,staticProps;return Constructor=MainWindowModel,(protoProps=[{key:"suggestCurrentPanelHeight",value:function(suggestedHeight){var currentHeight=this.heights[this._heightKey]||MainWindowModel.defaultHeight;suggestedHeight<currentHeight&&currentHeight-suggestedHeight<50||(this.heights[this._heightKey]=suggestedHeight,this.emit("resize"))}},{key:"_setMode",value:function(mode){var currentMode=this.mode,nextMode="_previous"===mode?this.previousMode:mode;this.previousMode=currentMode,this.mode=nextMode}},{key:"showPrefs",value:function(){var _this=this;this._setMode("prefs"),this.currentPanel="prefsPanel",this.emit("update"),setTimeout(function(){_this.heights[_this._heightKey]+=15,_this.emit("update")},100)}},{key:"closePrefs",value:function(){this._setMode("_previous"),this.currentPanel="resultPanel",this.emit("update")}},{key:"startTasks",value:function(){this._setMode("tasks"),this.currentPanel="taskListPanel",this.emit("update"),this.taskList.startTasks()}},{key:"setMultimode",value:function(active){this._setMode("multimode".concat(active?"Active":"Available")),this.result.setMultimode(active),this.emit("update")}},{key:"showOptions",value:function(){this._setMode("options"),this.currentPanel="optionsPanel",this.options.onResultUpdate(),this.emit("update")}},{key:"showResult",value:function(){this._setMode("_previous"),this.currentPanel="resultPanel",this.emit("update")}},{key:"abortTasks",value:function(){this.taskList.abortTasks()}},{key:"actionAbilities",get:function(){return{savePrefs:this.preferences.changed,next:this.result.isValid,save:"options"===this.mode?this.options.isValid:this.result.isValid,finish:this.taskList.done||this.taskList.aborted,closePrefs:!0,defaultPrefs:!this.preferences.allHaveDefaultValues(),back:!0,abort:!this.taskList.finished&&!this.taskList.aborted,showPrefs:!0,multimode:!0,singlemode:!0}}},{key:"canClose",get:function(){return"tasks"!==this.mode||this.taskList.finished||this.taskList.aborted}},{key:"_heightKey",get:function(){return this.currentPanel+"_"+this.mode}},{key:"height",get:function(){return this.heights[this._heightKey]||MainWindowModel.defaultHeight}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),MainWindowModel}();value=200,(key="defaultHeight")in(obj=MainWindowModel)?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,_globals.OO.initClass(MainWindowModel),_globals.OO.mixinClass(MainWindowModel,_globals.OO.EventEmitter);var _default=MainWindowModel;exports.default=_default},{"../../globals":1,"./Options":46,"./PrefsGroup":48,"./Result":52,"./SanityChecks":55,"./TaskList":57}],46:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_OptionsItem=(obj=require("./OptionsItem"))&&obj.__esModule?obj:{default:obj};function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var Options=function(){function Options(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Options),_globals.OO.EventEmitter.call(this),_globals.OO.EmitterList.call(this),this.result=config.result,this.venue=config.venue,this.userIsSysop=config.userIsSysop,this.result.connect(this,{update:"onResultUpdate"})}var Constructor,protoProps,staticProps;return Constructor=Options,(protoProps=[{key:"getOptions",value:function(result){return result?this.getItems().find(function(optionItem){return optionItem.result===result}):this.getItems()}},{key:"getOptionValues",value:function(result){var resultOptions=this.getOptions(result);return resultOptions&&resultOptions.values}},{key:"onResultUpdate",value:function(){var _this=this,uniqueResults=this.result.uniqueSelectedResultsNames,existingItems=this.getItems();if(existingItems.length===uniqueResults.length&&existingItems.every(function(item){return uniqueResults.includes(item.result)}))return!1;this.clearItems(),this.addItems(uniqueResults.map(function(result){return existingItems.find(function(item){return item.result===result})||new _OptionsItem.default({result:result,venueType:_this.venue.type,userIsSysop:_this.userIsSysop})})),this.emit("update")}},{key:"onItemUpdate",value:function(){var _this2=this;this.emit("itemUpdate"),setTimeout(function(){return _this2.emit("itemUpdate")},100)}},{key:"isValid",get:function(){return this.getItems().every(function(item){return item.isValid})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Options}();_globals.OO.initClass(Options),_globals.OO.mixinClass(Options,_globals.OO.EventEmitter),_globals.OO.mixinClass(Options,_globals.OO.EmitterList);var _default=Options;exports.default=_default},{"../../globals":1,"./OptionsItem":47}],47:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_data=require("../data"),prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("../prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var OptionsItem=function(){function OptionsItem(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,OptionsItem),_globals.OO.EventEmitter.call(this),this.result=config.result,this.actions=(0,_data.getRelevantActions)(config.venueType,config.userIsSysop,config.result),this._options=(0,_data.getRelevantOptions)(config.venueType,config.userIsSysop,this.actions),this.selectedActionName=this.actions[0].name,"tfd"===config.venueType&&"delete"===config.result&&(this.selectedActionName=prefs.get("tfdDeleteAction"));var unlinkOptionIndex=this._options.findIndex(function(option){return"unlink"===option.name});-1!==unlinkOptionIndex&&(this._options[unlinkOptionIndex].value=prefs.get("unlinkBacklinks"))}var Constructor,protoProps,staticProps;return Constructor=OptionsItem,staticProps=[{key:"optionValuesEqual",value:function(value1,value2){if(_typeof(value1)!==_typeof(value2))return!1;var _map2=_slicedToArray([value1,value2].map(function(value){return Array.isArray(value)?value.join("|"):value}),2);return _map2[0]===_map2[1]}}],(protoProps=[{key:"setSelectedActionName",value:function(name){if(this.selectedActionName===name)return!1;this.selectedActionName=name||"",this.emit("update")}},{key:"setOptionValue",value:function(optionName,optionValue){var option=this._options.find(function(_option){return _option.name===optionName});if(!option)throw new Error("Could not find option with name: "+optionName);if(OptionsItem.optionValuesEqual(option.value,optionValue))return!1;option.value=optionValue,this.emit("update")}},{key:"name",get:function(){return this.result}},{key:"label",get:function(){return"custom"===this.result?"Custom result options":'"'.concat(this.result.slice(0,1).toUpperCase()+this.result.slice(1),'" result options')}},{key:"selectedAction",get:function(){var _this=this;return this.actions.find(function(action){return action.name===_this.selectedActionName})}},{key:"options",get:function(){var selectedAction=this.selectedAction;return selectedAction&&selectedAction.options&&selectedAction.options.length?this._options.filter(function(option){return selectedAction.options.includes(option.name)}):[]}},{key:"isValid",get:function(){return!!this.selectedAction&&this.options.every(function(option){return null!==option.value&&void 0!==option.value})}},{key:"values",get:function(){var values={action:this.selectedAction&&this.selectedAction.name};return this.options.forEach(function(option){values[option.name]=option.value}),values}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),OptionsItem}();_globals.OO.initClass(OptionsItem),_globals.OO.mixinClass(OptionsItem,_globals.OO.EventEmitter);var _default=OptionsItem;exports.default=_default},{"../../globals":1,"../data":82,"../prefs":83}],48:[function(require,module,exports){"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_PrefsItem=(obj=require("./PrefsItem"))&&obj.__esModule?obj:{default:obj},_data=require("../data"),prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("../prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var PrefsGroup=function(){function PrefsGroup(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,PrefsGroup),_globals.OO.EventEmitter.call(this),_globals.OO.EmitterList.call(this),this.userIsSysop=config.userIsSysop,this.addItems((0,_data.getRelevantPrefs)(config.userIsSysop).map(function(prefConfig){return new _PrefsItem.default(prefConfig,prefs.get(prefConfig.name))}))}var Constructor,protoProps,staticProps;return Constructor=PrefsGroup,(protoProps=[{key:"getValues",value:function(options){var prefs={};return(options&&options.changedOnly?this.getItems().filter(function(item){return item.changed}):this.getItems()).forEach(function(item){prefs[item.name]=item.value}),prefs}},{key:"resetValues",value:function(values){this.items.forEach(function(item){void 0!==values[item.name]&&item.reset(values[item.name])}),this.emit("update")}},{key:"restoreDefaults",value:function(){this.items.forEach(function(item){return item.restoreDefault()})}},{key:"allHaveDefaultValues",value:function(){return this.getItems().every(function(item){return item.hasDefaultValue()})}},{key:"onItemUpdate",value:function(){this.emit("itemUpdate")}},{key:"isValid",get:function(){return this.getItems().every(function(item){return item.isValid})}},{key:"changed",get:function(){return this.getItems().some(function(item){return item.changed})}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),PrefsGroup}();_globals.OO.initClass(PrefsGroup),_globals.OO.mixinClass(PrefsGroup,_globals.OO.EventEmitter),_globals.OO.mixinClass(PrefsGroup,_globals.OO.EmitterList);var _default=PrefsGroup;exports.default=_default},{"../../globals":1,"../data":82,"../prefs":83,"./PrefsItem":49}],49:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_data=require("../data");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var PrefsItem=function(){function PrefsItem(config,value){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,PrefsItem),_globals.OO.EventEmitter.call(this),this.name=config.name,this.label=config.label,this.type=config.type,this.help=config.help,this.helpInline=config.helpInline,this.value=value,this.initialValue=value,this.options=config.options,this.min=config.min,this.max=config.max}var Constructor,protoProps,staticProps;return Constructor=PrefsItem,(protoProps=[{key:"setValue",value:function(value){if(this.value===value)return!1;this.value="number"===this.type?Number(value):value,this.emit("update")}},{key:"reset",value:function(value){this.value=value,this.initialValue=value,this.emit("update")}},{key:"restoreDefault",value:function(){this.setValue(_data.defaultPrefValues[this.name])}},{key:"hasDefaultValue",value:function(){return this.value===_data.defaultPrefValues[this.name]}},{key:"isValid",get:function(){var _this=this;switch(this.type){case"number":return"number"==typeof this.value&&!isNaN(this.value)&&(void 0===this.min||this.min<=this.value)&&(void 0===this.max||this.max>=this.value);case"toggle":return"boolean"==typeof this.value;case"dropdown":return this.options.find(function(option){return option.data===_this.value})}return this.getItems().every(function(item){return item.isValid})}},{key:"changed",get:function(){return this.value!==this.initialValue}},{key:"errors",get:function(){return this.isValid?[]:["Invalid value"]}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),PrefsItem}();_globals.OO.initClass(PrefsItem),_globals.OO.mixinClass(PrefsItem,_globals.OO.EventEmitter),_globals.OO.mixinClass(PrefsItem,_globals.OO.EmitterList);var _default=PrefsItem;exports.default=_default},{"../../globals":1,"../data":82}],50:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_PrefsGroup=(obj=require("./PrefsGroup"))&&obj.__esModule?obj:{default:obj};function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var PrefsWindowModel=function(){function PrefsWindowModel(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,PrefsWindowModel),_globals.OO.EventEmitter.call(this),this.preferences=new _PrefsGroup.default({userIsSysop:config.userIsSysop}),this.preferences.connect(this,{update:["emit","update"],itemUpdate:["emit","update"],resize:["emit","update"]})}var Constructor,protoProps,staticProps;return Constructor=PrefsWindowModel,(protoProps=[{key:"actionAbilities",get:function(){return{savePrefs:this.preferences.changed,defaultPrefs:!this.preferences.allHaveDefaultValues()}}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),PrefsWindowModel}();_globals.OO.initClass(PrefsWindowModel),_globals.OO.mixinClass(PrefsWindowModel,_globals.OO.EventEmitter);var _default=PrefsWindowModel;exports.default=_default},{"../../globals":1,"./PrefsGroup":48}],51:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var RedirectList=function(){function RedirectList(redirections){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,RedirectList),this.list=Array.isArray(redirections)?redirections:[],this.list.forEach(function(redirection){_globals.mw.Title.exist.set(_globals.mw.Title.newFromText(redirection.to).getPrefixedDb(),!0)})}var Constructor,protoProps,staticProps;return Constructor=RedirectList,(protoProps=[{key:"resolve",value:function(pageNames){var _this=this;return pageNames.map(function(pageName){var redirect=_this.list.find(function(redirect){return redirect.from===pageName});return redirect?redirect.to:pageName})}},{key:"resolveOne",value:function(pageName){return this.resolve([pageName])[0]}},{key:"resolveTalks",value:function(pagesNames){return this.resolve(pagesNames).map(function(pageName){var title=_globals.mw.Title.newFromText(pageName);return title&&title.canHaveTalkPage()&&!title.isTalkPage()&&title.getTalkPage().getPrefixedText()}).filter(function(t){return!!t})}},{key:"resolveOneTalk",value:function(pagesName){var resolved=this.resolveTalks([pagesName]);return resolved.length?resolved[0]:[]}},{key:"unresolve",value:function(pageNames){var _this2=this;return pageNames.map(function(pageName){var redirect=_this2.list.find(function(redirect){return redirect.to===pageName});return redirect?redirect.from:pageName})}},{key:"unresolveOne",value:function(pageName){return this.unresolve([pageName])[0]}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),RedirectList}();exports.default=RedirectList},{"../../globals":1}],52:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_ResultItem=_interopRequireDefault(require("./ResultItem")),_data=require("../data"),_ResultList=_interopRequireDefault(require("./ResultList"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function makeLink(target,text){text=text||target;var url="/wiki/"+encodeURIComponent(String(target)).replace(/'/g,"%27").replace(/%20/g,"_").replace(/%3B/g,";").replace(/%40/g,"@").replace(/%24/g,"$").replace(/%2C/g,",").replace(/%2F/g,"/").replace(/%3A/g,":");return(0,_globals.$)("<a>").attr({href:url,target:"_blank"}).text(text)}var Result=function(){function Result(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Result),_globals.OO.EventEmitter.call(this),this.discussion=config.discussion,this.type=config.type,this.userIsSysop=config.userIsSysop;var availableResults=(0,_data.getRelevantResults)(this.discussion.venue.type,config.userIsSysop);if(this.singleModeResult=new _ResultItem.default({availableResults:availableResults}),this.singleModeResult.connect(this,{update:["emit","update"],softDeleteSelect:"onSoftDeleteSelect"}),this.multimodeResults=new _ResultList.default({availableResults:availableResults,pageNames:this.discussion.pagesNames}),this.multimodeResults.connect(this,{update:["emit","update"]}),this.resultSummary="",this.isMultimode=!1,this.rationale="",this.newSentence=!0,this.topNotes=[],0===this.discussion.pages.length)this.topNotes.push({name:"basicMode",title:"Discussion: ".concat(this.discussion.sectionHeader," (basic mode only)"),content:"Nominated pages were not detected.",expanded:!1});else{var pageCount=1===this.discussion.pages.length?"1 page":"".concat(this.discussion.pages.length," pages");this.topNotes.push({name:"discussionPages",title:"Discussion: ".concat(this.discussion.sectionHeader," (").concat(pageCount,")"),content:(0,_globals.$)("<ul>").append(this.discussion.pagesNames.map(function(pageName){return(0,_globals.$)("<li>").append(makeLink(pageName))})),expanded:!1})}this.userIsSysop||"close"!==this.type||this.topNotes.push({name:"nonAdminWarning",title:"Take care to avoid inappropriate non-administrator closes",content:(0,_globals.$)("<span>").append("See the ",makeLink("WP:NACD")," guideline for advice on appropriate and inappropriate closures."),expanded:!1})}var Constructor,protoProps,staticProps;return Constructor=Result,(protoProps=[{key:"getFormattedRationale",value:function(format){var text=this.rationale.trim();if(!text)return"";var firstChar=text.slice(0,1),needsLinebreak="*"===firstChar||":"===firstChar||";"===firstChar;if("punctuated"!==format)return(needsLinebreak?"\n":"")+("escaped"===format?text.replace(/(\|)(?!(?:[^[]*]|[^{]*}))/g,"&#124;"):text);var isNewSentence=this.newSentence&&this.showNewSentenceOption;return"".concat(isNewSentence?".":"").concat(needsLinebreak?"\n":" ").concat(text)}},{key:"getRelistComment",value:function(){return this.getFormattedRationale("escaped")}},{key:"getFormattedResult",value:function(){return this.isMultimode?this.resultSummary.trim():this.singleModeResult.getResultText()}},{key:"getResultText",value:function(){return this.getFormattedResult()}},{key:"getFormattedTarget",value:function(format){return this.isMultimode?"":this.singleModeResult.getFormattedTarget(format)}},{key:"getResultsByPage",value:function(){var _this=this;return this.isMultimode?this.multimodeResults.getItems():this.discussion.pagesNames.map(function(pageName){return _ResultItem.default.newWithPageName(_this.singleModeResult,pageName)})}},{key:"setMultimode",value:function(active){this.isMultimode=!!active,this.emit("update")}},{key:"setNoteExpanded",value:function(noteName,isExpanded){var noteIndex=this.topNotes.findIndex(function(note){return note.name===noteName});if(-1===noteIndex)throw new Error("Note ".concat(noteName," not found"));this.topNotes=[].concat(_toConsumableArray(this.topNotes.slice(0,noteIndex)),[function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({},this.topNotes[noteIndex],{expanded:isExpanded})],_toConsumableArray(this.topNotes.slice(noteIndex+1))),this.emit("update")}},{key:"setResultSummary",value:function(value){if(this.resultSummary===value)return!1;this.resultSummary=value,this.emit("update")}},{key:"copyResultsToRationale",value:function(){if(!this.isMultimode)return!1;var results=this.multimodeResults.getItems().map(function(result){var pageName,title,value,pageLink=(pageName=result.pageName,(title=_globals.mw.Title.newFromText(pageName))&&/^(File|Image|Category):.+/.test(title.getPrefixedText())?"[[:".concat(result.pageName,"]]"):"[[".concat(result.pageName,"]]")),resultText=(value=result.getResultText()).slice(0,1).toUpperCase()+value.slice(1);if(!resultText)return"*''' ''' ".concat(pageLink,"\n");var formattedTarget=result.showTarget&&(result.getFormattedTarget()||"[[]]");return"*'''".concat(resultText,"''' ").concat(pageLink).concat(formattedTarget?" to "+formattedTarget:"","\n")}).join("");this.rationale=results+this.rationale,this.emit("update")}},{key:"setRationale",value:function(value){if(this.rationale===value)return!1;this.rationale=value,this.emit("update")}},{key:"prependToRationale",value:function(value){this.setRationale((value+" "+this.rationale).trim())}},{key:"setNewSentence",value:function(isSelected){if(this.newSentence===isSelected)return!1;this.newSentence=isSelected,this.emit("update")}},{key:"onSoftDeleteSelect",value:function(){if(!this.rationale.includes(_data.softDeletionRationaleTemplate)){var pageName=this.discussion.pages[0].getPrefixedText(),nomLink=this.discussion.discussionPageLink,isMulti=1<this.discussion.pages.length;this.prependToRationale((0,_data.makeSoftDeleteRationale)(pageName,nomLink,isMulti))}}},{key:"uniqueSelectedResults",get:function(){var results=[];return(this.isMultimode?this.multimodeResults.getItems():[this.singleModeResult]).forEach(function(modeResult){var selectedResult=modeResult.selectedResult,isDuplicate=selectedResult&&results.find(function(result){return result.name===selectedResult.name});selectedResult&&!isDuplicate&&results.push(selectedResult)}),results}},{key:"uniqueSelectedResultsNames",get:function(){return this.uniqueSelectedResults.map(function(data){return data.name})}},{key:"resultSummaryIsValid",get:function(){return!!this.resultSummary.trim()}},{key:"showNewSentenceOption",get:function(){return"close"===this.type}},{key:"showResultFieldset",get:function(){return"close"===this.type}},{key:"rationaleHeading",get:function(){return"close"===this.type?"Rationale":"Relist comment"}},{key:"showCopyButton",get:function(){return this.showResultFieldset&&this.isMultimode}},{key:"isValid",get:function(){return"relist"===this.type||(this.isMultimode?this.resultSummaryIsValid&&this.multimodeResults.getItems().every(function(result){return result.isValid()}):this.singleModeResult.isValid())}},{key:"previewWikitext",get:function(){if("relist"===this.type)return"{{Relist|1=".concat(this.getRelistComment(),"}}");var resultText=this.isMultimode?this.resultSummary.trim():this.singleModeResult.getResultText(),resultWikitext=resultText?"'''".concat(resultText,"'''"):"",targetWikitext=this.getFormattedTarget({prepend:" to "}),rationaleWikitext=this.getFormattedRationale("punctuated")||".";return"The result of the discussion was ".concat(resultWikitext).concat(targetWikitext).concat(rationaleWikitext)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Result}();_globals.OO.initClass(Result),_globals.OO.mixinClass(Result,_globals.OO.EventEmitter);var _default=Result;exports.default=_default},{"../../globals":1,"../data":82,"./ResultItem":53,"./ResultList":54}],53:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var ResultItem=function(){function ResultItem(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,ResultItem),_globals.OO.EventEmitter.call(this),this.pageName=config.pageName,this.availableResults=config.availableResults,this.selectedResultName=config.selectedResultName||"",this.softResult=config.softResult||!1,this.speedyResult=config.speedyResult||!1,this.deleteFirstResult=config.deleteFirstResult||!1,this.targetPageName=config.targetPageName||"",this.customResultText=config.customResultText||""}var Constructor,protoProps,staticProps;return Constructor=ResultItem,staticProps=[{key:"validatePageName",value:function(pageName){return!!_globals.mw.Title.newFromText(pageName)}},{key:"validateNonEmpty",value:function(value){return!!value.trim()}},{key:"newWithPageName",value:function(resultItem,pageName){var newResultItem=new ResultItem(resultItem);return newResultItem.setPageName(pageName),newResultItem}}],(protoProps=[{key:"getResultText",value:function(){return this.selectedResult?"custom"===this.selectedResult.name?this.customResultText.trim():((this.isSpeedy()?"speedy ":this.isSoft()&&"soft ")||this.isDeleteFirst()&&"delete and "||"")+this.selectedResultName:""}},{key:"getFormattedTarget",value:function(format){if(!this.targetIsValid||!this.showTarget)return"";var prepend=format&&format.prepend||"",title=_globals.mw.Title.newFromText(this.targetPageName),text=title.getPrefixedText(),fragment=title.getFragment(),raw="".concat(text).concat(fragment?"#"+fragment:"");return format&&format.raw?prepend+raw:"".concat(prepend,"[[").concat(function(pageName){var title=_globals.mw.Title.newFromText(pageName);return title&&/^(File|Image|Category):.+/.test(title.getPrefixedText())}(text)?":":"").concat(raw,"]]")}},{key:"isValid",value:function(){return!!this.selectedResult&&(!this.showTarget||this.targetIsValid)&&(!this.showCustomResult||this.customResultIsValid)}},{key:"isSpeedy",value:function(){return this.showSpeedyResult&&this.speedyResult}},{key:"isSoft",value:function(){return this.showSoftResult&&this.softResult}},{key:"isSoftDelete",value:function(){return this.isSoft()&&"delete"===this.selectedResultName}},{key:"isDeleteFirst",value:function(){return this.showDeleteFirstResult&&this.deleteFirstResult}},{key:"setPageName",value:function(pageName){this.pageName=pageName,this.emit("update")}},{key:"setSelectedResultName",value:function(name){this.selectedResultName=name,this.emit("update")}},{key:"setSoftResult",value:function(isSoft){this.softResult=!!isSoft,this.softResult&&(this.speedyResult=!1,this.deleteFirstResult=!1),this.emit("update"),this.isSoftDelete()&&this.emit("softDeleteSelect")}},{key:"setSpeedyResult",value:function(isSpeedy){this.speedyResult=!!isSpeedy,this.speedyResult&&(this.softResult=!1,this.deleteFirstResult=!1),this.emit("update")}},{key:"setDeleteFirstResult",value:function(isDeleteFirst){this.deleteFirstResult=!!isDeleteFirst,this.deleteFirstResult&&(this.softResult=!1,this.speedyResult=!1),this.emit("update")}},{key:"setTargetPageName",value:function(target){if(this.targetPageName===target)return!1;this.targetPageName=target,this.emit("update")}},{key:"setCustomResultText",value:function(text){if(this.customResultText===text)return!1;this.customResultText=text,this.emit("update")}},{key:"name",get:function(){return this.pageName}},{key:"resultName",get:function(){return this.selectedResultName}},{key:"selectedResult",get:function(){var _this=this;return this.availableResults.find(function(result){return result.name===_this.selectedResultName})}},{key:"showSpeedyResult",get:function(){return!!this.selectedResult&&!!this.selectedResult.allowSpeedy}},{key:"showSoftResult",get:function(){return!!this.selectedResult&&!!this.selectedResult.allowSoft}},{key:"showDeleteFirstResult",get:function(){return!!this.selectedResult&&!!this.selectedResult.allowDeleteFirst}},{key:"showResultOptions",get:function(){return this.showSpeedyResult||this.showSoftResult||this.showDeleteFirstResult}},{key:"showTarget",get:function(){return!!this.selectedResult&&!!this.selectedResult.requireTarget}},{key:"targetIsValid",get:function(){return ResultItem.validatePageName(this.targetPageName)}},{key:"showCustomResult",get:function(){return!!this.selectedResult&&"custom"===this.selectedResult.name}},{key:"customResultIsValid",get:function(){return ResultItem.validateNonEmpty(this.customResultText)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),ResultItem}();_globals.OO.initClass(ResultItem),_globals.OO.mixinClass(ResultItem,_globals.OO.EventEmitter);var _default=ResultItem;exports.default=_default},{"../../globals":1}],54:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_ResultItem=(obj=require("./ResultItem"))&&obj.__esModule?obj:{default:obj};function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var ResultList=function(){function ResultList(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,ResultList),_globals.OO.EventEmitter.call(this),_globals.OO.EmitterList.call(this),this.addItems(config.pageNames.map(function(pageName){return new _ResultItem.default({availableResults:config.availableResults,pageName:pageName})})),this.aggregate({update:"itemUpdate"}),this.connect(this,{itemUpdate:["emit","update"]})}var Constructor,protoProps,staticProps;return Constructor=ResultList,(protoProps=[{key:"onItemUpdate",value:function(){this.emit("update")}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),ResultList}();_globals.OO.initClass(ResultList),_globals.OO.mixinClass(ResultList,_globals.OO.EventEmitter),_globals.OO.mixinClass(ResultList,_globals.OO.EmitterList);var _default=ResultList;exports.default=_default},{"../../globals":1,"./ResultItem":53}],55:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_util=require("../util"),_api=(obj=require("../api"))&&obj.__esModule?obj:{default:obj};function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var SanityChecks=function(){function SanityChecks(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,SanityChecks),_globals.OO.EventEmitter.call(this),this.discussion=config.discussion,this.result=config.result,this.options=config.options,this.showWarnings=!0,this.showRedirections=!0,this.result.connect(this,{update:"resetShowAll"}),this.options.connect(this,{update:"resetShowAll"})}var Constructor,protoProps,staticProps;return Constructor=SanityChecks,staticProps=[{key:"date",value:function(isOld,isRelisted){return isOld||isRelisted?[]:["It has not yet been 7 days since the discussion was listed."]}},{key:"massActions",value:function(actions,numPages){return actions.some(function(action){return"noActions"!==action})&&3<numPages?["Mass actions will be peformed (".concat(numPages," nominated pages detected).")]:[]}},{key:"nominatedPagesNamespaces",value:function(pageNames,expectedNamespaceNumbers){if(!expectedNamespaceNumbers||!expectedNamespaceNumbers.length)return[];var warnPages=pageNames.filter(function(pageName){return!expectedNamespaceNumbers.includes(_globals.mw.Title.newFromText(pageName).getNamespaceId())}).map(function(pageName){return"<li>".concat((0,_util.makeLink)(pageName),"</li>")});return warnPages.length?["The following pages are not in the expected namespace:<ul>".concat(warnPages.join(""),"</ul>")]:[]}},{key:"targetsNamespaces",value:function(targets,expectedNamespaceNumbers){return expectedNamespaceNumbers&&expectedNamespaceNumbers.length?(0,_util.uniqueArray)(targets).filter(function(target){return!!target&&!expectedNamespaceNumbers.includes(_globals.mw.Title.newFromText(target).getNamespaceId())}).map(function(target){return"Target page ".concat((0,_util.makeLink)(target)," is not in the expected namespace.")}):[]}}],(protoProps=[{key:"getWarnings",value:function(){var actions=this.options.getOptions().map(function(optionItem){return optionItem.selectedAction}),targets=this.result.getResultsByPage().flatMap(function(pageResult){return pageResult.showTarget&&pageResult.targetPageName||[]}),expectedNamespaces=this.discussion.venue.ns_number;return[].concat(_toConsumableArray(SanityChecks.date(this.discussion.isOld,this.discussion.isRelisted)),_toConsumableArray(SanityChecks.massActions(actions,this.discussion.pages.length)),_toConsumableArray(SanityChecks.nominatedPagesNamespaces(this.discussion.pagesNames,expectedNamespaces)),_toConsumableArray(SanityChecks.targetsNamespaces(targets,expectedNamespaces)))}},{key:"getRedirections",value:function(options){return this.discussion.venue.expectRedirects?_globals.$.Deferred().resolve([]):_api.default.get({action:"query",titles:this.discussion.pagesNames,redirects:1,prop:"info",inprop:"talkid",format:"json",formatversion:"2"}).then(function(response){return options&&options.setExistences&&response.query.pages.forEach(function(page){var title=_globals.mw.Title.newFromText(page.title);_globals.mw.Title.exist.set(title.getPrefixedDb(),!page.missing),title.canHaveTalkPage()&&!title.isTalkPage()&&_globals.mw.Title.exist.set(title.getTalkPage().getPrefixedDb(),!!page.talkid)}),response&&response.query&&response.query.redirects||[]})}},{key:"setShowWarnings",value:function(show){this.showWarnings=!!show,this.emit("update")}},{key:"setShowRedirections",value:function(show){this.showRedirections=!!show,this.emit("update")}},{key:"resetShowAll",value:function(){this.showWarnings=!0,this.showRedirections=!0,this.emit("update")}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),SanityChecks}();_globals.OO.initClass(SanityChecks),_globals.OO.mixinClass(SanityChecks,_globals.OO.EventEmitter);var _default=SanityChecks;exports.default=_default},{"../../globals":1,"../api":80,"../util":85}],56:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_config=(obj=require("../config"))&&obj.__esModule?obj:{default:obj};function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var TaskItem=function(){function TaskItem(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,TaskItem),_globals.OO.EventEmitter.call(this),this.discussion=config.discussion,this.venue=this.discussion.venue,this.result=config.result,this.options=config.options,this.pageNames=config.relaventPageNames||[],this.taskName=config.taskName,this.displayName=config.displayName,this.summary=config.summary,this.warnings=[],this.showOverflowWarnings=!1,this.errors=[],this.showOverflowErrors=!1,this.steps={total:0,completed:0,skipped:0,failed:0},this.starting=!1,this.started=!1,this.doing=!1,this.done=!1,this.aborted=!1,this.failed=!1}var Constructor,protoProps,staticProps;return Constructor=TaskItem,(protoProps=[{key:"getEditSummary",value:function(options){return((options=options||{}).prefix?options.prefix+" ":"")+(this.summary||options.short?"[[".concat(this.discussion.discussionPageLink,"]]"):"[[".concat(this.discussion.discussionPageLink,"]] closed as ").concat(this.result.getResultText()))+" "+_config.default.script.advert}},{key:"getResolvedPageNames",value:function(){return this.discussion.redirects.resolve(this.pageNames)}},{key:"getResolvedTalkpagesNames",value:function(){return this.discussion.redirects.resolveTalks(this.pageNames)}},{key:"getPageResults",value:function(resultType){var _this=this;return this.result.getResultsByPage().filter(function(pageResult){return _this.pageNames.includes(pageResult.pageName)&&(!resultType||pageResult.selectedResultName===resultType)})}},{key:"setName",value:function(name){this.displayName=name,this.emit("update")}},{key:"addWarning",value:function(message){this.warnings=this.warnings.concat(message),this.emit("update")}},{key:"addError",value:function(message){this.errors=this.errors.concat(message),this.emit("update")}},{key:"setTotalSteps",value:function(count){this.steps.total=count,this.emit("update")}},{key:"trackStep",value:function(type){"failed"!==type&&"skipped"!==type&&(type="completed"),this.steps[type]++,this.emit("update")}},{key:"setPrecedingTask",value:function(task,requiredState){this.precedingTask={task:task,requiredState:requiredState},task.connect(this,{update:"onPrecedingTaskUpdate"})}},{key:"onPrecedingTaskUpdate",value:function(){this.canProceed()&&this.start(),this.emit("update")}},{key:"canProceed",value:function(){if(!this.precedingTask)return!0;var _this$precedingTask=this.precedingTask;return!!_this$precedingTask.task[_this$precedingTask.requiredState]}},{key:"start",value:function(){if(this.starting)return!1;this.starting=!0,this.emit("update")}},{key:"setStarted",value:function(){if(this.started)return!1;this.started=!0,this.emit("update")}},{key:"setDoing",value:function(){if(this.doing)return!1;this.doing=!0,this.emit("update")}},{key:"setDone",value:function(){if(this.done)return!1;0<this.steps.completed+this.steps.skipped?this.done=!0:this.failed=!0,this.emit("update")}},{key:"setAborted",value:function(){if(!this.canAbort)return!1;this.aborted=!0,this.emit("update")}},{key:"setFailed",value:function(){if(this.done||this.failed)return!1;this.failed=!0,this.emit("update")}},{key:"name",get:function(){return this.taskName}},{key:"progress",get:function(){return this.started?!(this.steps.total<=1)&&100*(this.steps.completed+this.steps.skipped)/this.steps.total:0}},{key:"showProgressBar",get:function(){return!this.done&&!this.aborted&&!this.failed}},{key:"resultsByPage",get:function(){return{}}},{key:"pageNamesWithModuleDocs",get:function(){return this.pageNames.map(function(pageName){return"".concat(pageName).concat(0===pageName.indexOf("Module:")?"/doc":"")})}},{key:"label",get:function(){var message,completedOutOfTotal="".concat(this.steps.completed,"/").concat(this.steps.total);return this.started&&0!==this.steps.total?(this.aborted&&!this.done?message=this.steps.completed?"Aborted (after completing ".concat(completedOutOfTotal,")"):"Aborted":this.failed||this.steps.failed===this.steps.total?message="Failed (completed ".concat(completedOutOfTotal,")"):this.done&&(message=this.steps.completed?"Done! (".concat(completedOutOfTotal,")"):"Skipped"+(this.steps.skipped?" (".concat(this.steps.skipped,")"):"")),message?"".concat(this.displayName,": ").concat(message):this.displayName):this.displayName}},{key:"notices",get:function(){return this.aborted||this.done||this.failed?[]:this.started?0===this.steps.total?["Doing..."]:["Doing... (".concat(this.steps.completed," / ").concat(this.steps.total,")")]:["Waiting..."]}},{key:"canAbort",get:function(){return!this.done&&!this.failed&&!this.aborted}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),TaskItem}();_globals.OO.initClass(TaskItem),_globals.OO.mixinClass(TaskItem,_globals.OO.EventEmitter);var _default=TaskItem;exports.default=_default},{"../../globals":1,"../config":81}],57:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_TaskItem=(obj=require("./TaskItem"))&&obj.__esModule?obj:{default:obj};function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var TaskList=function(){function TaskList(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,TaskList),_globals.OO.EventEmitter.call(this),_globals.OO.EmitterList.call(this),this.discussion=config.discussion,this.result=config.result,this.options=config.options,this.label=config.label||"Tasks",this.type=config.type,this.userIsSysop=config.userIsSysop,this.started=!1,this.done=!1,this.aborted=!1,this.allFailed=!1,this.result.connect(this,{update:"resetItems"}),this.options.connect(this,{update:"resetItems",itemUpdate:"resetItems"})}var Constructor,protoProps,staticProps;return Constructor=TaskList,(protoProps=[{key:"makeItemsForClose",value:function(){var _this=this,resultsbyPage=this.result.getResultsByPage(),tasks=[],closeDiscussionTask=new _TaskItem.default({taskName:"CloseDiscussion",discussion:this.discussion,result:this.result});tasks.push(closeDiscussionTask);var addOldXfdPageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName),action=optionValues&&optionValues.action;return"updatePages"===action||"redirectAndUpdate"===action||"disambiguateAndUpdate"===action||"mergeAndUpdate"===action});addOldXfdPageResults.length&&tasks.push(new _TaskItem.default({taskName:"AddOldXfd",relaventPageNames:addOldXfdPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var removeNomPageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&"updatePages"===optionValues.action});removeNomPageResults.length&&tasks.push(new _TaskItem.default({taskName:"RemoveNomTemplates",relaventPageNames:removeNomPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var redirectActionPageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&"redirectAndUpdate"===optionValues.action});if(redirectActionPageResults.length){tasks.push(new _TaskItem.default({taskName:"Redirect",relaventPageNames:redirectActionPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var notSoftRedirectPageResults=redirectActionPageResults.filter(function(result){return!result.isSoft()});notSoftRedirectPageResults.length&&tasks.push(new _TaskItem.default({taskName:"RemoveCircularLinks",relaventPageNames:notSoftRedirectPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}))}var mergeActionPageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&"mergeAndUpdate"===optionValues.action});mergeActionPageResults.length&&tasks.push(new _TaskItem.default({taskName:"AddMergeTemplates",relaventPageNames:mergeActionPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var disambigPageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&"disambiguateAndUpdate"===optionValues.action});disambigPageResults.length&&tasks.push(new _TaskItem.default({taskName:"Disambiguate",relaventPageNames:disambigPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var deletePageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&"deletePages"===optionValues.action});if(deletePageResults.length){tasks.push(new _TaskItem.default({taskName:"DeletePages",relaventPageNames:deletePageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var deleteTalkPageResults=deletePageResults.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&optionValues.deleteTalk});deleteTalkPageResults.length&&tasks.push(new _TaskItem.default({taskName:"DeleteTalkpages",relaventPageNames:deleteTalkPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var deleteRedirPageResults=deletePageResults.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&optionValues.deleteRedir});deleteRedirPageResults.length&&tasks.push(new _TaskItem.default({taskName:"DeleteRedirects",relaventPageNames:deleteRedirPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var unlinkPageResults=deletePageResults.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&optionValues.unlink});if(unlinkPageResults.length&&tasks.push(new _TaskItem.default({taskName:"UnlinkBacklinks",relaventPageNames:unlinkPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options})),deleteRedirPageResults.length&&unlinkPageResults.length){var deleteRedirTask=tasks[tasks.length-2],unlinkTask=tasks[tasks.length-1];deleteRedirTask.setPrecedingTask(unlinkTask,"doing")}}var holdingCellPageResults=resultsbyPage.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName),action=optionValues&&optionValues.action;return"holdingCell"===action||"holdingCellMerge"===action});if(holdingCellPageResults.length){tasks.push(new _TaskItem.default({taskName:"AddBeingDeleted",relaventPageNames:holdingCellPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}),new _TaskItem.default({taskName:"AddToHoldingCell",relaventPageNames:holdingCellPageResults.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}));var tagTalkPageResuts=holdingCellPageResults.filter(function(result){var optionValues=_this.options.getOptionValues(result.selectedResultName);return optionValues&&optionValues.tagTalk});tagTalkPageResuts.length&&tasks.push(new _TaskItem.default({taskName:"TagTalkWithSpeedy",relaventPageNames:tagTalkPageResuts.map(function(result){return result.pageName}),discussion:this.discussion,result:this.result,options:this.options}))}return tasks.slice(1).forEach(function(task){task.precedingTask||task.setPrecedingTask(closeDiscussionTask,"done")}),tasks}},{key:"makeItemsForRelist",value:function(){var _this2=this,relistInfoTask=new _TaskItem.default({taskName:"GetRelistInfo",discussion:this.discussion,result:this.result}),tasks=[relistInfoTask].concat(_toConsumableArray(this.discussion.venue.relistTasks.flatMap(function(taskName){return"UpdateNomTemplates"===taskName&&0===_this2.discussion.pages.length?[]:new _TaskItem.default({taskName:taskName,relaventPageNames:_this2.discussion.pagesNames,discussion:_this2.discussion,result:_this2.result,options:_this2.options})})));return tasks.slice(1).forEach(function(task){return task.setPrecedingTask(relistInfoTask,"done")}),tasks}},{key:"resetItems",value:function(){this.clearItems(),this.emit("update"),this.addItems("close"===this.type?this.makeItemsForClose():this.makeItemsForRelist()),this.emit("update")}},{key:"startTasks",value:function(){if(this.started)return!1;this.started=!0,this.getItems().length||this.resetItems(),this.getItems()[0].start(),this.emit("update")}},{key:"abort",value:function(){this.getItems().forEach(function(taskItem){taskItem.setAborted()}),this.getItems().some(function(taskItem){return taskItem.aborted})&&this.setAborted()}},{key:"setAborted",value:function(){this.label="Aborted",this.aborted=!0,this.emit("update")}},{key:"setDone",value:function(){this.done=!0,this.emit("update")}},{key:"setAllFailed",value:function(){this.done=!0,this.allFailed=!0,this.emit("update")}},{key:"onItemUpdate",value:function(){this.getItems().some(function(task){return task.aborted})?this.abort():this.getItems().every(function(task){return task.failed})?this.setAllFailed():this.getItems().every(function(task){return task.done||task.failed})&&this.setDone(),this.emit("update")}},{key:"success",get:function(){return this.done&&!this.allFailed}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),TaskList}();_globals.OO.initClass(TaskList),_globals.OO.mixinClass(TaskList,_globals.OO.EventEmitter),_globals.OO.mixinClass(TaskList,_globals.OO.EmitterList);var _default=TaskList;exports.default=_default},{"../../globals":1,"./TaskItem":56}],58:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals");function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var UnlinkSummary=function(){function UnlinkSummary(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UnlinkSummary),_globals.OO.EventEmitter.call(this),this.summary=config.summary||"",this.summaryErrors=[],this.parsedSummary="",this.parseErrors=[]}var Constructor,protoProps,staticProps;return Constructor=UnlinkSummary,(protoProps=[{key:"setSummary",value:function(summary){summary!==this.summary&&(this.summary=summary,this.summaryErrors=this.summaryIsValid?[]:["A reason is required"],this.emit("update"))}},{key:"setParsedSummary",value:function(parsedSummary){parsedSummary!==this.parsedSummary&&(this.parsedSummary=parsedSummary,this.parseErrors=[],this.emit("update"))}},{key:"setParseError",value:function(errorCode){this.parsedSummary="",this.parseErrors=["Preview failed: ".concat(errorCode||"unknown"," error")],this.emit("update")}},{key:"onInputEnter",value:function(){this.summaryIsValid&&this.emit("inputEnter")}},{key:"summaryIsValid",get:function(){return!!this.summary.trim()}},{key:"value",get:function(){return this.summary.trim()}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UnlinkSummary}();_globals.OO.initClass(UnlinkSummary),_globals.OO.mixinClass(UnlinkSummary,_globals.OO.EventEmitter);var _default=UnlinkSummary;exports.default=_default},{"../../globals":1}],59:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_TaskItem=_interopRequireDefault(require("./TaskItem")),_Discussion=_interopRequireDefault(require("./Discussion")),_Venue=_interopRequireDefault(require("../Venue")),_UnlinkSummary=_interopRequireDefault(require("./UnlinkSummary"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}var UnlinkWindowModel=function(){function UnlinkWindowModel(config){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,UnlinkWindowModel),_globals.OO.EventEmitter.call(this),this.mode="initial",this.currentPanel="summary",this.pageName=config.pageName,this.summary=new _UnlinkSummary.default({summary:config.summary}),this.task=new _TaskItem.default({taskName:"UnlinkBacklinks",relaventPageNames:[this.pageName],discussion:new _Discussion.default({venue:_Venue.default.newFromPageName(this.pageName),pages:[_globals.mw.Title.newFromText(this.pageName)]})}),this.summary.connect(this,{update:"onSummaryUpdate",inputEnter:"startTask"}),this.task.connect(this,{update:["emit","update"]})}var Constructor,protoProps,staticProps;return Constructor=UnlinkWindowModel,(protoProps=[{key:"onSummaryUpdate",value:function(){this.task.summary=this.summary.value,this.emit("update")}},{key:"startTask",value:function(){this.currentPanel="task",this.mode="task",this.task.start()}},{key:"abortTask",value:function(){this.task.setAborted()}},{key:"canClose",get:function(){return"summary"===this.currentPanel||!this.task.canAbort}},{key:"actionAbilities",get:function(){return{start:this.summary.summaryIsValid,abort:this.task.canAbort,close:!this.task.canAbort}}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),UnlinkWindowModel}();_globals.OO.initClass(UnlinkWindowModel),_globals.OO.mixinClass(UnlinkWindowModel,_globals.OO.EventEmitter);var _default=UnlinkWindowModel;exports.default=_default},{"../../globals":1,"../Venue":63,"./Discussion":44,"./TaskItem":56,"./UnlinkSummary":58}],60:[function(require,module,exports){"use strict";function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,key,value,Month=function(){function Month(index){!function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,Month),this.index=index}var Constructor,protoProps,staticProps;return Constructor=Month,staticProps=[{key:"newFromMonthNumber",value:function(number){return new Month(number-1)}},{key:"newFromMonthName",value:function(monthname){var index=Month.names.findIndex(function(name){return name.toLowerCase()===monthname.toLowerCase()});return new Month(index)}},{key:"newFromMonthShortName",value:function(shortname){var index=Month.names.findIndex(function(name){return name.slice(0,3).toLowerCase()===shortname.toLowerCase()});return new Month(index)}},{key:"nameFromIndex",value:function(index){return new Month(index).name}},{key:"nameFromNumber",value:function(number){return Month.newFromMonthNumber(number).name}},{key:"shortNameFromIndex",value:function(index){return new Month(index).shortName}},{key:"shortNameFromNumber",value:function(number){return Month.newFromMonthNumber(number).shortName}},{key:"indexFromName",value:function(monthname){return Month.newFromMonthName(monthname).index}},{key:"indexFromShortName",value:function(shortName){return Month.newFromMonthShortName(shortName).index}},{key:"numberFromName",value:function(monthname,option){return Month.newFromMonthName(monthname)[option.pad?"paddedNumber":"number"]}},{key:"numberFromShortName",value:function(shortName,option){return Month.newFromMonthShortName(shortName)[option.pad?"paddedNumber":"number"]}}],(protoProps=[{key:"isValid",value:function(){return"number"==typeof this.index&&0<=this.index&&this.index<=11}},{key:"name",get:function(){return Month.names[this.index]}},{key:"shortName",get:function(){return this.name.slice(0,3)}},{key:"number",get:function(){return this.index+1}},{key:"paddedNumber",get:function(){return(this.number<10?"0":"")+this.number}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Month}();exports.default=Month,value=["January","February","March","April","May","June","July","August","September","October","November","December"],(key="names")in(obj=Month)?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value},{}],61:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../globals"),ShowHideTag=function(){try{window.localStorage.getItem("xfdc-closedHidden")?this.isHidden=!0:this.isHidden=!1}catch(e){this.isHidden=!1}};ShowHideTag.prototype.hideClosed=function(){this.isHidden=!0;try{window.localStorage.setItem("xfdc-closedHidden",!0)}catch(e){}(0,_globals.$)(".xfd-closed, .tfd-closed, #XFDcloser-showhide-hide").hide(),(0,_globals.$)("#XFDcloser-showhide-show").show()},ShowHideTag.prototype.showClosed=function(){this.isHidden=!1;try{window.localStorage.setItem("xfdc-closedHidden","")}catch(e){}(0,_globals.$)(".xfd-closed, .tfd-closed, #XFDcloser-showhide-hide").show(),(0,_globals.$)("#XFDcloser-showhide-show").hide()},ShowHideTag.initialiseNewTag=function(){var tag=new ShowHideTag;return(0,_globals.$)("<div>").attr("id","XFDcloser-showhide").append((0,_globals.$)("<a>").attr("id","XFDcloser-showhide-hide").text("Hide closed discussions").toggle(!tag.isHidden).on("click",tag.hideClosed),(0,_globals.$)("<a>").attr("id","XFDcloser-showhide-show").text("Show closed discussions").toggle(tag.isHidden).on("click",tag.showClosed)).appendTo("body"),tag};var _default=ShowHideTag;exports.default=_default},{"../globals":1}],62:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../globals"),_util=require("./util");function _toArray(arr){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||function(o,minLen){if(!o)return;if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);"Object"===n&&o.constructor&&(n=o.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}(arr)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}var obj,key,value,Parameter=function(){function Parameter(name,value,wikitext){_classCallCheck(this,Parameter),this.name=name,this.value=value,this.wikitext=wikitext}return _createClass(Parameter,[{key:"isNumberedParam",get:function(){return"number"==typeof this.name||/^[0-9]+$/.test(this.name)}},{key:"number",get:function(){return this.isNumberedParam?Number(this.name):NaN}}],[{key:"newFromWikitext",value:function(wikitext,otherParameters){var indexOfEqualTo=wikitext.indexOf("="),indexOfOpenBraces=wikitext.indexOf("{{"),isWithoutEquals=!wikitext.includes("="),hasBracesBeforeEquals=wikitext.includes("{{")&&indexOfOpenBraces<indexOfEqualTo;if(isWithoutEquals||hasBracesBeforeEquals){for(var numbers=otherParameters.map(function(param){return param.number}),nextNumber=1;numbers.includes(nextNumber);)nextNumber++;return new Parameter(nextNumber,wikitext.trim(),"|"+wikitext)}return new Parameter(wikitext.slice(0,indexOfEqualTo).trim(),wikitext.slice(indexOfEqualTo+1).trim(),"|"+wikitext)}}]),Parameter}(),Template=function(){function Template(wikitext){_classCallCheck(this,Template),this.wikitext=wikitext,this.parameters=[],this.pipeStyle=" |",this.equalsStyle="=",this.endBracesStyle="}}"}return _createClass(Template,[{key:"addParam",value:function(parameter){this.parameters.push(parameter)}},{key:"getParam",value:function(paramName){return this.parameters.find(function(p){return p.name==paramName})}},{key:"getParamValue",value:function(paramName){var param=this.getParam(paramName);return param&&param.value}},{key:"setName",value:function(name){this.name=name.trim()}},{key:"getTitle",value:function(){return _globals.mw.Title.newFromText("Template:"+this.name)}}]),Template}();exports.default=Template,value=function(wikitext,recursive){if(!wikitext)return[];for(var startIdx,strReplaceAt=function(string,index,_char){return string.slice(0,index)+_char+string.slice(index+1)},result=[],processTemplateText=function(startIdx,endIdx){for(var text=wikitext.slice(startIdx,endIdx),template=new Template("{{"+text.replace(/\x01/g,"|")+"}}");/(\[\[[^\]]*?)\|(.*?\]\])/g.test(text);)text=text.replace(/(\[\[[^\]]*?)\|(.*?\]\])/g,"$1\x01$2");template.pipeStyle=(0,_util.mostFrequent)(text.match(/[\s\n]*\|[\s\n]*/g))||" |",template.equalsStyle=(0,_util.mostFrequent)(text.replace(/(=[^|]*)=+/g,"$1").match(/[\s\n]*=[\s\n]*/g))||"=";var endSpacing=text.match(/[\s\n]*$/);template.endBracesStyle=(endSpacing?endSpacing[0]:"")+"}}";var _text$split$map2=_toArray(text.split("|").map(function(chunk){return chunk.replace(/\x01/g,"|")})),name=_text$split$map2[0],parameterChunks=_text$split$map2.slice(1);template.setName(name),parameterChunks.forEach(function(chunk){template.addParam(Parameter.newFromWikitext(chunk,template.parameters))}),result.push(template)},n=wikitext.length,numUnclosed=0,inComment=!1,inNowiki=!1,inParameter=!1,i=0;i<n;i++)inComment||inNowiki||inParameter?"|"===wikitext[i]?wikitext=strReplaceAt(wikitext,i,"\x01"):/^-->/.test(wikitext.slice(i,i+3))?(inComment=!1,i+=2):/^<\/nowiki ?>/.test(wikitext.slice(i,i+10))?(inNowiki=!1,i+=8):"}"===wikitext[i]&&"}"===wikitext[i+1]&&"}"===wikitext[i+2]&&(inParameter=!1,i+=2):"{"===wikitext[i]&&"{"===wikitext[i+1]&&"{"===wikitext[i+2]&&"{"!==wikitext[i+3]?(inParameter=!0,i+=2):"{"===wikitext[i]&&"{"===wikitext[i+1]?(0===numUnclosed&&(startIdx=i+2),numUnclosed+=2,i++):"}"===wikitext[i]&&"}"===wikitext[i+1]?(2===numUnclosed&&processTemplateText(startIdx,i),numUnclosed-=2,i++):"|"===wikitext[i]&&2<numUnclosed?wikitext=strReplaceAt(wikitext,i,"\x01"):/^<!--/.test(wikitext.slice(i,i+4))?(inComment=!0,i+=3):/^<nowiki ?>/.test(wikitext.slice(i,i+9))&&(inNowiki=!0,i+=7);if(recursive){var subtemplates=result.filter(function(template){return/\{\{(?:.|\n)*\}\}/.test(template.wikitext.slice(2,-2))}).map(function(template){return Template.parseTemplates(template.wikitext.slice(2,-2),!0)});return result.concat.apply(result,subtemplates)}return result},(key="parseTemplates")in(obj=Template)?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value},{"../globals":1,"./util":85}],63:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../globals"),Venue=function(type,settings){for(var key in this.type=type,settings)this[key]=settings[key]};Venue.prototype.hasNomTemplate=function(wikitext){return new RegExp(this.regex.nomTemplate).test(wikitext)},Venue.prototype.removeNomTemplate=function(wikitext){var pattern=new RegExp(this.regex.nomTemplate),matches=wikitext.match(pattern);if(!matches)return wikitext;if(1<matches.length)throw new Error("Multiple nomination templates on page");return wikitext.replace(pattern,"")},Venue.prototype.updateNomTemplateAfterRelist=function(wikitext,today,sectionHeader){var matches=wikitext.match(this.regex.relistPattern);if(!matches)return wikitext;if(1<matches.length)throw new Error("Multiple nomination templates on page");return wikitext.replace(this.regex.relistPattern,this.wikitext.relistReplace.replace("__TODAY__",today).replace("__SECTION_HEADER__",sectionHeader))},Venue.Mfd=function(){return new Venue("mfd",{path:"Wikipedia:Miscellany for deletion",subpagePath:"Wikipedia:Miscellany for deletion/",hasIndividualSubpages:!0,ns_number:null,html:{head:"h4",list:"dl",listitem:"dd"},wikitext:{closeTop:"{{subst:Mfd top}} '''__RESULT__'''__TO_TARGET____RATIONALE__ __SIG__",closeBottom:"{{subst:Mfd bottom}}",oldXfd:"{{Old MfD |date=__DATE__ |result='''__RESULT__''' |page=__SUBPAGE__}}\n",mergeFrom:"{{mfd-mergefrom|__NOMINATED__|__DEBATE__|__DATE__}}\n",mergeTo:"{{mfd-mergeto|__TARGET__|__DEBATE__|__DATE__|__TARGETTALK__}}\n",alreadyClosed:"{{#ifeq:{{FULLPAGENAME}}|Wikipedia:Miscellany for deletion|{{collapse bottom}}|}}"},regex:{nomTemplate:/(?:<noinclude>\s*)?(?:{{mfd[^}}]*}}|<span id="mfd".*?<\/span>&nbsp;{{#invoke:Noinclude\|noinclude\|text=\[\[Category:Miscellaneous pages for deletion\|{{PAGENAME}}\]\]}}\s*)(?:\s*<\/noinclude>)?/gi},relistTasks:["UpdateDiscussion"]})},Venue.Cfd=function(){var cfdVenue=new Venue("cfd",{path:"Wikipedia:Categories for discussion/Log/",ns_number:[14],html:{head:"h4",list:"ul",listitem:"li",nthSpan:"2"},wikitext:{closeTop:"{{subst:cfd top}} '''__RESULT__'''__TO_TARGET____RATIONALE__ __SIG__",closeBottom:"{{subst:cfd bottom}}",oldXfd:"{{Old CfD |__SECTION__ |date=__DATE_YMD__ |action=__ACTION__ |result=__RESULT__}}\n",alreadyClosed:"\x3c!-- Template:Cfd top --\x3e",relistReplace:" full|day=__DAY__|month=__MONTH__|year=__YEAR__"},regex:{nomTemplate:/<!--\s*BEGIN CFD TEMPLATE\s*-->(?:.|\n)+<!--\s*END CFD TEMPLATE\s*-->\n*/gi,relistPattern:/ full\|day=\d\d?\|month=\w+\|year=\d{4}/gi},relistTasks:["UpdateOldLogPage","UpdateNewLogPage","UpdateNomTemplates"]});return cfdVenue.updateNomTemplateAfterRelist=function(wikitext,today){var matches=wikitext.match(cfdVenue.regex.relistPattern);if(!matches)return wikitext;if(1<matches.length)throw new Error("Multiple nomination templates on page");var todayParts=today.split(" ");return wikitext.replace(cfdVenue.regex.relistPattern,cfdVenue.wikitext.relistReplace.replace("__DAY__",todayParts[2]).replace("__MONTH__",todayParts[1]).replace("__YEAR__",todayParts[0])).replace(/'''\[\[Wikipedia:Categories for discussion\/Log\/\d{4} \w+ \d{1,2}#/,"'''[[Wikipedia:Categories for discussion/Log/"+today+"#")},cfdVenue},Venue.Ffd=function(){return new Venue("ffd",{path:"Wikipedia:Files for discussion/",ns_number:[6],ns_unlink:["0","10","100","118"],html:{head:"h4",list:"dl",listitem:"dd",nthSpan:"1"},wikitext:{closeTop:"{{subst:ffd top|'''__RESULT__'''}}__TO_TARGET____RATIONALE__ __SIG__",closeBottom:"{{subst:ffd bottom}}",oldXfd:"{{oldffdfull |date=__DATE__ |result='''__RESULT__''' |page=__SECTION__}}\n",pagelinks:"{{subst:ffd2|__PAGE__|multi=yes}}\n",relistReplace:"{{ffd|log=__TODAY__",alreadyClosed:"\x3c!--Template:Ffd top--\x3e"},regex:{nomTemplate:/{{ffd[^}}]*}}/gi,relistPattern:/{{\s*ffd\s*\|\s*log\s*=\s*[^|}}]*/gi},relistTasks:["UpdateOldLogPage","UpdateNewLogPage","UpdateNomTemplates"]})},Venue.Tfd=function(){var tfdVenue=new Venue("tfd",{path:"Wikipedia:Templates for discussion/Log/",subpagePath:"Wikipedia:Templates for discussion/",ns_number:[10,828],html:{head:"h4",list:"ul",listitem:"li",nthSpan:"1"},wikitext:{closeTop:"{{subst:Tfd top|'''__RESULT__'''}}__TO_TARGET____RATIONALE__ __SIG__",closeBottom:"{{subst:Tfd bottom}}",oldXfd:"{{oldtfdfull|date= __DATE__ |result=__RESULT__ |disc=__SECTION__}}\n",pagelinks:"* {{tfd links|__PAGE__}}\n",relistReplace:"Wikipedia:Templates for discussion/Log/__TODAY__#",alreadyClosed:"\x3c!-- Tfd top --\x3e"},regex:{nomTemplate:/(<noinclude>[\n\s]*)?{{(?:Template for discussion|Tfm)\/dated[^{}]*(?:{{[^}}]*}}[^}}]*)*?}}([\n\s]*<\/noinclude>)?(\n)?/gi,relistPattern:/Wikipedia:Templates(_|\s){1}for(_|\s){1}discussion\/Log\/\d{4}(_|\s){1}\w*(_|\s){1}\d{1,2}#(?=[^}]*}{2})/gi},holdingCellSectionNumber:{review:3,"merge-infobox":5,"merge-navigation":6,"merge-link":7,"merge-other":8,"merge-meta":9,convert:10,substitute:11,orphan:12,ready:13},relistTasks:["UpdateOldLogPage","UpdateNewLogPage","UpdateNomTemplates"]});return tfdVenue.removeNomTemplate=function(wikitext){var pattern=new RegExp(tfdVenue.regex.nomTemplate),matches=wikitext.match(pattern);if(!matches)return wikitext;if(1<matches.length)throw new Error("Multiple nomination templates on page");var tags=pattern.exec(wikitext);if(!tags)return wikitext;var first,second,replacement=(first=tags[1],second=tags[2],!!first!=!!second)?"$1$2":"";return wikitext.replace(pattern,replacement)},tfdVenue.updateNomTemplateAfterRelist=function(wikitext,today,sectionHeader){var matches=wikitext.match(tfdVenue.regex.relistPattern);if(!matches)return wikitext;if(1<matches.length)throw new Error("Multiple nomination templates on page");return wikitext.replace(tfdVenue.regex.relistPattern,tfdVenue.wikitext.relistReplace.replace("__TODAY__",today).replace("__SECTION_HEADER__",sectionHeader))},tfdVenue},Venue.Rfd=function(){var rfdVenue=new Venue("rfd",{type:"rfd",path:"Wikipedia:Redirects for discussion/Log/",ns_number:null,html:{head:"h4",list:"ul",listitem:"li"},wikitext:{closeTop:"{{subst:Rfd top|'''__RESULT__'''}}__TO_TARGET____RATIONALE__ __SIG__",closeBottom:"{{subst:Rfd bottom}}",oldXfd:"{{Old RfD |date={{subst:date|__FIRSTDATE__}} |result='''__RESULT__''' |page=__DATE__#__SECTION__}}\n",alreadyClosed:"\x3c!-- Template:Rfd top--\x3e",relistReplace:"#invoke:RfD||2=__SECTION_HEADER__|"},regex:{nomTemplate:/(^\s*{{.*#invoke:RfD(?:.|\n)*?-->\|content=\n?|\n?<!-- Don't add anything after this line.*? -->\n}}|\[\[Category:Temporary maintenance holdings\]\]\n?)/g,fullNomTemplate:/(^\s*{{.*#invoke:RfD(?:.|\n)*?<!-- Don't add anything after this line.*? -->\n}}|\[\[Category:Temporary maintenance holdings\]\]\n?)/g,relistPattern:/#invoke:RfD\|\|\|/gi},relistTasks:["UpdateOldLogPage","UpdateNewLogPage","UpdateNomTemplates"],expectRedirects:!0});return rfdVenue.removeNomTemplate=function(wikitext){var pattern=new RegExp(rfdVenue.regex.nomTemplate);return wikitext.replace(pattern,"")},rfdVenue},Venue.Afd=function(transcludedOnly){return new Venue("afd",{type:"afd",path:"Wikipedia:Articles for deletion/Log/",subpagePath:"Wikipedia:Articles for deletion/",hasIndividualSubpages:!0,ns_number:[0],ns_logpages:4,ns_unlink:["0","10","100","118"],html:{head:"h3",list:"dl",listitem:"dd",nthSpan:"2"},wikitext:{closeTop:"{{subst:Afd top|'''__RESULT__'''}}__TO_TARGET____RATIONALE__ __SIG__",closeBottom:"{{subst:Afd bottom}}",mergeFrom:"{{Afd-merge from|__NOMINATED__|__DEBATE__|__DATE__}}\n",mergeTo:"{{Afd-merge to|__TARGET__|__DEBATE__|__DATE__}}\n",alreadyClosed:"\x3c!--Template:Afd bottom--\x3e"},regex:{nomTemplate:/(?:{{[Aa](?:rticle for deletion\/dated|fDM|fd\/dated)|<!-- Please do not remove or change this AfD message)(?:.|\n)*?}}(?:(?:.|\n)+this point -->)?\s*/g},transcludedOnly:transcludedOnly,relistTasks:["UpdateDiscussion","UpdateOldLogPage","UpdateNewLogPage"]})},Venue.newFromPageName=function(pageName){var isAfd=/(Articles_for_deletion|User:Cyberbot_I|Wikipedia:WikiProject_Deletion_sorting)/.test(pageName),afdTranscludedOnly=/(User:Cyberbot_I|Wikipedia:WikiProject_Deletion_sorting)/.test(pageName);if(pageName.includes("Wikipedia:Miscellany_for_deletion"))return Venue.Mfd();if(pageName.includes("Categories_for_discussion/"))return Venue.Cfd();if(pageName.includes("Files_for_discussion"))return Venue.Ffd();if(pageName.includes("Templates_for_discussion"))return Venue.Tfd();if(pageName.includes("Redirects_for_discussion"))return Venue.Rfd();if(isAfd)return Venue.Afd(afdTranscludedOnly);switch(_globals.mw.Title.newFromText(pageName).getNamespaceId()){case 0:return Venue.Afd();case 6:return Venue.Ffd();case 10:case 828:return Venue.Tfd();case 14:return Venue.Cfd();default:return Venue.Mfd()}};var _default=Venue;exports.default=_default},{"../globals":1}],64:[function(require,module,exports){"use strict";function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_DiscussionViewController=_interopRequireDefault(require("../Controllers/DiscussionViewController")),_data=require("../data"),_Discussion=_interopRequireDefault(require("../Models/Discussion")),_util=require("../util"),prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("../prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function xfdcActionLabel(label){return new _globals.OO.ui.HtmlSnippet('<span class="xfdc-action" style="margin:0;">[<a>'.concat(label,"</a>]</span>"))}var calculatedButtonMenuWidth=function(){var $testElement=(0,_globals.$)("<span>").text("Quick Delete");(0,_globals.$)("#mw-content-text").append($testElement);var width=$testElement.width();return $testElement.remove(),Math.ceil(width)+24+5}();function DiscussionView(model){DiscussionView.super.call(this,{$element:(0,_globals.$)("<span>").attr({id:model.id,class:"xfdc-status"}),classes:model.classes}),this.model=model,this.$headlineSpan=model.$headlineSpan,this.closeButton=new _globals.OO.ui.ButtonWidget({framed:!1,label:xfdcActionLabel("Close"),title:"Close discussion...",classes:"xfdc-action"}),this.relistButton=new _globals.OO.ui.ButtonWidget({framed:!1,label:xfdcActionLabel("Relist"),title:"Relist discussion...",classes:"xfdc-action"});var quickKeepMenuOption=new _globals.OO.ui.MenuOptionWidget({data:"quickKeep",label:"Quick Keep",title:'close as "keep", remove nomination templates, add old xfd templates to talk pages',classes:["xfdc-menuOptionWidget"]});if(!!(0,_data.getRelevantResults)(this.model.venue.type,this.model.userIsSysop).find(function(resultData){return"delete"===resultData.name})){var quickDeleteDescription=!this.model.userIsSysop||"tfd"===this.model.venue.type&&"holdingCell"===prefs.get("tfdDeleteAction")?"list nominated pages for deletion":"delete nominated pages & their talk pages";this.quickCloseMenuOptions=[quickKeepMenuOption,new _globals.OO.ui.MenuOptionWidget({data:"quickDelete",label:"Quick Delete",title:'quickDelete: close as "delete", '.concat(quickDeleteDescription),classes:["xfdc-menuOptionWidget"]})]}else this.quickCloseMenuOptions=[quickKeepMenuOption];this.quickCloseButtonMenu=new _globals.OO.ui.ButtonMenuSelectWidget({framed:!1,indicator:"down",label:xfdcActionLabel("quickClose"),title:"Quickly close discussion...",$overlay:(0,_globals.$)("#mw-content-text"),menu:{items:this.quickCloseMenuOptions,width:100<calculatedButtonMenuWidth?calculatedButtonMenuWidth:"10em"}}),this.buttonGroup=new _globals.OO.ui.ButtonGroupWidget({items:[this.closeButton,this.quickCloseButtonMenu,this.relistButton]}),this.buttonGroup.$element.css({margin:"-1em 0"}),this.statusLabel=new _globals.OO.ui.LabelWidget({label:"XFDcloser loading..."}),this.$element.append(this.buttonGroup.$element,this.statusLabel.$element),this.controller=new _DiscussionViewController.default(this.model,this)}_globals.OO.inheritClass(DiscussionView,_globals.OO.ui.Widget),DiscussionView.prototype.onQuickCloseChoose=function(menuOption){this.emit("actionSelect",menuOption.getData())},DiscussionView.newFromHeadline=function(_ref){var headingIndex=_ref.headingIndex,context=_ref.context,venue=_ref.venue,currentPageName=_ref.currentPageName,userIsSysop=_ref.userIsSysop,id="XFDC"+headingIndex,$headlineSpan=(0,_globals.$)(context),$heading=$headlineSpan.parent();(0,_globals.$)(".mw-headline-number",context).prependTo($heading);var sectionHeader=$headlineSpan.text().trim();if(!(/(afd|mfd)/.test(venue.type)&&$heading.parent().attr("class")&&$heading.parent().attr("class").includes("xfd-closed"))){if(/(afd|mfd)/.test(venue.type)||!$heading.next().attr("class")){var sectionlink=$heading.find(".mw-editsection a").not(".mw-editsection-visualeditor, .autoCloserButton").attr("href");if(!sectionlink){if(!(sectionlink=$heading.next().find(".xfdOldSectionEdit > a").attr("href")))return;sectionlink=sectionlink.replace("section=","section=T-")}var nompage,editsection=sectionlink.split("section=")[1].split("&")[0];if(/T/.test(editsection)){if(nompage=_globals.mw.Title.newFromText(decodeURIComponent(sectionlink.split("title=")[1].split("&")[0])).getPrefixedText(),["Wikipedia:Redirects for discussion/Header","Wikipedia:Redirect/Deletion reasons","Wikipedia:Templates for discussion/Holding cell","Wikipedia:Categories for discussion/Speedy"].includes(nompage))return;editsection=editsection.substr(2)}else{if(venue.transcludedOnly)return;nompage=_globals.mw.Title.newFromText(currentPageName).getPrefixedText()}(0,_globals.$)("table.mw-collapsible").has("div.xfd-closed").addClass("xfd-closed");var $discussionNodes=$heading.nextUntil(venue.html.head+", div.xfd-closed, table.xfd-closed");$discussionNodes.addClass("".concat(id,"-discussion-node"));var firstDate,isOld,pages=[],action="";if("cfd"===venue.type){0===(pages=$discussionNodes.find("dd > ul > li").has('b:first-child:contains("Propose ")').find("a:first-of-type").not(".external").map(function(){return _globals.mw.Title.newFromText((0,_globals.$)(this).text())}).get()).length&&(pages=$heading.next("ul").find("li").find("a:first-of-type").not(".external").map(function(){return _globals.mw.Title.newFromText((0,_globals.$)(this).text())}).get());var $action=$heading.next().find("dd > ul > li > b").first();$action.length&&(action=$action.text().replace(/propose /i,""))}else pages="rfd"===venue.type||"mfd"===venue.type?$discussionNodes.find(venue.html.listitem).has("span.plainlinks.lx").children("span").filter(":first-child").children("a, span.plainlinks:not(.lx)").filter(":first-child").map(function(){return _globals.mw.Title.newFromText((0,_globals.$)(this).text())}).get():$discussionNodes.find(venue.html.listitem+" > span.plainlinks.nourlexpansion").filter(":nth-of-type("+venue.html.nthSpan+")").children("a").filter(":first-child").map(function(){return _globals.mw.Title.newFromText((0,_globals.$)(this).text())}).get();pages&&0!==pages.length&&!pages.some(function(p){return!p})||(pages=[]);var classes=[],$clonedDiscussionNodes=$discussionNodes.clone().find("span.localcomments").each(function(){var utcTime=(0,_globals.$)(this).attr("title");(0,_globals.$)(this).text(utcTime)}).end(),discussionText=$clonedDiscussionNodes.text();if("rfd"===venue.type){if(discussionText.includes("Relisted, see Wikipedia:Redirects for discussion")||discussionText.includes("Closed discussion, see full discussion"))return;var firstDateMatch=/(?:\d\d:\d\d, )(\d{1,2} \w+ \d{4})(?: \(UTC\))/.exec(discussionText),firstDateString=firstDateMatch&&firstDateMatch[1];firstDateString&&(firstDate=_util.dateFromParts.apply(null,firstDateString.split(" ").reverse()))}var lastRelist=(0,_globals.$)("<div>").append($clonedDiscussionNodes).find(".xfd_relist").last().text();lastRelist&&classes.push("xfdc-relisted");var notTranscludedCorrectlyMatch=discussionText.match(/(?:Automated|Procedural) (?:comment|Note).*transcluded.*/i),notTranscludedCorrectlyComment=notTranscludedCorrectlyMatch&&notTranscludedCorrectlyMatch[0],timestampPatt=/\d\d:\d\d, \d{1,2} \w+ \d{4} \(UTC\)/,listingTimestampMatch=lastRelist.match(timestampPatt)||notTranscludedCorrectlyComment&&notTranscludedCorrectlyComment.match(timestampPatt)||discussionText.match(timestampPatt),listingTimestampDate=listingTimestampMatch&&(0,_util.dateFromSigTimestamp)(listingTimestampMatch[0]);if(listingTimestampDate){isOld=6048e5<new Date-listingTimestampDate,classes.push(isOld?"xfdc-old":"xfdc-notOld")}else classes.push("xfdc-unknownAge");return new DiscussionView(new _Discussion.default({$headlineSpan:$headlineSpan,id:"XFDC"+headingIndex,venue:venue,pages:pages,action:action,discussionPageName:nompage,sectionHeader:sectionHeader,sectionNumber:editsection,firstCommentDate:firstDate,isOld:isOld,isRelisted:!!lastRelist,userIsSysop:userIsSysop,classes:classes}))}$heading.addClass("xfd-closed")}};var _default=DiscussionView;exports.default=_default},{"../../globals":1,"../Controllers/DiscussionViewController":8,"../Models/Discussion":44,"../data":82,"../prefs":83,"../util":85}],65:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_config=_interopRequireDefault(require("../config")),_DraggableMixin=_interopRequireDefault(require("../Mixins/DraggableMixin")),_MainWindowController=_interopRequireDefault(require("../Controllers/MainWindowController")),_ResultPanel=_interopRequireDefault(require("./ResultPanel")),_OptionsPanel=_interopRequireDefault(require("./OptionsPanel")),_TaskListPanel=_interopRequireDefault(require("./TaskListPanel")),_PrefsPanel=_interopRequireDefault(require("./PrefsPanel"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function MainWindow(config){MainWindow.super.call(this,config),_DraggableMixin.default.call(this,config)}_globals.OO.inheritClass(MainWindow,_globals.OO.ui.ProcessDialog),_globals.OO.mixinClass(MainWindow,_DraggableMixin.default),MainWindow.static.name="main",MainWindow.static.title=function(){return(0,_globals.$)("<span>").css({"font-weight":"normal"}).append((0,_globals.$)("<a>").css({"font-weight":"bold"}).attr({href:_globals.mw.util.getUrl("WP:XFDC"),target:"_blank"}).text("XFDcloser")," (",(0,_globals.$)("<a>").attr({href:_globals.mw.util.getUrl("WT:XFDC"),target:"_blank"}).text("talk"),") ",(0,_globals.$)("<span>").css({"font-size":"90%"}).text("v"+_config.default.script.version))},MainWindow.static.size="large",MainWindow.static.actions=[{action:"savePrefs",label:"Update",flags:["primary","progressive"],modes:"prefs"},{action:"next",label:"Next",title:"Next",flags:["primary","progressive"],modes:["normal","multimodeAvailable","multimodeActive"]},{action:"save",label:"Save",title:"Close discussion and implement selected actions",flags:["primary","progressive"],modes:["relist","basic","options"]},{action:"finish",label:"Close",title:"Close",flags:["primary","progressive"],modes:"tasks",disabled:!0},{action:"closePrefs",label:"Back",flags:"safe",modes:"prefs"},{label:"Cancel",title:"Cancel",flags:"safe",modes:["normal","relist","basic","multimodeAvailable","multimodeActive"]},{action:"back",label:"Back",title:"Back",flags:"safe",modes:"options"},{action:"abort",label:"Abort",title:"Abort",flags:["safe","destructive"],modes:"tasks"},{action:"showPrefs",label:"Preferences",title:"Preferences",icon:"settings",flags:"safe",modes:["normal","relist","basic","multimodeAvailable","multimodeActive"]},{action:"defaultPrefs",label:"Restore defaults",title:"Restore default preferences",flags:"safe",modes:"prefs"},{action:"multimode",label:"Multiple results...",modes:["multimodeAvailable"]},{action:"singlemode",label:"Single result...",modes:["multimodeActive"]}],MainWindow.prototype.setErrorsLabels=function(labels){labels=labels||{},this.$errorsTitle.text(labels.title||"Something went wrong..."),this.dismissButton.setLabel(labels.dismiss||"Dismiss")},MainWindow.prototype.initialize=function(){MainWindow.super.prototype.initialize.call(this),this.stackLayout=new _globals.OO.ui.StackLayout({padded:!1,expanded:!1}),this.$body.append(this.stackLayout.$element),this.$body.attr("tabindex","999").parent().attr("tabindex","999").keydown(function(event){var scrollAmount;switch(event.which){case 33:scrollAmount=this.$body.scrollTop()-.9*this.$body.height();break;case 34:scrollAmount=this.$body.scrollTop()+.9*this.$body.height();break;default:return}this.$body.scrollTop(scrollAmount),event.preventDefault()}.bind(this))},MainWindow.prototype.getBodyHeight=function(){return(0,_globals.$)(".oo-ui-processDialog-errors").get(0).scrollHeight||this.model.height},MainWindow.prototype.getSetupProcess=function(data){var _this=this;return(data=data||{}).preferences||(data.preferences={}),this.setupDraggablityStyles(),MainWindow.super.prototype.getSetupProcess.call(this,data).next(function(){_this.model=data.model,_this.resultPanel=new _ResultPanel.default({data:{name:"resultPanel"},padded:!0},_this.model.result),_this.optionsPanel=new _OptionsPanel.default({data:{name:"optionsPanel"},padded:!0,$overlay:_this.$overlay},_this.model.options),_this.taskListPanel=new _TaskListPanel.default({data:{name:"taskListPanel"},padded:!0},_this.model.taskList),_this.prefsPanel=new _PrefsPanel.default({data:{name:"prefsPanel"},padded:!0},_this.model.preferences),_this.stackLayout.clearItems(),_this.stackLayout.addItems([_this.resultPanel,_this.optionsPanel,_this.taskListPanel,_this.prefsPanel]),_this.model.isQuick&&(_this.taskListPanel.controller.updateGroupFromModel(),_this.optionsPanel.controller.updateGroupFromModel()),_this.controller=new _MainWindowController.default(_this.model,_this),_this.controller.updateFromModel()},this)},MainWindow.prototype.getReadyProcess=function(data){var _this2=this;return data=data||{},MainWindow.super.prototype.getReadyProcess.call(this,data).next(function(){_this2.makeDraggable(0,data.offsetTop)})},MainWindow.prototype.getActionProcess=function(action){return this.controller.getActionProcess(action)},MainWindow.prototype.onActionClick=function(action){this.isPending()&&"abort"!==action.getAction()||this.executeAction(action.getAction())},MainWindow.prototype.showErrors=function(errors){MainWindow.super.prototype.showErrors.call(this,errors),this.updateSize()},MainWindow.prototype.getTeardownProcess=function(data){var _this3=this;return MainWindow.super.prototype.getTeardownProcess.call(this,data).first(function(){_this3.removeDraggability()})};var _default=MainWindow;exports.default=_default},{"../../globals":1,"../Controllers/MainWindowController":10,"../Mixins/DraggableMixin":43,"../config":81,"./OptionsPanel":67,"./PrefsPanel":69,"./ResultPanel":73,"./TaskListPanel":76}],66:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_OptionsItemController=(obj=require("../Controllers/OptionsItemController"))&&obj.__esModule?obj:{default:obj};function OptionsItemWidget(model,config){config=config||{},OptionsItemWidget.super.call(this,config),this.$overlay=config.$overlay,this.model=model,this.fieldset=new _globals.OO.ui.FieldsetLayout,this.actionsDropdown=new _globals.OO.ui.DropdownWidget({$overlay:this.$overlay}),this.fieldset.addItems([new _globals.OO.ui.FieldLayout(this.actionsDropdown,{label:"Actions"})]),this.controller=new _OptionsItemController.default(this.model,this),this.controller.updateFromModel(),this.$element.append(this.fieldset.$element).css({"margin-bottom":"1.8em"}),this.setData({name:this.model.name})}_globals.OO.inheritClass(OptionsItemWidget,_globals.OO.ui.Widget);var _default=OptionsItemWidget;exports.default=_default},{"../../globals":1,"../Controllers/OptionsItemController":11}],67:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_OptionsPanelController=(obj=require("../Controllers/OptionsPanelController"))&&obj.__esModule?obj:{default:obj};function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function OptionsPanel(config,model){config=config||{},OptionsPanel.super.call(this,config),_globals.OO.ui.mixin.GroupElement.call(this,function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({$group:(0,_globals.$)("<div>").appendTo(this.$element)},config)),this.model=model,this.$overlay=config.$overlay,this.controller=new _OptionsPanelController.default(this.model,this),this.controller.updateFromModel()}_globals.OO.inheritClass(OptionsPanel,_globals.OO.ui.PanelLayout),_globals.OO.mixinClass(OptionsPanel,_globals.OO.ui.mixin.GroupElement);var _default=OptionsPanel;exports.default=_default},{"../../globals":1,"../Controllers/OptionsPanelController":12}],68:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_PrefsItemController=(obj=require("../Controllers/PrefsItemController"))&&obj.__esModule?obj:{default:obj};function PrefsItemWidget(model,config){switch(config=config||{},PrefsItemWidget.super.call(this,config),this.$overlay=config.$overlay,(this.model=model).type){case"toggle":this.selector=new _globals.OO.ui.ToggleSwitchWidget;break;case"dropdown":this.selector=new _globals.OO.ui.DropdownWidget({$overlay:this.$overlay,menu:{items:model.options.map(function(option){return new _globals.OO.ui.MenuOptionWidget(option)})}});break;case"number":this.selector=new _globals.OO.ui.NumberInputWidget;break;default:throw new Error("PrefsItemWidget: unrecognised type: "+model.type)}this.fieldLayout=new _globals.OO.ui.FieldLayout(this.selector,{help:model.help,helpInline:model.helpInline,$element:this.$element}),this.controller=new _PrefsItemController.default(this.model,this),this.controller.updateFromModel()}_globals.OO.inheritClass(PrefsItemWidget,_globals.OO.ui.Widget);var _default=PrefsItemWidget;exports.default=_default},{"../../globals":1,"../Controllers/PrefsItemController":13}],69:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_PrefsPanelController=(obj=require("../Controllers/PrefsPanelController"))&&obj.__esModule?obj:{default:obj};function PrefsPanel(config,model){config=config||{},PrefsPanel.super.call(this,config),this.model=model,this.fieldset=new _globals.OO.ui.FieldsetLayout({label:"Preferences"}),this.$element.append(this.fieldset.$element),this.controller=new _PrefsPanelController.default(this.model,this)}_globals.OO.inheritClass(PrefsPanel,_globals.OO.ui.PanelLayout);var _default=PrefsPanel;exports.default=_default},{"../../globals":1,"../Controllers/PrefsPanelController":14}],70:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_config=_interopRequireDefault(require("../config")),_PrefsPanel=_interopRequireDefault(require("./PrefsPanel")),_DraggableMixin=_interopRequireDefault(require("../Mixins/DraggableMixin")),_PrefsWindowModel=_interopRequireDefault(require("../Models/PrefsWindowModel")),_PrefsWindowController=_interopRequireDefault(require("../Controllers/PrefsWindowController"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function PrefsWindow(config){PrefsWindow.super.call(this,config),_DraggableMixin.default.call(this,config)}_globals.OO.inheritClass(PrefsWindow,_globals.OO.ui.ProcessDialog),_globals.OO.mixinClass(PrefsWindow,_DraggableMixin.default),PrefsWindow.static.name="prefs",PrefsWindow.static.title=function(){return(0,_globals.$)("<span>").css({"font-weight":"normal"}).append((0,_globals.$)("<a>").css({"font-weight":"bold"}).attr({href:_globals.mw.util.getUrl("WP:XFDC"),target:"_blank"}).text("XFDcloser")," (",(0,_globals.$)("<a>").attr({href:_globals.mw.util.getUrl("WT:XFDC"),target:"_blank"}).text("talk"),") ",(0,_globals.$)("<span>").css({"font-size":"90%"}).text("v"+_config.default.script.version))},PrefsWindow.static.size="large",PrefsWindow.static.actions=[{action:"savePrefs",label:"Update",flags:["primary","progressive"]},{label:"Close",flags:"safe"},{action:"defaultPrefs",label:"Restore defaults",title:"Restore default preferences",flags:"safe"}],PrefsWindow.prototype.initialize=function(){PrefsWindow.super.prototype.initialize.call(this),this.stackLayout=new _globals.OO.ui.StackLayout({padded:!1,expanded:!1}),this.$body.append(this.stackLayout.$element),this.$body.attr("tabindex","999").parent().attr("tabindex","999").keydown(function(event){var scrollAmount;switch(event.which){case 33:scrollAmount=this.$body.scrollTop()-.9*this.$body.height();break;case 34:scrollAmount=this.$body.scrollTop()+.9*this.$body.height();break;default:return}this.$body.scrollTop(scrollAmount),event.preventDefault()}.bind(this))},PrefsWindow.prototype.getSetupProcess=function(data){var _this=this;return data=data||{},this.setupDraggablityStyles(),PrefsWindow.super.prototype.getSetupProcess.call(this,data).next(function(){_this.model=new _PrefsWindowModel.default({userIsSysop:data.userIsSysop}),_this.prefsPanel=new _PrefsPanel.default({data:{name:"prefsPanel"},padded:!0},_this.model.preferences),_this.stackLayout.clearItems(),_this.stackLayout.addItems([_this.prefsPanel]),_this.controller=new _PrefsWindowController.default(_this.model,_this),_this.controller.updateFromModel()})},PrefsWindow.prototype.getReadyProcess=function(data){var _this2=this;return data=data||{},PrefsWindow.super.prototype.getReadyProcess.call(this,data).next(function(){_this2.makeDraggable(0,data.offsetTop),_this2.prefsPanel.fieldset.items[0].fieldLayout.getField().focus()})},PrefsWindow.prototype.getActionProcess=function(action){return this.controller.getActionProcess(action)},PrefsWindow.prototype.getBodyHeight=function(){return this.controller?this.controller.getBodyHeight():PrefsWindow.super.prototype.getBodyHeight.call(this)},PrefsWindow.prototype.getTeardownProcess=function(data){var _this3=this;return PrefsWindow.super.prototype.getTeardownProcess.call(this,data).first(function(){_this3.removeDraggability()})};var _default=PrefsWindow;exports.default=_default},{"../../globals":1,"../Controllers/PrefsWindowController":15,"../Mixins/DraggableMixin":43,"../Models/PrefsWindowModel":50,"../config":81,"./PrefsPanel":69}],71:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_ResultItemController=(obj=require("../Controllers/ResultItemController"))&&obj.__esModule?obj:{default:obj};function ResultItemWidget(model,config){config=config||{},ResultItemWidget.super.call(this,config),this.$overlay=config.$overlay,this.model=model,this.pageName=config.pageName,this.resultDropdown=new _globals.OO.ui.DropdownWidget({$overlay:this.$overlay}),this.resultField=new _globals.OO.ui.FieldLayout(this.resultDropdown),this.targetInput=new _globals.OO.ui.TextInputWidget({validate:config.validatePageName}),this.targetField=new _globals.OO.ui.FieldLayout(this.targetInput,{label:"to:",align:"right"}),this.targetField.$element.css({margin:"6px 0 12px 0"}),this.customResultInput=new _globals.OO.ui.TextInputWidget({validate:config.validateCustomResult}),this.customField=new _globals.OO.ui.FieldLayout(this.customResultInput,{label:"Result:",align:"right"}),this.customField.$element.css({margin:"6px 0"}),this.fieldset=new _globals.OO.ui.FieldsetLayout({items:[this.resultField,this.targetField,this.customField]}),this.$element.append(this.fieldset.$element).css({"margin-bottom":"1.8em"}),this.controller=new _ResultItemController.default(this.model,this),this.controller.updateFromModel()}_globals.OO.inheritClass(ResultItemWidget,_globals.OO.ui.Widget),ResultItemWidget.prototype.getInputStates=function(){var targetInputCarets=this.targetInput.$input.textSelection("getCaretPosition",{startAndEnd:!0}),customResultCarets=this.customResultInput.$input.textSelection("getCaretPosition",{startAndEnd:!0});return{targetInput:{focused:this.targetInput.$input.get(0)===document.activeElement,caretStart:targetInputCarets[0],caretEnd:targetInputCarets[1]},customResultInput:{focused:this.customResultInput.$input.get(0)===document.activeElement,caretStart:customResultCarets[0],caretEnd:customResultCarets[1]}}},ResultItemWidget.prototype.setInputStates=function(state){state.targetInput.focused?(this.targetInput.focus(),this.targetInput.$input.textSelection("setSelection",{start:state.targetInput.caretStart,end:state.targetInput.caretEnd})):state.customResultInput.focused&&(this.customResultInput.focus(),this.customResultInput.$input.textSelection("setSelection",{start:state.customResultInput.caretStart,end:state.customResultInput.caretEnd}))};var _default=ResultItemWidget;exports.default=_default},{"../../globals":1,"../Controllers/ResultItemController":16}],72:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_ResultListWidgetController=(obj=require("../Controllers/ResultListWidgetController"))&&obj.__esModule?obj:{default:obj};function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function ResultListWidget(model,config){config=config||{},ResultListWidget.super.call(this,config),_globals.OO.ui.mixin.GroupElement.call(this,function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({$group:this.$element},config)),this.model=model,this.$overlay=config.$overlay,this.controller=new _ResultListWidgetController.default(this.model,this)}_globals.OO.inheritClass(ResultListWidget,_globals.OO.ui.Widget),_globals.OO.mixinClass(ResultListWidget,_globals.OO.ui.mixin.GroupElement);var _default=ResultListWidget;exports.default=_default},{"../../globals":1,"../Controllers/ResultListWidgetController":17}],73:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_ResultPanelController=_interopRequireDefault(require("../Controllers/ResultPanelController")),_ResultListWidget=_interopRequireDefault(require("./ResultListWidget")),_SingleResultWidget=_interopRequireDefault(require("./SingleResultWidget"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function ResultPanel(config,model){config=config||{},ResultPanel.super.call(this,config),this.model=model,this.notesFieldset=new _globals.OO.ui.FieldsetLayout,this.resultFieldset=new _globals.OO.ui.FieldsetLayout({label:"Result"}),this.singleResultWidget=new _SingleResultWidget.default(this.model.singleModeResult,{$overlay:config.$overlay}),this.resultWidgetField=new _globals.OO.ui.FieldLayout(this.singleResultWidget,{align:"top"}),this.multiResultWidget=new _ResultListWidget.default(this.model.multimodeResults,{$overlay:config.$overlay}),this.multiResultWidgetField=new _globals.OO.ui.FieldLayout(this.multiResultWidget,{align:"top"}),this.resultSummary=new _globals.OO.ui.TextInputWidget,this.resultSummaryField=new _globals.OO.ui.FieldLayout(this.resultSummary,{label:(0,_globals.$)("<strong>").text("Result summary")}),this.resultFieldset.addItems([this.resultWidgetField,this.multiResultWidgetField,this.resultSummaryField]),this.rationaleFieldset=new _globals.OO.ui.FieldsetLayout,this.copyButton=new _globals.OO.ui.ButtonWidget({label:"Copy from above",framed:!1}),this.rationaleTextbox=new _globals.OO.ui.MultilineTextInputWidget({rows:3}),this.newSentenceOption=new _globals.OO.ui.CheckboxMultioptionWidget({label:"Result is a new sentence",selected:!0}),this.rationaleWidget=new _globals.OO.ui.Widget,this.rationaleWidget.$element.append(this.copyButton.$element,this.rationaleTextbox.$element,this.newSentenceOption.$element),this.rationaleFieldset.addItems(new _globals.OO.ui.FieldLayout(this.rationaleWidget,{align:"top"})),this.previewFieldset=new _globals.OO.ui.FieldsetLayout({label:"Preview"}),this.preview=new _globals.OO.ui.Widget,this.preview.$element.css({border:"2px dashed #ccc","border-radius":"5px",padding:"5px"}),this.previewFieldset.addItems(new _globals.OO.ui.FieldLayout(this.preview,{align:"top"})),this.$element.append(this.notesFieldset.$element,this.resultFieldset.$element,this.rationaleFieldset.$element,this.previewFieldset.$element).children().css({margin:"1em 0"}).first().css({"margin-top":"0"}),this.controller=new _ResultPanelController.default(this.model,this),this.controller.updateFromModel()}_globals.OO.inheritClass(ResultPanel,_globals.OO.ui.PanelLayout);var _default=ResultPanel;exports.default=_default},{"../../globals":1,"../Controllers/ResultPanelController":18,"./ResultListWidget":72,"./SingleResultWidget":74}],74:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_SingleResultWidgetController=(obj=require("../Controllers/SingleResultWidgetController"))&&obj.__esModule?obj:{default:obj};function SingleResultWidget(model,config){config=config||{},SingleResultWidget.super.call(this,config),this.$overlay=config.$overlay,this.model=model,this.buttonSelect=new _globals.OO.ui.ButtonSelectWidget,this.speedyOption=new _globals.OO.ui.CheckboxMultioptionWidget({data:{name:"speedy",prefix:"speedy "},label:"Speedy"}),this.softOption=new _globals.OO.ui.CheckboxMultioptionWidget({data:{name:"soft",prefix:"soft "},label:"Soft"}),this.deleteFirstOption=new _globals.OO.ui.CheckboxMultioptionWidget({data:{name:"deleteFirst",prefix:"delete and "},label:"Delete first"}),this.optionsMultiselect=new _globals.OO.ui.CheckboxMultiselectWidget({items:[this.speedyOption,this.softOption,this.deleteFirstOption]}),this.optionsMultiselect.$element.find("label").css({display:"inline-block","margin-left":"1em",padding:"4px 0"}),this.targetInput=new _globals.OO.ui.TextInputWidget({label:"to:",labelPosition:"before",classes:["padLeft2em"],validate:function(val){return null!==_globals.mw.Title.newFromText(val)}}),this.customResultInput=new _globals.OO.ui.TextInputWidget({label:"Result:",labelPosition:"before",classes:["padLeft4em"],validate:"non-empty"}),this.$element.append(this.buttonSelect.$element,this.optionsMultiselect.$element,this.targetInput.$element,this.customResultInput.$element),this.controller=new _SingleResultWidgetController.default(this.model,this),this.controller.updateFromModel()}_globals.OO.inheritClass(SingleResultWidget,_globals.OO.ui.Widget);var _default=SingleResultWidget;exports.default=_default},{"../../globals":1,"../Controllers/SingleResultWidgetController":19}],75:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_AddBeingDeleted=_interopRequireDefault(require("../Controllers/Tasks/AddBeingDeleted")),_AddMergeTemplates=_interopRequireDefault(require("../Controllers/Tasks/AddMergeTemplates")),_AddOldXfd=_interopRequireDefault(require("../Controllers/Tasks/AddOldXfd")),_AddToHoldingCell=_interopRequireDefault(require("../Controllers/Tasks/AddToHoldingCell")),_CloseDiscussion=_interopRequireDefault(require("../Controllers/Tasks/CloseDiscussion")),_DeletePages=_interopRequireDefault(require("../Controllers/Tasks/DeletePages")),_DeleteRedirects=_interopRequireDefault(require("../Controllers/Tasks/DeleteRedirects")),_DeleteTalkpages=_interopRequireDefault(require("../Controllers/Tasks/DeleteTalkpages")),_Disambiguate=_interopRequireDefault(require("../Controllers/Tasks/Disambiguate")),_GetRelistInfo=_interopRequireDefault(require("../Controllers/Tasks/GetRelistInfo")),_Redirect=_interopRequireDefault(require("../Controllers/Tasks/Redirect")),_RemoveCircularLinks=_interopRequireDefault(require("../Controllers/Tasks/RemoveCircularLinks")),_RemoveNomTemplates=_interopRequireDefault(require("../Controllers/Tasks/RemoveNomTemplates")),_TagTalkWithSpeedy=_interopRequireDefault(require("../Controllers/Tasks/TagTalkWithSpeedy")),_UnlinkBacklinks=_interopRequireDefault(require("../Controllers/Tasks/UnlinkBacklinks")),_UpdateDiscussion=_interopRequireDefault(require("../Controllers/Tasks/UpdateDiscussion")),_UpdateNewLogPage=_interopRequireDefault(require("../Controllers/Tasks/UpdateNewLogPage")),_UpdateNomTemplates=_interopRequireDefault(require("../Controllers/Tasks/UpdateNomTemplates")),_UpdateOldLogPage=_interopRequireDefault(require("../Controllers/Tasks/UpdateOldLogPage"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var controllers={AddBeingDeleted:_AddBeingDeleted.default,AddMergeTemplates:_AddMergeTemplates.default,AddOldXfd:_AddOldXfd.default,AddToHoldingCell:_AddToHoldingCell.default,CloseDiscussion:_CloseDiscussion.default,DeletePages:_DeletePages.default,DeleteRedirects:_DeleteRedirects.default,DeleteTalkpages:_DeleteTalkpages.default,Disambiguate:_Disambiguate.default,GetRelistInfo:_GetRelistInfo.default,Redirect:_Redirect.default,RemoveCircularLinks:_RemoveCircularLinks.default,RemoveNomTemplates:_RemoveNomTemplates.default,TagTalkWithSpeedy:_TagTalkWithSpeedy.default,UnlinkBacklinks:_UnlinkBacklinks.default,UpdateDiscussion:_UpdateDiscussion.default,UpdateNewLogPage:_UpdateNewLogPage.default,UpdateNomTemplates:_UpdateNomTemplates.default,UpdateOldLogPage:_UpdateOldLogPage.default};function TaskItemWidget(model){TaskItemWidget.super.call(this,{classes:["xfdc-taskItemWidget"]}),this.model=model,this.progressbar=new _globals.OO.ui.ProgressBarWidget,this.field=new _globals.OO.ui.FieldLayout(this.progressbar,{$element:this.$element}),this.$element.find(".oo-ui-fieldLayout-messages").css("clear","both"),this.showAllWarningsButton=new _globals.OO.ui.ButtonWidget({label:"Show warnings",icon:"alert"}),this.showAllErrorsButton=new _globals.OO.ui.ButtonWidget({label:"Show errors",icon:"error",flags:"destructive"}),this.$element.append(this.showAllWarningsButton.$element,this.showAllErrorsButton.$element),this.controller=new controllers[model.taskName](model,this),this.controller.updateFromModel()}_globals.OO.inheritClass(TaskItemWidget,_globals.OO.ui.Widget);var _default=TaskItemWidget;exports.default=_default},{"../../globals":1,"../Controllers/Tasks/AddBeingDeleted":22,"../Controllers/Tasks/AddMergeTemplates":23,"../Controllers/Tasks/AddOldXfd":24,"../Controllers/Tasks/AddToHoldingCell":25,"../Controllers/Tasks/CloseDiscussion":26,"../Controllers/Tasks/DeletePages":27,"../Controllers/Tasks/DeleteRedirects":28,"../Controllers/Tasks/DeleteTalkpages":29,"../Controllers/Tasks/Disambiguate":30,"../Controllers/Tasks/GetRelistInfo":31,"../Controllers/Tasks/Redirect":32,"../Controllers/Tasks/RemoveCircularLinks":33,"../Controllers/Tasks/RemoveNomTemplates":34,"../Controllers/Tasks/TagTalkWithSpeedy":35,"../Controllers/Tasks/UnlinkBacklinks":36,"../Controllers/Tasks/UpdateDiscussion":37,"../Controllers/Tasks/UpdateNewLogPage":38,"../Controllers/Tasks/UpdateNomTemplates":39,"../Controllers/Tasks/UpdateOldLogPage":40}],76:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_TaskListPanelController=(obj=require("../Controllers/TaskListPanelController"))&&obj.__esModule?obj:{default:obj};function TaskListPanel(config,model){config=config||{},TaskListPanel.super.call(this,config),this.model=model,this.fieldset=new _globals.OO.ui.FieldsetLayout({label:"Tasks"}),this.$element.append(this.fieldset.$element),this.controller=new _TaskListPanelController.default(this.model,this)}_globals.OO.inheritClass(TaskListPanel,_globals.OO.ui.PanelLayout);var _default=TaskListPanel;exports.default=_default},{"../../globals":1,"../Controllers/TaskListPanelController":21}],77:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_UnlinkSummaryPanelController=(obj=require("../Controllers/UnlinkSummaryPanelController"))&&obj.__esModule?obj:{default:obj};function UnlinkSummaryPanel(config,model){config=config||{},UnlinkSummaryPanel.super.call(this,config),this.model=model,this.summaryInput=new _globals.OO.ui.TextInputWidget,this.summaryPreview=new _globals.OO.ui.LabelWidget({classes:["xu-preview"]}),this.summaryInputField=new _globals.OO.ui.FieldLayout(this.summaryInput,{label:"Enter the reason for link removal",align:"top"}),this.summaryPreviewField=new _globals.OO.ui.FieldLayout(this.summaryPreview,{label:"Edit summary preview:",align:"top"}),this.controller=new _UnlinkSummaryPanelController.default(this.model,this),this.content=new _globals.OO.ui.FieldsetLayout,this.content.addItems([this.summaryInputField,this.summaryPreviewField]),this.$element.append(this.content.$element)}_globals.OO.inheritClass(UnlinkSummaryPanel,_globals.OO.ui.PanelLayout);var _default=UnlinkSummaryPanel;exports.default=_default},{"../../globals":1,"../Controllers/UnlinkSummaryPanelController":41}],78:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../../globals"),_TaskItemWidget=(obj=require("./TaskItemWidget"))&&obj.__esModule?obj:{default:obj};function UnlinkTaskPanel(config,model){config=config||{},UnlinkTaskPanel.super.call(this,config),this.model=model,this.taskWidget=new _TaskItemWidget.default(this.model),this.fieldset=new _globals.OO.ui.FieldsetLayout({items:[this.taskWidget]}),this.$element.append(this.fieldset.$element)}_globals.OO.inheritClass(UnlinkTaskPanel,_globals.OO.ui.PanelLayout);var _default=UnlinkTaskPanel;exports.default=_default},{"../../globals":1,"./TaskItemWidget":75}],79:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../../globals"),_UnlinkWindowModel=_interopRequireDefault(require("../Models/UnlinkWindowModel")),_UnlinkWindowController=_interopRequireDefault(require("../Controllers/UnlinkWindowController")),_UnlinkSummaryPanel=_interopRequireDefault(require("./UnlinkSummaryPanel")),_UnlinkTaskPanel=_interopRequireDefault(require("./UnlinkTaskPanel")),_DraggableMixin=_interopRequireDefault(require("../Mixins/DraggableMixin")),_config=_interopRequireDefault(require("../config"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function UnlinkWindow(config){UnlinkWindow.super.call(this,config),_DraggableMixin.default.call(this,config)}_globals.OO.inheritClass(UnlinkWindow,_globals.OO.ui.ProcessDialog),_globals.OO.mixinClass(UnlinkWindow,_DraggableMixin.default),UnlinkWindow.static.name="unlink",UnlinkWindow.static.title=function(){return(0,_globals.$)("<span>").css({"font-weight":"normal"}).append((0,_globals.$)("<a>").css({"font-weight":"bold"}).attr({href:_globals.mw.util.getUrl("WP:XFDC"),target:"_blank"}).text("XFDcloser"),"/Unlink (",(0,_globals.$)("<a>").attr({href:_globals.mw.util.getUrl("WT:XFDC"),target:"_blank"}).text("talk"),") ",(0,_globals.$)("<span>").css({"font-size":"90%"}).text("v"+_config.default.script.version))},UnlinkWindow.static.size="large",UnlinkWindow.static.actions=[{action:"start",label:"Start",flags:["primary","progressive"],modes:"initial"},{action:"close",label:"Close",flags:["primary","progressive"],modes:"task",disabled:!0},{label:"Cancel",flags:"safe",modes:"initial"},{action:"abort",label:"Abort",flags:["safe","destructive"],modes:"task"}],UnlinkWindow.prototype.initialize=function(){UnlinkWindow.super.prototype.initialize.call(this),this.stackLayout=new _globals.OO.ui.StackLayout({padded:!1,expanded:!1}),this.$body.append(this.stackLayout.$element),this.$body.attr("tabindex","999").parent().attr("tabindex","999").keydown(function(event){var scrollAmount;switch(event.which){case 33:scrollAmount=this.$body.scrollTop()-.9*this.$body.height();break;case 34:scrollAmount=this.$body.scrollTop()+.9*this.$body.height();break;default:return}this.$body.scrollTop(scrollAmount),event.preventDefault()}.bind(this))},UnlinkWindow.prototype.getSetupProcess=function(data){var _this=this;return data=data||{},this.setupDraggablityStyles(),UnlinkWindow.super.prototype.getSetupProcess.call(this,data).next(function(){_this.model=new _UnlinkWindowModel.default({pageName:data.pageName,summary:data.summary}),_this.summaryPanel=new _UnlinkSummaryPanel.default({data:{name:"summary"},padded:!0},_this.model.summary),_this.taskPanel=new _UnlinkTaskPanel.default({data:{name:"task"},padded:!0},_this.model.task),_this.stackLayout.clearItems(),_this.stackLayout.addItems([_this.summaryPanel,_this.taskPanel]),_this.controller=new _UnlinkWindowController.default(_this.model,_this),_this.controller.updateFromModel()})},UnlinkWindow.prototype.getReadyProcess=function(data){var _this2=this;return data=data||{},UnlinkWindow.super.prototype.getReadyProcess.call(this,data).next(function(){_this2.makeDraggable(0,data.offsetTop),_this2.summaryPanel.summaryInput.focus()})},UnlinkWindow.prototype.getActionProcess=function(action){return this.controller.getActionProcess(action)},UnlinkWindow.prototype.getBodyHeight=function(){return this.controller?this.controller.getBodyHeight():UnlinkWindow.super.prototype.getBodyHeight.call(this)},UnlinkWindow.prototype.getTeardownProcess=function(data){var _this3=this;return UnlinkWindow.super.prototype.getTeardownProcess.call(this,data).first(function(){_this3.removeDraggability()})};var _default=UnlinkWindow;exports.default=_default},{"../../globals":1,"../Controllers/UnlinkWindowController":42,"../Mixins/DraggableMixin":43,"../Models/UnlinkWindowModel":59,"../config":81,"./UnlinkSummaryPanel":77,"./UnlinkTaskPanel":78}],80:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../globals"),_config=(obj=require("./config"))&&obj.__esModule?obj:{default:obj},_util=require("./util"),prefs=function(obj){if(obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache();if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(require("./prefs"));function _getRequireWildcardCache(){if("function"!=typeof WeakMap)return null;var cache=new WeakMap;return _getRequireWildcardCache=function(){return cache},cache}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var _default=new(function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(API,_globals.mw.Api);var Constructor,protoProps,staticProps,_super=_createSuper(API);function API(apiUserAgent){return function(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}(this,API),_super.call(this,{ajax:{headers:{"Api-User-Agent":apiUserAgent}}})}return Constructor=API,(protoProps=[{key:"editWithRetry",value:function(titles,getParams,transform,onEachSuccess,onEachFail){var _this=this;if(!titles||0===titles.length)throw new Error("No titles specified for editWithRetry");getParams=getParams||{};var watchlist=prefs.get("watchlist"),processPage=function(page,starttime){var basetimestamp=page.revisions&&page.revisions[0].timestamp;return _globals.$.when(transform(page)).then(function(editParams){var query=_objectSpread({},{action:"edit",title:page.title,watchlist:watchlist,assert:"user",basetimestamp:editParams.redirect?null:basetimestamp,starttimestamp:starttime},{},editParams);return function doEdit(isRetry){return _this.postWithToken("csrf",query).then(function(data){return onEachSuccess&&onEachSuccess(data),data.edit},function(code,error){return"http"!==code||isRetry?"editconflict"===code?doGetQuery(page.title):(onEachFail&&onEachFail(code,error,page.title),(0,_util.rejection)(code,error,page.title)):doEdit(!0)})}()},function(code,error){return onEachFail&&onEachFail(code,error,page.title),(0,_util.rejection)(code,error,page.title)})},doGetQuery=function doGetQuery(titles,isRetry){var baseQuery={action:"query",format:"json",formatversion:"2",curtimestamp:1,titles:titles,prop:"revisions|info",rvprop:"content|timestamp",rvslots:"main"};return _this.get(_objectSpread({},baseQuery,{},getParams)).then(function(response){var starttime=response.curtimestamp,pages=response.query.pages.map(function(page){return processPage(_objectSpread({},page,{content:page.revisions&&page.revisions[0].slots.main.content}),starttime)});return _globals.$.when.apply(null,pages.map(function(page){return page.then(function(){return{success:!0}},function(code,error,title){return{success:!1,code:code,error:error,title:title}})})).then(function(){var errors=Array.prototype.slice.call(arguments).filter(function(arg){return!arg.success});if(0<errors.length)return(0,_util.rejection)("write",errors.length,errors)})},function(code,error){return isRetry?(0,_util.rejection)("read",code,error):doGetQuery(titles,!0)})};return doGetQuery(titles)}},{key:"deleteWithRetry",value:function(pages,options,onEachSuccess,onEachFail){function deletePage(titleOrId,isRetry){var baseQuery={action:"delete"};return"number"==typeof titleOrId?baseQuery.pageid=titleOrId:baseQuery.title=titleOrId,_this2.postWithEditToken(_objectSpread({},baseQuery,{},options)).then(function(response){return onEachSuccess&&onEachSuccess(response),{success:!0}},function(code,error){return isRetry?(onEachFail&&onEachFail(code,error,titleOrId),{success:!1,code:code,error:error,title:titleOrId}):deletePage(titleOrId,!0)})}var _this2=this,deletionPromises=Array.isArray(pages)?pages.map(function(page){return deletePage(page)}):[deletePage(pages)];return _globals.$.when.apply(null,deletionPromises).then(function(){var errors=Array.prototype.slice.call(arguments).filter(function(arg){return!arg.success});if(0<errors.length)return(0,_util.rejection)("delete",errors.length,errors)})}},{key:"queryWithContinue",value:function(params,method){var _this3=this,baseQuery=_objectSpread({action:"query",format:"json",formatversion:"2"},params);return function doQuery(query,previousResult){return _this3[method||"get"](query).then(function(response){var result=previousResult?(0,_util.recursiveMerge)(previousResult,response.query):response.query;return response.continue?doQuery(_objectSpread({},baseQuery,{},response.continue),result):result})}(baseQuery)}}])&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),API}())("XFDcloser/".concat(_config.default.script.version," ( https://en.wikipedia.org/wiki/WP:XFDC )"));exports.default=_default},{"../globals":1,"./config":81,"./prefs":83,"./util":85}],81:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var obj,_globals=require("../globals"),_Venue=(obj=require("./Venue"))&&obj.__esModule?obj:{default:obj};var scriptVersion=require("../package.json").version;!function(){var options;try{options=JSON.parse(_globals.mw.user.options.get("userjs-xfdc"))||{}}catch(e){options={}}options.beta&&(scriptVersion+="-beta")}();var mwConfig=_globals.mw.config.get(["wgPageName","wgUserGroups","wgFormattedNamespaces","wgArticleId","wgDBname"]);mwConfig.namespaces=_globals.$.extend({},mwConfig.wgFormattedNamespaces,{0:"article"});var months=["","January","February","March","April","May","June","July","August","September","October","November","December"],config={script:{advert:"([[WP:XFDC#".concat(scriptVersion,"|XFDcloser]])"),version:scriptVersion},isMobileSite:window.location.host.includes(".m.")||window.location.search.includes("useformat=mobile"),mw:mwConfig,wgMonthNames:months,monthNames:months.slice(1),user:{isSysop:mwConfig.wgUserGroups.includes("sysop"),sig:mwConfig.wgUserGroups.includes("sysop")?"~~~~":"<small>[[Wikipedia:NACD|(non-admin closure)]]</small> ~~~~"},startTime:new Date,track:{afdLogEdit:[_globals.$.Deferred().resolve()],started:0,finished:0,discussions:[]},venue:_Venue.default.newFromPageName(mwConfig.wgPageName)};config.xfd=config.venue,window.XFDC_SANDBOX&&(config=window.XFDC_MAKE_SANDBOX_CONFIG(config));var _default=config;exports.default=_default},{"../globals":1,"../package.json":2,"./Venue":63}],82:[function(require,module,exports){"use strict";function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.defineProperty(exports,"__esModule",{value:!0}),exports.softDeletionRationaleTemplate=exports.defaultPrefValues=exports.prefs=exports.options=exports.actions=exports.resultsData=exports.makeSoftDeleteRationale=exports.getRelevantPrefs=exports.getRelevantOptions=exports.getRelevantActions=exports.getRelevantResults=void 0;var resultsData=[{name:"keep",label:"Keep",title:'Close discussion as "keep"',allowSpeedy:!0,venues:["afd","cfd","ffd","mfd","rfd","tfd"],actions:["updatePages","noActions"]},{name:"delete",label:"Delete",title:'Close discussion as "delete"',allowSpeedy:!0,allowSoft:!0,sysopOnly:!0,venues:["afd","ffd","mfd","rfd"],actions:["deletePages","noActions"]},{name:"delete",label:"Delete",title:'Close discussion as "delete"',allowSpeedy:!0,allowSoft:!0,sysopOnly:!0,venues:["cfd"],actions:["noActions"]},{name:"delete",label:"Delete",title:'Close discussion as "delete"',allowSpeedy:!0,allowSoft:!0,sysopOnly:!0,venues:["tfd"],actions:["deletePages","holdingCell","noActions"]},{name:"delete",label:"Delete",title:'Close discussion as "delete"',allowSpeedy:!0,allowSoft:!0,nonSysopOnly:!0,venues:["tfd"],actions:["holdingCell","noActions"]},{name:"redirect",label:"Redirect",title:'Close discussion as "redirect"',requireTarget:!0,allowSoft:!0,allowDeleteFirst:!0,sysopOnly:!0,venues:["afd","mfd"],actions:["redirectAndUpdate","noActions"]},{name:"redirect",label:"Redirect",title:'Close discussion as "redirect"',requireTarget:!0,allowSoft:!0,nonSysopOnly:!0,venues:["afd","mfd"],actions:["redirectAndUpdate","noActions"]},{name:"redirect",label:"Redirect",title:'Close discussion as "redirect"',requireTarget:!0,venues:["cfd"],actions:["noActions"]},{name:"redirect",label:"Redirect",title:'Close discussion as "redirect"',requireTarget:!0,allowDeleteFirst:!0,sysopOnly:!0,venues:["tfd"],actions:["redirectAndUpdate","noActions"]},{name:"redirect",label:"Redirect",title:'Close discussion as "redirect"',requireTarget:!0,nonSysopOnly:!0,venues:["tfd"],actions:["redirectAndUpdate","noActions"]},{name:"rename",label:"Rename",title:'Close discussion as "rename"',requireTarget:!0,venues:["cfd"],actions:["noActions"]},{name:"retarget",label:"Retarget",title:'Close discussion as "retarget"',requireTarget:!0,allowSoft:!0,allowDeleteFirst:!0,sysopOnly:!0,venues:["rfd"],actions:["redirectAndUpdate","noActions"]},{name:"retarget",label:"Retarget",title:'Close discussion as "retarget"',requireTarget:!0,allowSoft:!0,nonSysopOnly:!0,venues:["rfd"],actions:["redirectAndUpdate","noActions"]},{name:"soft redirect",label:"Soft redirect",title:'Close discussion as "soft redirect"',requireTarget:!0,venues:["rfd"],actions:["redirectAndUpdate","noActions"]},{name:"disambiguate",label:"Disambiguate",title:'Close discussion as "disambiguate"',venues:["rfd"],actions:["disambiguateAndUpdate","noActions"]},{name:"merge",label:"Merge",title:'Close discussion as "merge"',requireTarget:!0,venues:["afd","mfd"],actions:["mergeAndUpdate","noActions"]},{name:"merge",label:"Merge",title:'Close discussion as "merge"',requireTarget:!0,venues:["cfd"],actions:["noActions"]},{name:"merge",label:"Merge",title:'Close discussion as "merge"',requireTarget:!0,venues:["tfd"],actions:["holdingCellMerge","noActions"]},{name:"no consensus",label:"No consensus",title:'Close discussion as "no consensus"',venues:["afd","cfd","ffd","mfd","rfd","tfd"],actions:["updatePages","noActions"]},{name:"custom",label:"Custom",title:"Close discussion with a custom result",sysopOnly:!0,venues:["afd","ffd","mfd","rfd","tfd"],actions:["updatePages","deletePages","noActions"]},{name:"custom",label:"Custom",title:"Close discussion with a custom result",sysopOnly:!0,venues:["cfd"],actions:["updatePages","noActions"]},{name:"custom",label:"Custom",title:"Close discussion with a custom result",nonSysopOnly:!0,venues:["afd","cfd","ffd","mfd","rfd","tfd"],actions:["updatePages","noActions"]}];exports.resultsData=resultsData;var rcats=[{group:"Common",names:["R to related topic","R from subtopic","R to list entry","R to section"]},{group:"Related information",names:["R from album","R to article without mention","R from book","R to decade","R from domain name","R from top-level domain","R from film","R from gender","R from list topic","R from member","R to related topic","R from related word","R from phrase","R from school","R from song","R from subtopic","R to subtopic","R from Unicode"]},{group:"Fiction",names:["R from fictional character","R from fictional element","R from fictional location","R to TV episode list entry"]},{group:"Abbreviation",names:["R to acronym","R from acronym","R to initialism","R from initialism"]},{group:"Capitalisation",names:["R from CamelCase","R from other capitalisation","R from miscapitalisation"]},{group:"Grammar & punctuation",names:["R from modification","R from plural","R to plural"]},{group:"Parts of speech",names:["R from adjective","R from adverb","R from common noun","R from gerund","R from proper noun","R from verb"]},{group:"Spelling",names:["R from alternative spelling","R from ASCII-only","R to ASCII-only","R from diacritic","R to diacritic","R from misspelling","R from stylization"]},{group:"Alternative names (general)",names:["R from alternative language","R from alternative name","R from former name","R from historic name","R from incorrect name","R from long name","R from portmanteau","R from short name","R from sort name","R from less specific name}","R from more specific name","R from synonym","R from antonym"]},{group:"Alternative names (people)",names:["R from birth name","R from given name","R to joint biography","R from married name","R from name with title","R from personal name","R from pseudonym","R from surname"]},{group:"Alternative names (technical)",names:["R from Java package name","R from molecular formula","R from technical name","R to technical name","R from trade name"]},{group:"Alternative names (organisms)",names:["R from scientific name","R from alternative scientific name","R to scientific name"]},{group:"Alternative names (geography)",names:["R from name and country","R from more specific geographic name","R from postal code"]},{group:"Navigation",names:["R to anchor","R avoided double redirect","R from file metadata link","R to list entry","R mentioned in hatnote","R to section","R from shortcut","R from template shortcut"]},{group:"Disambiguation",names:["R from ambiguous term","R to anthroponymy page","R to disambiguation page","R from incomplete disambiguation","R from incorrect disambiguation","R from other disambiguation","R from unnecessary disambiguation"]},{group:"Merge, duplicate & move",names:["R from duplicated article","R with history","R from merge","R from move","R with old history"]},{group:"To namespaces",names:["R to category namespace","R to draft namespace","R to help namespace","R to main namespace","R to portal namespace","R to project namespace","R to talk page","R to template namespace","R to user namespace"]},{group:"ISO codes",names:["R from ISO 4","R from ISO 639 code","R from ISO 3166 code","R from ISO 4217 code","R from ISO 15924 code"]},{group:"Miscellaneous",names:["R printworthy","R unprintworthy","Wikidata redirect"]}],actions=[{label:"Remove nomination templates, tag talk pages",name:"updatePages"},{label:"Delete pages",name:"deletePages",options:["deleteTalk","deleteRedir","unlink"]},{label:"List pages at holding cell",name:"holdingCell",options:["holdcellSection","tagTalk"]},{label:"List pages at holding cell",name:"holdingCellMerge",options:["holdcellMergeSection"]},{label:"Redirect pages, tag talk pages",name:"redirectAndUpdate",options:["rcats"]},{label:"Remove nomination templates, tag talk pages",name:"disambiguateAndUpdate"},{label:"Add merge templates, tag talk pages",name:"mergeAndUpdate"},{label:"No automated actions",name:"noActions"}];exports.actions=actions;var options=[{name:"deleteTalk",label:"Delete talk pages",type:"toggleSwitch",venues:["afd","cfd","ffd","mfd","rfd","tfd"],sysopOnly:!0,value:!0},{name:"deleteRedir",label:"Delete redirects",type:"toggleSwitch",venues:["afd","cfd","ffd","mfd","tfd"],value:!0},{name:"unlink",label:"Unlink backlinks",type:"toggleSwitch",for:"deletePages",venues:["afd","ffd"],value:!0},{name:"holdcellSection",label:"Holding cell section",type:"dropdown",venues:["tfd"],items:[{label:"Review",data:"review"},{label:"Convert",data:"convert"},{label:"Substitute",data:"substitute"},{label:"Orphan",data:"orphan"},{label:"Ready for deletion",data:"ready"}]},{name:"tagTalk",label:"Tag talk pages for deletion",type:"toggleSwitch",for:"deletePages",venues:["tfd"],nonSysopOnly:!0,value:!1},{name:"holdcellMergeSection",label:"Holding cell section",type:"dropdown",venues:["tfd"],items:[{label:"Merge (Infoboxes)",data:"merge-infobox"},{label:"Merge (Navigation templates)",data:"merge-navigation"},{label:"Merge (Link templates)",data:"merge-link"},{label:"Merge (Sports)",data:"merge-sports"},{label:"Merge (Other)",data:"merge-other"},{label:"Merge (Meta)",data:"merge-meta"}]},{name:"rcats",label:"Rcats",type:"lookupMenuTagMultiselect",venues:["cfd","mfd","rfd","tfd"],items:rcats,value:[]},{name:"rcats",label:"Rcats",type:"lookupMenuTagMultiselect",venues:["afd"],items:rcats,value:["{{R to related topic}}"]}];exports.options=options;var prefs=[{name:"beta",label:"Enable beta version",type:"toggle",help:"Requires page refresh to take effect.",helpInline:!0,default:!1},{name:"watchlist",label:"Add edited pages to your watchlist",type:"dropdown",options:[{data:"preferences",label:"Default"},{data:"watch",label:"Always"},{data:"nochange",label:"Never"}],help:'Default behaviour follows your "Watched pages" settings in Special:Preferences \xa7 Watchlist',default:"preferences"},{name:"tfdDeleteAction",label:"Default action for TfD delete results",sysopOnly:!0,type:"dropdown",options:[{data:"deletePages",label:"Delete pages"},{data:"holdingCell",label:"List pages at holding cell"}],default:"holdingCell"},{name:"unlinkBacklinks",label:"Enable unlink backlinks option by default",sysopOnly:!0,type:"toggle",default:!0},{name:"collapseWarnings",label:"Collapse task warnings if at least:",type:"number",min:2,default:5},{name:"collapseErrors",label:"Collapse task errors if at least:",type:"number",min:2,default:5}],defaultPrefValues=(exports.prefs=prefs).reduce(function(accumulated,currentPref){return accumulated[currentPref.name]=currentPref.default,accumulated},{});exports.defaultPrefValues=defaultPrefValues;var isRelevant=function(venueType,userIsSysop){return function(data){return(!Array.isArray(data.venues)||data.venues.includes(venueType))&&(!data.sysopOnly||userIsSysop)&&(!data.nonSysopOnly||!userIsSysop)}},getRelevantResults=function(venueType,userIsSysop){return resultsData.filter(isRelevant(venueType,userIsSysop))};exports.getRelevantResults=getRelevantResults;exports.getRelevantActions=function(venueType,userIsSysop,result){var resultData=getRelevantResults(venueType,userIsSysop).find(function(resData){return resData.name===result});return resultData||console.log("No results data for",{venueType:venueType,userIsSysop:userIsSysop,result:result}),actions.filter(function(action){return resultData.actions.includes(action.name)})};exports.getRelevantOptions=function(venueType,userIsSysop,actions){var actionOptions=actions.flatMap(function(action){return action.options||[]});return options.filter(function(option){return actionOptions.includes(option.name)&&isRelevant(venueType,userIsSysop)(option)}).map(function(option){return function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({},option)})};exports.getRelevantPrefs=function(userIsSysop){return prefs.filter(isRelevant(null,userIsSysop))};exports.softDeletionRationaleTemplate="Wikipedia:XFDcloser/Soft deletion rationale";exports.makeSoftDeleteRationale=function(pageName,nomLink,isMulti){var multiParam=isMulti?"|multi=yes":"";return"{{subst:".concat("Wikipedia:XFDcloser/Soft deletion rationale","|1=").concat(pageName,"|2=").concat(nomLink).concat(multiParam,"}}")}},{}],83:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.set=exports.get=void 0;var obj,_globals=require("../globals"),_config=(obj=require("./config"))&&obj.__esModule?obj:{default:obj},_data=require("./data");function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}var API=new _globals.mw.Api({ajax:{headers:{"Api-User-Agent":"XFDcloser/".concat(_config.default.script.version," ( https://en.wikipedia.org/wiki/WP:XFDC )")}}}),parseOptions=function(){try{return JSON.parse(_globals.mw.user.options.get("userjs-xfdc"))||{}}catch(e){return{}}};exports.get=function(prefName){var options=parseOptions();if(prefName){var val=options[prefName];return void 0!==val?val:_data.defaultPrefValues[prefName]}return _objectSpread({},_data.defaultPrefValues,{},options)};exports.set=function(prefs,mode){var previousOptions=parseOptions(),options=JSON.stringify(mode&&mode.reset?prefs:_objectSpread({},previousOptions,{},prefs));return API.postWithToken("csrf",{action:"options",format:"json",formatversion:"2",optionname:"userjs-xfdc",optionvalue:options}).then(function(){_globals.mw.user.options.set("userjs-xfdc",options),_globals.mw.notify("XFDcloser preferences updated successfully")})}},{"../globals":1,"./config":81,"./data":82}],84:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=function(wikitext,unlinkThese,ns,isDab){var unlinkFiles=unlinkThese.filter(function(t){return/^File:/i.test(t)});if(0<unlinkFiles.length){for(var filename,filename_regex_str,normal_regex_str="(",gallery_regex_str="(",free_regex_str="(",i=0;i<unlinkFiles.length;i++)filename=unlinkFiles[i].replace(/^.*?:/,""),filename_regex_str="["+_globals.mw.util.escapeRegExp(filename.slice(0,1).toUpperCase())+_globals.mw.util.escapeRegExp(filename.slice(0,1).toLowerCase())+"]"+_globals.mw.util.escapeRegExp(filename.slice(1)).replace(/(?: |_)/g,"[ _]"),normal_regex_str+="\\[\\[\\s*(?:[Ii]mage|[Ff]ile)\\s*:\\s*"+filename_regex_str+"\\s*\\|?.*?(?:(?:\\[\\[.*?\\]\\]).*?)*\\]\\]",gallery_regex_str+="^\\s*(?:[Ii]mage|[Ff]ile):\\s*"+filename_regex_str+".*?$",free_regex_str+="\\|\\s*(?:[\\w\\s]+\\=)?\\s*(?:(?:[Ii]mage|[Ff]ile):\\s*)?"+filename_regex_str,i+1!==unlinkFiles.length&&(normal_regex_str+="|",gallery_regex_str+="|",free_regex_str+="|");normal_regex_str+=")(?![^<]*?--\x3e)",gallery_regex_str+=")(?![^<]*?--\x3e)",free_regex_str+=")(?![^<]*?--\x3e)";var normal_regex=new RegExp(normal_regex_str,"g");wikitext=wikitext.replace(normal_regex,"");var gallery_regex=new RegExp(gallery_regex_str,"mg");wikitext=wikitext.replace(gallery_regex,"");var free_regex=new RegExp(free_regex_str,"mg");wikitext=wikitext.replace(free_regex,"")}var unlinkPortals=unlinkThese.filter(function(t){return/^Portal:/i.test(t)});if(0<unlinkPortals.length){var portal_regex_str="("+unlinkPortals.map(function(portal){var portalname=portal.replace("Portal:","");return"["+_globals.mw.util.escapeRegExp(portalname.slice(0,1).toUpperCase())+_globals.mw.util.escapeRegExp(portalname.slice(0,1).toLowerCase())+"]"+_globals.mw.util.escapeRegExp(portalname.slice(1)).replace(/(?: |_)/g,"[ _]")}).join("|")+")(?![^<]*?--\x3e)",portal_regex=new RegExp(portal_regex_str),templatesInWikitext=_Template.default.parseTemplates(wikitext,!0),numberedParameterTemplates=["portal","portalpar","portal box","ports","portal-2","portal-inline","portal inline","portal frameless","portal-inline-template","portal bar","portalbar"],namedParameterTemplates=["subject bar"],isNumberedParameter=function(param){return!isNaN(Number(param.name))},editOrRemoveTemplates=function(existingTemplates,paramTypeFilter,keepFilter){existingTemplates.forEach(function(template){var paramsToKeep=template.parameters.filter(function(param){return!paramTypeFilter(param)||!portal_regex.test(param.value)});if(paramsToKeep.length!==template.parameters.length)if(keepFilter(paramsToKeep)){var updatedTemplateWikitext=template.wikitext.replace(/\|(.|\n)*/,"")+paramsToKeep.map(function(p){return p.wikitext}).join("")+"}}";wikitext=wikitext.replace(template.wikitext,updatedTemplateWikitext)}else wikitext=wikitext.replace(new RegExp("\\n[\\*\\:]*[\\t ]*"+_globals.mw.util.escapeRegExp(template.wikitext)+"\\n"),"\n").replace(new RegExp("[\\*\\:]*[\\t ]*"+_globals.mw.util.escapeRegExp(template.wikitext)),"")})};editOrRemoveTemplates(templatesInWikitext.filter(function(template){var name=template.name.toLowerCase().replace(/_/g," ");return numberedParameterTemplates.includes(name)}),isNumberedParameter,function(params){return params.some(isNumberedParameter)}),editOrRemoveTemplates(templatesInWikitext.filter(function(template){var name=template.name.toLowerCase().replace(/_/g," ");return namedParameterTemplates.includes(name)}),function(param){return/portal\d*/.test(param.name)},function(params){return 0<params.length});var seeAlsoSection=/(==+)\s*[Ss]ee [Aa]lso\s*==+([.\n]*?)(?:(==+)|$)/g.exec(wikitext);if(seeAlsoSection){var hasSubsection=seeAlsoSection[1]&&seeAlsoSection[3]&&seeAlsoSection[3].length>seeAlsoSection[1].length;""===seeAlsoSection[2].trim()&&!hasSubsection&&(wikitext=wikitext.replace(seeAlsoSection[0],seeAlsoSection[3]))}}for(var simple_regex_str="\\[\\[\\s*:?\\s*(",named_regex_str="\\[\\[\\s*:?\\s*(?:",ii=0;ii<unlinkThese.length;ii++){var unlink_regex_str="["+_globals.mw.util.escapeRegExp(unlinkThese[ii].slice(0,1).toUpperCase())+_globals.mw.util.escapeRegExp(unlinkThese[ii].slice(0,1).toLowerCase())+"]"+_globals.mw.util.escapeRegExp(unlinkThese[ii].slice(1)).replace(/(?: |_)/g,"[ _]");simple_regex_str+=unlink_regex_str,named_regex_str+=unlink_regex_str,ii+1!==unlinkThese.length&&(simple_regex_str+="|",named_regex_str+="|")}simple_regex_str+=")(?:#[^\\|\\]]*?)?\\s*\\]\\](?![^<]*?--\x3e)",named_regex_str+=")(?:#[^\\|\\]]*?)?\\s*\\|([^\\[\\]\\n\\r]+?)\\]\\](?![^<]*?--\x3e)";var simple_regex=new RegExp(simple_regex_str,"g"),named_regex=new RegExp(named_regex_str,"g");/\{\{\s*(?:[Gg]iven[ _]name|[Ss]urnames?|[Nn]ickname|[Ff]irst[ _]name|[Ff]orename|[Dd]isambigN(?:ame|m)?)\s*(?:\|.*?)*?\}\}/g.test(wikitext)&&(isDab=!0);if(10===ns){var navbox_regex=new RegExp("\\{\\{[Nn]avbox(?: with collapsible groups| with columns)?\\s*\\|(?:.|\\n)*?(?:(?:\\{\\{(?:.|\\n)*?(?:(?:\\{\\{(?:.|\\n)*?\\}\\})(?:.|\\n)*?)*?\\}\\})(?:.|\\n)*?)*\\}\\}","g"),navbox_simple_regex=new RegExp("\\*+\\s*"+simple_regex_str+"[\\r\\t\\f\\v ]*\\n","g"),navbox_named_regex=new RegExp("\\*+\\s*"+named_regex_str+"[\\r\\t\\f\\v ]*\\n","g"),navboxes=wikitext.match(navbox_regex);if(navboxes)for(var replacement,jj=0;jj<navboxes.length;jj++)replacement=navboxes[jj].replace(navbox_simple_regex,"").replace(navbox_named_regex,""),wikitext=wikitext.replace(navboxes[jj],replacement)}else if(isDab){var dab_simple_regex=new RegExp("\\*+[^\\[\\]\\n\\r]*"+simple_regex_str+"[^\\[\\]\\n\\r]*\\n","g"),dab_named_regex=new RegExp("\\*+[^\\[\\]\\n\\r]*"+named_regex_str+"[^\\[\\]\\n\\r]*\\n","g");wikitext=wikitext.replace(dab_simple_regex,"").replace(dab_named_regex,"")}else{var seealso_simple_regex=new RegExp("\\*+[^\\[\\]\\n\\r]*"+simple_regex_str+"[^\\[\\]\\n\\r]*\\n","g"),seealso_named_regex=new RegExp("\\*+[^\\[\\]\\n\\r]*"+named_regex_str+"[^\\[\\]\\n\\r]*\\n","g"),seealso=wikitext.match(/==+\s*[Ss]ee [Aa]lso\s*==+\n+(?:^.*\n*)*?(?:(?===+)|$)/gm);if(seealso)for(var replacement_seealso,kk=0;kk<seealso.length;kk++)replacement_seealso=(seealso[kk]+"\n").replace(seealso_simple_regex,"").replace(seealso_named_regex,""),wikitext=wikitext.replace(seealso[kk].trim(),replacement_seealso.trim())}var manual_review_regex=new RegExp("^(\\*+.*)("+simple_regex_str.replace(/([^\\])\(([^?])/g,"$1(?:$2")+"|"+named_regex_str.replace(/([^\\])\(([^?])/g,"$1(?:$2")+")(.*)$","gm");return wikitext=(wikitext=wikitext.replace(manual_review_regex,"{{subst:void}}$1{{subst:^|<strong>}}$2{{subst:^|</strong>}}$3")).replace(simple_regex,"$1").replace(named_regex,"$1")};var obj,_globals=require("../globals"),_Template=(obj=require("./Template"))&&obj.__esModule?obj:{default:obj}},{"../globals":1,"./Template":62}],85:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.uppercaseFirst=function(text){return text.slice(0,1).toUpperCase()+text.slice(1)},exports.mostFrequent=function(array){if(!array||!Array.isArray(array)||0===array.length)return null;var map={},mostFreq=null;return array.forEach(function(item){map[item]=(map[item]||0)+1,(null===mostFreq||map[item]>map[mostFreq])&&(mostFreq=item)}),mostFreq},exports.cleanupVoidTemplates=exports.windowOffsetTop=exports.normalisePageName=exports.decodeHtml=exports.docToModule=exports.moduleToDoc=exports.isModule=exports.isFile=exports.timeout=exports.rejection=exports.recursiveMerge=exports.multiCheckboxMessageDialog=exports.multiButtonConfirm=exports.dateFromUserInput=exports.dateFromSubpageName=exports.dateFromSigTimestamp=exports.dateFromParts=exports.ymdDateString=exports.dmyDateString=exports.safeUnescape=exports.uniqueArray=exports.makeLink=exports.encodeForWikilinkFragment=exports.encodeForUrl=void 0;var _globals=require("../globals"),_ScrolledMessageDialog=_interopRequireDefault(require("./Components/ScrolledMessageDialog")),_Month=_interopRequireDefault(require("./Month"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _toConsumableArray(arr){return function(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr)}(arr)||function(iter){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(iter))return Array.from(iter)}(arr)||_unsupportedIterableToArray(arr)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})),keys.push.apply(keys,symbols)}return keys}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _slicedToArray(arr,i){return function(arr){if(Array.isArray(arr))return arr}(arr)||function(arr,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(arr)))return;var _arr=[],_n=!0,_d=!1,_e=void 0;try{for(var _s,_i=arr[Symbol.iterator]();!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!i||_arr.length!==i);_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i.return||_i.return()}finally{if(_d)throw _e}}return _arr}(arr,i)||_unsupportedIterableToArray(arr,i)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}var escapeHtml=function(string){return string.replace(/['"<>&]/g,function(_char){switch(_char){case"'":return"&#039;";case'"':return"&quot;";case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;"}})},encodeForUrl=function(text){return encodeURIComponent(String(text)).replace(/'/g,"%27").replace(/%20/g,"_").replace(/%3B/g,";").replace(/%40/g,"@").replace(/%24/g,"$").replace(/%2C/g,",").replace(/%2F/g,"/").replace(/%3A/g,":")};exports.encodeForUrl=encodeForUrl;var makeLink=function(target,text){text=text||target;var url="/wiki/"+encodeForUrl(target);return'<a href="'.concat(url,'" target="_blank">').concat(escapeHtml(text.trim()),"</a>")};exports.makeLink=makeLink;exports.encodeForWikilinkFragment=function(text){return encodeForUrl(text).replace(/_/g," ")};var safeUnescape=function(text,config){return(config&&config.noEscape?text:escapeHtml(text)).replace(/&lt;(\/?pre\s?\/?)&gt;/g,"<$1>").replace(/\[\[([^|\]]*?)\|([^|\]]*?)\]\](?![^<]*?<\/pre>)/g,function(_match,linkTarget,linkText){return makeLink(linkTarget,linkText)}).replace(/\[\[([^|\]]+?)]\](?![^<]*?<\/pre>)/g,function(_match,link){return makeLink(link)}).replace(/&lt;(\/?(?:br|p|ul|li|hr|strong|em)\s?\/?)&gt;(?![^<]*?<\/pre>)/g,"<$1>").replace(/{{subst:\^\|&lt;(\/?(?:br|p|ul|li|hr|strong|em)\s?\/?)&gt;}}/g,"<$1>")};exports.safeUnescape=safeUnescape;exports.dmyDateString=function(date){if("Date"!==date.constructor.name)throw new Error("dmyDateString: expected a Date object, instead found ".concat(date.constructor.name));return"".concat(date.getUTCDate()," ").concat(_Month.default.nameFromIndex(date.getUTCMonth())," ").concat(date.getUTCFullYear())};exports.ymdDateString=function(date){if("Date"!==date.constructor.name)throw new Error("ymdDateString: expected a Date object, instead found ".concat(date.constructor.name));return"".concat(date.getUTCFullYear()," ").concat(_Month.default.nameFromIndex(date.getUTCMonth())," ").concat(date.getUTCDate())};var dateFromParts=function(year,monthName,day,time){var month=_Month.default.newFromMonthName(monthName);if(!month.isValid())return NaN;var paddedDay=Number(day)<10?"0"+day:day,iso8601DateString="".concat(year,"-").concat(month.paddedNumber,"-").concat(paddedDay,"T").concat(time||"00:01","Z");return Date.parse(iso8601DateString)&&new Date(iso8601DateString)};exports.dateFromParts=dateFromParts;exports.dateFromSigTimestamp=function(sigTimestamp){var parts=/(\d\d:\d\d), (\d{1,2}) (\w+) (\d\d\d\d) \(UTC\)/.exec(sigTimestamp);if(null===parts)return NaN;var _parts$slice2=_slicedToArray(parts.slice(1),4),time=_parts$slice2[0],day=_parts$slice2[1],monthName=_parts$slice2[2],year=_parts$slice2[3];return dateFromParts(year,monthName,day,time)};exports.dateFromSubpageName=function(subpageName){var _subpageName$split2=_slicedToArray(subpageName.split(" "),3),year=_subpageName$split2[0],monthName=_subpageName$split2[1],day=_subpageName$split2[2];return dateFromParts(year,monthName,day)};exports.dateFromUserInput=function(text){var day,monthName,year,mdyParts=/(\w+) (\d{1,2}), (\d\d\d\d)/.exec(text),dmyParts=/(\d{1,2}) (\w+) (\d{4})/.exec(text),ymdParts=/(\d{4}) (\w+) (\d{1,2})/.exec(text);switch(!0){case!!mdyParts:var _mdyParts$slice2=_slicedToArray(mdyParts.slice(1),3);monthName=_mdyParts$slice2[0],day=_mdyParts$slice2[1],year=_mdyParts$slice2[2];break;case!!dmyParts:var _dmyParts$slice2=_slicedToArray(dmyParts.slice(1),3);day=_dmyParts$slice2[0],monthName=_dmyParts$slice2[1],year=_dmyParts$slice2[2];break;case!!ymdParts:var _ymdParts$slice2=_slicedToArray(ymdParts.slice(1),3);year=_ymdParts$slice2[0],monthName=_ymdParts$slice2[1],day=_ymdParts$slice2[2];break;default:return NaN}var month=_Month.default.newFromMonthShortName(monthName.slice(0,3));return month.isValid()?dateFromParts(year,month.name,day):NaN};exports.multiButtonConfirm=function(config){var htmlSnippetMessage=new _globals.OO.ui.HtmlSnippet(safeUnescape(config.message)),windowManager=new _globals.OO.ui.WindowManager,messageDialog=config.scrolled?new _ScrolledMessageDialog.default:new _globals.OO.ui.MessageDialog;return(0,_globals.$)("body").append(windowManager.$element),windowManager.addWindows([messageDialog]),windowManager.openWindow(messageDialog,{title:config.title,message:htmlSnippetMessage,actions:config.actions,size:config.size,scrollBy:config.scrolled&&windowOffsetTop()}).closed.then(function(data){return windowManager.destroy(),data&&data.action})};exports.multiCheckboxMessageDialog=function(config){var windowManager=new _globals.OO.ui.WindowManager,messageDialog=config.scrolled?new _ScrolledMessageDialog.default:new _globals.OO.ui.MessageDialog,selectAllCheckbox=new _globals.OO.ui.CheckboxMultioptionWidget({label:(0,_globals.$)("<strong>Select all</strong>"),selected:config.items.every(function(item){return item.selected})});selectAllCheckbox.$element.css("margin-bottom","10px");var checkboxMultiselect=new _globals.OO.ui.CheckboxMultiselectWidget({items:config.items.map(function(item){return new _globals.OO.ui.CheckboxMultioptionWidget(item)})});return selectAllCheckbox.on("change",function(selected){checkboxMultiselect.getItems().forEach(function(item){return item.setSelected(selected)})}),(0,_globals.$)("body").append(windowManager.$element),windowManager.addWindows([messageDialog]),windowManager.openWindow(messageDialog,{title:config.title,message:(0,_globals.$)("<div>").append(config.message,1<config.items.length?selectAllCheckbox.$element:null,checkboxMultiselect.$element),actions:config.actions,size:config.size,scrollBy:config.scrolled&&windowOffsetTop()}).closed.then(function(data){return windowManager.destroy(),{action:data&&data.action,items:checkboxMultiselect.findSelectedItemsData()}})};var isPlainObject=function(obj){return!!obj&&"object"===_typeof(obj)&&obj.constructor===Object};exports.recursiveMerge=function recursiveMerge(target,source){var result={};return Object.keys(function(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty(target,key,source[key])}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}({},target,{},source)).forEach(function(key){Array.isArray(target[key])&&Array.isArray(source[key])?result[key]=[].concat(_toConsumableArray(target[key]),_toConsumableArray(source[key])):isPlainObject(target[key])&&isPlainObject(source[key])?result[key]=recursiveMerge(target[key],source[key]):void 0===source[key]?result[key]=target[key]:result[key]=source[key]}),result};exports.rejection=function(){var _$$Deferred;return(_$$Deferred=_globals.$.Deferred()).reject.apply(_$$Deferred,arguments)};exports.timeout=function(delay){var deferred=_globals.$.Deferred();return setTimeout(deferred.resolve,delay),deferred.promise()};exports.uniqueArray=function(array){var vals={};return array.forEach(function(val){vals["".concat(val,"___").concat(_typeof(val))]=val}),Object.values(vals)};exports.isFile=function(pageName){return 6===_globals.mw.Title.newFromText(pageName).getNamespaceId()};var isModule=function(pageName){return 828===_globals.mw.Title.newFromText(pageName).getNamespaceId()};exports.isModule=isModule;exports.moduleToDoc=function(pageName){return isModule(pageName)?pageName+"/doc":pageName};exports.docToModule=function(pageName){return isModule(pageName)?pageName.replace(/\/doc$/,""):pageName};exports.decodeHtml=function(t){return(0,_globals.$)("<div>").html(t).text()};exports.normalisePageName=function(pageName){var title=_globals.mw.Title.newFromText(pageName);if(null==title)return null;var prefixedText=title.getPrefixedText(),fragment=title.getFragment();return fragment?prefixedText+"#"+fragment:prefixedText};var windowOffsetTop=function(){return window.pageYOffset||(document.documentElement||document.body.parentNode||document.body).scrollTop};exports.windowOffsetTop=windowOffsetTop;exports.cleanupVoidTemplates=function(wikitext){return wikitext.replace(/\{\{subst:(?:\^|void)[^}]*\}\}/gi,"")}},{"../globals":1,"./Components/ScrolledMessageDialog":7,"./Month":60}],86:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _globals=require("../globals"),_MainWindow=_interopRequireDefault(require("./Views/MainWindow")),_UnlinkWindow=_interopRequireDefault(require("./Views/UnlinkWindow")),_PrefsWindow=_interopRequireDefault(require("./Views/PrefsWindow"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _typeof(obj){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj})(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}function _createSuper(Derived){return function(){var result,self,call,Super=_getPrototypeOf(Derived);if(function(){if("undefined"==typeof Reflect||!Reflect.construct)return;if(Reflect.construct.sham)return;if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(e){return}}()){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return self=this,!(call=result)||"object"!==_typeof(call)&&"function"!=typeof call?function(self){if(void 0!==self)return self;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(self):call}}function _getPrototypeOf(o){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(o){return o.__proto__||Object.getPrototypeOf(o)})(o)}function _setPrototypeOf(o,p){return(_setPrototypeOf=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o})(o,p)}var WindowManager=function(){!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}(WindowManager,_globals.OO.ui.WindowManager);var _super=_createSuper(WindowManager);function WindowManager(config){return _classCallCheck(this,WindowManager),_super.call(this,config)}return _createClass(WindowManager,[{key:"hasOpenWindow",value:function(){var currentWindow=this.getCurrentWindow();return!(!currentWindow||!currentWindow.isOpened()&&!currentWindow.isOpening())}}]),WindowManager}(),_default=new(function(){function WindowSetManager(){var factory;_classCallCheck(this,WindowSetManager),this.factory=((factory=new _globals.OO.Factory).register(_MainWindow.default),factory.register(_UnlinkWindow.default),factory.register(_PrefsWindow.default),factory),this.windowManagers=[]}return _createClass(WindowSetManager,[{key:"nextManager",value:function(){var manager=this.windowManagers.find(function(windowManager){return!windowManager.hasOpenWindow()});return manager||((manager=new WindowManager({factory:this.factory})).hasOpenWindow=function(){var currentWindow=manager.getCurrentWindow();return!(!currentWindow||!currentWindow.isOpened()&&!currentWindow.isOpening())},(0,_globals.$)(document.body).append(manager.$element),this.windowManagers.push(manager)),manager}},{key:"openWindow",value:function(win,data){return this.nextManager().openWindow(win,data)}},{key:"hasOpenWindows",value:function(){return this.windowManagers.some(function(windowManager){return windowManager.hasOpenWindow()})}}]),WindowSetManager}());exports.default=_default},{"../globals":1,"./Views/MainWindow":65,"./Views/PrefsWindow":70,"./Views/UnlinkWindow":79}]},{},[3]);
/* </nowiki> */