Browse Source

补下载

yourname 1 month ago
parent
commit
bf6ebd29d6

+ 119 - 0
public/datav/assets/js/echarts-liquidfill-bd8f0ed5.js

@@ -0,0 +1,119 @@
+import{e,c as t,S as a,a as i,b as r,i as n,u as l,d as s,f as o,p as h,m as d,g as u}from"./echarts-a77f8af6.js";import{Q as p,J as g,_ as v,O as c,N as m,F as y}from"./zrender-ee9f2f6d.js";e({type:"series.liquidFill",optionUpdated:function(){var e=this.option;e.gridSize=Math.max(Math.floor(e.gridSize),4)},getInitialData:function(e,i){var r=t(e.data,{coordDimensions:["value"]}),n=new a(r,this);return n.initData(e.data),n},defaultOption:{color:["#294D99","#156ACF","#1598ED","#45BDFF"],center:["50%","50%"],radius:"50%",amplitude:"8%",waveLength:"80%",phase:"auto",period:"auto",direction:"right",shape:"circle",waveAnimation:!0,animationEasing:"linear",animationEasingUpdate:"linear",animationDuration:2e3,animationDurationUpdate:1e3,outline:{show:!0,borderDistance:8,itemStyle:{color:"none",borderColor:"#294D99",borderWidth:8,shadowBlur:20,shadowColor:"rgba(0, 0, 0, 0.25)"}},backgroundStyle:{color:"#E3F7FF"},itemStyle:{opacity:.95,shadowBlur:50,shadowColor:"rgba(0, 0, 0, 0.4)"},label:{show:!0,color:"#294D99",insideColor:"#fff",fontSize:50,fontWeight:"bold",align:"center",baseline:"middle",position:"inside"},emphasis:{itemStyle:{opacity:.8}}}});const f=i({type:"ec-liquid-fill",shape:{waveLength:0,radius:0,radiusY:0,cx:0,cy:0,waterLevel:0,amplitude:0,phase:0,inverse:!1},buildPath:function(e,t){null==t.radiusY&&(t.radiusY=t.radius)
+/**
+         * We define a sine wave having 4 waves, and make sure at least 8 curves
+         * is drawn. Otherwise, it may cause blank area for some waves when
+         * wave length is large enough.
+         */;
+// map phase to [-Math.PI * 2, 0]
+for(var a=Math.max(2*Math.ceil(2*t.radius/t.waveLength*4),8);t.phase<2*-Math.PI;)t.phase+=2*Math.PI;for(;t.phase>0;)t.phase-=2*Math.PI;var i=t.phase/Math.PI/2*t.waveLength,r=t.cx-t.radius+i-2*t.radius;
+/**
+         * top-left corner as start point
+         *
+         * draws this point
+         *  |
+         * \|/
+         *  ~~~~~~~~
+         *  |      |
+         *  +------+
+         */
+e.moveTo(r,t.waterLevel);for(
+/**
+         * top wave
+         *
+         * ~~~~~~~~ <- draws this sine wave
+         * |      |
+         * +------+
+         */
+var n=0,l=0;l<a;++l){var s=l%4,o=w(l*t.waveLength/4,s,t.waveLength,t.amplitude);e.bezierCurveTo(o[0][0]+r,-o[0][1]+t.waterLevel,o[1][0]+r,-o[1][1]+t.waterLevel,o[2][0]+r,-o[2][1]+t.waterLevel),l===a-1&&(n=o[2][0])}t.inverse?(
+/**
+             * top-right corner
+             *                  2. draws this line
+             *                          |
+             *                       +------+
+             * 3. draws this line -> |      | <- 1. draws this line
+             *                       ~~~~~~~~
+             */
+e.lineTo(n+r,t.cy-t.radiusY),e.lineTo(r,t.cy-t.radiusY),e.lineTo(r,t.waterLevel)):(
+/**
+             * top-right corner
+             *
+             *                       ~~~~~~~~
+             * 3. draws this line -> |      | <- 1. draws this line
+             *                       +------+
+             *                          ^
+             *                          |
+             *                  2. draws this line
+             */
+e.lineTo(n+r,t.cy+t.radiusY),e.lineTo(r,t.cy+t.radiusY),e.lineTo(r,t.waterLevel)),e.closePath()}});
+/**
+ * Using Bezier curves to fit sine wave.
+ * There is 4 control points for each curve of wave,
+ * which is at 1/4 wave length of the sine wave.
+ *
+ * The control points for a wave from (a) to (d) are a-b-c-d:
+ *          c *----* d
+ *     b *
+ *       |
+ * ... a * ..................
+ *
+ * whose positions are a: (0, 0), b: (0.5, 0.5), c: (1, 1), d: (PI / 2, 1)
+ *
+ * @param {number} x          x position of the left-most point (a)
+ * @param {number} stage      0-3, stating which part of the wave it is
+ * @param {number} waveLength wave length of the sine wave
+ * @param {number} amplitude  wave amplitude
+ */function w(e,t,a,i){return 0===t?[[e+.5*a/Math.PI/2,i/2],[e+.5*a/Math.PI,i],[e+a/4,i]]:1===t?[[e+.5*a/Math.PI/2*(Math.PI-2),i],[e+.5*a/Math.PI/2*(Math.PI-1),i/2],[e+a/4,0]]:2===t?[[e+.5*a/Math.PI/2,-i/2],[e+.5*a/Math.PI,-i],[e+a/4,-i]]:[[e+.5*a/Math.PI/2*(Math.PI-2),-i],[e+.5*a/Math.PI/2*(Math.PI-1),-i/2],[e+a/4,0]]}var M=h;function I(e){return e&&0===e.indexOf("path://")}r({type:"liquidFill",render:function(e,t,a){var i=this,r=this.group;r.removeAll();var h=e.getData(),w=h.getItemModel(0),P=w.get("center"),b=w.get("radius"),x=a.getWidth(),L=a.getHeight(),S=Math.min(x,L),C=0,D=0,F=e.get("outline.show");F&&(C=e.get("outline.borderDistance"),D=M(e.get("outline.itemStyle.borderWidth"),S));var T,E,Y,z=M(P[0],x),A=M(P[1],L),O=!1,W=e.get("shape");("container"===W?(
+// a shape that fully fills the container
+O=!0,E=[(T=[x/2,L/2])[0]-D/2,T[1]-D/2],Y=[M(C,x),M(C,L)],b=[Math.max(E[0]-Y[0],0),Math.max(E[1]-Y[1],0)]):(E=(T=M(b,S)/2)-D/2,Y=M(C,S),b=Math.max(E-Y,0)),F)&&(N().style.lineWidth=D,r.add(N()));var _=O?0:z-b,k=O?0:A-b,B=null;r.add(
+/**
+         * Create background
+         */
+function(){
+// Seperate stroke and fill, so we can use stroke to cover the alias of clipping.
+var t=G(b);t.setStyle(e.getModel("backgroundStyle").getItemStyle()),t.style.fill=null,
+// Stroke is front of wave
+t.z2=5;var a=G(b);a.setStyle(e.getModel("backgroundStyle").getItemStyle()),a.style.stroke=null;var i=new p;return i.add(t),i.add(a),i}
+/**
+         * wave shape
+         */());
+// each data item for a wave
+var U=this._data,j=[];
+/**
+         * Get path for outline, background and clipping
+         *
+         * @param {number} r outter radius of shape
+         * @param {boolean|undefined} isForClipping if the shape is used
+         *                                          for clipping
+         */
+function G(e,t){if(W){
+// customed symbol path
+if(I(W)){var a=d(W.slice(7),{}),i=a.getBoundingRect(),r=i.width,n=i.height;r>n?(n*=2*e/r,r=2*e):(r*=2*e/n,n=2*e);var l=t?0:z-r/2,s=t?0:A-n/2;return a=d(W.slice(7),{},new m(l,s,r,n)),t&&(a.x=-r/2,a.y=-n/2),a}if(O){
+// fully fill the container
+var o=t?-e[0]:z-e[0],h=t?-e[1]:A-e[1];return u("rect",o,h,2*e[0],2*e[1])}h=t?-e:A-e;return"pin"===W?h+=e:"arrow"===W&&(h-=e),u(W,o=t?-e:z-e,h,2*e,2*e)}return new y({shape:{cx:t?0:z,cy:t?0:A,r:e}})}
+/**
+         * Create outline
+         */function N(){var t=G(T);return t.style.fill=null,t.setStyle(e.getModel("outline.itemStyle").getItemStyle()),t}function q(t,a,i){var r=O?b[0]:b,n=O?L/2:b,l=h.getItemModel(t),o=l.getModel("itemStyle"),d=l.get("phase"),u=M(l.get("amplitude"),2*n),p=M(l.get("waveLength"),2*r),g=n-h.get("value",t)*n*2;d=i?i.shape.phase:"auto"===d?t*Math.PI/4:d;var v=o.getItemStyle();if(!v.fill){var c=e.get("color"),m=t%c.length;v.fill=c[m]}var y=new f({shape:{waveLength:p,radius:r,radiusY:n,cx:2*r,cy:0,waterLevel:g,amplitude:u,phase:d,inverse:a},style:v,x:z,y:A});y.shape._waterLevel=g;var w=l.getModel("emphasis.itemStyle").getItemStyle();w.lineWidth=0,y.ensureState("emphasis").style=w,s(y);
+// clip out the part outside the circle
+var I=G(b,!0);
+// set fill for clipPath, otherwise it will not trigger hover event
+return I.setStyle({fill:"white"}),y.setClipPath(I),y}function H(e,t,a){var i=h.getItemModel(e),r=i.get("period"),n=i.get("direction"),l=h.get("value",e),s=i.get("phase");s=a?a.shape.phase:"auto"===s?e*Math.PI/4:s;var o=0;o="auto"===r?function(t){var a=h.count();return 0===a?t:t*(.2+(a-e)/a*.8)}(5e3):"function"==typeof r?r(l,e):r;
+// phase for moving left/right
+var d=0;"right"===n||null==n?d=Math.PI:"left"===n?d=-Math.PI:"none"===n&&(d=0),
+// wave animation of moving left/right
+"none"!==n&&i.get("waveAnimation")&&t.animate("shape",!0).when(0,{phase:s}).when(o/2,{phase:d+s}).when(o,{phase:2*d+s}).during((function(){B&&B.dirty(!0)})).start()}
+/**
+         * text on wave
+         */h.diff(U).add((function(t){var a=q(t,!1),i=a.shape.waterLevel;a.shape.waterLevel=O?L/2:b,n(a,{shape:{waterLevel:i}},e),a.z2=2,H(t,a,null),r.add(a),h.setItemGraphicEl(t,a),j.push(a)})).update((function(t,a){for(var n=U.getItemGraphicEl(a),s=q(t,!1,n),o={},d=["amplitude","cx","cy","phase","radius","radiusY","waterLevel","waveLength"],u=0
+// new wave is used to calculate position, but not added
+;u<d.length;++u){var p=d[u];s.shape.hasOwnProperty(p)&&(o[p]=s.shape[p])}var g={},v=["fill","opacity","shadowBlur","shadowColor"];for(u=0;u<v.length;++u){p=v[u];s.style.hasOwnProperty(p)&&(g[p]=s.style[p])}O&&(o.radiusY=L/2),
+// changes with animation
+l(n,{shape:o,x:s.x,y:s.y},e),e.isUniversalTransitionEnabled&&e.isUniversalTransitionEnabled()?l(n,{style:g},e):n.useStyle(g);
+// instant changes
+var c=n.getClipPath(),m=s.getClipPath();n.setClipPath(s.getClipPath()),n.shape.inverse=s.inverse,c&&m&&i._shape===W&&!I(W)&&
+// Can be animated.
+l(m,{shape:c.shape},e,{isFrom:!0}),H(t,n,n),r.add(n),h.setItemGraphicEl(t,n),j.push(n)})).remove((function(e){var t=U.getItemGraphicEl(e);r.remove(t)})).execute(),w.get("label.show")&&r.add(function(t){var a=w.getModel("label");function i(){var t=e.getFormattedLabel(0,"normal"),a=100*h.get("value",0),i=h.getName(0)||e.name;return isNaN(a)||(i=a.toFixed(0)+"%"),null==t?i:t}var r={z2:10,shape:{x:_,y:k,width:2*(O?b[0]:b),height:2*(O?b[1]:b)},style:{fill:"transparent"},textConfig:{position:a.get("position")||"inside"},silent:!0},n={style:{text:i(),textAlign:a.get("align"),textVerticalAlign:a.get("baseline")}};Object.assign(n.style,o(a));var l=new g(r),s=new g(r);s.disableLabelAnimation=!0,l.disableLabelAnimation=!0;var d=new v(n),u=new v(n);l.setTextContent(d),s.setTextContent(u);var m=a.get("insideColor");u.style.fill=m;var y=new p;y.add(l),y.add(s);
+// clip out waves for insideText
+var f=G(b,!0);return B=new c({shape:{paths:t},x:z,y:A}),B.setClipPath(f),s.setClipPath(B),y}(j)),this._shape=W,this._data=h},dispose:function(){
+// dispose nothing here
+}});
+//# sourceMappingURL=echarts-liquidfill-bd8f0ed5.js.map

