mirror of
https://github.com/BorysLevytskyi/BitwiseCmd.git
synced 2025-12-23 13:12:42 +01:00
2 lines
51 KiB
JavaScript
2 lines
51 KiB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[0],[,,,,,,,,,,function(e,t,n){"use strict";var a=n(1),i=n(2),s=[{regex:/^-?\d+$/,radix:10,base:"dec",prefix:"^$"},{regex:/^-?0x[0-9,a-f]+$/i,radix:16,base:"hex",prefix:/0x/i},{regex:/^-?0b[0-1]+$/i,radix:2,base:"bin",prefix:/0b/i}],r=new(function(){function e(t){Object(a.a)(this,e),this.parsers=void 0,this.parsers=t}return Object(i.a)(e,[{key:"parse",value:function(e){var t=this;return this.parsers.map(function(n){return t.applyParser(n,e)}).reduce(function(e,t){return e||t})}},{key:"parseOperator",value:function(e){var t=e.match(e);return null==t||0==t.length?null:t[0]}},{key:"applyParser",value:function(e,t){return e.regex.test(t)?{value:parseInt(t.replace(e.prefix,""),e.radix),base:e.base,input:t}:null}}]),e}())(s);n.d(t,"a",function(){return o});var l=1,o=function(){function e(t,n){Object(a.a)(this,e),this.id=void 0,this.value=void 0,this.base=void 0,this.lengthInBits=void 0,this.isExpression=void 0,this.id=l++,this.value=t,this.base=n||"dec",this.lengthInBits=e.getBitLength(this.value),this.isExpression=!1}return Object(i.a)(e,[{key:"getLengthInBits",value:function(){return this.value<0?32:Math.floor(Math.log(this.value)/Math.log(2))+1}},{key:"getOtherBase",value:function(e){switch(e||this.base){case"dec":case"bin":return"hex";case"hex":return"dec";default:throw new Error(e+" kind doesn't have opposite kind")}}},{key:"toString",value:function(t){return e.toBaseString(this.value,t||this.base)}},{key:"toOtherKindString",value:function(){return this.toString(this.getOtherBase())}},{key:"toDecimalString",value:function(){return this.toString("dec")}},{key:"toHexString",value:function(){return this.toString("hex")}},{key:"toBinaryString",value:function(){return this.toString("bin")}},{key:"setValue",value:function(t){this.value=t,this.lengthInBits=e.getBitLength(t)}},{key:"evaluate",value:function(){return this}},{key:"getUnderlyingOperand",value:function(){return this}}],[{key:"getBitLength",value:function(e){return Math.floor(Math.log(e)/Math.log(2))+1}},{key:"getBase",value:function(e){switch(e){case"bin":return 2;case"hex":return 16;case"dec":return 10}}},{key:"create",value:function(t,n){return new e(t,n||"dec")}},{key:"parse",value:function(t){var n=r.parse(t);if(!n)throw new Error(t+" is not a valid number");return new e(n.value,n.base)}},{key:"toBaseString",value:function(e,t){switch(t){case"hex":var n=Math.abs(e).toString(16);return e>=0?"0x"+n:"-0x"+n;case"bin":return(e>>>0).toString(2);case"dec":return e.toString(10);default:throw new Error("Unexpected kind: "+t)}}},{key:"toHexString",value:function(e){return 0===e.indexOf("-")?"-0x"+e.substr(1):"0x"+e}}]),e}()},,function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.d(__webpack_exports__,"a",function(){return ExpressionOperand});var D_MyStuff_Pet_BitwiseCmd_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1),D_MyStuff_Pet_BitwiseCmd_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(2),_NumericOperand__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(10),ExpressionOperand=function(){function ExpressionOperand(e,t,n){Object(D_MyStuff_Pet_BitwiseCmd_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_0__.a)(this,ExpressionOperand),this.expressionString=void 0,this.operand=void 0,this.sign=void 0,this.isExpression=void 0,this.isShiftExpression=void 0,this.isNotExpression=void 0,this.expressionString=e,this.operand=t,this.sign=n,this.isExpression=!0,this.isShiftExpression=this.sign.indexOf("<")>=0||this.sign.indexOf(">")>=0,this.isNotExpression="~"===this.sign}return Object(D_MyStuff_Pet_BitwiseCmd_node_modules_babel_runtime_helpers_esm_createClass__WEBPACK_IMPORTED_MODULE_1__.a)(ExpressionOperand,[{key:"evaluate",value:function evaluate(operand){if(operand instanceof ExpressionOperand)throw new Error("value shouldnt be expression");var evaluatedOperand=this.operand.evaluate(),str="";if("~"==this.sign)str="~"+evaluatedOperand.value;else{if(null==operand)throw new Error("Other is required for expression: "+this.expressionString);str=operand.value+this.sign+evaluatedOperand.value}return _NumericOperand__WEBPACK_IMPORTED_MODULE_2__.a.create(eval(str),evaluatedOperand.base)}},{key:"getUnderlyingOperand",value:function(){return this.operand.getUnderlyingOperand()}},{key:"toString",value:function(){return this.sign+this.operand.toString()}}]),ExpressionOperand}()},,,,,,,,,function(e,t,n){e.exports=n(42)},,,,,,,function(e,t,n){},function(e,t,n){},,,,function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},,,function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";n.r(t);var a=n(1),i=n(2),s=function(e){return"object"==typeof e&&!(e instanceof Array)&&e instanceof Object},r=function(e){return"function"==typeof e},l=function(e){return"string"==typeof e},o=n(4),c=n.n(o),u={doNotTrack:!1},h=new(function(){function e(){Object(a.a)(this,e),this.debugMode=void 0,this.handlers=void 0,this.errorHandler=void 0,this.handlers=[],this.debugMode=!1,this.errorHandler=null}return Object(i.a)(e,[{key:"execute",value:function(e,t){c.a.debug("Executing command: ".concat(e)),t=t||Object.assign({},u);var n=e.trim().toLowerCase(),a=this.findHandler(n);if(null!=a)if(this.debugMode)this.invokeHandler(n,a,t);else try{this.invokeHandler(n,a,t)}catch(i){this.handleError(n,i)}else c.a.debug("Handled is not found for command: ".concat(e)),this.handleError(n,new Error("Unsupported expression: "+n.trim()))}},{key:"onError",value:function(e){this.errorHandler=e}},{key:"command",value:function(e,t){var n=this.createHandler(e,t);null!=n?r(n.canHandle)?r(n.handle)?this.handlers.push(n):console.warn('handler is missing "handle" function. registration denied.'):console.warn('handler is missing "canHandle" function. registration denied.'):console.warn("unexpected set of arguments: ",JSON.stringify(arguments))}},{key:"createHandler",value:function(e,t){return s(e)?e:l(e)?{canHandle:function(t){return t===e},handle:t}:null}},{key:"findHandler",value:function(e){return this.handlers.filter(function(t){return t.canHandle(e)})[0]}},{key:"invokeHandler",value:function(e,t,n){var a=t.handle({input:e,options:n});null!=a&&c.a.debug(a)}},{key:"handleError",value:function(e,t){this.debugMode&&console.error(e,t),null!=this.errorHandler&&this.errorHandler(e,t)}}]),e}()),d=n(7),m=n(6),p=n(8),v=n(0),f=n.n(v),g=function(e){function t(e){var n;return Object(a.a)(this,t),(n=Object(d.a)(this,Object(m.a)(t).call(this,e))).history=void 0,n.historyIndex=void 0,n.nameInput=void 0,n.nameInput=null,n.history=[],n.historyIndex=-1,n}return Object(p.a)(t,e),Object(i.a)(t,[{key:"componentDidMount",value:function(){null!=this.nameInput&&this.nameInput.focus()}},{key:"render",value:function(){var e=this;return f.a.createElement("input",{id:"in",type:"text",ref:function(t){e.nameInput=t},onKeyUp:function(t){return e.onKeyUp(t)},onKeyDown:function(t){return e.onKeyDown(t)},className:"expressionInput mono",placeholder:"type expression like '1>>2' or 'help' ",autoComplete:"off"})}},{key:"onKeyUp",value:function(e){var t=e.target;if(13==e.keyCode&&0!=t.value.trim().length){var n=t.value;this.history.unshift(n),this.historyIndex=-1,t.value="",this.props.onCommandEntered(n)}}},{key:"onKeyDown",value:function(e){if(38==e.keyCode){var t=this.historyIndex+1;return this.history.length>t&&(e.target.value=this.history[t],this.historyIndex=t),void e.preventDefault()}40==e.keyCode&&(this.historyIndex>0&&(e.target.value=this.history[--this.historyIndex]),e.preventDefault())}}]),t}(f.a.Component),b=n(9),E=n(5),y=function(e){e.resultKey;var t=e.appState;return f.a.createElement("div",{className:"result"},f.a.createElement("div",{className:"input mono"},f.a.createElement("span",{className:"cur"},">"),e.input,f.a.createElement("a",{className:"hashLink",title:"Link for this expression",href:window.location.pathname+"#"+e.inputHash},f.a.createElement(E.a,{className:"icon",icon:b.d,size:"xs"})),f.a.createElement("button",{className:"hashLink",title:"Remove this result",onClick:function(){return t.removeResult(e.resultIndex)}},f.a.createElement(E.a,{className:"icon",icon:b.f,size:"xs"}))),f.a.createElement("div",{className:"content"},e.children))};n(28);var M=function(e){var t=[],n=e.appState;return"prod"!=e.appState.env&&t.push(n.env),e.appState.debugMode&&t.push("debug"),"false"===localStorage.getItem("TrackAnalytics")&&t.push("notrack"),0==t.length?null:f.a.createElement("div",{className:"debug-indicators"},t.map(function(e){return f.a.createElement("span",{title:e,key:e},"[",e.substring(0,1),"]\xa0")}))},z={encodeHash:function(e){return encodeURIComponent(e.trim().replace(/\s/g,","))},decodeHash:function(e){return decodeURIComponent(e.replace(/^\#/,"")).replace(/,/g," ")},getArgs:function(e){var t,n=this.decodeHash(e),a=[];return(t=n,t.split("||").filter(function(e){return e.length>0})).forEach(function(e){a.push(e)}),a}};var H=n(15);n(29);var B=function(e){var t=e.icon,n=e.command,a=e.text,i=e.textClassName,s=function(){return h.execute(n||a)};return null!=t?f.a.createElement("a",{href:"javascript:void(0)",onClick:s},f.a.createElement(E.a,{icon:t,className:"icon"}),f.a.createElement("span",{className:i},a)):f.a.createElement("a",{href:"javascript:void(0)",onClick:s},f.a.createElement("span",{className:i},a))};var k=function(){return f.a.createElement("ul",{className:"top-links"},f.a.createElement("li",null,f.a.createElement(B,{text:"donate",icon:b.b,textClassName:"link-text"})),f.a.createElement("li",null,f.a.createElement("a",{href:"https://github.com/BorisLevitskiy/BitwiseCmd"},f.a.createElement(E.a,{className:"icon",icon:H.a,size:"lg"}),f.a.createElement("span",{className:"link-text"},"github"))),f.a.createElement("li",null,f.a.createElement("a",{href:"https://twitter.com/BitwiseCmd"},f.a.createElement(E.a,{className:"icon",icon:H.b,size:"lg"}),f.a.createElement("span",{className:"link-text"},"twitter"))),f.a.createElement("li",null,f.a.createElement("a",{href:"mailto:bitwisecmd@gmail.com?subject=Feedback"},f.a.createElement(E.a,{className:"icon",icon:b.c,size:"lg"}),f.a.createElement("span",{className:"link-text"},"idea or feedback"))))};var w=function(e){return f.a.createElement("span",{id:e.elementId,className:"indicator "+(t=e.isOn,t?"on":"off"),title:e.title,onClick:function(){return e.onClick()}},e.children?e.children:e.text);var t},x=function(e){function t(){return Object(a.a)(this,t),Object(d.a)(this,Object(m.a)(t).apply(this,arguments))}return Object(p.a)(t,e),Object(i.a)(t,[{key:"componentWillMount",value:function(){var e=this;this.refresh(),this.props.appState.onChange(function(){return e.refresh()})}},{key:"refresh",value:function(){this.setState(this.props.appState)}},{key:"getIndicator",value:function(e){return e?"on":"off"}},{key:"getResultViews",value:function(){var e=this;return this.state.commandResults.map(function(t,n){return f.a.createElement(y,{resultIndex:n,resultKey:t.key,key:t.key,input:t.input,inputHash:z.encodeHash(t.input),appState:e.props.appState},t.view)})}},{key:"toggleEmphasizeBytes",value:function(){this.props.appState.toggleEmphasizeBytes()}},{key:"render",value:function(){var e=this;return f.a.createElement("div",{className:"app-root ".concat(this.state.uiTheme)},f.a.createElement(M,{appState:this.props.appState}),f.a.createElement("div",{className:"header"},f.a.createElement("h1",null,"Bitwise",f.a.createElement("span",{className:"header-cmd"},"Cmd")),f.a.createElement(k,null)),f.a.createElement("div",{className:"expressionInput-container"},f.a.createElement(g,{onCommandEntered:function(e){return h.execute(e)}}),f.a.createElement("span",{className:"configPnl"},f.a.createElement(w,{elementId:"emphasizeBytes",text:"[em]",isOn:this.state.emphasizeBytes,onClick:function(){return e.toggleEmphasizeBytes()},title:"Toggle Emphasize Bytes"}))),f.a.createElement("div",{id:"output"},this.getResultViews()))}}]),t}(f.a.Component),O=n(19),C=n.n(O);n(33);var N=function(e){return f.a.createElement("div",{className:"result"},f.a.createElement("div",{className:"error"},e.errorMessage))},S={formatString:function(e,t){return e.toString(function(e){switch(e){case"bin":return 2;case"hex":return 16;case"dec":return 10}throw new Error("Unsupported kind: "+e)}(t||"bin"))},padLeft:function(e,t,n){var a=Array.prototype.slice.call(e);n=n||"0";if(null==t)return e;for(;t>a.length;)a.unshift(n);return a.join("")},bin:function(e){return this.formatString(e,"bin")},emBin:function(e){return this.padLeft(this.bin(e),8,"0")},splitByMasks:function(e,t,n){var a=[],i=[],s=0,r=t;return e.split("").forEach(function(e){i.push(e),"."!==e&&++s==r&&(r=n,a.push(i.join("")),i=[])}),i.length>0&&a.push(i.join("")),{vpc:a[0],subnet:a[1],hosts:a[2]}}};var _=S.emBin.bind(S),I=(S.padLeft.bind(S),S),j=function(e){function t(){return Object(a.a)(this,t),Object(d.a)(this,Object(m.a)(t).apply(this,arguments))}return Object(p.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){return f.a.createElement("span",{className:this.props.className},this.getChildren())}},{key:"onBitClick",value:function(e,t){if(this.props.allowFlipBits&&this.props.onFlipBit){this.props.onFlipBit;var n=this.props.binaryString.split("");n[e]="0"==n[e]?"1":"0";var a=n.join("");this.props.onFlipBit({index:e,binaryString:this.props.binaryString,$event:t,newBinaryString:a})}}},{key:"getChildren",value:function(){var e=this.createBits(this.props.binaryString.split(""));return this.props.emphasizeBytes?this.splitIntoBytes(e):e}},{key:"createBits",value:function(e){var t=this,n=this.props.allowFlipBits||!1?" flipable":"",a=this.props.disableHighlight||!1;return e.map(function(e,i){var s="1"==e?"one".concat(n):"zero".concat(n);return a&&(s=n),f.a.createElement("span",{className:s,key:i,onClick:function(e){return t.onBitClick(i,e)}},e)})}},{key:"splitIntoBytes",value:function(e){for(var t=[],n=0;e.length>0;)t.push(f.a.createElement("span",{key:n++,className:"byte"},e.splice(0,8)));return t}}]),t}(f.a.Component);n(34);var R=function(e){function t(){return Object(a.a)(this,t),Object(d.a)(this,Object(m.a)(t).apply(this,arguments))}return Object(p.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this;return f.a.createElement("table",{className:"expression"},f.a.createElement("tbody",null,this.props.ipAddresses.map(function(t,n){return f.a.createElement("tr",{key:n},f.a.createElement("td",{className:"label"},f.a.createElement("strong",null,t.toString())),f.a.createElement("td",{className:"bin"},e.bin(t.firstByte,1,t),f.a.createElement("span",{className:"soft"},"."),e.bin(t.secondByte,2,t),f.a.createElement("span",{className:"soft"},"."),e.bin(t.thirdByte,3,t),f.a.createElement("span",{className:"soft"},"."),e.bin(t.fourthByte,4,t)))})))}},{key:"bin",value:function(e,t,n){var a,i=this;return f.a.createElement(j,{binaryString:(a=e,I.padLeft(I.formatString(a,"bin"),8,"0")),key:t,emphasizeBytes:!1,allowFlipBits:!0,className:"octet-".concat(t),onFlipBit:function(e){return i.onFlippedBit(e.newBinaryString,t,n)}})}},{key:"onFlippedBit",value:function(e,t,n){n.setOctet(t,parseInt(e,2)),this.forceUpdate()}}]),t}(f.a.Component);function D(e,t){return 0==t?e:e&Math.pow(2,8-t)-1<<t}function A(e,t){return 0==t?e:e|Math.pow(2,t)-1}function L(e){return 255<<8-e&255}function P(e){var t=L,n=e.maskBits;return n<=8?new K(t(n),0,0,0):n<=16?new K(255,t(n-8),0,0):n<=24?new K(255,255,t(n-16),0):new K(255,255,255,t(n-24))}function F(e){return T(e,D,0)}function V(e){var t=32-e;return Math.pow(2,t)-2}function T(e,t,n){var a=function(e,n){return t(n,8-e)},i=e.ipAddress,s=e.maskBits;return s<=8?new K(a(s,i.firstByte),n,n,n):s<=16?new K(i.firstByte,a(s-8,i.secondByte),n,n):s<=24?new K(i.firstByte,i.secondByte,a(s-16,i.thirdByte),n):new K(i.firstByte,i.secondByte,i.thirdByte,a(s-24,i.fourthByte))}var U=function(){function e(t,n){Object(a.a)(this,e),this.maskBits=void 0,this.ipAddress=void 0,this.ipAddress=t,this.maskBits=n}return Object(i.a)(e,[{key:"getAdressSpaceSize",value:function(){return V(this.maskBits)}},{key:"toString",value:function(){return"".concat(this.ipAddress.toString(),"/").concat(this.maskBits)}}]),e}(),K=function(){function e(t,n,i,s){Object(a.a)(this,e),this.firstByte=void 0,this.secondByte=void 0,this.thirdByte=void 0,this.fourthByte=void 0,this.firstByte=t,this.secondByte=n,this.thirdByte=i,this.fourthByte=s}return Object(i.a)(e,[{key:"toString",value:function(){return"".concat(this.firstByte,".").concat(this.secondByte,".").concat(this.thirdByte,".").concat(this.fourthByte)}},{key:"toBinaryString",value:function(e){return e?"".concat(_(this.firstByte)).concat(_(this.secondByte)).concat(_(this.thirdByte)).concat(_(this.fourthByte)):"".concat(_(this.firstByte),".").concat(_(this.secondByte),".").concat(_(this.thirdByte),".").concat(_(this.fourthByte))}},{key:"clone",value:function(){return new e(this.firstByte,this.secondByte,this.thirdByte,this.fourthByte)}},{key:"setOctet",value:function(e,t){switch(e){case 1:this.firstByte=t;break;case 2:this.secondByte=t;break;case 3:this.thirdByte=t;break;case 4:this.fourthByte=t}}}]),e}(),q=function(){function e(t){Object(a.a)(this,e),this.cidr=void 0,this.cidr=t}return Object(i.a)(e,[{key:"toString",value:function(){return this.cidr.toString()}}]),e}(),J=function(){function e(t){Object(a.a)(this,e),this.cidr=void 0,this.subnetBits=void 0,this.cidr=t,this.subnetBits=3}return Object(i.a)(e,[{key:"toString",value:function(){return this.cidr.toString()}}]),e}(),W={parse:function(e){var t=this,n=this.parseCommand(e),a=this.getMaches(n.nextInput),i=a.filter(function(e){return null!=e.matches}),s=a.filter(function(e){return null==e.matches});if(0==i.length)return null;if(s.length>0)return new $("Value(s) ".concat(s.map(function(e){return e.input}).join(",")," was not recognized as valid ip address or ip address with a subnet mask"));var r=a.map(function(e){return t.parseSingle(e.matches,e.input)}),l=r.filter(function(e){return e instanceof $});return l.length>0?l[0]:null!=n.command?"subnet"==n.command?this.createSubnetDefinition(r):this.createVpcDefinition(r):r},parseCommand:function(e){return e.startsWith("subnet")?{command:"subnet",nextInput:e.substring("subnet".length)}:e.startsWith("vpc")?{command:"vpc",nextInput:e.substring("vpc".length)}:{command:null,nextInput:e}},getMaches:function(e){return e.replace(/[\t\s]+/g," ").split(" ").filter(function(e){return e.length>0}).map(function(e){var t=/^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})(\/\d+)?$/.exec(e);return null==t||0===t.length?{matches:null,input:e}:{matches:t,input:e}})},parseSingle:function(e,t){var n=function(e){return e<0||e>255},a=parseInt(e[1]),i=parseInt(e[2]),s=parseInt(e[3]),r=parseInt(e[4]);if(n(a)||n(i)||n(s)||n(r))return new $("".concat(t," doesn't represent a valid IP address space"));var l=new K(a,i,s,r);if(e[5]){var o=e[5].substr(1),c=parseInt(o);return c>32?new $("Subnet mask value in ".concat(t," is out of range")):new U(l,c)}return l},createSubnetDefinition:function(e){if(1!=e.length)return new $("Incorrect network definition");var t=e[0];return t instanceof U?new q(t):new $("Network definition requires subnet mask")},createVpcDefinition:function(e){if(1!=e.length)return new $("Incorrect VPC definition");var t=e[0];return t instanceof U?new J(t):new $("VPC definition requires subnet mask")}},$=function e(t){Object(a.a)(this,e),this.errorMessage=void 0,this.errorMessage=t},G=W,Y=n(11);n(35);var Q=function(e){var t=e.ip;return f.a.createElement(f.a.Fragment,null,f.a.createElement(j,{binaryString:I.emBin(t.firstByte)}),f.a.createElement("span",{className:"soft"},"."),f.a.createElement(j,{binaryString:I.emBin(t.secondByte)}),f.a.createElement("span",{className:"soft"},"."),f.a.createElement(j,{binaryString:I.emBin(t.thirdByte)}),f.a.createElement("span",{className:"soft"},"."),f.a.createElement(j,{binaryString:I.emBin(t.fourthByte)}))};function X(e){var t=e.ip,n=e.descr;return f.a.createElement("tr",null,f.a.createElement("td",{className:"soft","data-test-name":"label"},n),f.a.createElement("td",{"data-test-name":"decimal",className:"ip-address-col"},t.toString()),f.a.createElement("td",{"data-test-name":"bin"},f.a.createElement(Q,{ip:t})))}var Z=function(e){var t,n=Object(v.useState)(e.subnet),a=Object(Y.a)(n,2),i=a[0],s=a[1];return f.a.createElement(f.a.Fragment,null,f.a.createElement("table",{className:"expression subnet-view"},f.a.createElement("tbody",null,f.a.createElement(X,{ip:i.cidr.ipAddress,descr:"Address"}),f.a.createElement(X,{ip:F(i.cidr),descr:"Network"}),f.a.createElement(X,{ip:P(i.cidr),descr:"Net Mask"}),f.a.createElement(X,{ip:(t=i.cidr,T(t,A,255)),descr:"Broadcast"}),f.a.createElement("tr",null,f.a.createElement("td",{"data-test-name":"label",className:"soft"},f.a.createElement("span",null,"Network Size")),f.a.createElement("td",{"data-test-name":"decimal"},i.cidr.getAdressSpaceSize())),f.a.createElement("tr",null,f.a.createElement("td",{"data-test-name":"label",className:"soft"},"Mask Size"),f.a.createElement("td",{"data-test-name":"decimal"},f.a.createElement("button",{className:"btn",onClick:function(){var e=new U(i.cidr.ipAddress,i.cidr.maskBits-1);s(new q(e))},disabled:0===i.cidr.maskBits,title:"Decrease mask size"},"-"),f.a.createElement("span",null,i.cidr.maskBits),f.a.createElement("button",{className:"btn",onClick:function(){var e=new U(i.cidr.ipAddress,i.cidr.maskBits+1);s(new q(e))},disabled:32===i.cidr.maskBits,title:"Increase mask size"},"+"))))),f.a.createElement("div",null))};function ee(e){var t=window.bitwiseCmdAnalyticsHandler;null==t&&c.a.debug("ERROR!!!: Analytics event was not sent. Handler not found");var n=t(e);c.a.debug("Analytics event sent. Delivery response: "+n,e)}n(36);var te=30;var ne=function(e){var t=Object(v.useState)(ae.create(e.vpc)),n=Object(Y.a)(t,2),a=n[0],i=n[1],s=a.cidr.maskBits+a.subnetBits,r=Math.pow(2,a.subnetBits),l=V(s),o=F(a.cidr),c=function(){return i(a.changeSubnetBits(a.subnetBits-1))},u=function(){return i(a.changeSubnetBits(a.subnetBits+1))},h=I.splitByMasks(o.toBinaryString(),a.cidr.maskBits,s);return f.a.createElement(f.a.Fragment,null,f.a.createElement("div",{className:"expression vpc-view"},f.a.createElement("div",{className:"address-container"},f.a.createElement("div",null,f.a.createElement("span",null,"VPC Network Address")),f.a.createElement("div",null,f.a.createElement(j,{binaryString:h.vpc,disableHighlight:!0,className:"address-space soft"}),f.a.createElement(j,{binaryString:h.subnet,disableHighlight:!0,className:"address-space subnet-part"}),f.a.createElement(j,{binaryString:h.hosts,disableHighlight:!0,className:"address-space host-part"}),f.a.createElement("span",{className:"address-space decimal-part"},o.toString()),f.a.createElement(w,{text:"[i]",isOn:a.showLegend,onClick:function(){return i(a.toggleLegend())},title:"Show/Hide Color Legend"},f.a.createElement(E.a,{className:"icon",icon:b.e,size:"sm"}))),f.a.createElement("div",{style:{display:a.showLegend?"":"none"}},f.a.createElement("p",null,"Color Legend"),f.a.createElement("span",{className:"address-space soft"},"000")," - VPC address bits ",f.a.createElement("br",null),f.a.createElement("span",{className:"address-space subnet-part"},"000")," - Bits dedicated for subnets address",f.a.createElement("br",null),f.a.createElement("span",{className:"address-space host-part"},"000")," - Bits dedicated to host addresses inside each subnet")),f.a.createElement("table",{className:"vpc-details"},f.a.createElement("tbody",null,f.a.createElement("tr",null,f.a.createElement("td",{className:"soft"},"VPC CIDR Mask:"),f.a.createElement("td",null,f.a.createElement("button",{className:"btn",onClick:function(){return i(a.changeVpcCidr(new U(a.cidr.ipAddress,a.cidr.maskBits-1)))},disabled:a.cidr.maskBits<=1,title:"Decrease vpc address bits"},"-"),"/",a.cidr.maskBits,f.a.createElement("button",{className:"btn",onClick:function(){return i(a.changeVpcCidr(new U(a.cidr.ipAddress,a.cidr.maskBits+1)))},disabled:s>=te,title:"Increse vpc address bits"},"+"))),f.a.createElement("tr",null,f.a.createElement("td",{className:"soft"},"Subnet CIDR Mask:"),f.a.createElement("td",null,f.a.createElement("button",{className:"btn",onClick:c,disabled:a.subnetBits<=1,title:"Increase subnet bits"},"-"),"/",s,f.a.createElement("button",{className:"btn",onClick:u,disabled:a.cidr.maskBits+a.subnetBits>=te,title:"Increase subnet bits"},"+"))),f.a.createElement("tr",null,f.a.createElement("td",{className:"soft"},"Max Subnets in VPC:"),f.a.createElement("td",null,f.a.createElement("button",{className:"btn",onClick:c,disabled:a.subnetBits<=1,title:"Decrease subnet bits"},"-"),r,f.a.createElement("button",{className:"btn",onClick:u,disabled:a.cidr.maskBits+a.subnetBits>=te,title:"Increase subnet bits"},"+"))),f.a.createElement("tr",null,f.a.createElement("td",{className:"soft"},"Max Hosts in VPC:"),f.a.createElement("td",null,r*l)),f.a.createElement("tr",null,f.a.createElement("td",{className:"soft"},"Hosts Per Subnet:"),f.a.createElement("td",null,l))))))},ae=function(){function e(t,n){Object(a.a)(this,e),this.cidr=void 0,this.subnetBits=void 0,this.subnetNum=void 0,this.showLegend=void 0,this.cidr=t,this.subnetBits=n,this.subnetNum=0,this.showLegend=!1}return Object(i.a)(e,[{key:"clone",value:function(){return Object.assign(new e(this.cidr,this.subnetBits),this)}},{key:"changeSubnetBits",value:function(t){return new e(this.cidr,t)}},{key:"changeVpcCidr",value:function(t){return new e(t,this.subnetBits)}},{key:"toggleLegend",value:function(){var t=new e(this.cidr,this.subnetBits);return t.showLegend=!this.showLegend,t}}],[{key:"create",value:function(t){return new e(t.cidr,t.subnetBits)}}]),e}();function ie(e,t){!0!==t.doNotTrack&&ee({eventCategory:"NetworkingCommand",eventAction:e})}var se={setup:function(e,t){t.command({canHandle:function(e){return null!=G.parse(e)},handle:function(t){var n=G.parse(t.input);if(null!=n)if(n instanceof $)e.addCommandResult(t.input,f.a.createElement(N,{errorMessage:n.errorMessage}));else{if(n instanceof q)return e.addCommandResult(t.input,f.a.createElement(Z,{subnet:n})),void ie("SubnetCommand",t.options);if(n instanceof J)return e.addCommandResult(t.input,f.a.createElement(ne,{vpc:n})),void ie("VpcCommand",t.options);var a=[];n.forEach(function(e){e instanceof U?(a.push(e.ipAddress),a.push(P(e))):e instanceof K&&a.push(e)}),ie("IpAddressesInput",t.options),e.addCommandResult(t.input,f.a.createElement(R,{ipAddresses:a}))}}}),c.a.debug()}},re=n(10),le=n(12),oe=function(){function e(t,n){Object(a.a)(this,e),this.numbers=void 0,this.expressionString=void 0,this.maxBitsLength=void 0,this.expressionString=t,this.numbers=n,this.maxBitsLength=n.map(function(e){return e.lengthInBits}).reduce(function(e,t){return e>=t?e:t},0)}return Object(i.a)(e,[{key:"toString",value:function(){return this.numbers.map(function(e){return e.value.toString()}).join(" ")}}]),e}(),ce=function e(t,n){Object(a.a)(this,e),this.expressionString=void 0,this.expressionItems=void 0,this.expressionString=t,this.expressionItems=n},ue=function(){function e(){Object(a.a)(this,e),this.factories=void 0,this.factories=[]}return Object(i.a)(e,[{key:"canParse",value:function(e){for(var t=e.replace(/^\s+|\s+$/,""),n=this.factories.length-1;n>=0;n--)if(!0===this.factories[n].canCreate(t))return!0;return!1}},{key:"parse",value:function(e){for(var t,n=e.replace(/^\s+|\s+$/,""),a=0,i=this.factories.length;a<i;a++)if(1==(t=this.factories[a]).canCreate(n))return t.create(n);return null}},{key:"parseOperand",value:function(e){return re.a.parse(e)}},{key:"createOperand",value:function(e,t){return re.a.create(e,t)}},{key:"addFactory",value:function(e){this.factories.push(e)}}]),e}(),he=function(){function e(){Object(a.a)(this,e),this.regex=void 0,this.regex=/^(-?(?:\d+|0x[\d,a-f]+|0b[0-1])\s?)+$/}return Object(i.a)(e,[{key:"canCreate",value:function(e){return this.regex.test(e)}},{key:"create",value:function(e){var t=this.regex.exec(e),n=[];return(e=t.input).split(" ").forEach(function(e){e.trim().length>0&&n.push(re.a.parse(e.trim()))}),new oe(e,n)}}]),e}(),de=function(){function e(){Object(a.a)(this,e),this.fullRegex=void 0,this.regex=void 0,this.fullRegex=/^((<<|>>|>>>|\||\&|\^)?(~?-?([b,x,a-f,0-9]+)))+$/,this.regex=/(<<|>>|>>>|\||\&|\^)?(~?-?(?:[b,x,a-f,0-9]+))/g}return Object(i.a)(e,[{key:"canCreate",value:function(e){return this.fullRegex.lastIndex=0,this.fullRegex.test(this.normalizeString(e))}},{key:"create",value:function(e){for(var t,n=[],a=this.normalizeString(e);null!=(t=this.regex.exec(a));)n.push(this.parseMatch(t));return new ce(a,n)}},{key:"parseMatch",value:function(e){var t=e[0],n=e[1],a=e[2],i=null;return i=0==a.indexOf("~")?new le.a(a,re.a.parse(a.substring(1)),"~"):re.a.parse(a),null==n?i:new le.a(t,i,n)}},{key:"normalizeString",value:function(e){return e.replace(/\s+/g,"")}}]),e}(),me=new ue;me.addFactory(new he),me.addFactory(new de);var pe=function(){function e(t){var n=t.emphasizeBytes,i=void 0!==n&&n,s=t.allowFlipBits,r=void 0!==s&&s;Object(a.a)(this,e),this.emphasizeBytes=void 0,this.items=void 0,this.maxNumberOfBits=void 0,this.allowFlipBits=void 0,this.emphasizeBytes=i,this.items=[],this.maxNumberOfBits=0,this.allowFlipBits=!0===r}return Object(i.a)(e,[{key:"addOperandRow",value:function(e){this.maxNumberOfBits=Math.max(e.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:"",css:"",expressionItem:e,allowFlipBits:this.allowFlipBits,label:""})}},{key:"addExpressionOperandRow",value:function(e){var t=e.isNotExpression?e.evaluate():e.getUnderlyingOperand();this.maxNumberOfBits=Math.max(t.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:e.sign,css:"",label:this.getLabel(t),expressionItem:e.operand,allowFlipBits:this.allowFlipBits})}},{key:"addShiftExpressionResultRow",value:function(e,t){this.maxNumberOfBits=Math.max(t.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:e.sign+e.operand.toString(),css:"expression-result",expressionItem:t,allowFlipBits:!1,label:""})}},{key:"addExpressionResultRow",value:function(e){this.maxNumberOfBits=Math.max(e.getLengthInBits(),this.maxNumberOfBits),this.items.push({sign:"=",css:"expression-result",expressionItem:e,allowFlipBits:!1,label:""})}},{key:"getLabel",value:function(e){return"bin"==e.base?e.toString("dec"):e.toString()}}],[{key:"buildListOfNumbers",value:function(t,n){var a=new e(n);return t.numbers.forEach(function(e){return a.addOperandRow(e)}),a.maxNumberOfBits=e.getNumberOfBits(a.maxNumberOfBits,a.emphasizeBytes),a}},{key:"buildMultiple",value:function(t,n){t.expressionItems[0];for(var a,i=0,s=t.expressionItems.length,r=new e(n),l=null;i<s;i++)if((a=t.expressionItems[i])instanceof re.a)r.addOperandRow(a),l=a;else{var o=a;if(o.isNotExpression){r.addExpressionOperandRow(o);var c=o.evaluate();r.addExpressionResultRow(c),l=c}else o.isShiftExpression?(l=o.evaluate(l),r.addShiftExpressionResultRow(o,l)):(l=o.evaluate(l),r.addExpressionOperandRow(o),r.addExpressionResultRow(l))}return r.maxNumberOfBits=e.getNumberOfBits(r.maxNumberOfBits,r.emphasizeBytes),r}},{key:"buildNot",value:function(t,n){var a=new e(n);return a.addExpressionOperandRow(t),a.addExpressionResultRow(t.evaluate()),a.maxNumberOfBits=e.getNumberOfBits(a.maxNumberOfBits,a.emphasizeBytes),a}},{key:"createModel",value:function(t,n){if(t instanceof oe)return e.buildListOfNumbers(t,{emphasizeBytes:n,allowFlipBits:!0});if(t instanceof ce)return e.buildMultiple(t,{emphasizeBytes:n,allowFlipBits:!1});throw new Error("Cannot build BitwiseExpressionViewModel out of expression "+t)}}]),e}();pe.getNumberOfBits=function(e,t){return t&&e%8!=0?e<8?8:e-e%8+8:e};var ve=function(e){function t(e){var n;return Object(a.a)(this,t),(n=Object(d.a)(this,Object(m.a)(t).call(this,e))).state={},n}return Object(p.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this.getRows();return e?f.a.createElement("table",{className:"expression"},f.a.createElement("tbody",null,e)):null}},{key:"getRows",value:function(){var e=this,t=pe.createModel(this.props.expression,this.props.emphasizeBytes);return t.items.map(function(n,a){return f.a.createElement(fe,{key:a,sign:n.sign,css:n.css,allowFlipBits:n.allowFlipBits,expressionItem:n.expressionItem,emphasizeBytes:e.props.emphasizeBytes,maxNumberOfBits:t.maxNumberOfBits,onBitFlipped:function(){return e.onBitFlipped()}})})}},{key:"onBitFlipped",value:function(){this.forceUpdate()}}]),t}(f.a.Component),fe=function(e){function t(e){var n;return Object(a.a)(this,t),(n=Object(d.a)(this,Object(m.a)(t).call(this,e))).state={operand:null},n}return Object(p.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this,t=this.props,n=t.sign,a=t.css,i=t.maxNumberOfBits,s=t.emphasizeBytes,r=t.allowFlipBits;return f.a.createElement("tr",{className:a},f.a.createElement("td",{className:"sign"},n),f.a.createElement("td",{className:"label"},this.getLabel()),f.a.createElement("td",{className:"bin"},f.a.createElement(j,{emphasizeBytes:s,binaryString:I.padLeft(this.getBinaryString(),i,"0"),allowFlipBits:r,onFlipBit:function(t){return e.flipBit(t)}})),f.a.createElement("td",{className:"other"},this.getOther()))}},{key:"getBinaryString",value:function(){return this.props.expressionItem.evaluate().toBinaryString()}},{key:"getLabel",value:function(){if(this.props.expressionItem.isExpression){var e=this.props.expressionItem;return e.sign+this.getLabelString(e.getUnderlyingOperand())}return this.getLabelString(this.props.expressionItem.getUnderlyingOperand())}},{key:"getOther",value:function(){return this.props.expressionItem.isExpression?this.props.expressionItem.evaluate().toString():this.props.expressionItem.evaluate().toOtherKindString()}},{key:"getLabelString",value:function(e){return e.toString("bin"==e.base?"dec":e.base)}},{key:"flipBit",value:function(e){var t=this.props.expressionItem.getUnderlyingOperand(),n=e.index,a=e.binaryString.split("");a[n]="0"==a[n]?"1":"0";var i=a.join(""),s=parseInt(i,2);t.setValue(s),this.props.onBitFlipped()}}]),t}(f.a.Component),ge={setup:function(e,t){t.command({canHandle:function(e){return me.canParse(e)},handle:function(t){var n=me.parse(t.input);e.addCommandResult(t.input,f.a.createElement(ve,{expression:n,emphasizeBytes:e.emphasizeBytes}))}})}},be=n(20),Ee=n.n(be);var ye=function(){return f.a.createElement("div",{className:"aboutTpl","data-result-type":"help"},f.a.createElement("p",null," Created by ",f.a.createElement("a",{href:"http://boryslevytskyi.github.io/"},"Borys Levytskyi"),". Please give it a like if BitwiseCmd has helped you in your work."),f.a.createElement("p",null,"If you have an idea, suggestion or you've spotted a bug here, please send it to ",f.a.createElement("a",{href:"mailto:bitwisecmd@gmail.com?subject=Feedback"},"bitwisecmd@gmail.com")," or tweet on ",f.a.createElement("a",{href:"http://twitter.com/BitwiseCmd"},"@BitwiseCmd"),". Your feedback is greatly appreciated."),f.a.createElement("p",null,f.a.createElement("a",{href:"https://github.com/BorisLevitskiy/BitwiseCmd"},"Project on ",f.a.createElement("strong",null,"GitHub"))))};n(39);var Me=function(){var e=null!=navigator.clipboard?"":"hidden",t=Object(v.useState)("default"),n=Object(Y.a)(t,2),a=n[0],i=n[1],s="copied"==a?"":"hidden",r="1HR3PCeBsv5BFijqqfCh4AY9UturmjfmQA";return f.a.createElement("div",{className:"donate-result-view"},f.a.createElement("p",null,"Thank you for your interest in donation. At this point BitwiseCmd can only accept Bitcoin donations."),f.a.createElement("p",null,f.a.createElement("span",null,"BTC Address:")," ",f.a.createElement("strong",null,r)," ",f.a.createElement("button",{onClick:function(){return navigator.clipboard.writeText(r),i("copied"),setTimeout(function(){return i("default")},3e3),void ee({eventCategory:"Donation",eventAction:"CopyBTCAddressCopyClicked"})},title:"Copy this address into the Cliboard",className:"copy-button ".concat(e)},f.a.createElement(E.a,{icon:b.a,size:"lg"}),"Copy")," ",f.a.createElement("span",{className:"soft ".concat(s)},"copied")),f.a.createElement("p",{className:"qrcode-container"},f.a.createElement("svg",{"shape-rendering":"crispEdges",height:"200",width:"200",viewBox:"0 0 29 29",className:"qrcode"},f.a.createElement("path",{fill:"#FFFFFF",d:"M0,0 h29v29H0z"}),f.a.createElement("path",{fill:"#000000",d:"M0 0h7v1H0zM10 0h1v1H10zM12 0h2v1H12zM16 0h5v1H16zM22,0 h7v1H22zM0 1h1v1H0zM6 1h1v1H6zM8 1h1v1H8zM10 1h1v1H10zM14 1h2v1H14zM17 1h2v1H17zM20 1h1v1H20zM22 1h1v1H22zM28,1 h1v1H28zM0 2h1v1H0zM2 2h3v1H2zM6 2h1v1H6zM12 2h1v1H12zM14 2h1v1H14zM18 2h1v1H18zM22 2h1v1H22zM24 2h3v1H24zM28,2 h1v1H28zM0 3h1v1H0zM2 3h3v1H2zM6 3h1v1H6zM8 3h3v1H8zM12 3h6v1H12zM19 3h1v1H19zM22 3h1v1H22zM24 3h3v1H24zM28,3 h1v1H28zM0 4h1v1H0zM2 4h3v1H2zM6 4h1v1H6zM9 4h1v1H9zM13 4h1v1H13zM16 4h1v1H16zM19 4h2v1H19zM22 4h1v1H22zM24 4h3v1H24zM28,4 h1v1H28zM0 5h1v1H0zM6 5h1v1H6zM8 5h2v1H8zM11 5h3v1H11zM15 5h2v1H15zM18 5h1v1H18zM22 5h1v1H22zM28,5 h1v1H28zM0 6h7v1H0zM8 6h1v1H8zM10 6h1v1H10zM12 6h1v1H12zM14 6h1v1H14zM16 6h1v1H16zM18 6h1v1H18zM20 6h1v1H20zM22,6 h7v1H22zM9 7h3v1H9zM15 7h2v1H15zM19 7h2v1H19zM0 8h5v1H0zM6 8h4v1H6zM11 8h1v1H11zM13 8h5v1H13zM21 8h1v1H21zM23 8h1v1H23zM25 8h1v1H25zM27 8h1v1H27zM2 9h1v1H2zM5 9h1v1H5zM7 9h1v1H7zM10 9h1v1H10zM12 9h1v1H12zM16 9h1v1H16zM20 9h1v1H20zM23 9h2v1H23zM27,9 h2v1H27zM0 10h1v1H0zM4 10h1v1H4zM6 10h1v1H6zM8 10h1v1H8zM10 10h1v1H10zM13 10h3v1H13zM18 10h1v1H18zM21 10h1v1H21zM23 10h1v1H23zM25 10h2v1H25zM0 11h3v1H0zM5 11h1v1H5zM7 11h2v1H7zM12 11h1v1H12zM15 11h2v1H15zM19 11h1v1H19zM21 11h1v1H21zM24 11h2v1H24zM27 11h1v1H27zM3 12h1v1H3zM6 12h1v1H6zM9 12h2v1H9zM12 12h6v1H12zM23 12h1v1H23zM26 12h1v1H26zM0 13h1v1H0zM2 13h2v1H2zM5 13h1v1H5zM7 13h1v1H7zM13 13h1v1H13zM16 13h1v1H16zM18 13h1v1H18zM20 13h2v1H20zM24 13h3v1H24zM28,13 h1v1H28zM1 14h1v1H1zM3 14h2v1H3zM6 14h1v1H6zM9 14h4v1H9zM14 14h4v1H14zM20 14h2v1H20zM25 14h2v1H25zM0 15h3v1H0zM4 15h2v1H4zM7 15h1v1H7zM11 15h1v1H11zM14 15h3v1H14zM18 15h1v1H18zM20 15h1v1H20zM22 15h1v1H22zM24 15h2v1H24zM5 16h2v1H5zM8 16h1v1H8zM11 16h1v1H11zM14 16h3v1H14zM20 16h1v1H20zM23 16h2v1H23zM26,16 h3v1H26zM0 17h1v1H0zM3 17h1v1H3zM5 17h1v1H5zM7 17h1v1H7zM12 17h1v1H12zM14 17h3v1H14zM18 17h2v1H18zM21 17h4v1H21zM26,17 h3v1H26zM0 18h1v1H0zM6 18h3v1H6zM10 18h1v1H10zM15 18h4v1H15zM24 18h2v1H24zM0 19h1v1H0zM2 19h1v1H2zM4 19h1v1H4zM8 19h3v1H8zM12 19h1v1H12zM14 19h2v1H14zM19 19h2v1H19zM25 19h1v1H25zM27,19 h2v1H27zM0 20h1v1H0zM4 20h1v1H4zM6 20h5v1H6zM12 20h1v1H12zM14 20h1v1H14zM16 20h2v1H16zM20 20h5v1H20zM26 20h2v1H26zM8 21h3v1H8zM17 21h4v1H17zM24,21 h5v1H24zM0 22h7v1H0zM8 22h1v1H8zM10 22h3v1H10zM15 22h2v1H15zM18 22h3v1H18zM22 22h1v1H22zM24 22h1v1H24zM26 22h1v1H26zM0 23h1v1H0zM6 23h1v1H6zM9 23h3v1H9zM14 23h2v1H14zM18 23h3v1H18zM24 23h1v1H24zM27,23 h2v1H27zM0 24h1v1H0zM2 24h3v1H2zM6 24h1v1H6zM8 24h1v1H8zM11 24h1v1H11zM16 24h3v1H16zM20,24 h9v1H20zM0 25h1v1H0zM2 25h3v1H2zM6 25h1v1H6zM8 25h1v1H8zM12 25h2v1H12zM15 25h2v1H15zM19 25h2v1H19zM24 25h1v1H24zM26,25 h3v1H26zM0 26h1v1H0zM2 26h3v1H2zM6 26h1v1H6zM8 26h3v1H8zM13 26h4v1H13zM21 26h1v1H21zM23 26h2v1H23zM26 26h2v1H26zM0 27h1v1H0zM6 27h1v1H6zM8 27h2v1H8zM12 27h2v1H12zM15 27h1v1H15zM18 27h4v1H18zM23 27h2v1H23zM27 27h1v1H27zM0 28h7v1H0zM8 28h3v1H8zM12 28h1v1H12zM14 28h2v1H14zM19 28h1v1H19zM21 28h2v1H21zM24 28h3v1H24z"}))))};n(40);var ze=function(){return f.a.createElement("div",{className:"help helpResultTpl"},f.a.createElement("div",{className:"panel-container"},f.a.createElement("div",{className:"left-panel"},f.a.createElement("div",{className:"section"},f.a.createElement("strong",{className:"section-title soft"},"Bitiwse Calculation Commands"),f.a.createElement("ul",null,f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"23 | 34"}))," \u2014 type bitwise expression to see result in binary (only positive integers are supported now)"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"23 34"}))," \u2014 type one or more numbers to see their binary representations"))),f.a.createElement("div",{className:"section"},f.a.createElement("strong",{className:"section-title soft"},"IP Address Commands"),f.a.createElement("ul",null,f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"127.0.0.1"}))," \u2014 enter single or multiple ip addresses (separated by space) to see their binary represenation"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"192.168.0.1/8"}))," \u2014 subnet mask notiations are support as well"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"subnet 192.168.24.1/14"}))," \u2014 display information about subnet (network address, broadcast address, etc.)"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"vpc 192.168.24.1/24"}))," \u2014 see how VPC network address bits are divided between VPC address, Subnets and Hosts"))),f.a.createElement("div",{className:"section"},f.a.createElement("strong",{className:"section-title soft"},"Color Theme Commands"),f.a.createElement("ul",null,f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"light"}))," \u2014 set Light color theme"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"dark"}))," \u2014 set Dark color theme"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"midnight"}))," \u2014 set Midnight color theme"))),f.a.createElement("div",{className:"section"},f.a.createElement("strong",{className:"section-title soft"},"Other Commands"),f.a.createElement("ul",null,f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"clear"}))," \u2014 clear output pane"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"help"}))," \u2014 display this help"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"whatsnew"}))," \u2014 display changelog"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"em"}))," \u2014 turn On/Off Emphasize Bytes"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"about"}))," \u2014 about the app"),f.a.createElement("li",null,f.a.createElement("code",null,f.a.createElement(B,{text:"guid"}))," \u2014 generate ",f.a.createElement("a",{href:"https://en.wikipedia.org/wiki/Universally_unique_identifier#Version_4_.28random.29"},"v4")," GUID")))),f.a.createElement("div",{className:"right-panel"},f.a.createElement("div",{className:"section"},f.a.createElement("strong",{className:"section-title soft"},"Supported Bitwise Operations"),f.a.createElement("br",null),f.a.createElement("small",null,f.a.createElement("a",{href:"https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators"},"as implemented in JavaScript engine of your browser")),f.a.createElement("ul",null,f.a.createElement("li",null,f.a.createElement("code",null,"&")," \u2014 bitwise AND"),f.a.createElement("li",null,f.a.createElement("code",null,"|")," \u2014 bitwise inclusive OR"),f.a.createElement("li",null,f.a.createElement("code",null,"^")," \u2014 bitwise exclusive XOR"),f.a.createElement("li",null,f.a.createElement("code",null,"~")," \u2014 bitwise NOT"),f.a.createElement("li",null,f.a.createElement("code",null,"<<")," \u2014 left shift"),f.a.createElement("li",null,f.a.createElement("code",null,">>")," \u2014 sign propagating right shift"),f.a.createElement("li",null,f.a.createElement("code",null,">>>")," \u2014 zero-fill right shift"))),f.a.createElement("div",{className:"section"},f.a.createElement("strong",{className:"section-title soft"},"Tip"),f.a.createElement("p",null,"You can click on bits to flip them in number inputs (e.g. ",f.a.createElement(B,{text:"2 4"}),") or IP addresses (e.g. ",f.a.createElement(B,{text:"192.168.0.0/8"}),")")))))};var He=function(e){return f.a.createElement("p",null,e.text)};n(41);var Be=function(){return f.a.createElement("div",{className:"changelog"},f.a.createElement("h3",null,"Changelog"),f.a.createElement("div",{className:"item item-new"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft date"},"Jul 24th, 2021")," ",f.a.createElement("br",null),f.a.createElement("ul",null,f.a.createElement("li",null,"Added support of ",f.a.createElement("code",null,"vpc")," command to see hpw VPC network address is divided bettwen VPC, Subnets and Hosts. Try it out: ",f.a.createElement(B,{text:"vpc 192.168.24.1/24"})),f.a.createElement("li",null,"Added ability to remove individual results")))),f.a.createElement("div",{className:"item"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft date"},"Jun 16th, 2021")," ",f.a.createElement("br",null),"Added support of ",f.a.createElement("code",null,"subnet")," command to display information about subnet ip adress such. Try it out: ",f.a.createElement(B,{text:"subnet 192.168.24.1/14"}))),f.a.createElement("div",{className:"item"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft date"},"Jun 14th, 2021")," ",f.a.createElement("br",null),"Added support of ip addresses and subnet masks notatioans. Try them out:"),f.a.createElement("ul",null,f.a.createElement("li",null,"Single IP address ",f.a.createElement(B,{text:"127.0.0.1"})),f.a.createElement("li",null,"Multiple IP addresses and subnet mask notations ",f.a.createElement(B,{text:"127.0.0.1 192.168.0.0/24"})))),f.a.createElement("div",{className:"item"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft date"},"Jun 6th, 2017")," ",f.a.createElement("br",null),"Added ",f.a.createElement("code",null,f.a.createElement(B,{text:"guid"}))," command. Use it for generating v4 GUIDs ")),f.a.createElement("div",{className:"item"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft date"},"May 27th, 2017")," ",f.a.createElement("br",null),"Added support of binary number notation (e.g. ",f.a.createElement("code",null,f.a.createElement(B,{text:"0b10101"})),"). ")),f.a.createElement("div",{className:"item"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft"},"May 20th, 2017")," ",f.a.createElement("br",null),"New ",f.a.createElement(B,{text:"Midnight"})," theme added. ")),f.a.createElement("div",{className:"item"},f.a.createElement("p",null,f.a.createElement("span",{className:"soft"},"May 16th, 2017")," ",f.a.createElement("br",null),"Complete rewrite using React. Old implementation is available at ",f.a.createElement("a",{href:"http://bitwisecmd.com/old"},"http://bitwisecmd.com/old"),". Please let me know if you have problems with this release by ",f.a.createElement("a",{href:"https://github.com/BorysLevytskyi/BitwiseCmd/issues"},"creating issue")," in Github Repo.")))},ke=7,we=function(){function e(t,n){Object(a.a)(this,e),this.version=ke,this.emphasizeBytes=void 0,this.debugMode=!1,this.uiTheme=void 0,this.changeHandlers=void 0,this.commandResults=void 0,this.persistedVersion=void 0,this.wasOldVersion=void 0,this.env=void 0,this.pageVisitsCount=void 0,this.donationClicked=void 0,this.commandResults=[],this.changeHandlers=[],this.uiTheme=t.uiTheme||"midnight",this.env=n,this.emphasizeBytes=t.emphasizeBytes||!0,this.persistedVersion=t.version||.1,this.wasOldVersion=null!=t.version&&this.version>this.persistedVersion,this.debugMode="prod"!==n||!0===t.debugMode,this.pageVisitsCount=t.pageVisistsCount||0,this.donationClicked=t.donationClicked}return Object(i.a)(e,[{key:"addCommandResult",value:function(e,t){var n=Math.ceil(1e7*Math.random())^Date.now();this.commandResults.unshift({key:n,input:e,view:t}),c.a.debug("command result added: ".concat(e)),this.triggerChanged()}},{key:"clearCommandResults",value:function(){this.commandResults=[],this.triggerChanged()}},{key:"removeResult",value:function(e){e<0||e>=this.commandResults.length||(this.commandResults.splice(e,1),this.triggerChanged())}},{key:"toggleEmphasizeBytes",value:function(){this.emphasizeBytes=!this.emphasizeBytes,this.triggerChanged()}},{key:"onChange",value:function(e){this.changeHandlers.push(e)}},{key:"triggerChanged",value:function(){var e=this;this.changeHandlers.forEach(function(t){return t(e)})}},{key:"setUiTheme",value:function(e){this.uiTheme=e,this.triggerChanged()}},{key:"toggleDebugMode",value:function(){this.debugMode=!this.debugMode,this.triggerChanged()}},{key:"registerVisit",value:function(){this.pageVisitsCount++,this.triggerChanged()}},{key:"onDonationClicked",value:function(){return!0!==this.donationClicked&&(this.donationClicked=!0,this.triggerChanged(),!0)}},{key:"getPersistData",value:function(){return{emphasizeBytes:this.emphasizeBytes,uiTheme:this.uiTheme,version:this.version,debugMode:this.debugMode,pageVisistsCount:this.pageVisitsCount,donationClicked:this.donationClicked}}}]),e}();var xe={getPersistedData:function(){var e=window.localStorage.getItem("AppState");if(!e)return{};try{return JSON.parse(e)}catch(t){return console.error("Failed to parse AppState json. Json Value: \n"+e,t),{}}},watch:function(e){var t=this;e.onChange(function(){return t.persistData(e)})},persistData:function(e){localStorage.setItem("AppState",JSON.stringify(e.getPersistData()))}},Oe="StartupCommand",Ce=["help","127.0.0.1 192.168.0.0/8","1|2&6","4 0b1000000 0x80"];var Ne={setup:function(e,t){t.debugMode=e.debugMode,e.onChange(function(){return t.debugMode=e.debugMode}),t.command("help",function(t){return e.addCommandResult(t.input,f.a.createElement(ze,null))}),t.command("clear",function(){return e.clearCommandResults()}),t.command("em",function(){return e.toggleEmphasizeBytes()}),t.command("dark",function(){return e.setUiTheme("dark")}),t.command("light",function(){return e.setUiTheme("light")}),t.command("midnight",function(){return e.setUiTheme("midnight")}),t.command("about",function(t){return e.addCommandResult(t.input,f.a.createElement(ye,null))}),t.command("whatsnew",function(t){return e.addCommandResult(t.input,f.a.createElement(Be,null))}),t.command("guid",function(t){return e.addCommandResult(t.input,f.a.createElement(He,{text:Ee()()}))}),t.command("-notrack",function(){}),t.command("-debug",function(t){e.toggleDebugMode(),e.addCommandResult(t.input,f.a.createElement(He,{text:"Debug Mode: ".concat(e.debugMode)}))}),t.command("donate",function(t){e.onDonationClicked()?ee({eventCategory:"Donation",eventAction:"DonateButtonClicked"}):ee({eventCategory:"Donation",eventAction:"DonateButtonClickedAgain"}),e.addCommandResult(t.input,f.a.createElement(Me,null))}),t.command("track",function(e){ee({eventCategory:"General",eventAction:"AnalyticsTest"})}),"prod"!==e.env&&t.command({canHandle:function(e){return 0===e.indexOf("default")},handle:function(t){var n,a=t.input.substring(7).trim(),i=(n=a,console.log(n),0===n.length?"Default comand: "+localStorage.getItem(Oe):"clear"===n?(localStorage.removeItem(Oe),"Default startup command cleared"):(localStorage.setItem(Oe,n),"Default startup command saved: ".concat(n)));e.addCommandResult(t.input,f.a.createElement(He,{text:i}))}}),t.onError(function(t,n){return e.addCommandResult(t,f.a.createElement(N,{errorMessage:n.toString()}))})}};var Se=function(e){return f.a.createElement("div",{className:"result"},f.a.createElement("div",{className:"error"},"\xaf\\_(\u30c4)_/\xaf Sorry, i don\u2032t know what ",f.a.createElement("strong",null,e.input)," is"))},_e=function(){var e="bitwisecmd.com"===window.location.host?"prod":"stage";!function(e){"prod"!=e?(c.a.setLevel("debug"),c.a.debug("Log level is set to debug. Env: ".concat(e))):c.a.setLevel("warn")}(e);var t=function(e){var t=xe.getPersistedData(),n=new we(t,e);return xe.watch(n),c.a.debug("appState initialized",n),n}(e);return{appState:t,startupCommands:function(e){var t=z.getArgs(window.location.hash),n=function(){var e=localStorage.getItem(Oe);return null!=e?[e]:[]}();return 0==n.length&&(n=Ce),e.wasOldVersion&&(n=["whatsnew"]),t.length>0&&(n=t),c.a.debug("Executing startup commands",n),n}(t)}}();Ne.setup(_e.appState,h),se.setup(_e.appState,h),ge.setup(_e.appState,h),h.command({canHandle:function(){return!0},handle:function(e){return _e.appState.addCommandResult(e.input,f.a.createElement(Se,{input:e.input}))}});var Ie=f.a.createElement(x,{appState:_e.appState});C.a.render(Ie,document.getElementById("root")),c.a.debug("Executing startup commands",_e.startupCommands),_e.startupCommands.forEach(function(e){return h.execute(e,{doNotTrack:!0})}),_e.appState.registerVisit(),c.a.debug("started")}],[[21,1,2]]]);
|
|
//# sourceMappingURL=main.835b95f5.chunk.js.map
|