From 35672bb5088bbce637add5844bd0fbaf0ec3d8f8 Mon Sep 17 00:00:00 2001 From: OpportunityLiu Date: Sun, 28 Apr 2019 13:40:14 +0800 Subject: [PATCH] remove console.log --- EhDbReleaseBuilder/jswrapper/package.json | 2 +- EhDbReleaseBuilder/jswrapper/pako.js | 7 ++++++- EhDbReleaseBuilder/jswrapper/pako.min.js | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/EhDbReleaseBuilder/jswrapper/package.json b/EhDbReleaseBuilder/jswrapper/package.json index 44e2375..beb7a29 100644 --- a/EhDbReleaseBuilder/jswrapper/package.json +++ b/EhDbReleaseBuilder/jswrapper/package.json @@ -11,7 +11,7 @@ "@types/node": "^11.13.8" }, "scripts": { - "start": "uglifyjs pako.js -mc --wrap d -o pako.min.js" + "start": "uglifyjs pako.js -mcd _DEBUG_=false --wrap d -o pako.min.js" }, "author": "", "license": "ISC" diff --git a/EhDbReleaseBuilder/jswrapper/pako.js b/EhDbReleaseBuilder/jswrapper/pako.js index 3ea6de8..ead8a3e 100644 --- a/EhDbReleaseBuilder/jswrapper/pako.js +++ b/EhDbReleaseBuilder/jswrapper/pako.js @@ -11,6 +11,9 @@ if (typeof window !== 'undefined') { } else { gThis = this; } +if (typeof _DEBUG_ === 'undefined') { + console.log(gThis); +} var callback = gThis[d.c]; var data; if (typeof gThis.atob === 'function') { @@ -3327,6 +3330,8 @@ var pako = }).inflate; var json = pako(data, { to: 'string' }); var obj = JSON.parse(json); -console.log(obj); +if (typeof _DEBUG_ === 'undefined') { + console.log(obj); +} callback(obj); diff --git a/EhDbReleaseBuilder/jswrapper/pako.min.js b/EhDbReleaseBuilder/jswrapper/pako.min.js index 74965ab..2ad2fdc 100644 --- a/EhDbReleaseBuilder/jswrapper/pako.min.js +++ b/EhDbReleaseBuilder/jswrapper/pako.min.js @@ -1 +1 @@ -!function(e){var t,i,n=(t="undefined"!=typeof window?window:"undefined"!=typeof self?self:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:this)[d.c];if("function"==typeof t.atob){var a=t.atob(d.d);i=new Uint8Array(new ArrayBuffer(a.length));for(var r=0;r>>6:(i<65536?t[r++]=224|i>>>12:(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63),t[r++]=128|i>>>6&63),t[r++]=128|63&i);return t},i.buf2binstring=function(e){return d(e,e.length)},i.binstring2buf=function(e){for(var t=new f.Buf8(e.length),i=0,n=t.length;i>10&1023,s[n++]=56320|1023&a)}return d(s,n)},i.utf8border=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return i<0?t:0===i?t:i+l[e[i]]>t?i:t}},{"./common":1}],3:[function(e,t,i){"use strict";t.exports=function(e,t,i,n){for(var a=65535&e|0,r=e>>>16&65535|0,o=0;0!==i;){for(i-=o=2e3>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t,i,n){var a=s,r=n+i;e^=-1;for(var o=n;o>>8^a[255&(e^t[o])];return-1^e}},{}],6:[function(e,t,i){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],7:[function(e,t,i){"use strict";t.exports=function(e,t){var i,n,a,r,o,s,f,l,d,c,u,h,b,w,m,k,_,g,v,p,y,x,S,E,B;i=e.state,n=e.next_in,E=e.input,a=n+(e.avail_in-5),r=e.next_out,B=e.output,o=r-(t-e.avail_out),s=r+(e.avail_out-257),f=i.dmax,l=i.wsize,d=i.whave,c=i.wnext,u=i.window,h=i.hold,b=i.bits,w=i.lencode,m=i.distcode,k=(1<>>=v=g>>>24,b-=v,0==(v=g>>>16&255))B[r++]=65535&g;else{if(!(16&v)){if(0==(64&v)){g=w[(65535&g)+(h&(1<>>=v,b-=v),b<15&&(h+=E[n++]<>>=v=g>>>24,b-=v,!(16&(v=g>>>16&255))){if(0==(64&v)){g=m[(65535&g)+(h&(1<>>=v,b-=v,(v=r-o)>3,h&=(1<<(b-=p<<3))-1,e.next_in=n,e.next_out=r,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function r(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new z.Buf16(320),this.work=new z.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function o(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=F,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new z.Buf32(n),t.distcode=t.distdyn=new z.Buf32(a),t.sane=1,t.back=-1,U):D}function s(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,o(e)):D}function f(e,t){var i,n;return e&&e.state?(n=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=r.wsize?(z.arraySet(r.window,t,i-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,n>>8&255,i.check=O(i.check,Z,2,0),d=l=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",i.mode=30;break}if(8!=(15&l)){e.msg="unknown compression method",i.mode=30;break}if(d-=4,y=8+(15&(l>>>=4)),0===i.wbits)i.wbits=y;else if(y>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<>8&1),512&i.flags&&(Z[0]=255&l,Z[1]=l>>>8&255,i.check=O(i.check,Z,2,0)),d=l=0,i.mode=3;case 3:for(;d<32;){if(0===s)break e;s--,l+=n[r++]<>>8&255,Z[2]=l>>>16&255,Z[3]=l>>>24&255,i.check=O(i.check,Z,4,0)),d=l=0,i.mode=4;case 4:for(;d<16;){if(0===s)break e;s--,l+=n[r++]<>8),512&i.flags&&(Z[0]=255&l,Z[1]=l>>>8&255,i.check=O(i.check,Z,2,0)),d=l=0,i.mode=5;case 5:if(1024&i.flags){for(;d<16;){if(0===s)break e;s--,l+=n[r++]<>>8&255,i.check=O(i.check,Z,2,0)),d=l=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(h=i.length,s>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=12;break;case 10:for(;d<32;){if(0===s)break e;s--,l+=n[r++]<>>=7&d,d-=7&d,i.mode=27;break}for(;d<3;){if(0===s)break e;s--,l+=n[r++]<>>=1)){case 0:i.mode=14;break;case 1:if(H(i),i.mode=20,6!==t)break;l>>>=2,d-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===s)break e;s--,l+=n[r++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&l,d=l=0,i.mode=15,6===t)break e;case 15:i.mode=16;case 16:if(h=i.length){if(s>>=5,d-=5,i.ndist=1+(31&l),l>>>=5,d-=5,i.ncode=4+(15&l),l>>>=4,d-=4,286>>=3,d-=3}for(;i.have<19;)i.lens[A[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,S={bits:i.lenbits},x=C(0,i.lens,0,19,i.lencode,0,i.work,S),i.lenbits=S.bits,x){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have>>16&255,_=65535&B,!((m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>>=m,d-=m,i.lens[i.have++]=_;else{if(16===_){for(E=m+2;d>>=m,d-=m,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}y=i.lens[i.have-1],h=3+(3&l),l>>>=2,d-=2}else if(17===_){for(E=m+3;d>>=m)),l>>>=3,d-=3}else{for(E=m+7;d>>=m)),l>>>=7,d-=7}if(i.have+h>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;h--;)i.lens[i.have++]=y}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,S={bits:i.lenbits},x=C(T,i.lens,0,i.nlen,i.lencode,0,i.work,S),i.lenbits=S.bits,x){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,S={bits:i.distbits},x=C(I,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,S),i.distbits=S.bits,x){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,6===t)break e;case 20:i.mode=21;case 21:if(6<=s&&258<=f){e.next_out=o,e.avail_out=f,e.next_in=r,e.avail_in=s,i.hold=l,i.bits=d,R(e,u),o=e.next_out,a=e.output,f=e.avail_out,r=e.next_in,n=e.input,s=e.avail_in,l=i.hold,d=i.bits,12===i.mode&&(i.back=-1);break}for(i.back=0;B=i.lencode[l&(1<>>16&255,_=65535&B,!((m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>g)],k=B>>>16&255,_=65535&B,!(g+(m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>>=g,d-=g,i.back+=g}if(l>>>=m,d-=m,i.back+=m,i.length=_,0===k){i.mode=26;break}if(32&k){i.back=-1,i.mode=12;break}if(64&k){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&k,i.mode=22;case 22:if(i.extra){for(E=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;B=i.distcode[l&(1<>>16&255,_=65535&B,!((m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>g)],k=B>>>16&255,_=65535&B,!(g+(m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>>=g,d-=g,i.back+=g}if(l>>>=m,d-=m,i.back+=m,64&k){e.msg="invalid distance code",i.mode=30;break}i.offset=_,i.extra=15&k,i.mode=24;case 24:if(i.extra){for(E=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===f)break e;if(h=u-f,i.offset>h){if((h=i.offset-h)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}b=h>i.wnext?(h-=i.wnext,i.wsize-h):i.wnext-h,h>i.length&&(h=i.length),w=i.window}else w=a,b=o-i.offset,h=i.length;for(fh?(w=R[C+o[g]],A[z+o[g]]):(w=96,0),f=1<<_-S,v=l=1<>S)+(l-=f)]=b<<24|w<<16|m|0,0!==l;);for(f=1<<_-1;Z&f;)f>>=1;if(0!==f?(Z&=f-1,Z+=f):Z=0,g++,0==--N[_]){if(_===p)break;_=t[i+o[g]]}if(y<_&&(Z&c)!==d){for(0===S&&(S=y),u+=v,E=1<<(x=_-S);x+S>>6:(i<65536?t[r++]=224|i>>>12:(t[r++]=240|i>>>18,t[r++]=128|i>>>12&63),t[r++]=128|i>>>6&63),t[r++]=128|63&i);return t},i.buf2binstring=function(e){return d(e,e.length)},i.binstring2buf=function(e){for(var t=new f.Buf8(e.length),i=0,n=t.length;i>10&1023,s[n++]=56320|1023&a)}return d(s,n)},i.utf8border=function(e,t){var i;for((t=t||e.length)>e.length&&(t=e.length),i=t-1;0<=i&&128==(192&e[i]);)i--;return i<0?t:0===i?t:i+l[e[i]]>t?i:t}},{"./common":1}],3:[function(e,t,i){"use strict";t.exports=function(e,t,i,n){for(var a=65535&e|0,r=e>>>16&65535|0,o=0;0!==i;){for(i-=o=2e3>>1:e>>>1;t[i]=e}return t}();t.exports=function(e,t,i,n){var a=s,r=n+i;e^=-1;for(var o=n;o>>8^a[255&(e^t[o])];return-1^e}},{}],6:[function(e,t,i){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],7:[function(e,t,i){"use strict";t.exports=function(e,t){var i,n,a,r,o,s,f,l,d,c,u,h,b,w,m,k,_,g,v,p,y,x,S,E,B;i=e.state,n=e.next_in,E=e.input,a=n+(e.avail_in-5),r=e.next_out,B=e.output,o=r-(t-e.avail_out),s=r+(e.avail_out-257),f=i.dmax,l=i.wsize,d=i.whave,c=i.wnext,u=i.window,h=i.hold,b=i.bits,w=i.lencode,m=i.distcode,k=(1<>>=v=g>>>24,b-=v,0==(v=g>>>16&255))B[r++]=65535&g;else{if(!(16&v)){if(0==(64&v)){g=w[(65535&g)+(h&(1<>>=v,b-=v),b<15&&(h+=E[n++]<>>=v=g>>>24,b-=v,!(16&(v=g>>>16&255))){if(0==(64&v)){g=m[(65535&g)+(h&(1<>>=v,b-=v,(v=r-o)>3,h&=(1<<(b-=p<<3))-1,e.next_in=n,e.next_out=r,e.avail_in=n>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function r(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new z.Buf16(320),this.work=new z.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function o(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=F,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new z.Buf32(n),t.distcode=t.distdyn=new z.Buf32(a),t.sane=1,t.back=-1,U):D}function s(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,o(e)):D}function f(e,t){var i,n;return e&&e.state?(n=e.state,t<0?(i=0,t=-t):(i=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15=r.wsize?(z.arraySet(r.window,t,i-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,n>>8&255,i.check=O(i.check,Z,2,0),d=l=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){e.msg="incorrect header check",i.mode=30;break}if(8!=(15&l)){e.msg="unknown compression method",i.mode=30;break}if(d-=4,y=8+(15&(l>>>=4)),0===i.wbits)i.wbits=y;else if(y>i.wbits){e.msg="invalid window size",i.mode=30;break}i.dmax=1<>8&1),512&i.flags&&(Z[0]=255&l,Z[1]=l>>>8&255,i.check=O(i.check,Z,2,0)),d=l=0,i.mode=3;case 3:for(;d<32;){if(0===s)break e;s--,l+=n[r++]<>>8&255,Z[2]=l>>>16&255,Z[3]=l>>>24&255,i.check=O(i.check,Z,4,0)),d=l=0,i.mode=4;case 4:for(;d<16;){if(0===s)break e;s--,l+=n[r++]<>8),512&i.flags&&(Z[0]=255&l,Z[1]=l>>>8&255,i.check=O(i.check,Z,2,0)),d=l=0,i.mode=5;case 5:if(1024&i.flags){for(;d<16;){if(0===s)break e;s--,l+=n[r++]<>>8&255,i.check=O(i.check,Z,2,0)),d=l=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(h=i.length,s>9&1,i.head.done=!0),e.adler=i.check=0,i.mode=12;break;case 10:for(;d<32;){if(0===s)break e;s--,l+=n[r++]<>>=7&d,d-=7&d,i.mode=27;break}for(;d<3;){if(0===s)break e;s--,l+=n[r++]<>>=1)){case 0:i.mode=14;break;case 1:if(H(i),i.mode=20,6!==t)break;l>>>=2,d-=2;break e;case 2:i.mode=17;break;case 3:e.msg="invalid block type",i.mode=30}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===s)break e;s--,l+=n[r++]<>>16^65535)){e.msg="invalid stored block lengths",i.mode=30;break}if(i.length=65535&l,d=l=0,i.mode=15,6===t)break e;case 15:i.mode=16;case 16:if(h=i.length){if(s>>=5,d-=5,i.ndist=1+(31&l),l>>>=5,d-=5,i.ncode=4+(15&l),l>>>=4,d-=4,286>>=3,d-=3}for(;i.have<19;)i.lens[A[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,S={bits:i.lenbits},x=C(0,i.lens,0,19,i.lencode,0,i.work,S),i.lenbits=S.bits,x){e.msg="invalid code lengths set",i.mode=30;break}i.have=0,i.mode=19;case 19:for(;i.have>>16&255,_=65535&B,!((m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>>=m,d-=m,i.lens[i.have++]=_;else{if(16===_){for(E=m+2;d>>=m,d-=m,0===i.have){e.msg="invalid bit length repeat",i.mode=30;break}y=i.lens[i.have-1],h=3+(3&l),l>>>=2,d-=2}else if(17===_){for(E=m+3;d>>=m)),l>>>=3,d-=3}else{for(E=m+7;d>>=m)),l>>>=7,d-=7}if(i.have+h>i.nlen+i.ndist){e.msg="invalid bit length repeat",i.mode=30;break}for(;h--;)i.lens[i.have++]=y}}if(30===i.mode)break;if(0===i.lens[256]){e.msg="invalid code -- missing end-of-block",i.mode=30;break}if(i.lenbits=9,S={bits:i.lenbits},x=C(T,i.lens,0,i.nlen,i.lencode,0,i.work,S),i.lenbits=S.bits,x){e.msg="invalid literal/lengths set",i.mode=30;break}if(i.distbits=6,i.distcode=i.distdyn,S={bits:i.distbits},x=C(I,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,S),i.distbits=S.bits,x){e.msg="invalid distances set",i.mode=30;break}if(i.mode=20,6===t)break e;case 20:i.mode=21;case 21:if(6<=s&&258<=f){e.next_out=o,e.avail_out=f,e.next_in=r,e.avail_in=s,i.hold=l,i.bits=d,R(e,u),o=e.next_out,a=e.output,f=e.avail_out,r=e.next_in,n=e.input,s=e.avail_in,l=i.hold,d=i.bits,12===i.mode&&(i.back=-1);break}for(i.back=0;B=i.lencode[l&(1<>>16&255,_=65535&B,!((m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>g)],k=B>>>16&255,_=65535&B,!(g+(m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>>=g,d-=g,i.back+=g}if(l>>>=m,d-=m,i.back+=m,i.length=_,0===k){i.mode=26;break}if(32&k){i.back=-1,i.mode=12;break}if(64&k){e.msg="invalid literal/length code",i.mode=30;break}i.extra=15&k,i.mode=22;case 22:if(i.extra){for(E=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;B=i.distcode[l&(1<>>16&255,_=65535&B,!((m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>g)],k=B>>>16&255,_=65535&B,!(g+(m=B>>>24)<=d);){if(0===s)break e;s--,l+=n[r++]<>>=g,d-=g,i.back+=g}if(l>>>=m,d-=m,i.back+=m,64&k){e.msg="invalid distance code",i.mode=30;break}i.offset=_,i.extra=15&k,i.mode=24;case 24:if(i.extra){for(E=i.extra;d>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){e.msg="invalid distance too far back",i.mode=30;break}i.mode=25;case 25:if(0===f)break e;if(h=u-f,i.offset>h){if((h=i.offset-h)>i.whave&&i.sane){e.msg="invalid distance too far back",i.mode=30;break}b=h>i.wnext?(h-=i.wnext,i.wsize-h):i.wnext-h,h>i.length&&(h=i.length),w=i.window}else w=a,b=o-i.offset,h=i.length;for(fh?(w=R[C+o[g]],A[z+o[g]]):(w=96,0),f=1<<_-S,v=l=1<>S)+(l-=f)]=b<<24|w<<16|m|0,0!==l;);for(f=1<<_-1;Z&f;)f>>=1;if(0!==f?(Z&=f-1,Z+=f):Z=0,g++,0==--N[_]){if(_===p)break;_=t[i+o[g]]}if(y<_&&(Z&c)!==d){for(0===S&&(S=y),u+=v,E=1<<(x=_-S);x+S