+ 14 - 0
public/datav/assets/js/index-817aeea8.js

@@ -0,0 +1,14 @@
+import{d as e,h as a,X as o,l,n as r,S as s,ad as t,o as u,c as m,D as i,E as n}from"./@vue-37836d09.js";import{_ as d}from"./vue-next-wxlogin-91e03b70.js";const v=d(e({name:"AutoScroll",components:{},props:{
+// 每次执行时间
+time:{type:Number,default:4e3},
+// 动画时间-需与样式li项即每项动画translate: height 400s ease对应
+delay:{type:Number,default:400},
+// 总数大于等于5项才执行动画
+itemLen:{type:Number,default:5},
+// 是否展示滚动条
+showScrollbar:{type:Boolean,default:!1},
+// 鼠标经过是否停止
+mouseoverStop:{type:Boolean,default:!1},
+// 加载中停止滚动
+loading:{type:Boolean,default:!1}},emits:["complete"],setup(e,{emit:u}){const m=a(null),i=o({isHover:!1,datas:[],marqueeTimer:null,delayTimer:null}),n=()=>{if(i.isHover||e.loading)return;i.delayTimer&&clearTimeout(i.delayTimer);const a={...i.datas[0]};i.datas[0]._h0=!0,i.datas.push(a),i.delayTimer=setTimeout((()=>{i.datas.shift(),u("complete")}),e.delay)},d=()=>{i.delayTimer&&clearTimeout(i.delayTimer),i.marqueeTimer&&clearInterval(i.marqueeTimer)};return l((()=>{r((()=>{}))})),s((()=>{d()})),{...t(i),elRef:m,mouseleave:()=>{i.isHover=!1,m.value&&(m.value.scrollTop=0)},mouseover:()=>{e.mouseoverStop&&(i.isHover=!0)},begin:a=>{d(),a.length<e.itemLen||(i.isHover=!1,i.datas=a,i.marqueeTimer=setInterval(n,e.time))}}}}),[["render",function(e,a,o,l,r,s){return u(),m("div",{class:n(["auto-scroll scroll-black",{"auto-scroll-bar":e.showScrollbar&&e.isHover}]),ref:"elRef",onMouseleave:a[0]||(a[0]=(...a)=>e.mouseleave&&e.mouseleave(...a)),onMouseover:a[1]||(a[1]=(...a)=>e.mouseover&&e.mouseover(...a))},[i(e.$slots,"default",{},void 0,!0)],34)}],["__scopeId","data-v-5e155b02"]]);export{v as a};
+//# sourceMappingURL=index-817aeea8.js.map

File diff suppressed because it is too large
+ 92 - 0
public/datav/assets/js/index-ca28b5e8.js


+ 281 - 0
public/datav/assets/js/jsbn-6a317af9.js

