UNPKG

whistle

Version:

HTTP, HTTP2, HTTPS, Websocket debugging proxy

2 lines 1.96 MB
!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function r(e){return e?be:null}function o(e){return"string"==typeof e?e.trim():""}function i(e){if(!De.test(e))return!1;var t=z.isWin?/^(?:[\w-]+:\/\/)?[a-z]:[\\/]/i:/^(?:[\w-]+:\/\/)?\//i;return t.test(e)}function a(e,t){var n=new FormData,r=new File([JSON.stringify(e)],"data.json",{type:"application/json"});return n.append(t||"rules",r),n}function s(e,t){return Q.isString(e)?e.length>ge?(ee.alert("File exceeds maximum size limit"),t()):t(u(e)):e&&/\.(txt|json|har)$/i.test(e.name)?e.size>ge?(ee.alert("File exceeds maximum size limit"),t()):void Q.readFileAsText(e,function(e){t(u(e))}):(ee.alert("Supported file formats: .txt, .json, .har"),t())}function l(e,t,n){s(e,function(e){return!e||Q.handleImportData(e,n)?t():void t(e)})}function c(e){var t=location.hash.substring(1);return t=t?t.replace(/[?#].*$/,""):location.href.replace(/[?#].*$/,"").replace(/.*\//,""),e.networkMode?"network":e.rulesMode&&e.pluginsMode?"plugins":e.rulesOnlyMode?"values"===t?"values":"rules":e.rulesMode?"network"===t?"rules":t:e.pluginsMode?"plugins"!==t?"network":t:Ce&&!t?(t=F.get("pageName"),-1!==Ee.indexOf(t)?t:"network"):t}function u(e){try{var t=JSON.parse(e);return t&&"object"===("undefined"==typeof t?"undefined":w(t))?t:null}catch(n){G.error(n.message)}}function d(e,t){var n,r=e.length;for(n=0;r>n;n++)if(-1===y.inArray(e[n],t))return!1;var o=t.length;if(r!==o)for(n=0;o>n;n++)if(-1===y.inArray(t[n],e))return!1;return!0}function p(e){if(0==e.indexOf("{")){var t=e.lastIndexOf("}");return t>1&&e.substring(1,t)}return!1}function h(e){if(0==e.indexOf("(")){var t=e.lastIndexOf(")");return-1!=t&&e.substring(1,t)||""}return!1}function g(e,t){if(t.length){for(var n=0,r=e.length;r>n;n++)if(Q.isGroup(e[n]))return t.unshift(n,0),void e.splice.apply(e,t);e.push.apply(e,t)}}function f(e,t,n){var r=n.getChangedList();if(r.length){var o,i,a=[];return r.forEach(function(e){var n=e.name,r=t[n];r?r.value!=e.value&&(o=!0,t[n]=e):(t[n]=e,a.push(n),e.active&&(i=e))}),g(e,a),i&&(e.forEach(function(e){t[e].active=!1}),i.active=!0),o}}function m(e){return"crt"===e||"pem"===e?e:"cer"}var A=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},w="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n(4),n(20),n(22);var M,v,b,y=n(18),x=n(24),T=n(57),C=n(196),N=n(197),I=n(215),E=n(513),D=n(514),S=n(603),L=n(606),k=n(570),j=n(569),U=n(611),B=n(614),R=n(617),z=n(200),Q=n(202),O=n(288),H=n(199),F=n(210),V=n(198),P=n(623),Y=n(629),G=n(206),W=n(630),X=n(293),_=n(631),q=n(632),J=n(638),K=n(641),Z=n(643),$=n(644),ee=n(209),te=n(647),ne=n(628),re=n(648),oe=n(652),ie=n(653),ae=n(658),se=n(213),le=n(214),ce=/^(?:[\w-]+:\/\/)?temp(?:\/([\da-z]{64}|blank))?(?:\.[\w-]+)?$/,ue=/^(?:[\w-]+:\/\/)?((?:[a-z]:[\\/]|\/).+)$/i,de="Default",pe=7,he=134217728,ge=37748736,fe=2097152,me=100,Ae=".cm-js-type, .cm-js-http-url, .cm-string, .cm-js-at, .cm-js-weinre, .cm-js-log",we=/^"(https?:)?(\/\/[^/]\S+)"$/i,Me=/^@(https?:)?(\/\/[^/]\S+)$/i,ve=["removeSelected","exportWhistleFile"],be={display:"none"},ye=/^(?:\d+)\.(?:\d+)\.(?:\d+)(?:-[\w-]+)?$/,xe=window.location.search,Te=Q.getQuery(),Ce="client"===Te.mode,Ne=Ce&&Q.isElectron&&ye.test(Te.v)?Te.v:"",Ie=!(!Te.hideMenus&&!Te.hideMenu),Ee=["Network","Rules","Values","Plugins"],De=/[\w-]\.(?:txt|csv|tsv|json|xml|yaml|yml|ini|conf|log|html|htm|css|js|py|java|c|cpp|h|sh|php|sql|md|markdown|rtf|tex|bib|vcf)$/i,Se=T.findDOMNode;window.setWhistleDataUrl=function(e){return e=o(e),e?(z.handleDataUrl?z.handleDataUrl(e):b=e,!0):!1},window.showWhistleMessage=function(e){G[e.level||e.type||"info"](e.text||e.msg||e.message)},window.showWhistleWebUI=function(e){-1!==Ee.indexOf(e)&&H.trigger("show"+e)},/[&#?]showTreeView=(0|false|1|true)(?:&|$|#)/.test(xe)&&(v="1"===RegExp.$1||"true"===RegExp.$1),/[&#?]hideLeft(?:Bar|Menu)=(0|false|1|true)(?:&|$|#)/.test(xe)?M="1"===RegExp.$1||"true"===RegExp.$1:/[&#?]showLeft(?:Bar|Menu)=(0|false|1|true)(?:&|$|#)/.test(xe)&&(M="0"===RegExp.$1||"false"===RegExp.$1);var Le=[{name:"Scroll To Top",action:"top"},{name:"Scroll To Selected",action:"selected"},{name:"Scroll To Bottom",action:"bottom"}],ke=[{name:"Clear",icon:"remove"},{name:"Save",icon:"save-file"},{name:"Tree View",multiple:!0},{name:"Rules",multiple:!0},{name:"Plugins",multiple:!0}],je=[{name:"Import",icon:"import",id:"importRules",title:"Ctrl[Command] + I"},{name:"Export",icon:"export",id:"exportRules"}],Ue=[{name:"Import",icon:"import",id:"importValues",title:"Ctrl[Command] + I"},{name:"Export",icon:"export",id:"exportValues"}],Be=[{name:"Abort",icon:"ban-circle",id:"abort"}],Re=x.createClass({displayName:"Index",getInitialState:function(){var e=this,t=e.props.modal,n=t.rules,r=t.values,o=t.server,i=[],a=Q.getCAHash(o,i),s={filename:"",replayCount:1,tabs:[],caType:m(F.get("caType")),caHash:a,caUrlList:i,allowMultipleChoice:t.rules.allowMultipleChoice,backRulesFirst:t.rules.backRulesFirst,networkMode:!!o.networkMode,rulesMode:!!o.rulesMode,pluginsMode:!!o.pluginsMode,rulesOnlyMode:!!o.rulesOnlyMode,ndr:o.ndr,ndp:o.ndp,drb:o.drb,drm:o.drm,port:o.port,whistleId:o.whistleId,version:t.version};M!==!1&&(M=M||o.hideLeftMenu);var l=c(s);l&&-1==l.indexOf("rules")?-1!=l.indexOf("values")?(s.hasValues=!0,s.name="values"):-1!=l.indexOf("plugins")?(s.hasPlugins=!0,s.name="plugins"):(s.hasNetwork=!0,s.name="network"):(s.hasRules=!0,s.name="rules");var u,d=[],p=[],h={},g=[],f=[],A={},w=F.get("rulesTheme"),b=F.get("valuesTheme"),y=F.get("rulesFontSize"),x=F.get("valuesFontSize"),T=F.get("showRulesLineNumbers"),C=F.get("showValuesLineNumbers"),N=F.get("autoRulesLineWrapping"),I=F.get("autoValuesLineWrapping");if(n){u=F.get("activeRules")||n.current;var D=!n.defaultRulesIsDisabled;w||(w=n.theme),y||(y=n.fontSize),T||(T=n.showLineNumbers?"true":"false"),d.push(de),h.Default={name:de,fixed:!0,value:n.defaultRules,selected:D,isDefault:!0,active:u===de},p.push(h.Default),n.list.forEach(function(e){d.push(e.name),e=h[e.name]={name:e.name,value:e.data,selected:e.selected,active:u===e.name},p.push(e)})}r&&(u=F.get("activeValues")||r.current,b||(b=r.theme),x||(x=r.fontSize),C||(C=r.showLineNumbers?"true":"false"),r.list.forEach(function(e){g.push(e.name),A[e.name]={name:e.name,value:e.data,active:u===e.name},f.push({name:e.name,icon:"edit"})}));var S=new E(d,h),L=new E(g,A),k=z.networkModal;z.setValuesModal(L),z.rulesModal=S,z.exportSessions=function(t,n,r){var o;"string"==typeof n?o=n:n&&(o=n.type,r=n.name||r),("saz"===o||"fiddler"===o)&&(o="Fiddler"),"string"!=typeof r&&(r=""),e.exportSessions(o,r,t)},s.rulesTheme=w,s.valuesTheme=b,s.rulesFontSize=y,s.valuesFontSize=x,s.showRulesLineNumbers="true"===T,s.showValuesLineNumbers="true"===C,s.autoRulesLineWrapping=!!N,s.foldGutter=""!==F.get("foldGutter"),s.autoValuesLineWrapping=!!I,s.plugins=t.plugins,s.disabledPlugins=t.disabledPlugins,s.disabledAllRules=t.disabledAllRules,s.disabledAllPlugins=t.disabledAllPlugins,s.interceptHttpsConnects=t.interceptHttpsConnects,s.enableHttp2=t.enableHttp2,s.rules=S,s.network=k,s.rulesOptions=p,s.pluginsOptions=e.createPluginsOptions(t.plugins),z.valuesModal=s.values=L,s.valuesOptions=f,z.syncData=e.syncData,z.syncRules=e.syncRules,z.syncValues=e.syncValues,e.initPluginTabs(s,t.plugins),S.exists(z.activeRulesName)&&e.setRulesActive(z.activeRulesName,S),L.exists(z.activeValuesName)&&e.setValuesActive(z.activeValuesName,L),s.networkOptions=[{name:"Remove All",icon:"remove",id:"removeAll",disabled:!0,title:"Ctrl[Command] + X"},{name:"Remove Selected",id:"removeSelected",disabled:!0,title:"Ctrl[Command] + D"},{name:"Remove Unselected",id:"removeUnselected",disabled:!0,title:"Ctrl[Command] + Shift + D"},{name:"Import",icon:"import",id:"importSessions",title:"Ctrl[Command] + I"},{name:"Export",icon:"export",id:"exportWhistleFile",disabled:!0,title:"Ctrl[Command] + S"},{name:"Show Tree View",icon:"tree-conifer",id:"toggleView"}],s.helpOptions=[{name:"Website",href:Q.getDocUrl(),icon:"link"},{name:"GitHub",href:"https://github.com/avwo/whistle",icon:"github"},{name:"Update",href:Q.UPDATE_URL,icon:"refresh"},{name:"Issue",href:"https://github.com/avwo/whistle/issues/new",icon:"record"}],O.setPlugins(s),s.exportFileType=F.get("exportFileType");var j=F.get("showLeftMenu");return s.showLeftMenu=null==j?!0:j,Q.triggerPageChange(s.name),(v||v===!1)&&k.setTreeView(v,!0),H.on("importSessionsFromUrl",function(t,n){e.importSessionsFromUrl(n)}),e.updateMenuView(s)},initPluginTabs:function(e,t){t=t||{};var n,r,o=e.tabs;try{n=JSON.parse(F.get("activePluginTabList")),r=F.get("activePluginTabName")}catch(i){}if(Array.isArray(n)){var a={};Object.keys(t).forEach(function(o){var i=t[o];o=o.slice(0,-1),-1!==n.indexOf(o)&&(r===o&&(e.active=o),a[o]={name:o,url:i.pluginHomepage||"plugin."+o+"/"})}),n.forEach(function(e){e=e&&a[e],e&&o.push(e)})}},getListByName:function(e,t){var n=this.state[e].list,r=this.state[e].data;return{type:t,url:location.href,list:n.map(function(e){var t=r[e];return{name:e,value:t&&t.value||""}})}},triggerRulesChange:function(e){Q.triggerListChange("rules",this.getListByName("rules",e))},triggerValuesChange:function(e){Q.triggerListChange("values",this.getListByName("values",e))},syncData:function(e,t){var n=this.state;this.refs.syncDialog.show(e,n.rules,n.values,t)},syncRules:function(e){var t=this;t.syncData(e,function(){t.refs.syncDialog.syncRules(e)})},syncValues:function(e){var t=this;t.syncData(e,function(){t.refs.syncDialog.syncValues(e)})},showKVDialog:function(e,t){e&&this.refs.syncDialog.showKVDialog(e,this.state.rules,this.state.values,t)},createPluginsOptions:function(e){e=e||{};var t=[{name:"Home"}];return Object.keys(e).sort(function(t,n){var r=e[t],o=e[n];return Q.compare(r.priority,o.priority)||Q.compare(o.mtime,r.mtime)||(t>n?1:-1)}).forEach(function(n){var r=e[n];t.push({name:n.slice(0,-1),icon:"checkbox",mtime:r.mtime,homepage:r.homepage,latest:r.latest,hideLongProtocol:r.hideLongProtocol,hideShortProtocol:r.hideShortProtocol,path:r.path,pluginVars:r.pluginVars})}),t},reloadRules:function(e,t){var n=this,r=F.get("activeRules",!0)||e.current,o=[],i={};o.push(de),i.Default={name:de,fixed:!0,value:e.defaultRules,selected:!e.defaultRulesIsDisabled,isDefault:!0,active:r===de},e.list.forEach(function(e){o.push(e.name),e=i[e.name]={name:e.name,value:e.data,selected:e.selected,active:r===e.name}});var a=t&&f(o,i,n.state.rules);return n.state.rules.reset(o,i),n.setState({}),a},reloadValues:function(e,t){var n=this,r=F.get("activeValues",!0)||e.current,o=[],i={};e.list.forEach(function(e){o.push(e.name),i[e.name]={name:e.name,value:e.data,active:r===e.name}});var a=t&&f(o,i,n.state.values);return n.state.values.reset(o,i),n.setState({}),a},reloadDataQuite:function(){this.reloadData(!0)},reloadData:function(e){var t=this,n=y(".w-reload-data-tips").closest(".w-confirm-reload-dialog"),r=n.find(".w-reload-data-tips").attr("data-name"),o="rules"===r;e=e===!0;var i=function(n,r){return n?void(o?(t.reloadRules(n,e)&&H.trigger("rulesChanged",!0),t.triggerRulesChange("reload")):(t.reloadValues(n,e)&&H.trigger("valuesChanged",!0),t.triggerValuesChange("reload"))):(!e&&Q.showSystemError(r,!0),setTimeout(function(){H.trigger(o?"rulesChanged":"valuesChanged",!0)},2e3))};o?(z.rules.list(i),H.trigger("reloadRulesRecycleBin")):(z.values.list(i),H.trigger("reloadValuesRecycleBin"))},showReloadRules:function(e){if(this.rulesChanged&&"rules"===this.state.name){this.rulesChanged=!1;var t=this.state.rules.hasChanged();this.showReloadDialog("Rules changed. Reload now?",t,e)}},showReloadValues:function(e){if(this.valuesChanged&&"values"===this.state.name){this.valuesChanged=!1;var t=this.state.values.hasChanged();this.showReloadDialog("Values changed. Reload now?",t,e)}},componentDidUpdate:function(){this.showReloadRules(),this.showReloadValues()},showReloadDialog:function(e,t,n){var r=this.refs.confirmReload;clearTimeout(this.reloadTimer);var o=y(".w-reload-data-tips");return o.attr("data-name",this.state.name),n||r.isVisible()?(r.show(),t&&(e+='<p class="w-confim-reload-note">Warning: Unsaved changes will be lost</p>'),void o.html(e)):void(this.reloadTimer=setTimeout(this.reloadDataQuite,1e3))},showTab:function(){var e=c(this.state);e&&-1==e.indexOf("rules")?-1!=e.indexOf("values")?this.showValues():-1!=e.indexOf("plugins")?this.showPlugins():this.showNetwork():this.showRules(),F.set("pageName",e||"")},switchTab:function(e){var t=this,n=t.state.name,r=[];t.hideNetwork||r.push("network"),t.hideRules||r.push("rules"),t.hideValues||r.push("values"),t.hidePlugins||r.push("plugins");var o=r.indexOf(n),i=r.length;switch(e?(o-=1,0>o&&(o=i-1)):(o+=1,o>=i&&(o=0)),r[o]){case"network":t.showNetwork();break;case"rules":t.showRules();break;case"values":t.showValues();break;case"plugins":t.showPlugins()}},componentDidMount:function(){function e(e){if(e=e&&e.trim()){var t=e.indexOf("://")+3;if(e=-1!=t?e.substring(t):e,0===e.indexOf("{"))return t=e.lastIndexOf("}"),t>1?e.substring(1,t):null}}var t=this,n=new C(".w-copy-text");n.on("error",function(e){ee.alert("Copy failed")}),n=new C(".w-copy-text-with-tips"),n.on("error",function(e){G.error("Copy failed")}),n.on("success",function(e){G.success("Copied clipboard")});var r=function(e){e.preventDefault()};if(H.on("showRulesDialog",function(e,n){n&&!t.isHideRules()&&t.refs.rulesDialog.show(n.rules,n.values)}),H.on("changeRecordState",function(e,n){t.setState({record:n},t.updateList)}),H.on("showHttpsSettingsDialog",t.showHttpsSettingsDialog),Ce){var s=function(e,t){return H.editorMatchedCount=0,H.trigger(t?"findEditorPrev":"findEditorNext",e),H.editorMatchedCount};window.__findWhistleCodeMirrorEditor_=s}var c,u;H.one("networkDidMount",function(){u&&H.trigger("showComposerTab")}),H.one("composerDidMount",function(){c=!0,u&&(H.trigger("_setComposerData",u),u=null)}),H.on("showPluginOptionTab",function(e,n){n&&t.showPluginTab(Q.getSimplePluginName(n))}),H.on("disablePlugin",function(e,n,r){t.setPluginState(Q.getSimplePluginName(n),r)}),H.on("setComposerData",function(e,n){n&&!t.state.rulesMode&&ee.confirm("Do you confirm the changes to the composer's data?",function(e){e&&(c?H.trigger("_setComposerData",n):u=n)})}),H.on("showPluginOption",function(e,n){if(n){var r=Q.getSimplePluginName(n),o=n.pluginHomepage||"plugin."+r+"/";if((n.pluginHomepage||n.openExternal)&&!n.openInPlugins&&!n.openInModal)return window.open(o);var i=n.openInModal||"";i&&!n.pluginHomepage&&(o+="?openInModal=5b6af7b9884e1165"),t.refs.iframeDialog.show({favicon:Q.getPluginIcon(n),name:r,url:o,homepage:n.homepage,disabled:Q.pluginIsDisabled(t.state,r),width:i.width,height:i.height})}}),H.on("hidePluginOption",function(){t.refs.iframeDialog.hide()}),H.on("download",function(e,n){t.download(n)}),H.on("showMockDialog",function(e,n){n&&t.refs.mockDialog.show(n.item,n.type)}),H.on("enableRecord",function(){t.enableRecord()}),H.on("showJsonViewDialog",function(e,n,r){t.refs.jsonDialog.show(n,r)}),H.on("rulesChanged",function(e,n){t.rulesChanged=!0,t.showReloadRules(n===!0)}),H.on("switchTreeView",function(){t.toggleTreeView()}),H.on("updateGlobal",function(){t.setState({})}),H.on("valuesChanged",function(e,n){t.valuesChanged=!0,t.showReloadValues(n===!0)}),H.on("showNetwork",function(){t.showNetwork()}),H.on("showRules",function(e,n){t.showRules(),n&&t.state.rules.exists(n)&&(H.trigger("expandRulesGroup",n),t.setRulesActive(n))}),H.on("showValues",function(){t.showValues()}),H.on("showPlugins",function(e,n){n&&"string"==typeof n&&(t.setState({active:"Home"}),setTimeout(function(){H.trigger("highlightPlugin",n)},600)),t.showPlugins()}),H.on("disableAllPlugins",t.disableAllPlugins),H.on("disableAllRules",t.disableAllRules),H.on("activeRules",function(){var e=z.rulesModal;e.exists(z.activeRulesName)&&(t.setRulesActive(z.activeRulesName,e),t.setState({}))}),H.on("activeValues",function(){var e=z.valuesModal;e.exists(z.activeValuesName)&&(t.setValuesActive(z.activeValuesName,e),t.setState({}))});var p;H.on("openEditor",function(e,n){if("1"===F.get("viewAllInNewWindow"))return Q.openInNewWin(n||"");try{if(p&&"function"==typeof p.setValue)return window.getTextFromWhistle_=null,t.refs.editorWin.show(),p.setValue(n);window._initWhistleTextEditor_=function(e){p=e,p.setValue(n)},t.refs.editorWin.show("editor.html")}catch(r){}}),H.on("openInNewWin",function(){try{Q.openInNewWin(p.getEditorValue()||""),t.refs.editorWin.hide()}catch(e){}});var h;H.on("updateUIThrottle",function(){h||(h=setTimeout(function(){h=null,t.setState({})},200))}),H.on("addNewRulesFile",function(e,n){var r=n.filename,o=t.state.rules,i=o.add(r,n.data);o.setChanged(r,!1),t.setRulesActive(r),t.setState({activeRules:i}),n.update||t.triggerRulesChange("create")}),H.on("addNewValuesFile",function(e,n){var r=n.filename,o=t.state.values,i=o.add(r,n.data);o.setChanged(r,!1),n.update?t.setState({}):(t.setValuesActive(r),t.setState({activeValues:i}),t.triggerValuesChange("create"))}),H.on("recoverRules",function(e,n){var r=t.state.rules,o=n.filename,i=function(e){e&&z.rules.add({name:o,value:n.data,recycleFilename:n.name},function(e,i){if(e&&0===e.ec){var a=r.add(o,n.data);t.setRulesActive(o),t.setState({activeRules:a}),t.triggerRulesChange("create"),H.trigger("rulesRecycleList",e),H.trigger("focusRulesList")}else Q.showSystemError(i)})};return r.exists(o)?void ee.confirm("The name '"+o+"' is already in use. Overwrite?",i):i(!0)}),H.on("recoverValues",function(e,n){var r=t.state.values,o=n.filename,i=function(e){e&&z.values.add({name:o,value:n.data,recycleFilename:n.name},function(e,i){if(e&&0===e.ec){var a=r.add(o,n.data);t.setValuesActive(o),t.setState({activeValues:a}),t.triggerValuesChange("create"),H.trigger("valuesRecycleList",e)}else Q.showSystemError(i)})};return r.exists(o)?void ee.confirm("The name '"+o+"' is already in use. Overwrite?",i):i(!0)}),H.on("networkImportFile",function(e,n){t.uploadSessionsForm(n)}),H.on("networkImportData",function(e,n){t.importAnySessions(n)}),H.on("rulesImportFile",function(e,n){l(n,t.handleImportRules)}),H.on("rulesImportData",function(e,n){t.handleImportRules(n)}),H.on("valuesImportFile",function(e,n){l(n,t.handleImportValues)}),H.on("valuesImportData",function(e,n){t.handleImportValues(n)}),H.on("networkSettingsImportFile composerImportFile rulesSettingsImportFile valuesSettingsImportFile",function(e,t){l(t,Q.noop,e.type)}),H.on("networkSettingsImportData composerImportData rulesSettingsImportFile valuesSettingsImportFile",function(e,t){Q.handleImportData(t)}),H.on("setRulesSettings",function(e,n){n&&ee.confirm("Do you confirm the changes to the rules settings?",function(e){e&&(t.setState({rulesTheme:n.theme,rulesFontSize:n.fontSize,showRulesLineNumbers:n.lineNumbers,autoRulesLineWrapping:n.autoLineWrapping}),F.set("rulesTheme",o(n.theme).substring(0,30)),F.set("rulesFontSize",o(n.fontSize).substring(0,30)),F.set("showRulesLineNumbers",!!n.lineNumbers),F.set("autoRulesLineWrapping",n.autoLineWrapping?"1":""),t.setMultipleCohice(n.allowMultipleChoice),t.setBackRulesFirst(n.backRulesFirst))})}),H.on("setValuesSettings",function(e,n){n&&ee.confirm("Do you confirm the changes to the values settings?",function(e){e&&(t.setState({valuesTheme:n.theme,valuesFontSize:n.fontSize,showValuesLineNumbers:n.lineNumbers,autoValuesLineWrapping:n.autoLineWrapping,foldGutter:n.foldGutter}),F.set("valuesTheme",o(n.theme).substring(0,30)),F.set("valuesFontSize",o(n.fontSize).substring(0,10)),F.set("showValuesLineNumbers",!!n.lineNumbers),F.set("autoValuesLineWrapping",n.autoLineWrapping?"1":""),F.set("foldGutter",n.foldGutter?"1":""))})}),y(document).on("dragleave",r).on("dragenter",r).on("dragover",r).on("drop",function(e){e.preventDefault();var n=e.originalEvent.dataTransfer.files,r=n&&n[0];if(r){var o=e.target;"TEXTAREA"===o.nodeName&&(e.preventDefault(),o.readOnly=!0,setTimeout(function(){o.readOnly=!1},0)),o=y(o);var i=o.closest(".w-fix-drag").find("iframe")[0];if(i)try{var a=i.contentWindow;if(a&&"function"==typeof a.onWhistleFileDrop)return a.onWhistleFileDrop(r)}catch(e){console.error(e)}if(y(".w-show-upload-temp-file.in").length)return H.trigger("uploadTempFile",r);if(y(".w-import-dialog.in").length)return H.trigger("importFile",r);var s=t.state.name,c=r.name;if("network"===s){if(o.closest(".w-frames-com").length)return;return/\.log$/i.test(c)?r.size>fe?a.alert("Maximum file size: 2MB"):void Q.readFileAsText(r,function(e){e=Q.parseLogs(e),e&&H.trigger("showLog",{logs:e})}):t.uploadSessionsForm(r)}l(r,function(e){e&&("rules"===s?t.handleImportRules(e):"values"===s&&t.handleImportValues(e))})}}).on("keyup",function(e){if((e.metaKey||e.ctrlKey)&&82===e.keyCode)!Ce&&e.preventDefault();else if(191===e.keyCode){var n=t.state.name,r=document.activeElement&&document.activeElement.nodeName;if("INPUT"!==r&&"TEXTAREA"!==r&&!y(".modal.in").length)if("network"===n){if(!Q.hasShortcut("focusNetworkSearchBox"))return;H.trigger("focusNetworkFilterInput")}else if("rules"===n){if(!Q.hasShortcut("focusRulesSearchBox"))return;H.trigger("focusRulesFilterInput")}else if("values"===n){if(!Q.hasShortcut("focusValuesSearchBox"))return;H.trigger("focusValuesFilterInput")}}}).on("contextmenu",".w-textarea-bar",function(e){e.preventDefault()});var g=function(e){var n=e.target;"A"==n.nodeName&&y(n).parent().hasClass("w-list-data")&&("rules"==t.state.name?t.removeRules():t.removeValues()),e.preventDefault()};y(window).on("hashchange",t.showTab).on("keyup",function(e){if(27==e.keyCode){t.setMenuOptionsState();var n=y(".modal");"function"==typeof n.modal&&n.modal("hide")}}).on("keydown",function(e){var n=t.state.name,r=e.keyCode;if(46==r&&g(e),!e.ctrlKey&&!e.metaKey)return void(112===r?(e.preventDefault(),window.open(Q.getDocUrl("gui/"+n+".html"))):116===r&&e.preventDefault());var o=37===r;if(o||39===r){if(!Q.hasShortcut(o?"switchTabReverse":"switchTab"))return;return t.switchTab(o),e.preventDefault()}if(79===r){if("network"===n){if(!Q.hasShortcut("toggleNetworkState"))return;H.trigger("toggleNetworkState")}else if("rules"===n){if(!Q.hasShortcut("toggleRules"))return;t.confirmDisableAllRules()}else if("plugins"===n){if(!Q.hasShortcut("togglePlugins"))return;t.confirmDisableAllPlugins()}e.preventDefault()}else if(76===r){if("network"===n){if(!Q.hasShortcut("toggleNetworkPanelLayout"))return;H.trigger("toggleNetworkDock")}else if("rules"===n){if(!Q.hasShortcut("toggleRulesNum"))return;H.trigger("toggleRulesLineNumbers")}else if("values"===n){if(!Q.hasShortcut("toggleValuesNum"))return;H.trigger("toggleValuesLineNumbers")}e.preventDefault()}else if(82===r)!Ce&&e.preventDefault();else if(77===r)t.toggleLeftMenu(),e.preventDefault();else if(66===r){if(!Q.hasShortcut("switchNetworkView"))return;return t.toggleTreeView(),e.preventDefault(),void H.trigger("toggleTreeViewByAccessKey")}var i="network"===n;if(i&&88==r)return void(Q.isFocusEditor()||y(e.target).closest(".w-frames-list").length||!Q.hasShortcut("clearNetworkSessions")||t.clear());if(68==r){if(!Q.hasShortcut(i?"removeNetworkSessions":"rules"===n?"removeRules":"removeValues"))return;return g(e)}var a=t.state.network;if(i&&(83===r||69===r)){if(83===r){if(!Q.hasShortcut("saveNetwork"))return;return e.preventDefault(),void(Q.noModal()&&H.trigger("saveSessions"))}if(e.preventDefault(),!Q.noModal())return void(y(Se(t.refs.chooseFileType)).is(":visible")&&t.exportBySave());var s=e.target.nodeName;if("INPUT"===s||"TEXTAREA"===s)return;var l=a.hasSelected();return void(l&&(y(Se(t.refs.chooseFileType)).modal("show"),setTimeout(function(){var e=Se(t.refs.sessionsName);e.focus(),e.select()},500)))}if(69===r){if(!Q.hasShortcut(i?"exportNetwork":"rules"===n?"exportRules":"exportValues"))return;return e.preventDefault(),Q.noModal()&&t.exportData()}if(190===r){if(!Q.hasShortcut(i?"openNetworkSettings":"rules"===n?"openRulesSettings":"openValuesSettings"))return;return t.showSettings(),e.preventDefault()}var c=74===r;if(c||73===r){if(Q.noModal())if(c){if(!z.whistleId||!Q.hasShortcut("openService"))return;t.showService()}else if(i||"rules"===n||"values"===n){if(!Q.hasShortcut(i?"importNetwork":"rules"===n?"importRules":"importValues"))return;t.importData()}else if("plugins"===n){if(!Q.hasShortcut("openInstallPlugins"))return;H.trigger("installPlugins")}e.preventDefault()}});var f=function(){var e=t.state.name;return"rules"===e||"values"===e};y(document.body).on("mouseenter",Ae,function(n){if(f()&&(n.ctrlKey||n.metaKey)){var r,o=y(this);(o.hasClass("cm-js-http-url")||o.hasClass("cm-string")||o.hasClass("cm-js-at")||o.hasClass("cm-js-weinre")||!t.hideNetwork&&o.hasClass("cm-js-log")||ce.test(r=o.text())||i(r)||e(r))&&o.addClass("w-is-link")}}).on("mouseleave",Ae,function(e){y(this).removeClass("w-is-link")}).on("mousedown",Ae,function(n){if(f()&&(n.ctrlKey||n.metaKey)){var r=y(this),o=r.text();if(r.hasClass("cm-js-at"))return void(Me.test(o)&&window.open((RegExp.$1||"http:")+RegExp.$2));if(r.hasClass("cm-string"))return void(we.test(o)&&window.open((RegExp.$1||"http:")+RegExp.$2));if(r.hasClass("cm-js-weinre"))return t.openWeinre(Q.removeProtocol(o));if(r.hasClass("cm-js-log"))return t.openLog(Q.removeProtocol(o));if(r.hasClass("cm-js-http-url"))return/^https?:\/\//i.test(o)||(o="http:"+("/"===o[0]?"":"//")+o),void window.open(o);if(ce.test(o)||i(o)&&ue.test(o)){var a=RegExp.$1;return H.trigger("showEditorDialog",[{ruleName:t.getActiveRuleName(),tempFile:a},r])}var s=e(o);if(s){var l=t.state.rules.getActive(),c=l&&l.value,u={};return Q.resolveInlineValues(c,u),null==u[s]?H.trigger("showEditorDialog",{name:s}):ee.confirm("The value of '"+s+"' is stored in this rule file and cannot be synced if edited via the Values's editor. Continue?",function(e){e&&H.trigger("showEditorDialog",{name:s})})}}}),"network"==t.state.name&&t.startLoadData(!0),z.on("settings",function(e){var n=t.state,r=e.server,o=n.whistleId!==r.whistleId;o&&(n.whistleId=r.whistleId);var i=[],a=Q.getCAHash(r,i);if(a!==n.caHash&&(n.caHash=a,n.caUrlList=i,o=!0),n.interceptHttpsConnects!==e.interceptHttpsConnects||n.enableHttp2!==e.enableHttp2||n.disabledAllRules!==e.disabledAllRules||n.allowMultipleChoice!==e.allowMultipleChoice||n.disabledAllPlugins!==e.disabledAllPlugins||n.backRulesFirst!==e.backRulesFirst||n.ndp!=r.ndp||n.ndr!=r.ndr||n.drb!=r.drb||n.drm!=r.drm||n.port!=r.port){n.interceptHttpsConnects=e.interceptHttpsConnects,n.enableHttp2=e.enableHttp2,n.disabledAllRules=e.disabledAllRules,n.allowMultipleChoice=e.allowMultipleChoice,n.backRulesFirst=e.backRulesFirst,n.disabledAllPlugins=e.disabledAllPlugins,n.ndp=r.ndp,n.ndr=r.ndr,n.drb=r.drb,n.drm=r.drm,n.port=r.port,O.setPlugins(n);var s=ke;return s[3].checked=!n.disabledAllRules,s[4].checked=!n.disabledAllPlugins,t.refs.contextMenu.update(),t.setState({})}o&&t.setState({})}),z.on("rules",function(e){var n=t.state.rules,r=e.list;e.defaultRulesIsDisabled||-1!==r.indexOf("Default")||r.unshift("Default");var o=n.getSelectedNames();d(o,r)||(t.reselectRules(e,!0),t.setState({}))}),z.on("serverInfo",function(e){t.serverInfo=e}),H.on("autoRefreshNetwork",function(){!t.state.network.isTreeView&&t.autoRefresh&&t.autoRefresh()});var m=function(e){if(Array.isArray(e))return e;if(e&&!e.selected)return[e]};H.on("updateUI",function(){t.setState({})}),H.on("replaySessions",function(e,n,r){var o=t.state.network,i=m(n)||o.getSelectedList(),a=i&&i.length;return r&&1===a?(t.replayList=i,t.refs.setReplayCount.show(),void setTimeout(function(){var e=Se(t.refs.replayCount);e.select(),e.focus()},300)):void t.replay(e,i)}),H.on("filterSessions",t.showSettings),H.on("exportSessions",function(e,n,r){t.exportData(e,m(n),r)}),H.on("abortRequest",function(e,n){t.abort(m(n))}),H.on("removeIt",function(e,n){var r=t.state.network;n&&r&&(r.remove(n),t.setState({}))}),H.on("removeOthers",function(e,n){var r=t.state.network;n&&r&&(n.selected?r.removeUnselectedItems():r.removeOthers(n),t.setState({}))}),H.on("clearAll",t.clear),H.on("removeSelected",function(){var e=t.state.network;e&&(e.removeSelectedItems(),t.setState({}))}),H.on("removeUnselected",function(){var e=t.state.network;e&&(e.removeUnselectedItems(),t.setState({}))}),H.on("removeUnmarked",function(){var e=t.state.network;e&&(e.removeUnmarkedItems(),t.setState({}))}),H.on("saveRules",function(e,n){if(n.changed||!n.selected){var r=t.state.rules.getChangedGroupList(n);r.forEach(t.selectRules)}else t.unselectRules(n)}),H.on("saveValues",function(e,n){var r=t.state.values.getChangedGroupList(n);r.forEach(t.saveValues)}),H.on("renameRules",function(e,n){t.showEditRules(n)}),H.on("renameValues",function(e,n){t.showEditValues(n)}),H.on("deleteRules",function(e,n){setTimeout(function(){t.removeRules(n)},0)}),H.on("deleteValues",function(e,n){setTimeout(function(){t.removeValues(n)},0)}),H.on("createRules",t.showCreateRules),H.on("createValues",t.showCreateValues),H.on("showImportDialog",function(e,n){t.refs.importDialog.show(n||t.state.name)}),H.on("showExportDialog",function(e,n,r){t.refs.exportDialog.show(n||t.state.name,r)}),H.on("exportData",t.exportData),H.on("handleImportRules",function(e,n){t.handleImportRules(n)}),H.on("handleImportValues",function(e,n){t.handleImportValues(n)}),H.on("uploadRules",function(e,n){var r=a(n);r.append("replaceAll","1"),z.upload.importRules(r,function(e,n){e?0===e.ec?(t.reloadRules(e),G.success("Rules imported successfully")):ee.alert(e.em):Q.showSystemError(n)})}),H.on("uploadValues",function(e,n){var r=a(n,"values");r.append("replaceAll","1"),z.upload.importValues(r,function(e,n){e||Q.showSystemError(n),0===e.ec?(t.reloadValues(e),G.success("Values imported successfully")):ee.alert(e.em)})});var A,w,M=document.hidden;y(document).on("visibilitychange",function(){clearTimeout(A);var e="network"===t.state.name;return document.hidden||!e?void(e&&M!==document.hidden&&(M=!0,w=t.scrollerAtBottom&&t.scrollerAtBottom())):(M=!1,void(A=setTimeout(function(){var e=w||t.scrollerAtBottom&&t.scrollerAtBottom();w=!1,t.setState({},function(){e&&t.autoRefresh()})},100)))}),setTimeout(function(){z.checkUpdate(function(e){e&&e.showUpdate&&t.setState({version:e.version,latestVersion:e.latestVersion},function(){y(Se(t.refs.showUpdateTipsDialog)).modal("show")})})},1e4),z.getLogIdOptions=function(e){var n=t.getLogIdListFromRules()||[],r={};return n=n.map(function(e){return r[e]=!0,{value:e,text:e}}),n.unshift({value:"",text:"All Logs"}),{logIdList:n,logId:e&&r[e]?e:""}},z.importAnySessions=t.importAnySessions,z.on("plugins",function(e){var n=t.createPluginsOptions(e.plugins),r=t.state.pluginsOptions,o=t.state.disabledPlugins,i=t.state.disabledAllPlugins,a=e.disabledPlugins;if(i==e.disabledAllPlugins&&n.length==r.length){for(var s,l=0,c=n.length;c>l;l++){var u=n[l],d=r[l];if(u.name!=d.name||u.latest!==d.latest||u.mtime!=d.mtime||o[u.name]!=a[u.name]||u.hideLongProtocol!=d.hideLongProtocol||u.hideShortProtocol!=d.hideShortProtocol||u.path!=d.path){s=!0;break}}if(!s)return}var p=t.state.plugins;p&&e.plugins&&Object.keys(e.plugins).forEach(function(t){var n=p[t];if(n){var r=e.plugins[t];r.selectedRulesHistory=n.selectedRulesHistory,r.selectedValuesHistory=n.selectedValuesHistory}});var h={plugins:e.plugins,disabledPlugins:e.disabledPlugins,pluginsOptions:n,disabledAllPlugins:e.disabledAllPlugins};O.setPlugins(h),t.setState(h)});try{var v=window.parent.onWhistleReady;if("function"==typeof v){var x=function(e){var n=e&&t.state.network,r=n&&n.getList().indexOf(e);r>=0&&H.trigger("selectedIndex",r)},T=function(e){H.trigger("selectedIndex",e)};v({url:location.href,pageId:z.getPageId(),compose:z.compose,createComposeInterrupt:z.createComposeInterrupt,importSessions:t.importAnySessions,importHarSessions:t.importHarSessions,clearSessions:t.clear,selectIndex:T,selectItem:x,setActive:function(e){e>=0?T(e):x(e)}})}}catch(N){}t.handleDataUrl(b||Q.getDataUrl()),z.handleDataUrl=t.handleDataUrl,b=null; var I,E,D,S,L=6e3,k=function j(){if(!z.whistleId)return I=E=D=null,setTimeout(j,L);S!==z.whistleId&&(I=E=D=null,S=z.whistleId);var e,n=JSON.stringify(t.refs.networkSettings.getSettings()),r=JSON.stringify(t.getRulesSettings()),o=JSON.stringify(t.getValuesSettings());return I!==n&&(e={networkSettings:n}),E!==r&&(e=e||{},e.rulesSettings=r),D!==o&&(e=e||{},e.valuesSettings=o),e?(e.type="settings",void z.saveToService(e,function(e){setTimeout(j,L),e&&0===e.ec&&(D=o,E=r,I=n)})):setTimeout(j,L)};setTimeout(k,L)},shouldComponentUpdate:function(e,t){var n=this.state.name;return"network"===n&&t.name!==n&&(this._isAtBottom=this.scrollerAtBottom&&this.scrollerAtBottom()),!0},handleDataUrl:function(e){if(e=o(e)){var t=this;z.getRemoteData(e,function(e,n){e||t.importAnySessions(n)})}},importAnySessions:function(e){if(e&&!Q.handleImportData(e)){var t=Array.isArray(e);t||Array.isArray(e.log&&e.log.entries)||(t=!0,e=[e]),Array.isArray(e)?z.addNetworkList(e):this.importHarSessions(e)}},donotShowAgain:function(){z.donotShowAgain()},hideUpdateTipsDialog:function(){y(Se(this.refs.showUpdateTipsDialog)).modal("hide")},getAllRulesText:function(){var e=" "+this.getAllRulesValue();return e.replace(/#[^\r\n]*[\r\n]/g,"\n")},getLogIdListFromRules:function(){var e=this.getAllRulesText();if(e=e.match(/\slog:\/\/(?:\{[^\s]{1,36}\}|[^/\\{}()<>\s]{1,36})\s/g)){var t={};e=e.map(function(e){return e=Q.removeProtocol(e.trim()),"{"===e[0]&&(e=e.slice(1,-1)),e}).filter(function(e){return e?t[e]?!1:(t[e]=1,!0):!1})}return e},getWeinreFromRules:function(){var e=this.state.values,t=this.getAllRulesText();if(t=t.match(/(?:^|\s)weinre:\/\/[^\s#]+(?:$|\s)/gm)){var n={};t=t.map(function(t){t=Q.removeProtocol(t.trim());var n=h(t);if(n!==!1)return n;var r=p(t);return r!==!1?(r=e.get(r),r&&r.value):t}).filter(function(e){return e?n[e]?!1:(n[e]=1,!0):!1})}return t},getValuesFromRules:function(){var e=" "+this.getAllRulesValue();return(e=e.match(/\s(?:[\w-]+:\/\/)?\{[^\s#]+\}/g))&&(e=e.map(function(e){return p(Q.removeProtocol(e.trim()))}).filter(function(e){return!!e})),e},getAllRulesValue:function(){var e=[],t=[],n=[],r=this.state.rules;return r.list.forEach(function(o){var i=r.get(o),a=i.value||"";i.active?t.push(a):i.selected?n.push(a):e.push(a)}),r=this.state.values,r.list.forEach(function(t){/\.rules$/.test(t)&&e.push(r.get(t).value)}),t.concat(n).concat(e).join("\r\n")},preventBlur:function(e){"INPUT"!=e.target.nodeName&&e.preventDefault()},startLoadData:function(e){function t(e,i){e=e||o.state.network,clearTimeout(a),a=null,"network"==o.state.name&&(i=i||r(),e.update(i)&&i&&(a=setTimeout(t,3e3)),document.hidden||o.setState({},function(){i&&n()}))}function n(e){(e||!o.state.network.isTreeView)&&(l.scrollTop=1e7)}function r(e){var t=s.find(".ReactVirtualized__Grid__innerScrollContainer")[0];if(!t)return e&&H.trigger("toggleBackToBottomBtn",!1),!0;var n=l.offsetHeight+5,r=t.offsetHeight,o=l.scrollTop+n>r;return H.trigger("toggleBackToBottomBtn",!o&&r>=n),o}var o=this;if(o._updateNetwork)return void(e?o._updateNetwork():setTimeout(o._updateNetwork,30));var i,a,s=y(".w-req-data-list .ReactVirtualized__Grid:first").scroll(function(){var e=o.state.network;i&&clearTimeout(i),i=null,r()&&(i=setTimeout(function(){t(e,!0)},1e3))}),l=s[0];this.container=s,z.on("data",t),y(document).on("dblclick",".w-network-menu-list",function(e){y(e.target).hasClass("w-network-menu-list")&&(l.scrollTop<1?n(!0):l.scrollTop=0)}),o._updateNetwork=t,o.autoRefresh=n,o.scrollerAtBottom=r,H.on("checkAtBottom",r)},showPlugins:function(e){"plugins"!=this.state.name?(this.setMenuOptionsState(),this.hidePluginsOptions()):e&&!this.state.showLeftMenu&&this.showPluginsOptions(),this.setState({hasPlugins:!0,name:"plugins"}),Q.changePageName("plugins")},handleAction:function(e){if("top"===e)return void(this.container[0].scrollTop=0);if("bottom"===e)return this.autoRefresh(!0);if("pause"===e)return H.trigger("changeRecordState",e),z.pauseNetworkRecord();var t="refresh"===e;return t?H.trigger("changeRecordState"):H.trigger("changeRecordState","stop"),z.stopNetworkRecord(!t),t?this.autoRefresh():void 0},showNetwork:function(e,t){var n=this;return"network"==n.state.name?void(e&&!n.state.showLeftMenu&&n.showNetworkOptions()):(n.setMenuOptionsState(),n.setState({hasNetwork:!0,name:"network"},function(){n.startLoadData(),n._isAtBottom&&(n._isAtBottom=!1,n.autoRefresh&&n.autoRefresh()),"function"==typeof t&&t()}),void Q.changePageName("network"))},handleNetwork:function(e,t){var n=this.state.network;"removeAll"==e.id?this.clear():"removeSelected"==e.id?n.removeSelectedItems():"removeUnselected"==e.id?n.removeUnselectedItems():"exportWhistleFile"==e.id?this.exportData():"toggleView"===e.id?this.toggleTreeView():"importSessions"===e.id&&this.importData(),this.hideNetworkOptions()},importData:function(){this.refs.importDialog.show(this.state.name)},getRulesSettings:function(){var e=this.state;return{type:"setRulesSettings",theme:e.rulesTheme||"cobalt",fontSize:e.rulesFontSize||"14px",lineNumbers:!!e.showRulesLineNumbers,autoLineWrapping:!!e.autoRulesLineWrapping,allowMultipleChoice:!!e.allowMultipleChoice,backRulesFirst:!!e.backRulesFirst}},getValuesSettings:function(){var e=this.state;return{type:"setValuesSettings",theme:e.valuesTheme||"cobalt",fontSize:e.rulesFontSize||"14px",lineNumbers:!!e.showValuesLineNumbers,autoLineWrapping:!!e.autoValuesLineWrapping,foldGutter:!!e.foldGutter}},importRulesSettings:function(){this.refs.importDialog.show("rulesSettings")},exportRulesSettings:function(){this.refs.exportDialog.show("rulesSettings",this.getRulesSettings())},importValuesSettings:function(){this.refs.importDialog.show("valuesSettings")},exportValuesSettings:function(){this.refs.exportDialog.show("valuesSettings",this.getValuesSettings())},getInputValue:function(){return Q.formatFilename(Se(this.refs.sessionsName).value.trim())},filterFilename:function(e){this.setState({filename:Q.formatFilename(e.target.value)})},exportData:function(e,t,n){switch(this.state.name){case"network":var r=this.state.network,o=Array.isArray(t)||r.hasSelected();if(this.currentFoucsItem=t,o){y(Se(this.refs.chooseFileType)).modal("show");var i=Se(this.refs.sessionsName);n&&"string"==typeof n&&(i.value=n),setTimeout(function(){i.focus(),i.select()},500)}else G.info("Please select one or more sessions first");break;case"rules":this.showAndActiveRules({id:"exportRules"});break;case"values":this.showAndActiveValues({id:"exportValues"})}},showService:function(){Q.showService(this.state.name)},importSessionsFromUrl:function(e){var t=this;e&&z.getRemoteData(e,function(e,n){e||t.importAnySessions(n)})},handleImportRules:function(e){e&&!Q.handleImportData(e)&&this.showKVDialog(e)},handleImportValues:function(e){e&&!Q.handleImportData(e)&&this.showKVDialog(e,!0)},showAndActiveRules:function(e,t){if("rules"===this.state.name)switch(e.id){case"exportRules":this.refs.selectRulesDialog.show();break;case"importRules":this.importData()}else this.setRulesActive(e.name),this.showRules();this.hideRulesOptions()},showRules:function(e){"rules"!=this.state.name?(this.setMenuOptionsState(),this.hideRulesOptions()):e&&!this.state.showLeftMenu&&this.showRulesOptions(e),this.setState({hasRules:!0,name:"rules"}),Q.changePageName("rules")},showAndActiveValues:function(e,t){var n=this;if("values"===n.state.name&&e.id)switch(e.id){case"exportValues":n.refs.selectValuesDialog.show();break;case"importValues":this.importData()}else{var r=n.state.values,o=e.name;r.exists(o)?n.setValuesActive(o):z.values.add({name:o},function(e,t){if(e&&0===e.ec){var i=r.add(o);n.setValuesActive(o),n.setState({activeValues:i}),H.trigger("focusValuesList")}else Q.showSystemError(t)}),this.showValues()}n.hideValuesOptions()},addValue:function(){},showValues:function(e){"values"!=this.state.name?(this.setMenuOptionsState(),this.hideValuesOptions()):e&&!this.state.showLeftMenu&&this.showValuesOptions(e),this.setState({hasValues:!0,name:"values"}),Q.changePageName("values")},showNetworkOptions:function(){"network"==this.state.name&&this.setState({showNetworkOptions:!0})},hideNetworkOptions:function(){this.setState({showAbortOptions:!1,showNetworkOptions:!1})},showAbortOptions:function(){var e=this.state.network,t=e.getSelectedList();Be[0].disabled=!t||!t.filter(Q.canAbort).length,this.setState({showAbortOptions:!0})},showCreateOptions:function(){this.setState({showCreateOptions:!0})},hideCreateOptions:function(){this.setState({showCreateOptions:!1})},hideAbortOptions:function(){this.setState({showAbortOptions:!1})},showHelpOptions:function(){this.setState({showHelpOptions:!0})},hideHelpOptions:function(){this.setState({showHelpOptions:!1})},showHasNewVersion:function(e){this.setState({hasNewVersion:e})},showRulesOptions:function(e){var t,n=this,r=n.state.rules,o=r.data,i=r.list;if("rules"===n.state.name){var a=i.length;je[0].disabled=2>a,je[1].disabled=1>a,t=je}else t=[],i.forEach(function(e){t.push(o[e])});n.setState({rulesOptions:t,showRulesOptions:!0})},hideRulesOptions:function(){this.setState({showRulesOptions:!1})},showValuesOptions:function(e){var t,n=this,r=this.state.values.list;if("values"===n.state.name){var o=r.length;Ue[0].disabled=2>o,Ue[1].disabled=1>o,t=Ue}else{t=[];var i=n.getValuesFromRules()||[];i=Q.unique(r.concat(i));var a=[];i.forEach(function(e){var n=-1!=r.indexOf(e),o={name:e,icon:n?"edit":"plus"};n?t.push(o):a.push(o)}),t=a.concat(t)}n.setState({valuesOptions:t,showValuesOptions:!0})},hideValuesOptions:function(){this.setState({showValuesOptions:!1})},showAndActivePlugins:function(e){this.hidePluginsOptions(),this.showPlugins(),this.showPluginTab(e.name)},showPluginTab:function(e){var t="Home",n=this.state.tabs||[];if(e&&e!=t)for(var r=0,o=n.length;o>r;r++)if(n[r].name==e){t=e,e=null;break}var i=e&&this.state.plugins[e+":"];if(i){if(n.length>=pe)return ee.alert("Maximum "+pe+" tabs allowed"),this.showPlugins();if(t=e,i.pluginHomepage&&!i.openInPlugins)return window.open(i.pluginHomepage);n.push({name:e,url:i.pluginHomepage||"plugin."+e+"/"})}this.setState({active:t,tabs:n}),this.updatePluginTabInfo(n,t)},updatePluginTabInfo:function(e,t){e=e.map(function(e){return e.name}),F.set("activePluginTabList",JSON.stringify(e)),t&&F.set("activePluginTabName",t)},activePluginTab:function(e){this.showPluginTab(y(e.target).attr("data-name"))},closePluginTab:function(e){for(var t=y(e.target).attr("data-name"),n=this.state.tabs||[],r=0,o=n.length;o>r;r++)if(n[r].name==t){n.splice(r,1);var i=this.state.active;if(i==t){var a=n[r]||n[r-1];this.state.active=a?a.name:null}return this.setState({tabs:n}),void this.updatePluginTabInfo(n)}},showPluginsOptions:function(e){this.setState({showPluginsOptions:!0})},hidePluginsOptions:function(){this.setState({showPluginsOptions:!1})},showWeinreOptionsQuick:function(e){var t=this.getWeinreFromRules();return t&&t.length?(y(e.target).closest("div").addClass("w-menu-wrapper-show"),void Q.shakeElem(y(Se(this.refs.weinreMenuItem)))):void this.showAnonymousWeinre()},showWeinreOptions:function(e){var t=this,n=t.state.weinreOptions=t.getWeinreFromRules()||[];t.state.weinreOptions=Q.unique(n).map(function(e){return{name:e,icon:"console"}}),t.setState({showWeinreOptions:!0})},hideWeinreOptions:function(){this.setState({showWeinreOptions:!1})},setMenuOptionsState:function(e,t){var n={showCreateRules:!1,showCreateValues:!1,showEditRules:!1,showEditValues:!1,showCreateOptions:!1};e&&(n[e]=!0),this.setState(n,t)},hideRulesInput:function(){this.setState({showCreateRules:!1})},hideValuesInput:function(){this.setState({showCreateValues:!1})},hideRenameRuleInput:function(){this.setState({showEditRules:!1})},hideRenameValueInput:function(){this.setState({showEditValues:!1})},showCreateRules:function(e,t,n){var r=Se(this.refs.createRulesInput);this._curFocusRulesGroup=t,this._curFocusRulesItem=n,this.setState({showCreateRules:!0},function(){r.focus()})},showCreateValues:function(e,t,n){var r=Se(this.refs.createValuesInput);this._curFocusValuesGroup=t,this._curFocusValuesItem=n,this.setState({showCreateValues:!0},function(){r.focus()})},showHttpsSettingsDialog:function(){this.refs.httpsSettings.show()},interceptHttpsConnects:function(e){var t=this,n=e.target.checked;z.interceptHttpsConnects({interceptHttpsConnects:n?1:0},function(e,r){e&&0===e.ec?(t.state.interceptHttpsConnects=n,z.isCapture=n?1:0,H.trigger("reqTabsChange"),H.trigger("resTabsChange")):Q.showSystemError(r),t.setState({})})},enableHttp2:function(e){var t=this;if(!z.supportH2)return void ee.confirm("HTTP/2 requires Node.js LTS version v16+. Please upgrade",function(e){e&&window.open("https://nodejs.org/"),t.setState({})});var n=e.target.checked;z.enableHttp2({enableHttp2:n?1:0},function(e,r){e&&0===e.ec?t.state.enableHttp2=n:Q.showSystemError(r),t.setState({})})},createRules:function(e){if(13==e.keyCode||"click"==e.type){var t=this,n=Se(t.refs.createRulesInput),r=n.value.trim();if(!r)return void G.error("The name is required");var o,i=t.state.rules,a=e&&e.target.getAttribute("data-type");if("group"===a&&(o=!0,r="\r"+r),i.exists(r))return void G.error("The name '"+r+"' is already in use");var s="top"===a?1:"",l=t._curFocusRulesGroup,c=t._curFocusRulesItem,u={name:r,addToTop:s};if(o){var d=c&&c.name;d&&("Default"===d&&(d=t.state.rules.list[1]),u.focusName=d)}else l&&(u.groupName=l.name);z.rules.add(u,function(e,a){if(e&&0===e.ec){var l=i[s?"unshift":"add"](r);n.value="",n.blur();var c=u.focusName;c?i.moveTo(r,c):i.moveToGroup(r,u.groupName,s),o?l&&(l._isNewGroup=!0):t.setRulesActive(r),u.groupName&&H.trigger("expandRulesGroup",u.groupName),t.setState(o?{}:{activeRules:l}),t.triggerRulesChange("create")}else Q.showSystemError(a)})}},createValues:function(e){if(13==e.keyCode||"click"==e.type){var t=this,n=Se(t.refs.createValuesInput),r=n.value.trim();if(!r)return void G.error("The name is required");if(/\s/.test(r))return void G.error("Spaces are not allowed in the name");if(/#/.test(r))return void G.error("Special character '#' is not allowed in the name");var o,i=t.state.values,a=e&&e.target.getAttribute("data-type");if("group"===a&&(o=!0,r="\r"+r),i.exists(r))return void G.error("The name '"+r+"' is already in use");var s=t._curFocusValuesGroup,l=t._curFocusValuesItem,c={name:r};o?l&&(c.focusName=l.name):s&&(c.groupName=s.name),z.values.add(c,function(e,a){if(e&&0===e.ec){var s=i.add(r);n.value="",n.blur();var l=c.focusName;l?i.moveTo(r,l):i.moveToGroup(r,c.groupName),o?s&&(s._isNewGroup=!0):t.setValuesActive(r),c.groupName&&H.trigger("expandValuesGroup",c.groupName),t.setState(o?{}:{activeValues:s}),t.triggerValuesChange("create")}else Q.showSystemError(a)})}},showEditRules:function(e){this.currentFocusRules=e;var t=this.state.rules,n=e||t.getActive();if(n&&!n.isDefault){var r=Se(this.refs.editRulesInput);r.value=n.name,this.setState({showEditRules:!0,selectedRule:n},function(){r.select(),r.focus()})}},showEditValuesByDBClick:function(e){!e.changed&&this.showEditValues()},showEditValues:function(e){this.currentFocusValues=e;var t=this.state.values,n=e||t.getActive();if(n&&!n.isDefault){var r=Se(this.refs.editValuesInput);r.value=n.name,this.setState({showEditValues:!0,selectedValue:n},function(){r.select(),r.focus()})}},editRules:function(e){if(13==e.keyCode||"click"==e.type){var t=this,n=t.state.rules,r=this.currentFocusRules||n.getActive();if(r){var o=Se(t.refs.editRulesInput),i=Q.isGroup(r.name),a=(i?"\r":"")+o.value.trim();if(!a)return void G.error("The name is required");if(n.exists(a))return void G.error("The name '"+a+"' is already in use");var s=r.name;z.rules.rename({name:s,newName:a},function(e,r){e&&0===e.ec?(n.rename(s,a),o.value="",o.blur(),!i&&t.setRulesActive(a),H.trigger("rulesNameChanged",[s,a]),t.setState({activeRules:n.getActive()}),t.triggerRulesChange("rename")):Q.showSystemError(r)})}}},editValues:function(e){if(13==e.keyCode||"click"==e.type){var t=this,n=t.state.values,r=this.currentFocusValues||n.getActive();if(r){var o=Se(t.refs.editValuesInput),i=Q.isGroup(r.name),a=(i?"\r":"")+o.value.trim();if(!a)return void G.error("The name is required");if(n.exists(a))return void G.error("The name '"+a+"' is already in use");var s=r.name;z.values.rename({name:s,newName:a},function(e,r){e&&0===e.ec?(n.rename(s,a),o.value="",o.blur(),!i&&t.setValuesActive(a),H.trigger("valuesNameChanged",[s,a]),t.setState({activeValues:n.getActive()}),t.triggerValuesChange("rename")):Q.showSystemError(r)})}}},getActiveRuleName:function(){var e=this.state.rules,t=e.getActive();return t?t.name:""},showAnonymousWeinre:function(){this.openWeinre()},showWeinre:function(e){this.openWeinre(e.name)},openWeinre:function(e){window.open("weinre/client/#"+(e||"anonymous")),this.setState({showWeinreOptions:!1})},openLog:function(e){this.hideNetwork||this.showNetwork(null,function(){H.trigger("showLog",e)})},onClickRulesOption:function(e){e.selected?this.unselectRules(e):this.selectRules(e)},selectRules:function(e){if(!Q.isGroup(e.name)){var t=this;return z.rules[e.isDefault?"enableDefault":"select"](e,function(n,r){n&&0===n.ec?(t.reselectRules(n),t.state.rules.setChanged(e.name,!1),t.setState({}),t.triggerRulesChange("save"),n.changed&&H.trigger("rulesChanged"),t.state.disabledAllRules&&ee.confirm("Rules are currently disabled. Enable them now?",function(e){e&&z.rules.disableAllRules({disabledAllRules:0},function(e,n){e&&0===e.ec?(t.state.disabledAllRules=!1,t.setState({})):Q.showSystemError(n)})})):Q.showSystemError(r)}),!1}},selectRulesByOptions:function(e){var t=this.state.rules.data[y(e.target).attr("data-name")];this[e.target.checked?"selectRules":"unselectRules"](t)},unselectRules:function(e){var t=this;return z.rules[e.isDefault?"disableDefault":"unselect"](e,function(e,n){e&&0===e.ec?(t.reselectRules(e),t.triggerRulesChange("unselect"),t.setState({})):Q.showSystemError(n)}),!1},reselectRules:function(e,t){var n=this;n.state.rules.clearAllSelected(),n.setSelected(n.state.rules,"Default",!e.defaultRulesIsDisabled,t),e.list.forEach(function(e){n.setSelected(n.state.rules,e,!0,t)})},saveValues:function(e){if(e.changed&&!Q.isGroup(e.name)){var t