From d2331ad27f1b44f7c39c38ae89d7ca6456551068 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=8E=E5=A4=A7=E4=BC=9F?= <391738758@qq.com> Date: Thu, 9 Jan 2020 13:26:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9C=9F=E5=9C=B0=E4=BA=A4?= =?UTF-8?q?=E6=98=93=E5=A4=A7=E6=95=B0=E6=8D=AE=E5=8F=AF=E8=A7=86=E5=8C=96?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../css/globle.css | 26 ++ .../css/index.css | 161 ++++++++ .../hunan.html | 47 +++ .../images/.DS_Store | Bin 0 -> 6148 bytes .../images/bg.jpg | Bin 0 -> 171438 bytes .../images/cicleBg.png | Bin 0 -> 21042 bytes .../images/close.png | Bin 0 -> 2259 bytes .../images/dataBg.png | Bin 0 -> 61191 bytes .../images/msgBg.png | Bin 0 -> 71711 bytes .../images/top_title.png | Bin 0 -> 94889 bytes .../index.html | 378 ++++++++++++++++++ .../js/.DS_Store | Bin 0 -> 6148 bytes .../js/echart.js | 1 + .../js/jquery-1.8.3.min.js | 2 + 14 files changed, 615 insertions(+) create mode 100644 智慧政务/土地交易大数据可视化平台/css/globle.css create mode 100644 智慧政务/土地交易大数据可视化平台/css/index.css create mode 100644 智慧政务/土地交易大数据可视化平台/hunan.html create mode 100644 智慧政务/土地交易大数据可视化平台/images/.DS_Store create mode 100644 智慧政务/土地交易大数据可视化平台/images/bg.jpg create mode 100644 智慧政务/土地交易大数据可视化平台/images/cicleBg.png create mode 100644 智慧政务/土地交易大数据可视化平台/images/close.png create mode 100644 智慧政务/土地交易大数据可视化平台/images/dataBg.png create mode 100644 智慧政务/土地交易大数据可视化平台/images/msgBg.png create mode 100644 智慧政务/土地交易大数据可视化平台/images/top_title.png create mode 100644 智慧政务/土地交易大数据可视化平台/index.html create mode 100644 智慧政务/土地交易大数据可视化平台/js/.DS_Store create mode 100644 智慧政务/土地交易大数据可视化平台/js/echart.js create mode 100644 智慧政务/土地交易大数据可视化平台/js/jquery-1.8.3.min.js diff --git a/智慧政务/土地交易大数据可视化平台/css/globle.css b/智慧政务/土地交易大数据可视化平台/css/globle.css new file mode 100644 index 0000000..4dbdf91 --- /dev/null +++ b/智慧政务/土地交易大数据可视化平台/css/globle.css @@ -0,0 +1,26 @@ +@charset "utf-8"; +/* CSS Document */ +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, dd, dl, dt, li, ol, ul,input,select,button,textarea,tr,td{ padding:0; margin:0; border:none;} +input,button,select,textarea,a,img{outline:none; }/*去掉超链接或按钮点击时出现的虚线框黄色边框*/ +::-moz-focus-inner{border:0px;}/*火狐的私有属性去掉点击时边框*/ +body,html{ width:100%; font-family:"Microsoft YaHei","Arial", "SimSun";} +ul, ul li, ol li, li { list-style:none;} +a, img, input, textarea {border:none;} +a { + text-decoration: none; +} +table { border-collapse: collapse;border-spacing:0;} +.clearfix:after {visibility: hidden;display: block;font-size: 0;content: ".";clear: both;height: 0;} +* html .clearfix {zoom: 1;} +*:first-child + html .clearfix {zoom: 1;} +.fl { float:left;} +.fr { float:right;} +.none{ display:none;} + +.inrow{font-size:0;[;font-size:12px;];*font-size:0;font-family:arial;[;letter-spacing:-3px;];*letter-spacing:normal;*word-spacing:-1px;} +.inrow>li,.inrow span{display:inline-block;*display:inline;*zoom:1;font-size:14px;letter-spacing:normal;word-spacing:normal; } +.dataNums{position: absolute; left: 34%; top:50%; display: block; width:100%; height:75px; margin-top: -37px; text-align:center;} +.dataNums .dataOne{ float:left;width: 9px; height:75px;text-align: center;} +.dataNums .dataBoc {position: relative; width: 100%; height: 100%; overflow: hidden;} +.dataNums .dataBoc .tt {position: absolute; top: 0; left: 0; width: 100%; height: 100%;} +.dataNums .tt span{width:100%;height:100%; font: 18px "Arial";color:#4ADEFE;} diff --git a/智慧政务/土地交易大数据可视化平台/css/index.css b/智慧政务/土地交易大数据可视化平台/css/index.css new file mode 100644 index 0000000..43addc6 --- /dev/null +++ b/智慧政务/土地交易大数据可视化平台/css/index.css @@ -0,0 +1,161 @@ +* { + padding: 0; + margin: 0; +} +html,body { + width: 100%; + height: 100%; +} + .main { + position: relative; + width: 100%; + height: 100%; + background: url(../images/bg.jpg) no-repeat; + background-size: cover; + /* height: 880px; */ + min-width: 1386px; + } + .top_title { + width: 100%; + padding-top: 20px; + } + .top_title img { + width: 100%; + } + + .datas { + width: 95%; + height: 80%; + margin: auto; + margin-top: 2%; + } + .data_left,.data_middle,.data_right { + float: left; + height: 100%; + } + .data_left { + width: 26%; + } + .left_top { + width: 100%; + height: 48%; + background: url(../images/dataBg.png) no-repeat; + background-size: 100%; + } + .left_top_title { + font-size: 16px; + color: #FFFFFF; + padding-left: 10%; + padding-top: 6%; + } + .left_top_main { + width: 80%; + height: 76%; + margin: auto; + margin-top: 4%; + } + .left_main_circle { + float: left; + width: 35%; + height: 44%; + background: url(../images/cicleBg.png) no-repeat; + background-size: 100%; + color: #4ADEFE; + text-align: center; + } + .left_main_circle p { + font-size: 16px; + margin-top: 20%; + } + .left_main_circle span { + font-size: 12px; + } + .left_main_circle:nth-of-type(2) { + margin-left: 22%; + } + .left_main_circle:nth-of-type(3) { + margin-top: 8%; + } + .left_bottom { + width: 100%; + height: 48%; + background: url(../images/dataBg.png) no-repeat; + background-size: 100%; + margin-top: 7%; + } + .left_bottom_main { + /* background: white; */ + } + .data_middle { + width: 38%; + margin: 0 2.5%; + /* background: white; */ + } + .middle_top { + width: 100%; + height: 17%; + } + .middle_top_list { + float: left; + width: 33.2%; + height: 65%; + margin-top: 5%; + text-align: center; + color: #4ADEFE; + } + .middle_top_list span { + color: #F3DB5C; + } + .list_title { + font-size: 18px; + margin-top: -15%; + } + .list_num { + margin-top: 3%; + font-size: 16px; + } + .list_num span { + font-size: 30px; + } + .today_list_font { + font-size: 14px; + margin-top: 4%; + } + .middle_top_list:nth-of-type(2) { + border-left: 1px solid #4E72B0; + border-right: 1px solid #4E72B0; + } + .middle_bottom { + width: 100%; + height: 75%; + margin-top: 9%; + background: transparent; + } + .data_right { + width: 31%; + } + .right_top { + width: 100%; + height: 48%; + background: url(../images/msgBg.png) no-repeat; + background-size: 100%; + } + .right_top_main { + width: 95%; + } + .right_bottom { + width: 100%; + height: 48%; + background: url(../images/msgBg.png) no-repeat; + background-size: 100%; + margin-top: 6%; + } + + + + .highcharts-credits { + display: none; + } + .highcharts-legend { + display: none; + } diff --git a/智慧政务/土地交易大数据可视化平台/hunan.html b/智慧政务/土地交易大数据可视化平台/hunan.html new file mode 100644 index 0000000..8940e8e --- /dev/null +++ b/智慧政务/土地交易大数据可视化平台/hunan.html @@ -0,0 +1,47 @@ + + + + + 湖南省 + + +
+ + + \ No newline at end of file diff --git a/智慧政务/土地交易大数据可视化平台/images/.DS_Store b/智慧政务/土地交易大数据可视化平台/images/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 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%0AEi2DgWx_1Y;t#K78PVvzQi5D)>UH< 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Π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

k2w)Vz9bi~f<-za-!6^kXQ+kzlYSv_4Rp75p- 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%0AF&67m<7 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 literal 0 HcmV?d00001 diff --git a/智慧政务/土地交易大数据可视化平台/images/cicleBg.png b/智慧政务/土地交易大数据可视化平台/images/cicleBg.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf9c036a1f6189d15a759a4c39afdedf031977c GIT binary patch literal 21042 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 P00000NkvXXu0mjfO#sD! literal 0 HcmV?d00001 diff --git a/智慧政务/土地交易大数据可视化平台/images/close.png b/智慧政务/土地交易大数据可视化平台/images/close.png new file mode 100644 index 0000000000000000000000000000000000000000..a50f0941bb6c5f6842d45b8fee7ef9fb44298227 GIT binary patch literal 2259 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 joVV( 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 literal 0 HcmV?d00001 diff --git a/智慧政务/土地交易大数据可视化平台/images/top_title.png b/智慧政务/土地交易大数据可视化平台/images/top_title.png new file mode 100644 index 0000000000000000000000000000000000000000..95488821f204b392538b40c16ef4067f05c7fb9e GIT binary patch literal 94889 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≧4o%LL+U&3cJ}k9D+j|hsEWSA!-KIo_G?1&ro-2qq2;)`T9K$n zen~}_2WP?kAlKH+nw5kT;*;8zwqInpn_31Lo%eu{Xww(iWq*lC9b}3lU^PRKDSPry1F1L&61h`5;OA$!Ij@t=?o`QI>9&` z$Wr3HRH&=3?m%o}%?gWaIb)4F9}nYKERjHHCB7|)2G4KL#kaO%Gz-$$`;Qz(6ZU+! zYb66WdU1zE^814Pi)PQ&gz;Q^@*xM4MC-*I*fM++R^dA82yz~vW_HDgpeRQYLls+C z4+@BTVS3;w)fbq`IRFsrFPod{Y^3M=ryTaarywmkNHpCQ$sPberE)9Yr=63Jb3t%XbtaP6s%dDp+PSpaCiG*Ako0@h)e7Kra}QkdQ(X zBcgEX1&^Iwe&a8?~#VDSH=O?`FAPG>@u3wZDzx#H*YTlHeeEnVlaw z$DyeojN#E?L*^FwhwqQ?E@gjrXY*rJU4vfl2!u>mPBO@CQ-8vX%Y8hi=HV_iAtT7N z&c#)xxCOe?aqA4YB9AO7B;CGF?#U@Z;%)mKh|uaXc}tBzMn98@gZDz9(aP-|7&t=QsJWNmQzHJ{|zs%eqlhjFNicUKp8hTgOoO##sD z3iXRUC>ut&*SVwuTjL2sX-Eh(jgI0Q^~4gRc}6<(v;J1-&&e6c${?_4vNHAgH(BC?nT4s1% z$1<^VGp_d)tSV8IkKpqf4PdV80qs>GQH=`Zl=@s?r=g`iP4*RaN`pHE{

~DizBu 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 literal 0 HcmV?d00001 diff --git a/智慧政务/土地交易大数据可视化平台/index.html b/智慧政务/土地交易大数据可视化平台/index.html new file mode 100644 index 0000000..22be98c --- /dev/null +++ b/智慧政务/土地交易大数据可视化平台/index.html @@ -0,0 +1,378 @@ + + + + + + + 大数据可视化平台 + + + + +

+
+ +
+
+
+
+
基础数据
+
+
+

1555

+ 确权总面积
(万亩)
+
+
+

2137.2

+ 流转总面积
(万亩)
+
+
+

2545.55

+ 挂网总面积
(万亩)
+
+
+
+
+
业务类型
+
+
+
+
+
+
+
累计发布数
+
901
+
今日最新发布12
+
+
+
累计交易金额
+
1149.66亿
+
今日最新交易0.2亿
+
+
+
累计交易面积
+
2137.26万亩
+
今日交易面积1.5万亩
+
+
+
+
+
+
+
土地分析报表
+
+
+
+
信息发布报表
+
+
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/智慧政务/土地交易大数据可视化平台/js/.DS_Store b/智慧政务/土地交易大数据可视化平台/js/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T03?t[3]=e[3]:t[3]=1,t):(t=_.a.color.parse(e||"#000",t)||[0,0,0,0],t[0]/=255,t[1]/=255,t[2]/=255,t)},ae.directionFromAlphaBeta=function(e,t){var r=e/180*Math.PI+Math.PI/2,n=-t/180*Math.PI+Math.PI/2,i=[],a=Math.sin(r);return i[0]=a*Math.cos(n),i[1]=-Math.cos(r),i[2]=a*Math.sin(n),i},ae.getShadowResolution=function(e){var t=1024;switch(e){case"low":t=512;break;case"medium":break;case"high":t=2048;break;case"ultra":t=4096}return t},ae.COMMON_SHADERS=["lambert","color","realistic","hatching"],ae.createShader=function(e){var t=d.a.source(e+".vertex"),r=d.a.source(e+".fragment");t||console.error("Vertex shader of '%s' not exits",e),r||console.error("Fragment shader of '%s' not exits",e);var n=new d.a(t,r);return n.name=e,n},ae.createMaterial=function(e,t){t instanceof Array||(t=[t]);var r=ae.createShader(e),n=new f.a({shader:r});return t.forEach(function(e){"string"==typeof e&&n.define(e)}),n},ae.setMaterialFromModel=function(e,t,r,n){t.autoUpdateTextureStatus=!1;var i=r.getModel(e+"Material"),a=i.get("detailTexture"),o=A.a.firstNotNull(i.get("textureTiling"),1),s=A.a.firstNotNull(i.get("textureOffset"),0);"number"==typeof o&&(o=[o,o]),"number"==typeof s&&(s=[s,s]);var u=o[0]>1||o[1]>1?ae.Texture.REPEAT:ae.Texture.CLAMP_TO_EDGE,l={anisotropic:8,wrapS:u,wrapT:u};if("realistic"===e){var h=i.get("roughness"),c=i.get("metalness");null!=c?isNaN(c)&&(t.setTextureImage("metalnessMap",c,n,l),c=A.a.firstNotNull(i.get("metalnessAdjust"),.5)):c=0,null!=h?isNaN(h)&&(t.setTextureImage("roughnessMap",h,n,l),h=A.a.firstNotNull(i.get("roughnessAdjust"),.5)):h=.5;var d=i.get("normalTexture");t.setTextureImage("detailMap",a,n,l),t.setTextureImage("normalMap",d,n,l),t.set({roughness:h,metalness:c,detailUvRepeat:o,detailUvOffset:s})}else if("lambert"===e)t.setTextureImage("detailMap",a,n,l),t.set({detailUvRepeat:o,detailUvOffset:s});else if("color"===e)t.setTextureImage("detailMap",a,n,l),t.set({detailUvRepeat:o,detailUvOffset:s});else if("hatching"===e){for(var f=i.get("hatchingTextures")||[],p=0;p<6;p++)t.setTextureImage("hatch"+(p+1),f[p],n,{anisotropic:8,wrapS:ae.Texture.REPEAT,wrapT:ae.Texture.REPEAT});t.set({detailUvRepeat:o,detailUvOffset:s})}},ae.updateVertexAnimation=function(e,t,r,n){var i=n.get("animation"),a=n.get("animationDurationUpdate"),o=n.get("animationEasingUpdate"),s=r.shadowDepthMaterial;if(i&&t&&a>0&&t.geometry.vertexCount===r.geometry.vertexCount){r.material.define("vertex","VERTEX_ANIMATION"),r.ignorePreZ=!0,s&&s.define("vertex","VERTEX_ANIMATION");for(var u=0;ur?r:e}var i=r(12),a=function(e,t,r){e=e||0,t=t||0,r=r||0,this.array=i.a.fromValues(e,t,r),this._dirty=!0};a.prototype={constructor:a,add:function(e){return i.a.add(this.array,this.array,e.array),this._dirty=!0,this},set:function(e,t,r){return this.array[0]=e,this.array[1]=t,this.array[2]=r,this._dirty=!0,this},setArray:function(e){return this.array[0]=e[0],this.array[1]=e[1],this.array[2]=e[2],this._dirty=!0,this},clone:function(){return new a(this.x,this.y,this.z)},copy:function(e){return i.a.copy(this.array,e.array),this._dirty=!0,this},cross:function(e,t){return i.a.cross(this.array,e.array,t.array),this._dirty=!0,this},dist:function(e){return i.a.dist(this.array,e.array)},distance:function(e){return i.a.distance(this.array,e.array)},div:function(e){return i.a.div(this.array,this.array,e.array),this._dirty=!0,this},divide:function(e){return i.a.divide(this.array,this.array,e.array),this._dirty=!0,this},dot:function(e){return i.a.dot(this.array,e.array)},len:function(){return i.a.len(this.array)},length:function(){return i.a.length(this.array)},lerp:function(e,t,r){return i.a.lerp(this.array,e.array,t.array,r),this._dirty=!0,this},min:function(e){return i.a.min(this.array,this.array,e.array),this._dirty=!0,this},max:function(e){return i.a.max(this.array,this.array,e.array),this._dirty=!0,this},mul:function(e){return i.a.mul(this.array,this.array,e.array),this._dirty=!0,this},multiply:function(e){return i.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},negate:function(){return i.a.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return i.a.normalize(this.array,this.array),this._dirty=!0,this},random:function(e){return i.a.random(this.array,e),this._dirty=!0,this},scale:function(e){return i.a.scale(this.array,this.array,e),this._dirty=!0,this},scaleAndAdd:function(e,t){return i.a.scaleAndAdd(this.array,this.array,e.array,t),this._dirty=!0,this},sqrDist:function(e){return i.a.sqrDist(this.array,e.array)},squaredDistance:function(e){return i.a.squaredDistance(this.array,e.array)},sqrLen:function(){return i.a.sqrLen(this.array)},squaredLength:function(){return i.a.squaredLength(this.array)},sub:function(e){return i.a.sub(this.array,this.array,e.array),this._dirty=!0,this},subtract:function(e){return i.a.subtract(this.array,this.array,e.array),this._dirty=!0,this},transformMat3:function(e){return i.a.transformMat3(this.array,this.array,e.array),this._dirty=!0,this},transformMat4:function(e){return i.a.transformMat4(this.array,this.array,e.array),this._dirty=!0,this},transformQuat:function(e){return i.a.transformQuat(this.array,this.array,e.array),this._dirty=!0,this},applyProjection:function(e){var t=this.array;if(e=e.array,0===e[15]){var r=-1/t[2];t[0]=e[0]*t[0]*r,t[1]=e[5]*t[1]*r,t[2]=(e[10]*t[2]+e[14])*r}else t[0]=e[0]*t[0]+e[12],t[1]=e[5]*t[1]+e[13],t[2]=e[10]*t[2]+e[14];return this._dirty=!0,this},eulerFromQuat:function(e,t){a.eulerFromQuat(this,e,t)},eulerFromMat3:function(e,t){a.eulerFromMat3(this,e,t)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var o=Object.defineProperty;if(o){var s=a.prototype;o(s,"x",{get:function(){return this.array[0]},set:function(e){this.array[0]=e,this._dirty=!0}}),o(s,"y",{get:function(){return this.array[1]},set:function(e){this.array[1]=e,this._dirty=!0}}),o(s,"z",{get:function(){return this.array[2]},set:function(e){this.array[2]=e,this._dirty=!0}})}a.add=function(e,t,r){return i.a.add(e.array,t.array,r.array),e._dirty=!0,e},a.set=function(e,t,r,n){i.a.set(e.array,t,r,n),e._dirty=!0},a.copy=function(e,t){return i.a.copy(e.array,t.array),e._dirty=!0,e},a.cross=function(e,t,r){return i.a.cross(e.array,t.array,r.array),e._dirty=!0,e},a.dist=function(e,t){return i.a.distance(e.array,t.array)},a.distance=a.dist,a.div=function(e,t,r){return i.a.divide(e.array,t.array,r.array),e._dirty=!0,e},a.divide=a.div,a.dot=function(e,t){return i.a.dot(e.array,t.array)},a.len=function(e){return i.a.length(e.array)},a.lerp=function(e,t,r,n){return i.a.lerp(e.array,t.array,r.array,n),e._dirty=!0,e},a.min=function(e,t,r){return i.a.min(e.array,t.array,r.array),e._dirty=!0,e},a.max=function(e,t,r){return i.a.max(e.array,t.array,r.array),e._dirty=!0,e},a.mul=function(e,t,r){return i.a.multiply(e.array,t.array,r.array),e._dirty=!0,e},a.multiply=a.mul,a.negate=function(e,t){return i.a.negate(e.array,t.array),e._dirty=!0,e},a.normalize=function(e,t){return i.a.normalize(e.array,t.array),e._dirty=!0,e},a.random=function(e,t){return i.a.random(e.array,t),e._dirty=!0,e},a.scale=function(e,t,r){return i.a.scale(e.array,t.array,r),e._dirty=!0,e},a.scaleAndAdd=function(e,t,r,n){return i.a.scaleAndAdd(e.array,t.array,r.array,n),e._dirty=!0,e},a.sqrDist=function(e,t){return i.a.sqrDist(e.array,t.array)},a.squaredDistance=a.sqrDist,a.sqrLen=function(e){return i.a.sqrLen(e.array)},a.squaredLength=a.sqrLen,a.sub=function(e,t,r){return i.a.subtract(e.array,t.array,r.array),e._dirty=!0,e},a.subtract=a.sub,a.transformMat3=function(e,t,r){return i.a.transformMat3(e.array,t.array,r.array),e._dirty=!0,e},a.transformMat4=function(e,t,r){return i.a.transformMat4(e.array,t.array,r.array),e._dirty=!0,e},a.transformQuat=function(e,t,r){return i.a.transformQuat(e.array,t.array,r.array),e._dirty=!0,e};var u=Math.atan2,l=Math.asin,h=Math.abs;a.eulerFromQuat=function(e,t,r){e._dirty=!0,t=t.array;var i=e.array,a=t[0],o=t[1],s=t[2],h=t[3],c=a*a,d=o*o,f=s*s,p=h*h,r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":i[0]=u(2*(a*h-o*s),p-c-d+f),i[1]=l(n(2*(a*s+o*h),-1,1)),i[2]=u(2*(s*h-a*o),p+c-d-f);break;case"YXZ":i[0]=l(n(2*(a*h-o*s),-1,1)),i[1]=u(2*(a*s+o*h),p-c-d+f),i[2]=u(2*(a*o+s*h),p-c+d-f);break;case"ZXY":i[0]=l(n(2*(a*h+o*s),-1,1)),i[1]=u(2*(o*h-s*a),p-c-d+f),i[2]=u(2*(s*h-a*o),p-c+d-f);break;case"ZYX":i[0]=u(2*(a*h+s*o),p-c-d+f),i[1]=l(n(2*(o*h-a*s),-1,1)),i[2]=u(2*(a*o+s*h),p+c-d-f);break;case"YZX":i[0]=u(2*(a*h-s*o),p-c+d-f),i[1]=u(2*(o*h-a*s),p+c-d-f),i[2]=l(n(2*(a*o+s*h),-1,1));break;case"XZY":i[0]=u(2*(a*h+o*s),p-c+d-f),i[1]=u(2*(a*s+o*h),p+c-d-f),i[2]=l(n(2*(s*h-a*o),-1,1));break;default:console.warn("Unkown order: "+r)}return e},a.eulerFromMat3=function(e,t,r){var i=t.array,a=i[0],o=i[3],s=i[6],c=i[1],d=i[4],f=i[7],p=i[2],m=i[5],g=i[8],_=e.array,r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":_[1]=l(n(s,-1,1)),h(s)<.99999?(_[0]=u(-f,g),_[2]=u(-o,a)):(_[0]=u(m,d),_[2]=0);break;case"YXZ":_[0]=l(-n(f,-1,1)),h(f)<.99999?(_[1]=u(s,g),_[2]=u(c,d)):(_[1]=u(-p,a),_[2]=0);break;case"ZXY":_[0]=l(n(m,-1,1)),h(m)<.99999?(_[1]=u(-p,g),_[2]=u(-o,d)):(_[1]=0,_[2]=u(c,a));break;case"ZYX":_[1]=l(-n(p,-1,1)),h(p)<.99999?(_[0]=u(m,g),_[2]=u(c,a)):(_[0]=0,_[2]=u(-o,d));break;case"YZX":_[2]=l(n(c,-1,1)),h(c)<.99999?(_[0]=u(-f,d),_[1]=u(-p,a)):(_[0]=0,_[1]=u(s,g));break;case"XZY":_[2]=l(-n(o,-1,1)),h(o)<.99999?(_[0]=u(m,d),_[1]=u(s,a)):(_[0]=u(-f,g),_[1]=0);break;default:console.warn("Unkown order: "+r)}return e._dirty=!0,e},Object.defineProperties(a,{POSITIVE_X:{get:function(){return new a(1,0,0)}},NEGATIVE_X:{get:function(){return new a(-1,0,0)}},POSITIVE_Y:{get:function(){return new a(0,1,0)}},NEGATIVE_Y:{get:function(){return new a(0,-1,0)}},POSITIVE_Z:{get:function(){return new a(0,0,1)}},NEGATIVE_Z:{get:function(){return new a(0,0,-1)}},UP:{get:function(){return new a(0,1,0)}},ZERO:{get:function(){return new a}}}),t.a=a},function(e,t,r){"use strict";var n=r(7),i=r(11),a=r(57),o=n.a.extend({width:512,height:512,type:i.a.UNSIGNED_BYTE,format:i.a.RGBA,wrapS:i.a.REPEAT,wrapT:i.a.REPEAT,minFilter:i.a.LINEAR_MIPMAP_LINEAR,magFilter:i.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1,__used:0},function(){this._cache=new a.a},{getWebGLTexture:function(e){var t=e.gl,r=this._cache;return r.use(e.__uid__),r.miss("webgl_texture")&&r.put("webgl_texture",t.createTexture()),this.dynamic?this.update(e):r.isDirty()&&(this.update(e),r.fresh()),r.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(e){},updateCommon:function(e){var t=e.gl;t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,this.flipY),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),t.pixelStorei(t.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===i.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var r=e.getGLExtension("EXT_sRGB");this.format!==o.SRGB||r||(this.format=o.RGB),this.format!==o.SRGB_ALPHA||r||(this.format=o.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?i.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?i.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var e=this.minFilter;return this.NPOT||!this.useMipmap?e===i.a.NEAREST_MIPMAP_NEAREST||e===i.a.NEAREST_MIPMAP_LINEAR?i.a.NEAREST:e===i.a.LINEAR_MIPMAP_LINEAR||e===i.a.LINEAR_MIPMAP_NEAREST?i.a.LINEAR:e:e},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(e){--e;for(var t=1;t<32;t<<=1)e|=e>>t;return e+1},dispose:function(e){var t=this._cache;t.use(e.__uid__);var r=t.get("webgl_texture");r&&e.gl.deleteTexture(r),t.deleteContext(e.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(o.prototype,"width",{get:function(){return this._width},set:function(e){this._width=e}}),Object.defineProperty(o.prototype,"height",{get:function(){return this._height},set:function(e){this._height=e}}),o.BYTE=i.a.BYTE,o.UNSIGNED_BYTE=i.a.UNSIGNED_BYTE,o.SHORT=i.a.SHORT,o.UNSIGNED_SHORT=i.a.UNSIGNED_SHORT,o.INT=i.a.INT,o.UNSIGNED_INT=i.a.UNSIGNED_INT,o.FLOAT=i.a.FLOAT,o.HALF_FLOAT=36193,o.UNSIGNED_INT_24_8_WEBGL=34042,o.DEPTH_COMPONENT=i.a.DEPTH_COMPONENT,o.DEPTH_STENCIL=i.a.DEPTH_STENCIL,o.ALPHA=i.a.ALPHA,o.RGB=i.a.RGB,o.RGBA=i.a.RGBA,o.LUMINANCE=i.a.LUMINANCE,o.LUMINANCE_ALPHA=i.a.LUMINANCE_ALPHA,o.SRGB=35904,o.SRGB_ALPHA=35906,o.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,o.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,o.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,o.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,o.NEAREST=i.a.NEAREST,o.LINEAR=i.a.LINEAR,o.NEAREST_MIPMAP_NEAREST=i.a.NEAREST_MIPMAP_NEAREST,o.LINEAR_MIPMAP_NEAREST=i.a.LINEAR_MIPMAP_NEAREST,o.NEAREST_MIPMAP_LINEAR=i.a.NEAREST_MIPMAP_LINEAR,o.LINEAR_MIPMAP_LINEAR=i.a.LINEAR_MIPMAP_LINEAR,o.REPEAT=i.a.REPEAT,o.CLAMP_TO_EDGE=i.a.CLAMP_TO_EDGE,o.MIRRORED_REPEAT=i.a.MIRRORED_REPEAT,t.a=o},function(e,t,r){"use strict";function n(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))}function i(e,t){var r=n(e.width),i=n(e.height);return t=t||document.createElement("canvas"),t.width=r,t.height=i,t.getContext("2d").drawImage(e.image,0,0,r,i),t}var a=r(4),o=r(11),s=r(14),u=r(73),l=u.a.isPowerOfTwo,h=a.a.extend(function(){return{image:null,pixels:null,mipmaps:[],convertToPOT:!1}},{textureType:"texture2D",update:function(e){var t=e.gl;t.bindTexture(t.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(e);var r=this.format,n=this.type,i=!(!this.convertToPOT||this.mipmaps.length||!this.image||this.wrapS!==a.a.REPEAT&&this.wrapT!==a.a.REPEAT||!this.NPOT);t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,i?this.wrapS:this.getAvailableWrapS()),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,i?this.wrapT:this.getAvailableWrapT()),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,i?this.magFilter:this.getAvailableMagFilter()),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,i?this.minFilter:this.getAvailableMinFilter());var s=e.getGLExtension("EXT_texture_filter_anisotropic");if(s&&this.anisotropic>1&&t.texParameterf(t.TEXTURE_2D,s.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),36193===n){e.getGLExtension("OES_texture_half_float")||(n=o.a.FLOAT)}if(this.mipmaps.length)for(var u=this.width,l=this.height,h=0;h=a.a.COMPRESSED_RGB_S3TC_DXT1_EXT?e.compressedTexImage2D(e.TEXTURE_2D,r,s,n,o,0,t.pixels):e.texImage2D(e.TEXTURE_2D,r,s,n,o,0,s,u,t.pixels)},generateMipmap:function(e){var t=e.gl;this.useMipmap&&!this.NPOT&&(t.bindTexture(t.TEXTURE_2D,this._cache.get("webgl_texture")),t.generateMipmap(t.TEXTURE_2D))},isPowerOfTwo:function(){return l(this.width)&&l(this.height)},isRenderable:function(){return this.image?"CANVAS"===this.image.nodeName||"VIDEO"===this.image.nodeName||this.image.complete:!(!this.width||!this.height)},bind:function(e){e.gl.bindTexture(e.gl.TEXTURE_2D,this.getWebGLTexture(e))},unbind:function(e){e.gl.bindTexture(e.gl.TEXTURE_2D,null)},load:function(e,t){var r=s.a.createImage();t&&(r.crossOrigin=t);var n=this;return r.onload=function(){n.dirty(),n.trigger("success",n),r.onload=null},r.onerror=function(){n.trigger("error",n),r.onerror=null},r.src=e,this.image=r,this}});Object.defineProperty(h.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(e){this.image?console.warn("Texture from image can't set width"):(this._width!==e&&this.dirty(),this._width=e)}}),Object.defineProperty(h.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(e){this.image?console.warn("Texture from image can't set height"):(this._height!==e&&this.dirty(),this._height=e)}}),t.a=h},function(e,t,r){"use strict";var n=r(161);t.a=n.a},function(e,t,r){"use strict";var n=r(110),i=r(53),a=r(23),o=function(){this.__uid__=a.a.genGUID()};o.__initializers__=[function(e){a.a.extend(this,e)}],a.a.extend(o,n.a),a.a.extend(o.prototype,i.a),t.a=o},function(e,t,r){"use strict";function n(e){for(var t=[],r=0;r=0){if(1!==l&&4!==l){o();break}l=2,d=[]}else if(1!==l)if(4!==l)r(f),l=0;else{var p=f;g.indexOf(p)>=0||_.indexOf(p)>=0||v.indexOf(p)>=0?c[u].semantic=p:"ignore"===p||"unconfigurable"===p?c[u].ignore=!0:c[u].value="bool"===e?"true"===p:parseFloat(p)}else c[u].value="bool"===e?"true"===f:parseFloat(f),d=null;else{if(2!==l){o();break}if(!(d instanceof Array)){o();break}d.push(+i[++s])}else c[u].value=new h.a.Float32Array(d),d=null,l=5;else if(2===l){if(!(d instanceof Array)){o();break}d.push(+i[++s])}else l=5;else l=4;else{if(0!==l&&3!==l){o();break}l=1}}return c}function u(e,t){"object"==typeof e&&(t=e.fragment,e=e.vertex),e=a(e),t=a(t),this._shaderID=i(e,t),this._vertexCode=u.parseImport(e),this._fragmentCode=u.parseImport(t),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}var l=r(23),h=r(14),c=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\s\S]*?);/g,d=/attribute\s+(float|int|vec2|vec3|vec4)\s+([\s\S]*?);/g,f=/#define\s+(\w+)?(\s+[\d-.]+)?\s*;?\s*\n/g,p={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},m={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return n(2)},vec3:function(){return n(3)},vec4:function(){return n(4)},ivec2:function(){return n(2)},ivec3:function(){return n(3)},ivec4:function(){return n(4)},mat2:function(){return n(4)},mat3:function(){return n(9)},mat4:function(){return n(16)},array:function(){return[]}},g=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],_=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],v=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],y={vec4:4,vec3:3,vec2:2,float:1},x={},T={};u.prototype={constructor:u,createUniforms:function(){var e={};for(var t in this.uniformTemplates){var r=this.uniformTemplates[t];e[t]={type:r.type,value:r.value()}}return e},_parseImport:function(){this._vertexCode=u.parseImport(this.vertex),this._fragmentCode=u.parseImport(this.fragment)},_addSemanticUniform:function(e,t,r){if(g.indexOf(r)>=0)this.attributeSemantics[r]={symbol:e,type:t};else if(v.indexOf(r)>=0){var n=!1,i=r;r.match(/TRANSPOSE$/)&&(n=!0,i=r.slice(0,-9)),this.matrixSemantics[r]={symbol:e,type:t,isTranspose:n,semanticNoTranspose:i}}else _.indexOf(r)>=0&&(this.uniformSemantics[r]={symbol:e,type:t})},_addMaterialUniform:function(e,t,r,n,i,a){a[e]={type:r,value:i?m.array:n||m[t],semantic:null}},_parseUniforms:function(){function e(e){return null!=e?function(){return e}:null}function t(t,a,o){var u=s(a,o),l=[];for(var h in u){var c=u[h],d=c.semantic,f=h,m=p[a],g=e(u[h].value);u[h].isArray&&(f+="["+u[h].arraySize+"]",m+="v"),l.push(f),n._uniformList.push(h),c.ignore||("sampler2D"!==a&&"samplerCube"!==a||(n.textures[h]={shaderType:i,type:a}),d?n._addSemanticUniform(h,m,d):n._addMaterialUniform(h,a,m,g,u[h].isArray,r))}return l.length>0?"uniform "+a+" "+l.join(",")+";\n":""}var r={},n=this,i="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(c,t),i="fragment",this._fragmentCode=this._fragmentCode.replace(c,t),n.matrixSemanticKeys=Object.keys(this.matrixSemantics),this.uniformTemplates=r},_parseAttributes:function(){function e(e,n,i){var a=s(n,i),o=y[n]||1,u=[];for(var l in a){var h=a[l].semantic;if(t[l]={type:"float",size:o,semantic:h||null},h){if(g.indexOf(h)<0)throw new Error('Unkown semantic "'+h+'"');r.attributeSemantics[h]={symbol:l,type:n}}u.push(l)}return"attribute "+n+" "+u.join(",")+";\n"}var t={},r=this;this._vertexCode=this._vertexCode.replace(d,e),this.attributes=t},_parseDefines:function(){function e(e,n,i){var a="vertex"===r?t.vertexDefines:t.fragmentDefines;return a[n]||(a[n]="false"!==i&&("true"===i||(i?isNaN(parseFloat(i))?i.trim():parseFloat(i):null))),""}var t=this,r="vertex";this._vertexCode=this._vertexCode.replace(f,e),r="fragment",this._fragmentCode=this._fragmentCode.replace(f,e)},clone:function(){var e=T[this._shaderID];return new u(e.vertex,e.fragment)}},Object.defineProperty&&(Object.defineProperty(u.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(u.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(u.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(u.prototype,"uniforms",{get:function(){return this._uniformList}}));var b=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;u.parseImport=function(e){return e=e.replace(b,function(e,t,r){var e=u.source(r);return e?u.parseImport(e):(console.error('Shader chunk "'+r+'" not existed in library'),"")})};var w=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;u.import=function(e){e.replace(w,function(e,t,r,n){var n=n.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(n){for(var i,a=r.split("."),o=u.codes,s=0;s0&&(a=1/Math.sqrt(a),e[0]=t[0]*a,e[1]=t[1]*a,e[2]=t[2]*a),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]},i.cross=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2];return e[0]=i*u-a*s,e[1]=a*o-n*u,e[2]=n*s-i*o,e},i.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e},i.random=function(e,t){t=t||1;var r=2*Object(n.c)()*Math.PI,i=2*Object(n.c)()-1,a=Math.sqrt(1-i*i)*t;return e[0]=Math.cos(r)*a,e[1]=Math.sin(r)*a,e[2]=i*t,e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,e[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,e[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,e[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,e},i.transformMat3=function(e,t,r){var n=t[0],i=t[1],a=t[2];return e[0]=n*r[0]+i*r[3]+a*r[6],e[1]=n*r[1]+i*r[4]+a*r[7],e[2]=n*r[2]+i*r[5]+a*r[8],e},i.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],l=r[3],h=l*n+s*a-u*i,c=l*i+u*n-o*a,d=l*a+o*i-s*n,f=-o*n-s*i-u*a;return e[0]=h*l+f*-o+c*-u-d*-s,e[1]=c*l+f*-s+d*-o-h*-u,e[2]=d*l+f*-u+h*-s-c*-o,e},i.rotateX=function(e,t,r,n){var i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0],a[1]=i[1]*Math.cos(n)-i[2]*Math.sin(n),a[2]=i[1]*Math.sin(n)+i[2]*Math.cos(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},i.rotateY=function(e,t,r,n){var i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[2]*Math.sin(n)+i[0]*Math.cos(n),a[1]=i[1],a[2]=i[2]*Math.cos(n)-i[0]*Math.sin(n),e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},i.rotateZ=function(e,t,r,n){var i=[],a=[];return i[0]=t[0]-r[0],i[1]=t[1]-r[1],i[2]=t[2]-r[2],a[0]=i[0]*Math.cos(n)-i[1]*Math.sin(n),a[1]=i[0]*Math.sin(n)+i[1]*Math.cos(n),a[2]=i[2],e[0]=a[0]+r[0],e[1]=a[1]+r[1],e[2]=a[2]+r[2],e},i.forEach=function(){var e=i.create();return function(t,r,n,i,a,o){var s,u;for(r||(r=3),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;s1?0:Math.acos(a)},t.a=i},function(e,t){function r(e,t){"createCanvas"===e&&(J=null),K[e]=t}function n(e){if(null==e||"object"!=typeof e)return e;var t=e,r=k.call(e);if("[object Array]"===r){if(!F(e)){t=[];for(var i=0,a=e.length;is[0]&&(s[0]=l),h>s[1]&&(s[1]=h),c>s[2]&&(s[2]=c)}r._dirty=!0,n._dirty=!0}},generateVertexNormals:function(){if(this.vertexCount){var e=this.indices,t=this.attributes,r=t.position.value,a=t.normal.value;if(a&&a.length===r.length)for(var o=0;o65535&&(this.indices=new n.a.Uint32Array(this.indices));for(var e=this.attributes,t=this.indices,r=this.getEnabledAttributes(),i={},a=0;a=r.COLOR_ATTACHMENT0&&a<=r.COLOR_ATTACHMENT0+8&&i.push(a);n.drawBuffersEXT(i)}}this.trigger("beforerender",this,e);var o=this.clearDepth?r.DEPTH_BUFFER_BIT:0;if(r.depthMask(!0),this.clearColor){o|=r.COLOR_BUFFER_BIT,r.colorMask(!0,!0,!0,!0);var s=this.clearColor;Array.isArray(s)&&r.clearColor(s[0],s[1],s[2],s[3])}r.clear(o),this.blendWithPrevious?(r.enable(r.BLEND),this.material.transparent=!0):(r.disable(r.BLEND),this.material.transparent=!1),this.renderQuad(e),this.trigger("afterrender",this,e),t&&this.unbind(e,t)},renderQuad:function(e){d.material=this.material,e.renderPass([d],f)},dispose:function(e){}});t.a=p},function(e,t,r){"use strict";t.a=function(e,t,r){return{seriesType:e,reset:function(e,t){function r(e,t){var r=e.getItemModel(t),n=r.get(i,!0);null!=n&&e.setItemVisual(t,"opacity",n)}var n=e.getData(),i=e.visualColorAccessPath.split(".");i[i.length-1]="opacity";var a=e.get(i);return n.setVisual("opacity",null==a?1:a),{dataEach:n.hasItemOption?r:null}}}}},function(e,t,r){"use strict";var n=r(3),i=r(12),a=i.a.set,o=i.a.copy,s=function(e,t){this.min=e||new n.a(1/0,1/0,1/0),this.max=t||new n.a(-1/0,-1/0,-1/0),this.vertices=null};s.prototype={constructor:s,updateFromVertices:function(e){if(e.length>0){var t=this.min,r=this.max,n=t.array,i=r.array;o(n,e[0]),o(i,e[0]);for(var a=1;ai[0]&&(i[0]=s[0]),s[1]>i[1]&&(i[1]=s[1]),s[2]>i[2]&&(i[2]=s[2])}t._dirty=!0,r._dirty=!0}},union:function(e){var t=this.min,r=this.max;return i.a.min(t.array,t.array,e.min.array),i.a.max(r.array,r.array,e.max.array),t._dirty=!0,r._dirty=!0,this},intersection:function(e){var t=this.min,r=this.max;return i.a.max(t.array,t.array,e.min.array),i.a.min(r.array,r.array,e.max.array),t._dirty=!0,r._dirty=!0,this},intersectBoundingBox:function(e){var t=this.min.array,r=this.max.array,n=e.min.array,i=e.max.array;return!(t[0]>i[0]||t[1]>i[1]||t[2]>i[2]||r[0]=i[0]&&r[1]>=i[1]&&r[2]>=i[2]},containPoint:function(e){var t=this.min.array,r=this.max.array,n=e.array;return t[0]<=n[0]&&t[1]<=n[1]&&t[2]<=n[2]&&r[0]>=n[0]&&r[1]>=n[1]&&r[2]>=n[2]},isFinite:function(){var e=this.min.array,t=this.max.array;return isFinite(e[0])&&isFinite(e[1])&&isFinite(e[2])&&isFinite(t[0])&&isFinite(t[1])&&isFinite(t[2])},applyTransform:function(e){this.transformFrom(this,e)},transformFrom:function(){var e=i.a.create(),t=i.a.create(),r=i.a.create(),n=i.a.create(),a=i.a.create(),o=i.a.create();return function(i,s){var u=i.min.array,l=i.max.array,h=s.array;return e[0]=h[0]*u[0],e[1]=h[1]*u[0],e[2]=h[2]*u[0],t[0]=h[0]*l[0],t[1]=h[1]*l[0],t[2]=h[2]*l[0],r[0]=h[4]*u[1],r[1]=h[5]*u[1],r[2]=h[6]*u[1],n[0]=h[4]*l[1],n[1]=h[5]*l[1],n[2]=h[6]*l[1],a[0]=h[8]*u[2],a[1]=h[9]*u[2],a[2]=h[10]*u[2],o[0]=h[8]*l[2],o[1]=h[9]*l[2],o[2]=h[10]*l[2],u=this.min.array,l=this.max.array,u[0]=Math.min(e[0],t[0])+Math.min(r[0],n[0])+Math.min(a[0],o[0])+h[12],u[1]=Math.min(e[1],t[1])+Math.min(r[1],n[1])+Math.min(a[1],o[1])+h[13],u[2]=Math.min(e[2],t[2])+Math.min(r[2],n[2])+Math.min(a[2],o[2])+h[14],l[0]=Math.max(e[0],t[0])+Math.max(r[0],n[0])+Math.max(a[0],o[0])+h[12],l[1]=Math.max(e[1],t[1])+Math.max(r[1],n[1])+Math.max(a[1],o[1])+h[13],l[2]=Math.max(e[2],t[2])+Math.max(r[2],n[2])+Math.max(a[2],o[2])+h[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(e){var t=this.min.array,r=this.max.array,n=e.array,i=t[0],a=t[1],o=t[2],s=r[0],u=r[1],l=t[2],h=r[0],c=r[1],d=r[2];if(1===n[15])t[0]=n[0]*i+n[12],t[1]=n[5]*a+n[13],r[2]=n[10]*o+n[14],r[0]=n[0]*h+n[12],r[1]=n[5]*c+n[13],t[2]=n[10]*d+n[14];else{var f=-1/o;t[0]=n[0]*i*f,t[1]=n[5]*a*f,r[2]=(n[10]*o+n[14])*f,f=-1/l,r[0]=n[0]*s*f,r[1]=n[5]*u*f,f=-1/d,t[2]=(n[10]*d+n[14])*f}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var e=this.vertices;if(!e){e=[];for(var t=0;t<8;t++)e[t]=i.a.fromValues(0,0,0);this.vertices=e}var r=this.min.array,n=this.max.array;return a(e[0],r[0],r[1],r[2]),a(e[1],r[0],n[1],r[2]),a(e[2],n[0],r[1],r[2]),a(e[3],n[0],n[1],r[2]),a(e[4],r[0],r[1],n[2]),a(e[5],r[0],n[1],n[2]),a(e[6],n[0],r[1],n[2]),a(e[7],n[0],n[1],n[2]),this},copy:function(e){var t=this.min,r=this.max;return o(t.array,e.min.array),o(r.array,e.max.array),t._dirty=!0,r._dirty=!0,this},clone:function(){var e=new s;return e.copy(this),e}},t.a=s},function(e,t,r){"use strict";function n(e){var t=Object.keys(e);t.sort();for(var r=[],n=0;n=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(e,t){if("object"==typeof e)for(var r in e){var n=e[r];this.setUniform(r,n)}else this.setUniform(e,t)},get:function(e){var t=this.uniforms[e];if(t)return t.value},attachShader:function(e,t){var r=this.uniforms;this.uniforms=e.createUniforms(),this.shader=e;var n=this.uniforms;this._enabledUniforms=Object.keys(n),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(e){var t=this.uniforms[e].type;return"t"===t||"tv"===t},this);var i=this.vertexDefines,a=this.fragmentDefines;if(this.vertexDefines=o.a.clone(e.vertexDefines),this.fragmentDefines=o.a.clone(e.fragmentDefines),t){for(var s in r)n[s]&&(n[s].value=r[s].value);o.a.defaults(this.vertexDefines,i),o.a.defaults(this.fragmentDefines,a)}var u={};for(var l in e.textures)u[l]={shaderType:e.textures[l].shaderType,type:e.textures[l].type,enabled:!(!t||!this._textureStatus[l])&&this._textureStatus[l].enabled};this._textureStatus=u,this._programKey=""},clone:function(){var e=new this.constructor({name:this.name,shader:this.shader});for(var t in this.uniforms)e.uniforms[t].value=this.uniforms[t].value;return e.depthTest=this.depthTest,e.depthMask=this.depthMask,e.transparent=this.transparent,e.blend=this.blend,e.vertexDefines=o.a.clone(this.vertexDefines),e.fragmentDefines=o.a.clone(this.fragmentDefines),e.enableTexture(this.getEnabledTextures()),e.precision=this.precision,e},define:function(e,t,r){var n=this.vertexDefines,i=this.fragmentDefines;"vertex"!==e&&"fragment"!==e&&"both"!==e&&arguments.length<3&&(r=t,t=e,e="both"),r=null!=r?r:null,"vertex"!==e&&"both"!==e||n[t]!==r&&(n[t]=r,this._programKey=""),"fragment"!==e&&"both"!==e||i[t]!==r&&(i[t]=r,"both"!==e&&(this._programKey=""))},undefine:function(e,t){"vertex"!==e&&"fragment"!==e&&"both"!==e&&arguments.length<2&&(t=e,e="both"),"vertex"!==e&&"both"!==e||this.isDefined("vertex",t)&&(delete this.vertexDefines[t],this._programKey=""),"fragment"!==e&&"both"!==e||this.isDefined("fragment",t)&&(delete this.fragmentDefines[t],"both"!==e&&(this._programKey=""))},isDefined:function(e,t){switch(e){case"vertex":return void 0!==this.vertexDefines[t];case"fragment":return void 0!==this.fragmentDefines[t]}},getDefine:function(e,t){switch(e){case"vertex":return this.vertexDefines[t];case"fragment":return this.fragmentDefines[t]}},enableTexture:function(e){if(Array.isArray(e))for(var t=0;t=r.x&&t>=r.y&&e<=r.x+r.width&&t<=r.y+r.height};var _=new d.a;n.prototype.castRay=function(e,t,r){var n=this.layer.renderer,i=n.viewport;return n.viewport=this.viewport,n.screenToNDC(e,t,_),this.camera.castRay(_,r),n.viewport=i,r},n.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this.scene.updateLights();var e=this.scene.updateRenderList(this.camera);this._needsSortProgressively=!1;for(var t=0;t30},n.prototype._doRender=function(e,t,r){var n=this.scene,i=this.camera;r=r||0,this._updateTransparent(e,n,i,r),t||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(e,n,i,!0)),this._updateShadowPCFKernel(r);var a=e.clearColor;if(e.gl.clearColor(a[0],a[1],a[2],a[3]),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(e,i),this._compositor.updateNormal(e,n,i,this._temporalSS.getFrame())),this._updateSSAO(e,n,i,this._temporalSS.getFrame()),this._enablePostEffect){var o=this._compositor.getSourceFrameBuffer();o.bind(e),e.gl.clear(e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT),e.render(n,i,!0,!0),o.unbind(e),this.needsTemporalSS()&&t?(this._compositor.composite(e,n,i,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),e.setViewport(this.viewport),this._temporalSS.render(e)):(e.setViewport(this.viewport),this._compositor.composite(e,n,i,null,0))}else if(this.needsTemporalSS()&&t){var o=this._temporalSS.getSourceFrameBuffer();o.bind(e),e.saveClear(),e.clearBit=e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT,e.render(n,i,!0,!0),e.restoreClear(),o.unbind(e),e.setViewport(this.viewport),this._temporalSS.render(e)}else e.setViewport(this.viewport),e.render(n,i,!0,!0)},n.prototype._updateTransparent=function(e,t,r,n){for(var i=new c.a,a=new h.a,o=r.getWorldPosition(),s=t.getRenderList(r).transparent,u=0;uthis.camera.far||e65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(e){this.triangleCount!==e&&(this.indices=0===e?null:this.vertexCount>65535?new Uint32Array(3*e):new Uint16Array(3*e))},_getCubicCurveApproxStep:function(e,t,r,n){return 1/(u.dist(e,t)+u.dist(r,t)+u.dist(n,r)+1)*this.segmentScale},getCubicCurveVertexCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?2*a:2*a+2},getCubicCurveTriangleCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?0:2*a},getLineVertexCount:function(){return this.getPolylineVertexCount(l)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(l)},getPolylineVertexCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/3}return this.useNativeLine?2*(t-1):2*(t-1)+2},getPolylineTriangleCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/3}return this.useNativeLine?0:2*Math.max(t-1,0)},addCubicCurve:function(e,t,r,n,i,a){null==a&&(a=1);for(var o=e[0],s=e[1],u=e[2],l=t[0],h=t[1],c=t[2],d=r[0],f=r[1],p=r[2],m=n[0],g=n[1],_=n[2],v=this._getCubicCurveApproxStep(e,t,r,n),y=v*v,x=y*v,T=3*v,b=3*y,w=6*y,E=6*x,S=o-2*l+d,A=s-2*h+f,M=u-2*c+p,C=3*(l-d)-o+m,L=3*(h-f)-s+g,D=3*(c-p)-u+_,N=o,R=s,P=u,I=(l-o)*T+S*b+C*x,O=(h-s)*T+A*b+L*x,F=(c-u)*T+M*b+D*x,B=S*w+C*E,U=A*w+L*E,z=M*w+D*E,G=C*E,H=L*E,V=D*E,k=0,W=0,j=Math.ceil(1/v),X=new Float32Array(3*(j+1)),X=[],q=0,W=0;W1&&(N=I>0?Math.min(N,m):Math.max(N,m),R=O>0?Math.min(R,g):Math.max(R,g),P=F>0?Math.min(P,_):Math.max(P,_));return this.addPolyline(X,i,a)},addLine:function(e,t,r,n){return this.addPolyline([e,t],r,n)},addPolyline:function(e,t,r,n,i){if(e.length){var a="number"!=typeof e[0];if(null==i&&(i=a?e.length:e.length/3),!(i<2)){null==n&&(n=0),null==r&&(r=1),this._itemVertexOffsets.push(this._vertexOffset);var o,s,a="number"!=typeof e[0],u=a?"number"!=typeof t[0]:t.length/4===i,l=this.attributes.position,h=this.attributes.positionPrev,c=this.attributes.positionNext,d=this.attributes.color,f=this.attributes.offset,p=this.indices,m=this._vertexOffset;r=Math.max(r,.01);for(var g=n;g1&&(l.copy(m,m-1),d.copy(m,m-1),m++):(g0&&(c.set(m-2,o),c.set(m-1,o)),l.set(m,o),l.set(m+1,o),d.set(m,s),d.set(m+1,s),f.set(m,r/2),f.set(m+1,-r/2),m+=2),this.useNativeLine)d.set(m,s),l.set(m,o),m++;else if(g>0){var y=3*this._triangleOffset,p=this.indices;p[y]=m-4,p[y+1]=m-3,p[y+2]=m-2,p[y+3]=m-3,p[y+4]=m-1,p[y+5]=m-2,this._triangleOffset+=2}}if(!this.useNativeLine){var x=this._vertexOffset,T=this._vertexOffset+2*i;h.copy(x,x+2),h.copy(x+1,x+3),c.copy(T-1,T-3),c.copy(T-2,T-4)}return this._vertexOffset=m,this._vertexOffset}}},setItemColor:function(e,t){for(var r=this._itemVertexOffsets[e],n=e1&&t.texParameterf(t.TEXTURE_CUBE_MAP,i.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),36193===n){e.getGLExtension("OES_texture_half_float")||(n=a.a.FLOAT)}if(this.mipmaps.length)for(var o=this.width,s=this.height,u=0;u0&&(o=1/Math.sqrt(o),e[0]=t[0]*o,e[1]=t[1]*o,e[2]=t[2]*o,e[3]=t[3]*o),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]+e[3]*t[3]},i.lerp=function(e,t,r,n){var i=t[0],a=t[1],o=t[2],s=t[3];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e[2]=o+n*(r[2]-o),e[3]=s+n*(r[3]-s),e},i.random=function(e,t){return t=t||1,e[0]=Object(n.c)(),e[1]=Object(n.c)(),e[2]=Object(n.c)(),e[3]=Object(n.c)(),i.normalize(e,e),i.scale(e,e,t),e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3];return e[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,e[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,e[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,e[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,e},i.transformQuat=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=r[0],s=r[1],u=r[2],l=r[3],h=l*n+s*a-u*i,c=l*i+u*n-o*a,d=l*a+o*i-s*n,f=-o*n-s*i-u*a;return e[0]=h*l+f*-o+c*-u-d*-s,e[1]=c*l+f*-s+d*-o-h*-u,e[2]=d*l+f*-u+h*-s-c*-o,e},i.forEach=function(){var e=i.create();return function(t,r,n,i,a,o){var s,u;for(r||(r=4),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;s0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(e)):e instanceof s.a&&this.lights.push(e),e.name&&(this._nodeRepository[e.name]=e)},removeFromScene:function(e){var t;e instanceof u.a?(t=this._cameraList.indexOf(e))>=0&&this._cameraList.splice(t,1):e instanceof s.a&&(t=this.lights.indexOf(e))>=0&&this.lights.splice(t,1),e.name&&delete this._nodeRepository[e.name]},getNode:function(e){return this._nodeRepository[e]},setMainCamera:function(e){var t=this._cameraList.indexOf(e);t>=0&&this._cameraList.splice(t,1),this._cameraList.unshift(e)},getMainCamera:function(){return this._cameraList[0]},getLights:function(){return this.lights},updateLights:function(){var e=this.lights;this._previousLightNumber=this._lightNumber;for(var t={},r=0;r0&&this._doUpdateRenderList(o,t,r,n,i)}},isFrustumCulled:function(){var e=new l.a,t=new f.a;return function(r,n,i){var a=r.boundingBox;if(a||(a=r.skeleton&&r.skeleton.boundingBox?r.skeleton.boundingBox:r.geometry.boundingBox),!a)return!1;if(t.array=i,e.transformFrom(a,t),r.castShadow&&this.viewBoundingBoxLastFrame.union(e),r.frustumCulling){if(!e.intersectBoundingBox(n.frustum.boundingBox))return!0;t.array=n.projectionMatrix.array,e.max.array[2]>0&&e.min.array[2]<0&&(e.max.array[2]=-1e-20),e.applyProjection(t);var o=e.min.array,s=e.max.array;if(s[0]<-1||o[0]>1||s[1]<-1||o[1]>1||s[2]<-1||o[2]>1)return!0}return!1}}(),_updateLightUniforms:function(){var e=this.lights;e.sort(a);var t=this._lightUniforms;for(var r in t)for(var n in t[r])t[r][n].value.length=0;for(var i=0;i0?e[t].value=new Float32Array(e[t].value):e[t].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(e,t,r){"use strict";function n(e,t){var r=[];return a.a.util.each(e.dimensions,function(n){var i=e.getDimensionInfo(n),a=i.otherDims,o=a[t];null!=o&&!1!==o&&(r[o]=i.name)}),r}var i=r(0),a=r.n(i);t.a=function(e,t,r){var i=e.getData(),o=e.getRawValue(t),s=a.a.util.isArray(o)?function(e){function o(e,t){var n=i.getDimensionInfo(t);if(n&&!1!==n.otherDims.tooltip){var o=n.type,l=(s?"- "+(n.tooltipName||n.name)+": ":"")+("ordinal"===o?e+"":"time"===o?r?"":a.a.format.formatTime("yyyy/MM/dd hh:mm:ss",e):a.a.format.addCommas(e));l&&u.push(a.a.format.encodeHTML(l))}}var s=!0,u=[],l=n(i,"tooltip");return l.length?a.a.util.each(l,function(e){o(i.get(e,t),e)}):a.a.util.each(e,o),(s?"
":"")+u.join(s?"
":", ")}(o):a.a.format.encodeHTML(a.a.format.addCommas(o)),u=i.getName(t),l=i.getItemVisual(t,"color");a.a.util.isObject(l)&&l.colorStops&&(l=(l.colorStops[0]||{}).color),l=l||"transparent";var h=a.a.format.getTooltipMarker(l),c=e.name;return"\0-"===c&&(c=""),c=c?a.a.format.encodeHTML(c)+(r?": ":"
"):"",r?h+c+s:c+h+(u?a.a.format.encodeHTML(u)+": "+s:s)}},function(e,t,r){"use strict";var n=r(72),i=r(11),a=n.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},clone:function(){var e=n.a.prototype.clone.call(this);return e.skeleton=this.skeleton,this.joints&&(e.joints=this.joints.slice()),e}});a.POINTS=i.a.POINTS,a.LINES=i.a.LINES,a.LINE_LOOP=i.a.LINE_LOOP,a.LINE_STRIP=i.a.LINE_STRIP,a.TRIANGLES=i.a.TRIANGLES,a.TRIANGLE_STRIP=i.a.TRIANGLE_STRIP,a.TRIANGLE_FAN=i.a.TRIANGLE_FAN,a.BACK=i.a.BACK,a.FRONT=i.a.FRONT,a.FRONT_AND_BACK=i.a.FRONT_AND_BACK,a.CW=i.a.CW,a.CCW=i.a.CCW,t.a=a},function(e,t,r){"use strict";var n=r(58),i=n.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var e=this.fov/180*Math.PI;this.projectionMatrix.perspective(e,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var e=this.projectionMatrix.array,t=2*Math.atan(1/e[5]);this.fov=t/Math.PI*180,this.aspect=e[5]/e[0],this.near=e[14]/(e[10]-1),this.far=e[14]/(e[10]+1)},clone:function(){var e=n.a.prototype.clone.call(this);return e.fov=this.fov,e.aspect=this.aspect,e.near=this.near,e.far=this.far,e}});t.a=i},function(e,t,r){"use strict";var n=r(40),i=r(76),a=r(8),o=r(19),s=r(4),u=r(121);a.a.import(u.a);var l=n.a.extend(function(){var e=new a.a({vertex:a.a.source("clay.skybox.vertex"),fragment:a.a.source("clay.skybox.fragment")}),t=new o.a({shader:e,depthMask:!1});return{scene:null,geometry:new i.a,material:t,environmentMap:null,culling:!1}},function(){var e=this.scene;e&&this.attachScene(e),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(e){this.scene&&this.detachScene(),e.skybox=this,this.scene=e,e.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(e){this.detachScene(),this.geometry.dispose(e)},setEnvironmentMap:function(e){"texture2D"===e.textureType?(this.material.define("EQUIRECTANGULAR"),e.minFilter=s.a.LINEAR):this.material.undefine("EQUIRECTANGULAR"),this.material.set("environmentMap",e)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(e,t,r){this.renderSkybox(e,r)},renderSkybox:function(e,t){this.position.copy(t.getWorldPosition()),this.update(),e.gl.disable(e.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),e.renderPass([this],t)}});t.a=l},function(e,t,r){"use strict";var n=r(15),i=r(18),a=n.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var e=this.heightSegments,t=this.widthSegments,r=this.attributes,n=[],a=[],o=[],s=[],u=0;u<=e;u++)for(var l=u/e,h=0;h<=t;h++){var c=h/t;if(n.push([2*c-1,2*l-1,0]),a&&a.push([c,l]),o&&o.push([0,0,1]),h0&&this._notFirst?this.animateTo({alpha:h,beta:c,center:d,distance:a,targetOrthographicSize:o,easing:l.animationEasingUpdate,duration:l.animationDurationUpdate}):(this.setDistance(a),this.setAlpha(h),this.setBeta(c),this.setCenter(d),this.setOrthographicSize(o)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){},animateTo:function(e){var t=this.zr,r=this,n={},i={};return null!=e.distance&&(n.distance=this.getDistance(),i.distance=e.distance),null!=e.orthographicSize&&(n.orthographicSize=this.getOrthographicSize(),i.orthographicSize=e.orthographicSize),null!=e.alpha&&(n.alpha=this.getAlpha(),i.alpha=e.alpha),null!=e.beta&&(n.beta=this.getBeta(),i.beta=e.beta),null!=e.center&&(n.center=this.getCenter(),i.center=e.center),this._addAnimator(t.animation.animate(n).when(e.duration||1e3,i).during(function(){null!=n.alpha&&r.setAlpha(n.alpha),null!=n.beta&&r.setBeta(n.beta),null!=n.distance&&r.setDistance(n.distance),null!=n.center&&r.setCenter(n.center),null!=n.orthographicSize&&r.setOrthographicSize(n.orthographicSize),r._needsUpdate=!0})).start(e.easing||"linear")},stopAllAnimation:function(){for(var e=0;e0},_update:function(e){if(this._rotating){var t=("cw"===this.autoRotateDirection?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=t*e/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(e=Math.min(e,50),this._updateDistanceOrSize(e),this._updatePan(e),this._updateRotate(e),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(e){var t=this._rotateVelocity;this._phi=t.y*e/20+this._phi,this._theta=t.x*e/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(t,Math.pow(this.damping,e/16))},_updateDistanceOrSize:function(e){"perspective"===this._projection?this._setDistance(this._distance+this._zoomSpeed*e/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*e/20),this._zoomSpeed*=Math.pow(this.damping,e/16)},_setDistance:function(e){this._distance=Math.max(Math.min(e,this.maxDistance),this.minDistance)},_setOrthoSize:function(e){this._orthoSize=Math.max(Math.min(e,this.maxOrthographicSize),this.minOrthographicSize);var t=this.getCamera(),r=this._orthoSize,n=r/this.viewGL.viewport.height*this.viewGL.viewport.width;t.left=-n/2,t.right=n/2,t.top=r/2,t.bottom=-r/2},_updatePan:function(e){var t=this._panVelocity,r=this._distance,n=this.getCamera(),i=n.worldTransform.y,a=n.worldTransform.x;this._center.scaleAndAdd(a,-t.x*r/200).scaleAndAdd(i,-t.y*r/200),this._vectorDamping(t,0)},_updateTransform:function(){var e=this.getCamera(),t=new o.a,r=this._theta+Math.PI/2,n=this._phi+Math.PI/2,i=Math.sin(r);t.x=i*Math.cos(n),t.y=-Math.cos(r),t.z=i*Math.sin(n),e.position.copy(this._center).scaleAndAdd(t,this._distance),e.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var e=this.autoRotateAfterStill,t=this;!isNaN(e)&&e>0&&(this._stillTimeout=setTimeout(function(){t._rotating=!0},1e3*e))},_vectorDamping:function(e,t){var r=e.len();r*=t,r<1e-4&&(r=0),e.normalize().scale(r)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var e=this.getCamera().worldTransform.z,t=Math.asin(e.y),r=Math.atan2(e.x,e.z);this._theta=t,this._phi=-r,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(e){if(!e.target&&!this._isAnimating()){var t=e.offsetX,r=e.offsetY;this.viewGL&&!this.viewGL.containPoint(t,r)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),e.event.targetTouches?1===e.event.targetTouches.length&&(this._mode="rotate"):e.event.button===l[this.rotateMouseButton]?this._mode="rotate":e.event.button===l[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=e.offsetX,this._mouseY=e.offsetY)}},_mouseMoveHandler:function(e){if(!(e.target&&e.target.__isGLToZRProxy||this._isAnimating())){var t=n(this.panSensitivity),r=n(this.rotateSensitivity);"rotate"===this._mode?(this._rotateVelocity.y=(e.offsetX-this._mouseX)/this.zr.getHeight()*2*r[0],this._rotateVelocity.x=(e.offsetY-this._mouseY)/this.zr.getWidth()*2*r[1]):"pan"===this._mode&&(this._panVelocity.x=(e.offsetX-this._mouseX)/this.zr.getWidth()*t[0]*400,this._panVelocity.y=(-e.offsetY+this._mouseY)/this.zr.getHeight()*t[1]*400),this._mouseX=e.offsetX,this._mouseY=e.offsetY,e.event.preventDefault()}},_mouseWheelHandler:function(e){if(!this._isAnimating()){var t=e.event.wheelDelta||-e.event.detail;this._zoomHandler(e,t)}},_pinchHandler:function(e){this._isAnimating()||(this._zoomHandler(e,e.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(e,t){if(0!==t){var r=e.offsetX,n=e.offsetY;if(!this.viewGL||this.viewGL.containPoint(r,n)){var i;i="perspective"===this._projection?Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(t>0?-1:1)*i*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&"rotate"===this._mode&&this._startCountingStill(),e.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return"right"===this.rotateMouseButton||"right"===this.panMouseButton},_contextMenuHandler:function(e){this._isRightMouseButtonUsed()&&e.preventDefault()},_addAnimator:function(e){var t=this._animators;return t.push(e),e.done(function(){var r=t.indexOf(e);r>=0&&t.splice(r,1)}),e}});Object.defineProperty(h.prototype,"autoRotate",{get:function(e){return this._autoRotate},set:function(e){this._autoRotate=e,this._rotating=e}}),t.a=h},function(e,t,r){"use strict";t.a="@export ecgl.lines3D.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec3 position: POSITION;\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n\nvoid main()\n{\n gl_Position = worldViewProjection * vec4(position, 1.0);\n v_Color = a_Color;\n}\n\n@end\n\n@export ecgl.lines3D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\n\n@import clay.util.srgb\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color * v_Color);\n#else\n gl_FragColor = color * v_Color;\n#endif\n}\n@end\n\n\n\n@export ecgl.lines3D.clipNear\n\nvec4 clipNear(vec4 p1, vec4 p2) {\n float n = (p1.w - near) / (p1.w - p2.w);\n return vec4(mix(p1.xy, p2.xy, n), -near, near);\n}\n\n@end\n\n@export ecgl.lines3D.expandLine\n#ifdef VERTEX_ANIMATION\n vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);\n vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);\n vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);\n#else\n vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);\n vec4 currProj = worldViewProjection * vec4(position, 1.0);\n vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);\n#endif\n\n if (currProj.w < 0.0) {\n if (nextProj.w > 0.0) {\n currProj = clipNear(currProj, nextProj);\n }\n else if (prevProj.w > 0.0) {\n currProj = clipNear(currProj, prevProj);\n }\n }\n\n vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;\n vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;\n vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;\n\n vec2 dir;\n float len = offset;\n if (position == positionPrev) {\n dir = normalize(nextScreen - currScreen);\n }\n else if (position == positionNext) {\n dir = normalize(currScreen - prevScreen);\n }\n else {\n vec2 dirA = normalize(currScreen - prevScreen);\n vec2 dirB = normalize(nextScreen - currScreen);\n\n vec2 tanget = normalize(dirA + dirB);\n\n float miter = 1.0 / max(dot(tanget, dirA), 0.5);\n len *= miter;\n dir = tanget;\n }\n\n dir = vec2(-dir.y, dir.x) * len;\n currScreen += dir;\n\n currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);\n@end\n\n\n@export ecgl.meshLines3D.vertex\n\nattribute vec3 position: POSITION;\nattribute vec3 positionPrev;\nattribute vec3 positionNext;\nattribute float offset;\nattribute vec4 a_Color : COLOR;\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nattribute vec3 prevPositionPrev;\nattribute vec3 prevPositionNext;\nuniform float percent : 1.0;\n#endif\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform vec4 viewport : VIEWPORT;\nuniform float near : NEAR;\n\nvarying vec4 v_Color;\n\n@import ecgl.common.wireframe.vertexHeader\n\n@import ecgl.lines3D.clipNear\n\nvoid main()\n{\n @import ecgl.lines3D.expandLine\n\n gl_Position = currProj;\n\n v_Color = a_Color;\n\n @import ecgl.common.wireframe.vertexMain\n}\n@end\n\n\n@export ecgl.meshLines3D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.util.srgb\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color * v_Color);\n#else\n gl_FragColor = color * v_Color;\n#endif\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,r){function n(e,t,r,n,i){var a=0,o=0;null==n&&(n=1/0),null==i&&(i=1/0);var s=0;t.eachChild(function(u,l){var h,c,d=u.position,f=u.getBoundingRect(),p=t.childAt(l+1),m=p&&p.getBoundingRect();if("horizontal"===e){var g=f.width+(m?-m.x+f.x:0);h=a+g,h>n||u.newline?(a=0,h=g,o+=s+r,s=f.height):s=Math.max(s,f.height)}else{var _=f.height+(m?-m.y+f.y:0);c=o+_,c>i||u.newline?(a+=s+r,o=0,c=_,s=f.width):s=Math.max(s,f.width)}u.newline||(d[0]=a,d[1]=o,"horizontal"===e?a=h+r:o=c+r)})}function i(e,t,r){var n=t.width,i=t.height,a=p(e.x,n),o=p(e.y,i),s=p(e.x2,n),u=p(e.y2,i);return(isNaN(a)||isNaN(parseFloat(e.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(e.x2)))&&(s=n),(isNaN(o)||isNaN(parseFloat(e.y)))&&(o=0),(isNaN(u)||isNaN(parseFloat(e.y2)))&&(u=i),r=m.normalizeCssArray(r||0),{width:Math.max(s-a-r[1]-r[3],0),height:Math.max(u-o-r[0]-r[2],0)}}function a(e,t,r){r=m.normalizeCssArray(r||0);var n=t.width,i=t.height,a=p(e.left,n),o=p(e.top,i),s=p(e.right,n),u=p(e.bottom,i),l=p(e.width,n),h=p(e.height,i),c=r[2]+r[0],f=r[1]+r[3],g=e.aspect;switch(isNaN(l)&&(l=n-s-f-a),isNaN(h)&&(h=i-u-c-o),null!=g&&(isNaN(l)&&isNaN(h)&&(g>n/i?l=.8*n:h=.8*i),isNaN(l)&&(l=g*h),isNaN(h)&&(h=l/g)),isNaN(a)&&(a=n-s-l-f),isNaN(o)&&(o=i-u-h-c),e.left||e.right){case"center":a=n/2-l/2-r[3];break;case"right":a=n-l-f}switch(e.top||e.bottom){case"middle":case"center":o=i/2-h/2-r[0];break;case"bottom":o=i-h-c}a=a||0,o=o||0,isNaN(l)&&(l=n-f-a-(s||0)),isNaN(h)&&(h=i-c-o-(u||0));var _=new d(a+r[3],o+r[0],l,h);return _.margin=r,_}function o(e,t,r,n,i){var o=!i||!i.hv||i.hv[0],s=!i||!i.hv||i.hv[1],u=i&&i.boundingMode||"all";if(o||s){var l;if("raw"===u)l="group"===e.type?new d(0,0,+t.width||0,+t.height||0):e.getBoundingRect();else if(l=e.getBoundingRect(),e.needLocalTransform()){var h=e.getLocalTransform();l=l.clone(),l.applyTransform(h)}t=a(c.defaults({width:l.width,height:l.height},t),r,n);var f=e.position,p=o?t.x-l.x:0,m=s?t.y-l.y:0;e.attr("position","raw"===u?[p,m]:[f[0]+p,f[1]+m])}}function s(e,t){return null!=e[v[t][0]]||null!=e[v[t][1]]&&null!=e[v[t][2]]}function u(e,t,r){function n(r,n){var o={},u=0,l={},h=0;if(g(r,function(t){l[t]=e[t]}),g(r,function(e){i(t,e)&&(o[e]=l[e]=t[e]),a(o,e)&&u++,a(l,e)&&h++}),s[n])return a(t,r[1])?l[r[2]]=null:a(t,r[2])&&(l[r[1]]=null),l;if(2!==h&&u){if(u>=2)return o;for(var c=0;c0){var t=this.outputs[e];t.keepLastFrame?(this._prevOutputTextures[e]&&this._compositor.releaseTexture(this._prevOutputTextures[e]),this._prevOutputTextures[e]=this._outputTextures[e]):this._compositor.releaseTexture(this._outputTextures[e])}}});t.a=i},function(e,t,r){"use strict";function n(e,t){for(var r=0,n=1/t,i=e;i>0;)r+=n*(i%t),i=Math.floor(i/t),n/=t;return r}t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);t.a=function(e,t,r){r=r||e.getSource();var n=t||i.a.getCoordinateSystemDimensions(e.get("coordinateSystem"))||["x","y","z"],a=i.a.helper.createDimensions(r,{dimensionsDefine:r.dimensionsDefine||e.get("dimensions"),encodeDefine:r.encodeDefine||e.get("encode"),coordDimensions:n.map(function(t){var r=e.getReferringComponents(t+"Axis3D")[0];return{type:r&&"category"===r.get("type")?"ordinal":"float",name:t}})});"cartesian3D"===e.get("coordinateSystem")&&a.forEach(function(t){if(n.indexOf(t.coordDim)>=0){var r=e.getReferringComponents(t.coordDim+"Axis3D")[0];r&&"category"===r.get("type")&&(t.ordinalMeta=r.getOrdinalMeta())}});var o=i.a.helper.dataStack.enableDataStack(e,a,{byIndex:!0,stackedCoordDimension:"z"}),s=new i.a.List(a,e);return s.setCalculationInfo(o),s.initData(r),s}},function(e,t){function r(e,t,r){return{seriesType:e,performRawSeries:!0,reset:function(e,n,i){function a(t,r){if("function"==typeof u){var n=e.getRawValue(r),i=e.getDataParams(r);t.setItemVisual(r,"symbolSize",u(n,i))}if(t.hasItemOption){var a=t.getItemModel(r),o=a.getShallow("symbol",!0),s=a.getShallow("symbolSize",!0),l=a.getShallow("symbolKeepAspect",!0);null!=o&&t.setItemVisual(r,"symbol",o),null!=s&&t.setItemVisual(r,"symbolSize",s),null!=l&&t.setItemVisual(r,"symbolKeepAspect",l)}}var o=e.getData(),s=e.get("symbol")||t,u=e.get("symbolSize"),l=e.get("symbolKeepAspect");if(o.setVisual({legendSymbol:r||s,symbol:s,symbolSize:u,symbolKeepAspect:l}),!n.isSeriesFiltered(e)){var h="function"==typeof u;return{dataEach:o.hasItemOption||h?a:null}}}}}e.exports=r},function(e,t,r){"use strict";function n(e){return e.material}function i(e,t,r){return t.uniforms[r].value}function a(e,t,r,n){return r!==n}function o(e){return!0}function s(){}function u(e,t,r){this.availableAttributes=e,this.availableAttributeSymbols=t,this.indicesBuffer=r,this.vao=null}function l(e){var t,r;this.bind=function(e){t||(t=f.a.createCanvas(),t.width=t.height=1,t.getContext("2d"));var n=e.gl,i=!r;i&&(r=n.createTexture()),n.bindTexture(n.TEXTURE_2D,r),i&&n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,t)},this.unbind=function(e){e.gl.bindTexture(e.gl.TEXTURE_2D,null)},this.isRenderable=function(){return!0}}var h=r(7),c=r(111),d=r(11),f=r(14),p=r(19),m=r(26),g=r(115),_=r(8),v=r(71),y=r(21),x=r(12);_.a.import(v.a);var T=y.a.create,b={},w={float:d.a.FLOAT,byte:d.a.BYTE,ubyte:d.a.UNSIGNED_BYTE,short:d.a.SHORT,ushort:d.a.UNSIGNED_SHORT},E=h.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:"undefined"!=typeof window&&window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=f.a.createCanvas());var e=this.canvas;try{var t={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),!this.gl)throw new Error;this._glinfo=new c.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(e){throw"Error creating WebGL Context "+e}this._programMgr=new g.a(this),this._placeholderTexture=new l(this)},{resize:function(e,t){var r=this.canvas,n=this.devicePixelRatio;null!=e?(r.style.width=e+"px",r.style.height=t+"px",r.width=e*n,r.height=t*n,this._width=e,this._height=t):(this._width=r.width/n,this._height=r.height/n),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var e=this.viewport;return e.width/e.height},setDevicePixelRatio:function(e){this.devicePixelRatio=e,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(e){return this._glinfo.getExtension(e)},getGLParameter:function(e){return this._glinfo.getParameter(e)},setViewport:function(e,t,r,n,i){if("object"==typeof e){var a=e;e=a.x,t=a.y,r=a.width,n=a.height,i=a.devicePixelRatio}i=i||this.devicePixelRatio,this.gl.viewport(e*i,t*i,r*i,n*i),this.viewport={x:e,y:t,width:r,height:n,devicePixelRatio:i}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var e=this._clearStack.pop();this.clearColor=e.clearColor,this.clearBit=e.clearBit}},bindSceneRendering:function(e){this._sceneRendering=e},render:function(e,t,r,n){var i=this.gl,a=this.clearColor;if(this.clearBit){i.colorMask(!0,!0,!0,!0),i.depthMask(!0);var o=this.viewport,s=!1,u=o.devicePixelRatio;(o.width!==this._width||o.height!==this._height||u&&u!==this.devicePixelRatio||o.x||o.y)&&(s=!0,i.enable(i.SCISSOR_TEST),i.scissor(o.x*u,o.y*u,o.width*u,o.height*u)),i.clearColor(a[0],a[1],a[2],a[3]),i.clear(this.clearBit),s&&i.disable(i.SCISSOR_TEST)}if(r||e.update(!1),e.updateLights(),!(t=t||e.getMainCamera()))return void console.error("Can't find camera in the scene.");t.update();var l=e.updateRenderList(t,!0);this._sceneRendering=e;var h=l.opaque,c=l.transparent,d=e.material;e.trigger("beforerender",this,e,t,l),n?(this.renderPreZ(h,e,t),i.depthFunc(i.LEQUAL)):i.depthFunc(i.LESS);for(var f=T(),p=x.a.create(),m=0;m0){var u=e[a-1],l=u.joints?u.joints.length:0;if((o.joints?o.joints.length:0)===l&&o.material===u.material&&o.lightGroup===u.lightGroup){o.__program=u.__program;continue}}var h=this._programMgr.getProgram(o,s,t);this.validateProgram(h),o.__program=h}},renderPass:function(e,t,r){this.trigger("beforerenderpass",this,e,t,r),r=r||{},r.getMaterial=r.getMaterial||n,r.getUniform=r.getUniform||i,r.isMaterialChanged=r.isMaterialChanged||a,r.beforeRender=r.beforeRender||s,r.afterRender=r.afterRender||s;var u=r.ifRender||o;this.updatePrograms(e,this._sceneRendering,r),r.sortCompare&&e.sort(r.sortCompare);var l=this.viewport,h=l.devicePixelRatio,c=[l.x*h,l.y*h,l.width*h,l.height*h],d=this.devicePixelRatio,f=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*d,this._height*d],p=[c[2],c[3]],m=Date.now();t?(y.a.copy(S.VIEW,t.viewMatrix.array),y.a.copy(S.PROJECTION,t.projectionMatrix.array),y.a.copy(S.VIEWINVERSE,t.worldTransform.array)):(y.a.identity(S.VIEW),y.a.identity(S.PROJECTION),y.a.identity(S.VIEWINVERSE)),y.a.multiply(S.VIEWPROJECTION,S.PROJECTION,S.VIEW),y.a.invert(S.PROJECTIONINVERSE,S.PROJECTION),y.a.invert(S.VIEWPROJECTIONINVERSE,S.VIEWPROJECTION);for(var g,_,v,x,T,b,w,E,A,M,C,L,D=this.gl,N=this._sceneRendering,R=this.getGLExtension("OES_vertex_array_object"),P=0;Pthis._glinfo.getMaxJointNumber()){var a=i.getSubSkinMatricesTexture(e.__uid__,e.joints);t.useTextureSlot(this,a,r),t.setUniform(n,"1i","skinMatricesTexture",r),t.setUniform(n,"1f","skinMatricesTextureSize",a.width)}else{var o=i.getSubSkinMatrices(e.__uid__,e.joints);t.setUniformOfSemantic(n,"SKIN_MATRIX",o)}},_renderObject:function(e,t){var r=this.gl,n=e.geometry,i=e.mode;if(null==i&&(i=4),t.indicesBuffer){var a=this.getGLExtension("OES_element_index_uint"),o=a&&n.indices instanceof Uint32Array,s=o?r.UNSIGNED_INT:r.UNSIGNED_SHORT;r.drawElements(i,t.indicesBuffer.count,s,0)}else r.drawArrays(i,0,n.vertexCount)},_bindMaterial:function(e,t,r,n,i,a,o){for(var s=this.gl,u=a===r,l=r.currentTextureSlot(),h=t.getEnabledUniforms(),c=t.getTextureUniforms(),d=this._placeholderTexture,f=0;fc)){var d=Math.sqrt(c-h),f=u-d,p=u+d;return a||(a=new n.a),f<0?p<0?null:(i.a.scaleAndAdd(a.array,o,s,p),a):(i.a.scaleAndAdd(a.array,o,s,f),a)}}}(),intersectBoundingBox:function(e,t){var r,a,o,s,u,l,h=this.direction.array,c=this.origin.array,d=e.min.array,f=e.max.array,p=1/h[0],m=1/h[1],g=1/h[2];if(p>=0?(r=(d[0]-c[0])*p,a=(f[0]-c[0])*p):(a=(d[0]-c[0])*p,r=(f[0]-c[0])*p),m>=0?(o=(d[1]-c[1])*m,s=(f[1]-c[1])*m):(s=(d[1]-c[1])*m,o=(f[1]-c[1])*m),r>s||o>a)return null;if((o>r||r!==r)&&(r=o),(s=0?(u=(d[2]-c[2])*g,l=(f[2]-c[2])*g):(l=(d[2]-c[2])*g,u=(f[2]-c[2])*g),r>l||u>a)return null;if((u>r||r!==r)&&(r=u),(l=0?r:a;return t||(t=new n.a),i.a.scaleAndAdd(t.array,c,h,_),t},intersectTriangle:function(){var e=i.a.create(),t=i.a.create(),r=i.a.create(),a=i.a.create();return function(o,s,u,l,h,c){var d=this.direction.array,f=this.origin.array;o=o.array,s=s.array,u=u.array,i.a.sub(e,s,o),i.a.sub(t,u,o),i.a.cross(a,t,d);var p=i.a.dot(e,a);if(l){if(p>-1e-5)return null}else if(p>-1e-5&&p<1e-5)return null;i.a.sub(r,f,o);var m=i.a.dot(a,r)/p;if(m<0||m>1)return null;i.a.cross(a,e,r);var g=i.a.dot(d,a)/p;if(g<0||g>1||m+g>1)return null;i.a.cross(a,e,t);var _=-i.a.dot(r,a)/p;return _<0?null:(h||(h=new n.a),c&&n.a.set(c,1-m-g,m,g),i.a.scaleAndAdd(h.array,f,d,_),h)}}(),applyTransform:function(e){n.a.add(this.direction,this.direction,this.origin),n.a.transformMat4(this.origin,this.origin,e),n.a.transformMat4(this.direction,this.direction,e),n.a.sub(this.direction,this.direction,this.origin),n.a.normalize(this.direction,this.direction)},copy:function(e){n.a.copy(this.origin,e.origin),n.a.copy(this.direction,e.direction)},clone:function(){var e=new a;return e.copy(this),e}},t.a=a},function(e,t,r){"use strict";var n=r(20),i=r(12),a=r(33),o=r(34),s={};s.create=function(){var e=new n.a(4);return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},s.rotationTo=function(){var e=i.a.create(),t=i.a.fromValues(1,0,0),r=i.a.fromValues(0,1,0);return function(n,a,o){var u=i.a.dot(a,o);return u<-.999999?(i.a.cross(e,t,a),i.a.length(e)<1e-6&&i.a.cross(e,r,a),i.a.normalize(e,e),s.setAxisAngle(n,e,Math.PI),n):u>.999999?(n[0]=0,n[1]=0,n[2]=0,n[3]=1,n):(i.a.cross(e,a,o),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=1+u,s.normalize(n,n))}}(),s.setAxes=function(){var e=o.a.create();return function(t,r,n,i){return e[0]=n[0],e[3]=n[1],e[6]=n[2],e[1]=i[0],e[4]=i[1],e[7]=i[2],e[2]=-r[0],e[5]=-r[1],e[8]=-r[2],s.normalize(t,s.fromMat3(t,e))}}(),s.clone=a.a.clone,s.fromValues=a.a.fromValues,s.copy=a.a.copy,s.set=a.a.set,s.identity=function(e){return e[0]=0,e[1]=0,e[2]=0,e[3]=1,e},s.setAxisAngle=function(e,t,r){r*=.5;var n=Math.sin(r);return e[0]=n*t[0],e[1]=n*t[1],e[2]=n*t[2],e[3]=Math.cos(r),e},s.add=a.a.add,s.multiply=function(e,t,r){var n=t[0],i=t[1],a=t[2],o=t[3],s=r[0],u=r[1],l=r[2],h=r[3];return e[0]=n*h+o*s+i*l-a*u,e[1]=i*h+o*u+a*s-n*l,e[2]=a*h+o*l+n*u-i*s,e[3]=o*h-n*s-i*u-a*l,e},s.mul=s.multiply,s.scale=a.a.scale,s.rotateX=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+o*s,e[1]=i*u+a*s,e[2]=a*u-i*s,e[3]=o*u-n*s,e},s.rotateY=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u-a*s,e[1]=i*u+o*s,e[2]=a*u+n*s,e[3]=o*u-i*s,e},s.rotateZ=function(e,t,r){r*=.5;var n=t[0],i=t[1],a=t[2],o=t[3],s=Math.sin(r),u=Math.cos(r);return e[0]=n*u+i*s,e[1]=i*u-n*s,e[2]=a*u+o*s,e[3]=o*u-a*s,e},s.calculateW=function(e,t){var r=t[0],n=t[1],i=t[2];return e[0]=r,e[1]=n,e[2]=i,e[3]=Math.sqrt(Math.abs(1-r*r-n*n-i*i)),e},s.dot=a.a.dot,s.lerp=a.a.lerp,s.slerp=function(e,t,r,n){var i,a,o,s,u,l=t[0],h=t[1],c=t[2],d=t[3],f=r[0],p=r[1],m=r[2],g=r[3];return a=l*f+h*p+c*m+d*g,a<0&&(a=-a,f=-f,p=-p,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,u=Math.sin(n*i)/o):(s=1-n,u=n),e[0]=s*l+u*f,e[1]=s*h+u*p,e[2]=s*c+u*m,e[3]=s*d+u*g,e},s.invert=function(e,t){var r=t[0],n=t[1],i=t[2],a=t[3],o=r*r+n*n+i*i+a*a,s=o?1/o:0;return e[0]=-r*s,e[1]=-n*s,e[2]=-i*s,e[3]=a*s,e},s.conjugate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e[2]=-t[2],e[3]=t[3],e},s.length=a.a.length,s.len=s.length,s.squaredLength=a.a.squaredLength,s.sqrLen=s.squaredLength,s.normalize=a.a.normalize,s.fromMat3=function(e,t){var r,n=t[0]+t[4]+t[8];if(n>0)r=Math.sqrt(n+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var i=0;t[4]>t[0]&&(i=1),t[8]>t[3*i+i]&&(i=2);var a=(i+1)%3,o=(i+2)%3;r=Math.sqrt(t[3*i+i]-t[3*a+a]-t[3*o+o]+1),e[i]=.5*r,r=.5/r,e[3]=(t[3*a+o]-t[3*o+a])*r,e[a]=(t[3*a+i]+t[3*i+a])*r,e[o]=(t[3*o+i]+t[3*i+o])*r}return e},t.a=s},function(e,t,r){"use strict";var n=r(55),i=r(34),a=function(e,t,r,i){e=e||0,t=t||0,r=r||0,i=void 0===i?1:i,this.array=n.a.fromValues(e,t,r,i),this._dirty=!0};a.prototype={constructor:a,add:function(e){return n.a.add(this.array,this.array,e.array),this._dirty=!0,this},calculateW:function(){return n.a.calculateW(this.array,this.array),this._dirty=!0,this},set:function(e,t,r,n){return this.array[0]=e,this.array[1]=t,this.array[2]=r,this.array[3]=n,this._dirty=!0,this},setArray:function(e){return this.array[0]=e[0],this.array[1]=e[1],this.array[2]=e[2],this.array[3]=e[3],this._dirty=!0,this},clone:function(){return new a(this.x,this.y,this.z,this.w)},conjugate:function(){return n.a.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(e){return n.a.copy(this.array,e.array),this._dirty=!0,this},dot:function(e){return n.a.dot(this.array,e.array)},fromMat3:function(e){return n.a.fromMat3(this.array,e.array),this._dirty=!0,this},fromMat4:function(){var e=i.a.create();return function(t){return i.a.fromMat4(e,t.array),i.a.transpose(e,e),n.a.fromMat3(this.array,e),this._dirty=!0,this}}(),identity:function(){return n.a.identity(this.array),this._dirty=!0,this},invert:function(){return n.a.invert(this.array,this.array),this._dirty=!0,this},len:function(){return n.a.len(this.array)},length:function(){return n.a.length(this.array)},lerp:function(e,t,r){return n.a.lerp(this.array,e.array,t.array,r),this._dirty=!0,this},mul:function(e){return n.a.mul(this.array,this.array,e.array),this._dirty=!0,this},mulLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},multiply:function(e){return n.a.multiply(this.array,this.array,e.array),this._dirty=!0,this},multiplyLeft:function(e){return n.a.multiply(this.array,e.array,this.array),this._dirty=!0,this},normalize:function(){return n.a.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(e){return n.a.rotateX(this.array,this.array,e),this._dirty=!0,this},rotateY:function(e){return n.a.rotateY(this.array,this.array,e),this._dirty=!0,this},rotateZ:function(e){return n.a.rotateZ(this.array,this.array,e),this._dirty=!0,this},rotationTo:function(e,t){return n.a.rotationTo(this.array,e.array,t.array),this._dirty=!0,this},setAxes:function(e,t,r){return n.a.setAxes(this.array,e.array,t.array,r.array),this._dirty=!0,this},setAxisAngle:function(e,t){return n.a.setAxisAngle(this.array,e.array,t),this._dirty=!0,this},slerp:function(e,t,r){return n.a.slerp(this.array,e.array,t.array,r),this._dirty=!0,this},sqrLen:function(){return n.a.sqrLen(this.array)},squaredLength:function(){return n.a.squaredLength(this.array)},fromEuler:function(e,t){return a.fromEuler(this,e,t)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var o=Object.defineProperty;if(o){var s=a.prototype;o(s,"x",{get:function(){return this.array[0]},set:function(e){this.array[0]=e,this._dirty=!0}}),o(s,"y",{get:function(){return this.array[1]},set:function(e){this.array[1]=e,this._dirty=!0}}),o(s,"z",{get:function(){return this.array[2]},set:function(e){this.array[2]=e,this._dirty=!0}}),o(s,"w",{get:function(){return this.array[3]},set:function(e){this.array[3]=e,this._dirty=!0}})}a.add=function(e,t,r){return n.a.add(e.array,t.array,r.array),e._dirty=!0,e},a.set=function(e,t,r,i,a){n.a.set(e.array,t,r,i,a),e._dirty=!0},a.copy=function(e,t){return n.a.copy(e.array,t.array),e._dirty=!0,e},a.calculateW=function(e,t){return n.a.calculateW(e.array,t.array),e._dirty=!0,e},a.conjugate=function(e,t){return n.a.conjugate(e.array,t.array),e._dirty=!0,e},a.identity=function(e){return n.a.identity(e.array),e._dirty=!0,e},a.invert=function(e,t){return n.a.invert(e.array,t.array),e._dirty=!0,e},a.dot=function(e,t){return n.a.dot(e.array,t.array)},a.len=function(e){return n.a.length(e.array)},a.lerp=function(e,t,r,i){return n.a.lerp(e.array,t.array,r.array,i),e._dirty=!0,e},a.slerp=function(e,t,r,i){return n.a.slerp(e.array,t.array,r.array,i),e._dirty=!0,e},a.mul=function(e,t,r){return n.a.multiply(e.array,t.array,r.array),e._dirty=!0,e},a.multiply=a.mul,a.rotateX=function(e,t,r){return n.a.rotateX(e.array,t.array,r),e._dirty=!0,e},a.rotateY=function(e,t,r){return n.a.rotateY(e.array,t.array,r),e._dirty=!0,e},a.rotateZ=function(e,t,r){return n.a.rotateZ(e.array,t.array,r),e._dirty=!0,e},a.setAxisAngle=function(e,t,r){return n.a.setAxisAngle(e.array,t.array,r),e._dirty=!0,e},a.normalize=function(e,t){return n.a.normalize(e.array,t.array),e._dirty=!0,e},a.sqrLen=function(e){return n.a.sqrLen(e.array)},a.squaredLength=a.sqrLen,a.fromMat3=function(e,t){return n.a.fromMat3(e.array,t.array),e._dirty=!0,e},a.setAxes=function(e,t,r,i){return n.a.setAxes(e.array,t.array,r.array,i.array),e._dirty=!0,e},a.rotationTo=function(e,t,r){return n.a.rotationTo(e.array,t.array,r.array),e._dirty=!0,e},a.fromEuler=function(e,t,r){e._dirty=!0,t=t.array;var n=e.array,i=Math.cos(t[0]/2),a=Math.cos(t[1]/2),o=Math.cos(t[2]/2),s=Math.sin(t[0]/2),u=Math.sin(t[1]/2),l=Math.sin(t[2]/2),r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":n[0]=s*a*o+i*u*l,n[1]=i*u*o-s*a*l,n[2]=i*a*l+s*u*o,n[3]=i*a*o-s*u*l;break;case"YXZ":n[0]=s*a*o+i*u*l,n[1]=i*u*o-s*a*l,n[2]=i*a*l-s*u*o,n[3]=i*a*o+s*u*l;break;case"ZXY":n[0]=s*a*o-i*u*l,n[1]=i*u*o+s*a*l,n[2]=i*a*l+s*u*o,n[3]=i*a*o-s*u*l;break;case"ZYX":n[0]=s*a*o-i*u*l,n[1]=i*u*o+s*a*l,n[2]=i*a*l-s*u*o,n[3]=i*a*o+s*u*l;break;case"YZX":n[0]=s*a*o+i*u*l,n[1]=i*u*o+s*a*l,n[2]=i*a*l-s*u*o,n[3]=i*a*o-s*u*l;break;case"XZY":n[0]=s*a*o-i*u*l,n[1]=i*u*o-s*a*l,n[2]=i*a*l+s*u*o,n[3]=i*a*o+s*u*l}},t.a=a},function(e,t,r){"use strict";var n=function(){this._contextId=0,this._caches=[],this._context={}};n.prototype={use:function(e,t){var r=this._caches;r[e]||(r[e]={},t&&(r[e]=t())),this._contextId=e,this._context=r[e]},put:function(e,t){this._context[e]=t},get:function(e){return this._context[e]},dirty:function(e){e=e||"";var t="__dt__"+e;this.put(t,!0)},dirtyAll:function(e){e=e||"";for(var t="__dt__"+e,r=this._caches,n=0;n=this._maxSize&&o>0){var u=r.head;r.remove(u),delete n[u.key],a=u.value,this._lastRemovedEntry=u}s?s.value=t:s=new i(t),s.key=e,r.insertEntry(s),n[e]=s}return a},o.get=function(e){var t=this._map[e],r=this._list;if(null!=t)return t!==r.tail&&(r.remove(t),r.insertEntry(t)),t.value},o.clear=function(){this._list.clear(),this._map={}};var s=a;e.exports=s},function(e,t,r){"use strict";var n=r(5),i=r(27),a=r(14),o=r(62),s=r(75),u=r(36),l=r(122),h=r(123),c={loadTexture:function(e,t,r,a){var o;if("function"==typeof t?(r=t,a=r,t={}):t=t||{},"string"==typeof e){if(e.match(/.hdr$/)||"hdr"===t.fileType)return o=new n.a({width:0,height:0,sRGB:!1}),c._fetchTexture(e,function(e){h.a.parseRGBE(e,o,t.exposure),o.dirty(),r&&r(o)},a),o;e.match(/.dds$/)||"dds"===t.fileType?(o=new n.a({width:0,height:0}),c._fetchTexture(e,function(e){l.a.parse(e,o),o.dirty(),r&&r(o)},a)):(o=new n.a,o.load(e),o.success(r),o.error(a))}else"object"==typeof e&&void 0!==e.px&&(o=new i.a,o.load(e),o.success(r),o.error(a));return o},loadPanorama:function(e,t,r,n,i,a){var o=this;"function"==typeof n?(i=n,a=i,n={}):n=n||{},c.loadTexture(t,n,function(t){t.flipY=n.flipY||!1,o.panoramaToCubeMap(e,t,r,n),t.dispose(e),i&&i(r)},a)},panoramaToCubeMap:function(e,t,r,n){var i=new o.a,a=new s.a({scene:new u.a});return a.setEnvironmentMap(t),n=n||{},n.encodeRGBM&&a.material.define("fragment","RGBM_ENCODE"),r.sRGB=t.sRGB,i.texture=r,i.render(e,a.scene),i.texture=null,i.dispose(e),r},heightToNormal:function(e,t){var r=document.createElement("canvas"),n=r.width=e.width,i=r.height=e.height,a=r.getContext("2d");a.drawImage(e,0,0,n,i),t=t||!1;for(var o=a.getImageData(0,0,n,i),s=a.createImageData(n,i),u=0;u20)return console.warn("Given image is not a height map"),e}var d,f,p,m;u%(4*n)==0?(d=o.data[u],p=o.data[u+4]):u%(4*n)==4*(n-1)?(d=o.data[u-4],p=o.data[u]):(d=o.data[u-4],p=o.data[u+4]),u<4*n?(f=o.data[u],m=o.data[u+4*n]):u>n*(i-1)*4?(f=o.data[u-4*n],m=o.data[u]):(f=o.data[u-4*n],m=o.data[u+4*n]),s.data[u]=d-p+127,s.data[u+1]=f-m+127,s.data[u+2]=255,s.data[u+3]=255}return a.putImageData(s,0,0),r},isHeightImage:function(e,t,r){if(!e||!e.width||!e.height)return!1;var n=document.createElement("canvas"),i=n.getContext("2d"),a=t||32;r=r||20,n.width=n.height=a,i.drawImage(e,0,0,a,a);for(var o=i.getImageData(0,0,a,a),s=0;sr)return!1}return!0},_fetchTexture:function(e,t,r){a.a.request.get({url:e,responseType:"arraybuffer",onload:t,onerror:r})},createChessboard:function(e,t,r,i){e=e||512,t=t||64,r=r||"black",i=i||"white";var a=Math.ceil(e/t),o=document.createElement("canvas");o.width=e,o.height=e;var s=o.getContext("2d");s.fillStyle=i,s.fillRect(0,0,e,e),s.fillStyle=r;for(var u=0;u65535?new Uint32Array(3*s):new Uint16Array(3*s),f.material.shader!==t&&f.material.attachShader(t,!0),o.a.setMaterialFromModel(t.__shading,f.material,e,r),u>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(u),this._linesMesh.geometry.setTriangleCount(l)),this._dataIndexOfVertex=new Uint32Array(a),this._vertexRangeOfDataIndex=new Uint32Array(2*(i-n))},_updateRegionMesh:function(e,t,r,n){for(var i=e.getData(),a=0,s=0,u=!1,h=this._polygonMesh,c=this._linesMesh,d=r;d0;E&&(w*=t.getDevicePixelRatio(),this._updateLinesGeometry(c.geometry,e,d,x,w,e.coordinateSystem.transform)),c.invisible=!E,c.material.set({color:v})}var h=this._polygonMesh;h.material.transparent=u,h.material.depthMask=!u,h.geometry.updateBoundingBox(),h.frontFace=this.extrudeY?o.a.Mesh.CCW:o.a.Mesh.CW,h.material.get("normalMap")&&h.geometry.generateTangents(),h.seriesIndex=e.seriesIndex,h.on("mousemove",this._onmousemove,this),h.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(e){var t=e.getModel("debug.wireframe");if(t.get("show")){var r=o.a.parseColor(t.get("lineStyle.color")||"rgba(0,0,0,0.5)"),n=l.a.firstNotNull(t.get("lineStyle.width"),1),i=this._polygonMesh;i.geometry.generateBarycentric(),i.material.define("both","WIREFRAME_TRIANGLE"),i.material.set("wireframeLineColor",r),i.material.set("wireframeLineWidth",n)}},_onmousemove:function(e){var t=this._dataIndexOfVertex[e.triangle[0]];null==t&&(t=-1),t!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(t),this._labelsBuilder.updateLabels([t])),this._lastHoverDataIndex=t,this._polygonMesh.dataIndex=t},_onmouseout:function(e){e.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1),this._labelsBuilder.updateLabels([])},_updateGroundPlane:function(e,t,r){var n=e.getModel("groundPlane",e);if(this._groundMesh.invisible=!n.get("show",!0),!this._groundMesh.invisible){var i=e.get("shading"),a=this._groundMaterials[i];a||(a=this._groundMaterials.lambert),o.a.setMaterialFromModel(i,a,n,r),a.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=a,this._groundMesh.material.set("color",o.a.parseColor(n.get("color"))),this._groundMesh.scale.set(t.size[0],t.size[2],1)}},_triangulation:function(e,t,r){this._triangulationResults=[];for(var n=[1/0,1/0,1/0],i=[-1/0,-1/0,-1/0],a=e.coordinateSystem,o=t;o1?n:0,R[V][y]=C.points[W+2],h.set(i+V,R[V]),l?(F[0]=(C.points[W]*x[0]-T[0])/w,F[1]=(C.points[W+2]*x[y]-T[y])/w):(F[0]=(k?B:B+H)/w,F[1]=(R[V][v]*x[v]-T[v])/w),d.set(i+V,F)}p.sub(P,R[1],R[0]),p.sub(I,R[3],R[0]),p.cross(O,P,I),p.normalize(O,O);for(var V=0;V<4;V++)c.set(i+V,O),g&&f.set(i+V,o);for(var V=0;V<6;V++)_[3*a+V]=N[V]+i;i+=4,a+=2,B+=H}}return t.dirty(),{vertexOffset:i,triangleOffset:a}},_getRegionLinesInfo:function(e,t,r){var n=0,i=0;t.getRegionModel(e).getModel("itemStyle").get("borderWidth")>0&&t.getRegionPolygonCoords(e).forEach(function(e){var t=e.exterior,a=e.interiors;n+=r.getPolylineVertexCount(t),i+=r.getPolylineTriangleCount(t);for(var o=0;othis._endIndex)){t-=this._startIndex;for(var n=this._vertexRangeOfDataIndex[2*t];n=2e4},doSortTriangles:function(e,t){var r=this.indices;if(0===t){var n=this.attributes.position,e=e.array;this._triangleZList&&this._triangleZList.length===this.triangleCount||(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new r.constructor(r.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var i,l=0,h=0;h0,r={},n=0;n2?(g=this._updateSymbolSprite(e,p,d,f),u.enableTexture("sprite")):u.disableTexture("sprite"),c.position.init(i-n);var _=[];if(m){u.undefine("VERTEX_SIZE"),u.undefine("VERTEX_COLOR");var v=o.getVisual("color"),y=o.getVisual("opacity");s.a.parseColor(v,_),_[3]*=y,u.set({color:_,u_Size:d.maxSize*this._sizeScale})}else u.set({color:[1,1,1,1]}),u.define("VERTEX_SIZE"),u.define("VERTEX_COLOR"),c.size.init(i-n),c.color.init(i-n),this._originalOpacity=new Float32Array(i-n);for(var x=o.getLayout("points"),T=c.position.value,b=0;b1?(a[0]=r.maxSize,a[1]=r.maxSize/r.aspect):(a[1]=r.maxSize,a[0]=r.maxSize*r.aspect),a[0]=a[0]||1,a[1]=a[1]||1,this._symbolType===r.type&&n(this._symbolSize,a)&&this._lineWidth===t.lineWidth||(u.a.createSymbolSprite(r.type,a,{fill:"#fff",lineWidth:t.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(a[0]/2,10)},this._spriteImageCanvas),u.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),20,this._mesh.material.get("sprite").image),this._symbolType=r.type,this._symbolSize=a,this._lineWidth=t.lineWidth),this._spriteImageCanvas.width/r.maxSize*i},_updateMaterial:function(e,t){var r="lighter"===e.get("blendMode")?s.a.additiveBlend:null,n=this._mesh.material;n.blend=r,n.set("lineWidth",t.lineWidth/20);var i=s.a.parseColor(t.stroke);n.set("strokeColor",i),n.transparent=!0,n.depthMask=!1,n.depthTest=!this.is2D,n.sortVertices=!this.is2D},_updateLabelBuilder:function(e,t,r){var n=e.getData(),i=this._mesh.geometry,a=i.attributes.position.value,t=this._startDataIndex,o=this._mesh.sizeScale;this._labelsBuilder.updateData(n,t,r),this._labelsBuilder.getLabelPosition=function(e,r,n){var i=3*(e-t);return[a[i],a[i+1],a[i+2]]},this._labelsBuilder.getLabelDistance=function(e,r,n){return i.attributes.size.get(e-t)/o/2+n},this._labelsBuilder.updateLabels()},_updateAnimation:function(e){s.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,e)},_updateHandler:function(e,t,r){var n,i=e.getData(),a=this._mesh,o=this,s=-1,u=e.coordinateSystem&&"cartesian3D"===e.coordinateSystem.type;u&&(n=e.coordinateSystem.model),a.seriesIndex=e.seriesIndex,a.off("mousemove"),a.off("mouseout"),a.on("mousemove",function(t){var l=t.vertexIndex+o._startDataIndex;l!==s&&(this.highlightOnMouseover&&(this.downplay(i,s),this.highlight(i,l),this._labelsBuilder.updateLabels([l])),u&&r.dispatchAction({type:"grid3DShowAxisPointer",value:[i.get(e.coordDimToDataDim("x")[0],l),i.get(e.coordDimToDataDim("y")[0],l),i.get(e.coordDimToDataDim("z")[0],l)],grid3DIndex:n.componentIndex})),a.dataIndex=l,s=l},this),a.on("mouseout",function(e){var t=e.vertexIndex+o._startDataIndex;this.highlightOnMouseover&&(this.downplay(i,t),this._labelsBuilder.updateLabels()),s=-1,a.dataIndex=-1,u&&r.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:n.componentIndex})},this)},updateLayout:function(e,t,r){var n=e.getData();if(this._mesh){var i=this._mesh.geometry.attributes.position.value,a=n.getLayout("points");if(this.is2D)for(var o=0;othis._endDataIndex||tthis._endDataIndex||t=this._maxSize&&r>0){var n=this._list.head;this._list.remove(n),delete this._map[n.key]}var i=this._list.insert(t);i.key=e,this._map[e]=i}},i.prototype.get=function(e){var t=this._map[e];if(this._map.hasOwnProperty(e))return t!==this._list.tail&&(this._list.remove(t),this._list.insertEntry(t)),t.value},i.prototype.remove=function(e){var t=this._map[e];void 0!==t&&(delete this._map[e],this._list.remove(t))},i.prototype.clear=function(){this._list.clear(),this._map={}},t.a=i},function(e,t,r){"use strict";var n=r(20),i={};i.create=function(){var e=new n.a(2);return e[0]=0,e[1]=0,e},i.clone=function(e){var t=new n.a(2);return t[0]=e[0],t[1]=e[1],t},i.fromValues=function(e,t){var r=new n.a(2);return r[0]=e,r[1]=t,r},i.copy=function(e,t){return e[0]=t[0],e[1]=t[1],e},i.set=function(e,t,r){return e[0]=t,e[1]=r,e},i.add=function(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e},i.subtract=function(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e},i.sub=i.subtract,i.multiply=function(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e},i.mul=i.multiply,i.divide=function(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e},i.div=i.divide,i.min=function(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e},i.max=function(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e},i.scale=function(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e},i.scaleAndAdd=function(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e},i.distance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)},i.dist=i.distance,i.squaredDistance=function(e,t){var r=t[0]-e[0],n=t[1]-e[1];return r*r+n*n},i.sqrDist=i.squaredDistance,i.length=function(e){var t=e[0],r=e[1];return Math.sqrt(t*t+r*r)},i.len=i.length,i.squaredLength=function(e){var t=e[0],r=e[1];return t*t+r*r},i.sqrLen=i.squaredLength,i.negate=function(e,t){return e[0]=-t[0],e[1]=-t[1],e},i.inverse=function(e,t){return e[0]=1/t[0],e[1]=1/t[1],e},i.normalize=function(e,t){var r=t[0],n=t[1],i=r*r+n*n;return i>0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e},i.dot=function(e,t){return e[0]*t[0]+e[1]*t[1]},i.cross=function(e,t,r){var n=t[0]*r[1]-t[1]*r[0];return e[0]=e[1]=0,e[2]=n,e},i.lerp=function(e,t,r,n){var i=t[0],a=t[1];return e[0]=i+n*(r[0]-i),e[1]=a+n*(r[1]-a),e},i.random=function(e,t){t=t||1;var r=2*GLMAT_RANDOM()*Math.PI;return e[0]=Math.cos(r)*t,e[1]=Math.sin(r)*t,e},i.transformMat2=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i,e[1]=r[1]*n+r[3]*i,e},i.transformMat2d=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e},i.transformMat3=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[3]*i+r[6],e[1]=r[1]*n+r[4]*i+r[7],e},i.transformMat4=function(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[4]*i+r[12],e[1]=r[1]*n+r[5]*i+r[13],e},i.forEach=function(){var e=i.create();return function(t,r,n,i,a,o){var s,u;for(r||(r=2),n||(n=0),u=i?Math.min(i*r+n,t.length):t.length,s=n;s0},beforeRender:function(e){},afterRender:function(e,t){},getBoundingBox:function(e,t){return t=n.a.prototype.getBoundingBox.call(this,e,t),this.geometry&&this.geometry.boundingBox&&t.union(this.geometry.boundingBox),t},clone:function(){var e=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var t=n.a.prototype.clone.call(this);t.geometry=this.geometry,t.material=this.material;for(var r=0;r>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},n.nearestPowerOfTwo=function(e){return Math.pow(2,Math.round(Math.log(e)/Math.LN2))},t.a=n},function(e,t,r){"use strict";var n=r(3),i=r(21),a=r(12),o=r(33),s=function(e,t){this.normal=e||new n.a(0,1,0),this.distance=t||0};s.prototype={constructor:s,distanceToPoint:function(e){return a.a.dot(e.array,this.normal.array)-this.distance},projectPoint:function(e,t){t||(t=new n.a);var r=this.distanceToPoint(e);return a.a.scaleAndAdd(t.array,e.array,this.normal.array,-r),t._dirty=!0,t},normalize:function(){var e=1/a.a.len(this.normal.array);a.a.scale(this.normal.array,e),this.distance*=e},intersectFrustum:function(e){for(var t=e.vertices,r=this.normal.array,n=a.a.dot(t[0].array,r)>this.distance,i=1;i<8;i++)if(a.a.dot(t[i].array,r)>this.distance!=n)return!0},intersectLine:function(){var e=a.a.create();return function(t,r,i){var o=this.distanceToPoint(t),s=this.distanceToPoint(r);if(o>0&&s>0||o<0&&s<0)return null;var u=this.normal.array,l=this.distance,h=t.array;a.a.sub(e,r.array,t.array),a.a.normalize(e,e);var c=a.a.dot(u,e);if(0===c)return null;i||(i=new n.a);var d=(a.a.dot(u,h)-l)/c;return a.a.scaleAndAdd(i.array,h,e,-d),i._dirty=!0,i}}(),applyTransform:function(){var e=i.a.create(),t=o.a.create(),r=o.a.create();return r[3]=1,function(n){n=n.array,a.a.scale(r,this.normal.array,this.distance),o.a.transformMat4(r,r,n),this.distance=a.a.dot(r,this.normal.array),i.a.invert(e,n),i.a.transpose(e,e),t[3]=0,a.a.copy(t,this.normal.array),o.a.transformMat4(t,t,e),a.a.copy(this.normal.array,t)}}(),copy:function(e){a.a.copy(this.normal.array,e.normal.array),this.normal._dirty=!0,this.distance=e.distance},clone:function(){var e=new s;return e.copy(this),e}},t.a=s},function(e,t,r){"use strict";var n=r(42);t.a=n.a},function(e,t,r){"use strict";function n(e,t,r){h.identity();var n=new a.a({widthSegments:t,heightSegments:r});switch(e){case"px":o.a.translate(h,h,s.a.POSITIVE_X),o.a.rotateY(h,h,Math.PI/2);break;case"nx":o.a.translate(h,h,s.a.NEGATIVE_X),o.a.rotateY(h,h,-Math.PI/2);break;case"py":o.a.translate(h,h,s.a.POSITIVE_Y),o.a.rotateX(h,h,-Math.PI/2);break;case"ny":o.a.translate(h,h,s.a.NEGATIVE_Y),o.a.rotateX(h,h,Math.PI/2);break;case"pz":o.a.translate(h,h,s.a.POSITIVE_Z);break;case"nz":o.a.translate(h,h,s.a.NEGATIVE_Z),o.a.rotateY(h,h,Math.PI)}return n.applyTransform(h),n}var i=r(15),a=r(43),o=r(9),s=r(3),u=r(18),l=r(14),h=new o.a,c=i.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var e={px:n("px",this.depthSegments,this.heightSegments),nx:n("nx",this.depthSegments,this.heightSegments),py:n("py",this.widthSegments,this.depthSegments),ny:n("ny",this.widthSegments,this.depthSegments),pz:n("pz",this.widthSegments,this.heightSegments),nz:n("nz",this.widthSegments,this.heightSegments)},t=["position","texcoord0","normal"],r=0,i=0;for(var a in e)r+=e[a].vertexCount,i+=e[a].indices.length;for(var o=0;o>>16)>>>0;c=((1431655765&c)<<1|(2863311530&c)>>>1)>>>0,c=((858993459&c)<<2|(3435973836&c)>>>2)>>>0,c=((252645135&c)<<4|(4042322160&c)>>>4)>>>0,c=(((16711935&c)<<8|(4278255360&c)>>>8)>>>0)/4294967296;var d=Math.sqrt((1-c)/(1+(l*l-1)*c));o[h]=d}for(var h=0;ho&&(i=this._x=0,a+=this._rowHeight+u,this._y=a,this._rowHeight=0),this._x+=t+u,this._rowHeight=Math.max(this._rowHeight,r),a+r+u>s)return null;e.position[0]+=this.offsetX*this.dpr+i,e.position[1]+=this.offsetY*this.dpr+a,this._zr.add(e);var l=[this.offsetX/this.width,this.offsetY/this.height];return[[i/o+l[0],a/s+l[1]],[(i+t)/o+l[0],(a+r)/s+l[1]]]},_fitElement:function(e,t,r){var n=e.getBoundingRect(),i=t/n.width,a=r/n.height;e.position=[-n.x*i,-n.y*a],e.scale=[i,a],e.update()}},i.prototype={clear:function(){for(var e=0;e=e)){var o=(i+this._nodeWidth)*this._dpr,s=(a+this._nodeHeight)*this._dpr;try{this._zr.resize({width:o,height:s})}catch(e){this._canvas.width=o,this._canvas.height=s}var u=new n(this._zr,i,a,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(u),u}},add:function(e,t,r){if(this._coords[e.id])return this._coords[e.id];var n=this._getCurrentNode().add(e,t,r);if(!n){var i=this._expand();if(!i)return;n=i.add(e,t,r)}return this._coords[e.id]=n,n},getCoordsScale:function(){var e=this._dpr;return[this._nodeWidth/this._canvas.width*e,this._nodeHeight/this._canvas.height*e]},getCoords:function(e){return this._coords[e]}},t.a=i},function(e,t,r){function n(e,t,r,n){r<0&&(e+=r,r=-r),n<0&&(t+=n,n=-n),this.x=e,this.y=t,this.width=r,this.height=n}var i=r(83),a=r(84),o=i.applyTransform,s=Math.min,u=Math.max;n.prototype={constructor:n,union:function(e){var t=s(e.x,this.x),r=s(e.y,this.y);this.width=u(e.x+e.width,this.x+this.width)-t,this.height=u(e.y+e.height,this.y+this.height)-r,this.x=t,this.y=r},applyTransform:function(){var e=[],t=[],r=[],n=[];return function(i){if(i){e[0]=r[0]=this.x,e[1]=n[1]=this.y,t[0]=n[0]=this.x+this.width,t[1]=r[1]=this.y+this.height,o(e,e,i),o(t,t,i),o(r,r,i),o(n,n,i),this.x=s(e[0],t[0],r[0],n[0]),this.y=s(e[1],t[1],r[1],n[1]);var a=u(e[0],t[0],r[0],n[0]),l=u(e[1],t[1],r[1],n[1]);this.width=a-this.x,this.height=l-this.y}}}(),calculateTransform:function(e){var t=this,r=e.width/t.width,n=e.height/t.height,i=a.create();return a.translate(i,i,[-t.x,-t.y]),a.scale(i,i,[r,n]),a.translate(i,i,[e.x,e.y]),i},intersect:function(e){if(!e)return!1;e instanceof n||(e=n.create(e));var t=this,r=t.x,i=t.x+t.width,a=t.y,o=t.y+t.height,s=e.x,u=e.x+e.width,l=e.y,h=e.y+e.height;return!(i=r.x&&e<=r.x+r.width&&t>=r.y&&t<=r.y+r.height},clone:function(){return new n(this.x,this.y,this.width,this.height)},copy:function(e){this.x=e.x,this.y=e.y,this.width=e.width,this.height=e.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},n.create=function(e){return new n(e.x,e.y,e.width,e.height)};var l=n;e.exports=l},function(e,t){function r(e,t){var r=new w(2);return null==e&&(e=0),null==t&&(t=0),r[0]=e,r[1]=t,r}function n(e,t){return e[0]=t[0],e[1]=t[1],e}function i(e){var t=new w(2);return t[0]=e[0],t[1]=e[1],t}function a(e,t,r){return e[0]=t,e[1]=r,e}function o(e,t,r){return e[0]=t[0]+r[0],e[1]=t[1]+r[1],e}function s(e,t,r,n){return e[0]=t[0]+r[0]*n,e[1]=t[1]+r[1]*n,e}function u(e,t,r){return e[0]=t[0]-r[0],e[1]=t[1]-r[1],e}function l(e){return Math.sqrt(h(e))}function h(e){return e[0]*e[0]+e[1]*e[1]}function c(e,t,r){return e[0]=t[0]*r[0],e[1]=t[1]*r[1],e}function d(e,t,r){return e[0]=t[0]/r[0],e[1]=t[1]/r[1],e}function f(e,t){return e[0]*t[0]+e[1]*t[1]}function p(e,t,r){return e[0]=t[0]*r,e[1]=t[1]*r,e}function m(e,t){var r=l(t);return 0===r?(e[0]=0,e[1]=0):(e[0]=t[0]/r,e[1]=t[1]/r),e}function g(e,t){return Math.sqrt((e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1]))}function _(e,t){return(e[0]-t[0])*(e[0]-t[0])+(e[1]-t[1])*(e[1]-t[1])}function v(e,t){return e[0]=-t[0],e[1]=-t[1],e}function y(e,t,r,n){return e[0]=t[0]+n*(r[0]-t[0]),e[1]=t[1]+n*(r[1]-t[1]),e}function x(e,t,r){var n=t[0],i=t[1];return e[0]=r[0]*n+r[2]*i+r[4],e[1]=r[1]*n+r[3]*i+r[5],e}function T(e,t,r){return e[0]=Math.min(t[0],r[0]),e[1]=Math.min(t[1],r[1]),e}function b(e,t,r){return e[0]=Math.max(t[0],r[0]),e[1]=Math.max(t[1],r[1]),e}var w="undefined"==typeof Float32Array?Array:Float32Array,E=l,S=h,A=g,M=_;t.create=r,t.copy=n,t.clone=i,t.set=a,t.add=o,t.scaleAndAdd=s,t.sub=u,t.len=l,t.length=E,t.lenSquare=h,t.lengthSquare=S,t.mul=c,t.div=d,t.dot=f,t.scale=p,t.normalize=m,t.distance=g,t.dist=A,t.distanceSquare=_,t.distSquare=M,t.negate=v,t.lerp=y,t.applyTransform=x,t.min=T,t.max=b},function(e,t){function r(){var e=new c(6);return n(e),e}function n(e){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=0,e[5]=0,e}function i(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e}function a(e,t,r){var n=t[0]*r[0]+t[2]*r[1],i=t[1]*r[0]+t[3]*r[1],a=t[0]*r[2]+t[2]*r[3],o=t[1]*r[2]+t[3]*r[3],s=t[0]*r[4]+t[2]*r[5]+t[4],u=t[1]*r[4]+t[3]*r[5]+t[5];return e[0]=n,e[1]=i,e[2]=a,e[3]=o,e[4]=s,e[5]=u,e}function o(e,t,r){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4]+r[0],e[5]=t[5]+r[1],e}function s(e,t,r){var n=t[0],i=t[2],a=t[4],o=t[1],s=t[3],u=t[5],l=Math.sin(r),h=Math.cos(r);return e[0]=n*h+o*l,e[1]=-n*l+o*h,e[2]=i*h+s*l,e[3]=-i*l+h*s,e[4]=h*a+l*u,e[5]=h*u-l*a,e}function u(e,t,r){var n=r[0],i=r[1];return e[0]=t[0]*n,e[1]=t[1]*i,e[2]=t[2]*n,e[3]=t[3]*i,e[4]=t[4]*n,e[5]=t[5]*i,e}function l(e,t){var r=t[0],n=t[2],i=t[4],a=t[1],o=t[3],s=t[5],u=r*o-a*n;return u?(u=1/u,e[0]=o*u,e[1]=-a*u,e[2]=-n*u,e[3]=r*u,e[4]=(n*s-o*i)*u,e[5]=(a*i-r*s)*u,e):null}function h(e){var t=r();return i(t,e),t}var c="undefined"==typeof Float32Array?Array:Float32Array;t.create=r,t.identity=n,t.copy=i,t.mul=a,t.translate=o,t.rotate=s,t.scale=u,t.invert=l,t.clone=h},function(e,t,r){function n(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")}function i(e,t,r,n){var i=t[1]-t[0],a=r[1]-r[0];if(0===i)return 0===a?r[0]:(r[0]+r[1])/2;if(n)if(i>0){if(e<=t[0])return r[0];if(e>=t[1])return r[1]}else{if(e>=t[0])return r[0];if(e<=t[1])return r[1]}else{if(e===t[0])return r[0];if(e===t[1])return r[1]}return(e-t[0])/i*a+r[0]}function a(e,t){switch(e){case"center":case"middle":e="50%";break;case"left":case"top":e="0%";break;case"right":case"bottom":e="100%"}return"string"==typeof e?n(e).match(/%$/)?parseFloat(e)/100*t:parseFloat(e):null==e?NaN:+e}function o(e,t,r){return null==t&&(t=10),t=Math.min(Math.max(0,t),20),e=(+e).toFixed(t),r?e:+e}function s(e){return e.sort(function(e,t){return e-t}),e}function u(e){if(e=+e,isNaN(e))return 0;for(var t=1,r=0;Math.round(e*t)/t!==e;)t*=10,r++;return r}function l(e){var t=e.toString(),r=t.indexOf("e");if(r>0){var n=+t.slice(r+1);return n<0?-n:0}var i=t.indexOf(".");return i<0?0:t.length-1-i}function h(e,t){var r=Math.log,n=Math.LN10,i=Math.floor(r(e[1]-e[0])/n),a=Math.round(r(Math.abs(t[1]-t[0]))/n),o=Math.min(Math.max(-i+a,0),20);return isFinite(o)?o:20}function c(e,t,r){if(!e[t])return 0;var n=x.reduce(e,function(e,t){return e+(isNaN(t)?0:t)},0);if(0===n)return 0;for(var i=Math.pow(10,r),a=x.map(e,function(e){return(isNaN(e)?0:e)/n*i*100}),o=100*i,s=x.map(a,function(e){return Math.floor(e)}),u=x.reduce(s,function(e,t){return e+t},0),l=x.map(a,function(e,t){return e-s[t]});uh&&(h=l[d],c=d);++s[c],l[c]=0,++u}return s[t]/i}function d(e){var t=2*Math.PI;return(e%t+t)%t}function f(e){return e>-T&&e=-20?+e.toFixed(n<0?-n:0):e}function v(e){function t(e,r,n){return e.interval[n]=0}var x=r(13),T=1e-4,b=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;t.linearMap=i,t.parsePercent=a,t.round=o,t.asc=s,t.getPrecision=u,t.getPrecisionSafe=l,t.getPixelPrecision=h,t.getPercentWithPrecision=c,t.MAX_SAFE_INTEGER=9007199254740991,t.remRadian=d,t.isRadianAroundZero=f,t.parseDate=p,t.quantity=m,t.nice=_,t.reformIntervals=v,t.isNumeric=y},function(e,t,r){"use strict";function n(e){u.a.defaultsWithPropList(e,h,c),i(e);for(var t="",r=0;rh&&l.push({pivot:Math.floor((c+h)/2),left:h,right:c});var h=s[u].pivot+1,c=s[u].right;c>h&&l.push({pivot:Math.floor((c+h)/2),left:h,right:c})}s=this._parts=l}else for(var u=0;u50&&(s=1e3);var u=[];a.perspective(u,o,this.width/this.height,1,s),this.viewGL.camera.projectionMatrix.setArray(u),this.viewGL.camera.decomposeProjectionMatrix();var u=a.identity([]),l=this.dataToPoint(this.center);a.scale(u,u,[1,-1,1]),a.translate(u,u,[0,0,-e]),a.rotateX(u,u,t),a.rotateZ(u,u,-this.bearing/180*Math.PI),a.translate(u,u,[-l[0]*this.getScale()*.1,-l[1]*this.getScale()*.1,0]),this.viewGL.camera.viewMatrix.array=u;var h=[];a.invert(h,u),this.viewGL.camera.worldTransform.array=h,this.viewGL.camera.decomposeWorldTransform();var c,d=512*this.getScale();if(this.altitudeExtent&&!isNaN(this.boxHeight)){var f=this.altitudeExtent[1]-this.altitudeExtent[0];c=this.boxHeight/f*this.getScale()/Math.pow(2,this._initialZoom-this.zoomOffset)}else c=d/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*.1;this.viewGL.rootNode.scale.set(.1*this.getScale(),.1*this.getScale(),c)}},getScale:function(){return Math.pow(2,this.zoom-this.zoomOffset)},projectOnTile:function(e,t){return this.projectOnTileWithScale(e,512*this.getScale(),t)},projectOnTileWithScale:function(e,t,r){var n=e[0],i=e[1],a=n*s/180,o=i*s/180,u=t*(a+s)/(2*s),l=t*(s-Math.log(Math.tan(s/4+.5*o)))/(2*s);return r=r||[],r[0]=u,r[1]=l,r},unprojectFromTile:function(e,t){return this.unprojectOnTileWithScale(e,512*this.getScale(),t)},unprojectOnTileWithScale:function(e,t,r){var n=e[0],i=e[1],a=n/t*(2*s)-s,o=2*(Math.atan(Math.exp(s-i/t*(2*s)))-s/4);return r=r||[],r[0]=180*a/s,r[1]=180*o/s,r},dataToPoint:function(e,t){return t=this.projectOnTileWithScale(e,512,t),t[0]-=this._origin[0],t[1]-=this._origin[1],t[2]=isNaN(e[2])?0:e[2],isNaN(e[2])||(t[2]=e[2],this.altitudeExtent&&(t[2]-=this.altitudeExtent[0])),t}},t.a=n},function(e,t,r){"use strict";var n=r(2),i=r(1),a=r(22);t.a=function(e,t,r){function o(e,t){var r=t.getWidth(),n=t.getHeight(),i=t.getDevicePixelRatio();this.viewGL.setViewport(0,0,r,n,i),this.width=r,this.height=n,this.altitudeScale=e.get("altitudeScale"),this.boxHeight=e.get("boxHeight")}function s(e,t){if("auto"!==this.model.get("boxHeight")){var r=[1/0,-1/0];e.eachSeries(function(e){if(e.coordinateSystem===this){var t=e.getData(),n=e.coordDimToDataDim("alt")[0];if(n){var i=t.getDataExtent(n,!0);r[0]=Math.min(r[0],i[0]),r[1]=Math.max(r[1],i[1])}}},this),r&&isFinite(r[1]-r[0])&&(this.altitudeExtent=r)}}return{dimensions:t.prototype.dimensions,create:function(u,l){var h=[];return u.eachComponent(e,function(e){var r=e.__viewGL;r||(r=e.__viewGL=new a.a,r.setRootNode(new i.a.Node));var n=new t;n.viewGL=e.__viewGL,n.resize=o,n.resize(e,l),h.push(n),e.coordinateSystem=n,n.model=e,n.update=s}),u.eachSeries(function(t){if(t.get("coordinateSystem")===e){var r=t.getReferringComponents(e)[0];if(r||(r=u.getComponent(e)),!r)throw new Error(e+' "'+n.a.firstNotNull(t.get(e+"Index"),t.get(e+"Id"),0)+'" not found');t.coordinateSystem=r.coordinateSystem}}),r&&r(h,u,l),h}}}},function(e,t,r){"use strict";t.a="\n@export ecgl.displayShadow.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n@import ecgl.common.attributes\n\nvarying vec3 v_WorldPosition;\n\nvarying vec3 v_Normal;\n\nvoid main()\n{\n @import ecgl.common.uv.main\n v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);\n\n v_WorldPosition = (world * vec4(position, 1.0)).xyz;\n gl_Position = worldViewProjection * vec4(position, 1.0);\n}\n\n@end\n\n\n@export ecgl.displayShadow.fragment\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform float roughness: 0.2;\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n@import ecgl.common.ssaoMap.header\n\n@import clay.plugin.compute_shadow_map\n\nvoid main()\n{\n float shadow = 1.0;\n\n @import ecgl.common.ssaoMap.main\n\n#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {\n shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);\n }\n#endif\n\n shadow *= 0.5 + ao * 0.5;\n shadow = clamp(shadow, 0.0, 1.0);\n\n gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);\n}\n\n@end"},function(e,t,r){"use strict";function n(e){this.viewGL=e}var i=r(84),a=r.n(i),o=r(83),s=r.n(o);n.prototype.reset=function(e,t){this._updateCamera(t.getWidth(),t.getHeight(),t.getDevicePixelRatio()),this._viewTransform=a.a.create(),this.updateTransform(e,t)},n.prototype.updateTransform=function(e,t){var r=e.coordinateSystem;r.getRoamTransform&&(a.a.invert(this._viewTransform,r.getRoamTransform()),this._setCameraTransform(this._viewTransform),t.getZr().refresh())},n.prototype.dataToPoint=function(e,t,r){r=e.dataToPoint(t,null,r);var n=this._viewTransform;n&&s.a.applyTransform(r,r,n)},n.prototype.removeTransformInPoint=function(e){return this._viewTransform&&s.a.applyTransform(e,e,this._viewTransform),e},n.prototype.getZoom=function(){if(this._viewTransform){var e=this._viewTransform;return 1/Math.max(Math.sqrt(e[0]*e[0]+e[1]*e[1]),Math.sqrt(e[2]*e[2]+e[3]*e[3]))}return 1},n.prototype._setCameraTransform=function(e){var t=this.viewGL.camera;t.position.set(e[4],e[5],0),t.scale.set(Math.sqrt(e[0]*e[0]+e[1]*e[1]),Math.sqrt(e[2]*e[2]+e[3]*e[3]),1)},n.prototype._updateCamera=function(e,t,r){this.viewGL.setViewport(0,0,e,t,r);var n=this.viewGL.camera;n.left=n.top=0,n.bottom=t,n.right=e,n.near=0,n.far=100},t.a=n},function(e,t,r){(function(e){var r;"undefined"!=typeof window?r=window.__DEV__:void 0!==e&&(r=e.__DEV__),void 0===r&&(r=!0);var n=r;t.__DEV__=n}).call(t,r(68))},function(e,t,r){"use strict";var n=r(15),i=r(0),a=r.n(i),o=r(38),s=r(6),u=s.a.vec2,l=[[0,0],[1,1]],h=n.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new n.a.Attribute("position","float",2,"POSITION"),normal:new n.a.Attribute("normal","float",2),offset:new n.a.Attribute("offset","float",1),color:new n.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(e){var t=this.attributes;this.vertexCount!==e&&(t.position.init(e),t.color.init(e),this.useNativeLine||(t.offset.init(e),t.normal.init(e)),e>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(e){this.triangleCount!==e&&(this.indices=0===e?null:this.vertexCount>65535?new Uint32Array(3*e):new Uint16Array(3*e))},_getCubicCurveApproxStep:function(e,t,r,n){return 1/(u.dist(e,t)+u.dist(r,t)+u.dist(n,r)+1)*this.segmentScale},getCubicCurveVertexCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?2*a:2*a+2},getCubicCurveTriangleCount:function(e,t,r,n){var i=this._getCubicCurveApproxStep(e,t,r,n),a=Math.ceil(1/i);return this.useNativeLine?0:2*a},getLineVertexCount:function(){return this.getPolylineVertexCount(l)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(l)},getPolylineVertexCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/2}return this.useNativeLine?2*(t-1):2*(t-1)+2},getPolylineTriangleCount:function(e){var t;if("number"==typeof e)t=e;else{t="number"!=typeof e[0]?e.length:e.length/2}return this.useNativeLine?0:2*(t-1)},addCubicCurve:function(e,t,r,n,i,a){null==a&&(a=1);for(var o=e[0],s=e[1],u=t[0],l=t[1],h=r[0],c=r[1],d=n[0],f=n[1],p=this._getCubicCurveApproxStep(e,t,r,n),m=p*p,g=m*p,_=3*p,v=3*m,y=6*m,x=6*g,T=o-2*u+h,b=s-2*l+c,w=3*(u-h)-o+d,E=3*(l-c)-s+f,S=o,A=s,M=(u-o)*_+T*v+w*g,C=(l-s)*_+b*v+E*g,L=T*y+w*x,D=b*y+E*x,N=w*x,R=E*x,P=0,I=0,O=Math.ceil(1/p),F=new Float32Array(3*(O+1)),F=[],B=0,I=0;I1&&(S=M>0?Math.min(S,d):Math.max(S,d),A=C>0?Math.min(A,f):Math.max(A,f));this.addPolyline(F,i,a)},addLine:function(e,t,r,n){this.addPolyline([e,t],r,n)},addPolyline:function(){var e=u.create(),t=u.create(),r=u.create(),n=u.create(),i=[],a=[],o=[];return function(s,l,h,c,d){if(s.length){var f="number"!=typeof s[0];if(null==d&&(d=f?s.length:s.length/2),!(d<2)){null==c&&(c=0),null==h&&(h=1),this._itemVertexOffsets.push(this._vertexOffset);for(var p,m=f?"number"!=typeof l[0]:l.length/4===d,g=this.attributes.position,_=this.attributes.color,v=this.attributes.offset,y=this.attributes.normal,x=this.indices,T=this._vertexOffset,b=0;b1&&(g.copy(T,T-1),_.copy(T,T-1),T++);else{var S;if(b0){u.sub(e,i,o),u.sub(t,a,i),u.normalize(e,e),u.normalize(t,t),u.add(n,e,t),u.normalize(n,n);var A=h/2*Math.min(1/u.dot(e,n),2);r[0]=-n[1],r[1]=n[0],S=A}else u.sub(e,a,i),u.normalize(e,e),r[0]=-e[1],r[1]=e[0],S=h/2}else u.sub(e,i,o),u.normalize(e,e),r[0]=-e[1],r[1]=e[0],S=h/2;y.set(T,r),y.set(T+1,r),v.set(T,S),v.set(T+1,-S),u.copy(o,i),g.set(T,i),g.set(T+1,i),_.set(T,p),_.set(T+1,p),T+=2}if(this.useNativeLine)_.set(T,p),g.set(T,i),T++;else if(b>0){var M=3*this._faceOffset,x=this.indices;x[M]=T-4,x[M+1]=T-3,x[M+2]=T-2,x[M+3]=T-3,x[M+4]=T-1,x[M+5]=T-2,this._faceOffset+=2}}this._vertexOffset=T}}}}(),setItemColor:function(e,t){for(var r=this._itemVertexOffsets[e],n=ee&&o=0&&this._viewsToDispose.splice(t,1),this.views.push(e),e.layer=this;var r=this.zr;e.scene.traverse(function(e){e.__zr=r,e.addAnimatorsToZr&&e.addAnimatorsToZr(r)})}},_.prototype.removeView=function(e){if(e.layer===this){var t=this.views.indexOf(e);t>=0&&(this.views.splice(t,1),e.scene.traverse(n,this),e.layer=null,this._viewsToDispose.push(e))}},_.prototype.removeViewsAll=function(){this.views.forEach(function(e){e.scene.traverse(n,this),e.layer=null,this._viewsToDispose.push(e)},this),this.views.length=0},_.prototype.resize=function(e,t){this.renderer.resize(e,t)},_.prototype.clear=function(){var e=this.renderer.gl,t=this._backgroundColor||[0,0,0,0];e.clearColor(t[0],t[1],t[2],t[3]),e.depthMask(!0),e.colorMask(!0,!0,!0,!0),e.clear(e.DEPTH_BUFFER_BIT|e.COLOR_BUFFER_BIT)},_.prototype.clearDepth=function(){var e=this.renderer.gl;e.clear(e.DEPTH_BUFFER_BIT)},_.prototype.clearColor=function(){var e=this.renderer.gl;e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT)},_.prototype.needsRefresh=function(){this.zr.refresh()},_.prototype.refresh=function(e){this._backgroundColor=e?f.a.parseColor(e):[0,0,0,0],this.renderer.clearColor=this._backgroundColor;for(var t=0;t20)){e=e.event;var n=this.pickObject(e.offsetX,e.offsetY);n&&(this._dispatchEvent(e.type,e,n),this._dispatchDataEvent(e.type,e,n));var i=this._clickToSetFocusPoint(e);if(i){i.view.setDOFFocusOnPoint(i.distance)&&this.zr.refresh()}}}},_.prototype._clickToSetFocusPoint=function(e){for(var t=this.renderer,r=t.viewport,n=this.views.length-1;n>=0;n--){var i=this.views[n];if(i.hasDOF()&&i.containPoint(e.offsetX,e.offsetY)){this._picking.scene=i.scene,this._picking.camera=i.camera,t.viewport=i.viewport;var a=this._picking.pick(e.offsetX,e.offsetY,!0);if(a)return a.view=i,a}}t.viewport=r},_.prototype.onglobalout=function(e){var t=this._hovered;t&&this._dispatchEvent("mouseout",e,{target:t.target})},_.prototype.pickObject=function(e,t){for(var r=[],n=this.renderer,i=n.viewport,a=0;a=0&&(u.dataIndex=this._lastDataIndex,u.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(l,"mouseout",t)),s=!0):null!=o&&o!==this._lastEventData&&(null!=this._lastEventData&&(u.eventData=this._lastEventData,this.zr.handler.dispatchToElement(l,"mouseout",t)),s=!0),this._lastEventData=o,this._lastDataIndex=i,this._lastSeriesIndex=a),u.eventData=o,u.dataIndex=i,u.seriesIndex=a,(null!=o||parseInt(i,10)>=0&&parseInt(a,10)>=0)&&(this.zr.handler.dispatchToElement(l,e,t),s&&this.zr.handler.dispatchToElement(l,"mouseover",t))},_.prototype._dispatchToView=function(e,t){for(var r=0;r=400?e.onerror&&e.onerror():e.onload&&e.onload(t.response)},e.onerror&&(t.onerror=e.onerror),t.send(null)}t.a={get:n}},function(e,t,r){"use strict";function n(e){return e=Math.round(e),e<0?0:e>255?255:e}function i(e){return e=Math.round(e),e<0?0:e>360?360:e}function a(e){return e<0?0:e>1?1:e}function o(e){return n(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100*255:parseInt(e,10))}function s(e){return a(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100:parseFloat(e))}function u(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function l(e,t,r){return e+(t-e)*r}function h(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}function c(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function d(e,t){y&&c(y,t),y=v.put(e,y||t.slice())}function f(e,t){var r=(parseFloat(e[0])%360+360)%360/360,i=s(e[1]),a=s(e[2]),o=a<=.5?a*(i+1):a+i-a*i,l=2*a-o;return t=t||[],h(t,n(255*u(l,o,r+1/3)),n(255*u(l,o,r)),n(255*u(l,o,r-1/3)),1),4===e.length&&(t[3]=e[3]),t}function p(e){if(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),u=s-o,l=(s+o)/2;if(0===u)t=0,r=0;else{r=l<.5?u/(s+o):u/(2-s-o);var h=((s-n)/6+u/2)/u,c=((s-i)/6+u/2)/u,d=((s-a)/6+u/2)/u;n===s?t=d-c:i===s?t=1/3+h-d:a===s&&(t=2/3+c-h),t<0&&(t+=1),t>1&&(t-=1)}var f=[360*t,r,l];return null!=e[3]&&f.push(e[3]),f}}var m=r(69),g={},_={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},v=new m.a(20),y=null;g.parse=function(e,t){if(e){t=t||[];var r=v.get(e);if(r)return c(t,r);e+="";var n=e.replace(/ /g,"").toLowerCase();if(n in _)return c(t,_[n]),d(e,t),t;if("#"!==n.charAt(0)){var i=n.indexOf("("),a=n.indexOf(")");if(-1!==i&&a+1===n.length){var u=n.substr(0,i),l=n.substr(i+1,a-(i+1)).split(","),p=1;switch(u){case"rgba":if(4!==l.length)return void h(t,0,0,0,1);p=s(l.pop());case"rgb":return 3!==l.length?void h(t,0,0,0,1):(h(t,o(l[0]),o(l[1]),o(l[2]),p),d(e,t),t);case"hsla":return 4!==l.length?void h(t,0,0,0,1):(l[3]=s(l[3]),f(l,t),d(e,t),t);case"hsl":return 3!==l.length?void h(t,0,0,0,1):(f(l,t),d(e,t),t);default:return}}h(t,0,0,0,1)}else{if(4===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=4095?(h(t,(3840&m)>>4|(3840&m)>>8,240&m|(240&m)>>4,15&m|(15&m)<<4,1),d(e,t),t):void h(t,0,0,0,1)}if(7===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=16777215?(h(t,(16711680&m)>>16,(65280&m)>>8,255&m,1),d(e,t),t):void h(t,0,0,0,1)}}}},g.parseToFloat=function(e,t){if(t=g.parse(e,t))return t[0]/=255,t[1]/=255,t[2]/=255,t},g.lift=function(e,t){var r=g.parse(e);if(r){for(var n=0;n<3;n++)r[n]=t<0?r[n]*(1-t)|0:(255-r[n])*t+r[n]|0;return g.stringify(r,4===r.length?"rgba":"rgb")}},g.toHex=function(e){var t=g.parse(e);if(t)return((1<<24)+(t[0]<<16)+(t[1]<<8)+ +t[2]).toString(16).slice(1)},g.fastLerp=function(e,t,r){if(t&&t.length&&e>=0&&e<=1){r=r||[];var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=t[o],h=t[s],c=i-o;return r[0]=n(l(u[0],h[0],c)),r[1]=n(l(u[1],h[1],c)),r[2]=n(l(u[2],h[2],c)),r[3]=a(l(u[3],h[3],c)),r}},g.fastMapToColor=g.fastLerp,g.lerp=function(e,t,r){if(t&&t.length&&e>=0&&e<=1){var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=g.parse(t[o]),h=g.parse(t[s]),c=i-o,d=g.stringify([n(l(u[0],h[0],c)),n(l(u[1],h[1],c)),n(l(u[2],h[2],c)),a(l(u[3],h[3],c))],"rgba");return r?{color:d,leftIndex:o,rightIndex:s,value:i}:d}},g.mapToColor=g.lerp,g.modifyHSL=function(e,t,r,n){if(e=g.parse(e))return e=p(e),null!=t&&(e[0]=i(t)),null!=r&&(e[1]=s(r)),null!=n&&(e[2]=s(n)),g.stringify(f(e),"rgba")},g.modifyAlpha=function(e,t){if((e=g.parse(e))&&null!=t)return e[3]=a(t),g.stringify(e,"rgba")},g.stringify=function(e,t){if(e&&e.length){var r=e[0]+","+e[1]+","+e[2];return"rgba"!==t&&"hsva"!==t&&"hsla"!==t||(r+=","+e[3]),t+"("+r+")"}},t.a=g},function(e,t,r){"use strict";var n=function(){this.head=null,this.tail=null,this._length=0};n.prototype.insert=function(e){var t=new n.Entry(e);return this.insertEntry(t),t},n.prototype.insertAt=function(e,t){if(!(e<0)){for(var r=this.head,i=0;r&&i!=e;)r=r.next,i++;if(r){var a=new n.Entry(t),o=r.prev;o?(o.next=a,a.prev=o):this.head=a,a.next=r,r.prev=a}else this.insert(t)}},n.prototype.insertBeforeEntry=function(e,t){var r=new n.Entry(e),i=t.prev;i?(i.next=r,r.prev=i):this.head=r,r.next=t,t.prev=r,this._length++},n.prototype.insertEntry=function(e){this.head?(this.tail.next=e,e.prev=this.tail,this.tail=e):this.head=this.tail=e,this._length++},n.prototype.remove=function(e){var t=e.prev,r=e.next;t?t.next=r:this.head=r,r?r.prev=t:this.tail=t,e.next=e.prev=null,this._length--},n.prototype.removeAt=function(e){if(!(e<0)){for(var t=this.head,r=0;t&&r!=e;)t=t.next,r++;return t?(this.remove(t),t.value):void 0}},n.prototype.getHead=function(){if(this.head)return this.head.value},n.prototype.getTail=function(){if(this.tail)return this.tail.value},n.prototype.getAt=function(e){if(!(e<0)){for(var t=this.head,r=0;t&&r!=e;)t=t.next,r++;return t.value}},n.prototype.indexOf=function(e){for(var t=this.head,r=0;t;){if(t.value===e)return r;t=t.next,r++}},n.prototype.length=function(){return this._length},n.prototype.isEmpty=function(){return 0===this._length},n.prototype.forEach=function(e,t){for(var r=this.head,n=0,i=void 0!==t;r;)i?e.call(t,r.value,n):e(r.value,n),r=r.next,n++},n.prototype.clear=function(){this.tail=this.head=null,this._length=0},n.Entry=function(e){this.value=e,this.next=null,this.prev=null},t.a=n},function(e,t,r){"use strict";function n(e,t,r){function n(e,r,n,a){var o="";isNaN(r)&&(r=r in t?t[r]:i[r]),isNaN(n)&&(n=n in t?t[n]:i[n]);for(var s=parseInt(r);s0&&n.push("#define "+i.toUpperCase()+"_COUNT "+a)}if(r)for(var o=0;of.getMaxJointNumber()&&(_.USE_SKIN_MATRICES_TEXTURE=null),g="\n"+i(_)+"\n"}var v=g+i(t.vertexDefines,d,m),y=g+i(t.fragmentDefines,d,m),x=v+"\n"+t.shader.vertex,T=["OES_standard_derivatives","EXT_shader_texture_lod"].filter(function(e){return null!=f.getGLExtension(e)});T.indexOf("EXT_shader_texture_lod")>=0&&(y+="\n#define SUPPORT_TEXTURE_LOD"),T.indexOf("OES_standard_derivatives")>=0&&(y+="\n#define SUPPORT_STANDARD_DERIVATIVES");var b=a(T)+"\n"+o(t.precision)+"\n"+y+"\n"+t.shader.fragment,w=n(x,t.vertexDefines,d),E=n(b,t.fragmentDefines,d),c=new u.a;c.uniformSemantics=t.shader.uniformSemantics,c.attributes=t.shader.attributes;var S=c.buildProgram(p,t.shader,w,E);return c.__error=S,s[h]=c,c},t.a=s},function(e,t,r){"use strict";function n(e){for(var t=e.split("\n"),r=0,n=t.length;r=0&&A[E]>1e-4&&(h.a.transformMat4(L,S,b[M[E]]),h.a.scaleAndAdd(C,C,L,A[E]));D.set(w,C)}}for(var w=0;w=0){t||(t=[]);var r=this.indices;return t[0]=r[3*e],t[1]=r[3*e+1],t[2]=r[3*e+2],t}},setTriangleIndices:function(e,t){var r=this.indices;r[3*e]=t[0],r[3*e+1]=t[1],r[3*e+2]=t[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(e){var t,r=this.vertexCount>65535?c.a.Uint32Array:c.a.Uint16Array;if(e[0]&&e[0].length){var n=0;t=new r(3*e.length);for(var i=0;i=0&&(t.splice(r,1),delete this.attributes[e],!0)},getAttribute:function(e){return this.attributes[e]},getEnabledAttributes:function(){var e=this._enabledAttributes,t=this._attributeList;if(e)return e;for(var r=[],n=this.vertexCount,i=0;i0){var i=Math.pow(2,e[3]-128-8+n);t[r+0]=e[0]*i,t[r+1]=e[1]*i,t[r+2]=e[2]*i}else t[r+0]=0,t[r+1]=0,t[r+2]=0;return t[r+3]=1,t}function i(e,t,r){for(var n="",i=t;i0;)if(e[o][0]=t[r++],e[o][1]=t[r++],e[o][2]=t[r++],e[o][3]=t[r++],1===e[o][0]&&1===e[o][1]&&1===e[o][2]){for(var u=e[o][3]<>>0;u>0;u--)a(e[o-1],e[o]),o++,s--;i+=8}else o++,s--,i=0;return r}function s(e,t,r,n){if(nd)return o(e,t,r,n);var i=t[r++];if(2!=i)return o(e,t,r-1,n);if(e[0][1]=t[r++],e[0][2]=t[r++],i=t[r++],(e[0][2]<<8>>>0|i)>>>0!==n)return null;for(var i=0;i<4;i++)for(var a=0;a128){s=(127&s)>>>0;for(var u=t[r++];s--;)e[a++][i]=u}else for(;s--;)e[a++][i]=t[r++]}return r}var u=r(4),l=r(5),h=String.fromCharCode,c=8,d=32767,f={parseRGBE:function(e,t,r){null==r&&(r=0);var a=new Uint8Array(e),o=a.length;if("#?"===i(a,0,2)){for(var c=2;c=o)){c+=2;for(var d="";c=0||(s.forEach(function(t){e.on(t,this[n(t)],this)},this),this._meshes.push(e))},detachFromMesh:function(e){var t=this._meshes.indexOf(e);t>=0&&this._meshes.splice(t,1),s.forEach(function(t){e.off(t,this[n(t)])},this)},dispose:function(){this._meshes.forEach(function(e){this.detachFromMesh(e)},this)}},t.a=u},function(e,t,r){"use strict";var n=r(24),i=r(77),a=n.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(e,t){if(!e.getGLExtension("EXT_shader_texture_lod"))return void console.warn("Device not support textureCubeLodEXT");this._brdfLookup||(this._normalDistribution=i.a.generateNormalDistribution(),this._brdfLookup=i.a.integrateBRDF(e,this._normalDistribution));var r=this.cubemap;if(!r.__prefiltered){var n=i.a.prefilterEnvironmentMap(e,r,{encodeRGBM:!0,width:t,height:t},this._normalDistribution,this._brdfLookup);this.cubemap=n.environmentMap,this.cubemap.__prefiltered=!0,r.dispose(e)}},getBRDFLookup:function(){return this._brdfLookup},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}},ambientCubemapLightCubemap:{type:"t",value:function(e){return e.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(e){return e._brdfLookup}}}});t.a=a},function(e,t,r){"use strict";t.a="\n@export clay.compositor.vertex\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\nvarying vec2 v_Texcoord;\nvoid main()\n{\n v_Texcoord = texcoord;\n gl_Position = worldViewProjection * vec4(position, 1.0);\n}\n@end"},function(e,t,r){"use strict";t.a="#define SAMPLE_NUMBER 1024\n#define PI 3.14159265358979\nuniform sampler2D normalDistribution;\nuniform vec2 viewportSize : [512, 256];\nconst vec3 N = vec3(0.0, 0.0, 1.0);\nconst float fSampleNumber = float(SAMPLE_NUMBER);\nvec3 importanceSampleNormal(float i, float roughness, vec3 N) {\n vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;\n vec3 upVector = abs(N.y) > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\n vec3 tangentX = normalize(cross(N, upVector));\n vec3 tangentZ = cross(N, tangentX);\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\n}\nfloat G_Smith(float roughness, float NoV, float NoL) {\n float k = roughness * roughness / 2.0;\n float G1V = NoV / (NoV * (1.0 - k) + k);\n float G1L = NoL / (NoL * (1.0 - k) + k);\n return G1L * G1V;\n}\nvoid main() {\n vec2 uv = gl_FragCoord.xy / viewportSize;\n float NoV = uv.x;\n float roughness = uv.y;\n vec3 V;\n V.x = sqrt(1.0 - NoV * NoV);\n V.y = 0.0;\n V.z = NoV;\n float A = 0.0;\n float B = 0.0;\n for (int i = 0; i < SAMPLE_NUMBER; i++) {\n vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);\n vec3 L = reflect(-V, H);\n float NoL = clamp(L.z, 0.0, 1.0);\n float NoH = clamp(H.z, 0.0, 1.0);\n float VoH = clamp(dot(V, H), 0.0, 1.0);\n if (NoL > 0.0) {\n float G = G_Smith(roughness, NoV, NoL);\n float G_Vis = G * VoH / (NoH * NoV);\n float Fc = pow(1.0 - VoH, 5.0);\n A += (1.0 - Fc) * G_Vis;\n B += Fc * G_Vis;\n }\n }\n gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);\n}\n"},function(e,t,r){"use strict";t.a="#define SHADER_NAME prefilter\n#define SAMPLE_NUMBER 1024\n#define PI 3.14159265358979\nuniform mat4 viewInverse : VIEWINVERSE;\nuniform samplerCube environmentMap;\nuniform sampler2D normalDistribution;\nuniform float roughness : 0.5;\nvarying vec2 v_Texcoord;\nvarying vec3 v_WorldPosition;\n@import clay.util.rgbm\nvec3 importanceSampleNormal(float i, float roughness, vec3 N) {\n vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;\n vec3 upVector = abs(N.y) > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\n vec3 tangentX = normalize(cross(N, upVector));\n vec3 tangentZ = cross(N, tangentX);\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\n}\nvoid main() {\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(v_WorldPosition - eyePos);\n vec3 N = V;\n vec3 prefilteredColor = vec3(0.0);\n float totalWeight = 0.0;\n float fMaxSampleNumber = float(SAMPLE_NUMBER);\n for (int i = 0; i < SAMPLE_NUMBER; i++) {\n vec3 H = importanceSampleNormal(float(i) / fMaxSampleNumber, roughness, N);\n vec3 L = reflect(-V, H);\n float NoL = clamp(dot(N, L), 0.0, 1.0);\n if (NoL > 0.0) {\n prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;\n totalWeight += NoL;\n }\n }\n gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));\n}\n"},function(e,t,r){"use strict";var n=r(24),i=r(14),a=n.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new i.a.Float32Array(27)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(e){var t=e.color,r=e.intensity;return[t[0]*r,t[1]*r,t[2]*r]}},ambientSHLightCoefficients:{type:"3f",value:function(e){for(var t=e._coefficientsTmpArr,r=0;r65535?Uint32Array:Uint16Array,m=this.indices=new p(t*e*6),g=this.radius,_=this.phiStart,v=this.phiLength,y=this.thetaStart,x=this.thetaLength,g=this.radius,T=[],b=[],w=0,E=1/g;for(f=0;f<=e;f++)for(d=0;d<=t;d++)h=d/t,c=f/e,s=-g*Math.cos(_+h*v)*Math.sin(y+c*x),u=g*Math.cos(y+c*x),l=g*Math.sin(_+h*v)*Math.sin(y+c*x),T[0]=s,T[1]=u,T[2]=l,b[0]=h,b[1]=c,r.set(w,T),n.set(w,b),T[0]*=E,T[1]*=E,T[2]*=E,a.set(w,T),w++;var S,A,M,C,L=t+1,D=0;for(f=0;f=0&&l.splice(e,1)}),l.push(h),this.__zr&&this.__zr.animation.addAnimator(h),h},stopAnimation:function(e){this._animators=this._animators||[];for(var t=this._animators,r=t.length,n=0;n.5?t:e}function s(e,t,r,n,i){var o=e.length;if(1==i)for(var s=0;si)e.length=i;else for(var a=n;a=0&&!(C[r]<=t);r--);r=Math.min(r,T-2)}else{for(r=V;rt);r++);r=Math.min(r-1,T-2)}V=r,k=t;var n=C[r+1]-C[r];if(0!==n)if(B=(t-C[r])/n,x)if(z=L[r],U=L[0===r?r:r-1],G=L[r>T-2?T-1:r+1],H=L[r>T-3?T-1:r+2],E)h(U,z,G,H,B,B*B,B*B*B,m(e,i),M);else{var u;if(S)u=h(U,z,G,H,B,B*B,B*B*B,W,1),u=f(W);else{if(A)return o(z,G,B);u=c(U,z,G,H,B,B*B,B*B*B)}v(e,i,u)}else if(E)s(L[r],L[r+1],B,m(e,i),M);else{var u;if(S)s(L[r],L[r+1],B,W,1),u=f(W);else{if(A)return o(L[r],L[r+1],B);u=a(L[r],L[r+1],B)}v(e,i,u)}},X=new g({target:e._target,life:b,loop:e._loop,delay:e._delay,onframe:j,ondestroy:r});return t&&"spline"!==t&&(X.easing=t),X}}}var g=r(143),_=r(145),v=r(13),y=v.isArrayLike,x=Array.prototype.slice,T=function(e,t,r,a){this._tracks={},this._target=e,this._loop=t||!1,this._getter=r||n,this._setter=a||i,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};T.prototype={when:function(e,t){var r=this._tracks;for(var n in t)if(t.hasOwnProperty(n)){if(!r[n]){r[n]=[];var i=this._getter(this._target,n);if(null==i)continue;0!==e&&r[n].push({time:0,value:d(i)})}r[n].push({time:e,value:t[n]})}return this},during:function(e){return this._onframeList.push(e),this},pause:function(){for(var e=0;e255?255:e}function i(e){return e=Math.round(e),e<0?0:e>360?360:e}function a(e){return e<0?0:e>1?1:e}function o(e){return n(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100*255:parseInt(e,10))}function s(e){return a(e.length&&"%"===e.charAt(e.length-1)?parseFloat(e)/100:parseFloat(e))}function u(e,t,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?e+(t-e)*r*6:2*r<1?t:3*r<2?e+(t-e)*(2/3-r)*6:e}function l(e,t,r){return e+(t-e)*r}function h(e,t,r,n,i){return e[0]=t,e[1]=r,e[2]=n,e[3]=i,e}function c(e,t){return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}function d(e,t){A&&c(A,t),A=S.put(e,A||t.slice())}function f(e,t){if(e){t=t||[];var r=S.get(e);if(r)return c(t,r);e+="";var n=e.replace(/ /g,"").toLowerCase();if(n in E)return c(t,E[n]),d(e,t),t;if("#"!==n.charAt(0)){var i=n.indexOf("("),a=n.indexOf(")");if(-1!==i&&a+1===n.length){var u=n.substr(0,i),l=n.substr(i+1,a-(i+1)).split(","),f=1;switch(u){case"rgba":if(4!==l.length)return void h(t,0,0,0,1);f=s(l.pop());case"rgb":return 3!==l.length?void h(t,0,0,0,1):(h(t,o(l[0]),o(l[1]),o(l[2]),f),d(e,t),t);case"hsla":return 4!==l.length?void h(t,0,0,0,1):(l[3]=s(l[3]),p(l,t),d(e,t),t);case"hsl":return 3!==l.length?void h(t,0,0,0,1):(p(l,t),d(e,t),t);default:return}}h(t,0,0,0,1)}else{if(4===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=4095?(h(t,(3840&m)>>4|(3840&m)>>8,240&m|(240&m)>>4,15&m|(15&m)<<4,1),d(e,t),t):void h(t,0,0,0,1)}if(7===n.length){var m=parseInt(n.substr(1),16);return m>=0&&m<=16777215?(h(t,(16711680&m)>>16,(65280&m)>>8,255&m,1),d(e,t),t):void h(t,0,0,0,1)}}}}function p(e,t){var r=(parseFloat(e[0])%360+360)%360/360,i=s(e[1]),a=s(e[2]),o=a<=.5?a*(i+1):a+i-a*i,l=2*a-o;return t=t||[],h(t,n(255*u(l,o,r+1/3)),n(255*u(l,o,r)),n(255*u(l,o,r-1/3)),1),4===e.length&&(t[3]=e[3]),t}function m(e){if(e){var t,r,n=e[0]/255,i=e[1]/255,a=e[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),u=s-o,l=(s+o)/2;if(0===u)t=0,r=0;else{r=l<.5?u/(s+o):u/(2-s-o);var h=((s-n)/6+u/2)/u,c=((s-i)/6+u/2)/u,d=((s-a)/6+u/2)/u;n===s?t=d-c:i===s?t=1/3+h-d:a===s&&(t=2/3+c-h),t<0&&(t+=1),t>1&&(t-=1)}var f=[360*t,r,l];return null!=e[3]&&f.push(e[3]),f}}function g(e,t){var r=f(e);if(r){for(var n=0;n<3;n++)r[n]=t<0?r[n]*(1-t)|0:(255-r[n])*t+r[n]|0,r[n]>255?r[n]=255:e[n]<0&&(r[n]=0);return b(r,4===r.length?"rgba":"rgb")}}function _(e){var t=f(e);if(t)return((1<<24)+(t[0]<<16)+(t[1]<<8)+ +t[2]).toString(16).slice(1)}function v(e,t,r){if(t&&t.length&&e>=0&&e<=1){r=r||[];var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=t[o],h=t[s],c=i-o;return r[0]=n(l(u[0],h[0],c)),r[1]=n(l(u[1],h[1],c)),r[2]=n(l(u[2],h[2],c)),r[3]=a(l(u[3],h[3],c)),r}}function y(e,t,r){if(t&&t.length&&e>=0&&e<=1){var i=e*(t.length-1),o=Math.floor(i),s=Math.ceil(i),u=f(t[o]),h=f(t[s]),c=i-o,d=b([n(l(u[0],h[0],c)),n(l(u[1],h[1],c)),n(l(u[2],h[2],c)),a(l(u[3],h[3],c))],"rgba");return r?{color:d,leftIndex:o,rightIndex:s,value:i}:d}}function x(e,t,r,n){if(e=f(e))return e=m(e),null!=t&&(e[0]=i(t)),null!=r&&(e[1]=s(r)),null!=n&&(e[2]=s(n)),b(p(e),"rgba")}function T(e,t){if((e=f(e))&&null!=t)return e[3]=a(t),b(e,"rgba")}function b(e,t){if(e&&e.length){var r=e[0]+","+e[1]+","+e[2];return"rgba"!==t&&"hsva"!==t&&"hsla"!==t||(r+=","+e[3]),t+"("+r+")"}}var w=r(60),E={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},S=new w(20),A=null,M=v,C=y;t.parse=f,t.lift=g,t.toHex=_,t.fastLerp=v,t.fastMapToColor=M,t.lerp=y,t.mapToColor=C,t.modifyHSL=x,t.modifyAlpha=T,t.stringify=b},function(e,t,r){"use strict";t.a="\n@export clay.util.rand\nhighp float rand(vec2 uv) {\n const highp float a = 12.9898, b = 78.233, c = 43758.5453;\n highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);\n return fract(sin(sn) * c);\n}\n@end\n@export clay.util.calculate_attenuation\nuniform float attenuationFactor : 5.0;\nfloat lightAttenuation(float dist, float range)\n{\n float attenuation = 1.0;\n attenuation = dist*dist/(range*range+1.0);\n float att_s = attenuationFactor;\n attenuation = 1.0/(attenuation*att_s+1.0);\n att_s = 1.0/(att_s+1.0);\n attenuation = attenuation - att_s;\n attenuation /= 1.0 - att_s;\n return clamp(attenuation, 0.0, 1.0);\n}\n@end\n@export clay.util.edge_factor\n#ifdef SUPPORT_STANDARD_DERIVATIVES\nfloat edgeFactor(float width)\n{\n vec3 d = fwidth(v_Barycentric);\n vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);\n return min(min(a3.x, a3.y), a3.z);\n}\n#else\nfloat edgeFactor(float width)\n{\n return 1.0;\n}\n#endif\n@end\n@export clay.util.encode_float\nvec4 encodeFloat(const in float depth)\n{\n const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);\n const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);\n vec4 res = fract(depth * bitShifts);\n res -= res.xxyz * bit_mask;\n return res;\n}\n@end\n@export clay.util.decode_float\nfloat decodeFloat(const in vec4 color)\n{\n const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);\n return dot(color, bitShifts);\n}\n@end\n@export clay.util.float\n@import clay.util.encode_float\n@import clay.util.decode_float\n@end\n@export clay.util.rgbm_decode\nvec3 RGBMDecode(vec4 rgbm, float range) {\n return range * rgbm.rgb * rgbm.a;\n}\n@end\n@export clay.util.rgbm_encode\nvec4 RGBMEncode(vec3 color, float range) {\n if (dot(color, color) == 0.0) {\n return vec4(0.0);\n }\n vec4 rgbm;\n color /= range;\n rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);\n rgbm.a = ceil(rgbm.a * 255.0) / 255.0;\n rgbm.rgb = color / rgbm.a;\n return rgbm;\n}\n@end\n@export clay.util.rgbm\n@import clay.util.rgbm_decode\n@import clay.util.rgbm_encode\nvec4 decodeHDR(vec4 color)\n{\n#if defined(RGBM_DECODE) || defined(RGBM)\n return vec4(RGBMDecode(color, 8.12), 1.0);\n#else\n return color;\n#endif\n}\nvec4 encodeHDR(vec4 color)\n{\n#if defined(RGBM_ENCODE) || defined(RGBM)\n return RGBMEncode(color.xyz, 8.12);\n#else\n return color;\n#endif\n}\n@end\n@export clay.util.srgb\nvec4 sRGBToLinear(in vec4 value) {\n return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);\n}\nvec4 linearTosRGB(in vec4 value) {\n return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);\n}\n@end\n@export clay.chunk.skinning_header\n#ifdef SKINNING\nattribute vec3 weight : WEIGHT;\nattribute vec4 joint : JOINT;\n#ifdef USE_SKIN_MATRICES_TEXTURE\nuniform sampler2D skinMatricesTexture : ignore;\nuniform float skinMatricesTextureSize: ignore;\nmat4 getSkinMatrix(sampler2D tex, float idx) {\n float j = idx * 4.0;\n float x = mod(j, skinMatricesTextureSize);\n float y = floor(j / skinMatricesTextureSize) + 0.5;\n vec2 scale = vec2(skinMatricesTextureSize);\n return mat4(\n texture2D(tex, vec2(x + 0.5, y) / scale),\n texture2D(tex, vec2(x + 1.5, y) / scale),\n texture2D(tex, vec2(x + 2.5, y) / scale),\n texture2D(tex, vec2(x + 3.5, y) / scale)\n );\n}\nmat4 getSkinMatrix(float idx) {\n return getSkinMatrix(skinMatricesTexture, idx);\n}\n#else\nuniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;\nmat4 getSkinMatrix(float idx) {\n return skinMatrix[int(idx)];\n}\n#endif\n#endif\n@end\n@export clay.chunk.skin_matrix\nmat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;\nif (weight.y > 1e-4)\n{\n skinMatrixWS += getSkinMatrix(joint.y) * weight.y;\n}\nif (weight.z > 1e-4)\n{\n skinMatrixWS += getSkinMatrix(joint.z) * weight.z;\n}\nfloat weightW = 1.0-weight.x-weight.y-weight.z;\nif (weightW > 1e-4)\n{\n skinMatrixWS += getSkinMatrix(joint.w) * weightW;\n}\n@end\n@export clay.util.parallax_correct\nvec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {\n vec3 first = (boxMax - pos) / dir;\n vec3 second = (boxMin - pos) / dir;\n vec3 further = max(first, second);\n float dist = min(further.x, min(further.y, further.z));\n vec3 fixedPos = pos + dir * dist;\n vec3 boxCenter = (boxMax + boxMin) * 0.5;\n return normalize(fixedPos - boxCenter);\n}\n@end\n@export clay.util.clamp_sample\nvec4 clampSample(const in sampler2D texture, const in vec2 coord)\n{\n#ifdef STEREO\n float eye = step(0.5, coord.x) * 0.5;\n vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));\n#else\n vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));\n#endif\n return texture2D(texture, coordClamped);\n}\n@end\n@export clay.util.ACES\nvec3 ACESToneMapping(vec3 color)\n{\n const float A = 2.51;\n const float B = 0.03;\n const float C = 2.43;\n const float D = 0.59;\n const float E = 0.14;\n return (color * (A * color + B)) / (color * (C * color + D) + E);\n}\n@end"},function(e,t,r){"use strict";t.a="\n@export ecgl.common.transformUniforms\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;\nuniform mat4 world : WORLD;\n@end\n\n@export ecgl.common.attributes\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\nattribute vec3 normal : NORMAL;\n@end\n\n@export ecgl.common.uv.header\nuniform vec2 uvRepeat : [1.0, 1.0];\nuniform vec2 uvOffset : [0.0, 0.0];\nuniform vec2 detailUvRepeat : [1.0, 1.0];\nuniform vec2 detailUvOffset : [0.0, 0.0];\n\nvarying vec2 v_Texcoord;\nvarying vec2 v_DetailTexcoord;\n@end\n\n@export ecgl.common.uv.main\nv_Texcoord = texcoord * uvRepeat + uvOffset;\nv_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;\n@end\n\n@export ecgl.common.uv.fragmentHeader\nvarying vec2 v_Texcoord;\nvarying vec2 v_DetailTexcoord;\n@end\n\n\n@export ecgl.common.albedo.main\n\n vec4 albedoTexel = vec4(1.0);\n#ifdef DIFFUSEMAP_ENABLED\n albedoTexel = texture2D(diffuseMap, v_Texcoord);\n #ifdef SRGB_DECODE\n albedoTexel = sRGBToLinear(albedoTexel);\n #endif\n#endif\n\n#ifdef DETAILMAP_ENABLED\n vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);\n #ifdef SRGB_DECODE\n detailTexel = sRGBToLinear(detailTexel);\n #endif\n albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);\n albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;\n#endif\n\n@end\n\n@export ecgl.common.wireframe.vertexHeader\n\n#ifdef WIREFRAME_QUAD\nattribute vec4 barycentric;\nvarying vec4 v_Barycentric;\n#elif defined(WIREFRAME_TRIANGLE)\nattribute vec3 barycentric;\nvarying vec3 v_Barycentric;\n#endif\n\n@end\n\n@export ecgl.common.wireframe.vertexMain\n\n#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)\n v_Barycentric = barycentric;\n#endif\n\n@end\n\n\n@export ecgl.common.wireframe.fragmentHeader\n\nuniform float wireframeLineWidth : 1;\nuniform vec4 wireframeLineColor: [0, 0, 0, 0.5];\n\n#ifdef WIREFRAME_QUAD\nvarying vec4 v_Barycentric;\nfloat edgeFactor () {\n vec4 d = fwidth(v_Barycentric);\n vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);\n return min(min(min(a4.x, a4.y), a4.z), a4.w);\n}\n#elif defined(WIREFRAME_TRIANGLE)\nvarying vec3 v_Barycentric;\nfloat edgeFactor () {\n vec3 d = fwidth(v_Barycentric);\n vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);\n return min(min(a3.x, a3.y), a3.z);\n}\n#endif\n\n@end\n\n\n@export ecgl.common.wireframe.fragmentMain\n\n#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)\n if (wireframeLineWidth > 0.) {\n vec4 lineColor = wireframeLineColor;\n#ifdef SRGB_DECODE\n lineColor = sRGBToLinear(lineColor);\n#endif\n\n gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);\n }\n#endif\n@end\n\n\n\n\n@export ecgl.common.bumpMap.header\n\n#ifdef BUMPMAP_ENABLED\nuniform sampler2D bumpMap;\nuniform float bumpScale : 1.0;\n\n\nvec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)\n{\n vec2 dSTdx = dFdx(v_Texcoord);\n vec2 dSTdy = dFdy(v_Texcoord);\n\n float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;\n float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;\n float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;\n\n vec3 vSigmaX = dFdx(surfPos);\n vec3 vSigmaY = dFdy(surfPos);\n vec3 vN = surfNormal;\n\n vec3 R1 = cross(vSigmaY, vN);\n vec3 R2 = cross(vN, vSigmaX);\n\n float fDet = dot(vSigmaX, R1);\n\n vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);\n return normalize(abs(fDet) * baseNormal - vGrad);\n\n}\n#endif\n\n@end\n\n@export ecgl.common.normalMap.vertexHeader\n\n#ifdef NORMALMAP_ENABLED\nattribute vec4 tangent : TANGENT;\nvarying vec3 v_Tangent;\nvarying vec3 v_Bitangent;\n#endif\n\n@end\n\n@export ecgl.common.normalMap.vertexMain\n\n#ifdef NORMALMAP_ENABLED\n if (dot(tangent, tangent) > 0.0) {\n v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);\n v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);\n }\n#endif\n\n@end\n\n\n@export ecgl.common.normalMap.fragmentHeader\n\n#ifdef NORMALMAP_ENABLED\nuniform sampler2D normalMap;\nvarying vec3 v_Tangent;\nvarying vec3 v_Bitangent;\n#endif\n\n@end\n\n@export ecgl.common.normalMap.fragmentMain\n#ifdef NORMALMAP_ENABLED\n if (dot(v_Tangent, v_Tangent) > 0.0) {\n vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;\n if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;\n mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);\n N = normalize(tbn * N);\n }\n }\n#endif\n@end\n\n\n\n@export ecgl.common.vertexAnimation.header\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nattribute vec3 prevNormal;\nuniform float percent;\n#endif\n\n@end\n\n@export ecgl.common.vertexAnimation.main\n\n#ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n vec3 norm = mix(prevNormal, normal, percent);\n#else\n vec3 pos = position;\n vec3 norm = normal;\n#endif\n\n@end\n\n\n@export ecgl.common.ssaoMap.header\n#ifdef SSAOMAP_ENABLED\nuniform sampler2D ssaoMap;\nuniform vec4 viewport : VIEWPORT;\n#endif\n@end\n\n@export ecgl.common.ssaoMap.main\n float ao = 1.0;\n#ifdef SSAOMAP_ENABLED\n ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;\n#endif\n@end\n\n\n\n\n@export ecgl.common.diffuseLayer.header\n\n#if (LAYER_DIFFUSEMAP_COUNT > 0)\nuniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];\nuniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];\n#endif\n\n@end\n\n@export ecgl.common.emissiveLayer.header\n\n#if (LAYER_EMISSIVEMAP_COUNT > 0)\nuniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];\nuniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];\n#endif\n\n@end\n\n@export ecgl.common.layers.header\n@import ecgl.common.diffuseLayer.header\n@import ecgl.common.emissiveLayer.header\n@end\n\n@export ecgl.common.diffuseLayer.main\n\n#if (LAYER_DIFFUSEMAP_COUNT > 0)\n for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{\n float intensity = layerDiffuseIntensity[_idx_];\n vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);\n #ifdef SRGB_DECODE\n texel2 = sRGBToLinear(texel2);\n #endif\n albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);\n albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;\n }}\n#endif\n\n@end\n\n@export ecgl.common.emissiveLayer.main\n\n#if (LAYER_EMISSIVEMAP_COUNT > 0)\n for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)\n {{\n vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];\n #ifdef SRGB_DECODE\n texel2 = sRGBToLinear(texel2);\n #endif\n float intensity = layerEmissionIntensity[_idx_];\n gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;\n }}\n#endif\n\n@end\n"},function(e,t,r){"use strict";t.a="@export ecgl.color.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\n@import ecgl.common.uv.header\n\nattribute vec2 texcoord : TEXCOORD_0;\nattribute vec3 position: POSITION;\n\n@import ecgl.common.wireframe.vertexHeader\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nuniform float percent : 1.0;\n#endif\n\nvoid main()\n{\n#ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n#else\n vec3 pos = position;\n#endif\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n @import ecgl.common.uv.main\n\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n\n @import ecgl.common.wireframe.vertexMain\n\n}\n\n@end\n\n@export ecgl.color.fragment\n\n#define LAYER_DIFFUSEMAP_COUNT 0\n#define LAYER_EMISSIVEMAP_COUNT 0\n\nuniform sampler2D diffuseMap;\nuniform sampler2D detailMap;\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n@import ecgl.common.layers.header\n\n@import ecgl.common.uv.fragmentHeader\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.util.srgb\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color);\n#else\n gl_FragColor = color;\n#endif\n\n#ifdef VERTEX_COLOR\n gl_FragColor *= v_Color;\n#endif\n\n @import ecgl.common.albedo.main\n\n @import ecgl.common.diffuseLayer.main\n\n gl_FragColor *= albedoTexel;\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n\n}\n@end"},function(e,t,r){"use strict";t.a="/**\n * http: */\n\n@export ecgl.lambert.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n\n@import ecgl.common.attributes\n\n@import ecgl.common.wireframe.vertexHeader\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\n\n@import ecgl.common.vertexAnimation.header\n\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nvoid main()\n{\n @import ecgl.common.uv.main\n\n @import ecgl.common.vertexAnimation.main\n\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\n\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n\n @import ecgl.common.wireframe.vertexMain\n}\n\n@end\n\n\n@export ecgl.lambert.fragment\n\n#define LAYER_DIFFUSEMAP_COUNT 0\n#define LAYER_EMISSIVEMAP_COUNT 0\n\n#define NORMAL_UP_AXIS 1\n#define NORMAL_FRONT_AXIS 2\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform sampler2D diffuseMap;\nuniform sampler2D detailMap;\n\n@import ecgl.common.layers.header\n\nuniform float emissionIntensity: 1.0;\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n#ifdef AMBIENT_LIGHT_COUNT\n@import clay.header.ambient_light\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n@import clay.header.ambient_sh_light\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n\n@import ecgl.common.ssaoMap.header\n\n@import ecgl.common.bumpMap.header\n\n@import clay.util.srgb\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.plugin.compute_shadow_map\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(color);\n#else\n gl_FragColor = color;\n#endif\n\n#ifdef VERTEX_COLOR\n #ifdef SRGB_DECODE\n gl_FragColor *= sRGBToLinear(v_Color);\n #else\n gl_FragColor *= v_Color;\n #endif\n#endif\n\n @import ecgl.common.albedo.main\n\n @import ecgl.common.diffuseLayer.main\n\n gl_FragColor *= albedoTexel;\n\n vec3 N = v_Normal;\n#ifdef DOUBLE_SIDED\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n\n if (dot(N, V) < 0.0) {\n N = -N;\n }\n#endif\n\n float ambientFactor = 1.0;\n\n#ifdef BUMPMAP_ENABLED\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n ambientFactor = dot(v_Normal, N);\n#endif\n\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\n\n vec3 diffuseColor = vec3(0.0, 0.0, 0.0);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)\n {\n diffuseColor += ambientLightColor[i] * ambientFactor * ao;\n }\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\n }}\n#endif\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)\n {\n vec3 lightDirection = -directionalLightDirection[i];\n vec3 lightColor = directionalLightColor[i];\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[i];\n }\n#endif\n\n float ndl = dot(N, normalize(lightDirection)) * shadowContrib;\n\n diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);\n }\n#endif\n\n gl_FragColor.rgb *= diffuseColor;\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,r){"use strict";t.a="@export ecgl.realistic.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n@import ecgl.common.attributes\n\n\n@import ecgl.common.wireframe.vertexHeader\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n#endif\n\n#ifdef NORMALMAP_ENABLED\nattribute vec4 tangent : TANGENT;\nvarying vec3 v_Tangent;\nvarying vec3 v_Bitangent;\n#endif\n\n@import ecgl.common.vertexAnimation.header\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nvoid main()\n{\n\n @import ecgl.common.uv.main\n\n @import ecgl.common.vertexAnimation.main\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\n\n#ifdef VERTEX_COLOR\n v_Color = a_Color;\n#endif\n\n#ifdef NORMALMAP_ENABLED\n v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);\n v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);\n#endif\n\n @import ecgl.common.wireframe.vertexMain\n\n}\n\n@end\n\n\n\n@export ecgl.realistic.fragment\n\n#define LAYER_DIFFUSEMAP_COUNT 0\n#define LAYER_EMISSIVEMAP_COUNT 0\n#define PI 3.14159265358979\n#define ROUGHNESS_CHANEL 0\n#define METALNESS_CHANEL 1\n\n#define NORMAL_UP_AXIS 1\n#define NORMAL_FRONT_AXIS 2\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform sampler2D diffuseMap;\n\nuniform sampler2D detailMap;\nuniform sampler2D metalnessMap;\nuniform sampler2D roughnessMap;\n\n@import ecgl.common.layers.header\n\nuniform float emissionIntensity: 1.0;\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nuniform float metalness : 0.0;\nuniform float roughness : 0.5;\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n#ifdef AMBIENT_LIGHT_COUNT\n@import clay.header.ambient_light\n#endif\n\n#ifdef AMBIENT_SH_LIGHT_COUNT\n@import clay.header.ambient_sh_light\n#endif\n\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\n@import clay.header.ambient_cubemap_light\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n@import ecgl.common.normalMap.fragmentHeader\n\n@import ecgl.common.ssaoMap.header\n\n@import ecgl.common.bumpMap.header\n\n@import clay.util.srgb\n\n@import clay.util.rgbm\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.plugin.compute_shadow_map\n\nvec3 F_Schlick(float ndv, vec3 spec) {\n return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);\n}\n\nfloat D_Phong(float g, float ndh) {\n float a = pow(8192.0, g);\n return (a + 2.0) / 8.0 * pow(ndh, a);\n}\n\nvoid main()\n{\n vec4 albedoColor = color;\n\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n#ifdef VERTEX_COLOR\n #ifdef SRGB_DECODE\n albedoColor *= sRGBToLinear(v_Color);\n #else\n albedoColor *= v_Color;\n #endif\n#endif\n\n @import ecgl.common.albedo.main\n\n @import ecgl.common.diffuseLayer.main\n\n albedoColor *= albedoTexel;\n\n float m = metalness;\n\n#ifdef METALNESSMAP_ENABLED\n float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];\n m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);\n#endif\n\n vec3 baseColor = albedoColor.rgb;\n albedoColor.rgb = baseColor * (1.0 - m);\n vec3 specFactor = mix(vec3(0.04), baseColor, m);\n\n float g = 1.0 - roughness;\n\n#ifdef ROUGHNESSMAP_ENABLED\n float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];\n g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);\n#endif\n\n vec3 N = v_Normal;\n\n#ifdef DOUBLE_SIDED\n if (dot(N, V) < 0.0) {\n N = -N;\n }\n#endif\n\n float ambientFactor = 1.0;\n\n#ifdef BUMPMAP_ENABLED\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n ambientFactor = dot(v_Normal, N);\n#endif\n\n@import ecgl.common.normalMap.fragmentMain\n\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\n\n vec3 diffuseTerm = vec3(0.0);\n vec3 specularTerm = vec3(0.0);\n\n float ndv = clamp(dot(N, V), 0.0, 1.0);\n vec3 fresnelTerm = F_Schlick(ndv, specFactor);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)\n {{\n diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;\n }}\n#endif\n\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\n }}\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)\n {{\n vec3 L = -directionalLightDirection[_idx_];\n vec3 lc = directionalLightColor[_idx_];\n\n vec3 H = normalize(L + V);\n float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);\n float ndh = clamp(dot(N, H), 0.0, 1.0);\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[_idx_];\n }\n#endif\n\n vec3 li = lc * ndl * shadowContrib;\n\n diffuseTerm += li;\n specularTerm += li * fresnelTerm * D_Phong(g, ndh);\n }}\n#endif\n\n\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\n vec3 L = reflect(-V, N);\n L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);\n float rough2 = clamp(1.0 - g, 0.0, 1.0);\n float bias2 = rough2 * 5.0;\n vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;\n vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;\n vec3 envTexel2;\n for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)\n {{\n envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 8.12);\n specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;\n }}\n#endif\n\n gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;\n gl_FragColor.a = albedoColor.a;\n\n#ifdef SRGB_ENCODE\n gl_FragColor = linearTosRGB(gl_FragColor);\n#endif\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,r){"use strict";t.a="@export ecgl.hatching.vertex\n\n@import ecgl.realistic.vertex\n\n@end\n\n\n@export ecgl.hatching.fragment\n\n#define NORMAL_UP_AXIS 1\n#define NORMAL_FRONT_AXIS 2\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform vec4 color : [0.0, 0.0, 0.0, 1.0];\nuniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n#ifdef AMBIENT_LIGHT_COUNT\n@import clay.header.ambient_light\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n@import clay.header.ambient_sh_light\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n@import clay.header.directional_light\n#endif\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\n\n@import ecgl.common.ssaoMap.header\n\n@import ecgl.common.bumpMap.header\n\n@import clay.util.srgb\n\n@import ecgl.common.wireframe.fragmentHeader\n\n@import clay.plugin.compute_shadow_map\n\nuniform sampler2D hatch1;\nuniform sampler2D hatch2;\nuniform sampler2D hatch3;\nuniform sampler2D hatch4;\nuniform sampler2D hatch5;\nuniform sampler2D hatch6;\n\nfloat shade(in float tone) {\n vec4 c = vec4(1. ,1., 1., 1.);\n float step = 1. / 6.;\n vec2 uv = v_DetailTexcoord;\n if (tone <= step / 2.0) {\n c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);\n }\n else if (tone <= step) {\n c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);\n }\n if(tone > step && tone <= 2. * step){\n c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));\n }\n if(tone > 2. * step && tone <= 3. * step){\n c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));\n }\n if(tone > 3. * step && tone <= 4. * step){\n c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));\n }\n if(tone > 4. * step && tone <= 5. * step){\n c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));\n }\n if(tone > 5. * step){\n c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));\n }\n\n return c.r;\n}\n\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\n\nvoid main()\n{\n#ifdef SRGB_DECODE\n vec4 inkColor = sRGBToLinear(color);\n#else\n vec4 inkColor = color;\n#endif\n\n#ifdef VERTEX_COLOR\n #ifdef SRGB_DECODE\n inkColor *= sRGBToLinear(v_Color);\n #else\n inkColor *= v_Color;\n #endif\n#endif\n\n vec3 N = v_Normal;\n#ifdef DOUBLE_SIDED\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n\n if (dot(N, V) < 0.0) {\n N = -N;\n }\n#endif\n\n float tone = 0.0;\n\n float ambientFactor = 1.0;\n\n#ifdef BUMPMAP_ENABLED\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n ambientFactor = dot(v_Normal, N);\n#endif\n\n vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)\n {\n tone += dot(ambientLightColor[i], w) * ambientFactor * ao;\n }\n#endif\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;\n }}\n#endif\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)\n {\n vec3 lightDirection = -directionalLightDirection[i];\n float lightTone = dot(directionalLightColor[i], w);\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[i];\n }\n#endif\n\n float ndl = dot(N, normalize(lightDirection)) * shadowContrib;\n\n tone += lightTone * clamp(ndl, 0.0, 1.0);\n }\n#endif\n\n gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));\n }\n@end\n"},function(e,t,r){"use strict";t.a="@export ecgl.sm.depth.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec3 position : POSITION;\nattribute vec2 texcoord : TEXCOORD_0;\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nuniform float percent : 1.0;\n#endif\n\nvarying vec4 v_ViewPosition;\nvarying vec2 v_Texcoord;\n\nvoid main(){\n\n#ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n#else\n vec3 pos = position;\n#endif\n\n v_ViewPosition = worldViewProjection * vec4(pos, 1.0);\n gl_Position = v_ViewPosition;\n\n v_Texcoord = texcoord;\n\n}\n@end\n\n\n\n@export ecgl.sm.depth.fragment\n\n@import clay.sm.depth.fragment\n\n@end"},function(e,t,r){"use strict";function n(e,t){if(e&&e[t]&&(e[t].normal||e[t].emphasis)){var r=e[t].normal,n=e[t].emphasis;r&&(e[t]=r),n&&(e.emphasis=e.emphasis||{},e.emphasis[t]=n)}}function i(e){n(e,"itemStyle"),n(e,"lineStyle"),n(e,"areaStyle"),n(e,"label")}function a(e){e&&(e instanceof Array||(e=[e]),s.a.util.each(e,function(e){if(e.axisLabel){var t=e.axisLabel;s.a.util.extend(t,t.textStyle),t.textStyle=null}}))}var o=r(0),s=r.n(o),u=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];t.a=function(e){s.a.util.each(e.series,function(t){s.a.util.indexOf(u,t.type)>=0&&(i(t),"mapbox"===t.coordinateSystem&&(t.coordinateSystem="mapbox3D",e.mapbox3D=e.mapbox))}),a(e.xAxis3D),a(e.yAxis3D),a(e.zAxis3D),a(e.grid3D),n(e.geo3D)}},function(e,t,r){"use strict";var n=(r(155),r(159),r(160),r(167),r(0)),i=r.n(n);i.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(e,t){t.eachComponent({mainType:"grid3D",query:e},function(t){t.setView(e)})}),i.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(e,t){}),i.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(e,t){})},function(e,t,r){"use strict";function n(e,t){return t.type||(t.data?"category":"value")}var i=r(0),a=r.n(i),o=r(156),s=a.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});a.a.helper.mixinAxisModelCommonMethods(s),Object(o.a)("x",s,n,{name:"X"}),Object(o.a)("y",s,n,{name:"Y"}),Object(o.a)("z",s,n,{name:"Z"})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(157),o=r(158),s=r.n(o),u=["value","category","time","log"];t.a=function(e,t,r,n){i.a.util.each(u,function(o){t.extend({type:e+"Axis3D."+o,__ordinalMeta:null,mergeDefaultAndTheme:function(t,n){var a=n.getTheme();i.a.util.merge(t,a.get(o+"Axis3D")),i.a.util.merge(t,this.getDefaultOption()),t.type=r(e,t)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=s.a.createByAxisModel(this))},getCategories:function(){if("category"===this.option.type)return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:i.a.util.merge(i.a.util.clone(a.a[o+"Axis3D"]),n||{},!0)})}),t.superClass.registerSubTypeDefaulter(e+"Axis3D",i.a.util.curry(r,e))}},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},o=i.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},a),s=i.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},a),u=i.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},s),l=i.a.util.defaults({logBase:10},s);l.scale=!0,t.a={categoryAxis3D:o,valueAxis3D:s,timeAxis3D:u,logAxis3D:l}},function(e,t,r){function n(e){this.categories=e.categories||[],this._needCollect=e.needCollect,this._deduplication=e.deduplication,this._map}function i(e){return e._map||(e._map=s(e.categories))}function a(e){return u(e)&&null!=e.value?e.value:e+""}var o=r(13),s=o.createHashMap,u=o.isObject,l=o.map;n.createByAxisModel=function(e){var t=e.option,r=t.data,i=r&&l(r,a);return new n({categories:i,needCollect:!i,deduplication:!1!==t.dedplication})};var h=n.prototype;h.getOrdinal=function(e){return i(this).get(e)},h.parseAndCollect=function(e){var t,r=this._needCollect;if("string"!=typeof e&&!r)return e;if(r&&!this._deduplication)return t=this.categories.length,this.categories[t]=e,t;var n=i(this);return t=n.get(e),null==t&&(r?(t=this.categories.length,this.categories[t]=e,n.set(e,t)):t=NaN),t};var c=n;e.exports=c},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(44),o=r(28),s=r(29),u=i.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});i.a.util.merge(u.prototype,a.a),i.a.util.merge(u.prototype,o.a),i.a.util.merge(u.prototype,s.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(45),s=r(25),u=r(2),l=r(81),h=r(30),c=r(162),d=r(164),f=r(63),p=r(46),m=u.a.firstNotNull;a.a.Shader.import(p.a),["x","y","z"].forEach(function(e){i.a.extendComponentView({type:e+"Axis3D"})});var g={x:0,y:2,z:1};i.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(e,t){var r=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],n=["x","y","z"],i=new a.a.Material({shader:a.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),u=new a.a.Material({shader:a.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});i.define("fragment","DOUBLE_SIDED"),i.define("both","VERTEX_COLOR"),this.groupGL=new a.a.Node,this._control=new o.a({zr:t.getZr()}),this._control.init(),this._faces=r.map(function(e){var t=new c.a(e,u,i);return this.groupGL.add(t.rootNode),t},this),this._axes=n.map(function(e){var t=new d.a(e,u);return this.groupGL.add(t.rootNode),t},this);var p=t.getDevicePixelRatio();this._axisLabelSurface=new l.a({width:256,height:256,devicePixelRatio:p}),this._axisLabelSurface.onupdate=function(){t.getZr().refresh()},this._axisPointerLineMesh=new a.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:u,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new l.a({width:128,height:128,devicePixelRatio:p}),this._axisPointerLabelsMesh=new f.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new a.a.Node,this._sceneHelper=new h.a,this._sceneHelper.initLight(this._lightRoot)},render:function(e,t,r){this._model=e,this._api=r;var n=e.coordinateSystem;n.viewGL.add(this._lightRoot),e.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL);var i=this._control;i.setViewGL(n.viewGL);var a=e.getModel("viewControl");i.setFromViewControlModel(a,0),this._axisLabelSurface.clear(),i.off("update"),e.get("show")&&(this._faces.forEach(function(n){n.update(e,t,r)},this),this._axes.forEach(function(t){t.update(e,this._axisLabelSurface,r)},this)),i.on("update",this._onCameraChange.bind(this,e,r),this),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(e),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._initMouseHandler(e)},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r)},showAxisPointer:function(e,t,r,n){this._doShowAxisPointer(),this._updateAxisPointer(n.value)},hideAxisPointer:function(e,t,r,n){this._doHideAxisPointer()},_initMouseHandler:function(e){var t=e.coordinateSystem,r=t.viewGL;e.get("show")&&e.get("axisPointer.show")?r.on("mousemove",this._updateAxisPointerOnMousePosition,this):r.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(e){if(!e.target){for(var t,r=this._model,n=r.coordinateSystem,i=n.viewGL,o=i.castRay(e.offsetX,e.offsetY,new a.a.Ray),s=0;sn[1]?0:1,s=this._faces[2*r+o],u=this._faces[2*r+1-o];s.rootNode.invisible=!0,u.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var e=this._model.coordinateSystem,t=e.getAxis("x"),r=e.getAxis("y"),n=e.getAxis("z"),i=n.getExtentMax(),a=n.getExtentMin(),o=t.getExtentMin(),s=t.getExtentMax(),u=r.getExtentMax(),l=r.getExtentMin(),h=this._axes[0].rootNode,c=this._axes[1].rootNode,d=this._axes[2].rootNode,f=this._faces,p=f[4].rootNode.invisible?l:u,m=f[2].rootNode.invisible?i:a,g=f[0].rootNode.invisible?o:s,_=f[2].rootNode.invisible?i:a,v=f[0].rootNode.invisible?s:o,y=f[4].rootNode.invisible?l:u;h.rotation.identity(),c.rotation.identity(),d.rotation.identity(),f[4].rootNode.invisible&&(this._axes[0].flipped=!0,h.rotation.rotateX(Math.PI)),f[0].rootNode.invisible&&(this._axes[1].flipped=!0,c.rotation.rotateZ(Math.PI)),f[4].rootNode.invisible&&(this._axes[2].flipped=!0,d.rotation.rotateY(Math.PI)),h.position.set(0,m,p),c.position.set(g,_,0),d.position.set(v,0,y),h.update(),c.update(),d.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var e=this._control.getCamera(),t=[new a.a.Vector4,new a.a.Vector4],r=new a.a.Vector4;this.groupGL.getWorldPosition(r),r.w=1,r.transformMat4(e.viewMatrix).transformMat4(e.projectionMatrix),r.x/=r.w,r.y/=r.w,this._axes.forEach(function(n){for(var i=n.axisLineCoords,a=(n.labelsMesh.geometry,0);ar.y?"bottom":"top"):(s="middle",o=h>r.x?"left":"right"),n.setSpriteAlign(o,s,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(e){function t(e){return u.a.firstNotNull(e.model.get("axisPointer.show"),l.get("show"))}function r(e){var t=e.model.getModel("axisPointer",l),r=t.getModel("lineStyle"),n=a.a.parseColor(r.get("color")),i=m(r.get("width"),1),o=m(r.get("opacity"),1);return n[3]*=o,{color:n,lineWidth:i}}var n=this._model.coordinateSystem,i=n.dataToPoint(e),o=this._axisPointerLineMesh,s=o.geometry,l=this._model.getModel("axisPointer"),h=this._api.getDevicePixelRatio();s.convertToDynamicArray(!0);for(var c=0;c0&&e.rotation.rotateY(Math.PI),t.normal.z=-n)}function i(e,t,r){this.rootNode=new s.a.Node;var n=new s.a.Mesh({geometry:new l.a({useNativeLine:!1}),material:t,castShadow:!1,ignorePicking:!0,$ignorePicking:!0,renderOrder:1}),i=new s.a.Mesh({geometry:new h.a,material:r,castShadow:!1,culling:!1,ignorePicking:!0,$ignorePicking:!0,renderOrder:0});this.rootNode.add(i),this.rootNode.add(n),this.faceInfo=e,this.plane=new s.a.Plane,this.linesMesh=n,this.quadsMesh=i}var a=r(0),o=r.n(a),s=r(1),u=r(2),l=r(25),h=r(163),c=u.a.firstNotNull,d={x:0,y:2,z:1};i.prototype.update=function(e,t,r){var i=e.coordinateSystem,a=[i.getAxis(this.faceInfo[0]),i.getAxis(this.faceInfo[1])],o=this.linesMesh.geometry,s=this.quadsMesh.geometry;o.convertToDynamicArray(!0),s.convertToDynamicArray(!0),this._updateSplitLines(o,a,e,r),this._udpateSplitAreas(s,a,e,r),o.convertToTypedArray(),s.convertToTypedArray();var u=i.getAxis(this.faceInfo[2]);n(this.rootNode,this.plane,u,this.faceInfo[3])},i.prototype._updateSplitLines=function(e,t,r,n){var i=n.getDevicePixelRatio();t.forEach(function(n,a){var u=n.model,l=t[1-a].getExtent();if(!n.scale.isBlank()){var h=u.getModel("splitLine",r.getModel("splitLine"));if(h.get("show")){var d=h.getModel("lineStyle"),f=d.get("color"),p=c(d.get("opacity"),1),m=c(d.get("width"),1);f=o.a.util.isArray(f)?f:[f];for(var g=n.getTicksCoords({tickModel:h}),_=0,v=0;v65535?new Uint32Array(3*n):new Uint16Array(3*n))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var e=u.create(),t=u.create(),r=u.create(),n=[0,3,1,3,2,1];return function(i,a){var o=this.attributes.position,s=this.attributes.normal,l=this.attributes.color;u.sub(e,i[1],i[0]),u.sub(t,i[2],i[1]),u.cross(r,e,t),u.normalize(r,r);for(var h=0;h<4;h++)o.set(this._vertexOffset+h,i[h]),l.set(this._vertexOffset+h,a),s.set(this._vertexOffset+h,r);for(var c=3*this._faceOffset,h=0;h<6;h++)this.indices[c+h]=n[h]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});a.a.util.defaults(l.prototype,o.a),t.a=l},function(e,t,r){"use strict";function n(e,t){var r=new o.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:t,castShadow:!1,ignorePicking:!0,renderOrder:2}),n=new l.a;n.material.depthMask=!1;var i=new o.a.Node;i.add(r),i.add(n),this.rootNode=i,this.dim=e,this.linesMesh=r,this.labelsMesh=n,this.axisLineCoords=null,this.labelElements=[]}var i=r(0),a=r.n(i),o=r(1),s=r(25),u=r(2),l=r(63),h=u.a.firstNotNull,c={x:0,y:2,z:1},d={x:"y",y:"x",z:"y"};n.prototype.update=function(e,t,r){var n=e.coordinateSystem,i=n.getAxis(this.dim),s=this.linesMesh.geometry,u=this.labelsMesh.geometry;s.convertToDynamicArray(!0),u.convertToDynamicArray(!0);var l=i.model,f=i.getExtent(),p=r.getDevicePixelRatio(),m=l.getModel("axisLine",e.getModel("axisLine")),g=l.getModel("axisTick",e.getModel("axisTick")),_=l.getModel("axisLabel",e.getModel("axisLabel")),v=m.get("lineStyle.color");if(m.get("show")){var y=m.getModel("lineStyle"),x=[0,0,0],T=[0,0,0],b=c[i.dim];x[b]=f[0],T[b]=f[1],this.axisLineCoords=[x,T];var w=o.a.parseColor(v),E=h(y.get("width"),1),S=h(y.get("opacity"),1);w[3]*=S,s.addLine(x,T,w,E*p)}if(g.get("show")){var A=g.getModel("lineStyle"),M=o.a.parseColor(h(A.get("color"),v)),E=h(A.get("width"),1);M[3]*=h(A.get("opacity"),1);for(var C=i.getTicksCoords(),L=g.get("length"),D=0;D65535?new Uint32Array(3*r):new Uint16Array(3*r))},setSpriteAlign:function(e,t,r,n,i){null==r&&(r="left"),null==n&&(n="top");var a,o,s,u;switch(i=i||0,r){case"left":a=i,s=t[0]+i;break;case"center":case"middle":a=-t[0]/2,s=t[0]/2;break;case"right":a=-t[0]-i,s=-i}switch(n){case"bottom":o=i,u=t[1]+i;break;case"middle":o=-t[1]/2,u=t[1]/2;break;case"top":o=-t[1]-i,u=-i}var l=4*e,h=this.attributes.offset;h.set(l,[a,u]),h.set(l+1,[s,u]),h.set(l+2,[s,o]),h.set(l+3,[a,o])},addSprite:function(e,t,r,n,i,a){var o=this._vertexOffset;this.setSprite(this._vertexOffset/4,e,t,r,n,i,a);for(var u=0;u1?"."+e[1]:""))}function i(e,t){return e=(e||"").toLowerCase().replace(/-(.)/g,function(e,t){return t.toUpperCase()}),t&&e&&(e=e.charAt(0).toUpperCase()+e.slice(1)),e}function a(e){return null==e?"":(e+"").replace(g,function(e,t){return _[t]})}function o(e,t,r){d.isArray(t)||(t=[t]);var n=t.length;if(!n)return"";for(var i=t[0].$vars||[],o=0;o':'':""}function l(e,t){return e+="","0000".substr(0,t-e.length)+e}function h(e,t,r){"week"!==e&&"month"!==e&&"quarter"!==e&&"half-year"!==e&&"year"!==e||(e="MM-dd\nyyyy");var n=p.parseDate(t),i=r?"UTC":"",a=n["get"+i+"FullYear"](),o=n["get"+i+"Month"]()+1,s=n["get"+i+"Date"](),u=n["get"+i+"Hours"](),h=n["get"+i+"Minutes"](),c=n["get"+i+"Seconds"](),d=n["get"+i+"Milliseconds"]();return e=e.replace("MM",l(o,2)).replace("M",o).replace("yyyy",a).replace("yy",a%100).replace("dd",l(s,2)).replace("d",s).replace("hh",l(u,2)).replace("h",u).replace("mm",l(h,2)).replace("m",h).replace("ss",l(c,2)).replace("s",c).replace("SSS",l(d,3))}function c(e){return e?e.charAt(0).toUpperCase()+e.substr(1):e}var d=r(13),f=r(172),p=r(85),m=d.normalizeCssArray,g=/([&<>"'])/g,_={"&":"&","<":"<",">":">",'"':""","'":"'"},v=["a","b","c","d","e","f","g"],y=function(e,t){return"{"+e+(null==t?"":t)+"}"},x=f.truncateText,T=f.getBoundingRect;t.addCommas=n,t.toCamelCase=i,t.normalizeCssArray=m,t.encodeHTML=a,t.formatTpl=o,t.formatTplSimple=s,t.getTooltipMarker=u,t.formatTime=h,t.capitalFirst=c,t.truncateText=x,t.getTextRect=T},function(e,t,r){function n(e,t){I[e]=t}function i(e,t){t=t||P;var r=e+":"+t;if(L[r])return L[r];for(var n=(e+"").split("\n"),i=0,a=0,o=n.length;aN&&(D=0,L={}),D++,L[r]=i,i}function a(e,t,r,n,i,a,u){return a?s(e,t,r,n,i,a,u):o(e,t,r,n,i,u)}function o(e,t,r,n,a,o){var s=_(e,t,a,o),h=i(e,t);a&&(h+=a[1]+a[3]);var c=s.outerHeight,d=u(0,h,r),f=l(0,c,n),p=new T(d,f,h,c);return p.lineHeight=s.lineHeight,p}function s(e,t,r,n,i,a,o){var s=v(e,{rich:a,truncate:o,font:t,textAlign:r,textPadding:i}),h=s.outerWidth,c=s.outerHeight,d=u(0,h,r),f=l(0,c,n);return new T(d,f,h,c)}function u(e,t,r){return"right"===r?e-=t:"center"===r&&(e-=t/2),e}function l(e,t,r){return"middle"===r?e-=t/2:"bottom"===r&&(e-=t),e}function h(e,t,r){var n=t.x,i=t.y,a=t.height,o=t.width,s=a/2,u="left",l="top";switch(e){case"left":n-=r,i+=s,u="right",l="middle";break;case"right":n+=r+o,i+=s,l="middle";break;case"top":n+=o/2,i-=r,u="center",l="bottom";break;case"bottom":n+=o/2,i+=a+r,u="center";break;case"inside":n+=o/2,i+=s,u="center",l="middle";break;case"insideLeft":n+=r,i+=s,l="middle";break;case"insideRight":n+=o-r,i+=s,u="right",l="middle";break;case"insideTop":n+=o/2,i+=r,u="center";break;case"insideBottom":n+=o/2,i+=a-r,u="center",l="bottom";break;case"insideTopLeft":n+=r,i+=r;break;case"insideTopRight":n+=o-r,i+=r,u="right";break;case"insideBottomLeft":n+=r,i+=a-r,l="bottom";break;case"insideBottomRight":n+=o-r,i+=a-r,u="right",l="bottom"}return{x:n,y:i,textAlign:u,textVerticalAlign:l}}function c(e,t,r,n,i){if(!t)return"";var a=(e+"").split("\n");i=d(t,r,n,i);for(var o=0,s=a.length;o=o;u++)s-=o;var l=i(r);return l>s&&(r="",l=0),s=e-l,n.ellipsis=r,n.ellipsisWidth=l,n.contentWidth=s,n.containerWidth=e,n}function f(e,t){var r=t.containerWidth,n=t.font,a=t.contentWidth;if(!r)return"";var o=i(e,n);if(o<=r)return e;for(var s=0;;s++){if(o<=a||s>=t.maxIterations){e+=t.ellipsis;break}var u=0===s?p(e,a,t.ascCharWidth,t.cnCharWidth):o>0?Math.floor(e.length*a/o):0;e=e.substr(0,u),o=i(e,n)}return""===e&&(e=t.placeholder),e}function p(e,t,r,n){for(var i=0,a=0,o=e.length;au)e="",a=[];else if(null!=l)for(var h=d(l-(r?r[1]+r[3]:0),t,n.ellipsis,{minChar:n.minChar,placeholder:n.placeholder}),c=0,p=a.length;ca&&y(r,e.substring(a,o)),y(r,n[2],n[1]),a=R.lastIndex}ag)return{lines:[],width:0,height:0};E.textWidth=i(E.text,L);var N=S.textWidth,P=null==N||"auto"===N;if("string"==typeof N&&"%"===N.charAt(N.length-1))E.percentWidth=N,h.push(E),N=0;else{if(P){N=E.textWidth;var I=S.textBackgroundColor,O=I&&I.image;O&&(O=b.findExistImage(O),b.isImageReady(O)&&(N=Math.max(N,O.width*D/O.height)))}var F=C?C[1]+C[3]:0;N+=F;var B=null!=p?p-T:null;null!=B&&B4){console.warn("Support at most 4 cascade");continue}m.shadowCascade>1&&(s=m),this.renderDirectionalLightShadow(e,t,r,m,d,c,h)}else"SPOT_LIGHT"===m.type?this.renderSpotLightShadow(e,t,m,l,u):"POINT_LIGHT"===m.type&&this.renderPointLightShadow(e,t,m,f);this._shadowMapNumber[m.type]++}for(var g in this._shadowMapNumber)for(var _=this._shadowMapNumber[g],v=g+"_SHADOWMAP_COUNT",p=0;p0?x.define("fragment",v,_):x.isDefined("fragment",v)&&x.undefine("fragment",v))}for(var p=0;p0){var b=h.map(i);if(T.directionalLightShadowMaps={value:h,type:"tv"},T.directionalLightMatrices={value:c,type:"m4v"},T.directionalLightShadowMapSizes={value:b,type:"1fv"},s){var w=d.slice(),E=d.slice();w.pop(),E.shift(),w.reverse(),E.reverse(),c.reverse(),T.shadowCascadeClipsNear={value:w,type:"1fv"},T.shadowCascadeClipsFar={value:E,type:"1fv"}}}if(u.length>0){var S=u.map(i),T=t.shadowUniforms;T.spotLightShadowMaps={value:u,type:"tv"},T.spotLightMatrices={value:l,type:"m4v"},T.spotLightShadowMapSizes={value:S,type:"1fv"}}f.length>0&&(T.pointLightShadowMaps={value:f,type:"tv"})}},renderDirectionalLightShadow:function(){var e=new l.a,t=new h.a,r=new u.a,a=new h.a,o=new h.a,s=new h.a,d=new h.a;return function(u,l,f,p,m,g,_){var y=this._getDepthMaterial(p),x={getMaterial:function(e){return e.shadowDepthMaterial||y},isMaterialChanged:i,getUniform:n,ifRender:function(e){return e.castShadow},sortCompare:c.a.opaqueSortCompare};if(!l.viewBoundingBoxLastFrame.isFinite()){var T=l.getBoundingBox();l.viewBoundingBoxLastFrame.copy(T).applyTransform(f.viewMatrix)}var w=Math.min(-l.viewBoundingBoxLastFrame.min.z,f.far),E=Math.max(-l.viewBoundingBoxLastFrame.max.z,f.near),A=this._getDirectionalLightCamera(p,l,f),M=s.array;d.copy(A.projectionMatrix),b.a.invert(o.array,A.worldTransform.array),b.a.multiply(o.array,o.array,f.worldTransform.array),b.a.multiply(M,d.array,o.array);for(var C=[],L=f instanceof v.a,D=(f.near+f.far)/(f.near-f.far),N=2*f.near*f.far/(f.near-f.far),R=0;R<=p.shadowCascade;R++){var P=E*Math.pow(w/E,R/p.shadowCascade),I=E+(w-E)*R/p.shadowCascade,O=P*p.cascadeSplitLogFactor+I*(1-p.cascadeSplitLogFactor);C.push(O),m.push(-(-O*D+N)/-O)}var F=this._getTexture(p,p.shadowCascade);_.push(F);var B=u.viewport,U=u.gl;this._frameBuffer.attach(F),this._frameBuffer.bind(u),U.clear(U.COLOR_BUFFER_BIT|U.DEPTH_BUFFER_BIT);for(var R=0;Ru?s>l?v[i>0?"px":"nx"]=!0:v[o>0?"pz":"nz"]=!0:u>l?v[a>0?"py":"ny"]=!0:v[o>0?"pz":"nz"]=!0}for(var r=0;r=0||(this.nodes.push(e),this._dirty=!0)},removeNode:function(e){"string"==typeof e&&(e=this.getNodeByName(e));var t=this.nodes.indexOf(e);t>=0&&(this.nodes.splice(t,1),this._dirty=!0)},getNodeByName:function(e){for(var t=0;t=t.COLOR_ATTACHMENT0&&l<=t.COLOR_ATTACHMENT0+8&&c.push(l);h.drawBuffersEXT(c)}e.saveClear(),e.clearBit=i.a.DEPTH_BUFFER_BIT|i.a.COLOR_BUFFER_BIT,r=e.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),e.restoreClear(),n.unbind(e)}else r=e.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);this.trigger("afterrender",r),this._rendering=!1,this._rendered=!0}});t.a=o},function(e,t,r){"use strict";var n=r(48),i=n.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(e,t){return this.texture},beforeFrame:function(){},afterFrame:function(){}});t.a=i},function(e,t,r){"use strict";var n=r(16),i=r(48),a=i.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var e=new n.a({fragment:this.shader});this.pass=e},{render:function(e,t){this.trigger("beforerender",e),this._rendering=!0;var r=e.gl;for(var n in this.inputLinks){var i=this.inputLinks[n],a=i.node.getOutput(e,i.pin);this.pass.setUniform(n,a)}if(this.outputs){this.pass.outputs={};var o={};for(var s in this.outputs){var u=this.updateParameter(s,e);isNaN(u.width)&&this.updateParameter(s,e);var l=this.outputs[s],h=this._compositor.allocateTexture(u);this._outputTextures[s]=h;var c=l.attachment||r.COLOR_ATTACHMENT0;"string"==typeof c&&(c=r[c]),o[c]=h}this._compositor.getFrameBuffer().bind(e);for(var c in o)this._compositor.getFrameBuffer().attach(o[c],c);this.pass.render(e),this._compositor.getFrameBuffer().updateMipmap(e)}else this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(e),this.pass.render(e,t);for(var n in this.inputLinks){var i=this.inputLinks[n];i.node.removeReference(i.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",e)},updateParameter:function(e,t){var r=this.outputs[e],n=r.parameters,i=r._parametersCopy;if(i||(i=r._parametersCopy={}),n)for(var a in n)"width"!==a&&"height"!==a&&(i[a]=n[a]);var o,s;return o=n.width instanceof Function?n.width.call(this,t):n.width,s=n.height instanceof Function?n.height.call(this,t):n.height,o=Math.ceil(o),s=Math.ceil(s),i.width===o&&i.height===s||this._outputTextures[e]&&this._outputTextures[e].dispose(t),i.width=o,i.height=s,i},setParameter:function(e,t){this.pass.setUniform(e,t)},getParameter:function(e){return this.pass.getUniform(e)},setParameters:function(e){for(var t in e)this.setParameter(t,e[t])},define:function(e,t){this.pass.material.define("fragment",e,t)},undefine:function(e){this.pass.material.undefine("fragment",e)},removeReference:function(e){if(0===--this._outputReferences[e]){this.outputs[e].keepLastFrame?(this._prevOutputTextures[e]&&this._compositor.releaseTexture(this._prevOutputTextures[e]),this._prevOutputTextures[e]=this._outputTextures[e]):this._compositor.releaseTexture(this._outputTextures[e])}},clear:function(){i.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});t.a=a},function(e,t,r){"use strict";function n(e){e.import(i.a),e.import(a.a),e.import(o.a),e.import(s.a),e.import(u.a),e.import(l.a),e.import(h.a),e.import(c.a),e.import(d.a),e.import(f.a),e.import(p.a),e.import(m.a),e.import(g.a)}t.a=n;var i=r(185),a=r(87),o=r(186),s=r(88),u=r(187),l=r(89),h=r(90),c=r(91),d=r(92),f=r(93),p=r(188),m=r(94),g=r(95)},function(e,t,r){"use strict";t.a="@export clay.compositor.coloradjust\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float brightness : 0.0;\nuniform float contrast : 1.0;\nuniform float exposure : 0.0;\nuniform float gamma : 1.0;\nuniform float saturation : 1.0;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord);\n vec3 color = clamp(tex.rgb + vec3(brightness), 0.0, 1.0);\n color = clamp( (color-vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);\n color = clamp( color * pow(2.0, exposure), 0.0, 1.0);\n color = clamp( pow(color, vec3(gamma)), 0.0, 1.0);\n float luminance = dot( color, w );\n color = mix(vec3(luminance), color, saturation);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.brightness\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float brightness : 0.0;\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord);\n vec3 color = tex.rgb + vec3(brightness);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.contrast\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float contrast : 1.0;\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord);\n vec3 color = (tex.rgb-vec3(0.5))*contrast+vec3(0.5);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.exposure\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float exposure : 0.0;\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n vec3 color = tex.rgb * pow(2.0, exposure);\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.gamma\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float gamma : 1.0;\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n vec3 color = pow(tex.rgb, vec3(gamma));\n gl_FragColor = vec4(color, tex.a);\n}\n@end\n@export clay.compositor.saturation\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float saturation : 1.0;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\nvoid main()\n{\n vec4 tex = texture2D(texture, v_Texcoord);\n vec3 color = tex.rgb;\n float luminance = dot(color, w);\n color = mix(vec3(luminance), color, saturation);\n gl_FragColor = vec4(color, tex.a);\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.hdr.log_lum\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\n@import clay.util.rgbm\nvoid main()\n{\n vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));\n float luminance = dot(tex.rgb, w);\n luminance = log(luminance + 0.001);\n gl_FragColor = encodeHDR(vec4(vec3(luminance), 1.0));\n}\n@end\n@export clay.compositor.hdr.lum_adaption\nvarying vec2 v_Texcoord;\nuniform sampler2D adaptedLum;\nuniform sampler2D currentLum;\nuniform float frameTime : 0.02;\n@import clay.util.rgbm\nvoid main()\n{\n float fAdaptedLum = decodeHDR(texture2D(adaptedLum, vec2(0.5, 0.5))).r;\n float fCurrentLum = exp(encodeHDR(texture2D(currentLum, vec2(0.5, 0.5))).r);\n fAdaptedLum += (fCurrentLum - fAdaptedLum) * (1.0 - pow(0.98, 30.0 * frameTime));\n gl_FragColor = encodeHDR(vec4(vec3(fAdaptedLum), 1.0));\n}\n@end\n@export clay.compositor.lum\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nconst vec3 w = vec3(0.2125, 0.7154, 0.0721);\nvoid main()\n{\n vec4 tex = texture2D( texture, v_Texcoord );\n float luminance = dot(tex.rgb, w);\n gl_FragColor = vec4(vec3(luminance), 1.0);\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.vignette\n#define OUTPUT_ALPHA\nvarying vec2 v_Texcoord;\nuniform sampler2D texture;\nuniform float darkness: 1;\nuniform float offset: 1;\n@import clay.util.rgbm\nvoid main()\n{\n vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));\n gl_FragColor.rgb = texel.rgb;\n vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(offset);\n gl_FragColor = encodeHDR(vec4(mix(texel.rgb, vec3(1.0 - darkness), dot(uv, uv)), texel.a));\n}\n@end"},function(e,t,r){"use strict";t.a="@export clay.compositor.lensflare\n#define SAMPLE_NUMBER 8\nuniform sampler2D texture;\nuniform sampler2D lenscolor;\nuniform vec2 textureSize : [512, 512];\nuniform float dispersal : 0.3;\nuniform float haloWidth : 0.4;\nuniform float distortion : 1.0;\nvarying vec2 v_Texcoord;\n@import clay.util.rgbm\nvec4 textureDistorted(\n in vec2 texcoord,\n in vec2 direction,\n in vec3 distortion\n) {\n return vec4(\n decodeHDR(texture2D(texture, texcoord + direction * distortion.r)).r,\n decodeHDR(texture2D(texture, texcoord + direction * distortion.g)).g,\n decodeHDR(texture2D(texture, texcoord + direction * distortion.b)).b,\n 1.0\n );\n}\nvoid main()\n{\n vec2 texcoord = -v_Texcoord + vec2(1.0); vec2 textureOffset = 1.0 / textureSize;\n vec2 ghostVec = (vec2(0.5) - texcoord) * dispersal;\n vec2 haloVec = normalize(ghostVec) * haloWidth;\n vec3 distortion = vec3(-textureOffset.x * distortion, 0.0, textureOffset.x * distortion);\n vec4 result = vec4(0.0);\n for (int i = 0; i < SAMPLE_NUMBER; i++)\n {\n vec2 offset = fract(texcoord + ghostVec * float(i));\n float weight = length(vec2(0.5) - offset) / length(vec2(0.5));\n weight = pow(1.0 - weight, 10.0);\n result += textureDistorted(offset, normalize(ghostVec), distortion) * weight;\n }\n result *= texture2D(lenscolor, vec2(length(vec2(0.5) - texcoord)) / length(vec2(0.5)));\n float weight = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5));\n weight = pow(1.0 - weight, 10.0);\n vec2 offset = fract(texcoord + haloVec);\n result += textureDistorted(offset, normalize(ghostVec), distortion) * weight;\n gl_FragColor = result;\n}\n@end"},function(e,t,r){"use strict";function n(e){for(var t=new Uint8Array(e*e*4),r=0,n=new u.a,i=0;i=1?.95:0,weight2:n>=1?.05:1}),p.render(e)),h.attach(u),d.setUniform("texture",this._physicallyCorrect?this._currentTexture:s),d.render(e),h.attach(l),f.setUniform("texture",u),f.render(e),h.unbind(e),this._physicallyCorrect){var v=this._prevTexture;this._prevTexture=this._currentTexture,this._currentTexture=v}},n.prototype.getTargetTexture=function(){return this._texture3},n.prototype.setParameter=function(e,t){"maxIteration"===e?this._ssrPass.material.define("fragment","MAX_ITERATION",t):this._ssrPass.setUniform(e,t)},n.prototype.setPhysicallyCorrect=function(e){e?(this._normalDistribution||(this._normalDistribution=h.a.generateNormalDistribution(64,this._totalSamples)),this._ssrPass.material.define("fragment","PHYSICALLY_CORRECT"),this._ssrPass.material.set("normalDistribution",this._normalDistribution),this._ssrPass.material.set("normalDistributionSize",[64,this._totalSamples])):this._ssrPass.material.undefine("fragment","PHYSICALLY_CORRECT"),this._physicallyCorrect=e},n.prototype.setSSAOTexture=function(e){var t=this._blurPass2;e?(t.material.enableTexture("ssaoTex"),t.material.set("ssaoTex",e)):t.material.disableTexture("ssaoTex")},n.prototype.isFinished=function(e){return!this._physicallyCorrect||e>this._totalSamples/this._samplePerFrame},n.prototype.dispose=function(e){this._ssrTexture.dispose(e),this._texture2.dispose(e),this._texture3.dispose(e),this._prevTexture.dispose(e),this._currentTexture.dispose(e),this._frameBuffer.dispose(e)},t.a=n},function(e,t,r){"use strict";t.a="@export ecgl.ssr.main\n\n#define SHADER_NAME SSR\n#define MAX_ITERATION 20;\n#define SAMPLE_PER_FRAME 5;\n#define TOTAL_SAMPLES 128;\n\nuniform sampler2D sourceTexture;\nuniform sampler2D gBufferTexture1;\nuniform sampler2D gBufferTexture2;\nuniform sampler2D gBufferTexture3;\nuniform samplerCube specularCubemap;\nuniform float specularIntensity: 1;\n\nuniform mat4 projection;\nuniform mat4 projectionInv;\nuniform mat4 toViewSpace;\nuniform mat4 toWorldSpace;\n\nuniform float maxRayDistance: 200;\n\nuniform float pixelStride: 16;\nuniform float pixelStrideZCutoff: 50; \nuniform float screenEdgeFadeStart: 0.9; \nuniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8; \nuniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 1;\n\nuniform float nearZ;\nuniform vec2 viewportSize : VIEWPORT_SIZE;\n\nuniform float jitterOffset: 0;\n\nvarying vec2 v_Texcoord;\n\n#ifdef DEPTH_DECODE\n@import clay.util.decode_float\n#endif\n\n#ifdef PHYSICALLY_CORRECT\nuniform sampler2D normalDistribution;\nuniform float sampleOffset: 0;\nuniform vec2 normalDistributionSize;\n\nvec3 transformNormal(vec3 H, vec3 N) {\n vec3 upVector = N.y > 0.999 ? vec3(1.0, 0.0, 0.0) : vec3(0.0, 1.0, 0.0);\n vec3 tangentX = normalize(cross(N, upVector));\n vec3 tangentZ = cross(N, tangentX);\n return normalize(tangentX * H.x + N * H.y + tangentZ * H.z);\n}\nvec3 importanceSampleNormalGGX(float i, float roughness, vec3 N) {\n float p = fract((i + sampleOffset) / float(TOTAL_SAMPLES));\n vec3 H = texture2D(normalDistribution,vec2(roughness, p)).rgb;\n return transformNormal(H, N);\n}\nfloat G_Smith(float g, float ndv, float ndl) {\n float roughness = 1.0 - g;\n float k = roughness * roughness / 2.0;\n float G1V = ndv / (ndv * (1.0 - k) + k);\n float G1L = ndl / (ndl * (1.0 - k) + k);\n return G1L * G1V;\n}\nvec3 F_Schlick(float ndv, vec3 spec) {\n return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);\n}\n#endif\n\nfloat fetchDepth(sampler2D depthTexture, vec2 uv)\n{\n vec4 depthTexel = texture2D(depthTexture, uv);\n return depthTexel.r * 2.0 - 1.0;\n}\n\nfloat linearDepth(float depth)\n{\n if (projection[3][3] == 0.0) {\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\n }\n else {\n return (depth - projection[3][2]) / projection[2][2];\n }\n}\n\nbool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)\n{\n if (rayZFar > rayZNear)\n {\n float t = rayZFar; rayZFar = rayZNear; rayZNear = t;\n }\n float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));\n return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;\n}\n\n\nbool traceScreenSpaceRay(\n vec3 rayOrigin, vec3 rayDir, float jitter,\n out vec2 hitPixel, out vec3 hitPoint, out float iterationCount\n)\n{\n float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)\n ? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;\n\n vec3 rayEnd = rayOrigin + rayDir * rayLength;\n\n vec4 H0 = projection * vec4(rayOrigin, 1.0);\n vec4 H1 = projection * vec4(rayEnd, 1.0);\n\n float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;\n\n vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;\n\n vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;\n vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;\n\n P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;\n vec2 delta = P1 - P0;\n\n bool permute = false;\n if (abs(delta.x) < abs(delta.y)) {\n permute = true;\n delta = delta.yx;\n P0 = P0.yx;\n P1 = P1.yx;\n }\n float stepDir = sign(delta.x);\n float invdx = stepDir / delta.x;\n\n vec3 dQ = (Q1 - Q0) * invdx;\n float dk = (k1 - k0) * invdx;\n\n vec2 dP = vec2(stepDir, delta.y * invdx);\n\n float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);\n float pixStride = 1.0 + strideScaler * pixelStride;\n\n dP *= pixStride; dQ *= pixStride; dk *= pixStride;\n\n vec4 pqk = vec4(P0, Q0.z, k0);\n vec4 dPQK = vec4(dP, dQ.z, dk);\n\n pqk += dPQK * jitter;\n float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);\n float rayZNear;\n\n bool intersect = false;\n\n vec2 texelSize = 1.0 / viewportSize;\n\n iterationCount = 0.0;\n\n for (int i = 0; i < MAX_ITERATION; i++)\n {\n pqk += dPQK;\n\n rayZNear = rayZFar;\n rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);\n\n hitPixel = permute ? pqk.yx : pqk.xy;\n hitPixel *= texelSize;\n\n intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);\n\n iterationCount += 1.0;\n\n dPQK *= 1.2;\n\n if (intersect) {\n break;\n }\n }\n\n Q0.xy += dQ.xy * iterationCount;\n Q0.z = pqk.z;\n hitPoint = Q0 / pqk.w;\n\n return intersect;\n}\n\nfloat calculateAlpha(\n float iterationCount, float reflectivity,\n vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir\n)\n{\n float alpha = clamp(reflectivity, 0.0, 1.0);\n alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));\n vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;\n float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));\n alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);\n\n float _eyeFadeStart = eyeFadeStart;\n float _eyeFadeEnd = eyeFadeEnd;\n if (_eyeFadeStart > _eyeFadeEnd) {\n float tmp = _eyeFadeEnd;\n _eyeFadeEnd = _eyeFadeStart;\n _eyeFadeStart = tmp;\n }\n\n float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);\n alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);\n\n alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);\n\n return alpha;\n}\n\n@import clay.util.rand\n\n@import clay.util.rgbm\n\nvoid main()\n{\n vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);\n\n if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {\n discard;\n }\n\n float g = normalAndGloss.a;\n#if !defined(PHYSICALLY_CORRECT)\n if (g <= minGlossiness) {\n discard;\n }\n#endif\n\n float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);\n\n vec3 N = normalize(normalAndGloss.rgb * 2.0 - 1.0);\n N = normalize((toViewSpace * vec4(N, 0.0)).xyz);\n\n vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);\n vec4 pos = projectionInv * projectedPos;\n vec3 rayOrigin = pos.xyz / pos.w;\n vec3 V = -normalize(rayOrigin);\n\n float ndv = clamp(dot(N, V), 0.0, 1.0);\n float iterationCount;\n float jitter = rand(fract(v_Texcoord + jitterOffset));\n\n#ifdef PHYSICALLY_CORRECT\n vec4 color = vec4(vec3(0.0), 1.0);\n vec4 albedoMetalness = texture2D(gBufferTexture3, v_Texcoord);\n vec3 albedo = albedoMetalness.rgb;\n float m = albedoMetalness.a;\n vec3 diffuseColor = albedo * (1.0 - m);\n vec3 spec = mix(vec3(0.04), albedo, m);\n\n float jitter2 = rand(fract(v_Texcoord)) * float(TOTAL_SAMPLES);\n\n for (int i = 0; i < SAMPLE_PER_FRAME; i++) {\n vec3 H = importanceSampleNormalGGX(float(i) + jitter2, 1.0 - g, N);\n vec3 rayDir = normalize(reflect(-V, H));\n#else\n vec3 rayDir = normalize(reflect(-V, N));\n#endif\n vec2 hitPixel;\n vec3 hitPoint;\n\n bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);\n\n float dist = distance(rayOrigin, hitPoint);\n\n vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;\n hitNormal = normalize((toViewSpace * vec4(hitNormal, 0.0)).xyz);\n#ifdef PHYSICALLY_CORRECT\n float ndl = clamp(dot(N, rayDir), 0.0, 1.0);\n float vdh = clamp(dot(V, H), 0.0, 1.0);\n float ndh = clamp(dot(N, H), 0.0, 1.0);\n vec3 litTexel = vec3(0.0);\n if (dot(hitNormal, rayDir) < 0.0 && intersect) {\n litTexel = texture2D(sourceTexture, hitPixel).rgb;\n litTexel *= pow(clamp(1.0 - dist / 200.0, 0.0, 1.0), 3.0);\n\n }\n else {\n #ifdef SPECULARCUBEMAP_ENABLED\n vec3 rayDirW = normalize(toWorldSpace * vec4(rayDir, 0.0)).rgb;\n litTexel = RGBMDecode(textureCubeLodEXT(specularCubemap, rayDirW, 0.0), 8.12).rgb * specularIntensity;\n#endif\n }\n color.rgb += ndl * litTexel * (\n F_Schlick(ndl, spec) * G_Smith(g, ndv, ndl) * vdh / (ndh * ndv + 0.001)\n );\n }\n color.rgb /= float(SAMPLE_PER_FRAME);\n#else\n #if !defined(SPECULARCUBEMAP_ENABLED)\n if (dot(hitNormal, rayDir) >= 0.0) {\n discard;\n }\n if (!intersect) {\n discard;\n }\n#endif\n float alpha = clamp(calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir), 0.0, 1.0);\n vec4 color = texture2D(sourceTexture, hitPixel);\n color.rgb *= alpha;\n\n#ifdef SPECULARCUBEMAP_ENABLED\n vec3 rayDirW = normalize(toWorldSpace * vec4(rayDir, 0.0)).rgb;\n alpha = alpha * (intersect ? 1.0 : 0.0);\n float bias = (1.0 -g) * 5.0;\n color.rgb += (1.0 - alpha)\n * RGBMDecode(textureCubeLodEXT(specularCubemap, rayDirW, bias), 8.12).rgb\n * specularIntensity;\n#endif\n\n#endif\n\n gl_FragColor = encodeHDR(color);\n}\n@end\n\n@export ecgl.ssr.blur\n\nuniform sampler2D texture;\nuniform sampler2D gBufferTexture1;\nuniform sampler2D gBufferTexture2;\nuniform mat4 projection;\nuniform float depthRange : 0.05;\n\nvarying vec2 v_Texcoord;\n\nuniform vec2 textureSize;\nuniform float blurSize : 1.0;\n\n#ifdef BLEND\n #ifdef SSAOTEX_ENABLED\nuniform sampler2D ssaoTex;\n #endif\nuniform sampler2D sourceTexture;\n#endif\n\nfloat getLinearDepth(vec2 coord)\n{\n float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;\n return projection[3][2] / (depth * projection[2][3] - projection[2][2]);\n}\n\n@import clay.util.rgbm\n\n\nvoid main()\n{\n @import clay.compositor.kernel.gaussian_9\n\n vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);\n float g = centerNTexel.a;\n float maxBlurSize = clamp(1.0 - g, 0.0, 1.0) * blurSize;\n#ifdef VERTICAL\n vec2 off = vec2(0.0, maxBlurSize / textureSize.y);\n#else\n vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);\n#endif\n\n vec2 coord = v_Texcoord;\n\n vec4 sum = vec4(0.0);\n float weightAll = 0.0;\n\n vec3 cN = centerNTexel.rgb * 2.0 - 1.0;\n float cD = getLinearDepth(v_Texcoord);\n for (int i = 0; i < 9; i++) {\n vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));\n float w = gaussianKernel[i]\n * clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);\n float d = getLinearDepth(coord);\n w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));\n\n weightAll += w;\n sum += decodeHDR(texture2D(texture, coord)) * w;\n }\n\n#ifdef BLEND\n float aoFactor = 1.0;\n #ifdef SSAOTEX_ENABLED\n aoFactor = texture2D(ssaoTex, v_Texcoord).r;\n #endif\n gl_FragColor = encodeHDR(\n sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))\n );\n#else\n gl_FragColor = encodeHDR(sum / weightAll);\n#endif\n}\n\n@end"},function(e,t,r){"use strict";t.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(e,t,r){"use strict";function n(e,t,r,n,i){var a=e.gl;t.setUniform(a,"1i",r,i),a.activeTexture(a.TEXTURE0+i),n.isRenderable()?n.bind(e):n.unbind(e)}function i(e,t,r,i,a){var o,s,u,l,h=e.gl;return function(a,c,d){if(!l||l.material!==a.material){var f=a.material,p=a.__program,m=f.get("roughness");null==m&&(m=1);var g=f.get("normalMap")||t,_=f.get("roughnessMap"),v=f.get("bumpMap"),y=f.get("uvRepeat"),x=f.get("uvOffset"),T=f.get("detailUvRepeat"),b=f.get("detailUvOffset"),w=!!v&&f.isTextureEnabled("bumpMap"),E=!!_&&f.isTextureEnabled("roughnessMap"),S=f.isDefined("fragment","DOUBLE_SIDED");v=v||r,_=_||i,d!==c?(c.set("normalMap",g),c.set("bumpMap",v),c.set("roughnessMap",_),c.set("useBumpMap",w),c.set("useRoughnessMap",E),c.set("doubleSide",S),null!=y&&c.set("uvRepeat",y),null!=x&&c.set("uvOffset",x),null!=T&&c.set("detailUvRepeat",T),null!=b&&c.set("detailUvOffset",b),c.set("roughness",m)):(p.setUniform(h,"1f","roughness",m),o!==g&&n(e,p,"normalMap",g,0),s!==v&&v&&n(e,p,"bumpMap",v,1),u!==_&&_&&n(e,p,"roughnessMap",_,2),null!=y&&p.setUniform(h,"2f","uvRepeat",y),null!=x&&p.setUniform(h,"2f","uvOffset",x),null!=T&&p.setUniform(h,"2f","detailUvRepeat",T),null!=b&&p.setUniform(h,"2f","detailUvOffset",b),p.setUniform(h,"1i","useBumpMap",+w),p.setUniform(h,"1i","useRoughnessMap",+E),p.setUniform(h,"1i","doubleSide",+S)),o=g,s=v,u=_,l=a}}}function a(e){e=e||{},this._depthTex=new o.a({format:s.a.DEPTH_COMPONENT,type:s.a.UNSIGNED_INT}),this._normalTex=new o.a({type:s.a.HALF_FLOAT}),this._framebuffer=new l.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,l.a.DEPTH_ATTACHMENT),this._normalMaterial=new h.a({shader:new u.a(u.a.source("ecgl.normal.vertex"),u.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=d.a.createBlank("#000"),this._defaultBumpMap=d.a.createBlank("#000"),this._defaultRoughessMap=d.a.createBlank("#000"),this._debugPass=new c.a({fragment:u.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}var o=r(5),s=r(4),u=r(8),l=r(10),h=r(19),c=r(16),d=r(61),f=r(195);u.a.import(f.a),a.prototype.getDepthTexture=function(){return this._depthTex},a.prototype.getNormalTexture=function(){return this._normalTex},a.prototype.update=function(e,t,r){var n=e.getWidth(),a=e.getHeight(),o=this._depthTex,s=this._normalTex,u=this._normalMaterial;o.width=n,o.height=a,s.width=n,s.height=a;var l=t.getRenderList(r).opaque;this._framebuffer.bind(e),e.gl.clearColor(0,0,0,0),e.gl.clear(e.gl.COLOR_BUFFER_BIT|e.gl.DEPTH_BUFFER_BIT),e.gl.disable(e.gl.BLEND),e.renderPass(l,r,{getMaterial:function(){return u},ifRender:function(e){return e.renderNormal},beforeRender:i(e,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:e.opaqueSortCompare}),this._framebuffer.unbind(e)},a.prototype.renderDebug=function(e){this._debugPass.render(e)},a.prototype.dispose=function(e){this._depthTex.dispose(e),this._normalTex.dispose(e)},t.a=a},function(e,t,r){"use strict";t.a="@export ecgl.normal.vertex\n\n@import ecgl.common.transformUniforms\n\n@import ecgl.common.uv.header\n\n@import ecgl.common.attributes\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\n@import ecgl.common.normalMap.vertexHeader\n\n@import ecgl.common.vertexAnimation.header\n\nvoid main()\n{\n\n @import ecgl.common.vertexAnimation.main\n\n @import ecgl.common.uv.main\n\n v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);\n v_WorldPosition = (world * vec4(pos, 1.0)).xyz;\n\n @import ecgl.common.normalMap.vertexMain\n\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n\n}\n\n\n@end\n\n\n@export ecgl.normal.fragment\n\n#define ROUGHNESS_CHANEL 0\n\nuniform bool useBumpMap;\nuniform bool useRoughnessMap;\nuniform bool doubleSide;\nuniform float roughness;\n\n@import ecgl.common.uv.fragmentHeader\n\nvarying vec3 v_Normal;\nvarying vec3 v_WorldPosition;\n\nuniform mat4 viewInverse : VIEWINVERSE;\n\n@import ecgl.common.normalMap.fragmentHeader\n@import ecgl.common.bumpMap.header\n\nuniform sampler2D roughnessMap;\n\nvoid main()\n{\n vec3 N = v_Normal;\n \n bool flipNormal = false;\n if (doubleSide) {\n vec3 eyePos = viewInverse[3].xyz;\n vec3 V = normalize(eyePos - v_WorldPosition);\n\n if (dot(N, V) < 0.0) {\n flipNormal = true;\n }\n }\n\n @import ecgl.common.normalMap.fragmentMain\n\n if (useBumpMap) {\n N = bumpNormal(v_WorldPosition, v_Normal, N);\n }\n\n float g = 1.0 - roughness;\n\n if (useRoughnessMap) {\n float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];\n g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);\n }\n\n if (flipNormal) {\n N = -N;\n }\n\n gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;\n gl_FragColor.a = g;\n}\n@end"},function(e,t,r){"use strict";function n(e){e=e||{},this._edgePass=new o.a({fragment:s.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",e.normalTexture),this._edgePass.setUniform("depthTexture",e.depthTexture),this._targetTexture=new i.a({type:a.a.HALF_FLOAT}),this._frameBuffer=new u.a,this._frameBuffer.attach(this._targetTexture)}var i=(r(9),r(3),r(5)),a=r(4),o=r(16),s=r(8),u=r(10);n.prototype.update=function(e,t,r,n){var i=e.getWidth(),a=e.getHeight(),o=this._targetTexture;o.width=i,o.height=a;var s=this._frameBuffer;s.bind(e),this._edgePass.setUniform("projectionInv",t.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[i,a]),this._edgePass.setUniform("texture",r),this._edgePass.render(e),s.unbind(e)},n.prototype.getTargetTexture=function(){return this._targetTexture},n.prototype.setParameter=function(e,t){this._edgePass.setUniform(e,t)},n.prototype.dispose=function(e){this._targetTexture.dispose(e),this._frameBuffer.dispose(e)},t.a=n},function(e,t,r){"use strict";t.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(e,t,r){"use strict";t.a="@export ecgl.dof.coc\n\nuniform sampler2D depth;\n\nuniform float zNear: 0.1;\nuniform float zFar: 2000;\n\nuniform float focalDistance: 3;\nuniform float focalRange: 1;\nuniform float focalLength: 30;\nuniform float fstop: 2.8;\n\nvarying vec2 v_Texcoord;\n\n@import clay.util.encode_float\n\nvoid main()\n{\n float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;\n\n float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));\n\n float aperture = focalLength / fstop;\n\n float coc;\n\n float uppper = focalDistance + focalRange;\n float lower = focalDistance - focalRange;\n if (dist <= uppper && dist >= lower) {\n coc = 0.5;\n }\n else {\n float focalAdjusted = dist > uppper ? uppper : lower;\n\n coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));\n coc = clamp(coc, 0.0, 2.0) / 2.00001;\n\n if (dist < lower) {\n coc = -coc;\n }\n coc = coc * 0.5 + 0.5;\n }\n\n gl_FragColor = encodeFloat(coc);\n}\n@end\n\n\n@export ecgl.dof.composite\n\n#define DEBUG 0\n\nuniform sampler2D original;\nuniform sampler2D blurred;\nuniform sampler2D nearfield;\nuniform sampler2D coc;\nuniform sampler2D nearcoc;\nvarying vec2 v_Texcoord;\n\n@import clay.util.rgbm\n@import clay.util.float\n\nvoid main()\n{\n vec4 blurredColor = texture2D(blurred, v_Texcoord);\n vec4 originalColor = texture2D(original, v_Texcoord);\n\n float fCoc = decodeFloat(texture2D(coc, v_Texcoord));\n\n fCoc = abs(fCoc * 2.0 - 1.0);\n\n float weight = smoothstep(0.0, 1.0, fCoc);\n \n#ifdef NEARFIELD_ENABLED\n vec4 nearfieldColor = texture2D(nearfield, v_Texcoord);\n float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));\n fNearCoc = abs(fNearCoc * 2.0 - 1.0);\n\n gl_FragColor = encodeHDR(\n mix(\n nearfieldColor, mix(originalColor, blurredColor, weight),\n pow(1.0 - fNearCoc, 4.0)\n )\n );\n#else\n gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));\n#endif\n\n}\n\n@end\n\n\n\n@export ecgl.dof.diskBlur\n\n#define POISSON_KERNEL_SIZE 16;\n\nuniform sampler2D texture;\nuniform sampler2D coc;\nvarying vec2 v_Texcoord;\n\nuniform float blurRadius : 10.0;\nuniform vec2 textureSize : [512.0, 512.0];\n\nuniform vec2 poissonKernel[POISSON_KERNEL_SIZE];\n\nuniform float percent;\n\nfloat nrand(const in vec2 n) {\n return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);\n}\n\n@import clay.util.rgbm\n@import clay.util.float\n\n\nvoid main()\n{\n vec2 offset = blurRadius / textureSize;\n\n float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );\n float cosa = cos(rnd);\n float sina = sin(rnd);\n vec4 basis = vec4(cosa, -sina, sina, cosa);\n\n#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)\n offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);\n#endif\n\n#ifdef BLUR_COC\n float cocSum = 0.0;\n#else\n vec4 color = vec4(0.0);\n#endif\n\n\n float weightSum = 0.0;\n\n for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {\n vec2 ofs = poissonKernel[i];\n\n ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));\n\n vec2 uv = v_Texcoord + ofs * offset;\n vec4 texel = texture2D(texture, uv);\n\n float w = 1.0;\n#ifdef BLUR_COC\n float fCoc = decodeFloat(texel) * 2.0 - 1.0;\n cocSum += clamp(fCoc, -1.0, 0.0) * w;\n#else\n texel = texel;\n #if !defined(BLUR_NEARFIELD)\n float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;\n w *= abs(fCoc);\n #endif\n texel.rgb *= texel.a;\n color += texel * w;\n#endif\n\n weightSum += w;\n }\n\n#ifdef BLUR_COC\n gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);\n#else\n color /= weightSum;\n color.rgb /= (color.a + 0.0001);\n gl_FragColor = color;\n#endif\n}\n\n@end"},function(e,t,r){"use strict";t.a="@export ecgl.edge\n\nuniform sampler2D texture;\n\nuniform sampler2D normalTexture;\nuniform sampler2D depthTexture;\n\nuniform mat4 projectionInv;\n\nuniform vec2 textureSize;\n\nuniform vec4 edgeColor: [0,0,0,0.8];\n\nvarying vec2 v_Texcoord;\n\nvec3 packColor(vec2 coord) {\n float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;\n vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);\n vec4 p4 = projectionInv * p;\n\n return vec3(\n texture2D(normalTexture, coord).rg,\n -p4.z / p4.w / 5.0\n );\n}\n\nvoid main() {\n vec2 cc = v_Texcoord;\n vec3 center = packColor(cc);\n\n float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;\n float dx = size / textureSize.x;\n float dy = size / textureSize.y;\n\n vec2 coord;\n vec3 topLeft = packColor(cc+vec2(-dx, -dy));\n vec3 top = packColor(cc+vec2(0.0, -dy));\n vec3 topRight = packColor(cc+vec2(dx, -dy));\n vec3 left = packColor(cc+vec2(-dx, 0.0));\n vec3 right = packColor(cc+vec2(dx, 0.0));\n vec3 bottomLeft = packColor(cc+vec2(-dx, dy));\n vec3 bottom = packColor(cc+vec2(0.0, dy));\n vec3 bottomRight = packColor(cc+vec2(dx, dy));\n\n vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;\n vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;\n\n float edge = sqrt(dot(h, h) + dot(v, v));\n\n edge = smoothstep(0.8, 1.0, edge);\n\n gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);\n}\n@end"},function(e,t,r){"use strict";function n(e){for(var t=[],r=0;r<30;r++)t.push([Object(i.a)(r,2),Object(i.a)(r,3)]);this._haltonSequence=t,this._frame=0,this._sourceTex=new s.a,this._sourceFb=new o.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new s.a,this._outputTex=new s.a;var n=this._blendPass=new a.a({fragment:u.a.source("clay.compositor.blend")});n.material.disableTexturesAll(),n.material.enableTexture(["texture1","texture2"]),this._blendFb=new o.a({depthBuffer:!1}),this._outputPass=new a.a({fragment:u.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(e){e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD),e.blendFuncSeparate(e.ONE,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA)}}var i=r(49),a=r(16),o=r(10),s=r(5),u=r(8),l=r(9);n.prototype={constructor:n,jitterProjection:function(e,t){var r=e.viewport,n=r.devicePixelRatio||e.getDevicePixelRatio(),i=r.width*n,a=r.height*n,o=this._haltonSequence[this._frame%this._haltonSequence.length],s=new l.a;s.array[12]=(2*o[0]-1)/i,s.array[13]=(2*o[1]-1)/a,l.a.mul(t.projectionMatrix,s,t.projectionMatrix),l.a.invert(t.invProjectionMatrix,t.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(e,t){this._prevFrameTex.width=e,this._prevFrameTex.height=t,this._outputTex.width=e,this._outputTex.height=t,this._sourceTex.width=e,this._sourceTex.height=t,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(e,t,r){var n=this._blendPass;0===this._frame?(n.setUniform("weight1",0),n.setUniform("weight2",1)):(n.setUniform("weight1",.9),n.setUniform("weight2",.1)),n.setUniform("texture1",this._prevFrameTex),n.setUniform("texture2",t||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(e),n.render(e),this._blendFb.unbind(e),r||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(e));var i=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=i,this._frame++},dispose:function(e){this._sourceFb.dispose(e),this._blendFb.dispose(e),this._prevFrameTex.dispose(e),this._outputTex.dispose(e),this._sourceTex.dispose(e),this._outputPass.dispose(e),this._blendPass.dispose(e)}},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n);r(202),r(203),r(98);i.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(e,t){t.eachComponent({mainType:"geo3D",query:e},function(t){t.setView(e)})})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(44),o=r(28),s=r(29),u=r(31),l=r(96),h=i.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var e=this.option;e.regions=this.getFilledRegions(e.regions,e.map);var t=i.a.helper.completeDimensions(["value"],e.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),r=new i.a.List(t,this);r.initData(e.regions);var n={};r.each(function(e){var t=r.getName(e),i=r.getItemModel(e);n[t]=i}),this._regionModelMap=n,this._data=r},getData:function(){return this._data},getRegionModel:function(e){var t=this.getData().getName(e);return this._regionModelMap[t]||new i.a.Model(null,this)},getRegionPolygonCoords:function(e){var t=this.getData().getName(e),r=this.coordinateSystem.getRegion(t);return r?r.geometries:[]},getFormattedLabel:function(e,t){var r=this._data.getName(e),n=this.getRegionModel(r),i=n.get("normal"===t?["label","formatter"]:["emphasis","label","formatter"]);null==i&&(i=n.get(["label","formatter"]));var a={name:r};if("function"==typeof i)return a.status=t,i(a);if("string"==typeof i){var o=a.seriesName;return i.replace("{a}",null!=o?o:"")}return r},defaultOption:{regions:[]}});i.a.util.merge(h.prototype,l.a),i.a.util.merge(h.prototype,a.a),i.a.util.merge(h.prototype,o.a),i.a.util.merge(h.prototype,s.a),i.a.util.merge(h.prototype,u.a)},function(e,t,r){"use strict";var n=r(64),i=r(0),a=r.n(i),o=r(1),s=r(45),u=r(30);a.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(e,t){this._geo3DBuilder=new n.a(t),this.groupGL=new o.a.Node,this._lightRoot=new o.a.Node,this._sceneHelper=new u.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new s.a({zr:t.getZr()}),this._control.init()},render:function(e,t,r){this.groupGL.add(this._geo3DBuilder.rootNode);var n=e.coordinateSystem;if(n&&n.viewGL){n.viewGL.add(this._lightRoot),e.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL);var i=this._control;i.setViewGL(n.viewGL);var a=e.getModel("viewControl");i.setFromViewControlModel(a,0),this._sceneHelper.setScene(n.viewGL.scene),this._sceneHelper.updateLight(e),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._geo3DBuilder.update(e,t,r,0,e.getData().count());var o=n.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(e){e.material&&e.material[o]("fragment","SRGB_DECODE")}),i.off("update"),i.on("update",function(){r.dispatchAction({type:"geo3DChangeCamera",alpha:i.getAlpha(),beta:i.getBeta(),distance:i.getDistance(),center:i.getCenter(),from:this.uid,geo3DId:e.id})}),i.update()}},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r)},dispose:function(){this._control.dispose()}})},function(e,t,r){"use strict";function n(e,t,r){r=r||2;var n=t&&t.length,a=n?t[0]*r:e.length,s=i(e,0,a,r,!0),u=[];if(!s)return u;var l,h,d,f,p,m,g;if(n&&(s=c(e,t,s,r)),e.length>80*r){l=d=e[0],h=f=e[1];for(var _=r;_d&&(d=p),m>f&&(f=m);g=Math.max(d-l,f-h)}return o(s,u,r,l,h,g),u}function i(e,t,r,n,i){var a,o;if(i===N(e,t,r,n)>0)for(a=t;a=t;a-=n)o=C(a,e[a],e[a+1],o);return o&&b(o,o.next)&&(L(o),o=o.next),o}function a(e,t){if(!e)return e;t||(t=e);var r,n=e;do{if(r=!1,n.steiner||!b(n,n.next)&&0!==T(n.prev,n,n.next))n=n.next;else{if(L(n),(n=t=n.prev)===n.next)return null;r=!0}}while(r||n!==t);return t}function o(e,t,r,n,i,c,d){if(e){!d&&c&&m(e,n,i,c);for(var f,p,g=e;e.prev!==e.next;)if(f=e.prev,p=e.next,c?u(e,n,i,c):s(e))t.push(f.i/r),t.push(e.i/r),t.push(p.i/r),L(e),e=p.next,g=p.next;else if((e=p)===g){d?1===d?(e=l(e,t,r),o(e,t,r,n,i,c,2)):2===d&&h(e,t,r,n,i,c):o(a(e),t,r,n,i,c,1);break}}}function s(e){var t=e.prev,r=e,n=e.next;if(T(t,r,n)>=0)return!1;for(var i=e.next.next;i!==e.prev;){if(y(t.x,t.y,r.x,r.y,n.x,n.y,i.x,i.y)&&T(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function u(e,t,r,n){var i=e.prev,a=e,o=e.next;if(T(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,h=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,c=_(s,u,t,r,n),d=_(l,h,t,r,n),f=e.nextZ;f&&f.z<=d;){if(f!==e.prev&&f!==e.next&&y(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=e.prevZ;f&&f.z>=c;){if(f!==e.prev&&f!==e.next&&y(i.x,i.y,a.x,a.y,o.x,o.y,f.x,f.y)&&T(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function l(e,t,r){var n=e;do{var i=n.prev,a=n.next.next;!b(i,a)&&w(i,n,n.next,a)&&S(i,a)&&S(a,i)&&(t.push(i.i/r),t.push(n.i/r),t.push(a.i/r),L(n),L(n.next),n=e=a),n=n.next}while(n!==e);return n}function h(e,t,r,n,i,s){var u=e;do{for(var l=u.next.next;l!==u.prev;){if(u.i!==l.i&&x(u,l)){var h=M(u,l);return u=a(u,u.next),h=a(h,h.next),o(u,t,r,n,i,s),void o(h,t,r,n,i,s)}l=l.next}u=u.next}while(u!==e)}function c(e,t,r,n){var o,s,u,l,h,c=[];for(o=0,s=t.length;o=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=h&&i!==n.x&&y(ar.x)&&S(n,e)&&(r=n,d=u),n=n.next;return r}function m(e,t,r,n){var i=e;do{null===i.z&&(i.z=_(i.x,i.y,t,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==e);i.prevZ.nextZ=null,i.prevZ=null,g(i)}function g(e){var t,r,n,i,a,o,s,u,l=1;do{for(r=e,e=null,a=null,o=0;r;){for(o++,n=r,s=0,t=0;t0||u>0&&n;)0!==s&&(0===u||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,u--),a?a.nextZ=i:e=i,i.prevZ=a,a=i;r=n}a.nextZ=null,l*=2}while(o>1);return e}function _(e,t,r,n,i){return e=32767*(e-r)/i,t=32767*(t-n)/i,e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e|t<<1}function v(e){var t=e,r=e;do{t.x=0&&(e-o)*(n-s)-(r-o)*(t-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function x(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!E(e,t)&&S(e,t)&&S(t,e)&&A(e,t)}function T(e,t,r){return(t.y-e.y)*(r.x-t.x)-(t.x-e.x)*(r.y-t.y)}function b(e,t){return e.x===t.x&&e.y===t.y}function w(e,t,r,n){return!!(b(e,t)&&b(r,n)||b(e,n)&&b(r,t))||T(e,t,r)>0!=T(e,t,n)>0&&T(r,n,e)>0!=T(r,n,t)>0}function E(e,t){var r=e;do{if(r.i!==e.i&&r.next.i!==e.i&&r.i!==t.i&&r.next.i!==t.i&&w(r,r.next,e,t))return!0;r=r.next}while(r!==e);return!1}function S(e,t){return T(e.prev,e,e.next)<0?T(e,t,e.next)>=0&&T(e,e.prev,t)>=0:T(e,t,e.prev)<0||T(e,e.next,t)<0}function A(e,t){var r=e,n=!1,i=(e.x+t.x)/2,a=(e.y+t.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==e);return n}function M(e,t){var r=new D(e.i,e.x,e.y),n=new D(t.i,t.x,t.y),i=e.next,a=t.prev;return e.next=t,t.prev=e,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function C(e,t,r,n){var i=new D(e,t,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function L(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function D(e,t,r){this.i=e,this.x=t,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function N(e,t,r,n){for(var i=0,a=t,o=r-n;a0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var e=this.getDisplacementTexture(),t=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==e||this._displacementScale!==t,this._displacementTexture=e,this._displacementScale=t},isDisplacementChanged:function(){return this._displacementChanged}});a.a.util.merge(h.prototype,o.a),a.a.util.merge(h.prototype,s.a),a.a.util.merge(h.prototype,u.a),a.a.util.merge(h.prototype,l.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(45),s=r(30),u=r(210),l=r(2);i.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(e,t){this.groupGL=new a.a.Node,this._sphereGeometry=new a.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new a.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new a.a.PlaneGeometry,this._earthMesh=new a.a.Mesh({renderNormal:!0}),this._lightRoot=new a.a.Node,this._sceneHelper=new s.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new o.a({zr:t.getZr()}),this._control.init(),this._layerMeshes={}},render:function(e,t,r){var n=e.coordinateSystem,i=e.get("shading");n.viewGL.add(this._lightRoot),e.get("show")?n.viewGL.add(this.groupGL):n.viewGL.remove(this.groupGL),this._sceneHelper.setScene(n.viewGL.scene),n.viewGL.setPostEffect(e.getModel("postEffect"),r),n.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling"));var o=this._earthMesh;o.geometry=this._sphereGeometry;var s="ecgl."+i;o.material&&o.material.shader.name===s||(o.material=a.a.createMaterial(s)),a.a.setMaterialFromModel(i,o.material,e,r),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(e){var t=o.material.get(e);t&&(t.flipY=!1)}),o.material.set("color",a.a.parseColor(e.get("baseColor")));var u=.99*n.radius;o.scale.set(u,u,u);var l=o.material.setTextureImage("diffuseMap",e.get("baseTexture"),r,{flipY:!1,anisotropic:8});l&&l.surface&&l.surface.attachToMesh(o);var h=o.material.setTextureImage("bumpMap",e.get("heightTexture"),r,{flipY:!1,anisotropic:8});h&&h.surface&&h.surface.attachToMesh(o),o.material[e.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(e,r),this._displaceVertices(e,r),this._updateViewControl(e,r),this._updateLayers(e,r)},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r)},_updateLayers:function(e,t){var r=e.coordinateSystem,n=e.get("layers"),o=r.radius,s=[],u=[],h=[],c=[];i.a.util.each(n,function(e){var n=new i.a.Model(e),d=n.get("type"),f=a.a.loadTexture(n.get("texture"),t,{flipY:!1,anisotropic:8});if(f.surface&&f.surface.attachToMesh(this._earthMesh),"blend"===d){var p=n.get("blendTo"),m=l.a.firstNotNull(n.get("intensity"),1);"emission"===p?(h.push(f),c.push(m)):(s.push(f),u.push(m))}else{var g=n.get("id"),_=this._layerMeshes[g];_||(_=this._layerMeshes[g]=new a.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));"lambert"===n.get("shading")?(_.material=_.__lambertMaterial||new a.a.Material({autoUpdateTextureStatus:!1,shader:a.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),_.__lambertMaterial=_.material):(_.material=_.__colorMaterial||new a.a.Material({autoUpdateTextureStatus:!1,shader:a.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),_.__colorMaterial=_.material),_.material.enableTexture("diffuseMap");var v=n.get("distance"),y=o+(null==v?r.radius/100:v);_.scale.set(y,y,y),o=y;var x=this._blankTexture||(this._blankTexture=a.a.createBlankTexture("rgba(255, 255, 255, 0)"));_.material.set("diffuseMap",x),a.a.loadTexture(n.get("texture"),t,{flipY:!1,anisotropic:8},function(e){e.surface&&e.surface.attachToMesh(_),_.material.set("diffuseMap",e),t.getZr().refresh()}),n.get("show")?this.groupGL.add(_):this.groupGL.remove(_)}},this);var d=this._earthMesh.material;d.define("fragment","LAYER_DIFFUSEMAP_COUNT",s.length),d.define("fragment","LAYER_EMISSIVEMAP_COUNT",h.length),d.set("layerDiffuseMap",s),d.set("layerDiffuseIntensity",u),d.set("layerEmissiveMap",h),d.set("layerEmissionIntensity",c);var f=e.getModel("debug.wireframe");if(f.get("show")){d.define("both","WIREFRAME_TRIANGLE");var p=a.a.parseColor(f.get("lineStyle.color")||"rgba(0,0,0,0.5)"),m=l.a.firstNotNull(f.get("lineStyle.width"),1);d.set("wireframeLineWidth",m),d.set("wireframeLineColor",p)}else d.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(e,t){function r(){return{type:"globeChangeCamera",alpha:o.getAlpha(),beta:o.getBeta(),distance:o.getDistance()-n.radius,center:o.getCenter(),from:a.uid,globeId:e.id}}var n=e.coordinateSystem,i=e.getModel("viewControl"),a=(n.viewGL.camera,this),o=this._control;o.setViewGL(n.viewGL);var s,u,l=i.get("targetCoord");null!=l&&(u=l[0]+90,s=l[1]),o.setFromViewControlModel(i,{baseDistance:n.radius,alpha:s,beta:u}),o.off("update"),o.on("update",function(){t.dispatchAction(r())})},_displaceVertices:function(e,t){var r=e.get("displacementQuality"),n=e.get("debug.wireframe.show"),i=e.coordinateSystem;if(e.isDisplacementChanged()||r!==this._displacementQuality||n!==this._showDebugWireframe){this._displacementQuality=r,this._showDebugWireframe=n;var a=this._sphereGeometry,o={low:100,medium:200,high:400,ultra:800}[r]||200,s=o/2;(a.widthSegments!==o||n)&&(a.widthSegments=o,a.heightSegments=s,a.build()),this._doDisplaceVertices(a,i),n&&a.generateBarycentric()}},_doDisplaceVertices:function(e,t){var r=e.attributes.position.value,n=e.attributes.texcoord0.value,i=e.__originalPosition;i&&i.length===r.length||(i=new Float32Array(r.length),i.set(r),e.__originalPosition=i);for(var a=t.displacementWidth,o=t.displacementHeight,s=t.displacementData,u=0;uOpenStreetMap contributors, © CARTO',center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMaptalksCameraOption:function(){var e=this;return s.reduce(function(t,r){return t[r]=e.get(r),t},{})},setMaptalksCameraOption:function(e){null!=e&&s.forEach(function(t){null!=e[t]&&(this.option[t]=e[t])},this)},getMaptalks:function(){return this._maptalks},setMaptalks:function(e){this._maptalks=e}});i.a.util.merge(u.prototype,a.a),i.a.util.merge(u.prototype,o.a)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(224),o=r(30),s=r(1),u=r(102);s.a.Shader.import(u.a);i.a.extendComponentView({type:"maptalks3D",__ecgl__:!0,init:function(e,t){this._groundMesh=new s.a.Mesh({geometry:new s.a.PlaneGeometry,material:new s.a.Material({shader:new s.a.Shader({vertex:s.a.Shader.source("ecgl.displayShadow.vertex"),fragment:s.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},_initMaptalksLayer:function(e,t){var r=t.getZr();this._zrLayer=new a.a("maptalks3D",r,e.get("center"),e.get("zoom")),r.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new s.a.Node,this._sceneHelper=new o.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var n=this._zrLayer.getMaptalks(),i=this._dispatchInteractAction.bind(this,t,n);["zoomend","zooming","zoomstart","dragrotating","pitch","pitchend","movestart","moving","moveend","resize","touchstart","touchmove","touchend"].forEach(function(e){n.on(e,i)})},render:function(e,t,r){this._zrLayer||this._initMaptalksLayer(e,r);var n=this._zrLayer.getMaptalks(),i=e.get("urlTemplate"),a=n.getBaseLayer();i!==this._oldUrlTemplate&&(a?a.setOptions({urlTemplate:i,attribution:e.get("attribution")}):(a=new maptalks.TileLayer("maptalks-echarts-gl-baselayer",{urlTemplate:i,subdomains:["a","b","c"],attribution:e.get("attribution")}),n.setBaseLayer(a))),this._oldUrlTemplate=i,n.setCenter(e.get("center")),n.setZoom(e.get("zoom"),{animation:!1}),n.setPitch(e.get("pitch")),n.setBearing(e.get("bearing")),e.setMaptalks(n);var o=e.coordinateSystem;o.viewGL.scene.add(this._lightRoot),o.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(e),o.viewGL.setPostEffect(e.getModel("postEffect"),r),o.viewGL.setTemporalSuperSampling(e.getModel("temporalSuperSampling")),this._maptalks3DModel=e},afterRender:function(e,t,r,n){var i=n.renderer;this._sceneHelper.updateAmbientCubemap(i,e,r),this._sceneHelper.updateSkybox(i,e,r),e.coordinateSystem.viewGL.scene.traverse(function(e){e.material&&(e.material.define("fragment","NORMAL_UP_AXIS",2),e.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(e,t,r,n){e.coordinateSystem.setCameraOption(n),this._updateGroundMesh(),r.getZr().refresh()},_dispatchInteractAction:function(e,t,r){e.dispatchAction({type:"maptalks3DChangeCamera",pitch:t.getPitch(),zoom:t.getZoom(),center:t.getCenter().toArray(),bearing:t.getBearing(),maptalks3DId:this._maptalks3DModel&&this._maptalks3DModel.id})},_updateGroundMesh:function(){if(this._maptalks3DModel){var e=this._maptalks3DModel.coordinateSystem,t=e.dataToPoint(e.center);this._groundMesh.position.set(t[0],t[1],-.001);var r=new s.a.Plane(new s.a.Vector3(0,0,1),0),n=e.viewGL.camera.castRay(new s.a.Vector2(-1,-1)),i=e.viewGL.camera.castRay(new s.a.Vector2(1,1)),a=n.intersectPlane(r),o=i.intersectPlane(r),u=a.dist(o)/e.viewGL.rootNode.scale.x;this._groundMesh.scale.set(u,u,1)}},dispose:function(e,t){this._zrLayer&&this._zrLayer.dispose(),t.getZr().painter.delLayer(-1e3)}})},function(e,t,r){"use strict";function n(e,t,r,n){if(this.id=e,this.zr=t,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!maptalks)throw new Error("Maptalks library must be included. See https://maptalks.org");this._maptalks=new maptalks.Map(this.dom,{center:r,zoom:n,fog:!1}),this._initEvents()}n.prototype.resize=function(){this._maptalks.checkSize()},n.prototype.getMaptalks=function(){return this._maptalks},n.prototype.clear=function(){},n.prototype.refresh=function(){this._maptalks.checkSize()};var i=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","DOMMouseScroll","touchstart","touchend","touchmove","touchcancel"];n.prototype._initEvents=function(){var e=this.dom;this._handlers=this._handlers||{contextmenu:function(e){return e.preventDefault(),!1}},i.forEach(function(t){this._handlers[t]=function(r){var n={};for(var i in r)n[i]=r[i];n.bubbles=!1;var a=new r.constructor(r.type,n);"mousewheel"===t||"DOMMouseScroll"===t?e.dispatchEvent(a):e.firstElementChild.dispatchEvent(a)},this.zr.dom.addEventListener(t,this._handlers[t])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},n.prototype.dispose=function(){i.forEach(function(e){this.zr.dom.removeEventListener(e,this._handlers[e])},this),this._maptalks.remove()},t.a=n},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(226),r(229),r(231),r(17));i.a.registerVisual(Object(a.a)("bar3D")),i.a.registerProcessor(function(e,t){e.eachSeriesByType("bar3d",function(e){var t=e.getData();t.filterSelf(function(e){return t.hasValue(e)})})})},function(e,t,r){"use strict";function n(e,t){var r=e.getData(),n=e.get("minHeight")||0,i=e.get("barSize"),a=["lng","lat","alt"].map(function(t){return e.coordDimToDataDim(t)[0]});if(null==i){var s=t.radius*Math.PI,h=Object(d.a)(r,a[0],a[1]);i=[s/Math.sqrt(r.count()/h),s/Math.sqrt(r.count()/h)]}else u.a.util.isArray(i)||(i=[i,i]);var c=o(r,a);r.each(a,function(e,a,o,s){var u=r.get(c.dimension,s),l=c.isStacked?u-o:t.altitudeAxis.scale.getExtent()[0],h=Math.max(t.altitudeAxis.dataToCoord(o),n),d=t.dataToPoint([e,a,l]),p=t.dataToPoint([e,a,u]),m=f.sub([],p,d);f.normalize(m,m);var g=[i[0],h,i[1]];r.setItemLayout(s,[d,m,g])}),r.setLayout("orient",l.a.UP.array)}function i(e,t){var r=e.getData(),n=e.get("barSize"),i=e.get("minHeight")||0,a=["lng","lat","alt"].map(function(t){return e.coordDimToDataDim(t)[0]});if(null==n){var s=Math.min(t.size[0],t.size[2]),l=Object(d.a)(r,a[0],a[1]);n=[s/Math.sqrt(r.count()/l),s/Math.sqrt(r.count()/l)]}else u.a.util.isArray(n)||(n=[n,n]);var h=[0,1,0],c=o(r,a);r.each(a,function(e,a,o,s){var u=r.get(c.dimension,s),l=c.isStacked?u-o:t.altitudeAxis.scale.getExtent()[0],d=Math.max(t.altitudeAxis.dataToCoord(o),i),f=t.dataToPoint([e,a,l]),p=[n[0],d,n[1]];r.setItemLayout(s,[f,h,p])}),r.setLayout("orient",[1,0,0])}function a(e,t){var r=e.getData(),n=e.coordDimToDataDim("lng")[0],i=e.coordDimToDataDim("lat")[0],a=e.coordDimToDataDim("alt")[0],s=e.get("barSize"),l=e.get("minHeight")||0;if(null==s){var h=r.getDataExtent(n),c=r.getDataExtent(i),f=t.dataToPoint([h[0],c[0]]),p=t.dataToPoint([h[1],c[1]]),m=Math.min(Math.abs(f[0]-p[0]),Math.abs(f[1]-p[1]))||1,g=Object(d.a)(r,n,i);s=[m/Math.sqrt(r.count()/g),m/Math.sqrt(r.count()/g)]}else u.a.util.isArray(s)||(s=[s,s]),s[0]/=t.getScale()/16,s[1]/=t.getScale()/16;var _=[0,0,1],v=[n,i,a],y=o(r,v);r.each(v,function(e,n,i,a){var o=r.get(y.dimension,a),u=y.isStacked?o-i:0,h=t.dataToPoint([e,n,u]),c=t.dataToPoint([e,n,o]),d=Math.max(c[2]-h[2],l),f=[s[0],d,s[1]];r.setItemLayout(a,[h,_,f])}),r.setLayout("orient",[1,0,0])}function o(e,t){var r=p(e,t[2]);return{dimension:r?e.getCalculationInfo("stackResultDimension"):t[2],isStacked:r}}var s=r(0),u=r.n(s),l=r(3),h=r(6),c=r(227),d=r(228),f=h.a.vec3,p=u.a.helper.dataStack.isDimensionStacked;u.a.registerLayout(function(e,t){e.eachSeriesByType("bar3D",function(e){var t=e.coordinateSystem,r=t&&t.type;"globe"===r?n(e,t):"cartesian3D"===r?Object(c.a)(e,t):"geo3D"===r?i(e,t):"mapbox3D"!==r&&"maptalks3D"!==r||a(e,t)})})},function(e,t,r){"use strict";function n(e){var t=e[0],r=e[1];return!(t>0&&r>0||t<0&&r<0)}function i(e,t){var r=e.getData(),i=e.get("barSize");if(null==i){var a,s,h=t.size,c=t.getAxis("x"),d=t.getAxis("y");a="category"===c.type?.7*c.getBandWidth():.6*Math.round(h[0]/Math.sqrt(r.count())),s="category"===d.type?.7*d.getBandWidth():.6*Math.round(h[1]/Math.sqrt(r.count())),i=[a,s]}else o.a.util.isArray(i)||(i=[i,i]);var f=t.getAxis("z").scale.getExtent(),p=n(f),m=["x","y","z"].map(function(t){return e.coordDimToDataDim(t)[0]}),g=l(r,m[2]),_=g?r.getCalculationInfo("stackResultDimension"):m[2];r.each(m,function(e,n,a,o){var s=r.get(_,o),l=g?s-a:p?0:f[0],h=t.dataToPoint([e,n,l]),c=t.dataToPoint([e,n,s]),d=u.dist(h,c),m=[0,c[1]0&&(p++,c[3]<.99&&(m=!0))}}),s.geometry.setBarCount(p);var g=r.getLayout("orient"),_=this._barIndexOfData=new Int32Array(r.count()),p=0;r.each(function(e){if(!r.hasValue(e))return void(_[e]=-1);var t=r.getItemLayout(e),n=t[0],i=t[1],a=t[2],s=4*e;c[0]=d[s++],c[1]=d[s++],c[2]=d[s++],c[3]=d[s++],c[3]>0&&(o._barMesh.geometry.addBar(n,i,g,a,c,e),_[e]=p++)}),s.geometry.dirty(),s.geometry.updateBoundingBox();var v=s.material;v.transparent=m,v.depthMask=!m,s.geometry.sortTriangles=m,this._initHandler(e,t)},_initHandler:function(e,t){var r=e.getData(),n=this._barMesh,i="cartesian3D"===e.coordinateSystem.type;n.seriesIndex=e.seriesIndex;var a=-1;n.off("mousemove"),n.off("mouseout"),n.on("mousemove",function(e){var o=n.geometry.getDataIndexOfVertex(e.triangle[0]);o!==a&&(this._downplay(a),this._highlight(o),this._labelsBuilder.updateLabels([o]),i&&t.dispatchAction({type:"grid3DShowAxisPointer",value:[r.get("x",o),r.get("y",o),r.get("z",o,!0)]})),a=o,n.dataIndex=o},this),n.on("mouseout",function(e){this._downplay(a),this._labelsBuilder.updateLabels(),a=-1,n.dataIndex=-1,i&&t.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(e){var t=this._data;if(t){var r=this._barIndexOfData[e];if(!(r<0)){var n=t.getItemModel(e),o=n.getModel("emphasis.itemStyle"),s=o.get("color"),u=o.get("opacity");if(null==s){var l=t.getItemVisual(e,"color");s=i.a.color.lift(l,-.4)}null==u&&(u=t.getItemVisual(e,"opacity"));var h=a.a.parseColor(s);h[3]*=u,this._barMesh.geometry.setColor(r,h),this._api.getZr().refresh()}}},_downplay:function(e){var t=this._data;if(t){var r=this._barIndexOfData[e];if(!(r<0)){var n=t.getItemVisual(e,"color"),i=t.getItemVisual(e,"opacity"),o=a.a.parseColor(n);o[3]*=i,this._barMesh.geometry.setColor(r,o),this._api.getZr().refresh()}}},highlight:function(e,t,r,n){this._toggleStatus("highlight",e,t,r,n)},downplay:function(e,t,r,n){this._toggleStatus("downplay",e,t,r,n)},_toggleStatus:function(e,t,r,n,a){var u=t.getData(),l=o.a.queryDataIndex(u,a),h=this;null!=l?i.a.util.each(s.a.normalizeToArray(l),function(t){"highlight"===e?this._highlight(t):this._downplay(t)},this):u.each(function(t){"highlight"===e?h._highlight(t):h._downplay(t)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(38),o=r(65),s=r(15),u=r(6),l=u.a.vec3,h=u.a.mat3,c=s.a.extend(function(){return{attributes:{position:new s.a.Attribute("position","float",3,"POSITION"),normal:new s.a.Attribute("normal","float",3,"NORMAL"),color:new s.a.Attribute("color","float",4,"COLOR"),prevPosition:new s.a.Attribute("prevPosition","float",3),prevNormal:new s.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(e){var t=this.enableNormal,r=this.getBarVertexCount()*e,n=this.getBarTriangleCount()*e;this.vertexCount!==r&&(this.attributes.position.init(r),t?this.attributes.normal.init(r):this.attributes.normal.value=null,this.attributes.color.init(r)),this.triangleCount!==n&&(this.indices=r>65535?new Uint32Array(3*n):new Uint16Array(3*n),this._dataIndices=new Uint32Array(r))},getBarVertexCount:function(){var e=this.bevelSize>0?this.bevelSegments:0;return e>0?this._getBevelBarVertexCount(e):this.enableNormal?24:8},getBarTriangleCount:function(){var e=this.bevelSize>0?this.bevelSegments:0;return e>0?this._getBevelBarTriangleCount(e):12},_getBevelBarVertexCount:function(e){return 4*(e+1)*(e+1)*2},_getBevelBarTriangleCount:function(e){return(4*e+3+1)*(2*e+1)*2+4},setColor:function(e,t){for(var r=this.getBarVertexCount(),n=r*e,i=r*(e+1),a=n;a0&&this.bevelSegments>0)this._addBevelBar(e,d,g,_,this.bevelSize,this.bevelSegments,v);else{l.copy(i,d),l.normalize(i,i),l.cross(a,g,i),l.normalize(a,a),l.cross(n,i,a),l.normalize(a,a),l.negate(o,n),l.negate(s,i),l.negate(u,a),t(h[0],e,n,_[0]/2),t(h[0],h[0],a,_[2]/2),t(h[1],e,n,_[0]/2),t(h[1],h[1],u,_[2]/2),t(h[2],e,o,_[0]/2),t(h[2],h[2],u,_[2]/2),t(h[3],e,o,_[0]/2),t(h[3],h[3],a,_[2]/2),t(r,e,i,_[1]),t(h[4],r,n,_[0]/2),t(h[4],h[4],a,_[2]/2),t(h[5],r,n,_[0]/2),t(h[5],h[5],u,_[2]/2),t(h[6],r,o,_[0]/2),t(h[6],h[6],u,_[2]/2),t(h[7],r,o,_[0]/2),t(h[7],h[7],a,_[2]/2);var T=this.attributes;if(this.enableNormal){c[0]=n,c[1]=o,c[2]=i,c[3]=s,c[4]=a,c[5]=u;for(var b=this._vertexOffset,w=0;w=0){var T=3*h,b=new l.a(this._points[T],this._points[T+1],this._points[T+2]);a.push({dataIndex:h,point:b,pointWorld:b.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(b)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(e,t){function r(e,t,r,n,i,a,o){if(0===i)return!1;var s=i,u=0,l=e;if(o>t+s&&o>n+s||oe+s&&a>r+s||ao?l.position[1]+=(h-o)/2:l.position[0]+=(h-a)/2;var c=l.getBoundingRect();return l.position[0]-=c.x,l.position[1]-=c.y,l.setStyle(r),l.update(),l.__size=h,l}function a(e,t,r){function n(e){return e<128?1:-1}for(var i=t.width,a=t.height,o=e.canvas.width,s=e.canvas.height,u=i/o,l=a/s,h=e.createImageData(o,s),c=0;c=0;c--){var d;d=this.geometry.indices?this.geometry.indices[c]:c;var f=s[2*d],p=s[2*d+1],m=this.geometry.attributes.size.get(d)/this.sizeScale,g=m/2;if(e>f-g*l&&ep-g*h&&t=2e4},doSortVertices:function(e,t){var r=this.indices,n=a.create();if(!r){r=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var i=0;i.05);else for(var i=0;i<3;i++)this._progressiveQuickSort(3*t+i);this.dirtyIndices()},_simpleSort:function(e){function t(e,t){return r[t]-r[e]}var r=this._zList,i=this.indices;e?Array.prototype.sort.call(i,t):n.a.sort(i,t,0,i.length-1)},_progressiveQuickSort:function(e){var t=this._zList,r=this.indices;this._quickSort=this._quickSort||new n.a,this._quickSort.step(r,function(e,r){return t[r]-t[e]},e)}}},function(e,t,r){"use strict";t.a="@export ecgl.sdfSprite.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform float elapsedTime : 0;\n\nattribute vec3 position : POSITION;\n\n#ifdef VERTEX_SIZE\nattribute float size;\n#else\nuniform float u_Size;\n#endif\n\n#ifdef VERTEX_COLOR\nattribute vec4 a_FillColor: COLOR;\nvarying vec4 v_Color;\n#endif\n\n#ifdef VERTEX_ANIMATION\nattribute vec3 prevPosition;\nattribute float prevSize;\nuniform float percent : 1.0;\n#endif\n\n\n#ifdef POSITIONTEXTURE_ENABLED\nuniform sampler2D positionTexture;\n#endif\n\nvarying float v_Size;\n\nvoid main()\n{\n\n#ifdef POSITIONTEXTURE_ENABLED\n gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);\n#else\n\n #ifdef VERTEX_ANIMATION\n vec3 pos = mix(prevPosition, position, percent);\n #else\n vec3 pos = position;\n #endif\n gl_Position = worldViewProjection * vec4(pos, 1.0);\n#endif\n\n#ifdef VERTEX_SIZE\n#ifdef VERTEX_ANIMATION\n v_Size = mix(prevSize, size, percent);\n#else\n v_Size = size;\n#endif\n#else\n v_Size = u_Size;\n#endif\n\n#ifdef VERTEX_COLOR\n v_Color = a_FillColor;\n #endif\n\n gl_PointSize = v_Size;\n}\n\n@end\n\n@export ecgl.sdfSprite.fragment\n\nuniform vec4 color: [1, 1, 1, 1];\nuniform vec4 strokeColor: [1, 1, 1, 1];\nuniform float smoothing: 0.07;\n\nuniform float lineWidth: 0.0;\n\n#ifdef VERTEX_COLOR\nvarying vec4 v_Color;\n#endif\n\nvarying float v_Size;\n\nuniform sampler2D sprite;\n\n@import clay.util.srgb\n\nvoid main()\n{\n gl_FragColor = color;\n\n vec4 _strokeColor = strokeColor;\n\n#ifdef VERTEX_COLOR\n gl_FragColor *= v_Color;\n #endif\n\n#ifdef SPRITE_ENABLED\n float d = texture2D(sprite, gl_PointCoord).r;\n gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);\n\n if (lineWidth > 0.0) {\n float sLineWidth = lineWidth / 2.0;\n\n float outlineMaxValue0 = 0.5 + sLineWidth;\n float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;\n float outlineMinValue0 = 0.5 - sLineWidth - smoothing;\n float outlineMinValue1 = 0.5 - sLineWidth;\n\n if (d <= outlineMaxValue1 && d >= outlineMinValue0) {\n float a = _strokeColor.a;\n if (d <= outlineMinValue1) {\n a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);\n }\n else {\n a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);\n }\n gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);\n gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;\n }\n }\n#endif\n\n#ifdef SRGB_DECODE\n gl_FragColor = sRGBToLinear(gl_FragColor);\n#endif\n}\n@end"},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(244),r(245),r(248),r(17));i.a.registerVisual(Object(a.a)("lines3D")),i.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),i.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),i.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(e,t,r){"use strict";function n(e,t){f.copy(w,e[0]),f.copy(E,e[1]);var r=[],n=r[0]=v(),i=r[1]=v(),a=r[2]=v(),o=r[3]=v();t.dataToPoint(w,n),t.dataToPoint(E,o),p(y,n),g(x,o,n),p(x,x),m(T,x,y),p(T,T),m(x,y,T),_(i,y,x),p(i,i),p(y,o),g(x,n,o),p(x,x),m(T,x,y),p(T,T),m(x,y,T),_(a,y,x),p(a,a),_(b,n,o),p(b,b);var s=d.dot(n,b),u=d.dot(b,i),l=(Math.max(d.len(n),d.len(o))-s)/u*2;return d.scaleAndAdd(i,n,i,l),d.scaleAndAdd(a,o,a,l),r}function i(e,t,r){var n=[],i=n[0]=d.create(),a=n[1]=d.create(),o=n[2]=d.create(),s=n[3]=d.create();t.dataToPoint(e[0],i),t.dataToPoint(e[1],s);var u=d.dist(i,s);return d.lerp(a,i,s,.3),d.lerp(o,i,s,.3),d.scaleAndAdd(a,a,r,Math.min(.1*u,10)),d.scaleAndAdd(o,o,r,Math.min(.1*u,10)),n}function a(e,t){for(var r=new Float32Array(3*e.length),n=0,i=[],a=0;a0?1:-1}var i=r(0),a=(r.n(i),r(1)),o=r(6),s=r(25),u=r(247),l=o.a.vec3;a.a.Shader.import(u.a),t.a=a.a.Mesh.extend(function(){var e=new a.a.Material({shader:new a.a.Shader(a.a.Shader.source("ecgl.trail2.vertex"),a.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),t=new s.a({dynamic:!0});return t.createAttribute("dist","float",1),t.createAttribute("distAll","float",1),t.createAttribute("start","float",1),{geometry:t,material:e,culling:!1,$ignorePicking:!0}},{updateData:function(e,t,r){var i=e.hostModel,o=this.geometry,s=i.getModel("effect"),u=s.get("trailWidth")*t.getDevicePixelRatio(),h=s.get("trailLength"),c=i.get("effect.constantSpeed"),d=1e3*i.get("effect.period"),f=null!=c;f?this.material.set("speed",c/1e3):this.material.set("period",d),this.material[f?"define":"undefine"]("vertex","CONSTANT_SPEED");var p=i.get("polyline");o.trailLength=h,this.material.set("trailLength",h),o.resetOffset(),["position","positionPrev","positionNext"].forEach(function(e){o.attributes[e].value=r.attributes[e].value}),["dist","distAll","start","offset","color"].forEach(function(e){o.attributes[e].init(o.vertexCount)}),o.indices=r.indices;var m=[],g=s.get("trailColor"),_=s.get("trailOpacity"),v=null!=g,y=null!=_;this.updateWorldTransform();var x=this.worldTransform.x.len(),T=this.worldTransform.y.len(),b=this.worldTransform.z.len(),w=0,E=0;e.each(function(t){var i=e.getItemLayout(t),s=y?_:e.getItemVisual(t,"opacity"),h=e.getItemVisual(t,"color");null==s&&(s=1),m=a.a.parseColor(v?g:h,m),m[3]*=s;for(var c=p?r.getPolylineVertexCount(i):r.getCubicCurveVertexCount(i[0],i[1],i[2],i[3]),S=0,A=[],M=[],C=w;Cw&&(S+=l.dist(A,M)),o.attributes.dist.set(C,S),l.copy(M,A);E=Math.max(E,S);for(var L=Math.random()*(f?S:d),C=w;C0;this._updateSurfaceMesh(this._surfaceMesh,e,c,p);var m=this._surfaceMesh.material;p?(m.define("WIREFRAME_QUAD"),m.set("wireframeLineWidth",f),m.set("wireframeLineColor",o.a.parseColor(d.get("lineStyle.color")))):m.undefine("WIREFRAME_QUAD"),this._initHandler(e,r),this._updateAnimation(e)},_updateAnimation:function(e){o.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,e)},_createSurfaceMesh:function(){var e=new o.a.Mesh({geometry:new o.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new o.a.Material({shader:new o.a.Shader(o.a.Shader.source("ecgl.sm.depth.vertex"),o.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return e.geometry.createAttribute("barycentric","float",4),e.geometry.createAttribute("prevPosition","float",3),e.geometry.createAttribute("prevNormal","float",3),a.a.util.extend(e.geometry,u.a),e},_initHandler:function(e,t){function r(e,t){for(var r=1/0,n=-1,a=[],o=0;o=0){var u=[];i.geometry.attributes.position.get(s,u);for(var h=a.pointToData(u),c=1/0,d=-1,f=[],p=0;p65535?Uint32Array:Uint16Array)((_-1)*(v-1)*6),S=function(e,t,r){r[1]=e*v+t,r[0]=e*v+t+1,r[3]=(e+1)*v+t+1,r[2]=(e+1)*v+t},A=!1;if(c){var M=[],C=[],L=0;x?f.init(a.vertexCount):f.value=null;for(var D=[[],[],[]],N=[],R=[],P=l.create(),I=function(e,t,r){var n=3*t;return r[0]=e[n],r[1]=e[n+1],r[2]=e[n+2],r},O=new Float32Array(u.length),F=new Float32Array(u.length/3*4),B=0;B ")),a.value&&(h+=" : "+i.a.format.encodeHTML(a.value)),h}return s.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var e=(this.option.categories||[]).map(function(e){return null!=e.value?e:i.a.util.extend({value:0},e)}),t=new i.a.List(["value"],this);t.initData(e),this._categoriesData=t,this._categoriesModels=t.mapArray(function(e){return t.getItemModel(e,!0)})},setView:function(e){null!=e.zoom&&(this.option.zoom=e.zoom),null!=e.offset&&(this.option.offset=e.offset)},setNodePosition:function(e){for(var t=0;t "+g)),f++)}var _,v=i.a.helper.completeDimensions(["value"],e);_=new i.a.List(v,r),_.initData(e);var y=new i.a.List(["value"],r);return y.initData(d,c),a&&a(_,y),u()({mainData:_,struct:s,structAttr:"graph",datas:{node:_,edge:y},datasAttr:{node:"data",edge:"edgeData"}}),s.update(),s}},function(e,t,r){function n(e){return"_EC_"+e}function i(e,t){this.id=null==e?"":e,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==t?-1:t}function a(e,t,r){this.node1=e,this.node2=t,this.dataIndex=null==r?-1:r}var o=r(104),s=(o.__DEV__,r(13)),u=r(266),l=u.enableClassCheck,h=function(e){this._directed=e||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},c=h.prototype;c.type="graph",c.isDirected=function(){return this._directed},c.addNode=function(e,t){e=e||""+t;var r=this._nodesMap;if(!r[n(e)]){var a=new i(e,t);return a.hostGraph=this,this.nodes.push(a),r[n(e)]=a,a}},c.getNodeByIndex=function(e){var t=this.data.getRawIndex(e);return this.nodes[t]},c.getNodeById=function(e){return this._nodesMap[n(e)]},c.addEdge=function(e,t,r){var o=this._nodesMap,s=this._edgesMap;if("number"==typeof e&&(e=this.nodes[e]),"number"==typeof t&&(t=this.nodes[t]),i.isInstance(e)||(e=o[n(e)]),i.isInstance(t)||(t=o[n(t)]),e&&t){var u=e.id+"-"+t.id;if(!s[u]){var l=new a(e,t,r);return l.hostGraph=this,this._directed&&(e.outEdges.push(l),t.inEdges.push(l)),e.edges.push(l),e!==t&&t.edges.push(l),this.edges.push(l),s[u]=l,l}}},c.getEdgeByIndex=function(e){var t=this.edgeData.getRawIndex(e);return this.edges[t]},c.getEdge=function(e,t){i.isInstance(e)&&(e=e.id),i.isInstance(t)&&(t=t.id);var r=this._edgesMap;return this._directed?r[e+"-"+t]:r[e+"-"+t]||r[t+"-"+e]},c.eachNode=function(e,t){for(var r=this.nodes,n=r.length,i=0;i=0&&e.call(t,r[i],i)},c.eachEdge=function(e,t){for(var r=this.edges,n=r.length,i=0;i=0&&r[i].node1.dataIndex>=0&&r[i].node2.dataIndex>=0&&e.call(t,r[i],i)},c.breadthFirstTraverse=function(e,t,r,a){if(i.isInstance(t)||(t=this._nodesMap[n(t)]),t){for(var o="out"===r?"outEdges":"in"===r?"inEdges":"edges",s=0;s=0&&r.node2.dataIndex>=0});for(var i=0,a=n.length;i=0&&this[e][t].setItemVisual(this.dataIndex,r,n)},getVisual:function(r,n){return this[e][t].getItemVisual(this.dataIndex,r,n)},setLayout:function(r,n){this.dataIndex>=0&&this[e][t].setItemLayout(this.dataIndex,r,n)},getLayout:function(){return this[e][t].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[e][t].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[e][t].getRawIndex(this.dataIndex)}}};s.mixin(i,d("hostGraph","data")),s.mixin(a,d("hostGraph","edgeData")),h.Node=i,h.Edge=a,l(i),l(a);var f=h;e.exports=f},function(e,t,r){function n(e){var t={main:"",sub:""};return e&&(e=e.split(f),t.main=e[0]||"",t.sub=e[1]||""),t}function i(e){d.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(e),'componentType "'+e+'" illegal')}function a(e,t){e.$constructor=e,e.extend=function(e){var t=this,r=function(){e.$constructor?e.$constructor.apply(this,arguments):t.apply(this,arguments)};return d.extend(r.prototype,e),r.extend=this.extend,r.superCall=s,r.superApply=u,d.inherits(r,this),r.superClass=t,r}}function o(e){var t=["__\0is_clz",m++,Math.random().toFixed(3)].join("_");e.prototype[t]=!0,e.isInstance=function(e){return!(!e||!e[t])}}function s(e,t){var r=d.slice(arguments,2);return this.superClass.prototype[t].apply(e,r)}function u(e,t,r){return this.superClass.prototype[t].apply(e,r)}function l(e,t){function r(e){var t=a[e.main];return t&&t[p]||(t=a[e.main]={},t[p]=!0),t}t=t||{};var a={};if(e.registerClass=function(e,t){if(t)if(i(t),t=n(t),t.sub){if(t.sub!==p){var o=r(t);o[t.sub]=e}}else a[t.main]=e;return e},e.getClass=function(e,t,r){var n=a[e];if(n&&n[p]&&(n=t?n[t]:null),r&&!n)throw new Error(t?"Component "+e+"."+(t||"")+" not exists. Load it first.":e+".type should be specified.");return n},e.getClassesByMainType=function(e){e=n(e);var t=[],r=a[e.main];return r&&r[p]?d.each(r,function(e,r){r!==p&&t.push(e)}):t.push(r),t},e.hasClass=function(e){return e=n(e),!!a[e.main]},e.getAllClassMainTypes=function(){var e=[];return d.each(a,function(t,r){e.push(r)}),e},e.hasSubTypes=function(e){e=n(e);var t=a[e.main];return t&&t[p]},e.parseClassType=n,t.registerWhenExtend){var o=e.extend;o&&(e.extend=function(t){var r=o.call(this,t);return e.registerClass(r,t.type)})}return e}function h(e,t){}var c=r(104),d=(c.__DEV__,r(13)),f=".",p="___EC__COMPONENT__CONTAINER___",m=0;t.parseClassType=n,t.enableClassExtend=a,t.enableClassCheck=o,t.enableClassManagement=l,t.setReadOnly=h},function(e,t,r){function n(e){var t=e.mainData,r=e.datas;r||(r={main:t},e.datasAttr={main:"data"}),e.datas=e.mainData=null,l(t,r,e),d(r,function(r){d(t.TRANSFERABLE_METHODS,function(t){r.wrapMethod(t,c.curry(i,e))})}),t.wrapMethod("cloneShallow",c.curry(o,e)),d(t.CHANGABLE_METHODS,function(r){t.wrapMethod(r,c.curry(a,e))}),c.assert(r[t.dataType]===t)}function i(e,t){if(u(this)){var r=c.extend({},this[f]);r[this.dataType]=t,l(t,r,e)}else h(t,this.dataType,this[p],e);return t}function a(e,t){return e.struct&&e.struct.update(this),t}function o(e,t){return d(t[f],function(r,n){r!==t&&h(r.cloneShallow(),n,t,e)}),t}function s(e){var t=this[p];return null==e||null==t?t:t[f][e]}function u(e){return e[p]===e}function l(e,t,r){e[f]={},d(t,function(t,n){h(t,n,e,r)})}function h(e,t,r,n){r[f][t]=e,e[p]=r,e.dataType=t,n.struct&&(e[n.structAttr]=n.struct,n.struct[n.datasAttr[t]]=e),e.getLinkedData=s}var c=r(13),d=c.each,f="\0__link_datas",p="\0__link_mainData",m=n;e.exports=m},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(47),o=r.n(a),s=r(1),u=r(22),l=r(105),h=r(2),c=r(269),d=r(271),f=r(80),p=r.n(f),m=r(6),g=r(273),_=r(67),v=r(274),y=m.a.vec2;s.a.Shader.import(v.a);var x=1;i.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(e,t){this.groupGL=new s.a.Node,this.viewGL=new u.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new _.a(!0,t),this._forceEdgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new s.a.Geometry({attributes:{node:new s.a.Geometry.Attribute("node","float",2),color:new s.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:s.a.Mesh.LINES}),this._edgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new l.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new g.a({zr:t.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(e,t,r){this.groupGL.add(this._pointsBuilder.rootNode),this._model=e,this._api=r,this._initLayout(e,t,r),this._pointsBuilder.update(e,t,r),this._forceLayoutInstance instanceof c.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(e,r),this._control.off("update"),this._control.on("update",function(){r.dispatchAction({type:"graphGLRoam",seriesId:e.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(h.a.firstNotNull(e.get("zoom"),1)),this._control.setOffset(e.get("offset")||[0,0]);var n=this._pointsBuilder.getPointsMesh();if(n.off("mousemove",this._mousemoveHandler),n.off("mouseout",this._mouseOutHandler,this),r.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,e.get("focusNodeAdjacency")){var i=e.get("focusNodeAdjacencyOn");"click"===i?r.getZr().on("click",this._clickHandler):"mouseover"===i&&(n.on("mousemove",this._mousemoveHandler,this),n.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1)}this._lastMouseOverDataIndex=-1},_clickHandler:function(e){if(!this._layouting){var t=this._pointsBuilder.getPointsMesh().dataIndex;t>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:t}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(e){if(!this._layouting){var t=this._pointsBuilder.getPointsMesh().dataIndex;t>=0?t!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:t}):this._mouseOutHandler(e),this._lastMouseOverDataIndex=t}},_mouseOutHandler:function(e){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(e,t){var r=this._forceEdgesMesh.geometry,n=t.getEdgeData(),i=0,a=this._forceLayoutInstance,o=2*n.count();r.attributes.node.init(o),r.attributes.color.init(o),n.each(function(t){var o=e[t];r.attributes.node.set(i,a.getNodeUV(o.node1)),r.attributes.node.set(i+1,a.getNodeUV(o.node2));var u=n.getItemVisual(o.dataIndex,"color"),l=s.a.parseColor(u);l[3]*=h.a.firstNotNull(n.getItemVisual(o.dataIndex,"opacity"),1),r.attributes.color.set(i,l),r.attributes.color.set(i+1,l),i+=2}),r.dirty()},_updateMeshLinesGeometry:function(){var e=this._model.getEdgeData(),t=this._edgesMesh.geometry,e=this._model.getEdgeData(),r=this._model.getData().getLayout("points");t.resetOffset(),t.setVertexCount(e.count()*t.getLineVertexCount()),t.setTriangleCount(e.count()*t.getLineTriangleCount());var n=[],i=[],a=["lineStyle","width"];this._originalEdgeColors=new Float32Array(4*e.count()),this._edgeIndicesMap=new Float32Array(e.count()),e.each(function(o){var u=e.graph.getEdgeByIndex(o),l=2*u.node1.dataIndex,c=2*u.node2.dataIndex;n[0]=r[l],n[1]=r[l+1],i[0]=r[c],i[1]=r[c+1];var d=e.getItemVisual(u.dataIndex,"color"),f=s.a.parseColor(d);f[3]*=h.a.firstNotNull(e.getItemVisual(u.dataIndex,"opacity"),1);var p=e.getItemModel(u.dataIndex),m=h.a.firstNotNull(p.get(a),1)*this._api.getDevicePixelRatio();t.addLine(n,i,f,m);for(var g=0;g<4;g++)this._originalEdgeColors[4*u.dataIndex+g]=f[g];this._edgeIndicesMap[u.dataIndex]=o},this),t.dirty()},_updateForceNodesGeometry:function(e){for(var t=this._pointsBuilder.getPointsMesh(),r=[],n=0;n=f&&(u._syncNodePosition(e),d=0),r.getZr().refresh(),p()(function(){m(t)})})};p()(function(){u._forceLayoutInstanceToDispose&&(u._forceLayoutInstanceToDispose.dispose(i.layer.renderer),u._forceLayoutInstanceToDispose=null),m(l)}),this._layouting=!0}}},stopLayout:function(e,t,r,n){n&&null!=n.from&&n.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(n&&n.beforeLayout||(this._syncNodePosition(e),this._updateAfterLayout(e,t,r)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(e){var t=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);e.getData().setLayout("points",t),e.setNodePosition(t)},_updateAfterLayout:function(e,t,r){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(e,t,r),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(e,t,r,n){var i=this._model.getData();this._downplayAll();var a=n.dataIndex,o=i.graph,s=[],u=o.getNodeByIndex(a);s.push(u),u.edges.forEach(function(e){e.dataIndex<0||(e.node1!==u&&s.push(e.node1),e.node2!==u&&s.push(e.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),s.forEach(function(e){this._pointsBuilder.highlight(i,e.dataIndex)},this),this._pointsBuilder.updateLabels(s.map(function(e){return e.dataIndex}));var l=[];u.edges.forEach(function(e){e.dataIndex>=0&&(this._highlightEdge(e.dataIndex),l.push(e))},this),this._focusNodes=s,this._focusEdges=l},unfocusNodeAdjacency:function(e,t,r,n){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(e){var t=this._model.getEdgeData().getItemModel(e),r=s.a.parseColor(t.get("emphasis.lineStyle.color")||t.get("lineStyle.color")),n=h.a.firstNotNull(t.get("emphasis.lineStyle.opacity"),t.get("lineStyle.opacity"),1);r[3]*=n,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[e],r)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(e){this._pointsBuilder.downplay(this._model.getData(),e.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(e){this._downplayEdge(e.dataIndex)},this)},_downplayEdge:function(e){var t=this._getColor(e,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[e],t)},_setEdgeFade:function(){var e=[];return function(t,r){this._getColor(t,e),e[3]*=r,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[t],e)}}(),_getColor:function(e,t){for(var r=0;r<4;r++)t[r]=this._originalEdgeColors[4*e+r];return t},_fadeOutEdgesAll:function(e){this._model.getData().graph.eachEdge(function(t){this._setEdgeFade(t.dataIndex,e)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(e,t){this.viewGL.setViewport(0,0,t.getWidth(),t.getHeight(),t.getDevicePixelRatio());for(var r=this.viewGL.camera,n=e.getData(),i=n.getLayout("points"),a=y.create(1/0,1/0),o=y.create(-1/0,-1/0),s=[],u=0;ur.left&&hr.top)){var c=Math.max(o[0]-a[0],10),d=c/t.getWidth()*t.getHeight();c*=1.4,d*=1.4,a[0]-=.2*c,r.left=a[0],r.top=l-d/2,r.bottom=l+d/2,r.right=c+a[0],r.near=0,r.far=100}},dispose:function(){var e=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(e),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(e,t,r){"use strict";function n(e){var t={type:o.a.Texture.FLOAT,minFilter:o.a.Texture.NEAREST,magFilter:o.a.Texture.NEAREST};this._positionSourceTex=new o.a.Texture2D(t),this._positionSourceTex.flipY=!1,this._positionTex=new o.a.Texture2D(t),this._positionPrevTex=new o.a.Texture2D(t),this._forceTex=new o.a.Texture2D(t),this._forcePrevTex=new o.a.Texture2D(t),this._weightedSumTex=new o.a.Texture2D(t),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new o.a.Texture2D(t),this._globalSpeedPrevTex=new o.a.Texture2D(t),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new s.a({fragment:o.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new s.a({fragment:o.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new s.a({fragment:o.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new s.a({fragment:o.a.Shader.source("clay.compositor.output")});var r=function(e){e.blendEquation(e.FUNC_ADD),e.blendFunc(e.ONE,e.ONE)};this._edgeForceMesh=new o.a.Mesh({geometry:new o.a.Geometry({attributes:{node1:new o.a.Geometry.Attribute("node1","float",2),node2:new o.a.Geometry.Attribute("node2","float",2),weight:new o.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new o.a.Material({transparent:!0,shader:o.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:r,depthMask:!1,depthText:!1}),mode:o.a.Mesh.POINTS}),this._weightedSumMesh=new o.a.Mesh({geometry:new o.a.Geometry({attributes:{node:new o.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new o.a.Material({transparent:!0,shader:o.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:r,depthMask:!1,depthText:!1}),mode:o.a.Mesh.POINTS}),this._framebuffer=new u.a({depthBuffer:!1}),this._dummyCamera=new o.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}var i=r(0),a=r.n(i),o=r(1),s=r(16),u=r(10),l=r(270);o.a.Shader.import(l.a);var h={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};n.prototype.updateOption=function(e){for(var t in h)this[t]=h[t];var r=this._nodes.length;if(this.jitterTolerence=r>5e4?10:r>5e3?1:.1,this.scaling=r>100?2:10,e)for(var t in h)null!=e[t]&&(this[t]=e[t]);if(this.repulsionByDegree)for(var n=this._positionSourceTex.pixels,i=0;ie},n.prototype._swapTexture=function(){var e=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=e;var e=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=e;var e=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=e},n.prototype._initFromSource=function(e){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(e),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(e),e.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),e.gl.clear(e.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),e.gl.clear(e.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(e)},n.prototype._resize=function(e,t){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(r){this[r].width=e,this[r].height=t,this[r].dirty()},this)},n.prototype.dispose=function(e){this._framebuffer.dispose(e),this._copyPass.dispose(e),this._nodeRepulsionPass.dispose(e),this._positionPass.dispose(e),this._globalSpeedPass.dispose(e),this._edgeForceMesh.geometry.dispose(e),this._weightedSumMesh.geometry.dispose(e),this._positionSourceTex.dispose(e),this._positionTex.dispose(e),this._positionPrevTex.dispose(e),this._forceTex.dispose(e),this._forcePrevTex.dispose(e),this._weightedSumTex.dispose(e),this._globalSpeedTex.dispose(e),this._globalSpeedPrevTex.dispose(e)},a.a.ForceAtlas2GPU=n,t.a=n},function(e,t,r){"use strict";t.a="@export ecgl.forceAtlas2.updateNodeRepulsion\n\n#define NODE_COUNT 0\n\nuniform sampler2D positionTex;\n\nuniform vec2 textureSize;\nuniform float gravity;\nuniform float scaling;\nuniform vec2 gravityCenter;\n\nuniform bool strongGravityMode;\nuniform bool preventOverlap;\n\nvarying vec2 v_Texcoord;\n\nvoid main() {\n\n vec4 n0 = texture2D(positionTex, v_Texcoord);\n\n vec2 force = vec2(0.0);\n for (int i = 0; i < NODE_COUNT; i++) {\n vec2 uv = vec2(\n mod(float(i), textureSize.x) / (textureSize.x - 1.0),\n floor(float(i) / textureSize.x) / (textureSize.y - 1.0)\n );\n vec4 n1 = texture2D(positionTex, uv);\n\n vec2 dir = n0.xy - n1.xy;\n float d2 = dot(dir, dir);\n\n if (d2 > 0.0) {\n float factor = 0.0;\n if (preventOverlap) {\n float d = sqrt(d2);\n d = d - n0.w - n1.w;\n if (d > 0.0) {\n factor = scaling * n0.z * n1.z / (d * d);\n }\n else if (d < 0.0) {\n factor = scaling * 100.0 * n0.z * n1.z;\n }\n }\n else {\n factor = scaling * n0.z * n1.z / d2;\n }\n force += dir * factor;\n }\n }\n\n vec2 dir = gravityCenter - n0.xy;\n float d = 1.0;\n if (!strongGravityMode) {\n d = length(dir);\n }\n\n force += dir * n0.z * gravity / (d + 1.0);\n\n gl_FragColor = vec4(force, 0.0, 1.0);\n}\n@end\n\n@export ecgl.forceAtlas2.updateEdgeAttraction.vertex\n\nattribute vec2 node1;\nattribute vec2 node2;\nattribute float weight;\n\nuniform sampler2D positionTex;\nuniform float edgeWeightInfluence;\nuniform bool preventOverlap;\nuniform bool linLogMode;\n\nuniform vec2 windowSize: WINDOW_SIZE;\n\nvarying vec2 v_Force;\n\nvoid main() {\n\n vec4 n0 = texture2D(positionTex, node1);\n vec4 n1 = texture2D(positionTex, node2);\n\n vec2 dir = n1.xy - n0.xy;\n float d = length(dir);\n float w;\n if (edgeWeightInfluence == 0.0) {\n w = 1.0;\n }\n else if (edgeWeightInfluence == 1.0) {\n w = weight;\n }\n else {\n w = pow(weight, edgeWeightInfluence);\n }\n vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);\n vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);\n vec2 pos = node1 * scale * 2.0 - 1.0;\n gl_Position = vec4(pos + offset, 0.0, 1.0);\n gl_PointSize = 1.0;\n\n float factor;\n if (preventOverlap) {\n d = d - n1.w - n0.w;\n }\n if (d <= 0.0) {\n v_Force = vec2(0.0);\n return;\n }\n\n if (linLogMode) {\n factor = w * log(d) / d;\n }\n else {\n factor = w;\n }\n v_Force = dir * factor;\n}\n@end\n\n@export ecgl.forceAtlas2.updateEdgeAttraction.fragment\n\nvarying vec2 v_Force;\n\nvoid main() {\n gl_FragColor = vec4(v_Force, 0.0, 0.0);\n}\n@end\n\n@export ecgl.forceAtlas2.calcWeightedSum.vertex\n\nattribute vec2 node;\n\nvarying vec2 v_NodeUv;\n\nvoid main() {\n\n v_NodeUv = node;\n gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n gl_PointSize = 1.0;\n}\n@end\n\n@export ecgl.forceAtlas2.calcWeightedSum.fragment\n\nvarying vec2 v_NodeUv;\n\nuniform sampler2D positionTex;\nuniform sampler2D forceTex;\nuniform sampler2D forcePrevTex;\n\nvoid main() {\n vec2 force = texture2D(forceTex, v_NodeUv).rg;\n vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;\n\n float mass = texture2D(positionTex, v_NodeUv).z;\n float swing = length(force - forcePrev) * mass;\n float traction = length(force + forcePrev) * 0.5 * mass;\n\n gl_FragColor = vec4(swing, traction, 0.0, 0.0);\n}\n@end\n\n@export ecgl.forceAtlas2.calcGlobalSpeed\n\nuniform sampler2D globalSpeedPrevTex;\nuniform sampler2D weightedSumTex;\nuniform float jitterTolerence;\n\nvoid main() {\n vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;\n float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;\n float globalSpeed = jitterTolerence * jitterTolerence\n * weightedSum.y / weightedSum.x;\n if (prevGlobalSpeed > 0.0) {\n globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;\n }\n gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);\n}\n@end\n\n@export ecgl.forceAtlas2.updatePosition\n\nuniform sampler2D forceTex;\nuniform sampler2D forcePrevTex;\nuniform sampler2D positionTex;\nuniform sampler2D globalSpeedTex;\n\nvarying vec2 v_Texcoord;\n\nvoid main() {\n vec2 force = texture2D(forceTex, v_Texcoord).xy;\n vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;\n vec4 node = texture2D(positionTex, v_Texcoord);\n\n float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;\n float swing = length(force - forcePrev);\n float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));\n\n float df = length(force);\n if (df > 0.0) {\n speed = min(df * speed, 10.0) / df;\n\n gl_FragColor = vec4(node.xy + speed * force, node.zw);\n }\n else {\n gl_FragColor = node;\n }\n}\n@end\n\n@export ecgl.forceAtlas2.edges.vertex\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec2 node;\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n\nuniform sampler2D positionTex;\n\nvoid main()\n{\n gl_Position = worldViewProjection * vec4(\n texture2D(positionTex, node).xy, -10.0, 1.0\n );\n v_Color = a_Color;\n}\n@end\n\n@export ecgl.forceAtlas2.edges.fragment\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nvarying vec4 v_Color;\nvoid main() {\n gl_FragColor = color * v_Color;\n}\n@end"},function(e,t,r){"use strict";var n=r(5),i=r(4),a=r(272),o=a.a.toString();o=o.slice(o.indexOf("{")+1,o.lastIndexOf("}"));var s={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},u=function(e){for(var t in s)this[t]=s[t];if(e)for(var t in e)this[t]=e[t];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new n.a({type:i.a.FLOAT,flipY:!1,minFilter:i.a.NEAREST,magFilter:i.a.NEAREST})};u.prototype.initData=function(e,t){var r=new Blob([o]),n=window.URL.createObjectURL(r);this._worker=new Worker(n),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=e,this._edges=t,this._frame=0;for(var i=e.length,a=t.length,s=new Float32Array(2*i),u=new Float32Array(i),l=new Float32Array(i),h=new Float32Array(2*a),c=new Float32Array(a),d=0;d5e4?10:a>5e3?1:.1,t.scaling=a>100?2:10,t.barnesHutOptimize=a>1e3,e)for(var r in s)null!=e[r]&&(t[r]=e[r]);if(!t.gravityCenter){for(var o=[1/0,1/0],u=[-1/0,-1/0],l=0;le},u.prototype.getNodePosition=function(e,t){if(t||(t=new Float32Array(2*this._nodes.length)),this._positionArr)for(var r=0;r0&&(i=1/Math.sqrt(i),e[0]=t[0]*i,e[1]=t[1]*i),e},negate:function(e,t){return e[0]=-t[0],e[1]=-t[1],e},copy:function(e,t){return e[0]=t[0],e[1]=t[1],e},set:function(e,t,r){return e[0]=t,e[1]=r,e}},a=e.prototype;a.beforeUpdate=function(){for(var e=0;e=e&&this.bbox[1]<=t&&this.bbox[3]>=t},a.setBBox=function(e,t,r,n){this.bbox[0]=e,this.bbox[1]=t,this.bbox[2]=r,this.bbox[3]=n,this.size=(r-e+n-t)/2},a._newSubRegion=function(){var t=this.subRegions[this.nSubRegions];return t||(t=new e,this.subRegions[this.nSubRegions]=t),this.nSubRegions++,t},a._addNodeToSubRegion=function(e){var t=this.findSubRegion(e.position[0],e.position[1]),r=this.bbox;if(!t){var n=(r[0]+r[2])/2,i=(r[1]+r[3])/2,a=(r[2]-r[0])/2,o=(r[3]-r[1])/2,s=e.position[0]>=n?1:0,u=e.position[1]>=i?1:0,t=this._newSubRegion();t.setBBox(s*a+r[0],u*o+r[1],(s+1)*a+r[0],(u+1)*o+r[1])}t.addNode(e)},a._updateCenterOfMass=function(e){null==this.centerOfMass&&(this.centerOfMass=new Float32Array(2));var t=this.centerOfMass[0]*this.mass,r=this.centerOfMass[1]*this.mass;t+=e.position[0]*e.mass,r+=e.position[1]*e.mass,this.mass+=e.mass,this.centerOfMass[0]=t/this.mass,this.centerOfMass[1]=r/this.mass};var o=n.prototype;o.initNodes=function(e,r,n){var i=r.length;this.nodes.length=0;for(var a=void 0!==n,o=0;o0&&(this.strongGravityMode?this.applyNodeStrongGravity(n):this.applyNodeGravity(n))}for(var t=0;t0&&(c=Math.min(c/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=c;for(var t=0;t0&&(d=Math.min(f*d,10)/f,i.scaleAndAdd(r.position,r.position,r.force,d))}},o.applyRegionToNodeRepulsion=function(){var e=i.create();return function(t,r){if(t.node)this.applyNodeToNodeRepulsion(t.node,r,!0);else{i.sub(e,r.position,t.centerOfMass);var n=e[0]*e[0]+e[1]*e[1];if(n>this.barnesHutTheta*t.size*t.size){var a=this.scaling*r.mass*t.mass/n;i.scaleAndAdd(r.force,r.force,e,a)}else for(var o=0;o0)o=this.scaling*t.mass*r.mass/(s*s);else{if(!(s<0))return;o=100*this.scaling*t.mass*r.mass}}else o=this.scaling*t.mass*r.mass/a;i.scaleAndAdd(t.force,t.force,e,o),i.scaleAndAdd(r.force,r.force,e,-o)}}}}(),o.applyEdgeAttraction=function(){var e=i.create();return function(t){var r=t.source,n=t.target;i.sub(e,r.position,n.position);var a,o=i.len(e);a=0===this.edgeWeightInfluence?1:1===this.edgeWeightInfluence?t.weight:Math.pow(t.weight,this.edgeWeightInfluence);var s;this.preventOverlap&&(o=o-r.size-n.size)<=0||(s=this.linLogMode?-a*Math.log(o+1)/(o+1):-a,i.scaleAndAdd(r.force,r.force,e,s),i.scaleAndAdd(n.force,n.force,e,-s))}}(),o.applyNodeGravity=function(){var e=i.create();return function(t){i.sub(e,this.gravityCenter,t.position);var r=i.len(e);i.scaleAndAdd(t.force,t.force,e,this.gravity*t.mass/(r+1))}}(),o.applyNodeStrongGravity=function(){var e=i.create();return function(t){i.sub(e,this.gravityCenter,t.position),i.scaleAndAdd(t.force,t.force,e,this.gravity*t.mass)}}(),o.updateBBox=function(){for(var e=1/0,t=1/0,r=-1/0,n=-1/0,i=0;i0?1.1:.9,a=Math.max(Math.min(this._zoom*i,this.maxZoom),this.minZoom);i=a/this._zoom;var o=this._convertPos(r,n),s=(o.x-this._dx)*(i-1),u=(o.y-this._dy)*(i-1);this._dx-=s,this._dy-=u,this._zoom=a,this._needsUpdate=!0}}},dispose:function(){var e=this.zr;e.off("mousedown",this._mouseDownHandler),e.off("mousemove",this._mouseMoveHandler),e.off("mouseup",this._mouseUpHandler),e.off("mousewheel",this._mouseWheelHandler),e.off("globalout",this._mouseUpHandler),e.animation.off("frame",this._update)}}));t.a=i},function(e,t,r){"use strict";t.a="@export ecgl.lines2D.vertex\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nattribute vec2 position: POSITION;\nattribute vec4 a_Color : COLOR;\nvarying vec4 v_Color;\n\n#ifdef POSITIONTEXTURE_ENABLED\nuniform sampler2D positionTexture;\n#endif\n\nvoid main()\n{\n gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);\n\n v_Color = a_Color;\n}\n\n@end\n\n@export ecgl.lines2D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\n\nvoid main()\n{\n gl_FragColor = color * v_Color;\n}\n@end\n\n\n@export ecgl.meshLines2D.vertex\n\nattribute vec2 position: POSITION;\nattribute vec2 normal;\nattribute float offset;\nattribute vec4 a_Color : COLOR;\n\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\nuniform vec4 viewport : VIEWPORT;\n\nvarying vec4 v_Color;\nvarying float v_Miter;\n\nvoid main()\n{\n vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);\n gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);\n\n p2.xy /= p2.w;\n gl_Position.xy /= gl_Position.w;\n\n vec2 N = normalize(p2.xy - gl_Position.xy);\n gl_Position.xy += N * offset / viewport.zw * 2.0;\n\n gl_Position.xy *= gl_Position.w;\n\n v_Color = a_Color;\n}\n@end\n\n\n@export ecgl.meshLines2D.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\n\nvarying vec4 v_Color;\nvarying float v_Miter;\n\nvoid main()\n{\n gl_FragColor = color * v_Color;\n}\n\n@end"},function(e,t,r){"use strict";var n=r(0);r.n(n),r(276),r(280)},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(1),o=r(2),s=r(22),u=r(277);i.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(e,t){this.viewGL=new s.a("orthographic"),this.groupGL=new a.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new u.a;var r=new a.a.Mesh({geometry:new a.a.PlaneGeometry,material:new a.a.Material({shader:new a.a.Shader({vertex:a.a.Shader.source("ecgl.color.vertex"),fragment:a.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});r.material.enableTexture("diffuseMap"),this.groupGL.add(r),this._planeMesh=r},render:function(e,t,r){var n=this._particleSurface;n.setParticleType(e.get("particleType")),n.setSupersampling(e.get("supersampling")),this._updateData(e,r),this._updateCamera(r.getWidth(),r.getHeight(),r.getDevicePixelRatio());var i=o.a.firstNotNull(e.get("particleDensity"),128);n.setParticleDensity(i,i);var s=this._planeMesh,u=+new Date,l=this,h=!0;s.__percent=0,s.stopAnimation(),s.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var e=+new Date,t=Math.min(e-u,20);u+=t,l._renderer&&(n.update(l._renderer,r,t/1e3,h),s.material.set("diffuseMap",n.getSurfaceTexture())),h=!1}).start();var c=e.getModel("itemStyle"),d=a.a.parseColor(c.get("color"));d[3]*=o.a.firstNotNull(c.get("opacity"),1),s.material.set("color",d),n.setColorTextureImage(e.get("colorTexture"),r),n.setParticleSize(e.get("particleSize")),n.particleSpeedScaling=e.get("particleSpeed"),n.motionBlurFactor=1-Math.pow(.1,e.get("particleTrail"))},updateTransform:function(e,t,r){this._updateData(e,r)},afterRender:function(e,t,r,n){var i=n.renderer;this._renderer=i},_updateData:function(e,t){var r=e.coordinateSystem,n=r.dimensions.map(function(t){return e.coordDimToDataDim(t)[0]}),i=e.getData(),a=i.getDataExtent(n[0]),o=i.getDataExtent(n[1]),s=e.get("gridWidth"),u=e.get("gridHeight");if(null==s||"auto"===s){var l=(a[1]-a[0])/(o[1]-o[0]);s=Math.round(Math.sqrt(l*i.count()))}null!=u&&"auto"!==u||(u=Math.ceil(i.count()/s));var h=this._particleSurface.vectorFieldTexture,c=h.pixels;if(c&&c.length===u*s*4)for(var d=0;d=359&&(i[0]>0&&(i[0]=0),a[0]0?e[e.length-1]:this._lastFrameTexture},setRegion:function(e){this._particlePass.setUniform("region",e)},resize:function(e,t){this._lastFrameTexture.width=e*this._supersampling,this._lastFrameTexture.height=t*this._supersampling,this._thisFrameTexture.width=e*this._supersampling,this._thisFrameTexture.height=t*this._supersampling,this._width=e,this._height=t},setParticleSize:function(e){var t=this._getParticleMesh();if(e<=2)return t.material.disableTexture("spriteTexture"),void(t.material.transparent=!1);this._spriteTexture||(this._spriteTexture=new l.a),this._spriteTexture.image&&this._spriteTexture.image.width===e||(this._spriteTexture.image=n(e),this._spriteTexture.dirty()),t.material.transparent=!0,t.material.enableTexture("spriteTexture"),t.material.set("spriteTexture",this._spriteTexture),this._particleSize=e},setGradientTexture:function(e){var t=this._getParticleMesh().material;t[e?"enableTexture":"disableTexture"]("gradientTexture"),t.setUniform("gradientTexture",e)},setColorTextureImage:function(e,t){this._getParticleMesh().material.setTextureImage("colorTexture",e,t,{flipY:!0})},setParticleType:function(e){this._particleType=e},clearFrame:function(e){var t=this._frameBuffer;t.attach(this._lastFrameTexture),t.bind(e),e.gl.clear(e.gl.DEPTH_BUFFER_BIT|e.gl.COLOR_BUFFER_BIT),t.unbind(e)},setSupersampling:function(e){this._supersampling=e,this.resize(this._width,this._height)},_updateDownsampleTextures:function(e,t){for(var r=this._downsampleTextures,n=Math.max(Math.floor(Math.log(this._supersampling/t.getDevicePixelRatio())/Math.log(2)),0),i=2,a=this._width*this._supersampling,o=this._height*this._supersampling,s=0;s65535?new Uint32Array(3*n):new Uint16Array(3*n))},addLine:function(e){var t=this._vertexOffset;this.attributes.position.set(t,[e[0],e[1],1]),this.attributes.position.set(t+1,[e[0],e[1],-1]),this.attributes.position.set(t+2,[e[0],e[1],2]),this.attributes.position.set(t+3,[e[0],e[1],-2]),this.setTriangleIndices(this._faceOffset++,[t,t+1,t+2]),this.setTriangleIndices(this._faceOffset++,[t+1,t+2,t+3]),this._vertexOffset+=4}}));t.a=a},function(e,t,r){"use strict";t.a="@export ecgl.vfParticle.particle.fragment\n\nuniform sampler2D particleTexture;\nuniform sampler2D spawnTexture;\nuniform sampler2D velocityTexture;\n\nuniform float deltaTime;\nuniform float elapsedTime;\n\nuniform float speedScaling : 1.0;\n\nuniform vec2 textureSize;\nuniform vec4 region : [0, 0, 1, 1];\nuniform float firstFrameTime;\n\nvarying vec2 v_Texcoord;\n\n\nvoid main()\n{\n vec4 p = texture2D(particleTexture, v_Texcoord);\n bool spawn = false;\n if (p.w <= 0.0) {\n p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));\n p.w -= firstFrameTime;\n spawn = true;\n }\n vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;\n v = (v - 0.5) * 2.0;\n p.z = length(v);\n p.xy += v * deltaTime / 10.0 * speedScaling;\n p.w -= deltaTime;\n\n if (spawn || p.xy != fract(p.xy)) {\n p.z = 0.0;\n }\n p.xy = fract(p.xy);\n\n gl_FragColor = p;\n}\n@end\n\n@export ecgl.vfParticle.renderPoints.vertex\n\n#define PI 3.1415926\n\nattribute vec2 texcoord : TEXCOORD_0;\n\nuniform sampler2D particleTexture;\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nuniform float size : 1.0;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\nvoid main()\n{\n vec4 p = texture2D(particleTexture, texcoord);\n\n if (p.w > 0.0 && p.z > 1e-5) {\n gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);\n }\n else {\n gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);\n }\n\n v_Mag = p.z;\n v_Uv = p.xy;\n\n gl_PointSize = size;\n}\n\n@end\n\n@export ecgl.vfParticle.renderPoints.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nuniform sampler2D gradientTexture;\nuniform sampler2D colorTexture;\nuniform sampler2D spriteTexture;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\nvoid main()\n{\n gl_FragColor = color;\n#ifdef SPRITETEXTURE_ENABLED\n gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);\n if (color.a == 0.0) {\n discard;\n }\n#endif\n#ifdef GRADIENTTEXTURE_ENABLED\n gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));\n#endif\n#ifdef COLORTEXTURE_ENABLED\n gl_FragColor *= texture2D(colorTexture, v_Uv);\n#endif\n}\n\n@end\n\n@export ecgl.vfParticle.renderLines.vertex\n\n#define PI 3.1415926\n\nattribute vec3 position : POSITION;\n\nuniform sampler2D particleTexture;\nuniform sampler2D prevParticleTexture;\n\nuniform float size : 1.0;\nuniform vec4 vp: VIEWPORT;\nuniform mat4 worldViewProjection : WORLDVIEWPROJECTION;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\n@import clay.util.rand\n\nvoid main()\n{\n vec4 p = texture2D(particleTexture, position.xy);\n vec4 p2 = texture2D(prevParticleTexture, position.xy);\n\n p.xy = p.xy * 2.0 - 1.0;\n p2.xy = p2.xy * 2.0 - 1.0;\n\n if (p.w > 0.0 && p.z > 1e-5) {\n vec2 dir = normalize(p.xy - p2.xy);\n vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;\n if (abs(position.z) == 2.0) {\n gl_Position = vec4(p.xy + norm, 0.0, 1.0);\n v_Uv = p.xy;\n v_Mag = p.z;\n }\n else {\n gl_Position = vec4(p2.xy + norm, 0.0, 1.0);\n v_Mag = p2.z;\n v_Uv = p2.xy;\n }\n gl_Position = worldViewProjection * gl_Position;\n }\n else {\n gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);\n }\n}\n\n@end\n\n@export ecgl.vfParticle.renderLines.fragment\n\nuniform vec4 color : [1.0, 1.0, 1.0, 1.0];\nuniform sampler2D gradientTexture;\nuniform sampler2D colorTexture;\n\nvarying float v_Mag;\nvarying vec2 v_Uv;\n\nvoid main()\n{\n gl_FragColor = color;\n #ifdef GRADIENTTEXTURE_ENABLED\n gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));\n#endif\n#ifdef COLORTEXTURE_ENABLED\n gl_FragColor *= texture2D(colorTexture, v_Uv);\n#endif\n}\n\n@end\n"},function(e,t,r){"use strict";var n=r(0),i=r.n(n);i.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(e,t){var r=i.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];r.push("vx","vy");var n=i.a.helper.completeDimensions(r,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),a=new i.a.List(n,this);return a.initData(this.getSource()),a},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=(r(282),r(283),r(17));i.a.registerVisual(Object(a.a)("linesGL"))},function(e,t,r){"use strict";var n=r(0),i=r.n(n),a=r(13),o=(r.n(a),i.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(e){var t=this._processFlatCoordsArray(e.data);this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset,t.flatCoords&&(e.data=new Float32Array(t.count)),o.superApply(this,"init",arguments)},mergeOption:function(e){var t=this._processFlatCoordsArray(e.data);this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset,t.flatCoords&&(e.data=new Float32Array(t.count)),o.superApply(this,"mergeOption",arguments)},appendData:function(e){var t=this._processFlatCoordsArray(e.data);t.flatCoords&&(this._flatCoords?(this._flatCoords=Object(a.concatArray)(this._flatCoords,t.flatCoords),this._flatCoordsOffset=Object(a.concatArray)(this._flatCoordsOffset,t.flatCoordsOffset)):(this._flatCoords=t.flatCoords,this._flatCoordsOffset=t.flatCoordsOffset),e.data=new Float32Array(t.count)),this.getRawData().appendData(e.data)},_getCoordsFromItemModel:function(e){var t=this.getData().getItemModel(e),r=t.option instanceof Array?t.option:t.getShallow("coords");return r},getLineCoordsCount:function(e){return this._flatCoordsOffset?this._flatCoordsOffset[2*e+1]:this._getCoordsFromItemModel(e).length},getLineCoords:function(e,t){if(this._flatCoordsOffset){for(var r=this._flatCoordsOffset[2*e],n=this._flatCoordsOffset[2*e+1],i=0;i1?(t.material.shader!==this._meshLinesShader&&t.material.attachShader(this._meshLinesShader),t.mode=a.a.Mesh.TRIANGLES):(t.material.shader!==this._nativeLinesShader&&t.material.attachShader(this._nativeLinesShader),t.mode=a.a.Mesh.LINES),r=r||0,n=n||o.count(),h.resetOffset();var f=0,p=0,m=[],g=[],_=[],v=[],y=[],x=.3,T=.7;if(u||0!==s)for(var b=r;b=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
t
",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
","
"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window);