@@ -0,0 +1,281 @@
+import{c as t}from"./@turf-e5dd68ad.js";var i,r={exports:{}};i=r,function(){
+// Copyright (c) 2005  Tom Wu
+// All Rights Reserved.
+// See "LICENSE" for details.
+// Basic JavaScript BN library - subset useful for RSA encryption.
+// Bits per digit
+var t;
+// JavaScript engine analysis
+// (public) Constructor
+function r(t,i,r){null!=t&&("number"==typeof t?this.fromNumber(t,i,r):null==i&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,i))}
+// return new, unset BigInteger
+function o(){return new r(null)}
+// am: Compute w_j += (x*this_i), propagate carries,
+// c is initial carry, returns final carry.
+// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
+// We need to select the fastest one that works in this environment.
+// am1: use a single mult and divide to get the high bits,
+// max digit bits should be 26 because
+// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
+var s="undefined"!=typeof navigator;s&&"Microsoft Internet Explorer"==navigator.appName?(r.prototype.am=
+// am2 avoids a big mult-and-extract completely.
+// Max digit bits should be <= 30 because we do bitwise ops
+// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
+function(t,i,r,o,s,h){for(var e=32767&i,n=i>>15;--h>=0;){var f=32767&this[t],u=this[t++]>>15,p=n*f+u*e;s=((f=e*f+((32767&p)<<15)+r[o]+(1073741823&s))>>>30)+(p>>>15)+n*u+(s>>>30),r[o++]=1073741823&f}return s}
+// Alternately, set max digit bits to 28 since some
+// browsers slow down when dealing with 32-bit numbers.
+,t=30):s&&"Netscape"!=navigator.appName?(r.prototype.am=function(t,i,r,o,s,h){for(;--h>=0;){var e=i*this[t++]+r[o]+s;s=Math.floor(e/67108864),r[o++]=67108863&e}return s},t=26):(// Mozilla/Netscape seems to prefer am3
+r.prototype.am=function(t,i,r,o,s,h){for(var e=16383&i,n=i>>14;--h>=0;){var f=16383&this[t],u=this[t++]>>14,p=n*f+u*e;s=((f=e*f+((16383&p)<<14)+r[o]+s)>>28)+(p>>14)+n*u,r[o++]=268435455&f}return s},t=28),r.prototype.DB=t,r.prototype.DM=(1<<t)-1,r.prototype.DV=1<<t,r.prototype.FV=Math.pow(2,52),r.prototype.F1=52-t,r.prototype.F2=2*t-52;
+// Digit conversions
+var h,e,n=new Array;for(h="0".charCodeAt(0),e=0;e<=9;++e)n[h++]=e;for(h="a".charCodeAt(0),e=10;e<36;++e)n[h++]=e;for(h="A".charCodeAt(0),e=10;e<36;++e)n[h++]=e;function f(t){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t)}function u(t,i){var r=n[t.charCodeAt(i)];return null==r?-1:r}
+// (protected) copy this to r
+// return bigint initialized to value
+function p(t){var i=o();return i.fromInt(t),i}
+// (protected) set from string and radix
+// returns bit length of the integer x
+function a(t){var i,r=1;return 0!=(i=t>>>16)&&(t=i,r+=16),0!=(i=t>>8)&&(t=i,r+=8),0!=(i=t>>4)&&(t=i,r+=4),0!=(i=t>>2)&&(t=i,r+=2),0!=(i=t>>1)&&(t=i,r+=1),r}
+// (public) return the number of bits in "this"
+// Modular reduction using "classic" algorithm
+function c(t){this.m=t}
+// Montgomery reduction
+function m(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}
+// xR mod m
+// (public) this & a
+function l(t,i){return t&i}
+// (public) this | a
+function v(t,i){return t|i}
+// (public) this ^ a
+function T(t,i){return t^i}
+// (public) this & ~a
+function y(t,i){return t&~i}
+// return index of lowest 1-bit in x, x < 2^31
+function d(t){if(0==t)return-1;var i=0;return 65535&t||(t>>=16,i+=16),255&t||(t>>=8,i+=8),15&t||(t>>=4,i+=4),3&t||(t>>=2,i+=2),1&t||++i,i}
+// (public) returns index of lowest 1-bit (or -1 if none)
+// return number of 1 bits in x
+function D(t){for(var i=0;0!=t;)t&=t-1,++i;return i}
+// (public) return number of set bits
+// A "null" reducer
+function g(){}function b(t){return t}
+// Barrett modular reduction
+function S(t){
+// setup Barrett
+this.r2=o(),this.q3=o(),r.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}c.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},c.prototype.revert=function(t){return t},c.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},c.prototype.mulTo=function(t,i,r){t.multiplyTo(i,r),this.reduce(r)},c.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)},m.prototype.convert=function(t){var i=o();return t.abs().dlShiftTo(this.m.t,i),i.divRemTo(this.m,null,i),t.s<0&&i.compareTo(r.ZERO)>0&&this.m.subTo(i,i),i}
+// x/R mod m
+,m.prototype.revert=function(t){var i=o();return t.copyTo(i),this.reduce(i),i}
+// x = x/R mod m (HAC 14.32)
+,m.prototype.reduce=function(t){for(;t.t<=this.mt2;)// pad x so am has enough room later
+t[t.t++]=0;for(var i=0;i<this.m.t;++i){
+// faster way of calculating u0 = x[i]*mp mod DV
+var r=32767&t[i],o=r*this.mpl+((r*this.mph+(t[i]>>15)*this.mpl&this.um)<<15)&t.DM;
+// propagate carry
+for(t[
+// use am to combine the multiply-shift-add into one call
+r=i+this.m.t]+=this.m.am(0,o,t,i,0,this.m.t);t[r]>=t.DV;)t[r]-=t.DV,t[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}
+// r = "x^2/R mod m"; x != r
+,m.prototype.mulTo=
+// r = "xy/R mod m"; x,y != r
+function(t,i,r){t.multiplyTo(i,r),this.reduce(r)},m.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)},
+// protected
+r.prototype.copyTo=function(t){for(var i=this.t-1;i>=0;--i)t[i]=this[i];t.t=this.t,t.s=this.s}
+// (protected) set from integer value x, -DV <= x < DV
+,r.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},r.prototype.fromString=function(t,i){var o;if(16==i)o=4;else if(8==i)o=3;else if(256==i)o=8;// byte array
+else if(2==i)o=1;else if(32==i)o=5;else{if(4!=i)return void this.fromRadix(t,i);o=2}this.t=0,this.s=0;for(var s=t.length,h=!1,e=0;--s>=0;){var n=8==o?255&t[s]:u(t,s);n<0?"-"==t.charAt(s)&&(h=!0):(h=!1,0==e?this[this.t++]=n:e+o>this.DB?(this[this.t-1]|=(n&(1<<this.DB-e)-1)<<e,this[this.t++]=n>>this.DB-e):this[this.t-1]|=n<<e,(e+=o)>=this.DB&&(e-=this.DB))}8==o&&128&t[0]&&(this.s=-1,e>0&&(this[this.t-1]|=(1<<this.DB-e)-1<<e)),this.clamp(),h&&r.ZERO.subTo(this,this)}
+// (protected) clamp off excess high words
+,r.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t}
+// (public) return string representation in given radix
+,r.prototype.dlShiftTo=
+// (protected) r = this << n*DB
+function(t,i){var r;for(r=this.t-1;r>=0;--r)i[r+t]=this[r];for(r=t-1;r>=0;--r)i[r]=0;i.t=this.t+t,i.s=this.s}
+// (protected) r = this >> n*DB
+,r.prototype.drShiftTo=function(t,i){for(var r=t;r<this.t;++r)i[r-t]=this[r];i.t=Math.max(this.t-t,0),i.s=this.s}
+// (protected) r = this << n
+,r.prototype.lShiftTo=function(t,i){var r,o=t%this.DB,s=this.DB-o,h=(1<<s)-1,e=Math.floor(t/this.DB),n=this.s<<o&this.DM;for(r=this.t-1;r>=0;--r)i[r+e+1]=this[r]>>s|n,n=(this[r]&h)<<o;for(r=e-1;r>=0;--r)i[r]=0;i[e]=n,i.t=this.t+e+1,i.s=this.s,i.clamp()}
+// (protected) r = this >> n
+,r.prototype.rShiftTo=function(t,i){i.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t)i.t=0;else{var o=t%this.DB,s=this.DB-o,h=(1<<o)-1;i[0]=this[r]>>o;for(var e=r+1;e<this.t;++e)i[e-r-1]|=(this[e]&h)<<s,i[e-r]=this[e]>>o;o>0&&(i[this.t-r-1]|=(this.s&h)<<s),i.t=this.t-r,i.clamp()}}
+// (protected) r = this - a
+,r.prototype.subTo=function(t,i){for(var r=0,o=0,s=Math.min(t.t,this.t);r<s;)o+=this[r]-t[r],i[r++]=o&this.DM,o>>=this.DB;if(t.t<this.t){for(o-=t.s;r<this.t;)o+=this[r],i[r++]=o&this.DM,o>>=this.DB;o+=this.s}else{for(o+=this.s;r<t.t;)o-=t[r],i[r++]=o&this.DM,o>>=this.DB;o-=t.s}i.s=o<0?-1:0,o<-1?i[r++]=this.DV+o:o>0&&(i[r++]=o),i.t=r,i.clamp()}
+// (protected) r = this * a, r != this,a (HAC 14.12)
+// "this" should be the larger one if appropriate.
+,r.prototype.multiplyTo=function(t,i){var o=this.abs(),s=t.abs(),h=o.t;for(i.t=h+s.t;--h>=0;)i[h]=0;for(h=0;h<s.t;++h)i[h+o.t]=o.am(0,s[h],i,h,0,o.t);i.s=0,i.clamp(),this.s!=t.s&&r.ZERO.subTo(i,i)}
+// (protected) r = this^2, r != this (HAC 14.16)
+,r.prototype.squareTo=function(t){for(var i=this.abs(),r=t.t=2*i.t;--r>=0;)t[r]=0;for(r=0;r<i.t-1;++r){var o=i.am(r,i[r],t,2*r,0,1);(t[r+i.t]+=i.am(r+1,2*i[r],t,2*r+1,o,i.t-r-1))>=i.DV&&(t[r+i.t]-=i.DV,t[r+i.t+1]=1)}t.t>0&&(t[t.t-1]+=i.am(r,i[r],t,2*r,0,1)),t.s=0,t.clamp()}
+// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
+// r != q, this != m.  q or r may be null.
+,r.prototype.divRemTo=function(t,i,s){var h=t.abs();if(!(h.t<=0)){var e=this.abs();if(e.t<h.t)return null!=i&&i.fromInt(0),void(null!=s&&this.copyTo(s));null==s&&(s=o());var n=o(),f=this.s,u=t.s,p=this.DB-a(h[h.t-1]);// normalize modulus
+p>0?(h.lShiftTo(p,n),e.lShiftTo(p,s)):(h.copyTo(n),e.copyTo(s));var c=n.t,m=n[c-1];if(0!=m){var l=m*(1<<this.F1)+(c>1?n[c-2]>>this.F2:0),v=this.FV/l,T=(1<<this.F1)/l,y=1<<this.F2,d=s.t,D=d-c,g=null==i?o():i;// "negative" y so we can replace sub with am later
+for(n.dlShiftTo(D,g),s.compareTo(g)>=0&&(s[s.t++]=1,s.subTo(g,s)),r.ONE.dlShiftTo(c,g),g.subTo(n,n);n.t<c;)n[n.t++]=0;for(;--D>=0;){
+// Estimate quotient digit
+var b=s[--d]==m?this.DM:Math.floor(s[d]*v+(s[d-1]+y)*T);if((s[d]+=n.am(0,b,s,D,0,c))<b)for(// Try it out
+n.dlShiftTo(D,g),s.subTo(g,s);s[d]<--b;)s.subTo(g,s)}null!=i&&(s.drShiftTo(c,i),f!=u&&r.ZERO.subTo(i,i)),s.t=c,s.clamp(),p>0&&s.rShiftTo(p,s),// Denormalize remainder
+f<0&&r.ZERO.subTo(s,s)}}}
+// (public) this mod a
+,r.prototype.invDigit=
+// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
+// justification:
+//         xy == 1 (mod m)
+//         xy =  1+km
+//   xy(2-xy) = (1+km)(1-km)
+// x[y(2-xy)] = 1-k^2m^2
+// x[y(2-xy)] == 1 (mod m^2)
+// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
+// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
+// JS multiply "overflows" differently from C/C++, so care is needed here.
+function(){if(this.t<1)return 0;var t=this[0];if(!(1&t))return 0;var i=3&t;// y == 1/x mod 2^2
+// y == 1/x mod 2^dbits
+// we really want the negative inverse, and -DV < y < DV
+// y == 1/x mod 2^16
+// last step - calculate inverse mod DV directly;
+// assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
+return(i=(// y == 1/x mod 2^8
+i=(// y == 1/x mod 2^4
+i=(i=i*(2-(15&t)*i)&15)*(2-(255&t)*i)&255)*(2-((65535&t)*i&65535))&65535)*(2-t*i%this.DV)%this.DV)>0?this.DV-i:-i},r.prototype.isEven=
+// (protected) true iff this is even
+function(){return 0==(this.t>0?1&this[0]:this.s)}
+// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
+,r.prototype.exp=function(t,i){if(t>4294967295||t<1)return r.ONE;var s=o(),h=o(),e=i.convert(this),n=a(t)-1;for(e.copyTo(s);--n>=0;)if(i.sqrTo(s,h),(t&1<<n)>0)i.mulTo(h,e,s);else{var f=s;s=h,h=f}return i.revert(s)}
+// (public) this^e % m, 0 <= e < 2^32
+,
+// public
+r.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var i;if(16==t)i=4;else if(8==t)i=3;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return this.toRadix(t);i=2}var r,o=(1<<i)-1,s=!1,h="",e=this.t,n=this.DB-e*this.DB%i;if(e-- >0)for(n<this.DB&&(r=this[e]>>n)>0&&(s=!0,h=f(r));e>=0;)n<i?(r=(this[e]&(1<<n)-1)<<i-n,r|=this[--e]>>(n+=this.DB-i)):(r=this[e]>>(n-=i)&o,n<=0&&(n+=this.DB,--e)),r>0&&(s=!0),s&&(h+=f(r));return s?h:"0"}
+// (public) -this
+,r.prototype.negate=function(){var t=o();return r.ZERO.subTo(this,t),t}
+// (public) |this|
+,r.prototype.abs=function(){return this.s<0?this.negate():this}
+// (public) return + if this > a, - if this < a, 0 if equal
+,r.prototype.compareTo=function(t){var i=this.s-t.s;if(0!=i)return i;var r=this.t;if(0!=(i=r-t.t))return this.s<0?-i:i;for(;--r>=0;)if(0!=(i=this[r]-t[r]))return i;return 0},r.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+a(this[this.t-1]^this.s&this.DM)},r.prototype.mod=function(t){var i=o();return this.abs().divRemTo(t,null,i),this.s<0&&i.compareTo(r.ZERO)>0&&t.subTo(i,i),i},r.prototype.modPowInt=function(t,i){var r;return r=t<256||i.isEven()?new c(i):new m(i),this.exp(t,r)},
+// "constants"
+r.ZERO=p(0),r.ONE=p(1),g.prototype.convert=b,g.prototype.revert=b,g.prototype.mulTo=function(t,i,r){t.multiplyTo(i,r)},g.prototype.sqrTo=function(t,i){t.squareTo(i)},S.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var i=o();return t.copyTo(i),this.reduce(i),i},S.prototype.revert=function(t){return t}
+// x = x mod m (HAC 14.42)
+,S.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}
+// r = x^2 mod m; x != r
+,S.prototype.mulTo=
+// r = x*y mod m; x,y != r
+function(t,i,r){t.multiplyTo(i,r),this.reduce(r)},S.prototype.sqrTo=function(t,i){t.squareTo(i),this.reduce(i)};var B,w,M,E=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],R=(1<<26)/E[E.length-1];
+// Mix in the current time (w/milliseconds) into the pool
+function O(){
+// Mix in a 32-bit integer into the pool
+var t;t=(new Date).getTime(),w[M++]^=255&t,w[M++]^=t>>8&255,w[M++]^=t>>16&255,w[M++]^=t>>24&255,M>=I&&(M-=I)}
+// Initialize the pool with junk if needed.
+if(
+// protected
+r.prototype.chunkSize=
+// (protected) return x s.t. r^x < DV
+function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}
+// (public) 0 if this == 0, 1 if this > 0
+,r.prototype.toRadix=
+// (protected) convert to radix string
+function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var i=this.chunkSize(t),r=Math.pow(t,i),s=p(r),h=o(),e=o(),n="";for(this.divRemTo(s,h,e);h.signum()>0;)n=(r+e.intValue()).toString(t).substr(1)+n,h.divRemTo(s,h,e);return e.intValue().toString(t)+n}
+// (protected) convert from radix string
+,r.prototype.fromRadix=function(t,i){this.fromInt(0),null==i&&(i=10);for(var o=this.chunkSize(i),s=Math.pow(i,o),h=!1,e=0,n=0,f=0;f<t.length;++f){var p=u(t,f);p<0?"-"==t.charAt(f)&&0==this.signum()&&(h=!0):(n=i*n+p,++e>=o&&(this.dMultiply(s),this.dAddOffset(n,0),e=0,n=0))}e>0&&(this.dMultiply(Math.pow(i,e)),this.dAddOffset(n,0)),h&&r.ZERO.subTo(this,this)}
+// (protected) alternate constructor
+,r.prototype.fromNumber=function(t,i,o){if("number"==typeof i)
+// new BigInteger(int,int,RNG)
+if(t<2)this.fromInt(1);else// force odd
+for(this.fromNumber(t,o),this.testBit(t-1)||// force MSB set
+this.bitwiseTo(r.ONE.shiftLeft(t-1),v,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(i);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(r.ONE.shiftLeft(t-1),this);else{
+// new BigInteger(int,RNG)
+var s=new Array,h=7&t;s.length=1+(t>>3),i.nextBytes(s),h>0?s[0]&=(1<<h)-1:s[0]=0,this.fromString(s,256)}}
+// (public) convert to bigendian byte array
+,r.prototype.bitwiseTo=
+// (protected) r = this op a (bitwise)
+function(t,i,r){var o,s,h=Math.min(t.t,this.t);for(o=0;o<h;++o)r[o]=i(this[o],t[o]);if(t.t<this.t){for(s=t.s&this.DM,o=h;o<this.t;++o)r[o]=i(this[o],s);r.t=this.t}else{for(s=this.s&this.DM,o=h;o<t.t;++o)r[o]=i(s,t[o]);r.t=t.t}r.s=i(this.s,t.s),r.clamp()},r.prototype.changeBit=
+// (protected) this op (1<<n)
+function(t,i){var o=r.ONE.shiftLeft(t);return this.bitwiseTo(o,i,o),o}
+// (public) this | (1<<n)
+,r.prototype.addTo=
+// (protected) r = this + a
+function(t,i){for(var r=0,o=0,s=Math.min(t.t,this.t);r<s;)o+=this[r]+t[r],i[r++]=o&this.DM,o>>=this.DB;if(t.t<this.t){for(o+=t.s;r<this.t;)o+=this[r],i[r++]=o&this.DM,o>>=this.DB;o+=this.s}else{for(o+=this.s;r<t.t;)o+=t[r],i[r++]=o&this.DM,o>>=this.DB;o+=t.s}i.s=o<0?-1:0,o>0?i[r++]=o:o<-1&&(i[r++]=this.DV+o),i.t=r,i.clamp()}
+// (public) this + a
+,r.prototype.dMultiply=
+// (protected) this *= n, this >= 0, 1 < n < DV
+function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}
+// (protected) this += n << w words, this >= 0
+,r.prototype.dAddOffset=function(t,i){if(0!=t){for(;this.t<=i;)this[this.t++]=0;for(this[i]+=t;this[i]>=this.DV;)this[i]-=this.DV,++i>=this.t&&(this[this.t++]=0),++this[i]}},r.prototype.multiplyLowerTo=
+// (protected) r = lower n words of "this * a", a.t <= n
+// "this" should be the larger one if appropriate.
+function(t,i,r){var o,s=Math.min(this.t+t.t,i);for(r.s=0,// assumes a,this >= 0
+r.t=s;s>0;)r[--s]=0;for(o=r.t-this.t;s<o;++s)r[s+this.t]=this.am(0,t[s],r,s,0,this.t);for(o=Math.min(t.t,i);s<o;++s)this.am(0,t[s],r,s,0,i-s);r.clamp()}
+// (protected) r = "this * a" without lower n words, n > 0
+// "this" should be the larger one if appropriate.
+,r.prototype.multiplyUpperTo=function(t,i,r){--i;var o=r.t=this.t+t.t-i;// assumes a,this >= 0
+for(r.s=0;--o>=0;)r[o]=0;for(o=Math.max(i-this.t,0);o<t.t;++o)r[this.t+o-i]=this.am(i-o,t[o],r,0,0,this.t+o-i);r.clamp(),r.drShiftTo(1,r)},r.prototype.modInt=
+// (protected) this % n, n < 2^26
+function(t){if(t<=0)return 0;var i=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(0==i)r=this[0]%t;else for(var o=this.t-1;o>=0;--o)r=(i*r+this[o])%t;return r}
+// (public) 1/this % m (HAC 14.61)
+,r.prototype.millerRabin=
+// (protected) true if probably prime (HAC 4.24, Miller-Rabin)
+function(t){var i=this.subtract(r.ONE),s=i.getLowestSetBit();if(s<=0)return!1;var h=i.shiftRight(s);(t=t+1>>1)>E.length&&(t=E.length);for(var e=o(),n=0;n<t;++n){
+//Pick bases at random, instead of starting at 2
+e.fromInt(E[Math.floor(Math.random()*E.length)]);var f=e.modPow(h,this);if(0!=f.compareTo(r.ONE)&&0!=f.compareTo(i)){for(var u=1;u++<s&&0!=f.compareTo(i);)if(0==(f=f.modPowInt(2,this)).compareTo(r.ONE))return!1;if(0!=f.compareTo(i))return!1}}return!0},
+// public
+r.prototype.clone=
+// Copyright (c) 2005-2009  Tom Wu
+// All Rights Reserved.
+// See "LICENSE" for details.
+// Extended JavaScript BN functions, required for RSA private ops.
+// Version 1.1: new BigInteger("0", 10) returns "proper" zero
+// Version 1.2: square() API, isProbablePrime fix
+// (public)
+function(){var t=o();return this.copyTo(t),t}
+// (public) return value as integer
+,r.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];
+// assumes 16 < DB < 32
+if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}
+// (public) return value as byte
+,r.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24}
+// (public) return value as short (assumes DB>=16)
+,r.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},r.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},r.prototype.toByteArray=function(){var t=this.t,i=new Array;i[0]=this.s;var r,o=this.DB-t*this.DB%8,s=0;if(t-- >0)for(o<this.DB&&(r=this[t]>>o)!=(this.s&this.DM)>>o&&(i[s++]=r|this.s<<this.DB-o);t>=0;)o<8?(r=(this[t]&(1<<o)-1)<<8-o,r|=this[--t]>>(o+=this.DB-8)):(r=this[t]>>(o-=8)&255,o<=0&&(o+=this.DB,--t)),128&r&&(r|=-256),0==s&&(128&this.s)!=(128&r)&&++s,(s>0||r!=this.s)&&(i[s++]=r);return i},r.prototype.equals=function(t){return 0==this.compareTo(t)},r.prototype.min=function(t){return this.compareTo(t)<0?this:t},r.prototype.max=function(t){return this.compareTo(t)>0?this:t},r.prototype.and=function(t){var i=o();return this.bitwiseTo(t,l,i),i},r.prototype.or=function(t){var i=o();return this.bitwiseTo(t,v,i),i},r.prototype.xor=function(t){var i=o();return this.bitwiseTo(t,T,i),i},r.prototype.andNot=function(t){var i=o();return this.bitwiseTo(t,y,i),i}
+// (public) ~this
+,r.prototype.not=function(){for(var t=o(),i=0;i<this.t;++i)t[i]=this.DM&~this[i];return t.t=this.t,t.s=~this.s,t}
+// (public) this << n
+,r.prototype.shiftLeft=function(t){var i=o();return t<0?this.rShiftTo(-t,i):this.lShiftTo(t,i),i}
+// (public) this >> n
+,r.prototype.shiftRight=function(t){var i=o();return t<0?this.lShiftTo(-t,i):this.rShiftTo(t,i),i},r.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+d(this[t]);return this.s<0?this.t*this.DB:-1},r.prototype.bitCount=function(){for(var t=0,i=this.s&this.DM,r=0;r<this.t;++r)t+=D(this[r]^i);return t}
+// (public) true iff nth bit is set
+,r.prototype.testBit=function(t){var i=Math.floor(t/this.DB);return i>=this.t?0!=this.s:!!(this[i]&1<<t%this.DB)},r.prototype.setBit=function(t){return this.changeBit(t,v)}
+// (public) this & ~(1<<n)
+,r.prototype.clearBit=function(t){return this.changeBit(t,y)}
+// (public) this ^ (1<<n)
+,r.prototype.flipBit=function(t){return this.changeBit(t,T)},r.prototype.add=function(t){var i=o();return this.addTo(t,i),i}
+// (public) this - a
+,r.prototype.subtract=function(t){var i=o();return this.subTo(t,i),i}
+// (public) this * a
+,r.prototype.multiply=function(t){var i=o();return this.multiplyTo(t,i),i}
+// (public) this^2
+,r.prototype.divide=
+// (public) this / a
+function(t){var i=o();return this.divRemTo(t,i,null),i}
+// (public) this % a
+,r.prototype.remainder=function(t){var i=o();return this.divRemTo(t,null,i),i}
+// (public) [this/a,this%a]
+,r.prototype.divideAndRemainder=function(t){var i=o(),r=o();return this.divRemTo(t,i,r),new Array(i,r)},r.prototype.modPow=
+// (public) this^e % m (HAC 14.85)
+function(t,i){var r,s,h=t.bitLength(),e=p(1);if(h<=0)return e;r=h<18?1:h<48?3:h<144?4:h<768?5:6,s=h<8?new c(i):i.isEven()?new S(i):new m(i);
+// precomputation
+var n=new Array,f=3,u=r-1,l=(1<<r)-1;if(n[1]=s.convert(this),r>1){var v=o();for(s.sqrTo(n[1],v);f<=l;)n[f]=o(),s.mulTo(v,n[f-2],n[f]),f+=2}var T,y,d=t.t-1,D=!0,g=o();for(h=a(t[d])-1;d>=0;){for(h>=u?T=t[d]>>h-u&l:(T=(t[d]&(1<<h+1)-1)<<u-h,d>0&&(T|=t[d-1]>>this.DB+h-u)),f=r;!(1&T);)T>>=1,--f;if((h-=f)<0&&(h+=this.DB,--d),D)// ret == 1, don't bother squaring or multiplying it
+n[T].copyTo(e),D=!1;else{for(;f>1;)s.sqrTo(e,g),s.sqrTo(g,e),f-=2;f>0?s.sqrTo(e,g):(y=e,e=g,g=y),s.mulTo(g,n[T],e)}for(;d>=0&&!(t[d]&1<<h);)s.sqrTo(e,g),y=e,e=g,g=y,--h<0&&(h=this.DB-1,--d)}return s.revert(e)}
+// (public) gcd(this,a) (HAC 14.54)
+,r.prototype.modInverse=function(t){var i=t.isEven();if(this.isEven()&&i||0==t.signum())return r.ZERO;for(var o=t.clone(),s=this.clone(),h=p(1),e=p(0),n=p(0),f=p(1);0!=o.signum();){for(;o.isEven();)o.rShiftTo(1,o),i?(h.isEven()&&e.isEven()||(h.addTo(this,h),e.subTo(t,e)),h.rShiftTo(1,h)):e.isEven()||e.subTo(t,e),e.rShiftTo(1,e);for(;s.isEven();)s.rShiftTo(1,s),i?(n.isEven()&&f.isEven()||(n.addTo(this,n),f.subTo(t,f)),n.rShiftTo(1,n)):f.isEven()||f.subTo(t,f),f.rShiftTo(1,f);o.compareTo(s)>=0?(o.subTo(s,o),i&&h.subTo(n,h),e.subTo(f,e)):(s.subTo(o,s),i&&n.subTo(h,n),f.subTo(e,f))}return 0!=s.compareTo(r.ONE)?r.ZERO:f.compareTo(t)>=0?f.subtract(t):f.signum()<0?(f.addTo(t,f),f.signum()<0?f.add(t):f):f},r.prototype.pow=
+// (public) this^e
+function(t){return this.exp(t,new g)},r.prototype.gcd=function(t){var i=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(i.compareTo(r)<0){var o=i;i=r,r=o}var s=i.getLowestSetBit(),h=r.getLowestSetBit();if(h<0)return i;for(s<h&&(h=s),h>0&&(i.rShiftTo(h,i),r.rShiftTo(h,r));i.signum()>0;)(s=i.getLowestSetBit())>0&&i.rShiftTo(s,i),(s=r.getLowestSetBit())>0&&r.rShiftTo(s,r),i.compareTo(r)>=0?(i.subTo(r,i),i.rShiftTo(1,i)):(r.subTo(i,r),r.rShiftTo(1,r));return h>0&&r.lShiftTo(h,r),r},r.prototype.isProbablePrime=
+// (public) test primality with certainty >= 1-.5^t
+function(t){var i,r=this.abs();if(1==r.t&&r[0]<=E[E.length-1]){for(i=0;i<E.length;++i)if(r[0]==E[i])return!0;return!1}if(r.isEven())return!1;for(i=1;i<E.length;){for(var o=E[i],s=i+1;s<E.length&&o<R;)o*=E[s++];for(o=r.modInt(o);i<s;)if(o%E[i++]==0)return!1}return r.millerRabin(t)},
+// JSBN-specific extension
+r.prototype.square=function(){var t=o();return this.squareTo(t),t},
+// Expose the Barrett function
+r.prototype.Barrett=S,null==w){var A;if(w=new Array,M=0,"undefined"!=typeof window&&window.crypto)if(window.crypto.getRandomValues){
+// Use webcrypto if available
+var V=new Uint8Array(32);for(window.crypto.getRandomValues(V),A=0;A<32;++A)w[M++]=V[A]}else if("Netscape"==navigator.appName&&navigator.appVersion<"5"){
+// Extract entropy (256 bits) from NS4 RNG if available
+var q=window.crypto.random(32);for(A=0;A<q.length;++A)w[M++]=255&q.charCodeAt(A)}for(;M<I;)// extract some randomness from Math.random()
+A=Math.floor(65536*Math.random()),w[M++]=A>>>8,w[M++]=255&A;M=0,O()}function x(){if(null==B){for(O(),(B=new L).init(w),M=0;M<w.length;++M)w[M]=0;M=0}
+// TODO: allow reseeding after first request
+return B.next()}function N(){}
+// prng4.js - uses Arcfour as a PRNG
+function L(){this.i=0,this.j=0,this.S=new Array}
+// Initialize arcfour context from key, an array of ints, each from [0..255]
+N.prototype.nextBytes=function(t){var i;for(i=0;i<t.length;++i)t[i]=x()},L.prototype.init=function(t){var i,r,o;for(i=0;i<256;++i)this.S[i]=i;for(r=0,i=0;i<256;++i)r=r+this.S[i]+t[i%t.length]&255,o=this.S[i],this.S[i]=this.S[r],this.S[r]=o;this.i=0,this.j=0},L.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]};
+// Pool size must be a multiple of 4 and greater than 32.
+// An array of bytes the size of the pool will be passed to init()
+var I=256;i.exports={default:r,BigInteger:r,SecureRandom:N}}.call(t);var o=r.exports;export{o as j};
+//# sourceMappingURL=jsbn-6a317af9.js.map

File diff suppressed because it is too large
+ 27 - 0
public/datav/assets/js/largeHeader-f70d0a70.js


File diff suppressed because it is too large
+ 0 - 0
public/datav/assets/js/logo-4fe3e538.js


File diff suppressed because it is too large
+ 0 - 0
public/datav/assets/js/panelBox-38406f97.js


+ 2 - 0
public/datav/assets/js/permission-0bbfb5e8.js

@@ -0,0 +1,2 @@
+import{c as e}from"./index-6530d0f6.js";import{E as n}from"./element-plus-842069d4.js";const r=(r,s,t)=>{const l=((n=null)=>{const r=n||e.getItem("version")||"null";let s=[];return r&&(s=r.map((e=>e.perms))),s})(),m=((n=null)=>{const r=n||e.getItem("userInfo")||"null";let s=[];return r&&r.userPermissionList&&(s=r.userPermissionList.map((e=>e.perms))),s})();let i="";-1!==r.indexOf("ver.perm")?i=l:t&&1===t?i=m:-1!==location.href.indexOf("/farm/")||(i=m);let o=!1;return i.includes(r)||(o=!0,!s&&n.warning("暂无权限操作")),o};export{r as n};
+//# sourceMappingURL=permission-0bbfb5e8.js.map

File diff suppressed because it is too large
+ 0 - 0
public/datav/assets/js/plan-circle-small-925e5f29.js


+ 447 - 0
public/datav/assets/js/sm-crypto-2cfdc71b.js

@@ -0,0 +1,447 @@
+import{j as t}from"./jsbn-6a317af9.js";import{g as e}from"./@turf-e5dd68ad.js";
+/* eslint-disable class-methods-use-this */const{BigInteger:n}=t;class r{constructor(){this.tlv=null,this.t="00",this.l="00",this.v=""}
+/**
+   * 获取 der 编码比特流16进制串
+   */getEncodedHex(){return this.tlv||(this.v=this.getValue(),this.l=this.getLength(),this.tlv=this.t+this.l+this.v),this.tlv}getLength(){const t=this.v.length/2;// 字节数
+let e=t.toString(16);// 补齐到整字节
+if(e.length%2==1&&(e="0"+e),t<128)
+// 短格式,以 0 开头
+return e;// 1(1位) + 真正的长度占用字节数(7位) + 真正的长度
+return(128+e.length/2).toString(16)+e}getValue(){return""}}class i extends r{constructor(t){super(),this.t="02",// 整型标签说明
+t&&(this.v=function(t){let e=t.toString(16);if("-"!==e[0])
+// 正数
+e.length%2==1?e="0"+e:e.match(/^[0-7]/)||(e="00"+e);// 非0开头,则补一个全0字节
+else{
+// 负数
+e=e.substr(1);let r=e.length;r%2==1?r+=1:e.match(/^[0-7]/)||(r+=2);// 非0开头,则补一个全0字节
+let i="";for(let t=0;t<r;t++)i+="f";i=new n(i,16),
+// 对绝对值取反,加1
+e=i.xor(t).add(n.ONE),e=e.toString(16).replace(/^-/,"")}return e}(t))}getValue(){return this.v}}class s extends r{constructor(t){super(),this.t="30",// 序列标签说明
+this.asn1Array=t}getValue(){return this.v=this.asn1Array.map((t=>t.getEncodedHex())).join(""),this.v}}
+/**
+ * 获取 l 占用字节数
+ */function o(t,e){return+t[e+2]<8?1:128&+t.substr(e+2,2);// l 以0开头,则表示短格式,只占一个字节
+}
+/**
+ * 获取 l
+ */function u(t,e){
+// 获取 l
+const r=o(t,e),i=t.substr(e+2,2*r);if(!i)return-1;return(+i[0]<8?new n(i,16):new n(i.substr(2),16)).intValue()}
+/**
+ * 获取 v 的位置
+ */function l(t,e){return e+2*(o(t,e)+1)}var c={
+/**
+   * ASN.1 der 编码,针对 sm2 签名
+   */
+encodeDer(t,e){const n=new i(t),r=new i(e);return new s([n,r]).getEncodedHex()},
+/**
+   * 解析 ASN.1 der,针对 sm2 验签
+   */
+decodeDer(t){
+// 结构:
+// input = | tSeq | lSeq | vSeq |
+// vSeq = | tR | lR | vR | tS | lS | vS |
+const e=l(t,0),r=l(t,e),i=u(t,e),s=t.substr(r,2*i),o=r+s.length,c=l(t,o),h=u(t,o),a=t.substr(c,2*h);return{r:new n(s,16),s:new n(a,16)}}};
+/* eslint-disable no-case-declarations, max-len */const{BigInteger:h}=t,a=new h("2"),g=new h("3");
+/**
+ * thanks for Tom Wu : http://www-cs-students.stanford.edu/~tjw/jsbn/
+ *
+ * Basic Javascript Elliptic Curve implementation
+ * Ported loosely from BouncyCastle's Java EC code
+ * Only Fp curves implemented for now
+ */
+/**
+ * 椭圆曲线域元素
+ */
+class f{constructor(t,e){this.x=e,this.q=t}
+/**
+   * 判断相等
+   */equals(t){return t===this||this.q.equals(t.q)&&this.x.equals(t.x)}
+/**
+   * 返回具体数值
+   */toBigInteger(){return this.x}
+/**
+   * 取反
+   */negate(){return new f(this.q,this.x.negate().mod(this.q))}
+/**
+   * 相加
+   */add(t){return new f(this.q,this.x.add(t.toBigInteger()).mod(this.q))}
+/**
+   * 相减
+   */subtract(t){return new f(this.q,this.x.subtract(t.toBigInteger()).mod(this.q))}
+/**
+   * 相乘
+   */multiply(t){return new f(this.q,this.x.multiply(t.toBigInteger()).mod(this.q))}
+/**
+   * 相除
+   */divide(t){return new f(this.q,this.x.multiply(t.toBigInteger().modInverse(this.q)).mod(this.q))}
+/**
+   * 平方
+   */square(){return new f(this.q,this.x.square().mod(this.q))}}class d{constructor(t,e,n,r){this.curve=t,this.x=e,this.y=n,
+// 标准射影坐标系:zinv == null 或 z * zinv == 1
+this.z=null==r?h.ONE:r,this.zinv=null}getX(){return null===this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q))}getY(){return null===this.zinv&&(this.zinv=this.z.modInverse(this.curve.q)),this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q))}
+/**
+   * 判断相等
+   */equals(t){if(t===this)return!0;if(this.isInfinity())return t.isInfinity();if(t.isInfinity())return this.isInfinity();
+// u = y2 * z1 - y1 * z2
+if(!t.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(h.ZERO))return!1;
+// v = x2 * z1 - x1 * z2
+return t.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(t.z)).mod(this.curve.q).equals(h.ZERO)}
+/**
+   * 是否是无穷远点
+   */isInfinity(){return null===this.x&&null===this.y||this.z.equals(h.ZERO)&&!this.y.toBigInteger().equals(h.ZERO)}
+/**
+   * 取反,x 轴对称点
+   */negate(){return new d(this.curve,this.x,this.y.negate(),this.z)}
+/**
+   * 相加
+   *
+   * 标准射影坐标系:
+   *
+   * λ1 = x1 * z2
+   * λ2 = x2 * z1
+   * λ3 = λ1 − λ2
+   * λ4 = y1 * z2
+   * λ5 = y2 * z1
+   * λ6 = λ4 − λ5
+   * λ7 = λ1 + λ2
+   * λ8 = z1 * z2
+   * λ9 = λ3^2
+   * λ10 = λ3 * λ9
+   * λ11 = λ8 * λ6^2 − λ7 * λ9
+   * x3 = λ3 * λ11
+   * y3 = λ6 * (λ9 * λ1 − λ11) − λ4 * λ10
+   * z3 = λ10 * λ8
+   */add(t){if(this.isInfinity())return t;if(t.isInfinity())return this;const e=this.x.toBigInteger(),n=this.y.toBigInteger(),r=this.z,i=t.x.toBigInteger(),s=t.y.toBigInteger(),o=t.z,u=this.curve.q,l=e.multiply(o).mod(u),c=i.multiply(r).mod(u),a=l.subtract(c),g=n.multiply(o).mod(u),f=s.multiply(r).mod(u),F=g.subtract(f);if(h.ZERO.equals(a))return h.ZERO.equals(F)?this.twice():this.curve.infinity;const y=l.add(c),p=r.multiply(o).mod(u),m=a.square().mod(u),w=a.multiply(m).mod(u),v=p.multiply(F.square()).subtract(y.multiply(m)).mod(u),x=a.multiply(v).mod(u),I=F.multiply(m.multiply(l).subtract(v)).subtract(g.multiply(w)).mod(u),b=w.multiply(p).mod(u);return new d(this.curve,this.curve.fromBigInteger(x),this.curve.fromBigInteger(I),b)}
+/**
+   * 自加
+   *
+   * 标准射影坐标系:
+   *
+   * λ1 = 3 * x1^2 + a * z1^2
+   * λ2 = 2 * y1 * z1
+   * λ3 = y1^2
+   * λ4 = λ3 * x1 * z1
+   * λ5 = λ2^2
+   * λ6 = λ1^2 − 8 * λ4
+   * x3 = λ2 * λ6
+   * y3 = λ1 * (4 * λ4 − λ6) − 2 * λ5 * λ3
+   * z3 = λ2 * λ5
+   */twice(){if(this.isInfinity())return this;if(!this.y.toBigInteger().signum())return this.curve.infinity;const t=this.x.toBigInteger(),e=this.y.toBigInteger(),n=this.z,r=this.curve.q,i=this.curve.a.toBigInteger(),s=t.square().multiply(g).add(i.multiply(n.square())).mod(r),o=e.shiftLeft(1).multiply(n).mod(r),u=e.square().mod(r),l=u.multiply(t).multiply(n).mod(r),c=o.square().mod(r),h=s.square().subtract(l.shiftLeft(3)).mod(r),a=o.multiply(h).mod(r),f=s.multiply(l.shiftLeft(2).subtract(h)).subtract(c.shiftLeft(1).multiply(u)).mod(r),F=o.multiply(c).mod(r);return new d(this.curve,this.curve.fromBigInteger(a),this.curve.fromBigInteger(f),F)}
+/**
+   * 倍点计算
+   */multiply(t){if(this.isInfinity())return this;if(!t.signum())return this.curve.infinity;
+// 使用加减法
+const e=t.multiply(g),n=this.negate();let r=this;for(let i=e.bitLength()-2;i>0;i--){r=r.twice();const s=e.testBit(i);s!==t.testBit(i)&&(r=r.add(s?this:n))}return r}}
+/**
+ * 椭圆曲线 y^2 = x^3 + ax + b
+ */var F={ECPointFp:d,ECCurveFp:class{constructor(t,e,n){this.q=t,this.a=this.fromBigInteger(e),this.b=this.fromBigInteger(n),this.infinity=new d(this,null,null)}
+/**
+   * 判断两个椭圆曲线是否相等
+   */equals(t){return t===this||this.q.equals(t.q)&&this.a.equals(t.a)&&this.b.equals(t.b)}
+/**
+   * 生成椭圆曲线域元素
+   */fromBigInteger(t){return new f(this.q,t)}
+/**
+   * 解析 16 进制串为椭圆曲线点
+   */decodePointHex(t){switch(parseInt(t.substr(0,2),16)){
+// 第一个字节
+case 0:return this.infinity;case 2:case 3:
+// 压缩
+const e=this.fromBigInteger(new h(t.substr(2),16));
+// 对 p ≡ 3 (mod4),即存在正整数 u,使得 p = 4u + 3
+// 计算 y = (√ (x^3 + ax + b) % p)^(u + 1) modp
+let n=this.fromBigInteger(e.multiply(e.square()).add(e.multiply(this.a)).add(this.b).toBigInteger().modPow(this.q.divide(new h("4")).add(h.ONE),this.q));
+// 算出结果 2 进制最后 1 位不等于第 1 个字节减 2 则取反
+return n.toBigInteger().mod(a).equals(new h(t.substr(0,2),16).subtract(a))||(n=n.negate()),new d(this,e,n);case 4:case 6:case 7:const r=(t.length-2)/2,i=t.substr(2,r),s=t.substr(r+2,r);return new d(this,this.fromBigInteger(new h(i,16)),this.fromBigInteger(new h(s,16)));default:
+// 不支持
+return null}}}};
+/* eslint-disable no-bitwise, no-mixed-operators, no-use-before-define, max-len */const{BigInteger:y,SecureRandom:p}=t,{ECCurveFp:m}=F,w=new p,{curve:v,G:x,n:I}=b();
+/**
+ * 生成ecparam
+ */
+function b(){
+// 椭圆曲线
+const t=new y("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF",16),e=new y("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC",16),n=new y("28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93",16),r=new m(t,e,n),i=r.decodePointHex("0432C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0");return{curve:r,G:i,n:new y("FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123",16)}}
+/**
+ * 生成密钥对:publicKey = privateKey * G
+ */
+/**
+ * 补全16进制字符串
+ */
+function B(t,e){return t.length>=e?t:new Array(e-t.length+1).join("0")+t}
+/**
+ * 转成16进制串
+ */var q={getGlobalCurve:
+/**
+ * 获取公共椭圆曲线
+ */
+function(){return v},generateEcparam:b,generateKeyPairHex:function(t,e,n){const r=(t?new y(t,e,n):new y(I.bitLength(),w)).mod(I.subtract(y.ONE)).add(y.ONE),i=B(r.toString(16),64),s=x.multiply(r);return{privateKey:i,publicKey:"04"+B(s.getX().toBigInteger().toString(16),64)+B(s.getY().toBigInteger().toString(16),64)}}
+/**
+ * 生成压缩公钥
+ */,compressPublicKeyHex:function(t){if(130!==t.length)throw new Error("Invalid public key to compress");const e=(t.length-2)/2,n=t.substr(2,e);let r="03";return new y(t.substr(e+2,e),16).mod(new y("2")).equals(y.ZERO)&&(r="02"),r+n}
+/**
+ * utf8串转16进制串
+ */,utf8ToHex:function(t){const e=(t=unescape(encodeURIComponent(t))).length,n=[];
+// 转换到字数组
+for(let i=0;i<e;i++)n[i>>>2]|=(255&t.charCodeAt(i))<<24-i%4*8;
+// 转换到16进制
+const r=[];for(let i=0;i<e;i++){const t=n[i>>>2]>>>24-i%4*8&255;r.push((t>>>4).toString(16)),r.push((15&t).toString(16))}return r.join("")},leftPad:B,arrayToHex:function(t){return t.map((t=>1===(t=t.toString(16)).length?"0"+t:t)).join("")}
+/**
+ * 转成utf8串
+ */,arrayToUtf8:function(t){const e=[];let n=0;for(let i=0;i<2*t.length;i+=2)e[i>>>3]|=parseInt(t[n],10)<<24-i%8*4,n++;try{const n=[];for(let r=0;r<t.length;r++){const t=e[r>>>2]>>>24-r%4*8&255;n.push(String.fromCharCode(t))}return decodeURIComponent(escape(n.join("")))}catch(r){throw new Error("Malformed UTF-8 data")}}
+/**
+ * 转成字节数组
+ */,hexToArray:function(t){const e=[];let n=t.length;n%2!=0&&(t=B(t,n+1)),n=t.length;for(let r=0;r<n;r+=2)e.push(parseInt(t.substr(r,2),16));return e}
+/**
+ * 验证公钥是否为椭圆曲线上的点
+ */,verifyPublicKey:function(t){const e=v.decodePointHex(t);if(!e)return!1;const n=e.getX();
+// 验证 y^2 是否等于 x^3 + ax + b
+return e.getY().square().equals(n.multiply(n.square()).add(n.multiply(v.a)).add(v.b))}
+/**
+ * 验证公钥是否等价,等价返回true
+ */,comparePublicKeyHex:function(t,e){const n=v.decodePointHex(t);if(!n)return!1;const r=v.decodePointHex(e);return!!r&&n.equals(r)}};
+// 消息扩展
+const P=new Uint32Array(68),E=new Uint32Array(64);// W'
+/**
+ * 循环左移
+ */
+function A(t,e){const n=31&e;return t<<n|t>>>32-n}
+/**
+ * 二进制异或运算
+ */function H(t,e){const n=[];for(let r=t.length-1;r>=0;r--)n[r]=255&(t[r]^e[r]);return n}
+/**
+ * 压缩函数中的置换函数 P0(X) = X xor (X <<< 9) xor (X <<< 17)
+ */function C(t){return t^A(t,9)^A(t,17)}
+/**
+ * 消息扩展中的置换函数 P1(X) = X xor (X <<< 15) xor (X <<< 23)
+ */
+/**
+ * sm3 本体
+ */
+function S(t){let e=8*t.length,n=e%512;
+// k 是满足 len + 1 + k = 448mod512 的最小的非负整数
+// 如果 448 <= (512 % len) < 512,需要多补充 (len % 448) 比特'0'以满足总比特长度为512的倍数
+n=n>=448?512-n%448-1:448-n-1;
+// 填充
+const r=new Array((n-7)/8),i=new Array(8);for(let a=0,g=r.length;a<g;a++)r[a]=0;for(let a=0,g=i.length;a<g;a++)i[a]=0;e=e.toString(2);for(let a=7;a>=0;a--)if(e.length>8){const t=e.length-8;i[a]=parseInt(e.substr(t),2),e=e.substr(0,t)}else e.length>0&&(i[a]=parseInt(e,2),e="");const s=new Uint8Array([...t,128,...r,...i]),o=new DataView(s.buffer,0),u=s.length/64,l=new Uint32Array([1937774191,1226093241,388252375,3666478592,2842636476,372324522,3817729613,2969243214]);for(let a=0;a<u;a++){P.fill(0),E.fill(0);
+// 将消息分组B划分为 16 个字 W0, W1,……,W15
+const t=16*a;for(let l=0;l<16;l++)P[l]=o.getUint32(4*(t+l),!1);
+// W16 ~ W67:W[j] <- P1(W[j−16] xor W[j−9] xor (W[j−3] <<< 15)) xor (W[j−13] <<< 7) xor W[j−6]
+for(let o=16;o<68;o++)P[o]=(c=P[o-16]^P[o-9]^A(P[o-3],15))^A(c,15)^A(c,23)^A(P[o-13],7)^P[o-6];
+// W′0 ~ W′63:W′[j] = W[j] xor W[j+4]
+for(let o=0;o<64;o++)E[o]=P[o]^P[o+4];
+// 压缩
+const e=2043430169,n=2055708042;
+// 字寄存器
+let r,i,s,u,h,g=l[0],f=l[1],d=l[2],F=l[3],y=l[4],p=l[5],m=l[6],w=l[7];for(let o=0;o<64;o++)h=o>=0&&o<=15?e:n,r=A(A(g,12)+y+A(h,o),7),i=r^A(g,12),s=(o>=0&&o<=15?g^f^d:g&f|g&d|f&d)+F+i+E[o],u=(o>=0&&o<=15?y^p^m:y&p|~y&m)+w+r+P[o],F=d,d=A(f,9),f=g,g=s,w=m,m=A(p,19),p=y,y=C(u);l[0]^=g,l[1]^=f,l[2]^=d,l[3]^=F,l[4]^=y,l[5]^=p,l[6]^=m,l[7]^=w}
+// 转回 uint8
+var c;const h=[];for(let a=0,g=l.length;a<g;a++){const t=l[a];h.push((4278190080&t)>>>24,(16711680&t)>>>16,(65280&t)>>>8,255&t)}return h}
+/**
+ * hmac 实现
+ */const T=new Uint8Array(64),K=new Uint8Array(64);for(let lt=0;lt<64;lt++)T[lt]=54,K[lt]=92;var R={sm3:S,hmac:function(t,e){for(
+// 密钥填充
+e.length>64&&(e=S(e));e.length<64;)e.push(0);const n=H(e,T),r=H(e,K),i=S([...n,...t]);return S([...r,...i])}};
+/* eslint-disable no-use-before-define */const{BigInteger:z}=t,{encodeDer:D,decodeDer:O}=c,j=q,U=R.sm3,{G:k,curve:X,n:Z}=j.generateEcparam();
+/**
+ * sm3杂凑算法
+ */
+function L(t,e,n="1234567812345678"){
+// z = hash(entl || userId || a || b || gx || gy || px || py)
+n=j.utf8ToHex(n);const r=j.leftPad(k.curve.a.toBigInteger().toRadix(16),64),i=j.leftPad(k.curve.b.toBigInteger().toRadix(16),64),s=j.leftPad(k.getX().toBigInteger().toRadix(16),64),o=j.leftPad(k.getY().toBigInteger().toRadix(16),64);let u,l;if(128===e.length)u=e.substr(0,64),l=e.substr(64,64);else{const t=k.curve.decodePointHex(e);u=j.leftPad(t.getX().toBigInteger().toRadix(16),64),l=j.leftPad(t.getY().toBigInteger().toRadix(16),64)}const c=j.hexToArray(n+r+i+s+o+u+l),h=4*n.length;c.unshift(255&h),c.unshift(h>>8&255);const a=U(c);
+// e = hash(z || msg)
+return j.arrayToHex(U(a.concat(j.hexToArray(t))))}
+/**
+ * 计算公钥
+ */function Y(t){const e=k.multiply(new z(t,16));return"04"+j.leftPad(e.getX().toBigInteger().toString(16),64)+j.leftPad(e.getY().toBigInteger().toString(16),64)}
+/**
+ * 获取椭圆曲线点
+ */function V(){const t=j.generateKeyPairHex(),e=X.decodePointHex(t.publicKey);return t.k=new z(t.privateKey,16),t.x1=e.getX().toBigInteger(),t}var G={generateKeyPairHex:j.generateKeyPairHex,compressPublicKeyHex:j.compressPublicKeyHex,comparePublicKeyHex:j.comparePublicKeyHex,doEncrypt:
+/**
+ * 加密
+ */
+function(t,e,n=1){t="string"==typeof t?j.hexToArray(j.utf8ToHex(t)):Array.prototype.slice.call(t),e=j.getGlobalCurve().decodePointHex(e);// 先将公钥转成点
+const r=j.generateKeyPairHex(),i=new z(r.privateKey,16);// 随机数 k
+// c1 = k * G
+let s=r.publicKey;s.length>128&&(s=s.substr(s.length-128));
+// (x2, y2) = k * publicKey
+const o=e.multiply(i),u=j.hexToArray(j.leftPad(o.getX().toBigInteger().toRadix(16),64)),l=j.hexToArray(j.leftPad(o.getY().toBigInteger().toRadix(16),64)),c=j.arrayToHex(U([].concat(u,t,l)));let h=1,a=0,g=[];// 256 位
+const f=[].concat(u,l),d=()=>{
+// (1) Hai = hash(z || ct)
+// (2) ct++
+g=U([...f,h>>24&255,h>>16&255,h>>8&255,255&h]),h++,a=0};d();// 先生成 Ha1
+for(let y=0,p=t.length;y<p;y++)
+// t = Ha1 || Ha2 || Ha3 || Ha4
+a===g.length&&d(),
+// c2 = msg ^ t
+t[y]^=255&g[a++];const F=j.arrayToHex(t);return 0===n?s+F+c:s+c+F}
+/**
+ * 解密
+ */,doDecrypt:function(t,e,n=1,{output:r="string"}={}){e=new z(e,16);let i=t.substr(128,64),s=t.substr(192);0===n&&(i=t.substr(t.length-64),s=t.substr(128,t.length-128-64));const o=j.hexToArray(s),u=j.getGlobalCurve().decodePointHex("04"+t.substr(0,128)).multiply(e),l=j.hexToArray(j.leftPad(u.getX().toBigInteger().toRadix(16),64)),c=j.hexToArray(j.leftPad(u.getY().toBigInteger().toRadix(16),64));let h=1,a=0,g=[];// 256 位
+const f=[].concat(l,c),d=()=>{
+// (1) Hai = hash(z || ct)
+// (2) ct++
+g=U([...f,h>>24&255,h>>16&255,h>>8&255,255&h]),h++,a=0};d();// 先生成 Ha1
+for(let F=0,y=o.length;F<y;F++)
+// t = Ha1 || Ha2 || Ha3 || Ha4
+a===g.length&&d(),
+// c2 = msg ^ t
+o[F]^=255&g[a++];
+// c3 = hash(x2 || msg || y2)
+return j.arrayToHex(U([].concat(l,o,c)))===i.toLowerCase()?"array"===r?o:j.arrayToUtf8(o):"array"===r?[]:""}
+/**
+ * 签名
+ */,doSignature:function(t,e,{pointPool:n,der:r,hash:i,publicKey:s,userId:o}={}){let u="string"==typeof t?j.utf8ToHex(t):j.arrayToHex(t);i&&(u=L(u,
+// sm3杂凑
+s=s||Y(e),o));const l=new z(e,16),c=new z(u,16);
+// k
+let h=null,a=null,g=null;do{do{let t;t=n&&n.length?n.pop():V(),h=t.k,
+// r = (e + x1) mod n
+a=c.add(t.x1).mod(Z)}while(a.equals(z.ZERO)||a.add(h).equals(Z));
+// s = ((1 + dA)^-1 * (k - r * dA)) mod n
+g=l.add(z.ONE).modInverse(Z).multiply(h.subtract(a.multiply(l))).mod(Z)}while(g.equals(z.ZERO));return r?D(a,g):j.leftPad(a.toString(16),64)+j.leftPad(g.toString(16),64);// asn.1 der 编码
+}
+/**
+ * 验签
+ */,doVerifySignature:function(t,e,n,{der:r,hash:i,userId:s}={}){let o,u,l="string"==typeof t?j.utf8ToHex(t):j.arrayToHex(t);if(i&&(
+// sm3杂凑
+l=L(l,n,s)),r){const t=O(e);// asn.1 der 解码
+o=t.r,u=t.s}else o=new z(e.substring(0,64),16),u=new z(e.substring(64),16);const c=X.decodePointHex(n),h=new z(l,16),a=o.add(u).mod(Z);if(a.equals(z.ZERO))return!1;
+// x1y1 = s * G + t * PA
+const g=k.multiply(u).add(c.multiply(a)),f=h.add(g.getX().toBigInteger()).mod(Z);
+// R = (e + x1) mod n
+return o.equals(f)},getPublicKeyFromPrivateKey:Y,getPoint:V,verifyPublicKey:j.verifyPublicKey};const{sm3:N,hmac:M}=R;
+/**
+ * 补全16进制字符串
+ */
+/**
+ * 字节数组转 16 进制串
+ */
+function _(t){return t.map((t=>1===(t=t.toString(16)).length?"0"+t:t)).join("")}
+/**
+ * 转成字节数组
+ */function J(t){const e=[];let n=t.length;var r,i;n%2!=0&&(i=n+1,t=(r=t).length>=i?r:new Array(i-r.length+1).join("0")+r),n=t.length;for(let s=0;s<n;s+=2)e.push(parseInt(t.substr(s,2),16));return e}
+/**
+ * utf8 串转字节数组
+ */
+/* eslint-disable no-bitwise, no-mixed-operators, complexity */
+const Q=16,W=[214,144,233,254,204,225,61,183,22,182,20,194,40,251,44,5,43,103,154,118,42,190,4,195,170,68,19,38,73,134,6,153,156,66,80,244,145,239,152,122,51,84,11,67,237,207,172,98,228,179,28,169,201,8,232,149,128,223,148,250,117,143,63,166,71,7,167,252,243,115,23,186,131,89,60,25,230,133,79,168,104,107,129,178,113,100,218,139,248,235,15,75,112,86,157,53,30,36,14,94,99,88,209,162,37,34,124,59,1,33,120,135,212,0,70,87,159,211,39,82,76,54,2,231,160,196,200,158,234,191,138,210,64,199,56,181,163,247,242,206,249,97,21,161,224,174,93,164,155,52,26,85,173,147,50,48,245,140,177,227,29,246,226,46,130,102,202,96,192,41,35,171,13,83,78,111,213,219,55,69,222,253,142,47,3,255,106,114,109,108,91,81,141,27,175,146,187,221,188,127,17,217,92,65,31,16,90,216,10,193,49,136,165,205,123,189,45,116,208,18,184,229,180,176,137,105,151,74,12,150,119,126,101,185,241,9,197,110,198,132,24,240,125,236,58,220,77,32,121,238,95,62,215,203,57,72],$=[462357,472066609,943670861,1415275113,1886879365,2358483617,2830087869,3301692121,3773296373,4228057617,404694573,876298825,1347903077,1819507329,2291111581,2762715833,3234320085,3705924337,4177462797,337322537,808926789,1280531041,1752135293,2223739545,2695343797,3166948049,3638552301,4110090761,269950501,741554753,1213159005,1684763257];
+/**
+ * 16 进制串转字节数组
+ */
+function tt(t){const e=[];for(let n=0,r=t.length;n<r;n+=2)e.push(parseInt(t.substr(n,2),16));return e}
+/**
+ * 字节数组转 16 进制串
+ */
+/**
+ * 32 比特循环左移
+ */
+function et(t,e){const n=31&e;return t<<n|t>>>32-n}
+/**
+ * 非线性变换
+ */function nt(t){return(255&W[t>>>24&255])<<24|(255&W[t>>>16&255])<<16|(255&W[t>>>8&255])<<8|255&W[255&t]}
+/**
+ * 线性变换,加密/解密用
+ */function rt(t){return t^et(t,2)^et(t,10)^et(t,18)^et(t,24)}
+/**
+ * 线性变换,生成轮密钥用
+ */function it(t){return t^et(t,13)^et(t,23)}
+/**
+ * 以一组 128 比特进行加密/解密操作
+ */function st(t,e,n){const r=new Array(4),i=new Array(4);
+// 字节数组转成字数组(此处 1 字 = 32 比特)
+for(let s=0;s<4;s++)i[0]=255&t[4*s],i[1]=255&t[4*s+1],i[2]=255&t[4*s+2],i[3]=255&t[4*s+3],r[s]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];
+// x[i + 4] = x[i] ^ l1(byteSub(x[i + 1] ^ x[i + 2] ^ x[i + 3] ^ roundKey[i]))
+for(let s,o=0;o<32;o+=4)s=r[1]^r[2]^r[3]^n[o+0],r[0]^=rt(nt(s)),// x[4]
+s=r[2]^r[3]^r[0]^n[o+1],r[1]^=rt(nt(s)),// x[5]
+s=r[3]^r[0]^r[1]^n[o+2],r[2]^=rt(nt(s)),// x[6]
+s=r[0]^r[1]^r[2]^n[o+3],r[3]^=rt(nt(s));
+// 反序变换
+for(let s=0;s<16;s+=4)e[s]=r[3-s/4]>>>24&255,e[s+1]=r[3-s/4]>>>16&255,e[s+2]=r[3-s/4]>>>8&255,e[s+3]=255&r[3-s/4]}
+/**
+ * 密钥扩展算法
+ */function ot(t,e,n,{padding:r="pkcs#7",mode:i,iv:s=[],output:o="string"}={}){if("cbc"===i&&(
+// CBC 模式,默认走 ECB 模式
+"string"==typeof s&&(s=tt(s)),16!==s.length))
+// iv 不是 128 比特
+throw new Error("iv is invalid");
+// 检查 key
+if("string"==typeof e&&(e=tt(e)),16!==e.length)
+// key 不是 128 比特
+throw new Error("key is invalid");
+// 检查输入
+// 新增填充,sm4 是 16 个字节一个分组,所以统一走到 pkcs#7
+if(
+// 加密,输入为 utf8 串
+t="string"==typeof t?0!==n?
+/**
+ * utf8 串转字节数组
+ */
+function(t){const e=[];for(let n=0,r=t.length;n<r;n++){const r=t.codePointAt(n);if(r<=127)
+// 单字节,标量值:00000000 00000000 0zzzzzzz
+e.push(r);else if(r<=2047)
+// 双字节,标量值:00000000 00000yyy yyzzzzzz
+e.push(192|r>>>6),// 110yyyyy(0xc0-0xdf)
+e.push(128|63&r);else if(r<=55295||r>=57344&&r<=65535)
+// 三字节:标量值:00000000 xxxxyyyy yyzzzzzz
+e.push(224|r>>>12),// 1110xxxx(0xe0-0xef)
+e.push(128|r>>>6&63),// 10yyyyyy(0x80-0xbf)
+e.push(128|63&r);else{if(!(r>=65536&&r<=1114111))
+// 五、六字节,暂时不支持
+throw e.push(r),new Error("input is not supported");
+// 四字节:标量值:000wwwxx xxxxyyyy yyzzzzzz
+n++,e.push(240|r>>>18&28),// 11110www(0xf0-0xf7)
+e.push(128|r>>>12&63),// 10xxxxxx(0x80-0xbf)
+e.push(128|r>>>6&63),// 10yyyyyy(0x80-0xbf)
+e.push(128|63&r)}}return e}
+/**
+ * 字节数组转 utf8 串
+ */(t):tt(t):[...t],("pkcs#5"===r||"pkcs#7"===r)&&0!==n){const e=Q-t.length%Q;for(let n=0;n<e;n++)t.push(e)}
+// 生成轮密钥
+const u=new Array(32);!function(t,e,n){const r=new Array(4),i=new Array(4);
+// 字节数组转成字数组(此处 1 字 = 32 比特)
+for(let s=0;s<4;s++)i[0]=255&t[0+4*s],i[1]=255&t[1+4*s],i[2]=255&t[2+4*s],i[3]=255&t[3+4*s],r[s]=i[0]<<24|i[1]<<16|i[2]<<8|i[3];
+// 与系统参数做异或
+r[0]^=2746333894,r[1]^=1453994832,r[2]^=1736282519,r[3]^=2993693404;
+// roundKey[i] = x[i + 4] = x[i] ^ l2(byteSub(x[i + 1] ^ x[i + 2] ^ x[i + 3] ^ CK[i]))
+for(let s,o=0;o<32;o+=4)s=r[1]^r[2]^r[3]^$[o+0],e[o+0]=r[0]^=it(nt(s)),// x[4]
+s=r[2]^r[3]^r[0]^$[o+1],e[o+1]=r[1]^=it(nt(s)),// x[5]
+s=r[3]^r[0]^r[1]^$[o+2],e[o+2]=r[2]^=it(nt(s)),// x[6]
+s=r[0]^r[1]^r[2]^$[o+3],e[o+3]=r[3]^=it(nt(s));
+// 解密时使用反序的轮密钥
+if(0===n)for(let s,o=0;o<16;o++)s=e[o],e[o]=e[31-o],e[31-o]=s}(e,u,n);const l=[];let c=s,h=t.length,a=0;for(;h>=Q;){const e=t.slice(a,a+16),r=new Array(16);if("cbc"===i)for(let t=0;t<Q;t++)0!==n&&(
+// 加密过程在组加密前进行异或
+e[t]^=c[t]);st(e,r,u);for(let t=0;t<Q;t++)"cbc"===i&&0===n&&(
+// 解密过程在组解密后进行异或
+r[t]^=c[t]),l[a+t]=r[t];"cbc"===i&&(
+// 使用上一次输出作为加密向量
+c=0!==n?r:e),h-=Q,a+=Q}
+// 去除填充,sm4 是 16 个字节一个分组,所以统一走到 pkcs#7
+if(("pkcs#5"===r||"pkcs#7"===r)&&0===n){const t=l.length,e=l[t-1];for(let n=1;n<=e;n++)if(l[t-n]!==e)throw new Error("padding is invalid");l.splice(t-e,e)}
+// 调整输出
+return"array"!==o?0!==n?l.map((t=>1===(t=t.toString(16)).length?"0"+t:t)).join(""):function(t){const e=[];for(let n=0,r=t.length;n<r;n++)t[n]>=240&&t[n]<=247?(
+// 四字节
+e.push(String.fromCodePoint(((7&t[n])<<18)+((63&t[n+1])<<12)+((63&t[n+2])<<6)+(63&t[n+3]))),n+=3):t[n]>=224&&t[n]<=239?(
+// 三字节
+e.push(String.fromCodePoint(((15&t[n])<<12)+((63&t[n+1])<<6)+(63&t[n+2]))),n+=2):t[n]>=192&&t[n]<=223?(
+// 双字节
+e.push(String.fromCodePoint(((31&t[n])<<6)+(63&t[n+1]))),n++):
+// 单字节
+e.push(String.fromCodePoint(t[n]));return e.join("")}(l):l}const ut=e({sm2:G,sm3:function(t,e){if(t="string"==typeof t?function(t){const e=[];for(let n=0,r=t.length;n<r;n++){const r=t.codePointAt(n);if(r<=127)
+// 单字节,标量值:00000000 00000000 0zzzzzzz
+e.push(r);else if(r<=2047)
+// 双字节,标量值:00000000 00000yyy yyzzzzzz
+e.push(192|r>>>6),// 110yyyyy(0xc0-0xdf)
+e.push(128|63&r);else if(r<=55295||r>=57344&&r<=65535)
+// 三字节:标量值:00000000 xxxxyyyy yyzzzzzz
+e.push(224|r>>>12),// 1110xxxx(0xe0-0xef)
+e.push(128|r>>>6&63),// 10yyyyyy(0x80-0xbf)
+e.push(128|63&r);else{if(!(r>=65536&&r<=1114111))
+// 五、六字节,暂时不支持
+throw e.push(r),new Error("input is not supported");
+// 四字节:标量值:000wwwxx xxxxyyyy yyzzzzzz
+n++,e.push(240|r>>>18&28),// 11110www(0xf0-0xf7)
+e.push(128|r>>>12&63),// 10xxxxxx(0x80-0xbf)
+e.push(128|r>>>6&63),// 10yyyyyy(0x80-0xbf)
+e.push(128|63&r)}}return e}(t):Array.prototype.slice.call(t),e){if("hmac"!==(e.mode||"hmac"))throw new Error("invalid mode");let n=e.key;if(!n)throw new Error("invalid key");return n="string"==typeof n?J(n):Array.prototype.slice.call(n),_(M(t,n))}return _(N(t))},sm4:{encrypt:(t,e,n)=>ot(t,e,1,n),decrypt:(t,e,n)=>ot(t,e,0,n)}});export{ut as _};
+//# sourceMappingURL=sm-crypto-2cfdc71b.js.map

+ 2 - 0
public/datav/assets/js/weather-6f401959.js

@@ -0,0 +1,2 @@
+import{v as e}from"./request-2ce564d0.js";const a="https://plant2.hbatg.com/v2",t=t=>e.request({url:a+"/base-api/info/weather/getweatherchart",method:"get",params:t}),r=t=>e.request({url:a+"/base-api/info/weather/getcumtemchart-v2",method:"get",params:t}),s=t=>e.request({url:a+"/base-api/info/weather/getcumtemandcumrain-v2",method:"get",params:t}),o=t=>e.request({url:a+"/base-api/info/weather/spring-corn",method:"get",params:t}),h=t=>e.request({url:a+"/base-api/info/weather/getcumrainfallchart",method:"get",params:t}),m=t=>e.request({url:a+"/base-api/info/weather/soilchart",method:"get",params:t}),i=t=>e.request({url:a+"/base-api/info/weather/gettoadyweather",method:"get",params:t}),p=t=>e.request({url:a+"/base-api/info/weather/landinfopoint",method:"get",params:t}),u=t=>e.request({url:a+"//base-api/info/weather/all-two-hours-rain",method:"get",params:t});export{u as a,i as b,r as c,s as d,o as e,h as f,t as g,p as l,m as s};
+//# sourceMappingURL=weather-6f401959.js.map

Some files were not shown because too many files changed in this diff