diff --git a/CSGO/css/main.css b/CSGO/css/main.css new file mode 100644 index 0000000..1e62f99 --- /dev/null +++ b/CSGO/css/main.css @@ -0,0 +1,1390 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head_1 .wapper { + width: 1190px; + display: flex; + flex-direction: row; + margin: auto; + text-align: center; + +} + +/*.allPage { + width:100%; + height: auto; + background-color: #f7f8f8; + color: #333; + font-family: "微软雅黑"; +} +*/ + +.headfly { + position: fixed; + top:0px; + width: 100%; + margin:0 auto; + z-index: 100; +} + +.head_1 { + height: 80px; + width: 100%; + background-color: #111521; + line-height: 1.35; + font-size: 16px; +} + +.navImg { + height: 80px; + width: 134px; + margin-right:100px; + padding: 8px 0 8px 23px; +} + +.navImg img { + width: auto; + height:64px; +} + +.navList { + display: flex; +/*flex-direction: row; +text-align: left;*/ +width: 770px; +float: left; +} + +.navList div { + width: 110px; + margin-top: 20px; + text-align: left; + color: #fff; +} + +.navLogin { + height: 20px; + width: 180px; + text-align: right; + color: #fff; + margin-top: 30px; +} + +.navLogin a { + color: #566e95; + margin-left: 5px; +} + +.head_1_2 { + height: 34px; + width: 100%; + background-image: url(../images/head_1/bg_nav_btn.jpg); +} + +.head_1_2 .w { + width: 1190px; + display: flex; + flex-direction: row; + margin: auto; + text-align: center; +} + +.head_1_2 span { + color: #fff; + font-size: 18px; + margin-right: 15px; +} + +.head_1_2 .w div { + margin:4px auto; +} + +.head_1_2 .w img { + width: 14px; + height: 7px; + overflow: hidden; +} + +.kongbai_1 { + height: 113px; +} + +.head_2 { + width:100%; + height: 845px; + position: relative; +} + +.head_2_background { + position: absolute; + top: 0px; + height: 845px; + display: block; + margin:0 auto; +} + +.head_2 .w { + width: 1230px; + display: flex; + flex-direction: column; + margin: auto; + position: relative; +} + +.head_2_quanjingImg { + height: 135px; + width: 620px; + margin-top: 80px; +} + +.head_2_item { + position: absolute; + top:460px; + height: 348px; + width: 100%; + + display: flex; + flex-direction: row; +} + +.head_2_item .item_1 { + height: 346px; + width: 348px; + +} + +.head_2_item .item_1 .item_1_1 { + height: 188px; + width: 348px; + display: block; +} + +.head_2_item .item_1 .item_1_2 { + height: 53px; + width: 348px; + + display: flex; + flex-direction: row; +} + +.item_1_2_1 { + width: 116px; + height: 53px; + background:url(../images/head_2/icon_bg.jpg) no-repeat; + border-right: 1px solid #1f2336; + line-height: 53px; + text-align: center; + color: #fff; + font-size: 12px; +} + +.item_1_2_1 span { + margin-left:5px; +} + +.item_1_2_1_yellow { + color: #e5db88; +} + +.head_2_item .item_2 { + height: 346px; + width: 758px; + +} + +.head_2_item .item_2 img { + height: 346px; + width: 758px; + display: block; +} + +.head_2_item .item_3 { + height: 346px; + width: 123px; + background-color: #fff; + display: flex; + flex-direction: column; +} + +.head_2_item .item_3 .item_3_1 { + width: 123px; + height: 88px; + border-right: 1px solid #1f2336; + background-image:url(../images/head_2/icon_bg2.jpg); + /* line-height: 88px;*/ + text-align: center; + color: #fff; + font-size: 12px; +} + +.head_2_item .item_3 .item_3_1 div { + display: flex; + flex-direction: column; + text-align: center; +} + +.head_2_item .item_3 .item_3_1 img { + height: 35px; + width: 35px; + margin-top:15px; + margin-bottom: 10px; + margin-left: 45px; +} + + +.main_1 { + width: 100%; + height: 494px; +} + +.main_1 .w { + width: 1230px; + height: 494px; + display: flex; + flex-direction: row; + margin: auto; + position: relative; +} + +.main_1 .left { + height: 446px; + padding-top: 48px; + width: 350px; +} + +.main_1 .left .top { + width: 350px; + height: auto; + position: relative; + font-size: 24px; +} + +.main_1 .left .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_1 .left .main { + color: #404040; + margin-top: 20px; + position: relative; +} + +.main_1 .left .main ul { + width: 100%; + margin-bottom: 14px; + margin-top: 8px; + float: left; + + +} +.main_1 .left .main li { + float: left; + margin-right: 22px; + margin-bottom: 6px; + text-align: center; +} + +.main_1 .left .main a { + display: block; + height: 20px; + color: #404040; +} + +.main_1 .left .main .title { + width:100%; + font-size: 16px; + text-align: left; + font-weight: bold; +} + +.main_1 .left .table { + margin-top: 270px; + width: 350px; + height: 120px; + display: flex; + flex-direction: column; +} + +.main_1 .left .table .table_item { + width: 350px; + height:60px; + display: flex; + flex-direction: row; +} + +.main_1 .left .table .table_item .pic_item1 { + width: 175px; + height: 59px; + border-bottom: 1px solid #cccccc; + border-right: 1px solid #cccccc; + padding-left: 84px; + line-height: 60px; + position: relative; +} + +.main_1 .left .table .table_item .pic_item1 span { + background:url(../images/main_1/junxian.png); + display: block; + position: absolute; + top:17px; + left:27px; + height: 26px; + width: 48px; +} + +.main_1 .left .table .table_item .pic_item2 { + width: 175px; + height: 59px; + border-bottom: 1px solid #cccccc; + padding-left: 84px; + line-height: 60px; + position: relative; +} + +.main_1 .left .table .table_item .pic_item2 span { + background:url(../images/main_1/wuqi.png); + display: block; + position: absolute; + top:17px; + left:27px; + height: 28px; + width: 39px; +} + +.main_1 .left .table .table_item .pic_item3 { + width: 175px; + height: 59px; + border-right: 1px solid #cccccc; + padding-left: 84px; + line-height: 60px; + position: relative; +} + +.main_1 .left .table .table_item .pic_item3 span { + background:url(../images/main_1/yinyue.png); + display: block; + position: absolute; + top:17px; + left:27px; + height: 29px; + width: 37px; +} + +.main_1 .left .table .table_item .pic_item4 { + width: 175px; + height: 59px; + padding-left: 84px; + line-height: 60px; + position: relative; +} + +.main_1 .left .table .table_item .pic_item4 span { + background:url(../images/main_1/rongyu.png); + display: block; + position: absolute; + top:17px; + left:27px; + height: 31px; + width: 29px; +} + +.main_1 .center { + height: 446px; + padding: 48px 15px 0 38px; + width: 458px; + background-color: #fff; +} + +.main_1 .center .top { + width: 458px; + height: auto; + position: relative; + font-size: 24px; +} + +.main_1 .center .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_1 .center .main { + width:458px; + height: auto; + position: relative; +} + +.main_1 .center .main .title { + margin-top: 20px; + height: 31px; + width: 100%; + border-bottom: 1px solid #ccc; +} + +.main_1 .center .main .title li { + float: left; + width: 54px; + height: 31px; + margin-right: 22px; + line-height: 30px; + text-align: center; +} + +.main_1 .center .main .title li a { + color: #181a25; +} + +.main_1 .center .main .bigWord { + width: 100%; + height: 50px; + padding:19px 0; + font-size: 24px; + line-height: 20px; + margin-bottom: 15px; + font-weight: bold; + text-align: center; + border-bottom: 1px solid #ccc; +} + +.main_1 .center .main .bigWord a { + color: #654b25; +} + +.main_1 .center .main .bigWord p { + font-size: 14px; + color: #757575; + margin-top: 10px; +} + +.main_1 .center .main .item { + width:100%; +} + +.main_1 .center .main .item li { + width: 100%; + height: 20px; + padding:7px 0; + position: relative; +} + +.main_1 .center .main .item span { + position: absolute; + top:7px; + right:7px; + color: #565a68; +} + +.main_1 .center .main .item a { + color:#181a25; + display: block; + line-height: 20px; + height: 20px; + width: 370px; +} + +.main_1 .right { + width: 349px; + height: 446px; + padding-top: 48px; + padding-left:20px; + +} + +.main_1 .right .top { + width: 349px; + height: auto; + position: relative; + font-size: 24px; +} + +.main_1 .right .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_1 .right .pic { + height: 119px; + width:349px; + margin-top: 20px; +} + +.main_1 .right .pic img { + height: 119px; + width:349px; +} + +.main_2 { + width: 100%; + height: 498px; +} + +.main_2 .w { + width: 1230px; + height: 498px; + display: flex; + flex-direction: row; + margin: auto; + text-align: center; + position: relative; +} + +.main_2 .w .left { + width: 350px; + height: 448px; + padding-top: 48px; +} + +.main_2 .w .left .top { + margin-bottom: 18px; + font-size: 24px; + color: #333; + text-align: left; +} + +.main_2 .w .right { + width: 842px; + height: 448px; + padding-top: 48px; + position: absolute; + right: 0px; + top:0px; + display: flex; + flex-direction: column; +} + +.main_2 .w .right .top { + width: 842px; + height: auto; + position: relative; + display: flex; + flex-direction: row; + margin-bottom: 18px; + line-height: 31px; +} + +.main_2 .w .right .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; + +} + +.main_2 .w .right .top p { + font-size: 18px; + color: #333; + padding-right: 15px; +} + +.main_2 .w .right .main { + width: 842px; + height: auto; + position: relative; + display: flex; + flex-direction: column; +} + +.main_2 .w .right .main .main_pic { + width: 842px; + height: 348px; +} + +.main_2 .w .right .main .btns { + width: 842px; + height: 50px; + display: flex; + flex-direction: row; +} + +.main_2 .w .right .main .btns img { + height: 50px; + margin-right: 7px; +} + +.main_3 { + width: 100%; + height: 494px; +} + +.main_3 .w { + width: 1230px; + height: 494px; + display: flex; + flex-direction: row; + margin: auto; + text-align: center; + position: relative; +} + +.main_3 .w .left { + width: 350px; + height: 442px; + padding-top: 52px; +} + +.main_3 .left .top { + width: 350px; + height: auto; + position: relative; + font-size: 24px; + text-align: left; +} + +.main_3 .left .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_3 .left .pic { + height: 119px; + width:349px; + margin-top: 20px; +} + +.main_3 .left .pic img { + height: 119px; + width:349px; +} + +.main_3 .center .top { + width: 458px; + height: auto; + position: relative; + font-size: 24px; + text-align: left; +} + +.main_3 .center .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_3 .w .center { + width: 458px; + height: 446px; + padding:48px 15px 0 38px; +} + +.main_3 .center .main { + width:458px; + height: auto; + position: relative; + text-align: left; +} + +.main_3 .center .main .kongbai { + height:31px; +} + +.main_3 .center .main .bigWord { + width: 100%; + height: 50px; + padding:19px 0; + font-size: 24px; + line-height: 20px; + margin-bottom: 15px; + font-weight: bold; + text-align: center; + border-bottom: 1px solid #ccc; +} + +.main_3 .center .main .bigWord a { + color: #654b25; +} + +.main_3 .center .main .bigWord p { + font-size: 14px; + color: #757575; + margin-top: 10px; +} + +.main_3 .center .main .item { + width:100%; +} + +.main_3 .center .main .item li { + width: 100%; + height: 20px; + padding:7px 0; + position: relative; +} + +.main_3 .center .main .item span { + position: absolute; + top:7px; + right:7px; + color: #565a68; +} + +.main_3 .center .main .item a { + color:#181a25; + display: block; + line-height: 20px; + height: 20px; + width: 370px; +} + +.main_3 .w .right { + width: 349px; + height: 446px; + padding-left: 20px; + padding-top: 48px; +} + +.main_3 .right .top { + width: 349px; + height: auto; + position: relative; + font-size: 24px; + text-align: left; +} + +.main_3 .right .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_3 .right .title { + width:349px; + height: 35px; + display: flex; + flex-direction: row; + margin-top: 20px; +} + +.main_3 .right .title .shijian { + width: 78px; + background-color: #e7e7e8; + line-height: 35px; + height: 35px; + text-align: center; +} + +.main_3 .right .title .saishi { + width: 78px; + background-color: #dddee0; + line-height: 35px; + height: 35px; + text-align: center; +} + +.main_3 .right .title .duizhen { + width: 193px; + background-color: #e7e7e8; + line-height: 35px; + height: 35px; + text-align: center; +} + +.main_3 .right .main { + width: 349px; + height: auto; + display: flex; + flex-direction: row; + background-color: #e7e7e8; +} + +.main_3 .right .main .shijian_item { + width: 78px; +} + +.main_3 .right .main .shijian_item li { + height: 35px; + line-height: 35px; + width: 78px; + color: #757575; +} + +.main_3 .right .main .saishi_item { + width: 78px; +} + +.main_3 .right .main .saishi_item li { + height: 35px; + line-height: 35px; + width: 78px; + color: #3d5591; +} + +.main_3 .right .main .duizhen_1, .main_3 .right .main .duizhen_2, .main_3 .right .main .duizhen_3{ + width: 58px; +} + +.main_3 .right .main .duizhen_1 li, .main_3 .right .main .duizhen_2 li, .main_3 .right .main .duizhen_3 li{ + height: 35px; + line-height: 35px; + width: 78px; + color: #333; +} +.main_3 .right .main .duizhen_2 li { + color: #757575; +} + +.main_3 .right .foot { + width: 349px; + height: 40px; + display: flex; + flex-direction: row; +} + +.main_3 .right .foot img { + height: 40px; + width: 174px; +} + +.main_4 { + width: 100%; + height: 472px; +} + +.main_4 .w { + width: 1230px; + height: 472px; + display: flex; + flex-direction: row; + margin: auto; + text-align: center; + position: relative; +} + +.main_4 .left { + width: 350px; + height: 424px; + padding-top: 48px; +} + +.main_4 .left .top { + width: 349px; + height: auto; + position: relative; + font-size: 24px; + text-align: left; +} + +.main_4 .left .main { + width: 349px; + margin-top: 20px; +} + +.main_4 .left .main .main_pic { + width: 350px; + height: 154px; + margin-bottom: 20px; +} + +.main_4 .left .main .picbox { + width: 350px; + height: 204px; + position: relative; +} + +.main_4 .left .main .picbox img { + width: 164px; + height: 92px; +} + +.main_4 .left .main .picbox .picbox_1 { + position: absolute; + top:0px; + left: 0px; +} + +.main_4 .left .main .picbox .picbox_2 { + position: absolute; + top:0px; + right: 0px; +} + +.main_4 .left .main .picbox .picbox_3 { + position: absolute; + bottom:0px; + left: 0px; +} + +.main_4 .left .main .picbox .picbox_4 { + position: absolute; + bottom:0px; + right: 0px; +} + +.main_4 .center { + width: 458px; + height: 424px; + padding:48px 15px 0 38px; + background-color: #fff; + text-align: left; +} + +.main_4 .center .top { + width: 458px; + height: auto; + position: relative; + font-size: 24px; +} + +.main_4 .center .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_4 .center .main { + width:458px; + height: auto; + position: relative; +} + +.main_4 .center .main .title { + margin-top: 20px; + height: 31px; + width: 100%; + border-bottom: 1px solid #ccc; +} + +.main_4 .center .main .title li { + float: left; + width: 54px; + height: 31px; + margin-right: 22px; + line-height: 30px; + text-align: center; +} + +.main_4 .center .main .title li a { + color: #181a25; +} + +.main_4 .center .main .bigWord { + width: 100%; + height: 50px; + padding:19px 0; + font-size: 24px; + line-height: 20px; + margin-bottom: 15px; + font-weight: bold; + text-align: center; + border-bottom: 1px solid #ccc; +} + +.main_4 .center .main .bigWord a { + color: #654b25; +} + +.main_4 .center .main .bigWord p { + font-size: 14px; + color: #757575; + margin-top: 10px; +} + +.main_4 .center .main .item { + width:100%; +} + +.main_4 .center .main .item li { + width: 100%; + height: 20px; + padding:7px 0; + position: relative; +} + +.main_4 .center .main .item span { + position: absolute; + top:7px; + right:7px; + color: #565a68; +} + +.main_4 .center .main .item a { + color:#181a25; + display: block; + line-height: 20px; + height: 20px; + width: 370px; +} + +.main_4 .right { + width: 349px; + height: 424px; + padding-top: 48px; + padding-left: 20px; + text-align: left; +} + +.main_4 .right .top { + width: 349px; + height: auto; + position: relative; + font-size: 24px; +} + +.main_4 .right .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; +} + +.main_4 .right .main .title { + margin-top: 20px; + height: 31px; + width: 100%; + border-bottom: 1px solid #ccc; +} + +.main_4 .right .main .title li { + float: left; + width: 80px; + height: 31px; + line-height: 30px; + text-align: center; +} + +.main_4 .right .main .title li a { + color: #181a25; +} + +.main_4 .right .main .jpgBox { + width: 369px; + height: 336px; + position: relative; + display: flex; + flex-direction: column; +} + +.main_4 .right .main .jpgBox .jpgBox_item { + height: 110px; + width: 100%; + position: relative; +} + +.main_4 .right .main .jpgBox .jpgBox_item .jpg_1 { + height: 90px; + width: 160px; + position: absolute; + top:20px; + left:12px; +} + +.main_4 .right .main .jpgBox .jpgBox_item .jpg_2 { + height: 90px; + width: 160px; + position: absolute; + top:20px; + right:28px; +} + +.footer_1 { + width: 100%; + height: 672px; + margin-top: 50px; + position: relative; + background: url(../images/footer_1/bg6.jpg) no-repeat center; +} + +.footer_1 .w { + width: 1230px; + height: 672px; + display: flex; + flex-direction: column; + margin: auto; + text-align: center; + position: relative; +} + +.footer_1 .up { + width: 100%; + height: 342px; + padding-top: 48px; + display: flex; + flex-direction: row; +} + +.footer_1 .up .left { + height: 342px; + width: 350px; +} + +.footer_1 .up .left .xinxi { + font-size: 24px; + height:30px; + width: 100%; + margin-bottom: 18px; + text-align: left; + color: #fff; +} + +.footer_1 .up .left .code { + width: 320px; + height: 270px; + background:url(../images/footer_1/download.jpg) no-repeat center; + padding-top:30px; + padding-left: 30px; + display: flex; + flex-direction: row; +} + +.footer_1 .up .left .code .code_left { + width: 130px; + margin-right: 28px; +} + +.footer_1 .up .left .code .code_left .word { + font-size: 12px; + text-align: center; + margin-top: 10px; + color: #fff; + line-height: 18px; +} + +.footer_1 .up .left .code .code_left .btn_1 { + width: 130px; + height: 28px; + margin-top: 16px; + margin-bottom: 9px; + display: block; + background-image: url(../images/footer_1/download.png); + background-repeat: no-repeat; + background-position:0px -28px; +} +.footer_1 .up .left .code .code_left .btn_2 { + width: 130px; + height: 28px; + margin-top: 16px; + margin-bottom: 9px; + display: block; + background-image: url(../images/footer_1/download.png); + background-repeat: no-repeat; + background-position:0px -84px; +} + +.footer_1 .up .left .code .code_right { + width: 130px; +} + +.footer_1 .up .left .code .code_right .word_1_1,.footer_1 .up .left .code .code_right .word_1_2 { + font-size: 12px; + text-align: center; + color: #fff; + line-height: 18px; +} + +.footer_1 .up .left .code .code_right .word_1_1 { + margin-top: 10px; +} + +.footer_1 .up .left .code .code_right .btn_1 { + width: 130px; + height: 28px; + margin-top: 16px; + margin-bottom: 9px; + display: block; + background-image: url(../images/footer_1/download.png); + background-repeat: no-repeat; + background-position:0px -56px; +} + +.footer_1 .up .left .code .code_right .word_2 { + font-size: 12px; + width: 220px; + text-align: left; + color: #fff; + margin-top: 20px; + margin-left: -15px; +} + +.footer_1 .up .right { + height: 342px; + width: 842px; + margin-left:38px; + display: flex; + flex-direction: column; +} + +.footer_1 .up .right .top { + width: 842px; + height: auto; + position: relative; + display: flex; + flex-direction: row; + margin-bottom: 18px; + line-height: 31px; +} + +.footer_1 .up .right .top a { + width: 61px; + height: 29px; + display: block; + background:url(../images/main_1/more.png) no-repeat; + position: absolute; + top:0px; + right: 0px; + +} + +.footer_1 .up .right .top p { + font-size: 18px; + color: #fff; + padding-right: 15px; +} + +.footer_1 .up .right .main { + width: 842px; + height: 300px; + display: flex; + flex-direction: row; +} + +.footer_1 .up .right .main .pic_1 { + background: url(../images/footer_1/main_1.jpg) no-repeat center; + height: 300px; + width: 408px; +} + +.footer_1 .up .right .main .pic_2 { + background: url(../images/footer_1/main_2.jpg) no-repeat center; + height: 300px; + width: 208px; +} + +.footer_1 .up .right .main .pic_3 { + height: 300px; + width: 225px; +} + +.footer_1 .up .right .main .pic_3 .pic_4 { + background: url(../images/footer_1/main_3.jpg) no-repeat center; + height: 150px; + width: 225px; +} + +.footer_1 .up .right .main .pic_3 .pic_5 { + background: url(../images/footer_1/main_4.jpg) no-repeat center; + height: 150px; + width: 225px; +} + +.footer_1 .down { + width: 100%; + height: 210px; + padding-top: 30px; + border-bottom: 5px solid #566e95; + display: flex; + flex-direction: column; +} + +.footer_1 .down .title { + width: 100%; + height: 30px; + margin-bottom: 18px; + color: #fff; + font-size: 24px; + text-align: left; +} + +.footer_1 .down .picBox { + width: 100%; + height: 153px; + padding-right:10px; + padding-bottom: 2px; + display: flex; + flex-direction: row; +} + +.footer_1 .down .picBox img { + height: 138px; + width: 307px; + display: block; +} + +.footer_2 { + width:100%; + height: 160px; + background: #000; + color: #959595; + position: relative; + padding-top: 40px; +} + +.footer_2 .w { + width: 1190px; + display: flex; + flex-direction: column; + margin: auto; + text-align: center; +} + +.footer_2 .item_1 { + width: 1100px; + height: auto; + display: flex; + flex-direction: row; + margin:auto; +} + +.footer_2 .item_1 .pic_1, .footer_2 .item_1 .pic_2 { + padding:0 12px; + height: 28px; +} + +.footer_2 .item_1 .words { + font-size: 12px; + color: #959595; + text-align: left; +} + +.footer_2 .item_2 { + font-size: 12px; + color: #555; + text-align: center; +} \ No newline at end of file diff --git a/CSGO/html/main.html b/CSGO/html/main.html new file mode 100644 index 0000000..f3fea1e --- /dev/null +++ b/CSGO/html/main.html @@ -0,0 +1,601 @@ + + + + + CSGO + + + +
+
+
+ + + +
+
+
+
+
+ 快速指引 + +
+
+
+
+
+
+ +
+ +
+
+ +
+
+ + 免费畅玩 +
+
+ + 账号注册 +
+
+ + 游戏充值 +
+
+
+
+ + 国际服回归 +
+
+ + 社区服 +
+
+ + 防沉迷登记 +
+
+
+
+ + 礼品码兑换 +
+
+ + 常见问题 +
+
+ + 完美对战平台 +
+
+
+
+ +
+
+
+
+ + 新手引导 +
+
+
+
+ + CS:GO特色 +
+
+
+
+ + 资料站 +
+
+
+
+ + 数据站 +
+
+
+
+
+
+ +
+
+
+
+
游戏资料
+ +
+ +
+
+
+ + 军衔|等级 +
+
+ + 武器箱|收藏品 +
+
+
+
+ + 音乐盒试听 +
+
+ + 荣誉展示品 +
+
+
+
+ +
+
+
活动中心
+ +
+
+
+
+
+
+
+ +
+
+
+
+ 热门推荐 +
+
+ + +
+
+
+
+

武器

+

|

+

模式

+

|

+

地图

+ +
+
+ +
+ + + + + + + + + + +
+
+
+
+
+ +
+
+
+
+
电竞赛事
+ +
+
+
+
+
+ +
+
+
赛事动态
+ +
+
+
时间
+
赛事
+
对阵
+
+
+
    +
  • 01-23
  • +
  • 01-23
  • +
  • 01-23
  • +
  • 01-23
  • +
  • 01-23
  • +
  • 01-23
  • +
  • 01-23
  • +
  • 01-23
  • +
  • 01-22
  • +
+
    +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
  • ELEAGUE
  • +
+
    +
  • mouz
  • +
  • Vega
  • +
  • Fnatic
  • +
  • Fnatic
  • +
  • Gambit
  • +
  • Liquid
  • +
  • Ast
  • +
  • QBFIRE
  • +
  • SS
  • +
+
    +
  • 16:13
  • +
  • 4:16
  • +
  • 16:2
  • +
  • 7:16
  • +
  • 10:16
  • +
  • 12:16
  • +
  • 6:16
  • +
  • 16:14
  • +
  • 16:8
  • +
+
    +
  • SS
  • +
  • C9
  • +
  • Gambit
  • +
  • NA VI
  • +
  • SK
  • +
  • Vega
  • +
  • C9
  • +
  • mouz
  • +
  • BIG
  • +
+
+
+ + +
+
+
+
+
+
+
+
+
游戏直播
+
+
+ +
+ + + + +
+
+
+ +
+
+
攻略分享
+ +
+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/CSGO/images/footer_1/bg6.jpg b/CSGO/images/footer_1/bg6.jpg new file mode 100644 index 0000000..bb87a16 Binary files /dev/null and b/CSGO/images/footer_1/bg6.jpg differ diff --git a/CSGO/images/footer_1/download.jpg b/CSGO/images/footer_1/download.jpg new file mode 100644 index 0000000..e2d9b09 Binary files /dev/null and b/CSGO/images/footer_1/download.jpg differ diff --git a/CSGO/images/footer_1/download.png b/CSGO/images/footer_1/download.png new file mode 100644 index 0000000..c42f7d4 Binary files /dev/null and b/CSGO/images/footer_1/download.png differ diff --git a/CSGO/images/footer_1/main_1.jpg b/CSGO/images/footer_1/main_1.jpg new file mode 100644 index 0000000..5240fa7 Binary files /dev/null and b/CSGO/images/footer_1/main_1.jpg differ diff --git a/CSGO/images/footer_1/main_2.jpg b/CSGO/images/footer_1/main_2.jpg new file mode 100644 index 0000000..ec21116 Binary files /dev/null and b/CSGO/images/footer_1/main_2.jpg differ diff --git a/CSGO/images/footer_1/main_3.jpg b/CSGO/images/footer_1/main_3.jpg new file mode 100644 index 0000000..3c42a45 Binary files /dev/null and b/CSGO/images/footer_1/main_3.jpg differ diff --git a/CSGO/images/footer_1/main_4.jpg b/CSGO/images/footer_1/main_4.jpg new file mode 100644 index 0000000..d7187c8 Binary files /dev/null and b/CSGO/images/footer_1/main_4.jpg differ diff --git a/CSGO/images/footer_1/more.png b/CSGO/images/footer_1/more.png new file mode 100644 index 0000000..3c0ad84 Binary files /dev/null and b/CSGO/images/footer_1/more.png differ diff --git a/CSGO/images/footer_1/pic_1.jpg b/CSGO/images/footer_1/pic_1.jpg new file mode 100644 index 0000000..f22c070 Binary files /dev/null and b/CSGO/images/footer_1/pic_1.jpg differ diff --git a/CSGO/images/footer_1/pic_2.jpg b/CSGO/images/footer_1/pic_2.jpg new file mode 100644 index 0000000..a4afe01 Binary files /dev/null and b/CSGO/images/footer_1/pic_2.jpg differ diff --git a/CSGO/images/footer_1/pic_3.jpg b/CSGO/images/footer_1/pic_3.jpg new file mode 100644 index 0000000..1419985 Binary files /dev/null and b/CSGO/images/footer_1/pic_3.jpg differ diff --git a/CSGO/images/footer_1/pic_4.jpg b/CSGO/images/footer_1/pic_4.jpg new file mode 100644 index 0000000..208c759 Binary files /dev/null and b/CSGO/images/footer_1/pic_4.jpg differ diff --git a/CSGO/images/footer_1/weibo.jpg b/CSGO/images/footer_1/weibo.jpg new file mode 100644 index 0000000..9ade559 Binary files /dev/null and b/CSGO/images/footer_1/weibo.jpg differ diff --git a/CSGO/images/footer_1/weixin.jpg b/CSGO/images/footer_1/weixin.jpg new file mode 100644 index 0000000..7923e0a Binary files /dev/null and b/CSGO/images/footer_1/weixin.jpg differ diff --git a/CSGO/images/footer_2/code_bg.jpg b/CSGO/images/footer_2/code_bg.jpg new file mode 100644 index 0000000..e2d9b09 Binary files /dev/null and b/CSGO/images/footer_2/code_bg.jpg differ diff --git a/CSGO/images/footer_2/logo-valve.png b/CSGO/images/footer_2/logo-valve.png new file mode 100644 index 0000000..7b29b38 Binary files /dev/null and b/CSGO/images/footer_2/logo-valve.png differ diff --git a/CSGO/images/footer_2/logo-wanmei20180327.png b/CSGO/images/footer_2/logo-wanmei20180327.png new file mode 100644 index 0000000..6d3a1dd Binary files /dev/null and b/CSGO/images/footer_2/logo-wanmei20180327.png differ diff --git a/CSGO/images/head_1/bg_nav_btn.jpg b/CSGO/images/head_1/bg_nav_btn.jpg new file mode 100644 index 0000000..fb341bd Binary files /dev/null and b/CSGO/images/head_1/bg_nav_btn.jpg differ diff --git a/CSGO/images/head_1/cslogo.png b/CSGO/images/head_1/cslogo.png new file mode 100644 index 0000000..0494b1b Binary files /dev/null and b/CSGO/images/head_1/cslogo.png differ diff --git a/CSGO/images/head_1/icon_navBtn.png b/CSGO/images/head_1/icon_navBtn.png new file mode 100644 index 0000000..171a99c Binary files /dev/null and b/CSGO/images/head_1/icon_navBtn.png differ diff --git a/CSGO/images/head_2/btn_float2.jpg b/CSGO/images/head_2/btn_float2.jpg new file mode 100644 index 0000000..98db282 Binary files /dev/null and b/CSGO/images/head_2/btn_float2.jpg differ diff --git a/CSGO/images/head_2/dota2_icon.png b/CSGO/images/head_2/dota2_icon.png new file mode 100644 index 0000000..536f1f0 Binary files /dev/null and b/CSGO/images/head_2/dota2_icon.png differ diff --git a/CSGO/images/head_2/dota2_icon_h.png b/CSGO/images/head_2/dota2_icon_h.png new file mode 100644 index 0000000..4ec982c Binary files /dev/null and b/CSGO/images/head_2/dota2_icon_h.png differ diff --git a/CSGO/images/head_2/down_icon.png b/CSGO/images/head_2/down_icon.png new file mode 100644 index 0000000..2e7fa5a Binary files /dev/null and b/CSGO/images/head_2/down_icon.png differ diff --git a/CSGO/images/head_2/down_icon_h.png b/CSGO/images/head_2/down_icon_h.png new file mode 100644 index 0000000..bb7a4c9 Binary files /dev/null and b/CSGO/images/head_2/down_icon_h.png differ diff --git a/CSGO/images/head_2/download.jpg b/CSGO/images/head_2/download.jpg new file mode 100644 index 0000000..72e77a1 Binary files /dev/null and b/CSGO/images/head_2/download.jpg differ diff --git a/CSGO/images/head_2/download.png b/CSGO/images/head_2/download.png new file mode 100644 index 0000000..f259a90 Binary files /dev/null and b/CSGO/images/head_2/download.png differ diff --git a/CSGO/images/head_2/icon_bg.jpg b/CSGO/images/head_2/icon_bg.jpg new file mode 100644 index 0000000..12d78f4 Binary files /dev/null and b/CSGO/images/head_2/icon_bg.jpg differ diff --git a/CSGO/images/head_2/icon_bg2.jpg b/CSGO/images/head_2/icon_bg2.jpg new file mode 100644 index 0000000..38ff69c Binary files /dev/null and b/CSGO/images/head_2/icon_bg2.jpg differ diff --git a/CSGO/images/head_2/icon_bg2_h.jpg b/CSGO/images/head_2/icon_bg2_h.jpg new file mode 100644 index 0000000..e660a16 Binary files /dev/null and b/CSGO/images/head_2/icon_bg2_h.jpg differ diff --git a/CSGO/images/head_2/icon_bg_h.jpg b/CSGO/images/head_2/icon_bg_h.jpg new file mode 100644 index 0000000..ad73cea Binary files /dev/null and b/CSGO/images/head_2/icon_bg_h.jpg differ diff --git a/CSGO/images/head_2/key_btn.jpg b/CSGO/images/head_2/key_btn.jpg new file mode 100644 index 0000000..97024de Binary files /dev/null and b/CSGO/images/head_2/key_btn.jpg differ diff --git a/CSGO/images/head_2/login_icon.png b/CSGO/images/head_2/login_icon.png new file mode 100644 index 0000000..7026df9 Binary files /dev/null and b/CSGO/images/head_2/login_icon.png differ diff --git a/CSGO/images/head_2/login_icon_h.png b/CSGO/images/head_2/login_icon_h.png new file mode 100644 index 0000000..be8a4f9 Binary files /dev/null and b/CSGO/images/head_2/login_icon_h.png differ diff --git a/CSGO/images/head_2/newhand_icon.png b/CSGO/images/head_2/newhand_icon.png new file mode 100644 index 0000000..25d44f4 Binary files /dev/null and b/CSGO/images/head_2/newhand_icon.png differ diff --git a/CSGO/images/head_2/newhand_icon_h.png b/CSGO/images/head_2/newhand_icon_h.png new file mode 100644 index 0000000..6e60934 Binary files /dev/null and b/CSGO/images/head_2/newhand_icon_h.png differ diff --git a/CSGO/images/head_2/pay_icon.png b/CSGO/images/head_2/pay_icon.png new file mode 100644 index 0000000..5fcac1b Binary files /dev/null and b/CSGO/images/head_2/pay_icon.png differ diff --git a/CSGO/images/head_2/pay_icon_h.png b/CSGO/images/head_2/pay_icon_h.png new file mode 100644 index 0000000..340a793 Binary files /dev/null and b/CSGO/images/head_2/pay_icon_h.png differ diff --git a/CSGO/images/head_2/plat_icon.png b/CSGO/images/head_2/plat_icon.png new file mode 100644 index 0000000..5de8977 Binary files /dev/null and b/CSGO/images/head_2/plat_icon.png differ diff --git a/CSGO/images/head_2/plat_icon_h.png b/CSGO/images/head_2/plat_icon_h.png new file mode 100644 index 0000000..2ed4d5a Binary files /dev/null and b/CSGO/images/head_2/plat_icon_h.png differ diff --git a/CSGO/images/head_2/ppap.jpg b/CSGO/images/head_2/ppap.jpg new file mode 100644 index 0000000..2fd1f45 Binary files /dev/null and b/CSGO/images/head_2/ppap.jpg differ diff --git a/CSGO/images/head_2/question_icon.png b/CSGO/images/head_2/question_icon.png new file mode 100644 index 0000000..6d4cdcb Binary files /dev/null and b/CSGO/images/head_2/question_icon.png differ diff --git a/CSGO/images/head_2/question_icon_h.png b/CSGO/images/head_2/question_icon_h.png new file mode 100644 index 0000000..dd9deef Binary files /dev/null and b/CSGO/images/head_2/question_icon_h.png differ diff --git a/CSGO/images/head_2/shequ_icon.png b/CSGO/images/head_2/shequ_icon.png new file mode 100644 index 0000000..af1648f Binary files /dev/null and b/CSGO/images/head_2/shequ_icon.png differ diff --git a/CSGO/images/head_2/shequ_icon_h.png b/CSGO/images/head_2/shequ_icon_h.png new file mode 100644 index 0000000..506d9bd Binary files /dev/null and b/CSGO/images/head_2/shequ_icon_h.png differ diff --git a/CSGO/images/head_2/special_icon.png b/CSGO/images/head_2/special_icon.png new file mode 100644 index 0000000..d4aeb0d Binary files /dev/null and b/CSGO/images/head_2/special_icon.png differ diff --git a/CSGO/images/head_2/special_icon_h.png b/CSGO/images/head_2/special_icon_h.png new file mode 100644 index 0000000..c3a8f39 Binary files /dev/null and b/CSGO/images/head_2/special_icon_h.png differ diff --git a/CSGO/images/head_2/user_icon.png b/CSGO/images/head_2/user_icon.png new file mode 100644 index 0000000..cac3102 Binary files /dev/null and b/CSGO/images/head_2/user_icon.png differ diff --git a/CSGO/images/head_2/user_icon_h.png b/CSGO/images/head_2/user_icon_h.png new file mode 100644 index 0000000..f3425cc Binary files /dev/null and b/CSGO/images/head_2/user_icon_h.png differ diff --git a/CSGO/images/head_2/zhanji_icon.png b/CSGO/images/head_2/zhanji_icon.png new file mode 100644 index 0000000..06f2457 Binary files /dev/null and b/CSGO/images/head_2/zhanji_icon.png differ diff --git a/CSGO/images/head_2/zhanji_icon_h.png b/CSGO/images/head_2/zhanji_icon_h.png new file mode 100644 index 0000000..fc79713 Binary files /dev/null and b/CSGO/images/head_2/zhanji_icon_h.png differ diff --git a/CSGO/images/head_2/ziliao_icon.png b/CSGO/images/head_2/ziliao_icon.png new file mode 100644 index 0000000..ee50ba2 Binary files /dev/null and b/CSGO/images/head_2/ziliao_icon.png differ diff --git a/CSGO/images/head_2/ziliao_icon_h.png b/CSGO/images/head_2/ziliao_icon_h.png new file mode 100644 index 0000000..a61c6d5 Binary files /dev/null and b/CSGO/images/head_2/ziliao_icon_h.png differ diff --git a/CSGO/images/head_2/zoom_icon.png b/CSGO/images/head_2/zoom_icon.png new file mode 100644 index 0000000..56c18c0 Binary files /dev/null and b/CSGO/images/head_2/zoom_icon.png differ diff --git a/CSGO/images/head_2/zoom_icon_h.png b/CSGO/images/head_2/zoom_icon_h.png new file mode 100644 index 0000000..4bd1ab3 Binary files /dev/null and b/CSGO/images/head_2/zoom_icon_h.png differ diff --git a/CSGO/images/main_1/junxian.png b/CSGO/images/main_1/junxian.png new file mode 100644 index 0000000..d3d7088 Binary files /dev/null and b/CSGO/images/main_1/junxian.png differ diff --git a/CSGO/images/main_1/main_1.jpg b/CSGO/images/main_1/main_1.jpg new file mode 100644 index 0000000..6d3a120 Binary files /dev/null and b/CSGO/images/main_1/main_1.jpg differ diff --git a/CSGO/images/main_1/main_2.png b/CSGO/images/main_1/main_2.png new file mode 100644 index 0000000..c7cf291 Binary files /dev/null and b/CSGO/images/main_1/main_2.png differ diff --git a/CSGO/images/main_1/main_3.png b/CSGO/images/main_1/main_3.png new file mode 100644 index 0000000..6ee1f9c Binary files /dev/null and b/CSGO/images/main_1/main_3.png differ diff --git a/CSGO/images/main_1/more.png b/CSGO/images/main_1/more.png new file mode 100644 index 0000000..3c0ad84 Binary files /dev/null and b/CSGO/images/main_1/more.png differ diff --git a/CSGO/images/main_1/rongyu.png b/CSGO/images/main_1/rongyu.png new file mode 100644 index 0000000..e43795b Binary files /dev/null and b/CSGO/images/main_1/rongyu.png differ diff --git a/CSGO/images/main_1/wuqi.png b/CSGO/images/main_1/wuqi.png new file mode 100644 index 0000000..1839df7 Binary files /dev/null and b/CSGO/images/main_1/wuqi.png differ diff --git a/CSGO/images/main_1/yinyue.png b/CSGO/images/main_1/yinyue.png new file mode 100644 index 0000000..963a51e Binary files /dev/null and b/CSGO/images/main_1/yinyue.png differ diff --git a/CSGO/images/main_2/left.jpg b/CSGO/images/main_2/left.jpg new file mode 100644 index 0000000..ca5f3d5 Binary files /dev/null and b/CSGO/images/main_2/left.jpg differ diff --git a/CSGO/images/main_2/main_1.jpg b/CSGO/images/main_2/main_1.jpg new file mode 100644 index 0000000..f6633e4 Binary files /dev/null and b/CSGO/images/main_2/main_1.jpg differ diff --git a/CSGO/images/main_2/main_2.jpg b/CSGO/images/main_2/main_2.jpg new file mode 100644 index 0000000..24e7e91 Binary files /dev/null and b/CSGO/images/main_2/main_2.jpg differ diff --git a/CSGO/images/main_2/more.png b/CSGO/images/main_2/more.png new file mode 100644 index 0000000..3c0ad84 Binary files /dev/null and b/CSGO/images/main_2/more.png differ diff --git a/CSGO/images/main_2/right.jpg b/CSGO/images/main_2/right.jpg new file mode 100644 index 0000000..7487367 Binary files /dev/null and b/CSGO/images/main_2/right.jpg differ diff --git a/CSGO/images/main_2/sj_top.png b/CSGO/images/main_2/sj_top.png new file mode 100644 index 0000000..7840134 Binary files /dev/null and b/CSGO/images/main_2/sj_top.png differ diff --git a/CSGO/images/main_2/sq01.jpg b/CSGO/images/main_2/sq01.jpg new file mode 100644 index 0000000..96e7201 Binary files /dev/null and b/CSGO/images/main_2/sq01.jpg differ diff --git a/CSGO/images/main_2/sq_icon01.jpg b/CSGO/images/main_2/sq_icon01.jpg new file mode 100644 index 0000000..6f1d7b8 Binary files /dev/null and b/CSGO/images/main_2/sq_icon01.jpg differ diff --git a/CSGO/images/main_2/sq_icon02.jpg b/CSGO/images/main_2/sq_icon02.jpg new file mode 100644 index 0000000..9bfee2b Binary files /dev/null and b/CSGO/images/main_2/sq_icon02.jpg differ diff --git a/CSGO/images/main_2/sq_icon03.jpg b/CSGO/images/main_2/sq_icon03.jpg new file mode 100644 index 0000000..522ebf8 Binary files /dev/null and b/CSGO/images/main_2/sq_icon03.jpg differ diff --git a/CSGO/images/main_2/sq_icon04.jpg b/CSGO/images/main_2/sq_icon04.jpg new file mode 100644 index 0000000..27de0f8 Binary files /dev/null and b/CSGO/images/main_2/sq_icon04.jpg differ diff --git a/CSGO/images/main_2/sq_icon05.jpg b/CSGO/images/main_2/sq_icon05.jpg new file mode 100644 index 0000000..ef05f93 Binary files /dev/null and b/CSGO/images/main_2/sq_icon05.jpg differ diff --git a/CSGO/images/main_2/sq_icon06.jpg b/CSGO/images/main_2/sq_icon06.jpg new file mode 100644 index 0000000..f549ef1 Binary files /dev/null and b/CSGO/images/main_2/sq_icon06.jpg differ diff --git a/CSGO/images/main_2/sq_icon07.jpg b/CSGO/images/main_2/sq_icon07.jpg new file mode 100644 index 0000000..81e0939 Binary files /dev/null and b/CSGO/images/main_2/sq_icon07.jpg differ diff --git a/CSGO/images/main_2/sq_icon08.jpg b/CSGO/images/main_2/sq_icon08.jpg new file mode 100644 index 0000000..c21970e Binary files /dev/null and b/CSGO/images/main_2/sq_icon08.jpg differ diff --git a/CSGO/images/main_3/main_1.jpg b/CSGO/images/main_3/main_1.jpg new file mode 100644 index 0000000..78f09ab Binary files /dev/null and b/CSGO/images/main_3/main_1.jpg differ diff --git a/CSGO/images/main_3/main_2.png b/CSGO/images/main_3/main_2.png new file mode 100644 index 0000000..576c498 Binary files /dev/null and b/CSGO/images/main_3/main_2.png differ diff --git a/CSGO/images/main_3/main_3.png b/CSGO/images/main_3/main_3.png new file mode 100644 index 0000000..a66c4e0 Binary files /dev/null and b/CSGO/images/main_3/main_3.png differ diff --git a/CSGO/images/main_3/more.png b/CSGO/images/main_3/more.png new file mode 100644 index 0000000..3c0ad84 Binary files /dev/null and b/CSGO/images/main_3/more.png differ diff --git a/CSGO/images/main_3/next.jpg b/CSGO/images/main_3/next.jpg new file mode 100644 index 0000000..3224839 Binary files /dev/null and b/CSGO/images/main_3/next.jpg differ diff --git a/CSGO/images/main_3/prev.jpg b/CSGO/images/main_3/prev.jpg new file mode 100644 index 0000000..34a41b6 Binary files /dev/null and b/CSGO/images/main_3/prev.jpg differ diff --git a/CSGO/images/main_4/10691505391430483.jpg b/CSGO/images/main_4/10691505391430483.jpg new file mode 100644 index 0000000..44dc3b6 Binary files /dev/null and b/CSGO/images/main_4/10691505391430483.jpg differ diff --git a/CSGO/images/main_4/10691505391430939.jpg b/CSGO/images/main_4/10691505391430939.jpg new file mode 100644 index 0000000..ec3a062 Binary files /dev/null and b/CSGO/images/main_4/10691505391430939.jpg differ diff --git a/CSGO/images/main_4/10691506509230569.jpg b/CSGO/images/main_4/10691506509230569.jpg new file mode 100644 index 0000000..cc21a03 Binary files /dev/null and b/CSGO/images/main_4/10691506509230569.jpg differ diff --git a/CSGO/images/main_4/box_1.jpg b/CSGO/images/main_4/box_1.jpg new file mode 100644 index 0000000..1186006 Binary files /dev/null and b/CSGO/images/main_4/box_1.jpg differ diff --git a/CSGO/images/main_4/box_2.jpg b/CSGO/images/main_4/box_2.jpg new file mode 100644 index 0000000..5b02fd1 Binary files /dev/null and b/CSGO/images/main_4/box_2.jpg differ diff --git a/CSGO/images/main_4/box_3.jpg b/CSGO/images/main_4/box_3.jpg new file mode 100644 index 0000000..bae00a1 Binary files /dev/null and b/CSGO/images/main_4/box_3.jpg differ diff --git a/CSGO/images/main_4/box_4.jpg b/CSGO/images/main_4/box_4.jpg new file mode 100644 index 0000000..9b43497 Binary files /dev/null and b/CSGO/images/main_4/box_4.jpg differ diff --git a/CSGO/images/main_4/box_5.jpg b/CSGO/images/main_4/box_5.jpg new file mode 100644 index 0000000..236ee4c Binary files /dev/null and b/CSGO/images/main_4/box_5.jpg differ diff --git a/CSGO/images/main_4/box_6.jpg b/CSGO/images/main_4/box_6.jpg new file mode 100644 index 0000000..ce03ae3 Binary files /dev/null and b/CSGO/images/main_4/box_6.jpg differ diff --git a/CSGO/images/main_4/main_1.jpg b/CSGO/images/main_4/main_1.jpg new file mode 100644 index 0000000..85d1bca Binary files /dev/null and b/CSGO/images/main_4/main_1.jpg differ diff --git a/CSGO/images/main_4/main_2.jpg b/CSGO/images/main_4/main_2.jpg new file mode 100644 index 0000000..9098f8c Binary files /dev/null and b/CSGO/images/main_4/main_2.jpg differ diff --git a/CSGO/images/main_4/main_3.jpg b/CSGO/images/main_4/main_3.jpg new file mode 100644 index 0000000..874ea47 Binary files /dev/null and b/CSGO/images/main_4/main_3.jpg differ diff --git a/CSGO/images/main_4/main_4.jpg b/CSGO/images/main_4/main_4.jpg new file mode 100644 index 0000000..ef49c1e Binary files /dev/null and b/CSGO/images/main_4/main_4.jpg differ diff --git a/CSGO/images/main_4/main_5.jpg b/CSGO/images/main_4/main_5.jpg new file mode 100644 index 0000000..3a8a6c6 Binary files /dev/null and b/CSGO/images/main_4/main_5.jpg differ diff --git a/CSGO/images/main_4/more.png b/CSGO/images/main_4/more.png new file mode 100644 index 0000000..3c0ad84 Binary files /dev/null and b/CSGO/images/main_4/more.png differ diff --git a/JD/css/jd.css b/JD/css/jd.css new file mode 100644 index 0000000..c0912d4 --- /dev/null +++ b/JD/css/jd.css @@ -0,0 +1,1088 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.spacer { + overflow: hidden; + margin-top: 15px; + margin-left: 20px; + margin-right: -10px; + width: 1px; + height: 15px; + background-color: #ccc; + float: left; +} + +.wrapper { + +} + +.header_top { + position: relative; +} + +.bannerBox { + height: 80px; + width: 100%; + background-color: #1b212f; +} + +.w { + width: 1190px; + margin :auto; + position: relative; +} + +.nav { + width:100%; + height:30px; + border-bottom:1px solid #ddd; + background:#e3e4e5; + position: relative; +} +.logo { + width:190px; + height:170px; + overflow:hidden; + position:absolute; + left:0px; + top:0px; + z-index: 100; + box-shadow:0 -12px 10px rgba(0,0,0,.2); +} +.address { + margin-left:200px; + display:inline-block; + widows:65px; + height:30px; + line-height:30px; + text-align:center; + color:#999; +} +.nav ul { + float:right; +} +.nav ul li { + float:left; + height:30px; + line-height:30px; + color:#999; + font-size:12px; +} +.nav ul li a { + color:#999; + padding:0px 10px; + font-size:12px; +} +.nav ul li a.cur { + color:red; +} +.nav ul li a:hover { + color:red; +} + +.header_center { + height: 140px; + background-color: #ebeaea; + position: relative; +} + +.searchBox { + position: relative; + left: 320px; + top:25px; + height: 35px; + line-height: 35px; +} + +.search_background { + background-color: #fff; + height: 35px; + width: 500px; + position: relative; +} +.search_background .text { + border:none; + height:25px; + width:450px; + margin-top: 5px; + margin-bottom: 5px; + margin-left: 5px; +} + +.cameraPic { + background-image:url(../images/camera.png); + width: 19px; + height: 15px; + overflow: hidden; + position: absolute; + display: block; + position: absolute; + right: 15px; + top:10px; +} + +.cameraPic:hover { + background-position: -30px 0px; +} + +.search_btn { + height: 35px; + width: 50px; + background-color: red; + display: block; + position: absolute; + right: -50px; + top:0px; + color: #fff; + font-size: 14px; + text-align:center; +} + +.cartBox { + width: 188px; + height: 33px; + border:1px solid #ccc; + background-color: #fff; + position: absolute; + right:99px; + top:25px; + text-align: center; + line-height: 33px; +} + +.cartBox img { + height: 23px; + width: 23px; + position: relative; + top:5px; +} + +.cartBox span { + background-color: red; + color: #fff; + font-size: 8px; + margin-bottom: 5px; + display: block; + position: absolute; + right:25px; + height:15px; + width: 15px; + top:3px; + text-align: center; + line-height: 15px; + border-radius: 50%; +} + + +.cartBox a { + color: red; +} + + +.cartBox img,.cartBox span .cartBox a { + vertical-align:baseline; +} + +.code { + height: 68px; + width: 68px; + border: 1px #cfcfcf solid; + position: absolute; + right:0px; + top:0px; + background-color: #eee; + line-height: 68px; + text-align: center; +} + +.code img { + height: 64px; + width: 64px; +} + +.underSearchText { + position: absolute; + left: 313px; + top:57px; +} + +.underSearchText ul { + float: right; +} + +.underSearchText ul li { + float:left; + height:30px; + line-height:30px; + color:#999; + font-size:10px; +} + +.underSearchText ul li a { + color:#999; + padding:0px 6px; + font-size:10px; +} + +.underSearchText ul li a.cur { + color:red; +} + +.underSearchText ul li a:hover { + color:red; +} + +.underSearchBigText { + position: absolute; + left: 210px; + top:100px; +} + +.underSearchBigText ul { + float: right; +} + +.underSearchBigText ul li { + float:left; + height:30px; + line-height:30px; + color:#000; + font-size:14px; +} + +.underSearchBigText ul li a { + color:#000; + padding:0px 16px; + font-size:14px; +} + +.underSearchBigText ul li a:hover { + color:red; +} + +.item { + width:100%; + background-color: #ebeaea; + position: relative; +} + +.item_1_background { + width: 190px; + background-color: #fff; + position: relative; + top:0px; + left: 0px; + height: 460px; + padding:10px 0px; +} + +.item_1 { + position: absolute; + left:18px; + top:10px; +} + +.item_1 li { + font-size: 14px; + line-height: 27px; + text-align: left; +} + +.item_1 a { + color: #666; + letter-spacing:-1px; +} + +.item_1 a:hover { + color: red; +} + +.item_2 { + position: absolute; + left: 200px; + top:10px; + height: 470px; + width: 590px; +} + +.item_3 { + position: absolute; + left:800px; + top:10px; + width: 190px; +} + +.showpic { + margin-top: 6px; +} + +.item_4_background { + position: absolute; + top:10px; + right:0px; + background-color:#fff; + height:470px; + width: 190px; +} + +.item_4_1 { +} + +.item_4_1 .show4_1 { + height: 55px; + width: 55px; + border: 5px solid #e3e1df; + border-radius: 50%; + box-shadow: 3px 6px 25px #c3c3c3; + position: relative; + margin:auto; + top:-10px; +} + +.item_4_1 .show4_1 img { + height: 55px; + width: 55px; + border-radius: 50%; +} + +.item_4_1_text text { + display: block; + height: 15px; + font-size: 12px; + line-height: 15px; + text-align: center; + margin-top: 0px; + color: #888; +} + +.item_4_1_text_a { + text-align: center; +} + +.item_4_1_text_a a{ + height: 15px; + font-size: 12px; + line-height: 15px; + margin-top: 5px; + color: #666; +} + +.item_4_1_text a:hover { + color: red; +} + +.item_4_1_btn { + position: relative; + margin-top: 10px; +} + +.item_4_1_btn_1 { + position: relative; + left:10px; + display: block; + height: 25px; + width: 70px; + background-color: #fff; + border:none; + border-radius: 13px; + text-align: center; + color: red; + margin-left: 10px; + line-height: 25px; + box-shadow: 6px 8px 20px rgba(45,45,45,0.15); +} + +.item_4_1_btn_2 { + position:absolute; + top:0px; + right:20px; + display: block; + height: 25px; + width: 70px; + background-color: #363634; + border:none; + border-radius: 13px; + text-align: center; + color: #e5d790; + margin-left: 10px; + line-height: 25px; + box-shadow: 6px 8px 20px rgba(45,45,45,0.15); +} + +.item_4_1_btn a:hover { + background-color: red; + color: #fff; +} + +.item_4_2 { + position: relative; + top:20px; +} + +.item_4_2_title { + position: relative; + height:13px; + font-size: 12px; + line-height: 13px; +} + +.item_4_2_title_1 { + position: absolute; + top:0px; + left:13px; + display: block; + height :13px; + width: 35px; + color: #333; + border-right:1px solid #dfe0e1; +} + +.item_4_2_title_2 { + position: absolute; + top:0px; + left:60px; + display: block; + height :13px; + color: #333; +} + +.item_4_2_title_3 { + position: absolute; + top:0px; + right:20px; + display: block; + height :13px; + color: #333; +} + +.under_item_4_2_title_1 { + position: absolute; + left:12px; + top: 15px; + height: 2px; + width: 27px; + background-color: red; +} + +.item_4_2_item { + margin-left: 13px; + margin-top: 20px; +} + +.item_4_2_item a { + display: block; + height: 22px; + max-width:160px; + font-size: 12px; + color: #666; +} + +.item_4_2_item a:hover { + color: red; +} + +.item_4_3 { + position: absolute; + left:13px; + top: 280px; + padding-top: 20px; + border-top: 1px #eee solid; + height: 190px; + width: 160px; +} + +.miaosha_background { + position: relative; + width:100%; + height: 300px; + background-color: #ebeaea; +} + +.miaosha { + position: relative; + top:25px; + left: 0px; +} + +.miaosha1 { + width: 190px; + height: 275px; + background-color: #e83632; + position: relative; + text-align: center; +} + +.miaosha1_title { + position: relative; + top:42px; + font-size: 34px; + color: #fff; +} + +.miaosha1_text1 { + + position: relative; + top:48px; + font-size: 20px; + color: #eee; +} + +.miaosha1_pic { + position: relative; + top:50px; + left: 80px; + background-image: url(../images/show5_1.png); + height: 37px; + width: 27px; + overflow: hidden; + display: block; +} + +.miaosha1_text2 { + position: relative; + top:70px; + left:0px; + color: #fff; + height:20px; + line-height: 20px; + text-align: center; +} + +.miaosha1_pic2 { + position: absolute; + top:200px; + left: 20px; + background-image: url(../images/time.png); + height: 62px; + width: 145px; + overflow: hidden; + display: block; +} + +.miaosha2 { + position: relative; + width: 200px; + height: 273px; + background-color: #fff; + border:1px solid #eee; + position: absolute; + top:0px; + left: 190px; +} + + +.miaosha3 { + position: relative; + width: 200px; + height: 273px; + background-color: #fff; + border:1px solid #eee; + position: absolute; + top:0px; + left: 390px; +} + +.miaosha4 { + position: relative; + width: 200px; + height: 273px; + background-color: #fff; + border:1px solid #eee; + position: absolute; + top:0px; + left: 590px; +} + +.miaosha5 { + position: relative; + width: 200px; + height: 273px; + background-color: #fff; + border:1px solid #eee; + position: absolute; + top:0px; + left: 790px; +} + +.miaosha6 { + position: relative; + width: 200px; + height: 273px; + background-color: #fff; + border:1px solid #eee; + position: absolute; + top:0px; + left: 990px; +} + +.miaosha2_pic { + background-image: url(../images/show6_1.jpg); + height: 140px; + width: 140px; + position: absolute; + top:40px; + left: 30px; +} + +.miaosha2_text { + position: absolute; + top:200px; + left: 40px; + font-size: 12px; + color: #000; +} + +a.miaosha2_text:hover { + color: red; +} + +.miaosha2_btn { + position: relative; + width: 160px; + height: 20px; +} + +.miaosha2_btn1 { + position: absolute; + top:230px; + left:20px; + width: 78px; + height: 20px; + border:1px solid #e83632; + background-color:#e83632; + font-size: 14px; + line-height: 20px; + text-align: center; + color: #fff; + font-weight: 700; +} + +.miaosha2_btn2 { + position: absolute; + top:230px; + left:100px; + width: 78px; + height: 20px; + border:1px solid #e83632; + background-color: #fff; + font-size: 12px; + line-height: 20px; + text-align: center; + color: #ccc; + text-decoration: line-through; +} + +.miaosha3_pic { + background-image: url(../images/show6_2.jpg); + height: 140px; + width: 140px; + position: absolute; + top:40px; + left: 30px; +} + +.miaosha4_pic { + background-image: url(../images/show6_3.jpg); + height: 140px; + width: 140px; + position: absolute; + top:40px; + left: 30px; +} + +.miaosha5_pic { + background-image: url(../images/show6_4.jpg); + height: 140px; + width: 140px; + position: absolute; + top:40px; + left: 30px; +} + +.miaosha6pic { + position: absolute; + top:6px; + left: 10px; + width: 180px; + height: 260px; + background-image: url(../images/show6_5.jpg); +} + +.item_4_3_pic { + position: absolute; + top:0px; + left:-3px; + background-image: url(../images/show3_1.png); + width : 171px; + height: 182px; +} + +.dkhs { + background-color: #ebeaea; + width: 100%; +} + +.dkhs_item { + border-bottom: 1px solid #dedede; + align-items: center; + position: relative; + height: 102px; +} + +.dkhs .item1 { + height:42px; + position: absolute; + left: 35px; + top:30px; + +} + +.dkhs .item2 { + height:42px; + position: absolute; + left: 330px; + top:30px; +} + +.dkhs .item3 { + height:42px; + position: absolute; + left: 630px; + top:30px; +} + +.dkhs .item4 { + height:42px; + position: absolute; + left: 925px; + top:30px; +} + +.dkhs .item_text { + overflow: hidden; + width: 200px; + height: 42px; + line-height: 42px; + font-size: 18px; + font-weight: 700; + text-overflow: ellipsis; + color: #444; + position:absolute; + left:45px; + top:0px; +} + +.dkhs .item_pic1 { + background-repeat:no-repeat; + background-position: 0px -192px; + background-image: url(../images/footer.png); + overflow: hidden; + height: 42px; + width: 36px; +} + +.dkhs .item_pic2 { + background-repeat:no-repeat; + background-position: -41px -192px; + background-image: url(../images/footer.png); + overflow: hidden; + height: 42px; + width: 36px; +} + +.dkhs .item_pic3 { + background-repeat:no-repeat; + background-position: -82px -192px; + background-image: url(../images/footer.png); + overflow: hidden; + height: 42px; + width: 36px; +} + +.dkhs .item_pic4 { + background-repeat:no-repeat; + background-position: -123px -192px; + background-image: url(../images/footer.png); + overflow: hidden; + height: 42px; + width: 36px; +} + +.o2_wide { + min-width: 1190px; +} + +.dkhs { + padding: 30px 0; + border-bottom: 1px solid #dedede; +} + +.foot_help { + padding: 20px 0; +} + +.w1 { + margin: 0 auto; + width: 1190px; +} + +.foot_1_inner { + padding: 15px 0; + border-top: 1px solid #e1e1e1; + text-align: center; +} + +.foot_1_info { + padding: 10px 0; + line-height: 22px; + color: #999; +} + +.foot_1_auth { + margin: 25px 0; +} + +a { + color: #666; + text-decoration: none; +} + +a { + color: #666; + text-decoration: none; +} + +.foot_pic { + overflow: hidden; + display: inline-block; + margin: 0 3px; + width: 103px; + height: 32px; + line-height: 1000px; +} + +.foot_pic_1 { + background-repeat: no-repeat; + background-position: -205px -148px; + background-image: url("../images/footer.png"); +} + +.foot_pic_2 { + background-repeat: no-repeat; + background-position: -205px -111px; + background-image: url("../images/footer.png"); +} + +.foot_pic_3 { + background-repeat: no-repeat; + background-position: -205px -74px; + background-image: url("../images/footer.png"); +} + +.foot_pic_4 { + background-repeat: no-repeat; + background-position: -205px -37px; + background-image: url("../images/footer.png"); +} + +.foot_pic_5 { + background-repeat: no-repeat; + background-position: -205px 0; + background-image: url("../images/footer.png"); +} + +.foot_pic_6 { + background-repeat: no-repeat; + background-position: 0 -155px; + background-image: url("../images/footer.png"); +} + +.foot_1_license { + margin-left: 16px; +} + +.foot_1_info a { + color: #999; +} + +.foot_1_item { + margin: 0 10px; + color: #ccc; +} + +em, i { + font-style: normal; +} + +em, i { + font-style: normal; +} + +.foot_1_inter_ico { + display: inline-block; + width: 15px; + height: 10px; + vertical-align: -1px; + margin-right: 10px; + background-repeat: no-repeat; +} + +.foot_1_inter_ico_spain { + background-repeat: no-repeat; + background-position: -128px -155px; + background-image: url("../images/footer.png"); +} + +.foot_1_inter_ico_indonesia { + background-repeat: no-repeat; + background-position: -148px -155px; + background-image: url("../images/footer.png"); +} + +.foot_1_inter_ico_rissia { + background-repeat: no-repeat; + background-position: -168px -155px; + background-image: url("../images/footer.png"); +} + +.foot_1_inter_ico_global { + background-repeat: no-repeat; + background-position: -108px -155px; + width: 15px; + height: 12px; + margin-top: -1px; + background-image: url("../images/footer.png"); +} + +.foot_help_list { + overflow: hidden; + height: 160px; +} + +.foot_help_nav { + float: left; + width: 198px; + line-height: 22px; +} + +.foot_help_cover { + background-repeat: no-repeat; + background-position: 0 0; + float: right; + width: 200px; + height: 150px; + background-image: url("../images/footer.png"); +} + +.foot_help_cover_title { + margin-bottom: 15px; + font-size: 14px; + text-align: center; +} + +.foot_help_cover_con { + padding: 0 10px; +} + +.foot_help_cover_more { + text-align: right; +} + +.iconfont { + font-family: iconfont; + font-style: normal; + -webkit-text-stroke-width: 0.2px; + -moz-osx-font-smoothing: grayscale; +} + +.foot_help_nav_title { + margin-bottom: 5px; + font-size: 14px; +} + +li { + list-style: none; +} + +li { + list-style: none; +} + +.dkhs_list { + overflow: hidden; + height: 42px; +} + +.dkhs_item { + float: left; + width: 297px; +} + +.dkhs_unit { + position: relative; + margin: 0 auto; + padding-left: 45px; + width: 180px; +} + +.dkhs_title { + overflow: hidden; + position: absolute; + left: 0px; + top: 0px; + width: 36px; + height: 42px; + text-indent: -999px; +} + +.dkhs_sheng { + background-repeat: no-repeat; + background-position: -123px -192px; + background-image: url("../images/footer.png"); +} + +.dkhs_txt { + overflow: hidden; + width: 100%; + height: 42px; + line-height: 42px; + font-size: 18px; + font-weight: 700; + -o-text-overflow: ellipsis; + text-overflow: ellipsis; + white-space: nowrap; + color: #444; +} + +.dkhs_hao { + background-repeat: no-repeat; + background-position: -82px -192px; + background-image: url("../images/footer.png"); +} + +.dkhs_kuai { + background-repeat: no-repeat; + background-position: -41px -192px; + background-image: url("../images/footer.png"); +} + +.dkhs_duo { + background-repeat: no-repeat; + background-position: 0 -192px; + background-image: url("../images/footer.png"); +} + +.foot_container { + background-color: #ebeaea; +} \ No newline at end of file diff --git a/JD/html/JD.html b/JD/html/JD.html new file mode 100644 index 0000000..d1ba29f --- /dev/null +++ b/JD/html/JD.html @@ -0,0 +1,409 @@ + + + + + 英博的京东首页 + + + +
+
+ + +
+
+ +
+
+
+
+
+
京东秒杀
+
FLASH DEALS
+
+ 本场距离结束还剩 +
+
+
+
+ 美国进口车厘子 1磅装 +
+
¥39.90
+
¥79.90
+
+
+ +
+
+ 美国进口红酒 拉菲 +
+
¥459.00
+
¥898.00
+
+
+
+
+ 惠普(HP)EliteBook 73 +
+
¥5288.00
+
¥5799.00
+
+
+
+
+ 飞利浦(PHILIPS)55PU +
+
¥2369.00
+
¥3899.00
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+ + \ No newline at end of file diff --git a/JD/images/banner.jpg b/JD/images/banner.jpg new file mode 100644 index 0000000..f5f6e5e Binary files /dev/null and b/JD/images/banner.jpg differ diff --git a/JD/images/camera.png b/JD/images/camera.png new file mode 100644 index 0000000..0df051b Binary files /dev/null and b/JD/images/camera.png differ diff --git a/JD/images/cart.png b/JD/images/cart.png new file mode 100644 index 0000000..0469d50 Binary files /dev/null and b/JD/images/cart.png differ diff --git a/JD/images/code.png b/JD/images/code.png new file mode 100644 index 0000000..2f09eac Binary files /dev/null and b/JD/images/code.png differ diff --git a/JD/images/crama.png b/JD/images/crama.png new file mode 100644 index 0000000..2739185 Binary files /dev/null and b/JD/images/crama.png differ diff --git a/JD/images/footer.png b/JD/images/footer.png new file mode 100644 index 0000000..53dc14f Binary files /dev/null and b/JD/images/footer.png differ diff --git a/JD/images/logo.png b/JD/images/logo.png new file mode 100644 index 0000000..b23543d Binary files /dev/null and b/JD/images/logo.png differ diff --git a/JD/images/number.png b/JD/images/number.png new file mode 100644 index 0000000..b50211f Binary files /dev/null and b/JD/images/number.png differ diff --git a/JD/images/scanCode.jpg b/JD/images/scanCode.jpg new file mode 100644 index 0000000..135b6bb Binary files /dev/null and b/JD/images/scanCode.jpg differ diff --git a/JD/images/show1pic.jpg b/JD/images/show1pic.jpg new file mode 100644 index 0000000..35913bd Binary files /dev/null and b/JD/images/show1pic.jpg differ diff --git a/JD/images/show2_1.jpg b/JD/images/show2_1.jpg new file mode 100644 index 0000000..76dfd05 Binary files /dev/null and b/JD/images/show2_1.jpg differ diff --git a/JD/images/show2_2.jpg b/JD/images/show2_2.jpg new file mode 100644 index 0000000..5fa0a49 Binary files /dev/null and b/JD/images/show2_2.jpg differ diff --git a/JD/images/show2_3.jpg b/JD/images/show2_3.jpg new file mode 100644 index 0000000..a0b8ea8 Binary files /dev/null and b/JD/images/show2_3.jpg differ diff --git a/JD/images/show3_1.png b/JD/images/show3_1.png new file mode 100644 index 0000000..1a2fe9e Binary files /dev/null and b/JD/images/show3_1.png differ diff --git a/JD/images/show4_1.jpg b/JD/images/show4_1.jpg new file mode 100644 index 0000000..21c6aa5 Binary files /dev/null and b/JD/images/show4_1.jpg differ diff --git a/JD/images/show5_1.png b/JD/images/show5_1.png new file mode 100644 index 0000000..fe6b837 Binary files /dev/null and b/JD/images/show5_1.png differ diff --git a/JD/images/show5_2.png b/JD/images/show5_2.png new file mode 100644 index 0000000..1fbc6a6 Binary files /dev/null and b/JD/images/show5_2.png differ diff --git a/JD/images/show6_1.jpg b/JD/images/show6_1.jpg new file mode 100644 index 0000000..977c525 Binary files /dev/null and b/JD/images/show6_1.jpg differ diff --git a/JD/images/show6_2.jpg b/JD/images/show6_2.jpg new file mode 100644 index 0000000..8c016d9 Binary files /dev/null and b/JD/images/show6_2.jpg differ diff --git a/JD/images/show6_3.jpg b/JD/images/show6_3.jpg new file mode 100644 index 0000000..4746b53 Binary files /dev/null and b/JD/images/show6_3.jpg differ diff --git a/JD/images/show6_4.jpg b/JD/images/show6_4.jpg new file mode 100644 index 0000000..cd6dba0 Binary files /dev/null and b/JD/images/show6_4.jpg differ diff --git a/JD/images/show6_5.jpg b/JD/images/show6_5.jpg new file mode 100644 index 0000000..efbc5e9 Binary files /dev/null and b/JD/images/show6_5.jpg differ diff --git a/JD/images/sreach.png b/JD/images/sreach.png new file mode 100644 index 0000000..a6543cb Binary files /dev/null and b/JD/images/sreach.png differ diff --git a/JD/images/time.png b/JD/images/time.png new file mode 100644 index 0000000..c0de326 Binary files /dev/null and b/JD/images/time.png differ diff --git a/JD/images/捕获.PNG b/JD/images/捕获.PNG new file mode 100644 index 0000000..1e74744 Binary files /dev/null and b/JD/images/捕获.PNG differ diff --git a/baidu/css/index.css b/baidu/css/index.css new file mode 100644 index 0000000..198bfab --- /dev/null +++ b/baidu/css/index.css @@ -0,0 +1,194 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} +.header { + +} + +.w { + width:95%; + margin:0 auto; +} +.header .w { + display: flex; + flex-direction: column; +} + +.top { + height:40px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.top .left { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + height:40px; +} + +.top .left .sun { + height: 30px; + display: block; + margin-right: 10px; +} + +.top .left .temperature { + line-height: 40px; + font-size: 26px; + color: #989898; + margin-right: 10px; +} + +.top .left .adds { + display: flex; + flex-direction: column; + justify-content: center; + align-items: left; + height: 40px; + margin-right: 10px; +} + +.adds_top,.adds_down { + height: 15px; + line-height: 15px; + font-size: 12px; + color: #989898; +} + +.top .left .down { + height:20px; +} + +.top .right { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + height: 40px; +} + +.top .right .word { + font-size: 14px; + color: #989898; + line-height: 20px; +} + +.top .right .more ,.top .right .user{ + height: 20px; + margin-left: 10px; +} + +.cen { + width: 100%; + margin: 20px auto; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.cen .baidu { + height: 57px; + width: 184px; +} + +.search { + width:95%; + border:1px #333 solid; + display: flex; + flex-direction: row; + align-items: center; + justify-content:space-between; + height: 40px; + margin: 20px auto; +} +.search .right { + display: flex; + flex-direction: row; + align-items: center; + justify-content:space-between; + height: 40px; +} +.search .mic { + height: 20px; + width: 30px; + border-right: 1px #eee solid; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.search .mic img { + height: 15px; +} + +.search .photo { + height: 20px; + width: 30px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.search .photo img { + height: 15px; +} + +.search .baiduyixia { + height: 40px; + line-height: 40px; + text-align: center; + color: #10aeff; + font-size: 14px; + font-weight: bold; + border-left: 1px #eee solid; + width: 80px; +} + +.center { + width:90%; + margin:0 auto; + display: flex; + flex-direction: column; +} + +.center .top { + font-size: 16px; + color: #333; + line-height: 20px; +} + +.center .cen { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height:60px; +} + +.center .cen img { + height: 75px; +} + +.footer { + height: 15px; + font-size: 12px; + color: #989898; + margin-bottom: 20px; +} \ No newline at end of file diff --git a/baidu/html/index.html b/baidu/html/index.html new file mode 100644 index 0000000..9fd406e --- /dev/null +++ b/baidu/html/index.html @@ -0,0 +1,137 @@ + + + + + Document + + + + + +
+
+
+
+ +
26*
+
+
长春
+
26*/18*
+
+ +
+
+
告白赢钻戒
+ + +
+
+
+ +
+ +
+
+
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ +
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ +
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ +
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ +
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ +
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ +
+
女性游泳员为啥都是平胸?傅园慧一句话说明真相,真是令人咂舌!
+
+ + + +
+ +
+ + \ No newline at end of file diff --git a/baidu/images/down.png b/baidu/images/down.png new file mode 100644 index 0000000..528003d Binary files /dev/null and b/baidu/images/down.png differ diff --git a/baidu/images/mic.png b/baidu/images/mic.png new file mode 100644 index 0000000..1dce98c Binary files /dev/null and b/baidu/images/mic.png differ diff --git a/baidu/images/more.png b/baidu/images/more.png new file mode 100644 index 0000000..2f9efb5 Binary files /dev/null and b/baidu/images/more.png differ diff --git a/baidu/images/photo.png b/baidu/images/photo.png new file mode 100644 index 0000000..1a9989d Binary files /dev/null and b/baidu/images/photo.png differ diff --git a/baidu/images/pic1.jpg b/baidu/images/pic1.jpg new file mode 100644 index 0000000..b2f4e99 Binary files /dev/null and b/baidu/images/pic1.jpg differ diff --git a/baidu/images/pic2.jpg b/baidu/images/pic2.jpg new file mode 100644 index 0000000..fe72d55 Binary files /dev/null and b/baidu/images/pic2.jpg differ diff --git a/baidu/images/pic3.jpg b/baidu/images/pic3.jpg new file mode 100644 index 0000000..0b8306c Binary files /dev/null and b/baidu/images/pic3.jpg differ diff --git a/baidu/images/plus.png b/baidu/images/plus.png new file mode 100644 index 0000000..cd81b9d Binary files /dev/null and b/baidu/images/plus.png differ diff --git a/baidu/images/sun.png b/baidu/images/sun.png new file mode 100644 index 0000000..40f9c75 Binary files /dev/null and b/baidu/images/sun.png differ diff --git a/baidu/images/user.png b/baidu/images/user.png new file mode 100644 index 0000000..bb92a39 Binary files /dev/null and b/baidu/images/user.png differ diff --git a/educationNews/css/index.css b/educationNews/css/index.css new file mode 100644 index 0000000..7e7249b --- /dev/null +++ b/educationNews/css/index.css @@ -0,0 +1,173 @@ +body,main, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; } +body,main, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; } +h1, h2, h3, h4, h5, h6{ font-size:100%; } +address, cite, dfn, em, var { font-style:normal; } +code, kbd, pre, samp { font-family:couriernew, courier, monospace; } +small{ font-size:12px; } +ul, ol { list-style:none; } +a { text-decoration:none; } +a:hover { text-decoration:underline; } +sup { vertical-align:text-top; } +sub{ vertical-align:text-bottom; } +legend { color:#000; } +fieldset, img { border:0; } +button, input, select, textarea { font-size:100%; } +table { border-collapse:collapse; border-spacing:0; } + +body>section { + width:100%; + height:20px; + margin:0 auto; + +} + +body>section img { + height:100%; + width:100%; +} + +header { + height:40px; + width:95%; + margin:0 auto; + position:relative; +} + +header img { + position:absolute; + height:20px; + width:20px; + top:10px; + left:0; +} + +header p { + margin:0 auto; + font-size: 18px; + font-weight: 500; + line-height: 40px; + height:40px; + text-align: center; +} + +.banner { + height:150px; + width:100%; +} + +.banner img { + height:100%; + width:100%; +} + +main>article ,main>section { + width:95%; + height:auto; + margin:0 auto; + position:relative; + margin-top:15px; + margin-bottom:15px; +} + +main>article>p ,main>section>p { + line-height: 20px; + font-size: 15px; + margin-bottom:8px; +} + +main>article>span ,main>section>span{ + color:#989898; + font-size: 10px; + text-align: right; + display: block; + margin-top:-20px; +} + +main>article:nth-of-type(3)>span { + margin-top:0; +} +main>article:nth-of-type(3)>p { + font-weight: 600; +} +main>article:nth-of-type(3)>p>span { + color:red; + font-weight: 600; +} +main>article>section { + width:100%; + height:80px; + display:flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +main>article>section img { + height:100%; + width:33%; +} + +main>section img { + display: block; + position:relative; + top:0; + left:0; + width:30%; +} + +main>section p { + position:absolute; + height:80%; + width:65%; + top:0; + right:0; + line-height:20px; + letter-spacing: 2px; +} + +footer { + height:50px; + width:100%; + margin: 0 auto; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + border-top:1px #eee solid; + position:fixed; + bottom:0; + background: #fff; + padding-bottom:3px; +} + +footer article { + width:20%; + height:100%; + display: flex; + flex-direction: column; + align-items: center; +} + +footer article img{ + height:35px; + width:35px; +} + +footer article p { + font-size: 10px; + color:#989898; +} + +footer article:nth-of-type(2) p { + color:red; +} + +footer article:nth-of-type(3) img { + height:50px; + width:50px; +} + +aside { + height:50px; + width:100%; +} \ No newline at end of file diff --git a/educationNews/html/index.html b/educationNews/html/index.html new file mode 100644 index 0000000..382e12d --- /dev/null +++ b/educationNews/html/index.html @@ -0,0 +1,84 @@ + + + + + Education news + + + + + +
+ +
+
+ +

教育新闻

+
+ +
+
+

当儿子问:“妈妈,你为什么要我努力读书?”这回答是我见过最赞的

+ 2017-07-12 +
+ + + +
+
+
+

一名二十年教龄的教师:我今年四十岁,准备辞职!震惊教育部

+ 2017-07-12 +
+ + + +
+
+
+

十集大型政论专题片《将改革进行到底》将于7月1日20点在央视CCTV-1首播,第一集《时代之间》

+ 2017-07-12 +
+ +
+ +

TFBOYS成员王源谈乡村教育不能让教育成为奢侈

+ 2017-07-12 +
+
+ +

市常委举行“阳光校餐”教育专题学习会

+ 2017-07-12 +
+
+ +

海内外教学专家吉林聚焦创新与合作促进深度学习

+ 2017-07-12 +
+
+ + + + diff --git a/educationNews/images/add.png b/educationNews/images/add.png new file mode 100644 index 0000000..5d76d35 Binary files /dev/null and b/educationNews/images/add.png differ diff --git a/educationNews/images/back.jpg b/educationNews/images/back.jpg new file mode 100644 index 0000000..62b7bfe Binary files /dev/null and b/educationNews/images/back.jpg differ diff --git a/educationNews/images/banner.jpg b/educationNews/images/banner.jpg new file mode 100644 index 0000000..ee1e50b Binary files /dev/null and b/educationNews/images/banner.jpg differ diff --git a/educationNews/images/cart.jpg b/educationNews/images/cart.jpg new file mode 100644 index 0000000..c255c18 Binary files /dev/null and b/educationNews/images/cart.jpg differ diff --git a/educationNews/images/home.jpg b/educationNews/images/home.jpg new file mode 100644 index 0000000..b6adb15 Binary files /dev/null and b/educationNews/images/home.jpg differ diff --git a/educationNews/images/img1_1.jpg b/educationNews/images/img1_1.jpg new file mode 100644 index 0000000..4c719a1 Binary files /dev/null and b/educationNews/images/img1_1.jpg differ diff --git a/educationNews/images/img1_2.jpg b/educationNews/images/img1_2.jpg new file mode 100644 index 0000000..8c6e6b5 Binary files /dev/null and b/educationNews/images/img1_2.jpg differ diff --git a/educationNews/images/img1_3.jpg b/educationNews/images/img1_3.jpg new file mode 100644 index 0000000..598441d Binary files /dev/null and b/educationNews/images/img1_3.jpg differ diff --git a/educationNews/images/img2_1.jpg b/educationNews/images/img2_1.jpg new file mode 100644 index 0000000..22d87ef Binary files /dev/null and b/educationNews/images/img2_1.jpg differ diff --git a/educationNews/images/img2_2.jpg b/educationNews/images/img2_2.jpg new file mode 100644 index 0000000..0456f81 Binary files /dev/null and b/educationNews/images/img2_2.jpg differ diff --git a/educationNews/images/img2_3.jpg b/educationNews/images/img2_3.jpg new file mode 100644 index 0000000..4a04b1d Binary files /dev/null and b/educationNews/images/img2_3.jpg differ diff --git a/educationNews/images/img3_1.jpg b/educationNews/images/img3_1.jpg new file mode 100644 index 0000000..371b99d Binary files /dev/null and b/educationNews/images/img3_1.jpg differ diff --git a/educationNews/images/img3_2.jpg b/educationNews/images/img3_2.jpg new file mode 100644 index 0000000..37a5798 Binary files /dev/null and b/educationNews/images/img3_2.jpg differ diff --git a/educationNews/images/img3_3.jpg b/educationNews/images/img3_3.jpg new file mode 100644 index 0000000..a22d5e8 Binary files /dev/null and b/educationNews/images/img3_3.jpg differ diff --git a/educationNews/images/msg.jpg b/educationNews/images/msg.jpg new file mode 100644 index 0000000..58056a9 Binary files /dev/null and b/educationNews/images/msg.jpg differ diff --git a/educationNews/images/statusBar.jpg b/educationNews/images/statusBar.jpg new file mode 100644 index 0000000..dd9c69a Binary files /dev/null and b/educationNews/images/statusBar.jpg differ diff --git a/educationNews/images/user.jpg b/educationNews/images/user.jpg new file mode 100644 index 0000000..a820d77 Binary files /dev/null and b/educationNews/images/user.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..7ec311a --- /dev/null +++ b/index.html @@ -0,0 +1,105 @@ + + + + + 欢迎来到我的网站 + + + + + + + +
+ +
+

RCS

+

一款专注于查课的软件

+
+
+ +
+ +
+

JD

+

专注仿写100年(不建议手机查看)

+
+
+ +
+ +
+

CSGO

+

专注仿写100年(不建议手机查看)

+
+
+ +
+ +
+

Office

+

这是上课笔记

+
+
+ +
+ +
+

学霸理时

+

一款初具雏形的超潜力app

+
+
+ + diff --git a/index/csgo.jpg b/index/csgo.jpg new file mode 100644 index 0000000..ea59344 Binary files /dev/null and b/index/csgo.jpg differ diff --git a/index/index1.html b/index/index1.html new file mode 100644 index 0000000..5aeefd2 --- /dev/null +++ b/index/index1.html @@ -0,0 +1,104 @@ + + + + + 欢迎来到我的网站 + + + + + + +
+
+ +
+

RCS

+

一款专注于查课的软件

+
+
+ +
+ +
+

JD

+

专注仿写100年(不建议手机查看)

+
+
+
+ +
+

学霸理时

+

一款初具雏形的超潜力app

+
+
+ +
+
+
+ +
+

Office

+

这是上课笔记

+
+
+
+ +
+

CSGO

+

专注仿写100年(不建议手机查看)

+
+
+
+ + diff --git a/index/jd.jpg b/index/jd.jpg new file mode 100644 index 0000000..f707173 Binary files /dev/null and b/index/jd.jpg differ diff --git a/index/office.png b/index/office.png new file mode 100644 index 0000000..3f08b35 Binary files /dev/null and b/index/office.png differ diff --git a/index/plus.png b/index/plus.png new file mode 100644 index 0000000..829c243 Binary files /dev/null and b/index/plus.png differ diff --git a/index/rcs.png b/index/rcs.png new file mode 100644 index 0000000..6fef2c2 Binary files /dev/null and b/index/rcs.png differ diff --git a/index/xiaohui.png b/index/xiaohui.png new file mode 100644 index 0000000..2b7731f Binary files /dev/null and b/index/xiaohui.png differ diff --git a/index/xueba.png b/index/xueba.png new file mode 100644 index 0000000..0c0d362 Binary files /dev/null and b/index/xueba.png differ diff --git a/office/20181118_word/css/main.css b/office/20181118_word/css/main.css new file mode 100644 index 0000000..7a64568 --- /dev/null +++ b/office/20181118_word/css/main.css @@ -0,0 +1,86 @@ +.w { + font-family:'Segoe UI Light','wf_segoe-ui_light',Arial,'Helvetica Neue',Verdana,Helvetica,Sans-Serif; + width:95%; + margin:0 auto; +} + +.w .title { + font-size: 30px; + margin:5px 0 7px 0; + font-weight: lighter; + line-height: 1.25; +} +.w .main { + margin-top: 20px; + height: auto; + width:100%; +} + +.w .main>p { + font-size: 20px; + font-weight: lighter; + line-height: 1.357; + margin-top: 30px; +} + +.w .main ol { + margin-top: 30px; + padding-left:18px; + padding-bottom:0; + font-weight: lighter; +} + +.w .main ol li { + margin-bottom: 20px; +} + +.w .main ol li p,.w .main ol li span { + font-size: 17px; +} + +.w .footer { + margin-top: 30px; + margin-bottom: 30px; + height:30px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + font-size: 16px; + font-weight: lighter; +} + +.w .footer .left { + width:250px; + height:30px; + line-height:30px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; +} + +.w .footer .left span { + margin-left: 5px; + display: block; +} + +.w .footer .right { + width:250px; + height: 30px; + line-height:30px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-end; +} + +.w .footer .right span { + margin-right: 5px; + display: block; +} + +.kongbai { + height:50px; + width: 100%; +} diff --git a/office/20181118_word/html/break.html b/office/20181118_word/html/break.html new file mode 100644 index 0000000..3251cc5 --- /dev/null +++ b/office/20181118_word/html/break.html @@ -0,0 +1,96 @@ + + + + + 分隔符 + + + + + + + + + +
+ +
+
分页符
+
+
    +
  1. 将光标放在你想要一页结束和下一页开始的位置。

  2. +
  3. +

    转到“插入”>“分页符”。

    + +
  4. +
+
+
分节符
+
+
    +
  1. 将光标放在你想要一节结束和下一节开始的位置。

  2. +
  3. +

    转到“布局”>“分隔符”。

    + +
  4. +
  5. 在展开的下拉菜单中选择想要的选项。

  6. + +
+
+ +
+ + diff --git a/office/20181118_word/html/create_index.html b/office/20181118_word/html/create_index.html new file mode 100644 index 0000000..568b7ee --- /dev/null +++ b/office/20181118_word/html/create_index.html @@ -0,0 +1,100 @@ + + + + + 创建目录 + + + + + + + + + +
+ +
+
创建手动目录
+
+
    +
  1. +

    转到“引用”>“目录”。

    + +
  2. +
  3. 在下拉菜单中选中手动目录

  4. +
+
+
创建自动目录
+
+

方法同上,在下拉菜单中选择合适的自动目录

+

将文档中的所有标题套用样式,自动目录会自动将其加入目录

+

如果增加或者删减了标题,点击更新目录

+
+
制表符制作目录
+
+
    +
  1. 打开标尺,“视图”>“显示”>勾选“标尺”

  2. +
  3. 点击查看制表符具体用法

  4. +
  5. +

    Tips:制表符选项位于标尺的最左边,选择适合的制表符之后直接在标尺上点击就会出现该制表符

    +
  6. +
+
+ +
+ + diff --git a/office/20181118_word/html/create_list.html b/office/20181118_word/html/create_list.html new file mode 100644 index 0000000..f091b3d --- /dev/null +++ b/office/20181118_word/html/create_list.html @@ -0,0 +1,90 @@ + + + + + 创建列表 + + + + + + + + + +
+ +
+
创建列表
+
+

当键入1. 一个空格,并加上一些文本,然后按 Enter,将会自动启动 Word 的带编号的列表。

+

完成列表后,按 Enter 直到项目符号或编号关闭。

+
+
从现有文本创建列表
+
+
    +
  1. 选择要更改为列表的文本。

  2. +
  3. +

    转到“开始”>“项目符号”或“编号”。

    + +
  4. +
  5. 单击“项目符号”或“编号”旁边的向下箭头,即可找到不同的项目符号样式和编号格式。

  6. +
+
+ +
+ + diff --git a/office/20181118_word/html/create_mark.html b/office/20181118_word/html/create_mark.html new file mode 100644 index 0000000..d8e9278 --- /dev/null +++ b/office/20181118_word/html/create_mark.html @@ -0,0 +1,96 @@ + + + + + 添加脚注和题注 + + + + + + + + + +
+ +
+
添加脚注
+
+

脚注和尾注是对文本的补充说明。脚注一般位于页面的底部,可以作为文档某处内容的注释;尾注一般位于文档的末尾,列出引文的出处等。

+
    +
  1. +

    转到“引用”>“插入脚注”

    + +
  2. +
  3. Tips:点击脚注框右下角的标识可进入脚注的设置界面

    +
  4. +
+
+
添加题注
+
+

大部分题注都是用简短的话语叙述关于该图片的一些重要的信息。

+
    +
  1. +

    转到“引用”>“插入题注”

    + +
  2. +
+
+ +
+ + diff --git a/office/20181118_word/html/direction.html b/office/20181118_word/html/direction.html new file mode 100644 index 0000000..0de60cb --- /dev/null +++ b/office/20181118_word/html/direction.html @@ -0,0 +1,86 @@ + + + + + 同一文档设置两种文档方向 + + + + + + + + + +
+ +
+
同一文档设置两种文档方向
+
+

在同一文档中,可能我们会在其中某一页插入横板表格或者其他横板内容,这个时候这种技巧就十分必要了。

+
    +
  1. 将光标移到转换方向的前一页的末尾。

  2. +
  3. 转到“布局”>“分隔符”,在下拉菜单中选择“分节符>下一页”

  4. +
  5. 将光标移到要转换方向的页面上

  6. +
  7. +

    转到“布局”>“纸张方向”>“横向”,即设置完成

    +
  8. +
+
+ +
+ + diff --git a/office/20181118_word/html/download.html b/office/20181118_word/html/download.html new file mode 100644 index 0000000..18d9453 --- /dev/null +++ b/office/20181118_word/html/download.html @@ -0,0 +1,91 @@ + + + + + 下载 + + + + + + + + + + + + +
+ +
+
下载
+
+

如果你现在用的是office2010及以下版本,为什么不试试新的office2019呢

+

新版本提供了大量实用的新功能!

+

感谢土司工作室的张谨一大佬!

+
    +
  1. +

    关注公众号

    + +
  2. +
  3. 回复office或者点击“软件安装”>“office”即可。

  4. +
  5. 当然了,也可以看看往期文章,里面有很多实用的工具,以及“adobe2019全家桶破解版”!!!!

  6. +
+
+ +
+ + diff --git a/office/20181118_word/html/insert_image.html b/office/20181118_word/html/insert_image.html new file mode 100644 index 0000000..fce8408 --- /dev/null +++ b/office/20181118_word/html/insert_image.html @@ -0,0 +1,94 @@ + + + + + 插入图片、图表和形状 + + + + + + + + + +
+ +
+
插入图片
+
+
    +
  1. +

    转到“插入”>“图片”或“联机图片”。

    + +
  2. +
  3. 选择希望插入的图像,点击插入。

  4. +
  5. 左键单击图片,在右上角选择合适的文字环绕方式。

  6. +
+
+
裁剪图片
+
+

左键单击图片,转到“格式”>“裁剪”。

+

右键单击图片,在弹出的菜单里选择“裁剪”。

+
+
插入图表和形状
+
+

具体的会在Powerpoint以及Excel中讲解

+
+ +
+ + diff --git a/office/20181118_word/html/insert_link.html b/office/20181118_word/html/insert_link.html new file mode 100644 index 0000000..8f95124 --- /dev/null +++ b/office/20181118_word/html/insert_link.html @@ -0,0 +1,98 @@ + + + + + 插入超链接 + + + + + + + + + + + + + + +
+ +
+
插入超链接
+
+

如果在开头输入了“http://”,当按空格键或 Enter 时,Word 自动将 Web 地址转换为链接。

+

如果想要从文档中进行链接,最快方式是先将地址复制到剪贴板复制:

+
    +
  1. 从浏览器的地址栏中复制地址。

  2. +
  3. 转到 Word 中的文档,并选择想要使其成为链接的文本。

  4. +
  5. 按 Ctrl+K

  6. +
  7. 粘贴地址并按 Enter。

  8. +
  9. +

    稍后如果想要更改链接,请右键单击它并选择“编辑超链接”。

    + +
  10. +
+
+
编辑时访问链接
+
+

编辑文档时,单击链接可以编辑其显示文本。若要访问链接,按 Ctrl 并单击。

+
+ +
+ + diff --git a/office/20181118_word/html/notes.html b/office/20181118_word/html/notes.html new file mode 100644 index 0000000..3f2faf6 --- /dev/null +++ b/office/20181118_word/html/notes.html @@ -0,0 +1,105 @@ + + + + + 批注和修订 + + + + + + + + + +
+ +
+
插入批注
+
+

批注可以直观的反映出局部的问题。

+

如果你用word看书的话,批注将成为很好的读书笔记。

+
    +
  1. 用光标选中想要批注的语句

  2. +
  3. +

    转到“审阅”>“新建批注”

    + +
  4. +
  5. +

    在右侧的批注中添加批注的内容

    + +
  6. +
  7. Tips:在批注中可以选择回复批注。它会随文档一起保存。

  8. + +
+
+
修订模式
+
+

编辑文档时,单击链接可以编辑其显示文本。若要访问链接,按 Ctrl 并单击。

+
    +
  1. +

    转到“审阅”>“修订”,单击即可开启修订模式

    + +
  2. +
  3. 打开进行完修订的文档时,点击修订框右边的“接受”、“拒绝”可以快速对修订进行审阅。

  4. +
  5. Tips:在修订模式中,你对文档的任何修改都会体现出来。配合批注使用效果更佳。它会随文档一起保存。

  6. + +
+
+ +
+ + diff --git a/office/20181118_word/html/painter.html b/office/20181118_word/html/painter.html new file mode 100644 index 0000000..3a62424 --- /dev/null +++ b/office/20181118_word/html/painter.html @@ -0,0 +1,83 @@ + + + + + 使用格式刷 + + + + + + + + + +
+ +
+
使用格式刷
+
+
    +
  1. 选择具有要复制格式的文本。

  2. +
  3. 单击“格式刷”,然后选择要向其复制格式的文本。 +
  4. +
  5. 提示: 若要将格式复制到多个位置,双击“格式刷”。

  6. +
+
+ +
+ + diff --git a/office/20181118_word/html/shortcut.html b/office/20181118_word/html/shortcut.html new file mode 100644 index 0000000..04eccd0 --- /dev/null +++ b/office/20181118_word/html/shortcut.html @@ -0,0 +1,106 @@ + + + + + 快捷键 + + + + + + + + + +
+ +
+
常用快捷键
+
+

这只是一大堆快捷键中的一部分,后续可能会更新

+

写作和格式设置

+
    +
  1. 插入超链接:Ctrl+K

  2. +
  3. 撤销:Ctrl+Z

  4. +
  5. 恢复:Ctrl+Y

  6. +
  7. 全选:Ctrl+A

  8. +
  9. 加粗:Ctrl+B

  10. +
  11. 斜体:Ctrl+I

  12. +
  13. 下划线:Ctrl+U

  14. +
+

快速查找所需内容

+
    +
  1. 查找:Ctrl+F

  2. +
  3. 查找和替换:Ctrl+H

  4. +
+

打印

+
    +
  1. 打印:Ctrl+P

  2. +
+

审阅

+
    +
  1. 字符统计:Ctrl+Shift+G

  2. +
+

快速选择

+
    +
  1. 快速从当前位置选择到文档末尾:Ctrl+Shift+End

  2. +
  3. 快速从当前位置选择到文档头:Ctrl+Shift+Home

  4. +
+
+ +
+ + diff --git a/office/20181118_word/html/tips.html b/office/20181118_word/html/tips.html new file mode 100644 index 0000000..fca98e7 --- /dev/null +++ b/office/20181118_word/html/tips.html @@ -0,0 +1,146 @@ + + + + + 小技巧 + + + + + + + + + +
+ +
+
添加行号
+
+

在建立英文文档或者纯文本文档时,行号可帮助快速定位。

+
    +
  1. +

    转到“布局”>“行号”。

    + +
  2. +
  3. 选择合适的行号即可添加。

  4. +
+
+
显示垂直标尺
+
+

在前文中提到在“视图”>“显示”中勾选“标尺”即可打开标尺,但是只显示水平标尺。

+
    +
  1. +

    转到“文件”选项卡,选择“选项”>“高级”,然后在“显示”下选中“在页面视图中显示垂直标尺”复选框。

    +
  2. +
+
+
固定每页显示的行数和列数
+
+

在一些正式的文案中会要求每页的行数及列数,譬如:每页28行,一行28个字。

+
    +
  1. +

    转到“布局”>“页边距”>“自定义页边距”,在弹出的导航栏中选择“文档网格”

    +
  2. +
  3. 在“网格”框中选择“指定行和字符网格”,并在下面的“字符数”和“行数”填入合适的数目。

  4. +
+
+
设置不可移动的图片
+
+

如果你想做一个个人简历的模板,衬于文字下方并且不可移动的图片将会极大地减少误触的机会。

+
    +
  1. +

    转到“插入”>“页眉和页脚”>“页眉”,此模式下添加的图片或者形状在关闭页眉编辑状态之后将不可编辑。

    +
  2. +
  3. Tips:将图片文字环绕方式改为“衬于文字下方”或者“四周型”,插入完成之后别忘关闭页眉编辑模式,关闭入口在导航栏“设计”>“关闭页眉和页脚”

  4. +
+
+
去除页眉的下划线
+
+

一般在加入页眉或者页脚的时候都会出现一个“自作多情”的分界线,可能会导致页面变得不美观

+
    +
  1. +

    在页眉或者页脚的编辑模式下,转到“开始”>“样式”,点击“样式”框右下角的“更多”标识

    +
  2. +
  3. 在弹出的选项框中点击页眉或者页脚的“更多”标识

  4. +
  5. 在下拉菜单中选择“修改”

  6. +
  7. 在弹出的修改框中,点击左下角的“格式”选项,选择“边框”

  8. +
  9. 在弹出的边框框中,选择“无”,即可设置完成。

  10. +
+
+
插入公式
+
+

在数学文档或者学术性论文中通常会用到公式的输入

+
    +
  1. +

    转到“插入”>“公式”,在下拉菜单中选择合适的公式

    +
  2. +
  3. Tips:在下拉菜单中选择插入新公式即可输入自定义公式,word提供了一个非常好的编辑环境。

  4. +
+
+
保存时顺手存入字体
+
+

在某些情况下,你有的字体别人没有,所以当使用这些字体的时候,会在别的电脑上发生显示问题。

+
    +
  1. +

    转到“文件”>“选项”,弹出的导航栏选择“保存”,点击“将字体嵌入文件”复选框即可设置完成

    +
  2. +
+
+ +
+ + diff --git a/office/20181118_word/html/watermark.html b/office/20181118_word/html/watermark.html new file mode 100644 index 0000000..e729925 --- /dev/null +++ b/office/20181118_word/html/watermark.html @@ -0,0 +1,90 @@ + + + + + 制作水印 + + + + + + + + + +
+ +
+
制作水印
+
+

水印是向数据多媒体(如图像、声音、视频信号等)中添加某些数字信息以达到文件真伪鉴别、版权保护等功能。

+
    +
  1. +

    转到“设计”>“水印”

    + +
  2. +
  3. +

    选择“自定义水印”,然后选择“图片”或“文本”。

    +
  4. +
  5. +

    添加所需的图片或文本。

    +
  6. +
+
+ +
+ + diff --git a/office/20181118_word/images/ad.png b/office/20181118_word/images/ad.png new file mode 100644 index 0000000..de922bc Binary files /dev/null and b/office/20181118_word/images/ad.png differ diff --git a/office/20181118_word/images/break_pic1.png b/office/20181118_word/images/break_pic1.png new file mode 100644 index 0000000..1cff695 Binary files /dev/null and b/office/20181118_word/images/break_pic1.png differ diff --git a/office/20181118_word/images/break_pic2.png b/office/20181118_word/images/break_pic2.png new file mode 100644 index 0000000..6bdb58a Binary files /dev/null and b/office/20181118_word/images/break_pic2.png differ diff --git a/office/20181118_word/images/create_index_pic1.png b/office/20181118_word/images/create_index_pic1.png new file mode 100644 index 0000000..6908bb9 Binary files /dev/null and b/office/20181118_word/images/create_index_pic1.png differ diff --git a/office/20181118_word/images/create_list_pic1.png b/office/20181118_word/images/create_list_pic1.png new file mode 100644 index 0000000..2d0e06d Binary files /dev/null and b/office/20181118_word/images/create_list_pic1.png differ diff --git a/office/20181118_word/images/create_mark_pic1.png b/office/20181118_word/images/create_mark_pic1.png new file mode 100644 index 0000000..8fd53ba Binary files /dev/null and b/office/20181118_word/images/create_mark_pic1.png differ diff --git a/office/20181118_word/images/create_mark_pic2.png b/office/20181118_word/images/create_mark_pic2.png new file mode 100644 index 0000000..11cc918 Binary files /dev/null and b/office/20181118_word/images/create_mark_pic2.png differ diff --git a/office/20181118_word/images/create_mark_pic3.png b/office/20181118_word/images/create_mark_pic3.png new file mode 100644 index 0000000..956d56c Binary files /dev/null and b/office/20181118_word/images/create_mark_pic3.png differ diff --git a/office/20181118_word/images/insert_image_pic1.png b/office/20181118_word/images/insert_image_pic1.png new file mode 100644 index 0000000..97353ea Binary files /dev/null and b/office/20181118_word/images/insert_image_pic1.png differ diff --git a/office/20181118_word/images/insert_image_pic2.png b/office/20181118_word/images/insert_image_pic2.png new file mode 100644 index 0000000..79f4ad8 Binary files /dev/null and b/office/20181118_word/images/insert_image_pic2.png differ diff --git a/office/20181118_word/images/insert_link_pic1.png b/office/20181118_word/images/insert_link_pic1.png new file mode 100644 index 0000000..14507d9 Binary files /dev/null and b/office/20181118_word/images/insert_link_pic1.png differ diff --git a/office/20181118_word/images/notes_pic1.png b/office/20181118_word/images/notes_pic1.png new file mode 100644 index 0000000..2494803 Binary files /dev/null and b/office/20181118_word/images/notes_pic1.png differ diff --git a/office/20181118_word/images/notes_pic2.png b/office/20181118_word/images/notes_pic2.png new file mode 100644 index 0000000..504adcf Binary files /dev/null and b/office/20181118_word/images/notes_pic2.png differ diff --git a/office/20181118_word/images/notes_pic3.png b/office/20181118_word/images/notes_pic3.png new file mode 100644 index 0000000..a839921 Binary files /dev/null and b/office/20181118_word/images/notes_pic3.png differ diff --git a/office/20181118_word/images/office.png b/office/20181118_word/images/office.png new file mode 100644 index 0000000..3f08b35 Binary files /dev/null and b/office/20181118_word/images/office.png differ diff --git a/office/20181118_word/images/painter_pic1.png b/office/20181118_word/images/painter_pic1.png new file mode 100644 index 0000000..f8a3a47 Binary files /dev/null and b/office/20181118_word/images/painter_pic1.png differ diff --git a/office/20181118_word/images/watermark_pic1.png b/office/20181118_word/images/watermark_pic1.png new file mode 100644 index 0000000..bb25a74 Binary files /dev/null and b/office/20181118_word/images/watermark_pic1.png differ diff --git a/rcs/API/bangding.php b/rcs/API/bangding.php new file mode 100644 index 0000000..084ca31 --- /dev/null +++ b/rcs/API/bangding.php @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/rcs/API/feedBack.php b/rcs/API/feedBack.php new file mode 100644 index 0000000..996d81c --- /dev/null +++ b/rcs/API/feedBack.php @@ -0,0 +1,14 @@ + diff --git a/rcs/API/login.php b/rcs/API/login.php new file mode 100644 index 0000000..9b2508b --- /dev/null +++ b/rcs/API/login.php @@ -0,0 +1,23 @@ + \ No newline at end of file diff --git a/rcs/API/shangchuan.php b/rcs/API/shangchuan.php new file mode 100644 index 0000000..e4f8d53 --- /dev/null +++ b/rcs/API/shangchuan.php @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/rcs/API/yanzheng.php b/rcs/API/yanzheng.php new file mode 100644 index 0000000..a673f70 --- /dev/null +++ b/rcs/API/yanzheng.php @@ -0,0 +1,35 @@ + + diff --git a/rcs/chaxun/css/main.css b/rcs/chaxun/css/main.css new file mode 100644 index 0000000..6d72ce7 --- /dev/null +++ b/rcs/chaxun/css/main.css @@ -0,0 +1,96 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.w { + width:80%; + margin:auto; +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .kongbai { + height: 100px; +} + +.item p { + font-size: 23px; + color: #fff; +} + +.item .form { + display: flex; + flex-direction: column; + margin-top: 15px; +} + +.item .userId { + border-top:none; + border-right: none; + border-left: none; + height:40px; + line-height: 40px; + border-bottom:1px #aaa solid; + font-size: 16px; + background-color: #000; + color:#fff; +} + +.item .submit { + margin-top: 20px; + background-color: #10aeff; + height:44px; + line-height: 40px; + color: #fff; + font-size: 20px; + border:none; + text-align: center; +} +html, body { + background:#000; +} + +.foot { + margin-top: 20px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.foot iframe { + height: 300px; +} + +.BT { + color: #aaa; + font-size: 10px; +} + +.banquan { + position: absolute; + bottom:0px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + width: 100%; + margin: 0 auto; +} + + + + diff --git a/rcs/chaxun/css/style.css b/rcs/chaxun/css/style.css new file mode 100644 index 0000000..5e452e0 --- /dev/null +++ b/rcs/chaxun/css/style.css @@ -0,0 +1,14 @@ +* { + margin: 0; + padding: 0; + outline: 0; +} +html, body { + width: 100%; + height: 100%; + background:#000; +} +#container { + width: 100%; + height: 100%; +} \ No newline at end of file diff --git a/rcs/chaxun/css/user.css b/rcs/chaxun/css/user.css new file mode 100644 index 0000000..0c32f47 --- /dev/null +++ b/rcs/chaxun/css/user.css @@ -0,0 +1,166 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.w { + width:90%; + margin:auto; +} + +body { + background-color: #000; +} + +.top .w { + display: flex; + flex-direction: column; + height: 44px; + margin-top: 20px; +} + +.top p { + font-size: 44px; + font-weight: 100; + color: #fff; + text-align: center; + height:20px; +} +/* +.item .w { + padding-bottom: 20px; + margin-top: 20px; + height:auto; + border-bottom: 1px #aaa solid; + display: flex; + flex-direction: column; + background-image:url(../images/p.jpg); + background-repeat: no-repeat; +} + +.item p { + font-size: 16px; + color: #fff; + height: 20px; + }*/ + + + .item .w { + display: flex; + flex-direction: column; + margin-top: 20px; + padding-bottom: 20px;/* + border-bottom: 1px #aaa solid;*/ +} + +.item .item_1 { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + position: relative; +} + +.item .item_1 .left { + display: flex; + flex-direction: row; + position: relative; + z-index: 1; +} + +.item .item_1 .left .item_1_1 { + display: flex; + flex-direction: column; + width: 100px; +} + +.item .item_1 .left .item_1_1 .title { + font-size: 16px; + color: #fff; + height: 25px; + line-height: 25px; +} + +.item .item_1 .left .item_1_2 { + display: flex; + flex-direction: column; +} + +.item .item_1 .left .item_1_2 .cen { + font-size: 16px; + color: #fff; + height: 25px; + line-height: 25px; +} + +.item .item_1 .right { + height: 150px; + margin-bottom: -20px; + position: absolute; + bottom: 20px; + right: 0px; + z-index: -1; +} + +.item .item_1 .right img { + height: 150px; +} + +.right { + z-index: -1; +} + +.list .w { + display: flex; + flex-direction: column; + margin-top: 20px; + padding-bottom: 20px; +} + +.list .shijia { + display: flex; + flex-direction: row; +} + +.list .shijia .left { + width: 100px; + display: flex; + flex-direction: column; +} + +.list .shijia .left li { + font-size: 16px; + color: #fff; + height: 25px; + line-height: 25px; +} + +.list .shijia .right { + display: flex; + flex-direction: column; +} + +.list .shijia .right li { + font-size: 16px; + color: #fff; + height: 25px; + line-height: 25px; +} + +.list .title { + font-size: 26px; + color: #fff; + height:30px; + line-height: 30px; + text-align: right; + width: 100%; +} \ No newline at end of file diff --git a/rcs/chaxun/html/index.html b/rcs/chaxun/html/index.html new file mode 100644 index 0000000..7844507 --- /dev/null +++ b/rcs/chaxun/html/index.html @@ -0,0 +1,34 @@ + + + + + + HTML5 Canvas 3D天体运行动画DEMO演示 + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + diff --git a/rcs/chaxun/html/main.html b/rcs/chaxun/html/main.html new file mode 100644 index 0000000..eed6a2d --- /dev/null +++ b/rcs/chaxun/html/main.html @@ -0,0 +1,46 @@ + + + + + 欢迎来到RCS + + + + + + + +
+
+
+

您好,

+

欢迎来到RCS

+
+ +
登录
+
+
+
+
+ +
+
+
Designed by Rain Sun
+
计算机科学技术学院 团委学生会学习部
+
All Rights Reserved
+
+ + diff --git a/rcs/chaxun/html/user.html b/rcs/chaxun/html/user.html new file mode 100644 index 0000000..abcff91 --- /dev/null +++ b/rcs/chaxun/html/user.html @@ -0,0 +1,348 @@ + + + + + 为您提供近期查课信息 + + + + + + + + +
+
+

RCS

+
+
+
+

抱歉,

+

近期无查课数据

+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+
+
+
+
+
+

查课代码:

+

查课时间:

+

查课地点:

+

任课教师:

+

查课人员1:

+

查课人员2:

+
+
+

+

+

+

+

+

+
+
+
+ +
+
+
+
+ + +
+
+
事假
+
+
+
    +
+
+
+
    +
+
+
+ +
病假
+
+
+
    +
+
+
+
    +
+
+
+ +
缺勤
+
+
+
    +
+
+
+
    +
+
+
+
+
+ + + + + + + + + + + + + diff --git a/rcs/chaxun/images/51miz-E592710-A1DCB93D.jpg b/rcs/chaxun/images/51miz-E592710-A1DCB93D.jpg new file mode 100644 index 0000000..29090c6 Binary files /dev/null and b/rcs/chaxun/images/51miz-E592710-A1DCB93D.jpg differ diff --git a/rcs/chaxun/images/error.png b/rcs/chaxun/images/error.png new file mode 100644 index 0000000..ade5834 Binary files /dev/null and b/rcs/chaxun/images/error.png differ diff --git a/rcs/chaxun/images/jpg.jpg b/rcs/chaxun/images/jpg.jpg new file mode 100644 index 0000000..1344bd9 Binary files /dev/null and b/rcs/chaxun/images/jpg.jpg differ diff --git a/rcs/chaxun/images/p.png b/rcs/chaxun/images/p.png new file mode 100644 index 0000000..5d36972 Binary files /dev/null and b/rcs/chaxun/images/p.png differ diff --git a/rcs/chaxun/images/p_1.jpg b/rcs/chaxun/images/p_1.jpg new file mode 100644 index 0000000..9d4826d Binary files /dev/null and b/rcs/chaxun/images/p_1.jpg differ diff --git a/rcs/chaxun/js/CopyShader.js b/rcs/chaxun/js/CopyShader.js new file mode 100644 index 0000000..9843a42 --- /dev/null +++ b/rcs/chaxun/js/CopyShader.js @@ -0,0 +1,46 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * + * Full-screen textured quad shader + */ + +THREE.CopyShader = { + + uniforms: { + + "tDiffuse": { value: null }, + "opacity": { value: 1.0 } + + }, + + vertexShader: [ + + "varying vec2 vUv;", + + "void main() {", + + "vUv = uv;", + "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "uniform float opacity;", + + "uniform sampler2D tDiffuse;", + + "varying vec2 vUv;", + + "void main() {", + + "vec4 texel = texture2D( tDiffuse, vUv );", + "gl_FragColor = opacity * texel;", + + "}" + + ].join( "\n" ) + +}; diff --git a/rcs/chaxun/js/EffectComposer.js b/rcs/chaxun/js/EffectComposer.js new file mode 100644 index 0000000..656185a --- /dev/null +++ b/rcs/chaxun/js/EffectComposer.js @@ -0,0 +1,189 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.EffectComposer = function ( renderer, renderTarget ) { + + this.renderer = renderer; + + if ( renderTarget === undefined ) { + + var parameters = { + minFilter: THREE.LinearFilter, + magFilter: THREE.LinearFilter, + format: THREE.RGBAFormat, + stencilBuffer: false + }; + + var size = renderer.getDrawingBufferSize(); + renderTarget = new THREE.WebGLRenderTarget( size.width, size.height, parameters ); + renderTarget.texture.name = 'EffectComposer.rt1'; + + } + + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + this.renderTarget2.texture.name = 'EffectComposer.rt2'; + + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + + this.passes = []; + + // dependencies + + if ( THREE.CopyShader === undefined ) { + + console.error( 'THREE.EffectComposer relies on THREE.CopyShader' ); + + } + + if ( THREE.ShaderPass === undefined ) { + + console.error( 'THREE.EffectComposer relies on THREE.ShaderPass' ); + + } + + this.copyPass = new THREE.ShaderPass( THREE.CopyShader ); + +}; + +Object.assign( THREE.EffectComposer.prototype, { + + swapBuffers: function() { + + var tmp = this.readBuffer; + this.readBuffer = this.writeBuffer; + this.writeBuffer = tmp; + + }, + + addPass: function ( pass ) { + + this.passes.push( pass ); + + var size = this.renderer.getDrawingBufferSize(); + pass.setSize( size.width, size.height ); + + }, + + insertPass: function ( pass, index ) { + + this.passes.splice( index, 0, pass ); + + }, + + render: function ( delta ) { + + var maskActive = false; + + var pass, i, il = this.passes.length; + + for ( i = 0; i < il; i ++ ) { + + pass = this.passes[ i ]; + + if ( pass.enabled === false ) continue; + + pass.render( this.renderer, this.writeBuffer, this.readBuffer, delta, maskActive ); + + if ( pass.needsSwap ) { + + if ( maskActive ) { + + var context = this.renderer.context; + + context.stencilFunc( context.NOTEQUAL, 1, 0xffffffff ); + + this.copyPass.render( this.renderer, this.writeBuffer, this.readBuffer, delta ); + + context.stencilFunc( context.EQUAL, 1, 0xffffffff ); + + } + + this.swapBuffers(); + + } + + if ( THREE.MaskPass !== undefined ) { + + if ( pass instanceof THREE.MaskPass ) { + + maskActive = true; + + } else if ( pass instanceof THREE.ClearMaskPass ) { + + maskActive = false; + + } + + } + + } + + }, + + reset: function ( renderTarget ) { + + if ( renderTarget === undefined ) { + + var size = this.renderer.getDrawingBufferSize(); + + renderTarget = this.renderTarget1.clone(); + renderTarget.setSize( size.width, size.height ); + + } + + this.renderTarget1.dispose(); + this.renderTarget2.dispose(); + this.renderTarget1 = renderTarget; + this.renderTarget2 = renderTarget.clone(); + + this.writeBuffer = this.renderTarget1; + this.readBuffer = this.renderTarget2; + + }, + + setSize: function ( width, height ) { + + this.renderTarget1.setSize( width, height ); + this.renderTarget2.setSize( width, height ); + + for ( var i = 0; i < this.passes.length; i ++ ) { + + this.passes[i].setSize( width, height ); + + } + + } + +} ); + + +THREE.Pass = function () { + + // if set to true, the pass is processed by the composer + this.enabled = true; + + // if set to true, the pass indicates to swap read and write buffer after rendering + this.needsSwap = true; + + // if set to true, the pass clears its buffer before rendering + this.clear = false; + + // if set to true, the result of the pass is rendered to screen + this.renderToScreen = false; + +}; + +Object.assign( THREE.Pass.prototype, { + + setSize: function( width, height ) {}, + + render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { + + console.error( 'THREE.Pass: .render() must be implemented in derived pass.' ); + + } + +} ); diff --git a/rcs/chaxun/js/FilmPass.js b/rcs/chaxun/js/FilmPass.js new file mode 100644 index 0000000..e999fb0 --- /dev/null +++ b/rcs/chaxun/js/FilmPass.js @@ -0,0 +1,61 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.FilmPass = function ( noiseIntensity, scanlinesIntensity, scanlinesCount, grayscale ) { + + THREE.Pass.call( this ); + + if ( THREE.FilmShader === undefined ) + console.error( "THREE.FilmPass relies on THREE.FilmShader" ); + + var shader = THREE.FilmShader; + + this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); + + this.material = new THREE.ShaderMaterial( { + + uniforms: this.uniforms, + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + + } ); + + if ( grayscale !== undefined ) this.uniforms.grayscale.value = grayscale; + if ( noiseIntensity !== undefined ) this.uniforms.nIntensity.value = noiseIntensity; + if ( scanlinesIntensity !== undefined ) this.uniforms.sIntensity.value = scanlinesIntensity; + if ( scanlinesCount !== undefined ) this.uniforms.sCount.value = scanlinesCount; + + this.camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); + this.scene = new THREE.Scene(); + + this.quad = new THREE.Mesh( new THREE.PlaneBufferGeometry( 2, 2 ), null ); + this.quad.frustumCulled = false; // Avoid getting clipped + this.scene.add( this.quad ); + +}; + +THREE.FilmPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.FilmPass, + + render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { + + this.uniforms[ "tDiffuse" ].value = readBuffer.texture; + this.uniforms[ "time" ].value += delta; + + this.quad.material = this.material; + + if ( this.renderToScreen ) { + + renderer.render( this.scene, this.camera ); + + } else { + + renderer.render( this.scene, this.camera, writeBuffer, this.clear ); + + } + + } + +} ); diff --git a/rcs/chaxun/js/FilmShader.js b/rcs/chaxun/js/FilmShader.js new file mode 100644 index 0000000..3028fbc --- /dev/null +++ b/rcs/chaxun/js/FilmShader.js @@ -0,0 +1,104 @@ +/** + * @author alteredq / http://alteredqualia.com/ + * + * Film grain & scanlines shader + * + * - ported from HLSL to WebGL / GLSL + * http://www.truevision3d.com/forums/showcase/staticnoise_colorblackwhite_scanline_shaders-t18698.0.html + * + * Screen Space Static Postprocessor + * + * Produces an analogue noise overlay similar to a film grain / TV static + * + * Original implementation and noise algorithm + * Pat 'Hawthorne' Shearon + * + * Optimized scanlines + noise version with intensity scaling + * Georg 'Leviathan' Steinrohder + * + * This version is provided under a Creative Commons Attribution 3.0 License + * http://creativecommons.org/licenses/by/3.0/ + */ + +THREE.FilmShader = { + + uniforms: { + + "tDiffuse": { value: null }, + "time": { value: 0.0 }, + "nIntensity": { value: 0.5 }, + "sIntensity": { value: 0.05 }, + "sCount": { value: 4096 }, + "grayscale": { value: 1 } + + }, + + vertexShader: [ + + "varying vec2 vUv;", + + "void main() {", + + "vUv = uv;", + "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );", + + "}" + + ].join( "\n" ), + + fragmentShader: [ + + "#include ", + + // control parameter + "uniform float time;", + + "uniform bool grayscale;", + + // noise effect intensity value (0 = no effect, 1 = full effect) + "uniform float nIntensity;", + + // scanlines effect intensity value (0 = no effect, 1 = full effect) + "uniform float sIntensity;", + + // scanlines effect count value (0 = no effect, 4096 = full effect) + "uniform float sCount;", + + "uniform sampler2D tDiffuse;", + + "varying vec2 vUv;", + + "void main() {", + + // sample the source + "vec4 cTextureScreen = texture2D( tDiffuse, vUv );", + + // make some noise + "float dx = rand( vUv + time );", + + // add noise + "vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx, 0.0, 1.0 );", + + // get us a sine and cosine + "vec2 sc = vec2( sin( vUv.y * sCount ), cos( vUv.y * sCount ) );", + + // add scanlines + "cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;", + + // interpolate between source and result by intensity + "cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );", + + // convert to grayscale if desired + "if( grayscale ) {", + + "cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );", + + "}", + + "gl_FragColor = vec4( cResult, cTextureScreen.a );", + + "}" + + ].join( "\n" ) + +}; diff --git a/rcs/chaxun/js/RenderPass.js b/rcs/chaxun/js/RenderPass.js new file mode 100644 index 0000000..2711be7 --- /dev/null +++ b/rcs/chaxun/js/RenderPass.js @@ -0,0 +1,63 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.RenderPass = function ( scene, camera, overrideMaterial, clearColor, clearAlpha ) { + + THREE.Pass.call( this ); + + this.scene = scene; + this.camera = camera; + + this.overrideMaterial = overrideMaterial; + + this.clearColor = clearColor; + this.clearAlpha = ( clearAlpha !== undefined ) ? clearAlpha : 0; + + this.clear = true; + this.clearDepth = false; + this.needsSwap = false; + +}; + +THREE.RenderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.RenderPass, + + render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) { + + var oldAutoClear = renderer.autoClear; + renderer.autoClear = false; + + this.scene.overrideMaterial = this.overrideMaterial; + + var oldClearColor, oldClearAlpha; + + if ( this.clearColor ) { + + oldClearColor = renderer.getClearColor().getHex(); + oldClearAlpha = renderer.getClearAlpha(); + + renderer.setClearColor( this.clearColor, this.clearAlpha ); + + } + + if ( this.clearDepth ) { + + renderer.clearDepth(); + + } + + renderer.render( this.scene, this.camera, this.renderToScreen ? null : readBuffer, this.clear ); + + if ( this.clearColor ) { + + renderer.setClearColor( oldClearColor, oldClearAlpha ); + + } + + this.scene.overrideMaterial = null; + renderer.autoClear = oldAutoClear; + } + +} ); diff --git a/rcs/chaxun/js/ShaderPass.js b/rcs/chaxun/js/ShaderPass.js new file mode 100644 index 0000000..d42d206 --- /dev/null +++ b/rcs/chaxun/js/ShaderPass.js @@ -0,0 +1,67 @@ +/** + * @author alteredq / http://alteredqualia.com/ + */ + +THREE.ShaderPass = function ( shader, textureID ) { + + THREE.Pass.call( this ); + + this.textureID = ( textureID !== undefined ) ? textureID : "tDiffuse"; + + if ( shader instanceof THREE.ShaderMaterial ) { + + this.uniforms = shader.uniforms; + + this.material = shader; + + } else if ( shader ) { + + this.uniforms = THREE.UniformsUtils.clone( shader.uniforms ); + + this.material = new THREE.ShaderMaterial( { + + defines: shader.defines || {}, + uniforms: this.uniforms, + vertexShader: shader.vertexShader, + fragmentShader: shader.fragmentShader + + } ); + + } + + this.camera = new THREE.OrthographicCamera( - 1, 1, 1, - 1, 0, 1 ); + this.scene = new THREE.Scene(); + + this.quad = new THREE.Mesh( new THREE.PlaneBufferGeometry( 2, 2 ), null ); + this.quad.frustumCulled = false; // Avoid getting clipped + this.scene.add( this.quad ); + +}; + +THREE.ShaderPass.prototype = Object.assign( Object.create( THREE.Pass.prototype ), { + + constructor: THREE.ShaderPass, + + render: function( renderer, writeBuffer, readBuffer, delta, maskActive ) { + + if ( this.uniforms[ this.textureID ] ) { + + this.uniforms[ this.textureID ].value = readBuffer.texture; + + } + + this.quad.material = this.material; + + if ( this.renderToScreen ) { + + renderer.render( this.scene, this.camera ); + + } else { + + renderer.render( this.scene, this.camera, writeBuffer, this.clear ); + + } + + } + +} ); diff --git a/rcs/chaxun/js/index.js b/rcs/chaxun/js/index.js new file mode 100644 index 0000000..19eb0fa --- /dev/null +++ b/rcs/chaxun/js/index.js @@ -0,0 +1,99 @@ +var container = document.getElementById("container"); +var width = container.clientWidth; +var height = container.clientHeight; +var aspect = width / height; +var renderer = new THREE.WebGLRenderer(); +renderer.setSize(width, height); +container.appendChild(renderer.domElement); + +var scene = new THREE.Scene(); + +var camera = new THREE.PerspectiveCamera(50, aspect, 0.1, 1000); +camera.position.z = 500 + +system = new THREE.Group(); // planetary system + +scene.add( + new THREE.AmbientLight(0xFFFFFF, 0.2) +); + +var light = new THREE.DirectionalLight(0xFFFFFF, 2.5); +light.position.set(1500, 2500, 0); +scene.add(light); + +var material = new THREE.MeshLambertMaterial({ + color: 0x0C2D4D +}); + +var planet = new THREE.Mesh( + new THREE.IcosahedronGeometry(100, 3), + material +); + +for (var i = 0; i < planet.geometry.vertices.length; i++) + planet.geometry.vertices[i].multiplyScalar( + Math.random() * 0.05 + 0.95 + ); + +planet.geometry.computeFlatVertexNormals(); +system.add(planet); + +var asteroids = new THREE.Group(); + +for (var p = 0; p < Math.PI * 2; p = p + Math.random() * 0.15) { + var asteroid = new THREE.Mesh( + new THREE.IcosahedronGeometry(8, 0), + material + ); + + var size = Math.random() * 0.5; + for (var i = 0; i < asteroid.geometry.vertices.length; i++) + asteroid.geometry.vertices[i].multiplyScalar( + Math.random() * 0.5 + size + ); + + rand = Math.random() * 60 - 30; + asteroid.position.set(200 * Math.sin(p) + rand, rand, 200 * Math.cos(p) + rand); + + asteroid.geometry.computeFlatVertexNormals(); + asteroids.add(asteroid); +} + +system.add(asteroids); + +system.rotation.x = 0.1; +system.rotation.y = -.3; +system.rotation.z = -0.4; + +scene.add(system); + +for (i = 0; i < 10; i++) { + particles = new THREE.Points( + new THREE.Geometry(), + new THREE.PointsMaterial({ + size: Math.random() * 5 + }) + ); + for (j = 0; j < 20; j++) { + var vertex = new THREE.Vector3(); + vertex.x = Math.random() * width * 1.1 - width * 1.1 / 2; + vertex.y = Math.random() * height * 1.1 - height * 1.1 / 2; + vertex.z = -500; + particles.geometry.vertices.push(vertex); + particles.material.color.setScalar(Math.random() * 0.4 + 0.2); + } + scene.add(particles); +} + +function render() { + requestAnimationFrame(render); + + planet.rotation.y += 0.001; + planet.rotation.z -= 0.0005; + + asteroids.rotation.y += 0.003; + + renderer.render(scene, camera); +} + +render(); \ No newline at end of file diff --git a/rcs/chaxun/js/three.min.js b/rcs/chaxun/js/three.min.js new file mode 100644 index 0000000..76310b5 --- /dev/null +++ b/rcs/chaxun/js/three.min.js @@ -0,0 +1,859 @@ +// threejs.org/license +(function(l,pa){"object"===typeof exports&&"undefined"!==typeof module?pa(exports):"function"===typeof define&&define.amd?define(["exports"],pa):pa(l.THREE=l.THREE||{})})(this,function(l){function pa(){}function D(a,b){this.x=a||0;this.y=b||0}function ea(a,b,c,d,e,f,g,h,m,k){Object.defineProperty(this,"id",{value:Ze++});this.uuid=N.generateUUID();this.name="";this.image=void 0!==a?a:ea.DEFAULT_IMAGE;this.mipmaps=[];this.mapping=void 0!==b?b:ea.DEFAULT_MAPPING;this.wrapS=void 0!==c?c:1001;this.wrapT= +void 0!==d?d:1001;this.magFilter=void 0!==e?e:1006;this.minFilter=void 0!==f?f:1008;this.anisotropy=void 0!==m?m:1;this.format=void 0!==g?g:1023;this.type=void 0!==h?h:1009;this.offset=new D(0,0);this.repeat=new D(1,1);this.generateMipmaps=!0;this.premultiplyAlpha=!1;this.flipY=!0;this.unpackAlignment=4;this.encoding=void 0!==k?k:3E3;this.version=0;this.onUpdate=null}function fa(a,b,c,d){this.x=a||0;this.y=b||0;this.z=c||0;this.w=void 0!==d?d:1}function Ya(a,b,c){this.uuid=N.generateUUID();this.width= +a;this.height=b;this.scissor=new fa(0,0,a,b);this.scissorTest=!1;this.viewport=new fa(0,0,a,b);c=c||{};void 0===c.minFilter&&(c.minFilter=1006);this.texture=new ea(void 0,void 0,c.wrapS,c.wrapT,c.magFilter,c.minFilter,c.format,c.type,c.anisotropy,c.encoding);this.depthBuffer=void 0!==c.depthBuffer?c.depthBuffer:!0;this.stencilBuffer=void 0!==c.stencilBuffer?c.stencilBuffer:!0;this.depthTexture=void 0!==c.depthTexture?c.depthTexture:null}function Gb(a,b,c){Ya.call(this,a,b,c);this.activeMipMapLevel= +this.activeCubeFace=0}function ca(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function q(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function S(){this.elements=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);0= +d||0 0 ) {\nfloat depth = gl_FragCoord.z / gl_FragCoord.w;\nfloat fogFactor = 0.0;\nif ( fogType == 1 ) {\nfogFactor = smoothstep( fogNear, fogFar, depth );\n} else {\nconst float LOG2 = 1.442695;\nfogFactor = exp2( - fogDensity * fogDensity * depth * depth * LOG2 );\nfogFactor = 1.0 - clamp( fogFactor, 0.0, 1.0 );\n}\ngl_FragColor = mix( gl_FragColor, vec4( fogColor, gl_FragColor.w ), fogFactor );\n}\n}"].join("\n")); +v.compileShader(M);v.compileShader(O);v.attachShader(Q,M);v.attachShader(Q,O);v.linkProgram(Q);F=Q;w=v.getAttribLocation(F,"position");y=v.getAttribLocation(F,"uv");c=v.getUniformLocation(F,"uvOffset");d=v.getUniformLocation(F,"uvScale");e=v.getUniformLocation(F,"rotation");f=v.getUniformLocation(F,"scale");g=v.getUniformLocation(F,"color");h=v.getUniformLocation(F,"map");m=v.getUniformLocation(F,"opacity");k=v.getUniformLocation(F,"modelViewMatrix");t=v.getUniformLocation(F,"projectionMatrix");p= +v.getUniformLocation(F,"fogType");n=v.getUniformLocation(F,"fogDensity");u=v.getUniformLocation(F,"fogNear");l=v.getUniformLocation(F,"fogFar");r=v.getUniformLocation(F,"fogColor");A=v.getUniformLocation(F,"alphaTest");Q=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");Q.width=8;Q.height=8;M=Q.getContext("2d");M.fillStyle="white";M.fillRect(0,0,8,8);da=new ea(Q);da.needsUpdate=!0}v.useProgram(F);E.initAttributes();E.enableAttribute(w);E.enableAttribute(y);E.disableUnusedAttributes(); +E.disable(v.CULL_FACE);E.enable(v.BLEND);v.bindBuffer(v.ARRAY_BUFFER,L);v.vertexAttribPointer(w,2,v.FLOAT,!1,16,0);v.vertexAttribPointer(y,2,v.FLOAT,!1,16,8);v.bindBuffer(v.ELEMENT_ARRAY_BUFFER,C);v.uniformMatrix4fv(t,!1,D.projectionMatrix.elements);E.activeTexture(v.TEXTURE0);v.uniform1i(h,0);M=Q=0;(O=q.fog)?(v.uniform3f(r,O.color.r,O.color.g,O.color.b),O.isFog?(v.uniform1f(u,O.near),v.uniform1f(l,O.far),v.uniform1i(p,1),M=Q=1):O.isFogExp2&&(v.uniform1f(n,O.density),v.uniform1i(p,2),M=Q=2)):(v.uniform1i(p, +0),M=Q=0);for(var O=0,P=b.length;O +c&&(c=a[b]);return c}function T(){Object.defineProperty(this,"id",{value:Vd++});this.uuid=N.generateUUID();this.name="";this.type="Geometry";this.vertices=[];this.colors=[];this.faces=[];this.faceVertexUvs=[[]];this.morphTargets=[];this.morphNormals=[];this.skinWeights=[];this.skinIndices=[];this.lineDistances=[];this.boundingSphere=this.boundingBox=null;this.groupsNeedUpdate=this.lineDistancesNeedUpdate=this.colorsNeedUpdate=this.normalsNeedUpdate=this.uvsNeedUpdate=this.verticesNeedUpdate=this.elementsNeedUpdate= +!1}function I(){Object.defineProperty(this,"id",{value:Vd++});this.uuid=N.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity}}function Aa(a,b){x.call(this);this.type="Mesh";this.geometry=void 0!==a?a:new I;this.material=void 0!==b?b:new Ka({color:16777215*Math.random()});this.drawMode=0;this.updateMorphTargets()}function Ib(a,b,c,d,e,f){T.call(this); +this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new kb(a,b,c,d,e,f));this.mergeVertices()}function kb(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,L,C,F){var da=f/L,H=g/C,aa=f/2,x=g/2,D=l/2;g=L+1;var z=C+1,Q=f=0,M,O,P=new q;for(O=0;O/g,function(a,c){var d=Z[c];if(void 0===d)throw Error("Can not resolve #include <"+c+">");return Xd(d)})}function Qe(a){return a.replace(/for \( int i \= (\d+)\; i < (\d+)\; i \+\+ \) \{([\s\S]+?)(?=\})\}/g,function(a,c,d,e){a="";for(c=parseInt(c);cb||a.height>b){var c=b/Math.max(a.width,a.height),d=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");d.width=Math.floor(a.width*c);d.height=Math.floor(a.height*c);d.getContext("2d").drawImage(a,0,0,a.width,a.height,0,0,d.width,d.height);console.warn("THREE.WebGLRenderer: image is too big ("+a.width+"x"+a.height+"). Resized to "+ +d.width+"x"+d.height,a);return d}return a}function m(a){return N.isPowerOfTwo(a.width)&&N.isPowerOfTwo(a.height)}function k(b){return 1003===b||1004===b||1005===b?a.NEAREST:a.LINEAR}function t(b){b=b.target;b.removeEventListener("dispose",t);a:{var c=d.get(b);if(b.image&&c.__image__webglTextureCube)a.deleteTexture(c.__image__webglTextureCube);else{if(void 0===c.__webglInit)break a;a.deleteTexture(c.__webglTexture)}d["delete"](b)}q.textures--}function p(b){b=b.target;b.removeEventListener("dispose", +p);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e=0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d["delete"](b.texture);d["delete"](b)}q.textures--}function n(b,g){var k=d.get(b);if(0< +b.version&&k.__version!==b.version){var n=b.image;if(void 0===n)console.warn("THREE.WebGLRenderer: Texture marked for update but image is undefined",b);else if(!1===n.complete)console.warn("THREE.WebGLRenderer: Texture marked for update but image is incomplete",b);else{void 0===k.__webglInit&&(k.__webglInit=!0,b.addEventListener("dispose",t),k.__webglTexture=a.createTexture(),q.textures++);c.activeTexture(a.TEXTURE0+g);c.bindTexture(a.TEXTURE_2D,k.__webglTexture);a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL, +b.flipY);a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b.premultiplyAlpha);a.pixelStorei(a.UNPACK_ALIGNMENT,b.unpackAlignment);var p=h(b.image,e.maxTextureSize);if((1001!==b.wrapS||1001!==b.wrapT||1003!==b.minFilter&&1006!==b.minFilter)&&!1===m(p))if(n=p,n instanceof HTMLImageElement||n instanceof HTMLCanvasElement){var l=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");l.width=N.nearestPowerOfTwo(n.width);l.height=N.nearestPowerOfTwo(n.height);l.getContext("2d").drawImage(n,0,0, +l.width,l.height);console.warn("THREE.WebGLRenderer: image is not power of two ("+n.width+"x"+n.height+"). Resized to "+l.width+"x"+l.height,n);p=l}else p=n;var n=m(p),l=f(b.format),G=f(b.type);u(a.TEXTURE_2D,b,n);var r=b.mipmaps;if(b.isDepthTexture){r=a.DEPTH_COMPONENT;if(1015===b.type){if(!w)throw Error("Float Depth Texture only supported in WebGL2.0");r=a.DEPTH_COMPONENT32F}else w&&(r=a.DEPTH_COMPONENT16);1026===b.format&&r===a.DEPTH_COMPONENT&&1012!==b.type&&1014!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedShortType or UnsignedIntType for DepthFormat DepthTexture."), +b.type=1012,G=f(b.type));1027===b.format&&(r=a.DEPTH_STENCIL,1020!==b.type&&(console.warn("THREE.WebGLRenderer: Use UnsignedInt248Type for DepthStencilFormat DepthTexture."),b.type=1020,G=f(b.type)));c.texImage2D(a.TEXTURE_2D,0,r,p.width,p.height,0,l,G,null)}else if(b.isDataTexture)if(0r;r++)l[r]=n||p?p?b.image[r].image:b.image[r]:h(b.image[r],e.maxCubemapSize);var G=m(l[0]),w=f(b.format),aa=f(b.type);u(a.TEXTURE_CUBE_MAP,b,G);for(r=0;6>r;r++)if(n)for(var x,D=l[r].mipmaps,z=0,Q=D.length;zk;k++)e.__webglFramebuffer[k]=a.createFramebuffer()}else e.__webglFramebuffer= +a.createFramebuffer();if(g){c.bindTexture(a.TEXTURE_CUBE_MAP,f.__webglTexture);u(a.TEXTURE_CUBE_MAP,b.texture,h);for(k=0;6>k;k++)l(e.__webglFramebuffer[k],b,a.COLOR_ATTACHMENT0,a.TEXTURE_CUBE_MAP_POSITIVE_X+k);b.texture.generateMipmaps&&h&&a.generateMipmap(a.TEXTURE_CUBE_MAP);c.bindTexture(a.TEXTURE_CUBE_MAP,null)}else c.bindTexture(a.TEXTURE_2D,f.__webglTexture),u(a.TEXTURE_2D,b.texture,h),l(e.__webglFramebuffer,b,a.COLOR_ATTACHMENT0,a.TEXTURE_2D),b.texture.generateMipmaps&&h&&a.generateMipmap(a.TEXTURE_2D), +c.bindTexture(a.TEXTURE_2D,null);if(b.depthBuffer){e=d.get(b);f=!0===b.isWebGLRenderTargetCube;if(b.depthTexture){if(f)throw Error("target.depthTexture not supported in Cube render targets");if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported!");a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&& +b.depthTexture.image.width===b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);n(b.depthTexture,0);e=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_ATTACHMENT,a.TEXTURE_2D,e,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(a.FRAMEBUFFER,a.DEPTH_STENCIL_ATTACHMENT,a.TEXTURE_2D,e,0);else throw Error("Unknown depthTexture format"); +}else if(f)for(e.__webglDepthbuffer=[],f=0;6>f;f++)a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer[f]),e.__webglDepthbuffer[f]=a.createRenderbuffer(),r(e.__webglDepthbuffer[f],b);else a.bindFramebuffer(a.FRAMEBUFFER,e.__webglFramebuffer),e.__webglDepthbuffer=a.createRenderbuffer(),r(e.__webglDepthbuffer,b);a.bindFramebuffer(a.FRAMEBUFFER,null)}};this.updateRenderTargetMipmap=function(b){var e=b.texture;e.generateMipmaps&&m(b)&&1003!==e.minFilter&&1006!==e.minFilter&&(b=b&&b.isWebGLRenderTargetCube? +a.TEXTURE_CUBE_MAP:a.TEXTURE_2D,e=d.get(e).__webglTexture,c.bindTexture(b,e),a.generateMipmap(b),c.bindTexture(b,null))}}function Qf(){var a={};return{get:function(b){b=b.uuid;var c=a[b];void 0===c&&(c={},a[b]=c);return c},"delete":function(b){delete a[b.uuid]},clear:function(){a={}}}}function Rf(a,b,c){function d(b,c,d){var e=new Uint8Array(4),f=a.createTexture();a.bindTexture(b,f);a.texParameteri(b,a.TEXTURE_MIN_FILTER,a.NEAREST);a.texParameteri(b,a.TEXTURE_MAG_FILTER,a.NEAREST);for(b=0;b=la.maxTextures&&console.warn("WebGLRenderer: trying to use "+a+" texture units while this GPU supports only "+ +la.maxTextures);ea+=1;return a};this.setTexture2D=function(){var a=!1;return function(b,c){b&&b.isWebGLRenderTarget&&(a||(console.warn("THREE.WebGLRenderer.setTexture2D: don't use render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);ta.setTexture2D(b,c)}}();this.setTexture=function(){var a=!1;return function(b,c){a||(console.warn("THREE.WebGLRenderer: .setTexture is deprecated, use setTexture2D instead."),a=!0);ta.setTexture2D(b,c)}}();this.setTextureCube=function(){var a= +!1;return function(b,c){b&&b.isWebGLRenderTargetCube&&(a||(console.warn("THREE.WebGLRenderer.setTextureCube: don't use cube render targets as textures. Use their .texture property instead."),a=!0),b=b.texture);b&&b.isCubeTexture||Array.isArray(b.image)&&6===b.image.length?ta.setTextureCube(b,c):ta.setTextureCubeDynamic(b,c)}}();this.getCurrentRenderTarget=function(){return W};this.setRenderTarget=function(a){(W=a)&&void 0===ha.get(a).__webglFramebuffer&&ta.setupRenderTarget(a);var b=a&&a.isWebGLRenderTargetCube, +c;a?(c=ha.get(a),c=b?c.__webglFramebuffer[a.activeCubeFace]:c.__webglFramebuffer,X.copy(a.scissor),Sa=a.scissorTest,Z.copy(a.viewport)):(c=null,X.copy(ga).multiplyScalar(Ra),Sa=ka,Z.copy(ia).multiplyScalar(Ra));N!==c&&(B.bindFramebuffer(B.FRAMEBUFFER,c),N=c);Y.scissor(X);Y.setScissorTest(Sa);Y.viewport(Z);b&&(b=ha.get(a.texture),B.framebufferTexture2D(B.FRAMEBUFFER,B.COLOR_ATTACHMENT0,B.TEXTURE_CUBE_MAP_POSITIVE_X+a.activeCubeFace,b.__webglTexture,a.activeMipMapLevel))};this.readRenderTargetPixels= +function(a,b,c,d,e,f){if(!1===(a&&a.isWebGLRenderTarget))console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not THREE.WebGLRenderTarget.");else{var g=ha.get(a).__webglFramebuffer;if(g){var h=!1;g!==N&&(B.bindFramebuffer(B.FRAMEBUFFER,g),h=!0);try{var k=a.texture,m=k.format,n=k.type;1023!==m&&w(m)!==B.getParameter(B.IMPLEMENTATION_COLOR_READ_FORMAT)?console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in RGBA or implementation defined format."):1009=== +n||w(n)===B.getParameter(B.IMPLEMENTATION_COLOR_READ_TYPE)||1015===n&&(ja.get("OES_texture_float")||ja.get("WEBGL_color_buffer_float"))||1016===n&&ja.get("EXT_color_buffer_half_float")?B.checkFramebufferStatus(B.FRAMEBUFFER)===B.FRAMEBUFFER_COMPLETE?0<=b&&b<=a.width-d&&0<=c&&c<=a.height-e&&B.readPixels(b,c,d,e,w(m),w(n),f):console.error("THREE.WebGLRenderer.readRenderTargetPixels: readPixels from renderTarget failed. Framebuffer not complete."):console.error("THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.")}finally{h&& +B.bindFramebuffer(B.FRAMEBUFFER,N)}}}}}function Kb(a,b){this.name="";this.color=new J(a);this.density=void 0!==b?b:2.5E-4}function Lb(a,b,c){this.name="";this.color=new J(a);this.near=void 0!==b?b:1;this.far=void 0!==c?c:1E3}function mb(){x.call(this);this.type="Scene";this.overrideMaterial=this.fog=this.background=null;this.autoUpdate=!0}function Zd(a,b,c,d,e){x.call(this);this.lensFlares=[];this.positionScreen=new q;this.customUpdateCallback=void 0;void 0!==a&&this.add(a,b,c,d,e)}function nb(a){X.call(this); +this.type="SpriteMaterial";this.color=new J(16777215);this.map=null;this.rotation=0;this.lights=this.fog=!1;this.setValues(a)}function Dc(a){x.call(this);this.type="Sprite";this.material=void 0!==a?a:new nb}function Ec(){x.call(this);this.type="LOD";Object.defineProperties(this,{levels:{enumerable:!0,value:[]}})}function od(a,b,c){this.useVertexTexture=void 0!==c?c:!0;this.identityMatrix=new S;a=a||[];this.bones=a.slice(0);this.useVertexTexture?(a=Math.sqrt(4*this.bones.length),a=N.nextPowerOfTwo(Math.ceil(a)), +this.boneTextureHeight=this.boneTextureWidth=a=Math.max(a,4),this.boneMatrices=new Float32Array(this.boneTextureWidth*this.boneTextureHeight*4),this.boneTexture=new eb(this.boneMatrices,this.boneTextureWidth,this.boneTextureHeight,1023,1015)):this.boneMatrices=new Float32Array(16*this.bones.length);if(void 0===b)this.calculateInverses();else if(this.bones.length===b.length)this.boneInverses=b.slice(0);else for(console.warn("THREE.Skeleton bonInverses is the wrong length."),this.boneInverses=[],b= +0,a=this.bones.length;b=a.HAVE_CURRENT_DATA&&(t.needsUpdate=!0)}ea.call(this,a,b,c,d,e,f,g,h,m);this.generateMipmaps=!1;var t=this;k()}function Nb(a,b,c,d,e,f,g,h,m,k,t,p){ea.call(this,null,f,g,h,m,k,d,e,t,p);this.image={width:b,height:c};this.mipmaps=a;this.generateMipmaps=this.flipY=!1}function sd(a,b,c,d,e,f,g,h,m){ea.call(this,a,b,c,d,e,f,g,h,m);this.needsUpdate=!0}function Gc(a,b,c,d,e,f,g, +h,m,k){k=void 0!==k?k:1026;if(1026!==k&&1027!==k)throw Error("DepthTexture format must be either THREE.DepthFormat or THREE.DepthStencilFormat");void 0===c&&1026===k&&(c=1012);void 0===c&&1027===k&&(c=1020);ea.call(this,null,d,e,f,g,h,k,c,m);this.image={width:a,height:b};this.magFilter=void 0!==g?g:1003;this.minFilter=void 0!==h?h:1003;this.generateMipmaps=this.flipY=!1}function Ob(a){function b(a,b){return a-b}I.call(this);this.type="WireframeGeometry";var c=[],d,e,f,g,h=[0,0],m={},k,t=["a","b", +"c"];if(a&&a.isGeometry){var p=a.faces;d=0;for(f=p.length;de;e++)h[0]=n[t[e]],h[1]=n[t[(e+1)%3]],h.sort(b),k=h.toString(),void 0===m[k]&&(m[k]={index1:h[0],index2:h[1]})}for(k in m)d=m[k],t=a.vertices[d.index1],c.push(t.x,t.y,t.z),t=a.vertices[d.index2],c.push(t.x,t.y,t.z)}else if(a&&a.isBufferGeometry){var l,t=new q;if(null!==a.index){p=a.attributes.position;n=a.index;l=a.groups;0===l.length&&a.addGroup(0,n.count);a=0;for(g=l.length;ae;e++)h[0]=n.getX(d+e),h[1]=n.getX(d+(e+1)%3),h.sort(b),k=h.toString(),void 0===m[k]&&(m[k]={index1:h[0],index2:h[1]});for(k in m)d=m[k],t.fromBufferAttribute(p,d.index1),c.push(t.x,t.y,t.z),t.fromBufferAttribute(p,d.index2),c.push(t.x,t.y,t.z)}else for(p=a.attributes.position,d=0,f=p.count/3;de;e++)m=3*d+e,t.fromBufferAttribute(p,m),c.push(t.x,t.y,t.z),m=3*d+(e+1)%3,t.fromBufferAttribute(p,m),c.push(t.x,t.y,t.z)}this.addAttribute("position",new z(c,3))} +function Hc(a,b,c){T.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new Pb(a,b,c));this.mergeVertices()}function Pb(a,b,c){I.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g,h,m=b+1;for(g=0;g<=c;g++){var k=g/c;for(h=0;h<=b;h++){var t=h/b,p=a(t,k);e.push(p.x,p.y,p.z);f.push(t,k)}}for(g=0;gd&&1===a.x&&(m[b]=a.x-1);0===c.x&&0===c.z&&(m[b]=d/2/Math.PI+ +.5)}I.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;var h=[],m=[];(function(a){for(var c=new q,d=new q,g=new q,h=0;he&&(.2>b&&(m[a+0]+=1),.2>c&&(m[a+2]+=1),.2>d&&(m[a+4]+=1))})();this.addAttribute("position",new z(h,3));this.addAttribute("normal",new z(h.slice(),3));this.addAttribute("uv", +new z(m,2));this.normalizeNormals()}function Jc(a,b){T.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Qb(a,b));this.mergeVertices()}function Qb(a,b){Ba.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Kc(a,b){T.call(this);this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new ob(a,b));this.mergeVertices()} +function ob(a,b){Ba.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Lc(a,b){T.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Rb(a,b));this.mergeVertices()}function Rb(a,b){var c=(1+Math.sqrt(5))/2;Ba.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11, +5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Mc(a,b){T.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new Sb(a,b));this.mergeVertices()}function Sb(a,b){var c=(1+Math.sqrt(5))/2,d=1/c;Ba.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0, +d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Nc(a,b,c,d,e,f){T.call(this);this.type="TubeGeometry";this.parameters={path:a, +tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new Tb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function Tb(a,b,c,d,e){function f(e){var f=a.getPointAt(e/b),k=g.normals[e];e=g.binormals[e];for(p=0;p<=d;p++){var t=p/d*Math.PI*2,r=Math.sin(t),t=-Math.cos(t);m.x=t*k.x+r*e.x;m.y=t*k.y+r*e.y;m.z=t*k.z+r*e.z;m.normalize();l.push(m.x, +m.y,m.z);h.x=f.x+c*m.x;h.y=f.y+c*m.y;h.z=f.z+c*m.z;n.push(h.x,h.y,h.z)}}I.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new q,m=new q,k=new D,t,p,n=[],l=[],G=[],r=[];for(t=0;tq;q++)f[0]=l[m[q]],f[1]=l[m[(q+1)%3]],f.sort(c),h=f.toString(),void 0===g[h]?g[h]={index1:f[0],index2:f[1],face1:p,face2:void 0}:g[h].face2=p;for(h in g)if(f=g[h],void 0===f.face2||k[f.face1].normal.dot(k[f.face2].normal)<= +e)m=t[f.index1],d.push(m.x,m.y,m.z),m=t[f.index2],d.push(m.x,m.y,m.z);this.addAttribute("position",new z(d,3))}function qb(a,b,c,d,e,f,g,h){T.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new Va(a,b,c,d,e,f,g,h));this.mergeVertices()}function Va(a,b,c,d,e,f,g,h){function m(c){var e,f,m,r=new D,C=new q,F=0,x=!0===c?a:b,H=!0===c?1:-1;f=G;for(e=1;e<=d;e++)p.push(0, +A*H,0),n.push(0,H,0),l.push(.5,.5),G++;m=G;for(e=0;e<=d;e++){var aa=e/d*h+g,z=Math.cos(aa),aa=Math.sin(aa);C.x=x*aa;C.y=A*H;C.z=x*z;p.push(C.x,C.y,C.z);n.push(0,H,0);r.x=.5*z+.5;r.y=.5*aa*H+.5;l.push(r.x,r.y);G++}for(e=0;ethis.duration&&this.resetDuration();this.optimize()}function Hd(a){this.manager= +void 0!==a?a:ta;this.textures={}}function ce(a){this.manager=void 0!==a?a:ta}function zb(){this.onLoadStart=function(){};this.onLoadProgress=function(){};this.onLoadComplete=function(){}}function de(a){"boolean"===typeof a&&(console.warn("THREE.JSONLoader: showStatus parameter has been removed from constructor."),a=void 0);this.manager=void 0!==a?a:ta;this.withCredentials=!1}function Se(a){this.manager=void 0!==a?a:ta;this.texturePath=""}function Te(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2* +c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function Ab(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function Bb(a,b,c,d,e){var f=1-a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}function ua(){}function Ta(a,b){this.v1=a;this.v2=b}function ad(){this.curves=[];this.autoClose=!1}function Wa(a,b,c,d,e,f,g,h){this.aX=a;this.aY=b;this.xRadius=c;this.yRadius=d;this.aStartAngle=e;this.aEndAngle=f;this.aClockwise=g;this.aRotation=h||0}function Cb(a){this.points=void 0===a?[]:a}function fc(a,b,c, +d){this.v0=a;this.v1=b;this.v2=c;this.v3=d}function gc(a,b,c){this.v0=a;this.v1=b;this.v2=c}function bd(a){ad.call(this);this.currentPoint=new D;a&&this.fromPoints(a)}function Db(){bd.apply(this,arguments);this.holes=[]}function ee(){this.subPaths=[];this.currentPath=null}function fe(a){this.data=a}function Ue(a){this.manager=void 0!==a?a:ta}function ge(a){this.manager=void 0!==a?a:ta}function he(a,b,c,d){ma.call(this,a,b);this.type="RectAreaLight";this.position.set(0,1,0);this.updateMatrix();this.width= +void 0!==c?c:10;this.height=void 0!==d?d:10}function Ve(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new Fa;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new Fa;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function Id(a,b,c){x.call(this);this.type="CubeCamera";var d=new Fa(90,1,a,b);d.up.set(0,-1,0);d.lookAt(new q(1,0,0));this.add(d);var e=new Fa(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new q(-1,0,0));this.add(e);var f=new Fa(90, +1,a,b);f.up.set(0,0,1);f.lookAt(new q(0,1,0));this.add(f);var g=new Fa(90,1,a,b);g.up.set(0,0,-1);g.lookAt(new q(0,-1,0));this.add(g);var h=new Fa(90,1,a,b);h.up.set(0,-1,0);h.lookAt(new q(0,0,1));this.add(h);var m=new Fa(90,1,a,b);m.up.set(0,-1,0);m.lookAt(new q(0,0,-1));this.add(m);this.renderTarget=new Gb(c,c,{format:1022,magFilter:1006,minFilter:1006});this.updateCubeMap=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=this.renderTarget,n=c.texture.generateMipmaps;c.texture.generateMipmaps= +!1;c.activeCubeFace=0;a.render(b,d,c);c.activeCubeFace=1;a.render(b,e,c);c.activeCubeFace=2;a.render(b,f,c);c.activeCubeFace=3;a.render(b,g,c);c.activeCubeFace=4;a.render(b,h,c);c.texture.generateMipmaps=n;c.activeCubeFace=5;a.render(b,m,c);a.setRenderTarget(null)}}function ie(){x.call(this);this.type="AudioListener";this.context=je.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null}function hc(a){x.call(this);this.type="Audio";this.context= +a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.loop=!1;this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function ke(a){hc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function le(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount); +a.getOutput().connect(this.analyser)}function Jd(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b=this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function ka(a,b,c){this.path=b;this.parsedPath=c||ka.parseTrackName(b);this.node=ka.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function me(a){this.uuid=N.generateUUID(); +this._objects=Array.prototype.slice.call(arguments);this.nCachedObjects_=0;var b={};this._indicesByUUID=b;for(var c=0,d=arguments.length;c!==d;++c)b[arguments[c].uuid]=c;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var e=this;this.stats={objects:{get total(){return e._objects.length},get inUse(){return this.total-e.nCachedObjects_}},get bindingsPerObject(){return e._bindings.length}}}function ne(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks; +b=a.length;c=Array(b);for(var d={endingStart:2400,endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled= +!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd=this.zeroSlopeAtStart=!0}function cd(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Kd(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function Eb(){I.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function oe(a,b,c,d){this.uuid=N.generateUUID();this.data=a;this.itemSize=b;this.offset=c;this.normalized=!0=== +d}function ic(a,b){this.uuid=N.generateUUID();this.array=a;this.stride=b;this.count=void 0!==a?a.length/b:0;this.dynamic=!1;this.updateRange={offset:0,count:-1};this.onUploadCallback=function(){};this.version=0}function jc(a,b,c){ic.call(this,a,b);this.meshPerAttribute=c||1}function kc(a,b,c){U.call(this,a,b);this.meshPerAttribute=c||1}function pe(a,b,c,d){this.ray=new cb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params, +{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function We(a,b){return a.distance-b.distance}function qe(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e=a.length;dc;c++,d++){var e=c/32*Math.PI*2,f=d/32* +Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new z(b,3));b=new ia({fog:!1});this.cone=new ga(a,b);this.add(this.cone);this.update()}function mc(a){this.bones=this.getBoneList(a);for(var b=new I,c=[],d=[],e=new J(0,0,1),f=new J(0,1,0),g=0;ga?-1:0e;e++)8===e||13===e||18===e||23===e?b[e]="-":14===e?b[e]="4":(2>=c&&(c=33554432+16777216*Math.random()|0),d=c&15,c>>=4,b[e]=a[19===e?d&3|8:d]);return b.join("")}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a, +b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*N.DEG2RAD},radToDeg:function(a){return a*N.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},nearestPowerOfTwo:function(a){return Math.pow(2, +Math.round(Math.log(a)/Math.LN2))},nextPowerOfTwo:function(a){a--;a|=a>>1;a|=a>>2;a|=a>>4;a|=a>>8;a|=a>>16;a++;return a}};D.prototype={constructor:D,isVector2:!0,get width(){return this.x},set width(a){this.x=a},get height(){return this.y},set height(a){this.y=a},set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break; +case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x; +this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x= +a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a):this.y=this.x=0;return this},divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x, +Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new D,b=new D);a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.multiplyScalar(Math.max(a,Math.min(b,c))/c)},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x); +this.y=Math.round(this.y);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x*a.x+this.y*a.y},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length())}, +angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x;a=this.y-a.y;return b*b+a*a},distanceToManhattan:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.multiplyScalar(a/this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b, +a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);return this},rotateAround:function(a,b){var c=Math.cos(b),d=Math.sin(b),e=this.x- +a.x,f=this.y-a.y;this.x=e*c-f*d+a.x;this.y=e*d+f*c+a.y;return this}};var Ze=0;ea.DEFAULT_IMAGE=void 0;ea.DEFAULT_MAPPING=300;ea.prototype={constructor:ea,isTexture:!0,set needsUpdate(a){!0===a&&this.version++},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.image=a.image;this.mipmaps=a.mipmaps.slice(0);this.mapping=a.mapping;this.wrapS=a.wrapS;this.wrapT=a.wrapT;this.magFilter=a.magFilter;this.minFilter=a.minFilter;this.anisotropy=a.anisotropy;this.format=a.format; +this.type=a.type;this.offset.copy(a.offset);this.repeat.copy(a.repeat);this.generateMipmaps=a.generateMipmaps;this.premultiplyAlpha=a.premultiplyAlpha;this.flipY=a.flipY;this.unpackAlignment=a.unpackAlignment;this.encoding=a.encoding;return this},toJSON:function(a){if(void 0!==a.textures[this.uuid])return a.textures[this.uuid];var b={metadata:{version:4.4,type:"Texture",generator:"Texture.toJSON"},uuid:this.uuid,name:this.name,mapping:this.mapping,repeat:[this.repeat.x,this.repeat.y],offset:[this.offset.x, +this.offset.y],wrap:[this.wrapS,this.wrapT],minFilter:this.minFilter,magFilter:this.magFilter,anisotropy:this.anisotropy,flipY:this.flipY};if(void 0!==this.image){var c=this.image;void 0===c.uuid&&(c.uuid=N.generateUUID());if(void 0===a.images[c.uuid]){var d=a.images,e=c.uuid,f=c.uuid,g;void 0!==c.toDataURL?g=c:(g=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"),g.width=c.width,g.height=c.height,g.getContext("2d").drawImage(c,0,0,c.width,c.height));g=2048a.x||1a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y)}}};Object.assign(ea.prototype,pa.prototype);fa.prototype={constructor:fa,isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this}, +setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w? +a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b; +return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a,this.z*=a,this.w*=a):this.w=this.z= +this.y=this.x=0;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]*e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this}, +setAxisAngleFromRotationMatrix:function(a){var b,c,d;a=a.elements;var e=a[0];d=a[4];var f=a[8],g=a[1],h=a[5],m=a[9];c=a[2];b=a[6];var k=a[10];if(.01>Math.abs(d-g)&&.01>Math.abs(f-c)&&.01>Math.abs(m-b)){if(.1>Math.abs(d+g)&&.1>Math.abs(f+c)&&.1>Math.abs(m+b)&&.1>Math.abs(e+h+k-3))return this.set(1,0,0,0),this;a=Math.PI;e=(e+1)/2;h=(h+1)/2;k=(k+1)/2;d=(d+g)/4;f=(f+c)/4;m=(m+b)/4;e>h&&e>k?.01>e?(b=0,d=c=.707106781):(b=Math.sqrt(e),c=d/b,d=f/b):h>k?.01>h?(b=.707106781,c=0,d=.707106781):(c=Math.sqrt(h), +b=d/c,d=m/c):.01>k?(c=b=.707106781,d=0):(d=Math.sqrt(k),b=f/d,c=m/d);this.set(b,c,d,a);return this}a=Math.sqrt((b-m)*(b-m)+(f-c)*(f-c)+(g-d)*(g-d));.001>Math.abs(a)&&(a=1);this.x=(b-m)/a;this.y=(f-c)/a;this.z=(g-d)/a;this.w=Math.acos((e+h+k-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z); +this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w,this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new fa,b=new fa);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w); +return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w); +return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length())}, +setLength:function(a){return this.multiplyScalar(a/this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a= +[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}};Ya.prototype={constructor:Ya,isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a, +b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width=a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}};Object.assign(Ya.prototype,pa.prototype);Gb.prototype=Object.create(Ya.prototype);Gb.prototype.constructor=Gb;Gb.prototype.isWebGLRenderTargetCube=!0; +ca.prototype={constructor:ca,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get w(){return this._w},set w(a){this._w=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x= +a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!1===(a&&a.isEuler))throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=Math.cos(a._x/2),d=Math.cos(a._y/2),e=Math.cos(a._z/2),f=Math.sin(a._x/2),g=Math.sin(a._y/2),h=Math.sin(a._z/2),m=a.order;"XYZ"===m?(this._x=f*d*e+c*g*h,this._y=c*g*e-f*d*h,this._z=c*d*h+f*g*e,this._w=c*d*e-f*g*h):"YXZ"===m?(this._x=f*d*e+c*g*h,this._y=c*g* +e-f*d*h,this._z=c*d*h-f*g*e,this._w=c*d*e+f*g*h):"ZXY"===m?(this._x=f*d*e-c*g*h,this._y=c*g*e+f*d*h,this._z=c*d*h+f*g*e,this._w=c*d*e-f*g*h):"ZYX"===m?(this._x=f*d*e-c*g*h,this._y=c*g*e+f*d*h,this._z=c*d*h-f*g*e,this._w=c*d*e+f*g*h):"YZX"===m?(this._x=f*d*e+c*g*h,this._y=c*g*e+f*d*h,this._z=c*d*h-f*g*e,this._w=c*d*e-f*g*h):"XZY"===m&&(this._x=f*d*e-c*g*h,this._y=c*g*e-f*d*h,this._z=c*d*h+f*g*e,this._w=c*d*e+f*g*h);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){var c= +b/2,d=Math.sin(c);this._x=a.x*d;this._y=a.y*d;this._z=a.z*d;this._w=Math.cos(c);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],m=b[6],b=b[10],k=c+f+b;0f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(m-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-h)/c,this._x=(a+e)/c,this._y=.25*c, +this._z=(g+m)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+m)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(){var a,b;return function(c,d){void 0===a&&(a=new q);b=c.dot(d)+1;1E-6>b?(b=0,Math.abs(c.x)>Math.abs(c.z)?a.set(-c.y,c.x,0):a.set(0,-c.z,c.y)):a.crossVectors(c,d);this._x=a.x;this._y=a.y;this._z=a.z;this._w=b;return this.normalize()}}(),inverse:function(){return this.conjugate().normalize()},conjugate:function(){this._x*=-1;this._y*= +-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w},lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a, +b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."),this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z,f=a._w,g=b._x,h=b._y,m=b._z,k=b._w;this._x=c*k+f*g+d*m-e*h;this._y=d*k+f*h+e*g-c*m;this._z=e*k+f*m+c*h-d*g;this._w=f*k-c*g-d*h-e*m;this.onChangeCallback();return this},slerp:function(a, +b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z;0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;var h=Math.sqrt(1-g*g);if(.001>Math.abs(h))return this._w=.5*(f+this._w),this._x=.5*(c+this._x),this._y=.5*(d+this._y),this._z=.5*(e+this._z),this;var m=Math.atan2(h,g),g=Math.sin((1-b)*m)/h,h=Math.sin(b*m)/h;this._w=f*g+this._w*h;this._x= +c*g+this._x*h;this._y=d*g+this._y*h;this._z=e*g+this._z*h;this.onChangeCallback();return this},equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2];this._w=a[b+3];this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},onChange:function(a){this.onChangeCallback=a;return this}, +onChangeCallback:function(){}};Object.assign(ca,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],m=c[d+1],k=c[d+2];c=c[d+3];d=e[f+0];var l=e[f+1],p=e[f+2];e=e[f+3];if(c!==e||h!==d||m!==l||k!==p){f=1-g;var n=h*d+m*l+k*p+c*e,u=0<=n?1:-1,q=1-n*n;q>Number.EPSILON&&(q=Math.sqrt(q),n=Math.atan2(q,n*u),f=Math.sin(f*n)/q,g=Math.sin(g*n)/q);u*=g;h=h*f+d*u;m=m*f+l*u;k=k*f+p*u;c=c*f+e*u;f===1-g&&(g=1/Math.sqrt(h*h+m*m+k*k+c*c),h*=g,m*=g,k*=g,c*=g)}a[b]=h;a[b+ +1]=m;a[b+2]=k;a[b+3]=c}});q.prototype={constructor:q,isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this},setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x; +case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this}, +addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z= +a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."),this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){isFinite(a)?(this.x*=a,this.y*=a,this.z*=a):this.z=this.y=this.x=0;return this},multiplyVectors:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a;return function(b){!1===(b&& +b.isEuler)&&console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");void 0===a&&(a=new ca);return this.applyQuaternion(a.setFromEuler(b))}}(),applyAxisAngle:function(){var a;return function(b,c){void 0===a&&(a=new ca);return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b= +this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12];this.y=a[1]*b+a[5]*c+a[9]*d+a[13];this.z=a[2]*b+a[6]*c+a[10]*d+a[14];return this.divideScalar(a[3]*b+a[7]*c+a[11]*d+a[15])},applyQuaternion:function(a){var b=this.x,c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,m=a*c+g*b-e*d,k=a*d+e*c-f*b,b=-e*b-f*c-g*d;this.x=h*a+b*-e+m*-g-k*-f;this.y=m*a+b*-f+k*-e-h*-g;this.z=k*a+b*-g+h*-f-m*-e;return this},project:function(){var a;return function(b){void 0===a&&(a=new S);a.multiplyMatrices(b.projectionMatrix, +a.getInverse(b.matrixWorld));return this.applyMatrix4(a)}}(),unproject:function(){var a;return function(b){void 0===a&&(a=new S);a.multiplyMatrices(b.matrixWorld,a.getInverse(b.projectionMatrix));return this.applyMatrix4(a)}}(),transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d;this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/ +a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new q,b=new q);a.set(c,c,c);b.set(d,d,d);return this.clamp(a, +b)}}(),clampLength:function(a,b){var c=this.length();return this.multiplyScalar(Math.max(a,Math.min(b,c))/c)},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x); +this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthManhattan:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length())}, +setLength:function(a){return this.multiplyScalar(a/this.length())},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},cross:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a,b);var c=this.x,d=this.y,e=this.z;this.x=d*a.z-e*a.y;this.y=e*a.x-c*a.z;this.z=c*a.y- +d*a.x;return this},crossVectors:function(a,b){var c=a.x,d=a.y,e=a.z,f=b.x,g=b.y,h=b.z;this.x=d*h-e*g;this.y=e*f-c*h;this.z=c*g-d*f;return this},projectOnVector:function(a){var b=a.dot(this)/a.lengthSq();return this.copy(a).multiplyScalar(b)},projectOnPlane:function(){var a;return function(b){void 0===a&&(a=new q);a.copy(this).projectOnVector(b);return this.sub(a)}}(),reflect:function(){var a;return function(b){void 0===a&&(a=new q);return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a= +this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(N.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},distanceToManhattan:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z-a.z)},setFromSpherical:function(a){var b=Math.sin(a.phi)*a.radius;this.x=b*Math.sin(a.theta);this.y=Math.cos(a.phi)*a.radius;this.z=b*Math.cos(a.theta);return this}, +setFromCylindrical:function(a){this.x=a.radius*Math.sin(a.theta);this.y=a.y;this.z=a.radius*Math.cos(a.theta);return this},setFromMatrixPosition:function(a){return this.setFromMatrixColumn(a,3)},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){if("number"===typeof a){console.warn("THREE.Vector3: setFromMatrixColumn now expects ( matrix, index )."); +var c=a;a=b;b=c}return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b); +return this}};S.prototype={constructor:S,isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,m,k,l,p,n,u,q,r){var A=this.elements;A[0]=a;A[4]=b;A[8]=c;A[12]=d;A[1]=e;A[5]=f;A[9]=g;A[13]=h;A[2]=m;A[6]=k;A[10]=l;A[14]=p;A[3]=n;A[7]=u;A[11]=q;A[15]=r;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new S).fromArray(this.elements)},copy:function(a){this.elements.set(a.elements);return this},copyPosition:function(a){var b=this.elements;a=a.elements; +b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a;return function(b){void 0===a&&(a=new q);var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length();b=1/a.setFromMatrixColumn(b,2).length(); +c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*f;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;return this}}(),makeRotationFromEuler:function(a){!1===(a&&a.isEuler)&&console.error("THREE.Matrix: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c),c=Math.sin(c),g=Math.cos(d),d=Math.sin(d),h=Math.cos(e),e=Math.sin(e);if("XYZ"===a.order){a=f*h;var m=f*e,k=c*h,l=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=m+ +k*d;b[5]=a-l*d;b[9]=-c*g;b[2]=l-a*d;b[6]=k+m*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,m=g*e,k=d*h,l=d*e,b[0]=a+l*c,b[4]=k*c-m,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=m*c-k,b[6]=l+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,m=g*e,k=d*h,l=d*e,b[0]=a-l*c,b[4]=-f*e,b[8]=k+m*c,b[1]=m+k*c,b[5]=f*h,b[9]=l-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,m=f*e,k=c*h,l=c*e,b[0]=g*h,b[4]=k*d-m,b[8]=a*d+l,b[1]=g*e,b[5]=l*d+a,b[9]=m*d-k,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,m=f*d,k=c*g,l=c*d,b[0]= +g*h,b[4]=l-a*e,b[8]=k*e+m,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=m*e+k,b[10]=a-l*e):"XZY"===a.order&&(a=f*g,m=f*d,k=c*g,l=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+l,b[5]=f*h,b[9]=m*e-k,b[2]=k*e-m,b[6]=c*h,b[10]=l*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(a){var b=this.elements,c=a.x,d=a.y,e=a.z,f=a.w,g=c+c,h=d+d,m=e+e;a=c*g;var k=c*h,c=c*m,l=d*h,d=d*m,e=e*m,g=f*g,h=f*h,f=f*m;b[0]=1-(l+e);b[4]=k-f;b[8]=c+h;b[1]=k+f;b[5]=1-(a+e);b[9]= +d-g;b[2]=c-h;b[6]=d+g;b[10]=1-(a+l);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},lookAt:function(){var a,b,c;return function(d,e,f){void 0===a&&(a=new q,b=new q,c=new q);var g=this.elements;c.subVectors(d,e).normalize();0===c.lengthSq()&&(c.z=1);a.crossVectors(f,c).normalize();0===a.lengthSq()&&(c.z+=1E-4,a.crossVectors(f,c).normalize());b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!== +b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."),this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements,e=this.elements,f=c[0],g=c[4],h=c[8],m=c[12],k=c[1],l=c[5],p=c[9],n=c[13],u=c[2],q=c[6],r=c[10],A=c[14],w=c[3],y=c[7],K=c[11],c=c[15],v=d[0],E=d[4],L=d[8],C=d[12],F=d[1],x=d[5],H=d[9],D=d[13],z=d[2],J=d[6], +I=d[10],Q=d[14],M=d[3],O=d[7],P=d[11],d=d[15];e[0]=f*v+g*F+h*z+m*M;e[4]=f*E+g*x+h*J+m*O;e[8]=f*L+g*H+h*I+m*P;e[12]=f*C+g*D+h*Q+m*d;e[1]=k*v+l*F+p*z+n*M;e[5]=k*E+l*x+p*J+n*O;e[9]=k*L+l*H+p*I+n*P;e[13]=k*C+l*D+p*Q+n*d;e[2]=u*v+q*F+r*z+A*M;e[6]=u*E+q*x+r*J+A*O;e[10]=u*L+q*H+r*I+A*P;e[14]=u*C+q*D+r*Q+A*d;e[3]=w*v+y*F+K*z+c*M;e[7]=w*E+y*x+K*J+c*O;e[11]=w*L+y*H+K*I+c*P;e[15]=w*C+y*D+K*Q+c*d;return this},multiplyToArray:function(a,b,c){var d=this.elements;this.multiplyMatrices(a,b);c[0]=d[0];c[1]=d[1];c[2]= +d[2];c[3]=d[3];c[4]=d[4];c[5]=d[5];c[6]=d[6];c[7]=d[7];c[8]=d[8];c[9]=d[9];c[10]=d[10];c[11]=d[11];c[12]=d[12];c[13]=d[13];c[14]=d[14];c[15]=d[15];return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(){var a;return function(b){void 0===a&&(a=new q);for(var c=0,d=b.count;cthis.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.elements.set(this.elements);c=1/g;var f=1/h,k=1/m;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=k;b.elements[9]*=k;b.elements[10]*=k;d.setFromRotationMatrix(b); +e.x=g;e.y=h;e.z=m;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs.");var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),m=1/(c-d),k=1/(f-e);g[0]= +2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*m;g[9]=0;g[13]=-((c+d)*m);g[2]=0;g[6]=0;g[10]=-2*k;g[14]=-((f+e)*k);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements;a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4]; +a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}};Za.prototype=Object.create(ea.prototype);Za.prototype.constructor=Za;Za.prototype.isCubeTexture=!0;Object.defineProperty(Za.prototype,"images",{get:function(){return this.image},set:function(a){this.image=a}});var Ee=new ea,Fe=new Za,Be=[],De=[];Je.prototype.setValue=function(a,b){for(var c=this.seq,d=0,e=c.length;d!==e;++d){var f=c[d];f.setValue(a, +b[f.id])}};var Rd=/([\w\d_]+)(\])?(\[|\.)?/g;$a.prototype.setValue=function(a,b,c){b=this.map[b];void 0!==b&&b.setValue(a,c,this.renderer)};$a.prototype.set=function(a,b,c){var d=this.map[c];void 0!==d&&d.setValue(a,b[c],this.renderer)};$a.prototype.setOptional=function(a,b,c){b=b[c];void 0!==b&&this.setValue(a,c,b)};$a.upload=function(a,b,c,d){for(var e=0,f=b.length;e!==f;++e){var g=b[e],h=c[g.id];!1!==h.needsUpdate&&g.setValue(a,h.value,d)}};$a.seqWithValue=function(a,b){for(var c=[],d=0,e=a.length;d!== +e;++d){var f=a[d];f.id in b&&c.push(f)}return c};var Ja={merge:function(a){for(var b={},c=0;c 0.0 ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\t\t\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\t\t\tfloat maxDistanceCutoffFactor = pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t\t\treturn distanceFalloff * maxDistanceCutoffFactor;\n#else\n\t\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n#endif\n\t\t}\n\t\treturn 1.0;\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 ltcTextureCoords( const in GeometricContext geometry, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = (LUT_SIZE - 1.0)/LUT_SIZE;\n\tconst float LUT_BIAS = 0.5/LUT_SIZE;\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 P = geometry.position;\n\tfloat theta = acos( dot( N, V ) );\n\tvec2 uv = vec2(\n\t\tsqrt( saturate( roughness ) ),\n\t\tsaturate( theta / ( 0.5 * PI ) ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nvoid clipQuadToHorizon( inout vec3 L[5], out int n ) {\n\tint config = 0;\n\tif ( L[0].z > 0.0 ) config += 1;\n\tif ( L[1].z > 0.0 ) config += 2;\n\tif ( L[2].z > 0.0 ) config += 4;\n\tif ( L[3].z > 0.0 ) config += 8;\n\tn = 0;\n\tif ( config == 0 ) {\n\t} else if ( config == 1 ) {\n\t\tn = 3;\n\t\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\n\t\tL[2] = -L[3].z * L[0] + L[0].z * L[3];\n\t} else if ( config == 2 ) {\n\t\tn = 3;\n\t\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\n\t\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\n\t} else if ( config == 3 ) {\n\t\tn = 4;\n\t\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\n\t\tL[3] = -L[3].z * L[0] + L[0].z * L[3];\n\t} else if ( config == 4 ) {\n\t\tn = 3;\n\t\tL[0] = -L[3].z * L[2] + L[2].z * L[3];\n\t\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\n\t} else if ( config == 5 ) {\n\t\tn = 0;\n\t} else if ( config == 6 ) {\n\t\tn = 4;\n\t\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\n\t\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\n\t} else if ( config == 7 ) {\n\t\tn = 5;\n\t\tL[4] = -L[3].z * L[0] + L[0].z * L[3];\n\t\tL[3] = -L[3].z * L[2] + L[2].z * L[3];\n\t} else if ( config == 8 ) {\n\t\tn = 3;\n\t\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\n\t\tL[1] = -L[2].z * L[3] + L[3].z * L[2];\n\t\tL[2] = L[3];\n\t} else if ( config == 9 ) {\n\t\tn = 4;\n\t\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\n\t\tL[2] = -L[2].z * L[3] + L[3].z * L[2];\n\t} else if ( config == 10 ) {\n\t\tn = 0;\n\t} else if ( config == 11 ) {\n\t\tn = 5;\n\t\tL[4] = L[3];\n\t\tL[3] = -L[2].z * L[3] + L[3].z * L[2];\n\t\tL[2] = -L[2].z * L[1] + L[1].z * L[2];\n\t} else if ( config == 12 ) {\n\t\tn = 4;\n\t\tL[1] = -L[1].z * L[2] + L[2].z * L[1];\n\t\tL[0] = -L[0].z * L[3] + L[3].z * L[0];\n\t} else if ( config == 13 ) {\n\t\tn = 5;\n\t\tL[4] = L[3];\n\t\tL[3] = L[2];\n\t\tL[2] = -L[1].z * L[2] + L[2].z * L[1];\n\t\tL[1] = -L[1].z * L[0] + L[0].z * L[1];\n\t} else if ( config == 14 ) {\n\t\tn = 5;\n\t\tL[4] = -L[0].z * L[3] + L[3].z * L[0];\n\t\tL[0] = -L[0].z * L[1] + L[1].z * L[0];\n\t} else if ( config == 15 ) {\n\t\tn = 4;\n\t}\n\tif ( n == 3 )\n\t\tL[3] = L[0];\n\tif ( n == 4 )\n\t\tL[4] = L[0];\n}\nfloat integrateLtcBrdfOverRectEdge( vec3 v1, vec3 v2 ) {\n\tfloat cosTheta = dot( v1, v2 );\n\tfloat theta = acos( cosTheta );\n\tfloat res = cross( v1, v2 ).z * ( ( theta > 0.001 ) ? theta / sin( theta ) : 1.0 );\n\treturn res;\n}\nvoid initRectPoints( const in vec3 pos, const in vec3 halfWidth, const in vec3 halfHeight, out vec3 rectPoints[4] ) {\n\trectPoints[0] = pos - halfWidth - halfHeight;\n\trectPoints[1] = pos + halfWidth - halfHeight;\n\trectPoints[2] = pos + halfWidth + halfHeight;\n\trectPoints[3] = pos - halfWidth + halfHeight;\n}\nvec3 integrateLtcBrdfOverRect( const in GeometricContext geometry, const in mat3 brdfMat, const in vec3 rectPoints[4] ) {\n\tvec3 N = geometry.normal;\n\tvec3 V = geometry.viewDir;\n\tvec3 P = geometry.position;\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot( V, N ));\n\tT2 = - cross( N, T1 );\n\tmat3 brdfWrtSurface = brdfMat * transpose( mat3( T1, T2, N ) );\n\tvec3 clippedRect[5];\n\tclippedRect[0] = brdfWrtSurface * ( rectPoints[0] - P );\n\tclippedRect[1] = brdfWrtSurface * ( rectPoints[1] - P );\n\tclippedRect[2] = brdfWrtSurface * ( rectPoints[2] - P );\n\tclippedRect[3] = brdfWrtSurface * ( rectPoints[3] - P );\n\tint n;\n\tclipQuadToHorizon(clippedRect, n);\n\tif ( n == 0 )\n\t\treturn vec3( 0, 0, 0 );\n\tclippedRect[0] = normalize( clippedRect[0] );\n\tclippedRect[1] = normalize( clippedRect[1] );\n\tclippedRect[2] = normalize( clippedRect[2] );\n\tclippedRect[3] = normalize( clippedRect[3] );\n\tclippedRect[4] = normalize( clippedRect[4] );\n\tfloat sum = 0.0;\n\tsum += integrateLtcBrdfOverRectEdge( clippedRect[0], clippedRect[1] );\n\tsum += integrateLtcBrdfOverRectEdge( clippedRect[1], clippedRect[2] );\n\tsum += integrateLtcBrdfOverRectEdge( clippedRect[2], clippedRect[3] );\n\tif (n >= 4)\n\t\tsum += integrateLtcBrdfOverRectEdge( clippedRect[3], clippedRect[4] );\n\tif (n == 5)\n\t\tsum += integrateLtcBrdfOverRectEdge( clippedRect[4], clippedRect[0] );\n\tsum = max( 0.0, sum );\n\tvec3 Lo_i = vec3( sum, sum, sum );\n\treturn Lo_i;\n}\nvec3 Rect_Area_Light_Specular_Reflectance(\n\t\tconst in GeometricContext geometry,\n\t\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight,\n\t\tconst in float roughness,\n\t\tconst in sampler2D ltcMat, const in sampler2D ltcMag ) {\n\tvec3 rectPoints[4];\n\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\n\tvec2 uv = ltcTextureCoords( geometry, roughness );\n\tvec4 brdfLtcApproxParams, t;\n\tbrdfLtcApproxParams = texture2D( ltcMat, uv );\n\tt = texture2D( ltcMat, uv );\n\tfloat brdfLtcScalar = texture2D( ltcMag, uv ).a;\n\tmat3 brdfLtcApproxMat = mat3(\n\t\tvec3( 1, 0, t.y ),\n\t\tvec3( 0, t.z, 0 ),\n\t\tvec3( t.w, 0, t.x )\n\t);\n\tvec3 specularReflectance = integrateLtcBrdfOverRect( geometry, brdfLtcApproxMat, rectPoints );\n\tspecularReflectance *= brdfLtcScalar;\n\treturn specularReflectance;\n}\nvec3 Rect_Area_Light_Diffuse_Reflectance(\n\t\tconst in GeometricContext geometry,\n\t\tconst in vec3 lightPos, const in vec3 lightHalfWidth, const in vec3 lightHalfHeight ) {\n\tvec3 rectPoints[4];\n\tinitRectPoints( lightPos, lightHalfWidth, lightHalfHeight, rectPoints );\n\tmat3 diffuseBrdfMat = mat3(1);\n\tvec3 diffuseReflectance = integrateLtcBrdfOverRect( geometry, diffuseBrdfMat, rectPoints );\n\treturn diffuseReflectance;\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\tvec2 AB = vec2( -1.04, 1.04 ) * a004 + r.zw;\n\treturn specularColor * AB.x + AB.y;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}\n", +bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = dFdx( surf_pos );\n\t\tvec3 vSigmaY = dFdy( surf_pos );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif\n", +clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; ++ i ) {\n\t\tvec4 plane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t\t\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; ++ i ) {\n\t\t\tvec4 plane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t\n\t#endif\n#endif\n", +clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif\n",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvarying vec3 vViewPosition;\n#endif\n",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n", +color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif\n",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transpose( const in mat3 v ) {\n\tmat3 tmp;\n\ttmp[0] = vec3(v[0].x, v[1].x, v[2].x);\n\ttmp[1] = vec3(v[0].y, v[1].y, v[2].y);\n\ttmp[2] = vec3(v[0].z, v[1].z, v[2].z);\n\treturn tmp;\n}\n", +cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif\n", +defaultnormal_vertex:"#ifdef FLIP_SIDED\n\tobjectNormal = -objectNormal;\n#endif\nvec3 transformedNormal = normalMatrix * objectNormal;\n",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif\n",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normal * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif\n",emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif\n", +emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif\n",encodings_fragment:" gl_FragColor = linearToOutputTexel( gl_FragColor );\n",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn 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\treturn 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}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.xyz * value.w * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.x, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = value.rgb * cLogLuvM;\n\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract(Le);\n\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = Xp_Y_XYZp.rgb * cLogLuvInverseM;\n\treturn vec4( max(vRGB, 0.0), 1.0 );\n}\n", +envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, flipNormal * vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\tsampleUV.y = saturate( flipNormal * reflectVec.y * 0.5 + 0.5 );\n\t\tsampleUV.x = atan( flipNormal * reflectVec.z, flipNormal * reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\tvec3 reflectView = flipNormal * normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif\n", +envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif\n", +envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif\n",envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif\n", +fog_vertex:"\n#ifdef USE_FOG\nfogDepth = -mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n varying float fogDepth;\n#endif\n",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif\n",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif\n", +gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif\n",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif\n", +lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif\n", +lights_pars:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltcMat;\tuniform sampler2D ltcMag;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif\n#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar - 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV(queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = saturate( reflectVec.y * 0.5 + 0.5 );\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif\n", +lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;\n",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_BlinnPhong( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 matDiffColor = material.diffuseColor;\n\t\tvec3 matSpecColor = material.specularColor;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = BlinnExponentToGGXRoughness( material.specularShininess );\n\t\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\n\t\t\t\tgeometry,\n\t\t\t\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\n\t\t\t\troughness,\n\t\t\t\tltcMat, ltcMag );\n\t\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\n\t\t\t\tgeometry,\n\t\t\t\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\n\t\treflectedLight.directSpecular += lightColor * matSpecColor * spec / PI2;\n\t\treflectedLight.directDiffuse += lightColor * matDiffColor * diff / PI2;\n\t}\n#endif\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)\n", +lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif\n", +lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 matDiffColor = material.diffuseColor;\n\t\tvec3 matSpecColor = material.specularColor;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 spec = Rect_Area_Light_Specular_Reflectance(\n\t\t\t\tgeometry,\n\t\t\t\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight,\n\t\t\t\troughness,\n\t\t\t\tltcMat, ltcMag );\n\t\tvec3 diff = Rect_Area_Light_Diffuse_Reflectance(\n\t\t\t\tgeometry,\n\t\t\t\trectAreaLight.position, rectAreaLight.halfWidth, rectAreaLight.halfHeight );\n\t\treflectedLight.directSpecular += lightColor * matSpecColor * spec;\n\t\treflectedLight.directDiffuse += lightColor * matDiffColor * diff;\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.indirectSpecular += ( 1.0 - clearCoatDHR ) * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}\n", +lights_template:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, 8 );\n\t#endif\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tvec3 radiance = getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), 8 );\n\t#ifndef STANDARD\n\t\tvec3 clearCoatRadiance = getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), 8 );\n\t#else\n\t\tvec3 clearCoatRadiance = vec3( 0.0 );\n\t#endif\n\tRE_IndirectSpecular( radiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif\n", +logdepthbuf_fragment:"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)\n\tgl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#ifdef USE_LOGDEPTHBUF\n\tuniform float logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n#endif\n",logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#endif\n\tuniform float logDepthBufFC;\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\tgl_Position.z = log2(max( EPSILON, gl_Position.w + 1.0 )) * logDepthBufFC;\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;\n\t#endif\n#endif\n", +map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif\n",map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif\n",map_particle_fragment:"#ifdef USE_MAP\n\tvec4 mapTexel = texture2D( map, vec2( gl_PointCoord.x, 1.0 - gl_PointCoord.y ) * offsetRepeat.zw + offsetRepeat.xy );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif\n",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform vec4 offsetRepeat;\n\tuniform sampler2D map;\n#endif\n", +metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.r;\n#endif\n",metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif\n", +morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif",morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif\n", +normal_flip:"#ifdef DOUBLE_SIDED\n\tfloat flipNormal = ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n#else\n\tfloat flipNormal = 1.0;\n#endif\n",normal_fragment:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal ) * flipNormal;\n#endif\n#ifdef USE_NORMALMAP\n\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif\n", +normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\tvec3 q0 = dFdx( eye_pos.xyz );\n\t\tvec3 q1 = dFdy( eye_pos.xyz );\n\t\tvec2 st0 = dFdx( vUv.st );\n\t\tvec2 st1 = dFdy( vUv.st );\n\t\tvec3 S = normalize( q0 * st1.t - q1 * st0.t );\n\t\tvec3 T = normalize( -q0 * st1.s + q1 * st0.s );\n\t\tvec3 N = normalize( surf_norm );\n\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\tmapN.xy = normalScale * mapN.xy;\n\t\tmat3 tsn = mat3( S, T, N );\n\t\treturn normalize( tsn * mapN );\n\t}\n#endif\n", +packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 1.0 - 2.0 * rgb.xyz;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}\n", +premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif\n",project_vertex:"#ifdef USE_SKINNING\n\tvec4 mvPosition = modelViewMatrix * skinned;\n#else\n\tvec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\n#endif\ngl_Position = projectionMatrix * mvPosition;\n",roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.r;\n#endif\n", +roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\treturn (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn 1.0;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\tfloat dp = ( length( lightToPosition ) - shadowBias ) / 1000.0;\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif\n", +shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif\n", +shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif\n", +shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}\n", +skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureWidth;\n\t\tuniform int boneTextureHeight;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureWidth ) );\n\t\t\tfloat y = floor( j / float( boneTextureWidth ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureWidth );\n\t\t\tfloat dy = 1.0 / float( boneTextureHeight );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif\n", +skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\tskinned = bindMatrixInverse * skinned;\n#endif\n",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n#endif\n", +specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n gl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif\n",tonemapping_pars_fragment:"#define saturate(a) clamp( a, 0.0, 1.0 )\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\n", +uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform vec4 offsetRepeat;\n#endif\n", +uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = uv * offsetRepeat.zw + offsetRepeat.xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif", +uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( PHONG ) || defined( PHYSICAL ) || defined( LAMBERT ) || defined ( USE_SHADOWMAP )\n\t#ifdef USE_SKINNING\n\t\tvec4 worldPosition = modelMatrix * skinned;\n\t#else\n\t\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n\t#endif\n#endif\n",cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldPosition;\n#include \nvoid main() {\n\tgl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );\n\tgl_FragColor.a *= opacity;\n}\n", +cube_vert:"varying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}\n",depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}\n", +depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +distanceRGBA_frag:"uniform vec3 lightPos;\nvarying vec4 vWorldPosition;\n#include \n#include \n#include \nvoid main () {\n\t#include \n\tgl_FragColor = packDepthToRGBA( length( vWorldPosition.xyz - lightPos.xyz ) / 1000.0 );\n}\n",distanceRGBA_vert:"varying vec4 vWorldPosition;\n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition;\n}\n", +equirect_frag:"uniform sampler2D tEquirect;\nuniform float tFlip;\nvarying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldPosition );\n\tvec2 sampleUV;\n\tsampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tgl_FragColor = texture2D( tEquirect, sampleUV );\n}\n",equirect_vert:"varying vec3 vWorldPosition;\n#include \nvoid main() {\n\tvWorldPosition = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}\n", +linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}\n", +meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}\n", +normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}\n", +normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}\n", +points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#ifdef USE_SIZEATTENUATION\n\t\tgl_PointSize = size * ( scale / - mvPosition.z );\n\t#else\n\t\tgl_PointSize = size;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}\n", +shadow_frag:"uniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( 0.0, 0.0, 0.0, opacity * ( 1.0 - getShadowMask() ) );\n}\n",shadow_vert:"#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n}\n"};J.prototype={constructor:J, +isColor:!0,r:1,g:1,b:1,set:function(a){a&&a.isColor?this.copy(a):"number"===typeof a?this.setHex(a):"string"===typeof a&&this.setStyle(a);return this},setScalar:function(a){this.b=this.g=this.r=a;return this},setHex:function(a){a=Math.floor(a);this.r=(a>>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255;return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(){function a(a,c,d){0>d&&(d+=1);1d?c:d<2/3?a+6*(c-a)*(2/3-d):a}return function(b, +c,d){b=N.euclideanModulo(b,1);c=N.clamp(c,0,1);d=N.clamp(d,0,1);0===c?this.r=this.g=this.b=d:(c=.5>=d?d*(1+c):d+c-d*c,d=2*d-c,this.r=a(d,c,b+1/3),this.g=a(d,c,b),this.b=a(d,c,b-1/3));return this}}(),setStyle:function(a){function b(b){void 0!==b&&1>parseFloat(b)&&console.warn("THREE.Color: Alpha component of "+a+" will be ignored.")}var c;if(c=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(a)){var d=c[2];switch(c[1]){case "rgb":case "rgba":if(c=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r= +Math.min(255,parseInt(c[1],10))/255,this.g=Math.min(255,parseInt(c[2],10))/255,this.b=Math.min(255,parseInt(c[3],10))/255,b(c[5]),this;if(c=/^(\d+)\%\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(100,parseInt(c[1],10))/100,this.g=Math.min(100,parseInt(c[2],10))/100,this.b=Math.min(100,parseInt(c[3],10))/100,b(c[5]),this;break;case "hsl":case "hsla":if(c=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)\%\s*,\s*(\d+)\%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d)){var d=parseFloat(c[1])/ +360,e=parseInt(c[2],10)/100,f=parseInt(c[3],10)/100;b(c[5]);return this.setHSL(d,e,f)}}}else if(c=/^\#([A-Fa-f0-9]+)$/.exec(a)){c=c[1];d=c.length;if(3===d)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2),16)/255,this;if(6===d)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0=h?m/(e+f): +m/(2-e-f);switch(e){case b:g=(c-d)/m+(cthis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){return(b||new D).set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y- +this.min.y))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y?!1:!0},clampPoint:function(a,b){return(b||new D).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new D;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},translate:function(a){this.min.add(a); +this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}};var Af=0;X.prototype={constructor:X,isMaterial:!0,get needsUpdate(){return this._needsUpdate},set needsUpdate(a){!0===a&&this.update();this._needsUpdate=a},setValues:function(a){if(void 0!==a)for(var b in a){var c=a[b];if(void 0===c)console.warn("THREE.Material: '"+b+"' parameter is undefined.");else{var d=this[b];void 0===d?console.warn("THREE."+this.type+": '"+b+"' is not a property of this material."): +d&&d.isColor?d.set(c):d&&d.isVector3&&c&&c.isVector3?d.copy(c):this[b]="overdraw"===b?Number(c):c}}},toJSON:function(a){function b(a){var b=[],c;for(c in a){var d=a[c];delete d.metadata;b.push(d)}return b}var c=void 0===a;c&&(a={textures:{},images:{}});var d={metadata:{version:4.4,type:"Material",generator:"Material.toJSON"}};d.uuid=this.uuid;d.type=this.type;""!==this.name&&(d.name=this.name);this.color&&this.color.isColor&&(d.color=this.color.getHex());void 0!==this.roughness&&(d.roughness=this.roughness); +void 0!==this.metalness&&(d.metalness=this.metalness);this.emissive&&this.emissive.isColor&&(d.emissive=this.emissive.getHex());this.specular&&this.specular.isColor&&(d.specular=this.specular.getHex());void 0!==this.shininess&&(d.shininess=this.shininess);void 0!==this.clearCoat&&(d.clearCoat=this.clearCoat);void 0!==this.clearCoatRoughness&&(d.clearCoatRoughness=this.clearCoatRoughness);this.map&&this.map.isTexture&&(d.map=this.map.toJSON(a).uuid);this.alphaMap&&this.alphaMap.isTexture&&(d.alphaMap= +this.alphaMap.toJSON(a).uuid);this.lightMap&&this.lightMap.isTexture&&(d.lightMap=this.lightMap.toJSON(a).uuid);this.bumpMap&&this.bumpMap.isTexture&&(d.bumpMap=this.bumpMap.toJSON(a).uuid,d.bumpScale=this.bumpScale);this.normalMap&&this.normalMap.isTexture&&(d.normalMap=this.normalMap.toJSON(a).uuid,d.normalScale=this.normalScale.toArray());this.displacementMap&&this.displacementMap.isTexture&&(d.displacementMap=this.displacementMap.toJSON(a).uuid,d.displacementScale=this.displacementScale,d.displacementBias= +this.displacementBias);this.roughnessMap&&this.roughnessMap.isTexture&&(d.roughnessMap=this.roughnessMap.toJSON(a).uuid);this.metalnessMap&&this.metalnessMap.isTexture&&(d.metalnessMap=this.metalnessMap.toJSON(a).uuid);this.emissiveMap&&this.emissiveMap.isTexture&&(d.emissiveMap=this.emissiveMap.toJSON(a).uuid);this.specularMap&&this.specularMap.isTexture&&(d.specularMap=this.specularMap.toJSON(a).uuid);this.envMap&&this.envMap.isTexture&&(d.envMap=this.envMap.toJSON(a).uuid,d.reflectivity=this.reflectivity); +this.gradientMap&&this.gradientMap.isTexture&&(d.gradientMap=this.gradientMap.toJSON(a).uuid);void 0!==this.size&&(d.size=this.size);void 0!==this.sizeAttenuation&&(d.sizeAttenuation=this.sizeAttenuation);1!==this.blending&&(d.blending=this.blending);2!==this.shading&&(d.shading=this.shading);0!==this.side&&(d.side=this.side);0!==this.vertexColors&&(d.vertexColors=this.vertexColors);1>this.opacity&&(d.opacity=this.opacity);!0===this.transparent&&(d.transparent=this.transparent);d.depthFunc=this.depthFunc; +d.depthTest=this.depthTest;d.depthWrite=this.depthWrite;0e&&(e=k);l>f&&(f=l);p>g&&(g=p)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,m=a.count;he&&(e=k);l>f&&(f=l);p>g&&(g=p)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;bthis.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z},getParameter:function(a, +b){return(b||new q).set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},intersectsSphere:function(){var a;return function(b){void 0===a&&(a=new q);this.clampPoint(b.center,a);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){var b, +c;0=a.constant},clampPoint:function(a,b){return(b||new q).copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new q; +return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new q;return function(b){b=b||new Na;this.getCenter(b.center);b.radius=.5*this.getSize(a).length();return b}}(),intersect:function(a){this.min.max(a.min);this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new q,new q,new q,new q,new q,new q,new q,new q];return function(b){if(this.isEmpty())return this; +a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b);a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.setFromPoints(a);return this}}(), +translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}};Na.prototype={constructor:Na,set:function(a,b){this.center.copy(a);this.radius=b;return this},setFromPoints:function(){var a;return function(b,c){void 0===a&&(a=new Pa);var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).getCenter(d);for(var e=0,f=0,g=b.length;f=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius},distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(this.center.dot(a.normal)- +a.constant)<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a),d=b||new q;d.copy(a);c>this.radius*this.radius&&(d.sub(this.center).normalize(),d.multiplyScalar(this.radius).add(this.center));return d},getBoundingBox:function(a){a=a||new Pa;a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&& +a.radius===this.radius}};ya.prototype={constructor:ya,isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,m){var k=this.elements;k[0]=a;k[1]=d;k[2]=g;k[3]=b;k[4]=e;k[5]=h;k[6]=c;k[7]=f;k[8]=m;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)},copy:function(a){a=a.elements;this.set(a[0],a[3],a[6],a[1],a[4],a[7],a[2],a[5],a[8]);return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9], +a[2],a[6],a[10]);return this},applyToBufferAttribute:function(){var a;return function(b){void 0===a&&(a=new q);for(var c=0,d=b.count;cc;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}};la.prototype={constructor:la,set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a, +b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new q,b=new q;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(),clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this}, +negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){return this.orthoPoint(a,b).sub(a).negate()},orthoPoint:function(a,b){var c=this.distanceToPoint(a);return(b||new q).copy(this.normal).multiplyScalar(c)},intersectLine:function(){var a=new q;return function(b,c){var d=c||new q,e=b.delta(a),f=this.normal.dot(e); +if(0===f){if(0===this.distanceToPoint(b.start))return d.copy(b.start)}else return f=-(b.start.dot(this.normal)+this.constant)/f,0>f||1b&&0a&&0c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],m=c[6],k=c[7],l=c[8],p=c[9],n=c[10],u=c[11],q=c[12],r=c[13],A=c[14],c=c[15];b[0].setComponents(f-a,k-g,u-l,c-q).normalize();b[1].setComponents(f+a,k+g,u+l,c+q).normalize();b[2].setComponents(f+d,k+h,u+p,c+r).normalize();b[3].setComponents(f- +d,k-h,u-p,c-r).normalize();b[4].setComponents(f-e,k-m,u-n,c-A).normalize();b[5].setComponents(f+e,k+m,u+n,c+A).normalize();return this},intersectsObject:function(){var a=new Na;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Na;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(), +intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d=0;6>d;d++)if(b[d].distanceToPoint(c)e;e++){var f=d[e];a.x=0 +g&&0>f)return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}};cb.prototype={constructor:cb,set:function(a,b){this.origin.copy(a);this.direction.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.origin.copy(a.origin);this.direction.copy(a.direction);return this},at:function(a,b){return(b||new q).copy(this.direction).multiplyScalar(a).add(this.origin)},lookAt:function(a){this.direction.copy(a).sub(this.origin).normalize(); +return this},recast:function(){var a=new q;return function(b){this.origin.copy(this.at(b,a));return this}}(),closestPointToPoint:function(a,b){var c=b||new q;c.subVectors(a,this.origin);var d=c.dot(this.direction);return 0>d?c.copy(this.origin):c.copy(this.direction).multiplyScalar(d).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new q;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b); +a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a=new q,b=new q,c=new q;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);b.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var h=.5*d.distanceTo(e),m=-this.direction.dot(b),k=c.dot(this.direction),l=-c.dot(b),p=c.lengthSq(),n=Math.abs(1-m*m),u;0=-u?e<=u?(h=1/n,d*=h,e*=h,m=d*(d+m*e+2*k)+e*(m*d+e+2*l)+p):(e=h,d=Math.max(0,-(m* +e+k)),m=-d*d+e*(e+2*l)+p):(e=-h,d=Math.max(0,-(m*e+k)),m=-d*d+e*(e+2*l)+p):e<=-u?(d=Math.max(0,-(-m*h+k)),e=0f)return null;f=Math.sqrt(f-e);e=d-f;d+=f;return 0>e&&0>d?null:0>e?this.at(d,c):this.at(e,c)}}(),intersectsSphere:function(a){return this.distanceToPoint(a.center)<=a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a, +b){var c=this.distanceToPlane(a);return null===c?null:this.at(c,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin);return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c,d,e,f,g;d=1/this.direction.x;f=1/this.direction.y;g=1/this.direction.z;var h=this.origin;0<=d?(c=(a.min.x-h.x)*d,d*=a.max.x-h.x):(c=(a.max.x-h.x)*d,d*=a.min.x-h.x);0<=f?(e=(a.min.y-h.y)*f,f*=a.max.y-h.y):(e=(a.max.y-h.y)*f,f*=a.min.y-h.y);if(c>f||e>d)return null;if(e>c||c!==c)c=e; +if(fg||e>d)return null;if(e>c||c!==c)c=e;if(gd?null:this.at(0<=c?c:d,b)},intersectsBox:function(){var a=new q;return function(b){return null!==this.intersectBox(b,a)}}(),intersectTriangle:function(){var a=new q,b=new q,c=new q,d=new q;return function(e,f,g,h,m){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0f)h= +-1,f=-f;else return null;a.subVectors(this.origin,e);e=h*this.direction.dot(c.crossVectors(a,c));if(0>e)return null;g=h*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-h*a.dot(d);return 0>e?null:this.at(e/f,m)}}(),applyMatrix4:function(a){this.direction.add(this.origin).applyMatrix4(a);this.origin.applyMatrix4(a);this.direction.sub(this.origin);this.direction.normalize();return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}};db.RotationOrders= +"XYZ YZX ZXY XZY YXZ ZYX".split(" ");db.DefaultOrder="XYZ";db.prototype={constructor:db,isEuler:!0,get x(){return this._x},set x(a){this._x=a;this.onChangeCallback()},get y(){return this._y},set y(a){this._y=a;this.onChangeCallback()},get z(){return this._z},set z(a){this._z=a;this.onChangeCallback()},get order(){return this._order},set order(a){this._order=a;this.onChangeCallback()},set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._order=d||this._order;this.onChangeCallback();return this}, +clone:function(){return new this.constructor(this._x,this._y,this._z,this._order)},copy:function(a){this._x=a._x;this._y=a._y;this._z=a._z;this._order=a._order;this.onChangeCallback();return this},setFromRotationMatrix:function(a,b,c){var d=N.clamp,e=a.elements;a=e[0];var f=e[4],g=e[8],h=e[1],m=e[5],k=e[9],l=e[2],p=e[6],e=e[10];b=b||this._order;"XYZ"===b?(this._y=Math.asin(d(g,-1,1)),.99999>Math.abs(g)?(this._x=Math.atan2(-k,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(p,m),this._z=0)):"YXZ"=== +b?(this._x=Math.asin(-d(k,-1,1)),.99999>Math.abs(k)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h,m)):(this._y=Math.atan2(-l,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(p,-1,1)),.99999>Math.abs(p)?(this._y=Math.atan2(-l,e),this._z=Math.atan2(-f,m)):(this._y=0,this._z=Math.atan2(h,a))):"ZYX"===b?(this._y=Math.asin(-d(l,-1,1)),.99999>Math.abs(l)?(this._x=Math.atan2(p,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,m))):"YZX"===b?(this._z=Math.asin(d(h,-1,1)),.99999>Math.abs(h)?(this._x= +Math.atan2(-k,m),this._y=Math.atan2(-l,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(p,m),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-k,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order=b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a;return function(b,c,d){void 0===a&&(a=new S);a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a, +c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new ca;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x=a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]= +this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new q(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}};nd.prototype={constructor:nd,set:function(a){this.mask=1<=b.x+b.y}}();za.prototype={constructor:za,set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this}, +area:function(){var a=new q,b=new q;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return.5*a.cross(b).length()}}(),midpoint:function(a){return(a||new q).addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},normal:function(a){return za.normal(this.a,this.b,this.c,a)},plane:function(a){return(a||new la).setFromCoplanarPoints(this.a,this.b,this.c)},barycoordFromPoint:function(a,b){return za.barycoordFromPoint(a,this.a,this.b,this.c,b)},containsPoint:function(a){return za.containsPoint(a, +this.a,this.b,this.c)},closestPointToPoint:function(){var a,b,c,d;return function(e,f){void 0===a&&(a=new la,b=[new hb,new hb,new hb],c=new q,d=new q);var g=f||new q,h=Infinity;a.setFromCoplanarPoints(this.a,this.b,this.c);a.projectPoint(e,c);if(!0===this.containsPoint(c))g.copy(c);else{b[0].set(this.a,this.b);b[1].set(this.b,this.c);b[2].set(this.c,this.a);for(var m=0;md;d++)if(e[d]===e[(d+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(e=a[f],this.faces.splice(e,1),c=0,g=this.faceVertexUvs.length;cb.far?null:{distance:c,point:w.clone(),object:a}}function c(c,d,e,f,k,l,p,t){g.fromBufferAttribute(f,l);h.fromBufferAttribute(f,p);m.fromBufferAttribute(f,t);if(c=b(c,d,e,g,h,m,A))k&&(n.fromBufferAttribute(k,l),u.fromBufferAttribute(k,p),G.fromBufferAttribute(k,t),c.uv=a(A,g,h,m,n,u,G)),c.face= +new ha(l,p,t,za.normal(g,h,m)),c.faceIndex=l;return c}var d=new S,e=new cb,f=new Na,g=new q,h=new q,m=new q,k=new q,l=new q,p=new q,n=new D,u=new D,G=new D,r=new q,A=new q,w=new q;return function(q,r){var v=this.geometry,w=this.material,L=this.matrixWorld;if(void 0!==w&&(null===v.boundingSphere&&v.computeBoundingSphere(),f.copy(v.boundingSphere),f.applyMatrix4(L),!1!==q.ray.intersectsSphere(f)&&(d.getInverse(L),e.copy(q.ray).applyMatrix4(d),null===v.boundingBox||!1!==e.intersectsBox(v.boundingBox)))){var C; +if(v.isBufferGeometry){var F,x,w=v.index,H=v.attributes.position,L=v.attributes.uv,D,z;if(null!==w)for(D=0,z=w.count;Dthis.scale.x*this.scale.y/4||c.push({distance:Math.sqrt(d),point:this.position, +face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}});Ec.prototype=Object.assign(Object.create(x.prototype),{constructor:Ec,copy:function(a){x.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b=d[e].distance)d[e- +1].object.visible=!1,d[e].object.visible=!0;else break;for(;ef||(l.applyMatrix4(this.matrixWorld), +r=d.ray.origin.distanceTo(l),rd.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else for(g=0,G=u.length/3-1;gf||(l.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(l),rd.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(m=g.vertices, +k=m.length,g=0;gf||(l.applyMatrix4(this.matrixWorld),r=d.ray.origin.distanceTo(l),rd.far||e.push({distance:r,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});ga.prototype=Object.assign(Object.create(Ua.prototype),{constructor:ga,isLineSegments:!0});Oa.prototype=Object.create(X.prototype);Oa.prototype.constructor= +Oa;Oa.prototype.isPointsMaterial=!0;Oa.prototype.copy=function(a){X.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.size=a.size;this.sizeAttenuation=a.sizeAttenuation;return this};Mb.prototype=Object.assign(Object.create(x.prototype),{constructor:Mb,isPoints:!0,raycast:function(){var a=new S,b=new cb,c=new Na;return function(d,e){function f(a,c){var f=b.distanceSqToPoint(a);if(fd.far||e.push({distance:k,distanceToRay:Math.sqrt(f),point:h.clone(),index:c,face:null,object:g})}}var g=this,h=this.geometry,m=this.matrixWorld,k=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(m);if(!1!==d.ray.intersectsSphere(c)){a.getInverse(m);b.copy(d.ray).applyMatrix4(a);var k=k/((this.scale.x+this.scale.y+this.scale.z)/3),l=k*k,k=new q;if(h.isBufferGeometry){var p=h.index,h=h.attributes.position.array;if(null!==p)for(var n= +p.array,p=0,u=n.length;pc)return null;var d=[],e=[],f=[],g,h,m;if(0=k--){console.warn("THREE.ShapeUtils: Unable to triangulate polygon! in triangulate()");break}g=h;c<=g&&(g=0);h=g+1;c<=h&&(h=0);m=h+1;c<=m&&(m=0);var l;a:{var p,n,q,G,r,A,w,y;p=a[e[g]].x;n=a[e[g]].y;q=a[e[h]].x;G=a[e[h]].y;r=a[e[m]].x;A=a[e[m]].y;if(0>=(q- +p)*(A-n)-(G-n)*(r-p))l=!1;else{var K,v,E,x,C,F,D,H,z,J;K=r-q;v=A-G;E=p-r;x=n-A;C=q-p;F=G-n;for(l=0;l=-Number.EPSILON&&H>=-Number.EPSILON&&D>=-Number.EPSILON)){l=!1;break a}l=!0}}if(l){d.push([a[e[g]],a[e[h]],a[e[m]]]);f.push([e[g],e[h],e[m]]);g=h;for(m=h+1;mNumber.EPSILON){if(0t||t>p)return[];k=m*l-k*n;if(0>k||k>p)return[]}else{if(0c?[]:k===c?f?[]:[g]:a<=c?[g,h]:[g,m]}function f(a,b,c,d){var e=b.x-a.x,f=b.y-a.y;b=c.x-a.x;c=c.y-a.y;var g=d.x-a.x;d=d.y-a.y;a=e*c-f*b;e=e*d-f*g;return Math.abs(a)>Number.EPSILON?(b=g*c-d*b,0e&&(e=d);var g=a+1;g>d&&(g=0);d=f(h[a],h[e],h[g],k[b]);if(!d)return!1;d=k.length-1;e=b-1;0>e&&(e=d);g=b+1;g>d&&(g=0);return(d=f(k[b],k[e],k[g],h[a]))?!0:!1}function d(a,b){var c,f;for(c=0;cQ){console.log("Infinite Loop! Holes left:"+m.length+", Probably Hole outside Shape!");break}for(n=D;nm;m++)l=k[m].x+":"+k[m].y,l=p[l],void 0!==l&&(k[m]=l);return n.concat()},isClockWise:function(a){return 0>Ia.area(a)}};La.prototype=Object.create(T.prototype);La.prototype.constructor=La;La.prototype.addShapeList=function(a,b){for(var c=a.length,d=0;dNumber.EPSILON){var k=Math.sqrt(h),m=Math.sqrt(d*d+g*g),h=b.x-f/k;b=b.y+e/k;g=((c.x-g/m-h)*g-(c.y+d/m-b)*d)/(e*g-f*d);d=h+e*g-a.x;e=b+f*g-a.y;f=d*d+e*e;if(2>=f)return new D(d,e);f=Math.sqrt(f/2)}else a=!1,e>Number.EPSILON?d>Number.EPSILON&&(a=!0):e<-Number.EPSILON?d<-Number.EPSILON&&(a=!0):Math.sign(f)===Math.sign(g)&&(a=!0),a?(d=-f,f=Math.sqrt(h)):(d=e,e=f,f=Math.sqrt(h/2));return new D(d/f,e/f)} +function e(a,b){var c,d;for(R=a.length;0<=--R;){c=R;d=R-1;0>d&&(d=a.length-1);var e,f=u+2*l;for(e=0;eMath.abs(b.y-c.y)?[new D(b.x,1-b.z),new D(c.x,1-c.z),new D(d.x,1-d.z),new D(e.x,1-e.z)]:[new D(b.y,1-b.z),new D(c.y,1-c.z),new D(d.y,1-d.z),new D(e.y,1-e.z)]}};Qc.prototype=Object.create(La.prototype);Qc.prototype.constructor=Qc;Rc.prototype=Object.create(T.prototype);Rc.prototype.constructor=Rc;pb.prototype=Object.create(I.prototype);pb.prototype.constructor=pb;Sc.prototype=Object.create(T.prototype);Sc.prototype.constructor= +Sc;Wb.prototype=Object.create(I.prototype);Wb.prototype.constructor=Wb;Tc.prototype=Object.create(T.prototype);Tc.prototype.constructor=Tc;Xb.prototype=Object.create(I.prototype);Xb.prototype.constructor=Xb;Yb.prototype=Object.create(T.prototype);Yb.prototype.constructor=Yb;Zb.prototype=Object.create(I.prototype);Zb.prototype.constructor=Zb;$b.prototype=Object.create(I.prototype);$b.prototype.constructor=$b;qb.prototype=Object.create(T.prototype);qb.prototype.constructor=qb;Va.prototype=Object.create(I.prototype); +Va.prototype.constructor=Va;Uc.prototype=Object.create(qb.prototype);Uc.prototype.constructor=Uc;Vc.prototype=Object.create(Va.prototype);Vc.prototype.constructor=Vc;Wc.prototype=Object.create(T.prototype);Wc.prototype.constructor=Wc;ac.prototype=Object.create(I.prototype);ac.prototype.constructor=ac;var Ma=Object.freeze({WireframeGeometry:Ob,ParametricGeometry:Hc,ParametricBufferGeometry:Pb,TetrahedronGeometry:Jc,TetrahedronBufferGeometry:Qb,OctahedronGeometry:Kc,OctahedronBufferGeometry:ob,IcosahedronGeometry:Lc, +IcosahedronBufferGeometry:Rb,DodecahedronGeometry:Mc,DodecahedronBufferGeometry:Sb,PolyhedronGeometry:Ic,PolyhedronBufferGeometry:Ba,TubeGeometry:Nc,TubeBufferGeometry:Tb,TorusKnotGeometry:Oc,TorusKnotBufferGeometry:Ub,TorusGeometry:Pc,TorusBufferGeometry:Vb,TextGeometry:Qc,SphereGeometry:Rc,SphereBufferGeometry:pb,RingGeometry:Sc,RingBufferGeometry:Wb,PlaneGeometry:Ac,PlaneBufferGeometry:lb,LatheGeometry:Tc,LatheBufferGeometry:Xb,ShapeGeometry:Yb,ShapeBufferGeometry:Zb,ExtrudeGeometry:La,EdgesGeometry:$b, +ConeGeometry:Uc,ConeBufferGeometry:Vc,CylinderGeometry:qb,CylinderBufferGeometry:Va,CircleGeometry:Wc,CircleBufferGeometry:ac,BoxGeometry:Ib,BoxBufferGeometry:kb});bc.prototype=Object.create(Ha.prototype);bc.prototype.constructor=bc;bc.prototype.isShadowMaterial=!0;cc.prototype=Object.create(Ha.prototype);cc.prototype.constructor=cc;cc.prototype.isRawShaderMaterial=!0;Xc.prototype={constructor:Xc,isMultiMaterial:!0,toJSON:function(a){for(var b={metadata:{version:4.2,type:"material",generator:"MaterialExporter"}, +uuid:this.uuid,type:this.type,materials:[]},c=this.materials,d=0,e=c.length;d=e)break a;else{f=b[1];a=e)break b}d=c;c=0}}for(;c>>1,ab;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),d=this.getValueSize(),this.times=na.arraySlice(c,e,f),this.values=na.arraySlice(this.values,e*d,f*d);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("invalid value size in track",this),a=!1);var c=this.times,b=this.values,d=c.length;0===d&&(console.error("track is empty", +this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("time is not a valid number",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("out of order keys",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&na.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("value is not a valid number",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values,c=this.getValueSize(),d=2302===this.getInterpolation(),e=1, +f=a.length-1,g=1;gk.opacity&&(k.transparent=!0);d.setTextures(m);return d.parse(k)}}()};zb.Handlers={handlers:[],add:function(a,b){this.handlers.push(a,b)},get:function(a){for(var b=this.handlers,c=0,d=b.length;cg;g++)n=y[m++],w=A[2*n],n=A[2*n+1],w=new D(w,n),2!==g&&c.faceVertexUvs[d][h].push(w),0!==g&&c.faceVertexUvs[d][h+1].push(w);p&&(p=3*y[m++],u.normal.set(x[p++],x[p++],x[p]), +r.normal.copy(u.normal));if(G)for(d=0;4>d;d++)p=3*y[m++],G=new q(x[p++],x[p++],x[p]),2!==d&&u.vertexNormals.push(G),0!==d&&r.vertexNormals.push(G);l&&(l=y[m++],l=v[l],u.color.setHex(l),r.color.setHex(l));if(b)for(d=0;4>d;d++)l=y[m++],l=v[l],2!==d&&u.vertexColors.push(new J(l)),0!==d&&r.vertexColors.push(new J(l));c.faces.push(u);c.faces.push(r)}else{u=new ha;u.a=y[m++];u.b=y[m++];u.c=y[m++];h&&(h=y[m++],u.materialIndex=h);h=c.faces.length;if(d)for(d=0;dg;g++)n=y[m++],w=A[2*n],n=A[2*n+1],w=new D(w,n),c.faceVertexUvs[d][h].push(w);p&&(p=3*y[m++],u.normal.set(x[p++],x[p++],x[p]));if(G)for(d=0;3>d;d++)p=3*y[m++],G=new q(x[p++],x[p++],x[p]),u.vertexNormals.push(G);l&&(l=y[m++],u.color.setHex(v[l]));if(b)for(d=0;3>d;d++)l=y[m++],u.vertexColors.push(new J(v[l]));c.faces.push(u)}})(d);(function(){var b=void 0!==a.influencesPerVertex?a.influencesPerVertex:2;if(a.skinWeights)for(var d=0,g=a.skinWeights.length;dm)g=d+1;else if(0b&&(b=0);1Number.EPSILON&&(g.normalize(),c=Math.acos(N.clamp(d[m-1].dot(d[m]),-1,1)),e[m].applyMatrix4(h.makeRotationAxis(g,c))),f[m].crossVectors(d[m],e[m]);if(!0===b)for(c=Math.acos(N.clamp(e[0].dot(e[a]),-1,1)),c/=a,0=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths();return a[a.length-1]},updateArcLengths:function(){this.needsUpdate= +!0;this.cacheLengths=null;this.getLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;cc;)c+=b;for(;c>b;)c-=b;cb.length-2?b.length-1:a+1],b=b[a>b.length-3?b.length-1:a+2];return new D(Te(c,d.x,e.x,f.x,b.x),Te(c,d.y,e.y,f.y,b.y))};fc.prototype=Object.create(ua.prototype);fc.prototype.constructor= +fc;fc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new D(Bb(a,b.x,c.x,d.x,e.x),Bb(a,b.y,c.y,d.y,e.y))};gc.prototype=Object.create(ua.prototype);gc.prototype.constructor=gc;gc.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2;return new D(Ab(a,b.x,c.x,d.x),Ab(a,b.y,c.y,d.y))};var xe=Object.assign(Object.create(ad.prototype),{fromPoints:function(a){this.moveTo(a[0].x,a[0].y);for(var b=1,c=a.length;bNumber.EPSILON){if(0>m&&(g=b[f],k=-k,h=b[e],m=-m),!(a.yh.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=m*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=Ia.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);var g,h,m,k=[];if(1===f.length)return h=f[0],m=new Db,m.curves=h.curves,k.push(m),k;var l=!e(f[0].getPoints()),l=a?!l:l;m=[];var p= +[],n=[],q=0,x;p[q]=void 0;n[q]=[];for(var r=0,A=f.length;rd&&this._mixBufferRegion(c,a,3*b,1-d,b);for(var d=b,f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}}, +saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a,b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d,e){ca.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var h=b+g;a[h]=a[h]*f+a[c+g]*d}}};ka.prototype={constructor:ka,getValue:function(a, +b){this.bind();this.getValue(a,b)},setValue:function(a,b){this.bind();this.setValue(a,b)},bind:function(){var a=this.node,b=this.parsedPath,c=b.objectName,d=b.propertyName,e=b.propertyIndex;a||(this.node=a=ka.findNode(this.rootNode,b.nodeName)||this.rootNode);this.getValue=this._getValue_unavailable;this.setValue=this._setValue_unavailable;if(a){if(c){var f=b.objectIndex;switch(c){case "materials":if(!a.material){console.error(" can not bind to material as node does not have a material",this);return}if(!a.material.materials){console.error(" can not bind to material.materials as node.material does not have a materials array", +this);return}a=a.material.materials;break;case "bones":if(!a.skeleton){console.error(" can not bind to bones as node does not have a skeleton",this);return}a=a.skeleton.bones;for(c=0;c=c){var p=c++,n=b[p];d[n.uuid]=l;b[l]=n;d[k]=p;b[p]=m;m=0;for(k=f;m!==k;++m){var n=e[m],q=n[l];n[l]=n[p];n[p]=q}}}this.nCachedObjects_=c},uncache:function(a){for(var b=this._objects,c=b.length,d=this.nCachedObjects_,e=this._indicesByUUID,f=this._bindings,g=f.length,h=0,m=arguments.length;h!==m;++h){var k=arguments[h].uuid,l=e[k]; +if(void 0!==l)if(delete e[k],lb||0===c)return;this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=this._updateWeight(a);if(0c.parameterPositions[1]&& +(this.stopFading(),0===d&&(this.enabled=!1))}}return this._effectiveWeight=b},_updateTimeScale:function(a){var b=0;if(!this.paused){var b=this.timeScale,c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0],b=b*d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a;if(0===a)return b;var c=this._clip.duration,d=this.loop,e=this._loopCount;if(2200===d)a:{if(-1===e&&(this._loopCount= +0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else break a;this.clampWhenFinished?this.paused=!0:this.enabled=!1;this._mixer.dispatchEvent({type:"finished",action:this,direction:0>a?-1:1})}else{d=2202===d;-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,d)):this._setEndings(0===this.repetitions,!0,d));if(b>=c||0>b){var f=Math.floor(b/c),b=b-c*f,e=e+Math.abs(f),g=this.repetitions-e;0>g?(this.clampWhenFinished?this.paused=!0:this.enabled=!1,b=0a,this._setEndings(a,!a,d)):this._setEndings(!1,!1,d),this._loopCount=e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:f}))}if(d&&1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time, +f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}};cd.prototype={constructor:cd,clipAction:function(a,b){var c=b||this._root,d=c.uuid,e="string"===typeof a?qa.findByName(c,a):a,c=null!==e?e.uuid:a,f=this._actionsByClip[c],g=null;if(void 0!==f){g=f.actionByRoot[d];if(void 0!==g)return g;g=f.knownActions[0];null===e&&(e=g._clip)}if(null===e)return null;e=new ne(this,e,b);this._bindAction(e, +g);this._addInactiveAction(e,c,d);return e},existingAction:function(a,b){var c=b||this._root,d=c.uuid,c="string"===typeof a?qa.findByName(c,a):a,c=this._actionsByClip[c?c.uuid:a];return void 0!==c?c.actionByRoot[d]||null:null},stopAllAction:function(){for(var a=this._actions,b=this._nActiveActions,c=this._bindings,d=this._nActiveBindings,e=this._nActiveBindings=this._nActiveActions=0;e!==b;++e)a[e].reset();for(e=0;e!==d;++e)c[e].useCount=0;return this},update:function(a){a*=this.timeScale;for(var b= +this._actions,c=this._nActiveActions,d=this.time+=a,e=Math.sign(a),f=this._accuIndex^=1,g=0;g!==c;++g){var h=b[g];h.enabled&&h._update(d,a,e,f)}a=this._bindings;b=this._nActiveBindings;for(g=0;g!==b;++g)a[g].apply(f);return this},getRoot:function(){return this._root},uncacheClip:function(a){var b=this._actions;a=a.uuid;var c=this._actionsByClip,d=c[a];if(void 0!==d){for(var d=d.knownActions,e=0,f=d.length;e!==f;++e){var g=d[e];this._deactivateAction(g);var h=g._cacheIndex,l=b[b.length-1];g._cacheIndex= +null;g._byClipCacheIndex=null;l._cacheIndex=h;b[h]=l;b.pop();this._removeInactiveBindingsForAction(g)}delete c[a]}},uncacheRoot:function(a){a=a.uuid;var b=this._actionsByClip,c;for(c in b){var d=b[c].actionByRoot[a];void 0!==d&&(this._deactivateAction(d),this._removeInactiveAction(d))}c=this._bindingsByRootAndName[a];if(void 0!==c)for(var e in c)a=c[e],a.restoreOriginalState(),this._removeInactiveBinding(a)},uncacheAction:function(a,b){var c=this.existingAction(a,b);null!==c&&(this._deactivateAction(c), +this._removeInactiveAction(c))}};Object.assign(cd.prototype,{_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings,g=a._interpolants,h=c.uuid,l=this._bindingsByRootAndName,k=l[h];void 0===k&&(k={},l[h]=k);for(l=0;l!==e;++l){var q=d[l],p=q.name,n=k[p];if(void 0===n){n=f[l];if(void 0!==n){null===n._cacheIndex&&(++n.referenceCount,this._addInactiveBinding(n,h,p));continue}n=new Jd(ka.create(c,p,b&&b._propertyBindings[l].binding.parsedPath),q.ValueTypeName, +q.getValueSize());++n.referenceCount;this._addInactiveBinding(n,h,p)}f[l]=n;g[l].resultBuffer=n.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b= +a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length}, +get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}},_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&ah.end&&(h.end=f);c||(c=l)}}for(l in d)h=d[l],this.createAnimation(l,h.start,h.end,a);this.firstAnimation=c};oa.prototype.setAnimationDirectionForward=function(a){if(a=this.animationsMap[a])a.direction=1,a.directionBackwards=!1};oa.prototype.setAnimationDirectionBackward=function(a){if(a=this.animationsMap[a])a.direction=-1,a.directionBackwards=!0};oa.prototype.setAnimationFPS= +function(a,b){var c=this.animationsMap[a];c&&(c.fps=b,c.duration=(c.end-c.start)/c.fps)};oa.prototype.setAnimationDuration=function(a,b){var c=this.animationsMap[a];c&&(c.duration=b,c.fps=(c.end-c.start)/c.duration)};oa.prototype.setAnimationWeight=function(a,b){var c=this.animationsMap[a];c&&(c.weight=b)};oa.prototype.setAnimationTime=function(a,b){var c=this.animationsMap[a];c&&(c.time=b)};oa.prototype.getAnimationTime=function(a){var b=0;if(a=this.animationsMap[a])b=a.time;return b};oa.prototype.getAnimationDuration= +function(a){var b=-1;if(a=this.animationsMap[a])b=a.duration;return b};oa.prototype.playAnimation=function(a){var b=this.animationsMap[a];b?(b.time=0,b.active=!0):console.warn("THREE.MorphBlendMesh: animation["+a+"] undefined in .playAnimation()")};oa.prototype.stopAnimation=function(a){if(a=this.animationsMap[a])a.active=!1};oa.prototype.update=function(a){for(var b=0,c=this.animationsList.length;b +d.duration||0>d.time)d.direction*=-1,d.time>d.duration&&(d.time=d.duration,d.directionBackwards=!0),0>d.time&&(d.time=0,d.directionBackwards=!1)}else d.time%=d.duration,0>d.time&&(d.time+=d.duration);var f=d.start+N.clamp(Math.floor(d.time/e),0,d.length-1),g=d.weight;f!==d.currentFrame&&(this.morphTargetInfluences[d.lastFrame]=0,this.morphTargetInfluences[d.currentFrame]=1*g,this.morphTargetInfluences[f]=0,d.lastFrame=d.currentFrame,d.currentFrame=f);e=d.time%e/e;d.directionBackwards&&(e=1-e);d.currentFrame!== +d.lastFrame?(this.morphTargetInfluences[d.currentFrame]=e*g,this.morphTargetInfluences[d.lastFrame]=(1-e)*g):this.morphTargetInfluences[d.currentFrame]=g}}};dd.prototype=Object.create(x.prototype);dd.prototype.constructor=dd;dd.prototype.isImmediateRenderObject=!0;ed.prototype=Object.create(ga.prototype);ed.prototype.constructor=ed;ed.prototype.update=function(){var a=new q,b=new q,c=new ya;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld); +var e=this.object.matrixWorld,f=this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=g.vertices,l=g.faces,k=g=0,q=l.length;kc.y?this.quaternion.set(1, +0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();Fb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};Fb.prototype.setColor=function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};Nd.prototype=Object.create(ga.prototype);Nd.prototype.constructor=Nd;var Qd=new q, +ye=new ve,ze=new ve,Ae=new ve;va.prototype=Object.create(ua.prototype);va.prototype.constructor=va;va.prototype.getPoint=function(a){var b=this.points,c=b.length;2>c&&console.log("duh, you need at least 2 points");a*=c-(this.closed?0:1);var d=Math.floor(a);a-=d;this.closed?d+=0d&&(d=1);1E-4>c&&(c=d);1E-4>h&&(h=d);ye.initNonuniformCatmullRom(e.x,f.x,g.x,b.x,c,d,h);ze.initNonuniformCatmullRom(e.y,f.y,g.y,b.y,c,d,h);Ae.initNonuniformCatmullRom(e.z,f.z,g.z,b.z,c,d,h)}else"catmullrom"===this.type&&(c=void 0!==this.tension?this.tension: +.5,ye.initCatmullRom(e.x,f.x,g.x,b.x,c),ze.initCatmullRom(e.y,f.y,g.y,b.y,c),Ae.initCatmullRom(e.z,f.z,g.z,b.z,c));return new q(ye.calc(a),ze.calc(a),Ae.calc(a))};id.prototype=Object.create(ua.prototype);id.prototype.constructor=id;id.prototype.getPoint=function(a){var b=this.v0,c=this.v1,d=this.v2,e=this.v3;return new q(Bb(a,b.x,c.x,d.x,e.x),Bb(a,b.y,c.y,d.y,e.y),Bb(a,b.z,c.z,d.z,e.z))};jd.prototype=Object.create(ua.prototype);jd.prototype.constructor=jd;jd.prototype.getPoint=function(a){var b=this.v0, +c=this.v1,d=this.v2;return new q(Ab(a,b.x,c.x,d.x),Ab(a,b.y,c.y,d.y),Ab(a,b.z,c.z,d.z))};kd.prototype=Object.create(ua.prototype);kd.prototype.constructor=kd;kd.prototype.getPoint=function(a){if(1===a)return this.v2.clone();var b=new q;b.subVectors(this.v2,this.v1);b.multiplyScalar(a);b.add(this.v1);return b};Od.prototype=Object.create(Wa.prototype);Od.prototype.constructor=Od;ua.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(ua.prototype);a.prototype.constructor= +a;a.prototype.getPoint=b;return a};Xe.prototype=Object.create(va.prototype);Ye.prototype=Object.create(va.prototype);we.prototype=Object.create(va.prototype);Object.assign(we.prototype,{initFromArray:function(a){console.error("THREE.Spline: .initFromArray() has been removed.")},getControlPointsArray:function(a){console.error("THREE.Spline: .getControlPointsArray() has been removed.")},reparametrizeByArcLength:function(a){console.error("THREE.Spline: .reparametrizeByArcLength() has been removed.")}}); +fd.prototype.setColors=function(){console.error("THREE.GridHelper: setColors() has been deprecated, pass them in the constructor instead.")};Object.assign(sc.prototype,{center:function(a){console.warn("THREE.Box2: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box2: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box2: .isIntersectionBox() has been renamed to .intersectsBox()."); +return this.intersectsBox(a)},size:function(a){console.warn("THREE.Box2: .size() has been renamed to .getSize().");return this.getSize(a)}});Object.assign(Pa.prototype,{center:function(a){console.warn("THREE.Box3: .center() has been renamed to .getCenter().");return this.getCenter(a)},empty:function(){console.warn("THREE.Box3: .empty() has been renamed to .isEmpty().");return this.isEmpty()},isIntersectionBox:function(a){console.warn("THREE.Box3: .isIntersectionBox() has been renamed to .intersectsBox()."); +return this.intersectsBox(a)},isIntersectionSphere:function(a){console.warn("THREE.Box3: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)},size:function(a){console.warn("THREE.Box3: .size() has been renamed to .getSize().");return this.getSize(a)}});hb.prototype.center=function(a){console.warn("THREE.Line3: .center() has been renamed to .getCenter().");return this.getCenter(a)};N.random16=function(){console.warn("THREE.Math.random16() has been deprecated. Use Math.random() instead."); +return Math.random()};Object.assign(ya.prototype,{flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix3: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},multiplyVector3:function(a){console.warn("THREE.Matrix3: .multiplyVector3() has been removed. Use vector.applyMatrix3( matrix ) instead.");return a.applyMatrix3(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix3: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead."); +return this.applyToVector3Array(a)},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix3: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix3: .applyToVector3Array() has been removed.")}});Object.assign(S.prototype,{extractPosition:function(a){console.warn("THREE.Matrix4: .extractPosition() has been renamed to .copyPosition().");return this.copyPosition(a)}, +flattenToArrayOffset:function(a,b){console.warn("THREE.Matrix4: .flattenToArrayOffset() has been deprecated. Use .toArray() instead.");return this.toArray(a,b)},getPosition:function(){var a;return function(){void 0===a&&(a=new q);console.warn("THREE.Matrix4: .getPosition() has been removed. Use Vector3.setFromMatrixPosition( matrix ) instead.");return a.setFromMatrixColumn(this,3)}}(),setRotationFromQuaternion:function(a){console.warn("THREE.Matrix4: .setRotationFromQuaternion() has been renamed to .makeRotationFromQuaternion()."); +return this.makeRotationFromQuaternion(a)},multiplyVector3:function(a){console.warn("THREE.Matrix4: .multiplyVector3() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector4:function(a){console.warn("THREE.Matrix4: .multiplyVector4() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},multiplyVector3Array:function(a){console.warn("THREE.Matrix4: .multiplyVector3Array() has been renamed. Use matrix.applyToVector3Array( array ) instead."); +return this.applyToVector3Array(a)},rotateAxis:function(a){console.warn("THREE.Matrix4: .rotateAxis() has been removed. Use Vector3.transformDirection( matrix ) instead.");a.transformDirection(this)},crossVector:function(a){console.warn("THREE.Matrix4: .crossVector() has been removed. Use vector.applyMatrix4( matrix ) instead.");return a.applyMatrix4(this)},translate:function(){console.error("THREE.Matrix4: .translate() has been removed.")},rotateX:function(){console.error("THREE.Matrix4: .rotateX() has been removed.")}, +rotateY:function(){console.error("THREE.Matrix4: .rotateY() has been removed.")},rotateZ:function(){console.error("THREE.Matrix4: .rotateZ() has been removed.")},rotateByAxis:function(){console.error("THREE.Matrix4: .rotateByAxis() has been removed.")},applyToBuffer:function(a,b,c){console.warn("THREE.Matrix4: .applyToBuffer() has been removed. Use matrix.applyToBufferAttribute( attribute ) instead.");return this.applyToBufferAttribute(a)},applyToVector3Array:function(a,b,c){console.error("THREE.Matrix4: .applyToVector3Array() has been removed.")}, +makeFrustum:function(a,b,c,d,e,f){console.warn("THREE.Matrix4: .makeFrustum() has been removed. Use .makePerspective( left, right, top, bottom, near, far ) instead.");return this.makePerspective(a,b,d,c,e,f)}});la.prototype.isIntersectionLine=function(a){console.warn("THREE.Plane: .isIntersectionLine() has been renamed to .intersectsLine().");return this.intersectsLine(a)};ca.prototype.multiplyVector3=function(a){console.warn("THREE.Quaternion: .multiplyVector3() has been removed. Use is now vector.applyQuaternion( quaternion ) instead."); +return a.applyQuaternion(this)};Object.assign(cb.prototype,{isIntersectionBox:function(a){console.warn("THREE.Ray: .isIntersectionBox() has been renamed to .intersectsBox().");return this.intersectsBox(a)},isIntersectionPlane:function(a){console.warn("THREE.Ray: .isIntersectionPlane() has been renamed to .intersectsPlane().");return this.intersectsPlane(a)},isIntersectionSphere:function(a){console.warn("THREE.Ray: .isIntersectionSphere() has been renamed to .intersectsSphere().");return this.intersectsSphere(a)}}); +Object.assign(Db.prototype,{extrude:function(a){console.warn("THREE.Shape: .extrude() has been removed. Use ExtrudeGeometry() instead.");return new La(this,a)},makeGeometry:function(a){console.warn("THREE.Shape: .makeGeometry() has been removed. Use ShapeGeometry() instead.");return new Yb(this,a)}});Object.assign(D.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector2: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});Object.assign(q.prototype, +{setEulerFromRotationMatrix:function(){console.error("THREE.Vector3: .setEulerFromRotationMatrix() has been removed. Use Euler.setFromRotationMatrix() instead.")},setEulerFromQuaternion:function(){console.error("THREE.Vector3: .setEulerFromQuaternion() has been removed. Use Euler.setFromQuaternion() instead.")},getPositionFromMatrix:function(a){console.warn("THREE.Vector3: .getPositionFromMatrix() has been renamed to .setFromMatrixPosition().");return this.setFromMatrixPosition(a)},getScaleFromMatrix:function(a){console.warn("THREE.Vector3: .getScaleFromMatrix() has been renamed to .setFromMatrixScale()."); +return this.setFromMatrixScale(a)},getColumnFromMatrix:function(a,b){console.warn("THREE.Vector3: .getColumnFromMatrix() has been renamed to .setFromMatrixColumn().");return this.setFromMatrixColumn(b,a)},applyProjection:function(a){console.warn("THREE.Vector3: .applyProjection() has been removed. Use .applyMatrix4( m ) instead.");return this.applyMatrix4(a)},fromAttribute:function(a,b,c){console.error("THREE.Vector3: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a, +b,c)}});Object.assign(fa.prototype,{fromAttribute:function(a,b,c){console.error("THREE.Vector4: .fromAttribute() has been renamed to .fromBufferAttribute().");return this.fromBufferAttribute(a,b,c)}});T.prototype.computeTangents=function(){console.warn("THREE.Geometry: .computeTangents() has been removed.")};Object.assign(x.prototype,{getChildByName:function(a){console.warn("THREE.Object3D: .getChildByName() has been renamed to .getObjectByName().");return this.getObjectByName(a)},renderDepth:function(){console.warn("THREE.Object3D: .renderDepth has been removed. Use .renderOrder, instead.")}, +translate:function(a,b){console.warn("THREE.Object3D: .translate() has been removed. Use .translateOnAxis( axis, distance ) instead.");return this.translateOnAxis(b,a)}});Object.defineProperties(x.prototype,{eulerOrder:{get:function(){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");return this.rotation.order},set:function(a){console.warn("THREE.Object3D: .eulerOrder is now .rotation.order.");this.rotation.order=a}},useQuaternion:{get:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}, +set:function(){console.warn("THREE.Object3D: .useQuaternion has been removed. The library now uses quaternions by default.")}}});Object.defineProperties(Ec.prototype,{objects:{get:function(){console.warn("THREE.LOD: .objects has been renamed to .levels.");return this.levels}}});Fa.prototype.setLens=function(a,b){console.warn("THREE.PerspectiveCamera.setLens is deprecated. Use .setFocalLength and .filmGauge for a photographic setup.");void 0!==b&&(this.filmGauge=b);this.setFocalLength(a)};Object.defineProperties(ma.prototype, +{onlyShadow:{set:function(){console.warn("THREE.Light: .onlyShadow has been removed.")}},shadowCameraFov:{set:function(a){console.warn("THREE.Light: .shadowCameraFov is now .shadow.camera.fov.");this.shadow.camera.fov=a}},shadowCameraLeft:{set:function(a){console.warn("THREE.Light: .shadowCameraLeft is now .shadow.camera.left.");this.shadow.camera.left=a}},shadowCameraRight:{set:function(a){console.warn("THREE.Light: .shadowCameraRight is now .shadow.camera.right.");this.shadow.camera.right=a}},shadowCameraTop:{set:function(a){console.warn("THREE.Light: .shadowCameraTop is now .shadow.camera.top."); +this.shadow.camera.top=a}},shadowCameraBottom:{set:function(a){console.warn("THREE.Light: .shadowCameraBottom is now .shadow.camera.bottom.");this.shadow.camera.bottom=a}},shadowCameraNear:{set:function(a){console.warn("THREE.Light: .shadowCameraNear is now .shadow.camera.near.");this.shadow.camera.near=a}},shadowCameraFar:{set:function(a){console.warn("THREE.Light: .shadowCameraFar is now .shadow.camera.far.");this.shadow.camera.far=a}},shadowCameraVisible:{set:function(){console.warn("THREE.Light: .shadowCameraVisible has been removed. Use new THREE.CameraHelper( light.shadow.camera ) instead.")}}, +shadowBias:{set:function(a){console.warn("THREE.Light: .shadowBias is now .shadow.bias.");this.shadow.bias=a}},shadowDarkness:{set:function(){console.warn("THREE.Light: .shadowDarkness has been removed.")}},shadowMapWidth:{set:function(a){console.warn("THREE.Light: .shadowMapWidth is now .shadow.mapSize.width.");this.shadow.mapSize.width=a}},shadowMapHeight:{set:function(a){console.warn("THREE.Light: .shadowMapHeight is now .shadow.mapSize.height.");this.shadow.mapSize.height=a}}});Object.defineProperties(U.prototype, +{length:{get:function(){console.warn("THREE.BufferAttribute: .length has been deprecated. Use .count instead.");return this.array.length}}});Object.assign(I.prototype,{addIndex:function(a){console.warn("THREE.BufferGeometry: .addIndex() has been renamed to .setIndex().");this.setIndex(a)},addDrawCall:function(a,b,c){void 0!==c&&console.warn("THREE.BufferGeometry: .addDrawCall() no longer supports indexOffset.");console.warn("THREE.BufferGeometry: .addDrawCall() is now .addGroup().");this.addGroup(a, +b)},clearDrawCalls:function(){console.warn("THREE.BufferGeometry: .clearDrawCalls() is now .clearGroups().");this.clearGroups()},computeTangents:function(){console.warn("THREE.BufferGeometry: .computeTangents() has been removed.")},computeOffsets:function(){console.warn("THREE.BufferGeometry: .computeOffsets() has been removed.")}});Object.defineProperties(I.prototype,{drawcalls:{get:function(){console.error("THREE.BufferGeometry: .drawcalls has been renamed to .groups.");return this.groups}},offsets:{get:function(){console.warn("THREE.BufferGeometry: .offsets has been renamed to .groups."); +return this.groups}}});Object.defineProperties(Kd.prototype,{dynamic:{set:function(){console.warn("THREE.Uniform: .dynamic has been removed. Use object.onBeforeRender() instead.")}},onUpdate:{value:function(){console.warn("THREE.Uniform: .onUpdate() has been removed. Use object.onBeforeRender() instead.");return this}}});Object.defineProperties(X.prototype,{wrapAround:{get:function(){console.warn("THREE."+this.type+": .wrapAround has been removed.")},set:function(){console.warn("THREE."+this.type+ +": .wrapAround has been removed.")}},wrapRGB:{get:function(){console.warn("THREE."+this.type+": .wrapRGB has been removed.");return new J}}});Object.defineProperties(Ca.prototype,{metal:{get:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead.");return!1},set:function(){console.warn("THREE.MeshPhongMaterial: .metal has been removed. Use THREE.MeshStandardMaterial instead")}}});Object.defineProperties(Ha.prototype,{derivatives:{get:function(){console.warn("THREE.ShaderMaterial: .derivatives has been moved to .extensions.derivatives."); +return this.extensions.derivatives},set:function(a){console.warn("THREE. ShaderMaterial: .derivatives has been moved to .extensions.derivatives.");this.extensions.derivatives=a}}});Object.assign(Yd.prototype,{supportsFloatTextures:function(){console.warn("THREE.WebGLRenderer: .supportsFloatTextures() is now .extensions.get( 'OES_texture_float' ).");return this.extensions.get("OES_texture_float")},supportsHalfFloatTextures:function(){console.warn("THREE.WebGLRenderer: .supportsHalfFloatTextures() is now .extensions.get( 'OES_texture_half_float' )."); +return this.extensions.get("OES_texture_half_float")},supportsStandardDerivatives:function(){console.warn("THREE.WebGLRenderer: .supportsStandardDerivatives() is now .extensions.get( 'OES_standard_derivatives' ).");return this.extensions.get("OES_standard_derivatives")},supportsCompressedTextureS3TC:function(){console.warn("THREE.WebGLRenderer: .supportsCompressedTextureS3TC() is now .extensions.get( 'WEBGL_compressed_texture_s3tc' ).");return this.extensions.get("WEBGL_compressed_texture_s3tc")}, +supportsCompressedTexturePVRTC:function(){console.warn("THREE.WebGLRenderer: .supportsCompressedTexturePVRTC() is now .extensions.get( 'WEBGL_compressed_texture_pvrtc' ).");return this.extensions.get("WEBGL_compressed_texture_pvrtc")},supportsBlendMinMax:function(){console.warn("THREE.WebGLRenderer: .supportsBlendMinMax() is now .extensions.get( 'EXT_blend_minmax' ).");return this.extensions.get("EXT_blend_minmax")},supportsVertexTextures:function(){console.warn("THREE.WebGLRenderer: .supportsVertexTextures() is now .capabilities.vertexTextures."); +return this.capabilities.vertexTextures},supportsInstancedArrays:function(){console.warn("THREE.WebGLRenderer: .supportsInstancedArrays() is now .extensions.get( 'ANGLE_instanced_arrays' ).");return this.extensions.get("ANGLE_instanced_arrays")},enableScissorTest:function(a){console.warn("THREE.WebGLRenderer: .enableScissorTest() is now .setScissorTest().");this.setScissorTest(a)},initMaterial:function(){console.warn("THREE.WebGLRenderer: .initMaterial() has been removed.")},addPrePlugin:function(){console.warn("THREE.WebGLRenderer: .addPrePlugin() has been removed.")}, +addPostPlugin:function(){console.warn("THREE.WebGLRenderer: .addPostPlugin() has been removed.")},updateShadowMap:function(){console.warn("THREE.WebGLRenderer: .updateShadowMap() has been removed.")}});Object.defineProperties(Yd.prototype,{shadowMapEnabled:{get:function(){return this.shadowMap.enabled},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapEnabled is now .shadowMap.enabled.");this.shadowMap.enabled=a}},shadowMapType:{get:function(){return this.shadowMap.type},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapType is now .shadowMap.type."); +this.shadowMap.type=a}},shadowMapCullFace:{get:function(){return this.shadowMap.cullFace},set:function(a){console.warn("THREE.WebGLRenderer: .shadowMapCullFace is now .shadowMap.cullFace.");this.shadowMap.cullFace=a}}});Object.defineProperties(Ke.prototype,{cullFace:{get:function(){return this.renderReverseSided?2:1},set:function(a){a=1!==a;console.warn("WebGLRenderer: .shadowMap.cullFace is deprecated. Set .shadowMap.renderReverseSided to "+a+".");this.renderReverseSided=a}}});Object.defineProperties(Ya.prototype, +{wrapS:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");return this.texture.wrapS},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapS is now .texture.wrapS.");this.texture.wrapS=a}},wrapT:{get:function(){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.");return this.texture.wrapT},set:function(a){console.warn("THREE.WebGLRenderTarget: .wrapT is now .texture.wrapT.");this.texture.wrapT=a}},magFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter."); +return this.texture.magFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .magFilter is now .texture.magFilter.");this.texture.magFilter=a}},minFilter:{get:function(){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");return this.texture.minFilter},set:function(a){console.warn("THREE.WebGLRenderTarget: .minFilter is now .texture.minFilter.");this.texture.minFilter=a}},anisotropy:{get:function(){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy."); +return this.texture.anisotropy},set:function(a){console.warn("THREE.WebGLRenderTarget: .anisotropy is now .texture.anisotropy.");this.texture.anisotropy=a}},offset:{get:function(){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");return this.texture.offset},set:function(a){console.warn("THREE.WebGLRenderTarget: .offset is now .texture.offset.");this.texture.offset=a}},repeat:{get:function(){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");return this.texture.repeat}, +set:function(a){console.warn("THREE.WebGLRenderTarget: .repeat is now .texture.repeat.");this.texture.repeat=a}},format:{get:function(){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");return this.texture.format},set:function(a){console.warn("THREE.WebGLRenderTarget: .format is now .texture.format.");this.texture.format=a}},type:{get:function(){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type.");return this.texture.type},set:function(a){console.warn("THREE.WebGLRenderTarget: .type is now .texture.type."); +this.texture.type=a}},generateMipmaps:{get:function(){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");return this.texture.generateMipmaps},set:function(a){console.warn("THREE.WebGLRenderTarget: .generateMipmaps is now .texture.generateMipmaps.");this.texture.generateMipmaps=a}}});hc.prototype.load=function(a){console.warn("THREE.Audio: .load has been deprecated. Use THREE.AudioLoader instead.");var b=this;(new ge).load(a,function(a){b.setBuffer(a)});return this}; +le.prototype.getData=function(){console.warn("THREE.AudioAnalyser: .getData() is now .getFrequencyData().");return this.getFrequencyData()};l.WebGLRenderTargetCube=Gb;l.WebGLRenderTarget=Ya;l.WebGLRenderer=Yd;l.ShaderLib=bb;l.UniformsLib=V;l.UniformsUtils=Ja;l.ShaderChunk=Z;l.FogExp2=Kb;l.Fog=Lb;l.Scene=mb;l.LensFlare=Zd;l.Sprite=Dc;l.LOD=Ec;l.SkinnedMesh=qd;l.Skeleton=od;l.Bone=pd;l.Mesh=Aa;l.LineSegments=ga;l.Line=Ua;l.Points=Mb;l.Group=Fc;l.VideoTexture=rd;l.DataTexture=eb;l.CompressedTexture= +Nb;l.CubeTexture=Za;l.CanvasTexture=sd;l.DepthTexture=Gc;l.Texture=ea;l.CompressedTextureLoader=Re;l.DataTextureLoader=ae;l.CubeTextureLoader=be;l.TextureLoader=td;l.ObjectLoader=Se;l.MaterialLoader=Hd;l.BufferGeometryLoader=ce;l.DefaultLoadingManager=ta;l.LoadingManager=$d;l.JSONLoader=de;l.ImageLoader=Yc;l.FontLoader=Ue;l.FileLoader=sa;l.Loader=zb;l.Cache=ld;l.AudioLoader=ge;l.SpotLightShadow=vd;l.SpotLight=wd;l.PointLight=xd;l.RectAreaLight=he;l.HemisphereLight=ud;l.DirectionalLightShadow=yd;l.DirectionalLight= +zd;l.AmbientLight=Ad;l.LightShadow=wb;l.Light=ma;l.StereoCamera=Ve;l.PerspectiveCamera=Fa;l.OrthographicCamera=Jb;l.CubeCamera=Id;l.Camera=ra;l.AudioListener=ie;l.PositionalAudio=ke;l.AudioContext=je;l.AudioAnalyser=le;l.Audio=hc;l.VectorKeyframeTrack=dc;l.StringKeyframeTrack=Ed;l.QuaternionKeyframeTrack=$c;l.NumberKeyframeTrack=ec;l.ColorKeyframeTrack=Gd;l.BooleanKeyframeTrack=Fd;l.PropertyMixer=Jd;l.PropertyBinding=ka;l.KeyframeTrack=yb;l.AnimationUtils=na;l.AnimationObjectGroup=me;l.AnimationMixer= +cd;l.AnimationClip=qa;l.Uniform=Kd;l.InstancedBufferGeometry=Eb;l.BufferGeometry=I;l.GeometryIdCount=function(){return Vd++};l.Geometry=T;l.InterleavedBufferAttribute=oe;l.InstancedInterleavedBuffer=jc;l.InterleavedBuffer=ic;l.InstancedBufferAttribute=kc;l.Face3=ha;l.Object3D=x;l.Raycaster=pe;l.Layers=nd;l.EventDispatcher=pa;l.Clock=re;l.QuaternionLinearInterpolant=Dd;l.LinearInterpolant=Zc;l.DiscreteInterpolant=Cd;l.CubicInterpolant=Bd;l.Interpolant=xa;l.Triangle=za;l.Math=N;l.Spherical=se;l.Cylindrical= +te;l.Plane=la;l.Frustum=tc;l.Sphere=Na;l.Ray=cb;l.Matrix4=S;l.Matrix3=ya;l.Box3=Pa;l.Box2=sc;l.Line3=hb;l.Euler=db;l.Vector4=fa;l.Vector3=q;l.Vector2=D;l.Quaternion=ca;l.Color=J;l.MorphBlendMesh=oa;l.ImmediateRenderObject=dd;l.VertexNormalsHelper=ed;l.SpotLightHelper=lc;l.SkeletonHelper=mc;l.PointLightHelper=nc;l.RectAreaLightHelper=oc;l.HemisphereLightHelper=pc;l.GridHelper=fd;l.PolarGridHelper=Ld;l.FaceNormalsHelper=gd;l.DirectionalLightHelper=qc;l.CameraHelper=hd;l.BoxHelper=rc;l.ArrowHelper=Fb; +l.AxisHelper=Nd;l.CatmullRomCurve3=va;l.CubicBezierCurve3=id;l.QuadraticBezierCurve3=jd;l.LineCurve3=kd;l.ArcCurve=Od;l.EllipseCurve=Wa;l.SplineCurve=Cb;l.CubicBezierCurve=fc;l.QuadraticBezierCurve=gc;l.LineCurve=Ta;l.Shape=Db;l.Path=bd;l.ShapePath=ee;l.Font=fe;l.CurvePath=ad;l.Curve=ua;l.ShapeUtils=Ia;l.SceneUtils={createMultiMaterialObject:function(a,b){for(var c=new Fc,d=0,e=b.length;d"+p[i]+""); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + + + +$("#item_2").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#2_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_2").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); +$("#item_3").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#3_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_3").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + + +$("#item_4").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#4_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_4").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + + +$("#item_5").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#5_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_5").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + +$("#item_6").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#6_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_6").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + +$("#item_7").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#7_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_7").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + +$("#item_8").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#8_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_8").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + +$("#item_9").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#9_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_9").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); + + + + + +$("#item_10").click(function(){ + if($("li").is(':visible')) { + $(".list").hide(); + $(".item").show(); + $("li").remove(); + } else { + var timeid=$("#10_1").text(); + $.post("../php/shijia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + $(".item").hide(); + $("#item_10").show(); + $(".list").show(); + // $("#item_1").attr("id","item_1_1"); + // $("#item_1_1").unbind(); + for (var i = 0; i < p.length; i++) { + $("#ol_1").append("
  • "+p[i]+"
  • "); + } + $.post("../php/shijia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_2").append("
  • "+p[i]+"
  • "); + } + + $.post("../php/bingjia_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_3").append("
  • "+p[i]+"
  • "); + } + $.post("../php/bingjia_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_4").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_num.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(" "); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_5").append("
  • "+p[i]+"
  • "); + } + $.post("../php/queqin_name.php",{ + timeId:timeid + }, + function(data,status){ + var p=data; + p=p.split(","); + for (var i = 0; i < p.length; i++) { + var c=i+p.length; + $("#ol_6").append("
  • "+p[i]+"
  • "); + } + }); + }); + }); + }); + }); + }); + } }); +}); + + + + + diff --git a/rcs/chaxun/php/bingjia_name.php b/rcs/chaxun/php/bingjia_name.php new file mode 100644 index 0000000..38246b0 --- /dev/null +++ b/rcs/chaxun/php/bingjia_name.php @@ -0,0 +1,26 @@ + $value) { + if ($value!=0) { + $sql = "SELECT xingMing FROM sophomore WHERE xueHao = $value"; + $rs = mysqli_query($conn,$sql) or die('Error 2.2'); + $row = mysqli_fetch_assoc($rs); + $name[$num]=$row['xingMing']; + $num=$num+1; + } +} +$name = implode(",", $name); +print_r($name); +mysqli_close($conn); +?> diff --git a/rcs/chaxun/php/bingjia_num.php b/rcs/chaxun/php/bingjia_num.php new file mode 100644 index 0000000..8c0108a --- /dev/null +++ b/rcs/chaxun/php/bingjia_num.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/rcs/chaxun/php/queqin_name.php b/rcs/chaxun/php/queqin_name.php new file mode 100644 index 0000000..153675c --- /dev/null +++ b/rcs/chaxun/php/queqin_name.php @@ -0,0 +1,26 @@ + $value) { + if ($value!=0) { + $sql = "SELECT xingMing FROM sophomore WHERE xueHao = $value"; + $rs = mysqli_query($conn,$sql) or die('Error 2.2'); + $row = mysqli_fetch_assoc($rs); + $name[$num]=$row['xingMing']; + $num=$num+1; + } +} +$name = implode(",", $name); +print_r($name); +mysqli_close($conn); +?> \ No newline at end of file diff --git a/rcs/chaxun/php/queqin_num.php b/rcs/chaxun/php/queqin_num.php new file mode 100644 index 0000000..1b33b31 --- /dev/null +++ b/rcs/chaxun/php/queqin_num.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/rcs/chaxun/php/shijia_name.php b/rcs/chaxun/php/shijia_name.php new file mode 100644 index 0000000..bde034f --- /dev/null +++ b/rcs/chaxun/php/shijia_name.php @@ -0,0 +1,26 @@ + $value) { + if ($value!=0) { + $sql = "SELECT xingMing FROM sophomore WHERE xueHao = $value"; + $rs = mysqli_query($conn,$sql) or die('Error 2.2'); + $row = mysqli_fetch_assoc($rs); + $name[$num]=$row['xingMing']; + $num=$num+1; + } +} +$name = implode(",", $name); +print_r($name); +mysqli_close($conn); +?> \ No newline at end of file diff --git a/rcs/chaxun/php/shijia_num.php b/rcs/chaxun/php/shijia_num.php new file mode 100644 index 0000000..1da1041 --- /dev/null +++ b/rcs/chaxun/php/shijia_num.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/rcs/chaxun/php/user.php b/rcs/chaxun/php/user.php new file mode 100644 index 0000000..2fa6181 --- /dev/null +++ b/rcs/chaxun/php/user.php @@ -0,0 +1,81 @@ + + + diff --git a/rcs/chaxun/php/user_test.php b/rcs/chaxun/php/user_test.php new file mode 100644 index 0000000..0d59327 --- /dev/null +++ b/rcs/chaxun/php/user_test.php @@ -0,0 +1,22 @@ + +0) +{ + while ($row = mysqli_fetch_assoc($rs)) { + $res_arr[]=['id'=>$row['age']]; + } +} +print_r(json_encode($row)); +mysqli_close($conn); +?> + diff --git a/rcs/images/changliText.png b/rcs/images/changliText.png new file mode 100644 index 0000000..4d1b135 Binary files /dev/null and b/rcs/images/changliText.png differ diff --git a/rcs/images/guanyu/studyplus.png b/rcs/images/guanyu/studyplus.png new file mode 100644 index 0000000..9cac1ec Binary files /dev/null and b/rcs/images/guanyu/studyplus.png differ diff --git a/rcs/images/home/dianming1.png b/rcs/images/home/dianming1.png new file mode 100644 index 0000000..c7db67b Binary files /dev/null and b/rcs/images/home/dianming1.png differ diff --git a/rcs/images/home/dianming2.png b/rcs/images/home/dianming2.png new file mode 100644 index 0000000..44b80f4 Binary files /dev/null and b/rcs/images/home/dianming2.png differ diff --git a/rcs/images/home/user1.png b/rcs/images/home/user1.png new file mode 100644 index 0000000..6032af7 Binary files /dev/null and b/rcs/images/home/user1.png differ diff --git a/rcs/images/home/user2.png b/rcs/images/home/user2.png new file mode 100644 index 0000000..6b06569 Binary files /dev/null and b/rcs/images/home/user2.png differ diff --git a/rcs/images/login/SRCS1.png b/rcs/images/login/SRCS1.png new file mode 100644 index 0000000..080d3cb Binary files /dev/null and b/rcs/images/login/SRCS1.png differ diff --git a/rcs/images/login/denglu1.jpg b/rcs/images/login/denglu1.jpg new file mode 100644 index 0000000..f334695 Binary files /dev/null and b/rcs/images/login/denglu1.jpg differ diff --git a/rcs/images/login/info.png b/rcs/images/login/info.png new file mode 100644 index 0000000..65695c1 Binary files /dev/null and b/rcs/images/login/info.png differ diff --git a/rcs/images/signin/signin.jpg b/rcs/images/signin/signin.jpg new file mode 100644 index 0000000..c3025e2 Binary files /dev/null and b/rcs/images/signin/signin.jpg differ diff --git a/rcs/images/signin/zhuce1.jpg b/rcs/images/signin/zhuce1.jpg new file mode 100644 index 0000000..63d8ebe Binary files /dev/null and b/rcs/images/signin/zhuce1.jpg differ diff --git a/rcs/images/user/fankui.png b/rcs/images/user/fankui.png new file mode 100644 index 0000000..76e9aaf Binary files /dev/null and b/rcs/images/user/fankui.png differ diff --git a/rcs/images/user/gengduo.png b/rcs/images/user/gengduo.png new file mode 100644 index 0000000..f4dcc24 Binary files /dev/null and b/rcs/images/user/gengduo.png differ diff --git a/rcs/images/user/guanyu.png b/rcs/images/user/guanyu.png new file mode 100644 index 0000000..0329649 Binary files /dev/null and b/rcs/images/user/guanyu.png differ diff --git a/rcs/images/user/xinxi.png b/rcs/images/user/xinxi.png new file mode 100644 index 0000000..e3f6e42 Binary files /dev/null and b/rcs/images/user/xinxi.png differ diff --git a/rcs/images/xiaohui1.png b/rcs/images/xiaohui1.png new file mode 100644 index 0000000..e06dd20 Binary files /dev/null and b/rcs/images/xiaohui1.png differ diff --git a/rcs/images/xiaohui2.png b/rcs/images/xiaohui2.png new file mode 100644 index 0000000..db4b214 Binary files /dev/null and b/rcs/images/xiaohui2.png differ diff --git a/rcs/images/xiaohui_big.png b/rcs/images/xiaohui_big.png new file mode 100644 index 0000000..2b7731f Binary files /dev/null and b/rcs/images/xiaohui_big.png differ diff --git a/rcs/images/xinxi/didian.png b/rcs/images/xinxi/didian.png new file mode 100644 index 0000000..c44864e Binary files /dev/null and b/rcs/images/xinxi/didian.png differ diff --git a/rcs/images/xinxi/didian2.png b/rcs/images/xinxi/didian2.png new file mode 100644 index 0000000..44efa10 Binary files /dev/null and b/rcs/images/xinxi/didian2.png differ diff --git a/rcs/images/xinxi/jiaoshi.png b/rcs/images/xinxi/jiaoshi.png new file mode 100644 index 0000000..81943e5 Binary files /dev/null and b/rcs/images/xinxi/jiaoshi.png differ diff --git a/rcs/images/xinxi/mima.png b/rcs/images/xinxi/mima.png new file mode 100644 index 0000000..894739e Binary files /dev/null and b/rcs/images/xinxi/mima.png differ diff --git a/rcs/images/xinxi/nicheng.png b/rcs/images/xinxi/nicheng.png new file mode 100644 index 0000000..db8dbcd Binary files /dev/null and b/rcs/images/xinxi/nicheng.png differ diff --git a/rcs/images/xinxi/qianming.png b/rcs/images/xinxi/qianming.png new file mode 100644 index 0000000..8492fbc Binary files /dev/null and b/rcs/images/xinxi/qianming.png differ diff --git a/rcs/images/xinxi/shijian.png b/rcs/images/xinxi/shijian.png new file mode 100644 index 0000000..f3fcab7 Binary files /dev/null and b/rcs/images/xinxi/shijian.png differ diff --git a/rcs/images/xinxi/xingming.png b/rcs/images/xinxi/xingming.png new file mode 100644 index 0000000..0a7146c Binary files /dev/null and b/rcs/images/xinxi/xingming.png differ diff --git a/rcs/images/xinxi/xuehao.png b/rcs/images/xinxi/xuehao.png new file mode 100644 index 0000000..12d905d Binary files /dev/null and b/rcs/images/xinxi/xuehao.png differ diff --git a/rcs/images/xinxi/xueyuan.png b/rcs/images/xinxi/xueyuan.png new file mode 100644 index 0000000..201c834 Binary files /dev/null and b/rcs/images/xinxi/xueyuan.png differ diff --git a/rcs/images/xinxi/zhuanye.png b/rcs/images/xinxi/zhuanye.png new file mode 100644 index 0000000..ead153d Binary files /dev/null and b/rcs/images/xinxi/zhuanye.png differ diff --git a/rcs/images/xuexibu.png b/rcs/images/xuexibu.png new file mode 100644 index 0000000..94672c9 Binary files /dev/null and b/rcs/images/xuexibu.png differ diff --git a/srsStore/css/index.css b/srsStore/css/index.css new file mode 100644 index 0000000..5f8b5ca --- /dev/null +++ b/srsStore/css/index.css @@ -0,0 +1,796 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td,menu{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.w { + width:1187px; + margin:0 auto; +} + +/* nav start */ + +nav { + background: #f0f0f0; +} + +nav .w { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height:36px; +} + +nav .left , nav .right { + display: flex; + flex-direction: row; + align-items: center; +} + +nav .left p { + color: #1e90ea; +} + +nav .left a:first-of-type { + margin-left: 10px; + color:#d51e1e; +} + +nav .left a:last-of-type { + margin-left: 10px; + color:#fe6014; +} + +nav .right img { + margin-right:5px; +} + +/* nav end */ + +/* header start */ + +header { + +} + +header .w { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height:120px; +} + +header .right { + display: flex; + flex-direction: column; + align-items: flex-end; +} + +header .right p { + color: #cc2a1e; + font-style:italic; + font-size: 23px; + font-weight: 900; + margin-bottom:20px; + margin-right:10px; +} + +header .right .searchBox { + width:720px; + height:30px; + border:3px #cc2a1e solid; + position: relative; +} + +header .right .searchBox img { + position:absolute; + left:10px; + top:5px; +} + +header .right .searchBox input { + border:none; + position:absolute; + left:35px; + top:7px; + width:640px; +} + +header .right .searchBox .searchButton { + height:30px; + width:80px; + background: #cc2a1e; + position: absolute; + top:0; + right:0; + line-height: 30px; + text-align: center; + font-size: 14px; + color:#fff; +} + +/* header end */ + +/* menu start */ +menu { + height:35px; + background: #d51e1e; +} + +menu .w { + color: #fff; + position:relative; + display: flex; + flex-direction: row; + align-items: center; + font-weight: bold; + font-size: 14px; +} + +menu .left { + height:35px; + width:220px; + padding-left:20px; + line-height: 35px; + +} + +menu .cen { + height:35px; + width:550px; + line-height: 35px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-around; +} + +menu .right { + width:270px; + position: absolute; + right:0; + top: -6px; +} + +menu .right .cartBox { + width:160px; + margin:0 auto; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +/* menu end */ + +/* banner start */ + +.banner { + background: #162d2f; + height:486px; +} + +.banner .w { + display: flex; + flex-direction: row; + +} + +.banner article { + background: #fff; + width:218px; + height:478px; + border:1px #ddd solid; +} + +.banner li { + display: flex; + flex-direction: row; + align-items: center; + height:29px; + font-size: 12px; + padding-left:10px; + border-bottom:1px #dddddd solid; +} + +.banner li p { + margin-left:10px; +} + +.banner li p:last-of-type { + font-size:11px; + color: #7c7c7c; +} + +.banner .ad img{ + display: block; + margin:0 auto; +} + +.banner .bigBanner img { + display: block; + width:700px; +} + +.banner .smallBanner { + margin-top:55px; +} + +/* banner end */ + +/* main start */ + +.main { + margin-top:10px; +} + +.main .w { + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + height:610px; +} + +.main article:first-of-type { + width:100%; + height:190px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.main article:first-of-type .left { + display: flex; + flex-direction: row; + height:190px; +} + +.main article:first-of-type .left .leftBox, .main article:first-of-type .left .rightBox{ + line-height: 190px; + height: 190px; + width:28px; + border: 1px #dddddd solid; + padding-left:5px; +} +.main article:first-of-type .left .rightBox { + background: #ddd; +} + +.main article:first-of-type .left .contents { + display: flex; + flex-direction: row; + height:190px; +} + +.main article:first-of-type .left .content { + display: flex; + flex-direction: column; + align-items: center; + height:150px; + width:166px; + padding-top:40px; + border:1px #dddddd solid; + border-left:none; +} + +.main article:first-of-type .left .content img { + margin-bottom:33px; +} + +.main article:first-of-type .left .content p { + width:130px; + font-size: 12px; + color: #666666; +} + +.main article:first-of-type .left .content p:last-of-type { + margin-top:10px; + color: #cc0000; +} + + +.main article:first-of-type .right { + width:260px; + height:190px; + border:1px #ddd solid; +} + +.main article:first-of-type .right .title { + height:25px; + border-bottom:1px #ddd solid; + display: flex; + flex-direction: row; + position:relative; +} + +.main article:first-of-type .right .title p:first-of-type { + height:26px; + width:94px; + background: #CC0000; + color: #fff; + position:absolute; + top:-1px; + left:-1px; + line-height: 26px; + text-align: center; + font-size: 12px; +} + +.main article:first-of-type .right .title p:last-of-type { + height:25px; + position:absolute; + top:0; + right:0; + color: #7a7a7a; + line-height:25px; + text-align: center; + font-size: 12px; +} + +.main article:first-of-type .right .content ul { + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; + height:165px; + width:260px; +} + +.main article:first-of-type .right .content ul li { + width:230px; + font-size: 12px; +} +.main article:last-of-type { + height:410px; + width:100%; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.main article:last-of-type .left { + display: flex; + flex-direction: column; + height:410px; +} + +.main article:last-of-type .left .title { + height:43px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + width:903px; + line-height: 43px; + border:1px #ddd solid; +} + +.main article:last-of-type .left .title p:first-of-type { + margin-left:20px; + font-size: 18px; + color: #bc0402; + font-weight: 900; +} + +.main article:last-of-type .left .title p:last-of-type { + margin-right:20px; + font-size: 16px; + color: #bbbbbb; + font-weight: 900; +} + +.main article:last-of-type .left .mainBox { + display: flex; + flex-direction: row; + height:365px; +} + +.main article:last-of-type .left .mainBox .left { + width:260px; +} + +.main article:last-of-type .left .mainBox .left .top { + display: flex; + flex-direction: row; + padding-left:27px; + padding-right:27px; + padding-top:4px; + justify-content: space-between; + font-size: 12px; + color: #666666; + height:203px; + width:204px; + border:1px #ddd solid; + border-top:none; + background: #ffe9d9; +} + + +.main article:last-of-type .left .mainBox .left .top li { + line-height:25px; + height:25px; +} + +.main article:last-of-type .left .mainBox .left .bottom { + border:1px #ddd solid; + border-top:none; +} + +.main article:last-of-type .left .mainBox .left .bottom img { + width:100%; +} + +.main article:last-of-type .left .mainBox .right { + display: flex; + flex-direction: column; + justify-content: space-between; + width:644px; + border:1px #ddd solid; + border-left:none; + border-top:none; + height:365px; + +} + +.main article:last-of-type .left .mainBox .right .contentTop { + display: flex; + flex-direction: row; + width:100%; + justify-content: space-between; + height:182px; +} + +.main article:last-of-type .left .mainBox .right .contentBottom { + display: flex; + flex-direction: row; + width:100%; + justify-content: space-between; + height:182px; +} + +.main article:last-of-type .left .mainBox .right .content { + display: flex; + flex-direction: column; + align-items: center; + font-size: 12px; + width:160px; + height:182px; +} + +.main article:last-of-type .left .mainBox .right .content img { + margin-top:14px; +} + +.main article:last-of-type .left .mainBox .right .content p:first-of-type{ + margin-top:9px; + color: #666666; +} + +.main article:last-of-type .left .mainBox .right .content p:last-of-type{ + margin-top:7px; + color:#cc0000; +} + +.main article:last-of-type .right { + height:408px; + width:260px; + border:1px #ddd solid; +} + +.main article:last-of-type .right .title { + height:40px; + line-height:40px; + color: #bc0402; + font-size: 16px; + padding-left:15px; + font-style: italic; + font-weight: 900; +} + +.main article:last-of-type .right .content #img2 { + height:140px; + width:250px; + display: block; + margin:0 auto; +} + +.main article:last-of-type .right .content #p1 , #p2 { + font-size: 12px; + color: #666666; + height:20px; + margin-left:13px; + line-height:20px; +} + +.main article:last-of-type .right .content #p2 span { + color:#d51f1f; +} + +/* main end */ + +/* floors start */ +.floors { + display: flex; + flex-direction: column; + width:1187px; + margin:0 auto; +} + +.floor { + display: flex; + flex-direction: column; + height:405px; + margin-top:7px; +} + +.floor .title { + height:42px; + border:1px #ddd solid; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.floor .title article:first-of-type { + display: flex; + flex-direction: row; +} + +.floor .title article:first-of-type img { + margin-left:8px; + height:20px; + width:33px; +} + +.floor .title article:first-of-type p { + height:20px; + line-height: 20px; + font-size: 16px; + color: #bc0402; + margin-left:5px; + font-weight: 900; +} + +.floor .title article:last-of-type { + font-size:12px; + color:#7e7e7e; + margin-right:10px; +} + +.floor .content { + display: flex; + flex-direction: row; + width:100%; +} + +.floor .content .left { + width:220px; + height:360px; +} + +.floor .content .left article:first-of-type { + display: flex; + flex-direction: row; + border:1px #ddd solid; + height:192px; + border-top:none; + +} + +.floor .content .left article:first-of-type ul { + margin-top:20px; + font-size: 12px; + color: #666666; + margin-left:20px; +} + +.floor .content .left article:first-of-type ul>li { + height:25px; +} + +.floor .content .left article:last-of-type { + border:1px #ddd solid; + border-top:none; +} + +.floor .content .left article:last-of-type img { + width:218px; + height:166px; + display: block; + margin:0 auto; +} + +.floor .content .cen { + width:789px; + height:360px; + display: flex; + flex-direction: column; +} + +.floor .content .cen article { + display: flex; + flex-direction: row; +} + +.floor .content .cen article .sContent { + width:157px; + height:179px; + border:1px #ddd solid; + border-left:none; + border-top:none; +} + +.floor .content .cen article .sContent img { + display: block; + margin:0 auto; + margin-top:9px; +} + +.floor .content .cen article .sContent p { + font-size:12px; + color: #666666; + width:134px; + margin:0 auto; + margin-top:5px; +} + +.floor .content .cen article .sContent p:last-of-type { + color: #cc0000; + font-size: 14px; +} + +.floor .content .cen article .sContent #printer { + margin-top:30px; + margin-bottom: 30px; +} + +.floor .content .cen article .bContent { + width:472px; + height:179px; + border:1px #ddd solid; + border-left:none; + border-top:none; +} +.floor .content .cen article .bContent img { + width:472px; + height:179px; +} + +.floor .content .right { + width:178px; + height:359px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-around; + border:1px #ddd solid; + border-top:none; + border-left:none; +} + +#f1 { + background: #e1efbe; +} + +#f2 { + background: #c1cdee; +} + +#f3 { + background: #ccc0ec; +} + +#f4 { + background: #edc1ef; +} + +#f5 { + background: #f9c4d9; +} + +#f6 { + background: #ffccc5; +} + +#f7 { + background: #ffdec5; +} + +#f8 { + background: #faeebe; +} + +#f9 { + background: #e7f5c3; +} +/* floors end */ + +/* footer start */ +footer { + display: flex; + flex-direction: column; + align-items: center; +} + +footer article:first-of-type { + width:1187px; + margin:0 auto; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + margin-top:25px; +} + +footer article:first-of-type .icon1 { + margin-top:10px; +} + +footer article:first-of-type menu { + display: flex; + flex-direction: row; + background: #fff; + margin-top:-130px; + padding:0; +} + +footer article:first-of-type .content { + height:170px; + width:158px; + border-right:1px #ddd solid; + position: relative; +} + +footer article:first-of-type .content img { + display: block; + position: absolute; + right:0; + bottom:18px; +} + +footer article:first-of-type .content p { + background: #fff; + height:38px; + width:100%; + text-align: center; + font-size: 16px; + color: #2b2b2b; + font-weight: 700; +} + +footer article:last-of-type { + background: #e6e6e6; + height:188px; + width:100%; + margin-top:20px; + display: flex; + flex-direction: column; + align-items: center; + font-size: 12px; + color: #8c8c8c; +} + +footer article:last-of-type p { + margin-top:10px; +} + +footer article:last-of-type p:first-of-type { + margin-top:30px; + margin-bottom:30px; +} +/* footer end */ \ No newline at end of file diff --git a/srsStore/img/banner/big_banner.jpg b/srsStore/img/banner/big_banner.jpg new file mode 100644 index 0000000..924ec14 Binary files /dev/null and b/srsStore/img/banner/big_banner.jpg differ diff --git a/srsStore/img/banner/icon_1.jpg b/srsStore/img/banner/icon_1.jpg new file mode 100644 index 0000000..3ec41aa Binary files /dev/null and b/srsStore/img/banner/icon_1.jpg differ diff --git a/srsStore/img/banner/icon_10.jpg b/srsStore/img/banner/icon_10.jpg new file mode 100644 index 0000000..7650264 Binary files /dev/null and b/srsStore/img/banner/icon_10.jpg differ diff --git a/srsStore/img/banner/icon_11.jpg b/srsStore/img/banner/icon_11.jpg new file mode 100644 index 0000000..ca88131 Binary files /dev/null and b/srsStore/img/banner/icon_11.jpg differ diff --git a/srsStore/img/banner/icon_12.jpg b/srsStore/img/banner/icon_12.jpg new file mode 100644 index 0000000..a895732 Binary files /dev/null and b/srsStore/img/banner/icon_12.jpg differ diff --git a/srsStore/img/banner/icon_13.jpg b/srsStore/img/banner/icon_13.jpg new file mode 100644 index 0000000..4f81771 Binary files /dev/null and b/srsStore/img/banner/icon_13.jpg differ diff --git a/srsStore/img/banner/icon_2.jpg b/srsStore/img/banner/icon_2.jpg new file mode 100644 index 0000000..6c03f58 Binary files /dev/null and b/srsStore/img/banner/icon_2.jpg differ diff --git a/srsStore/img/banner/icon_3.jpg b/srsStore/img/banner/icon_3.jpg new file mode 100644 index 0000000..dc0d225 Binary files /dev/null and b/srsStore/img/banner/icon_3.jpg differ diff --git a/srsStore/img/banner/icon_4.jpg b/srsStore/img/banner/icon_4.jpg new file mode 100644 index 0000000..849cbf7 Binary files /dev/null and b/srsStore/img/banner/icon_4.jpg differ diff --git a/srsStore/img/banner/icon_5.jpg b/srsStore/img/banner/icon_5.jpg new file mode 100644 index 0000000..5bb8627 Binary files /dev/null and b/srsStore/img/banner/icon_5.jpg differ diff --git a/srsStore/img/banner/icon_6.jpg b/srsStore/img/banner/icon_6.jpg new file mode 100644 index 0000000..05b40b9 Binary files /dev/null and b/srsStore/img/banner/icon_6.jpg differ diff --git a/srsStore/img/banner/icon_7.jpg b/srsStore/img/banner/icon_7.jpg new file mode 100644 index 0000000..10c6ddc Binary files /dev/null and b/srsStore/img/banner/icon_7.jpg differ diff --git a/srsStore/img/banner/icon_8.jpg b/srsStore/img/banner/icon_8.jpg new file mode 100644 index 0000000..f58fa95 Binary files /dev/null and b/srsStore/img/banner/icon_8.jpg differ diff --git a/srsStore/img/banner/icon_9.jpg b/srsStore/img/banner/icon_9.jpg new file mode 100644 index 0000000..379d011 Binary files /dev/null and b/srsStore/img/banner/icon_9.jpg differ diff --git a/srsStore/img/banner/img_1.jpg b/srsStore/img/banner/img_1.jpg new file mode 100644 index 0000000..97960e1 Binary files /dev/null and b/srsStore/img/banner/img_1.jpg differ diff --git a/srsStore/img/banner/small_banner.jpg b/srsStore/img/banner/small_banner.jpg new file mode 100644 index 0000000..de1e4d0 Binary files /dev/null and b/srsStore/img/banner/small_banner.jpg differ diff --git a/srsStore/img/floors/ad_1.jpg b/srsStore/img/floors/ad_1.jpg new file mode 100644 index 0000000..be90987 Binary files /dev/null and b/srsStore/img/floors/ad_1.jpg differ diff --git a/srsStore/img/floors/ad_2.jpg b/srsStore/img/floors/ad_2.jpg new file mode 100644 index 0000000..7878616 Binary files /dev/null and b/srsStore/img/floors/ad_2.jpg differ diff --git a/srsStore/img/floors/ad_3.jpg b/srsStore/img/floors/ad_3.jpg new file mode 100644 index 0000000..0791dbb Binary files /dev/null and b/srsStore/img/floors/ad_3.jpg differ diff --git a/srsStore/img/floors/ad_4.jpg b/srsStore/img/floors/ad_4.jpg new file mode 100644 index 0000000..129388f Binary files /dev/null and b/srsStore/img/floors/ad_4.jpg differ diff --git a/srsStore/img/floors/ad_5.jpg b/srsStore/img/floors/ad_5.jpg new file mode 100644 index 0000000..3f2474e Binary files /dev/null and b/srsStore/img/floors/ad_5.jpg differ diff --git a/srsStore/img/floors/ad_6.jpg b/srsStore/img/floors/ad_6.jpg new file mode 100644 index 0000000..7b5bb6f Binary files /dev/null and b/srsStore/img/floors/ad_6.jpg differ diff --git a/srsStore/img/floors/ad_7.jpg b/srsStore/img/floors/ad_7.jpg new file mode 100644 index 0000000..a4f6d93 Binary files /dev/null and b/srsStore/img/floors/ad_7.jpg differ diff --git a/srsStore/img/floors/ad_8.jpg b/srsStore/img/floors/ad_8.jpg new file mode 100644 index 0000000..9bde295 Binary files /dev/null and b/srsStore/img/floors/ad_8.jpg differ diff --git a/srsStore/img/floors/banner.jpg b/srsStore/img/floors/banner.jpg new file mode 100644 index 0000000..ae93d6c Binary files /dev/null and b/srsStore/img/floors/banner.jpg differ diff --git a/srsStore/img/floors/f1.jpg b/srsStore/img/floors/f1.jpg new file mode 100644 index 0000000..0cab4f6 Binary files /dev/null and b/srsStore/img/floors/f1.jpg differ diff --git a/srsStore/img/floors/f2.jpg b/srsStore/img/floors/f2.jpg new file mode 100644 index 0000000..3ee3b4e Binary files /dev/null and b/srsStore/img/floors/f2.jpg differ diff --git a/srsStore/img/floors/f3.jpg b/srsStore/img/floors/f3.jpg new file mode 100644 index 0000000..714750d Binary files /dev/null and b/srsStore/img/floors/f3.jpg differ diff --git a/srsStore/img/floors/f4.jpg b/srsStore/img/floors/f4.jpg new file mode 100644 index 0000000..a5b5173 Binary files /dev/null and b/srsStore/img/floors/f4.jpg differ diff --git a/srsStore/img/floors/f5.jpg b/srsStore/img/floors/f5.jpg new file mode 100644 index 0000000..3b50538 Binary files /dev/null and b/srsStore/img/floors/f5.jpg differ diff --git a/srsStore/img/floors/f6.jpg b/srsStore/img/floors/f6.jpg new file mode 100644 index 0000000..85cdff1 Binary files /dev/null and b/srsStore/img/floors/f6.jpg differ diff --git a/srsStore/img/floors/f7.jpg b/srsStore/img/floors/f7.jpg new file mode 100644 index 0000000..86ca068 Binary files /dev/null and b/srsStore/img/floors/f7.jpg differ diff --git a/srsStore/img/floors/f8.jpg b/srsStore/img/floors/f8.jpg new file mode 100644 index 0000000..b3dc066 Binary files /dev/null and b/srsStore/img/floors/f8.jpg differ diff --git a/srsStore/img/floors/f9.jpg b/srsStore/img/floors/f9.jpg new file mode 100644 index 0000000..4ede532 Binary files /dev/null and b/srsStore/img/floors/f9.jpg differ diff --git a/srsStore/img/floors/img_1.jpg b/srsStore/img/floors/img_1.jpg new file mode 100644 index 0000000..0c8978b Binary files /dev/null and b/srsStore/img/floors/img_1.jpg differ diff --git a/srsStore/img/floors/img_2.jpg b/srsStore/img/floors/img_2.jpg new file mode 100644 index 0000000..06ab240 Binary files /dev/null and b/srsStore/img/floors/img_2.jpg differ diff --git a/srsStore/img/floors/img_3.jpg b/srsStore/img/floors/img_3.jpg new file mode 100644 index 0000000..fa87511 Binary files /dev/null and b/srsStore/img/floors/img_3.jpg differ diff --git a/srsStore/img/floors/img_4.jpg b/srsStore/img/floors/img_4.jpg new file mode 100644 index 0000000..9ffb430 Binary files /dev/null and b/srsStore/img/floors/img_4.jpg differ diff --git a/srsStore/img/floors/img_5.jpg b/srsStore/img/floors/img_5.jpg new file mode 100644 index 0000000..a101747 Binary files /dev/null and b/srsStore/img/floors/img_5.jpg differ diff --git a/srsStore/img/floors/img_6.jpg b/srsStore/img/floors/img_6.jpg new file mode 100644 index 0000000..f9c25ad Binary files /dev/null and b/srsStore/img/floors/img_6.jpg differ diff --git a/srsStore/img/floors/img_7.jpg b/srsStore/img/floors/img_7.jpg new file mode 100644 index 0000000..9b5725c Binary files /dev/null and b/srsStore/img/floors/img_7.jpg differ diff --git a/srsStore/img/floors/img_8.jpg b/srsStore/img/floors/img_8.jpg new file mode 100644 index 0000000..43c3892 Binary files /dev/null and b/srsStore/img/floors/img_8.jpg differ diff --git a/srsStore/img/footer/bg_1.jpg b/srsStore/img/footer/bg_1.jpg new file mode 100644 index 0000000..5dd8273 Binary files /dev/null and b/srsStore/img/footer/bg_1.jpg differ diff --git a/srsStore/img/footer/bg_2.jpg b/srsStore/img/footer/bg_2.jpg new file mode 100644 index 0000000..137877f Binary files /dev/null and b/srsStore/img/footer/bg_2.jpg differ diff --git a/srsStore/img/footer/bg_3.jpg b/srsStore/img/footer/bg_3.jpg new file mode 100644 index 0000000..b3a0100 Binary files /dev/null and b/srsStore/img/footer/bg_3.jpg differ diff --git a/srsStore/img/footer/bg_4.jpg b/srsStore/img/footer/bg_4.jpg new file mode 100644 index 0000000..0902eeb Binary files /dev/null and b/srsStore/img/footer/bg_4.jpg differ diff --git a/srsStore/img/footer/bg_5.jpg b/srsStore/img/footer/bg_5.jpg new file mode 100644 index 0000000..8a4fd4b Binary files /dev/null and b/srsStore/img/footer/bg_5.jpg differ diff --git a/srsStore/img/footer/bg_6.jpg b/srsStore/img/footer/bg_6.jpg new file mode 100644 index 0000000..2bff076 Binary files /dev/null and b/srsStore/img/footer/bg_6.jpg differ diff --git a/srsStore/img/footer/icon_1.jpg b/srsStore/img/footer/icon_1.jpg new file mode 100644 index 0000000..34ca259 Binary files /dev/null and b/srsStore/img/footer/icon_1.jpg differ diff --git a/srsStore/img/footer/icon_2.jpg b/srsStore/img/footer/icon_2.jpg new file mode 100644 index 0000000..c6035c0 Binary files /dev/null and b/srsStore/img/footer/icon_2.jpg differ diff --git a/srsStore/img/footer/img_1.jpg b/srsStore/img/footer/img_1.jpg new file mode 100644 index 0000000..43c3892 Binary files /dev/null and b/srsStore/img/footer/img_1.jpg differ diff --git a/srsStore/img/header/cart.png b/srsStore/img/header/cart.png new file mode 100644 index 0000000..6e3aa41 Binary files /dev/null and b/srsStore/img/header/cart.png differ diff --git a/srsStore/img/header/main.jpg b/srsStore/img/header/main.jpg new file mode 100644 index 0000000..0ea9401 Binary files /dev/null and b/srsStore/img/header/main.jpg differ diff --git a/srsStore/img/header/search.jpg b/srsStore/img/header/search.jpg new file mode 100644 index 0000000..7160f68 Binary files /dev/null and b/srsStore/img/header/search.jpg differ diff --git a/srsStore/img/main/img_1.jpg b/srsStore/img/main/img_1.jpg new file mode 100644 index 0000000..43c3892 Binary files /dev/null and b/srsStore/img/main/img_1.jpg differ diff --git a/srsStore/img/main/img_10.jpg b/srsStore/img/main/img_10.jpg new file mode 100644 index 0000000..fb7eae0 Binary files /dev/null and b/srsStore/img/main/img_10.jpg differ diff --git a/srsStore/img/main/img_11.jpg b/srsStore/img/main/img_11.jpg new file mode 100644 index 0000000..2fc5971 Binary files /dev/null and b/srsStore/img/main/img_11.jpg differ diff --git a/srsStore/img/main/img_2.jpg b/srsStore/img/main/img_2.jpg new file mode 100644 index 0000000..579dac5 Binary files /dev/null and b/srsStore/img/main/img_2.jpg differ diff --git a/srsStore/img/main/img_3.jpg b/srsStore/img/main/img_3.jpg new file mode 100644 index 0000000..d52b7bf Binary files /dev/null and b/srsStore/img/main/img_3.jpg differ diff --git a/srsStore/img/main/img_4.jpg b/srsStore/img/main/img_4.jpg new file mode 100644 index 0000000..1cedc81 Binary files /dev/null and b/srsStore/img/main/img_4.jpg differ diff --git a/srsStore/img/main/img_5.jpg b/srsStore/img/main/img_5.jpg new file mode 100644 index 0000000..27213d7 Binary files /dev/null and b/srsStore/img/main/img_5.jpg differ diff --git a/srsStore/img/main/img_6.jpg b/srsStore/img/main/img_6.jpg new file mode 100644 index 0000000..4d20485 Binary files /dev/null and b/srsStore/img/main/img_6.jpg differ diff --git a/srsStore/img/main/img_7.jpg b/srsStore/img/main/img_7.jpg new file mode 100644 index 0000000..f23bffe Binary files /dev/null and b/srsStore/img/main/img_7.jpg differ diff --git a/srsStore/img/main/img_8.jpg b/srsStore/img/main/img_8.jpg new file mode 100644 index 0000000..aa2f5af Binary files /dev/null and b/srsStore/img/main/img_8.jpg differ diff --git a/srsStore/img/main/img_9.jpg b/srsStore/img/main/img_9.jpg new file mode 100644 index 0000000..4232b8f Binary files /dev/null and b/srsStore/img/main/img_9.jpg differ diff --git a/srsStore/img/main/left.jpg b/srsStore/img/main/left.jpg new file mode 100644 index 0000000..521d2ef Binary files /dev/null and b/srsStore/img/main/left.jpg differ diff --git a/srsStore/img/main/right.jpg b/srsStore/img/main/right.jpg new file mode 100644 index 0000000..e89db53 Binary files /dev/null and b/srsStore/img/main/right.jpg differ diff --git a/srsStore/img/main/to_top.jpg b/srsStore/img/main/to_top.jpg new file mode 100644 index 0000000..c817d69 Binary files /dev/null and b/srsStore/img/main/to_top.jpg differ diff --git a/srsStore/img/nav/red_cart.jpg b/srsStore/img/nav/red_cart.jpg new file mode 100644 index 0000000..8f78506 Binary files /dev/null and b/srsStore/img/nav/red_cart.jpg differ diff --git a/srsStore/index.html b/srsStore/index.html new file mode 100644 index 0000000..389bc01 --- /dev/null +++ b/srsStore/index.html @@ -0,0 +1,1189 @@ + + + + + 塞尔斯商城 + + + + + + + + +
    +
    +
    + +
    +
    +

    塞尔斯城 品质首选 海外直购 梦想前沿

    + +
    +
    +
    + + + + +
    +
    全部商品分类
    + +
    + +
    +
    +
    + + + + + + + +
    +
    +
    +
    +
    + +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥ 3688.00

    +
    +
    +
    + +
    +
    +
    +
    +

    塞尔斯公告

    +

    最新的代购广告,看向这里!

    +
    +
    +
      +
    • · 新品xx限时抢购!
    • +
    • · 本站承诺,所有代购商品均为海外直发。
    • +
    • · 新品xx限时抢购!
    • +
    • · 本站承诺,所有代购商品均为海外直发。
    • +
    • · 单品代购,请联系客服。
    • +
    • · 招商热线,***********
    • +
    +
    +
    +
    +
    +
    +
    +

    直购专场

    +

    塞尔斯城 品质首选 海外直购 梦想前沿

    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    • 古奇欧·古孜
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    • 古奇欧·古孜
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    + +

    缤特力跨年折扣季,晒单

    +

    ¥ 3688.00

    +
    +
    +
    +
    +
    +
    +
    特价汇
    +
    + +

    ONLY 新品兔毛装饰撞色针织衫

    +

    优惠价:¥179.00 原价:¥1719.00

    +
    +
    + +

    ONLY 新品兔毛装饰撞色针织衫

    +

    优惠价:¥179.00 原价:¥1719.00

    +
    +
    +
    +
    +
    + + + +
    + +
    +
    +
    + +

    服饰鞋帽

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    包包装饰

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    珠宝手表

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    母婴玩具

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    家具家居

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    个护化妆

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    食品酒水

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    手机数码

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + +
    +
    +
    + +

    电脑办公

    +
    +
    Lee | Belle | 马克华菲 | 香奈儿 | 子分类E | 子分类F | 子分类G | 子分类H | 子分类I | 子分类J
    +
    +
    +
    +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
      +
    • 香奈儿
    • +
    • 路易·威登
    • +
    • 迪奥
    • +
    • 范思哲
    • +
    • 普拉达
    • +
    • 卡尔文.克莱恩
    • +
    • 巴宝莉
    • +
    +
    +
    + +
    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +
    +
    + +

    双立人不锈钢锅具 中式炒锅四件套

    +

    ¥1788.00

    +
    +
    +
    +
    + +

    缤特力跨年折扣季,晒单送豪礼!

    +

    ¥3688.00

    +
    +
    + +

    印象 京都系列2.0L名爵不锈钢保温水壶

    +

    ¥169.00

    +
    +
    + +

    亿嘉IJARL 雅素20头经济型餐具套装

    +

    ¥119.00

    +
    +
    + +

    爱仕达32CM新一代超硬铸铁锈不了炒锅

    +

    ¥299.00

    +
    +
    + +

    双立人Pollux系列不锈钢单刀18cm中片刀/中式菜

    +

    ¥488.00

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + +
    + + + +
    +
    +
    + +
    +

    新手入门

    + +
    +
    +

    配送方式

    + +
    +
    +

    支付方式

    + +
    +
    +

    售后方式

    + +
    +
    +

    特色服务

    + +
    +
    +

    帮助信息

    + +
    +
    +
    +
    +
    +

    关于我们 | 联系我们 | 购物指南 | 招商信息 | 广告服务 | 友情链接

    +

    全国统一咨询/专家预约电话:400-669-0999或0431-86100222 邮编:130000

    +

    Copyright@2003-2010 www.krhanyi.com. All right reserved. 赛尔斯商城版权所有

    +

    地址:长春市朝阳区西安大路660号国际大厦B座4F

    +
    +
    + + + + diff --git a/styleDay/images/question_1.png b/styleDay/images/question_1.png new file mode 100644 index 0000000..512f3ff Binary files /dev/null and b/styleDay/images/question_1.png differ diff --git a/styleDay/images/question_2.png b/styleDay/images/question_2.png new file mode 100644 index 0000000..c9f6cf7 Binary files /dev/null and b/styleDay/images/question_2.png differ diff --git a/styleDay/images/question_3.png b/styleDay/images/question_3.png new file mode 100644 index 0000000..74b6719 Binary files /dev/null and b/styleDay/images/question_3.png differ diff --git a/styleDay/images/question_4.png b/styleDay/images/question_4.png new file mode 100644 index 0000000..b517a02 Binary files /dev/null and b/styleDay/images/question_4.png differ diff --git a/styleDay/images/title_bg.png b/styleDay/images/title_bg.png new file mode 100644 index 0000000..9d3aa17 Binary files /dev/null and b/styleDay/images/title_bg.png differ diff --git a/xueBaLiShi/css/about.css b/xueBaLiShi/css/about.css new file mode 100644 index 0000000..2e1bcdf --- /dev/null +++ b/xueBaLiShi/css/about.css @@ -0,0 +1,110 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.item { +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .pic { + height: 150px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.item .pic img { + height: 75px; + width: 198px; +} + +.item .wenZi { + height: 40px; + border-top: 1px #eee solid; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.item .wenZi .left ,.item .wenZi .right{ + font-size: 14px; + color: #333; +} + +.item .wenZi img { + height: 17px; + width: 17px; +} +.foot { + width:100%; + position:fixed; + bottom:0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-bottom: 5px; +} + +.foot .lan { + color: #10aeff; + width: 130px; + display: flex; + flex-direction: row; + align-items:center; + justify-content: space-between; + margin-bottom: 5px; + font-size: 10px; +} + +.foot .hei { + color: #989898; + font-size: 10px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/account.css b/xueBaLiShi/css/account.css new file mode 100644 index 0000000..107eef2 --- /dev/null +++ b/xueBaLiShi/css/account.css @@ -0,0 +1,88 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .box1 { + height: 40px; + font-size: 12px; + color: #10aeff; + line-height: 40px; +} + +.item .box2 { + height: 40px; + border-top: 1px #eee solid; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items:center; +} + +.item .box2 .left { + font-size: 14px; + color: #333; +} + +.item .box2 .right { + display: flex; + flex-direction: row; +} + +.item .box2 .right img { + height: 15px; + width: 15px; + display: block; + margin-top: 2px; +} + +.item .box2 .right span { + font-size: 14px; + color: #333; + margin-right: 5px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/add.css b/xueBaLiShi/css/add.css new file mode 100644 index 0000000..4bb9b5d --- /dev/null +++ b/xueBaLiShi/css/add.css @@ -0,0 +1,112 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.item { + +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .top , .item .cen { + height: 88px; + border-radius: 5px; + border:1px #eee solid; + margin-top: 20px; +} + +.item .top .top_item { + height: 44px; + line-height: 44px; + padding-left: 10px; + color: #989898; + font-size: 14px; +} + +.item .cen .cen_item { + padding-right: 10px; + padding-left: 10px; + height: 44px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.item .cen .cen_item span { + line-height: 44px; + color: #333; + font-size: 14px; +} + +.item .bot { + height: 200px; + padding-left: 10px; + padding-top: 10px; + border-radius: 5px; + border:1px #eee solid; + margin-top: 20px; +} + +.item .bot span { + font-size: 14px; + color: #989898; +} + + + +.foot { + position: fixed; + bottom: 0px; + width:100%; + font-size: 16px; + color: #fff; + background-color:#10aeff; + height: 44px; + text-align: center; + line-height: 44px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/calendar.css b/xueBaLiShi/css/calendar.css new file mode 100644 index 0000000..2921e98 --- /dev/null +++ b/xueBaLiShi/css/calendar.css @@ -0,0 +1,158 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.title { + +} + +.title .w { + height:30px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.title .left ,.title .right{ + font-size: 12px; + color: #989898; + width: 44px; + line-height: 30px; + text-align: center; +} + +.title .cen { + font-size: 12px; + color: #333; + height: 30px; + width: 44px; + line-height: 30px; + text-align: center; +} + +.month { + +} + +.month .w { + height: 50px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.month .cen { + font-size: 28px; + color: #10aeff; + font-weight: bold; + height: 50px; + width: 44px; + line-height: 50px; + text-align: center; +} + +.day { + +} + +.day .w { + display: flex; + flex-direction: column; +} + +.day .week { + height: 44px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.day .week .left , .day .week .right { + font-size: 14px; + color: #989898; + font-weight: bold; + height: 44px; + width: 44px; + border-radius: 50%; + line-height: 44px; + text-align: center; +} + +.day .week .cen { + font-size: 14px; + color: #333; + font-weight: bold; + height: 44px; + width: 44px; + border-radius: 50%; + line-height: 44px; + text-align: center; +} + +.foot { + position: fixed; + bottom: 0px; + width:100%; + display: flex; + flex-direction: row; + align-items: center; + justify-content:center; +} + +.foot .left , .foot .right{ + font-size: 16px; + color: #fff; + background-color:#10aeff; + width:50%; + height: 44px; + text-align: center; + line-height: 44px; +} + +.foot .left { + border-right: 1px #fff solid; +} \ No newline at end of file diff --git a/xueBaLiShi/css/care.css b/xueBaLiShi/css/care.css new file mode 100644 index 0000000..30cb665 --- /dev/null +++ b/xueBaLiShi/css/care.css @@ -0,0 +1,150 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.box1 { + height: 110px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-bottom: 1px #eee solid; +} + +.box1 .w { + height: 90px; + display: flex; + flex-direction: row; + align-items:flex-start; + justify-content: space-between; +} + +.box1 .left { + height: 90px; + width: 500px; + display: flex; + flex-direction: row; +} + +.box1 .left .left { + height: 90px; + width: 50px; + margin-right: 10px; + display: flex; + flex-direction: column; +} + +.box1 .left .left img { + height: 50px; + width: 50px; + border-radius: 50%; +} + +.box1 .left .left .mingpai { + margin-top: 10px; + width: 50px; + height: 15px; + border:1px #ffcc00 solid; + border-radius: 2px; + color: #ffcc00; + font-size: 12px; + line-height: 15px; +} + +.box1 .left .right { + height: 90px; + display: flex; + flex-direction: column; + width: 250px; +} + +.box1 .left .right .item_1 { + font-size: 14px; + color: #333; +} + +.box1 .left .right .item_2 { + margin-top: 5px; + margin-bottom: 5px; + display: flex; + flex-direction: row; + height: 10px; + line-height: 10px; +} + +.box1 .left .right .item_2 img { + height: 10px; + width: 10px; + margin-right: 2px; +} + +.box1 .left .right .item_2 span { + font-size: 10px; + color: #333; +} + +.box1 .left .right .item_3 { + font-size: 12px; + color: #333; +} + +.box1 .right { + height: 24px; + width: 24px; +} + +.box1 .right img { + height: 24px; + width: 24px; +} + +.foot { + width: 100px; + height: 20px; + line-height: 20px; + margin:15px auto; + font-size: 12px; + color: #989898; + text-align:center; +} \ No newline at end of file diff --git a/xueBaLiShi/css/feedBack.css b/xueBaLiShi/css/feedBack.css new file mode 100644 index 0000000..14422ed --- /dev/null +++ b/xueBaLiShi/css/feedBack.css @@ -0,0 +1,161 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.top { + display: flex; + flex-direction: column; +} + +.top .title,.cen .title { + height: 40px; + font-size: 12px; + color: #10aeff; + line-height: 40px; +} + +.top .chose { + height: 40px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.top .chose .box1,.top .chose .box2 { + height:30px; + width:30%; + border:1px #10aeff solid; + text-align: center; + line-height: 30px; + border-radius: 3px; + font-size: 16px; +} + +.top .chose .box1 { + background-color: #10aeff; + color: #fff; +} + +.top .chose .box2 { + background-color: #fff; + color: #10aeff; +} + +.cen { + height: 200px; +} + +.cen .item { + height: 160px; + border:1px #10aeff solid; + color: #999; + padding: 5px; + border-radius: 5px; +} + +.cen .item_2 { + height: 30px; + border:1px #10aeff solid; + color: #999; + padding: 5px; + border-radius: 5px; + line-height: 30px; +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +.foot { + position: fixed; + bottom: 15px; + width:100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.foot div { + font-size: 16px; + color: #fff; + background-color: #10aeff; + border-radius: 5px; + width:95%; + height: 35px; + text-align: center; + line-height: 35px; +} diff --git a/xueBaLiShi/css/feedBackSuccess.css b/xueBaLiShi/css/feedBackSuccess.css new file mode 100644 index 0000000..9e8ca22 --- /dev/null +++ b/xueBaLiShi/css/feedBackSuccess.css @@ -0,0 +1,106 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + + +.kongbai { + height: 80px; +} +.img { + height:125px; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.img img { + height:115px; + width: 115px; +} + +.text { + height: 100px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-top: 40px; +} + +.text .item { + width: 300px; + height: 100px; + font-size: 16px; + color: #333; + text-align: center; +} + + + + + + + +.foot { + position: fixed; + bottom: 15px; + width:100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.foot div { + font-size: 16px; + color: #fff; + background-color: #10aeff; + border-radius: 5px; + width:95%; + height: 35px; + text-align: center; + line-height: 35px; +} diff --git a/xueBaLiShi/css/mine.css b/xueBaLiShi/css/mine.css new file mode 100644 index 0000000..397c26c --- /dev/null +++ b/xueBaLiShi/css/mine.css @@ -0,0 +1,213 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.w { + width: 95%; + margin:0 auto; +} + +.head .w { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + margin-top: -35px; +} + +.head .backgroundPic { + width: 100%; + display: block; +} + +.head .left { + height: 130px; + display: flex; + flex-direction: column; +} + +.head .left .user{ + width: 70px; + height: 70px; + border-radius: 50%; +} + +.head .left .name { + margin-top:10px; + display: flex; + flex-direction: row; + align-items: center; + height: 15px; +} + +.head .left .name .item_1 { + font-size: 14px; + color: #333; + margin-right: 5px; +} + +.head .left .name .item_2 { + font-size: 10px; + color: #ffcc00; + height: 15px; + width: 50px; + border:1px #ffcc00 solid; + line-height: 15px; + text-align: center; + border-radius: 5px; +} + +.head .left .pingfen { + height: 15px; + display: flex; + flex-direction: row; + align-items: center; + width: 60px; + margin-top: 5px; +} + +.head .left .pingfen img { + height: 10px; + width: 10px; + margin-right: 2px; + display: block; +} + +.head .left .pingfen span { + font-size: 10px; + color: #333; +} + +.head .right { + width: 74px; + height: 25px; + color: #fff; + background-color: #10aeff; + border-radius: 5px; + font-size: 14px; + text-align: center; + line-height: 25px; +} + +.cen .w { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height: 70px; +} + +.cen .item { + height: 70px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; +} + +.cen .item .top { + font-size: 36px; + color: #333; + text-align: center; + height: 40px; + font-weight: 100; +} + +.cen .item .cen { + font-size: 14px; + color: #333; +} + +.cen_2 { + margin-top: 20px; +} + +.cen_2 .w { + display: flex; + flex-direction: column; +} + +.cen_2 .box { + height: 39px; + border-top: 1px #eee solid; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.cen_2 .box span { + font-size: 14px; + color: #333; +} + +.cen_2 .box img { + width: 15px; + height: 15px; +} + +.cen_3 { + height: 100px; + margin:0 auto; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.cen_3 img { + height: 57px; + width: 150px; +} + +.footer { + position: fixed; + bottom: 0px; + width:100%; + height: 49px; + border-top: 1px #eee solid; + background-color: #fff; +} + +.footer .w { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height: 49px; + width: 90%; +} + +.footer .item { + height: 40px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; +} + +.footer .item .top { + height: 24px; + width: 24px; +} + +.footer .item .top_1 { + width: 52px; + height: 52px; + margin-top: -27px; +} + +.footer .item .down { + font-size: 12px; + color: #333; +} \ No newline at end of file diff --git a/xueBaLiShi/css/set.css b/xueBaLiShi/css/set.css new file mode 100644 index 0000000..a5c33d6 --- /dev/null +++ b/xueBaLiShi/css/set.css @@ -0,0 +1,94 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .box { + height: 39px; + border-bottom: 1px #eee solid; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.item .box span { + font-size: 14px; + color: #333; +} + +.item .box img { + width: 15px; + height: 15px; +} + +.item .box .blue { + font-size: 14px; + color: #10aeff; +} + +.foot { + position: fixed; + bottom: 15px; + width:100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.foot div { + font-size: 16px; + color: #fff; + background-color: #10aeff; + border-radius: 5px; + width:95%; + height: 35px; + text-align: center; + line-height: 35px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/setMassage.css b/xueBaLiShi/css/setMassage.css new file mode 100644 index 0000000..34b6811 --- /dev/null +++ b/xueBaLiShi/css/setMassage.css @@ -0,0 +1,94 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .box { + height: 39px; + border-bottom: 1px #eee solid; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; +} + +.item .box span { + font-size: 14px; + color: #333; +} + +.item .box img { + width: 44px; + height: 30px; +} + +.item .word { + font-size: 10px; + color: #10aeff; +} + +.foot { + position: fixed; + bottom: 15px; + width:100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.foot div { + font-size: 16px; + color: #fff; + background-color: #10aeff; + border-radius: 5px; + width:95%; + height: 35px; + text-align: center; + line-height: 35px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/takeClass.css b/xueBaLiShi/css/takeClass.css new file mode 100644 index 0000000..ceeb551 --- /dev/null +++ b/xueBaLiShi/css/takeClass.css @@ -0,0 +1,269 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.box1 { + height: 40px; + font-size: 14px; + color: #10aeff; + line-height: 40px; + width: 95%; + margin:auto; +} + +.box2 { + height: 110px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-bottom: 1px #eee solid; +} + +.box2 .w { + height: 90px; + display: flex; + flex-direction: row; + align-items:flex-start; + justify-content: space-between; +} + +.box2 .left { + height: 90px; + width: 500px; + display: flex; + flex-direction: row; +} + +.box2 .left .left { + height: 90px; + width: 50px; + margin-right: 10px; + display: flex; + flex-direction: column; +} + +.box2 .left .left img { + height: 50px; + width: 50px; + border-radius: 50%; +} + +.box2 .left .left .mingpai { + margin-top: 10px; + width: 50px; + height: 15px; + border:1px #ffcc00 solid; + border-radius: 2px; + color: #ffcc00; + font-size: 12px; + line-height: 15px; +} + +.box2 .left .right { + height: 90px; + display: flex; + flex-direction: column; + width: 250px; +} + +.box2 .left .right .item_1 { + font-size: 14px; + color: #333; +} + +.box2 .left .right .item_2 { + margin-top: 5px; + margin-bottom: 5px; + display: flex; + flex-direction: row; + height: 10px; + line-height: 10px; +} + +.box2 .left .right .item_2 img { + height: 10px; + width: 10px; + margin-right: 2px; +} + +.box2 .left .right .item_2 span { + font-size: 10px; + color: #333; +} + +.box2 .left .right .item_3 { + font-size: 12px; + color: #333; +} + +.box2 .right { + height: 24px; + width: 24px; +} + +.box2 .right img { + height: 24px; + width: 24px; +} + + +.box3 { + height: 110px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + border-bottom: 1px #eee solid; +} + +.box3 .w { + height: 110px; + display: flex; + flex-direction: column; + align-items:space-between; + justify-content:center; +} + +.box3 .w .top{ + height: 80px; + display: flex; + flex-direction: row; + align-items:flex-start; + justify-content: space-between; +} + +.box3 .top .left { + height: 80px; + width: 500px; + display: flex; + flex-direction: row; +} + +.box3 .top .left .left { + height: 80px; + width: 50px; + margin-right: 10px; + display: flex; + flex-direction: column; +} + +.box3 .top .left .left img { + height: 50px; + width: 50px; + border-radius: 50%; +} + +.box3 .top .left .right { + height: 80px; + display: flex; + flex-direction: column; + width: 250px; +} + +.box3 .top .left .right .item_1 { + font-size: 14px; + color: #333; +} + +.box3 .top .left .right .item_2 { + margin-top: 5px; + margin-bottom: 5px; + display: flex; + flex-direction: row; + height: 10px; + line-height: 10px; +} + +.box3 .top .left .right .item_2 img { + height: 10px; + width: 10px; + margin-right: 2px; +} + +.box3 .top .left .right .item_2 span { + font-size: 10px; + color: #333; +} + +.box3 .top .left .right .item_3 { + font-size: 12px; + color: #333; +} + +.box3 .top .right { + height: 24px; + width: 24px; +} + +.box3 .top .right img { + height: 24px; + width: 24px; +} + +.box3 .down { + display: flex; + flex-direction: row; +} + +.box3 .down .left { + width: 50%; + height: 25px; + line-height: 25px; + text-align: center; + font-size: 14px; + color: #989898; + border:1px #eee solid; +} + +.box3 .down .right { + width: 50%; + height: 25px; + text-align: center; + line-height: 25px; + font-size: 14px; + color: #fff; + background-color: #10aeff; + border:1px #10aeff solid; +} diff --git a/xueBaLiShi/css/today.css b/xueBaLiShi/css/today.css new file mode 100644 index 0000000..5c86f62 --- /dev/null +++ b/xueBaLiShi/css/today.css @@ -0,0 +1,102 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.title .w { + height: 44px; + line-height: 44px; + color: #333; + font-size: 16px; + font-weight: bold; +} + +.item .w{ + border-radius: 5px; + border:1px #eee solid; + display: flex; + flex-direction: row; + height: 40px; + align-items: center; + justify-content: flex-start; +} + +.item .left { + height: 35px; + width: 70px; + padding-right: 20px; + border-right:2px #10aeff solid; + display: flex; + flex-direction: column; + align-items: flex-end; + justify-content: center; +} + +.item .left .top { + font-size: 12px; + color: #333; +} + +.item .left .down { + font-size: 12px; + color: #989898; +} + +.item .right { + font-size: 16px; + color: #333; + line-height: 40px; + margin-left: 20px; +} + +.foot { + position: fixed; + bottom: 0px; + width:100%; + font-size: 16px; + color: #fff; + background-color:#10aeff; + height: 44px; + text-align: center; + line-height: 44px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/userinfo.css b/xueBaLiShi/css/userinfo.css new file mode 100644 index 0000000..8716210 --- /dev/null +++ b/xueBaLiShi/css/userinfo.css @@ -0,0 +1,162 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.head { + height: 44px; + background-color: #10aeff; + display: flex; + flex-direction: column; + align-items: center; + justify-content:center; +} + +.w { + width:95%; + margin:auto; +} + +.head .w { + display: flex; + flex-direction:row; + justify-content: space-between; + align-items: center; + text-align: center; +} +.head img { + height: 25px; + width: 25px; +} + +.head .word { + font-size: 18px; + color: #fff; +} + +.item .w { + display: flex; + flex-direction: column; +} + +.item .box1 { + height: 40px; + font-size: 12px; + color: #10aeff; + line-height: 40px; +} + +.item .box2 { + height: 60px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.item .box2 .left { + font-size: 14px; + color: #333; +} + +.item .box2 .right { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; +} + +.item .box2 .right .usericon { + height: 50px; + width: 50px; + border-radius: 50%; + margin-right: 10px; +} + +.item .box2 .right .rightPic { + height: 15px; + width: 15px; + display: block; + margin-top: 2px; +} + +.item .box3 { + height: 40px; + border-top: 1px #eee solid; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; +} + +.item .box3 .title { + font-size: 14px; + color: #333; + width:80px; +} + +.item .box3 .items { + font-size: 14px; + color: #333; +} + + +.item .box4 { + height: 40px; + border-top: 1px #eee solid; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.item .box4 .left { + display: flex; + flex-direction: row; +} + +.item .box4 .left .title { + font-size: 14px; + color: #333; + width: 80px; +} + +.item .box4 .left .items { + font-size: 14px; + color: #333; +} + +.item .box4 .right { + color: #10aeff; + font-size: 14px; +} + +.foot { + position: fixed; + bottom: 15px; + width:100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; +} + +.foot div { + font-size: 16px; + color: #fff; + background-color: #10aeff; + border-radius: 5px; + width:95%; + height: 35px; + text-align: center; + line-height: 35px; +} \ No newline at end of file diff --git a/xueBaLiShi/css/xueBa_home.css b/xueBaLiShi/css/xueBa_home.css new file mode 100644 index 0000000..36b54c5 --- /dev/null +++ b/xueBaLiShi/css/xueBa_home.css @@ -0,0 +1,248 @@ +@charset "utf-8"; +h1, h2, h3, h4, h5, h6,p, li, label, td, th {cursor: text;} +a:link, a:visited, a:hover, a:active { cursor: pointer;} +body{height:100%;width:100%;margin:0; padding:0; font-size:14px; font-family:"微软雅黑",Arial, Helvetica, sans-serif;color: #333;} +div,p,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,form,input,select,textarea,table,td{ margin:0; padding:0;} +h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;} +area{outline:none;} +img{ border:0;outline: none;} +ol,ul{list-style:none;} +a{ font-family:"微软雅黑",Arial, Helvetica, sans-serif;text-decoration:none;outline:none;} +a:hover{ text-decoration:none;} +.clearfix:after {content:"";display:block;height:0;clear:both;} +.clearfix {zoom:1;} + +.w { + width: 95%; + margin:0 auto; +} + +.head { + background-color:#10aeff; + height: 80px; +} + +.head .w { + display: flex; + flex-direction: column; +} + +.head .top { + height: 40px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; +} + +.head .top .add { + display: flex; + flex-direction: row; + height: 40px; + align-items: center; +} + +.head .top .add img { + height: 20px; +} + +.head .top .add span { + font-size: 16px; + color: #fff; + font-weight: lighter; + margin-left: 5px; +} + +.head .top .weather { + height: 40px; + display: flex; + flex-direction: row; + align-items: center; +} + + +.head .top .weather span { + color: #fff; + font-size: 16px; +} + +.head .top .weather img { + height:40px; + margin-left: 5px; +} + +.head .search { + background-color: #fff; + border-radius: 5px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + height: 30px; + margin-top: 5px; +} + +.head .search img { + height: 20px; +} + +.head .search span { + color: #989898; + font-size: 12px; +} + +.slide { + height: 100px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-top: 5px; +} + +.slide img { + width: 95%; + border-radius: 5px; + height: 100px; +} + +.title { + height:40px; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; +} + +.title .box_left,.title .box_right { + display: flex; + flex-direction: column; + height: 40px; +} + +.title .box_top { + width: 30px; + height: 20px; + border-bottom:1px #10aeff solid; +} + +.title .text { + color: #10aeff; + margin-right: 5px; + margin-left: 5px; +} + +.subject { + display: flex; + flex-direction: row; +} + +.subject .subject_item { + width: 33%; + height: 95px; + display: flex; + flex-direction: column; +} + +.subject .subject_item img { + width: 100%; + height: 70px; +} + +.subject .subject_item .text { + margin-top: 5px; + color: #333; + font-size: 14px; + height:20px; + line-height: 20px; + text-align: center; +} + + +.bestOne .w { + display: flex; + flex-direction: row; + justify-content: space-between; + height:160px; +} + +.bestOne .box { + height: 160px; + display: flex; + flex-direction: column; + width: 49%; +} + +.bestOne .box img { + height:100px; + width: 100%; +} + +.bestOne .box .box_title { + color: #333; + font-size: 16px; + height: 20px; + font-weight: bold; + text-align: left; +} + +.bestOne .box .text { + color: #333; + font-size: 12px; + text-align: left; +} + + + + + + + + + + + + + + +.footer { + position: fixed; + bottom: 0px; + width:100%; + height: 49px; + border-top: 1px #eee solid; + background-color: #fff; +} + +.footer .w { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height: 49px; + width: 90%; +} + +.footer .item { + height: 40px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; +} + +.footer .item .top { + height: 24px; + width: 24px; +} + +.footer .item .top_1 { + width: 52px; + height: 52px; + margin-top: -27px; +} + +.footer .item .down { + font-size: 12px; + color: #333; +} diff --git a/xueBaLiShi/html/about.html b/xueBaLiShi/html/about.html new file mode 100644 index 0000000..1915d60 --- /dev/null +++ b/xueBaLiShi/html/about.html @@ -0,0 +1,46 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    关于
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    版本号
    +
    1.0.0
    +
    +
    +
    官网
    + +
    +
    +
    +
    +
    + 服务条款 + | + 隐私保护 +
    +
    + Designed by 长理第一组织 . All Rights Reserved. +
    +
    + + \ No newline at end of file diff --git a/xueBaLiShi/html/account.html b/xueBaLiShi/html/account.html new file mode 100644 index 0000000..7ef5cbe --- /dev/null +++ b/xueBaLiShi/html/account.html @@ -0,0 +1,54 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    账号与密码
    +
    +
    +
    +
    +
    +
    登陆账号
    +
    + 手机号 +
    + 15143211127 + +
    +
    +
    + 微信 +
    + 赵英博 + +
    +
    +
    + QQ +
    + 1144131090 + +
    +
    +
    密码
    +
    + 修改手机登录密码 +
    + +
    +
    +
    +
    + + diff --git a/xueBaLiShi/html/add.html b/xueBaLiShi/html/add.html new file mode 100644 index 0000000..b270986 --- /dev/null +++ b/xueBaLiShi/html/add.html @@ -0,0 +1,45 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    添加日程
    +
    +
    +
    +
    +
    +
    +
    主题
    +
    地点
    +
    +
    +
    + 开始 + 31 Mar 2018 11:00 AM +
    +
    + 结束 + 02 Apr 2018 08:00 AM +
    +
    +
    + 请输入日程详情 +
    +
    +
    +
    + 确认添加 +
    + + diff --git a/xueBaLiShi/html/calendar.html b/xueBaLiShi/html/calendar.html new file mode 100644 index 0000000..15f57c4 --- /dev/null +++ b/xueBaLiShi/html/calendar.html @@ -0,0 +1,156 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    日历
    +
    +
    +
    +
    +
    + S + M + T + W + T + F + S +
    +
    +
    +
    + + Jan + + + + + +
    +
    +
    +
    +
    + + 1 + 2 + 3 + 4 + 5 + 6 +
    +
    + 7 + 8 + 9 + 10 + 11 + 12 + 13 +
    +
    + 14 + 15 + 16 + 17 + 18 + 19 + 20 +
    +
    + 21 + 22 + 23 + 24 + 25 + 26 + 27 +
    +
    + 28 + 29 + 30 + 31 + + + +
    +
    +
    +
    +
    + + + + + Feb + + +
    +
    +
    +
    +
    + + + + + 1 + 2 + 3 +
    +
    + 4 + 5 + 6 + 7 + 8 + 9 + 10 +
    +
    + 11 + 12 + 13 + 14 + 15 + 16 + 17 +
    +
    + 18 + 19 + 20 + 21 + 22 + 23 + 24 +
    +
    + 25 + 26 + 27 + 28 + 29 + 30 + 31 +
    +
    +
    +
    +
    今日日程
    +
    添加日程
    +
    + + diff --git a/xueBaLiShi/html/care.html b/xueBaLiShi/html/care.html new file mode 100644 index 0000000..d0102bd --- /dev/null +++ b/xueBaLiShi/html/care.html @@ -0,0 +1,132 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    关注
    +
    +
    +
    +
    +
    +
    +
    + +
    金牌学霸
    +
    +
    +
    英博小哥哥
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    约课状态:等待学霸回复
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    金牌学霸
    +
    +
    +
    英博小哥哥
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    约课状态:等待学霸回复
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    金牌学霸
    +
    +
    +
    英博小哥哥
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    约课状态:等待学霸回复
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    金牌学霸
    +
    +
    +
    英博小哥哥
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    约课状态:约课成功,请及时抵达上课地点
    +
    +
    +
    + +
    +
    +
    +
    + 没有更多了 +
    + + diff --git a/xueBaLiShi/html/feedBack.html b/xueBaLiShi/html/feedBack.html new file mode 100644 index 0000000..025113e --- /dev/null +++ b/xueBaLiShi/html/feedBack.html @@ -0,0 +1,44 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    意见反馈
    +
    +
    +
    +
    +
    +
    请选择反馈类型*
    +
    +
    程序错误
    +
    优化改进
    +
    新功能
    +
    +
    +
    +
    +
    +
    请输入反馈*
    +
    请输入反馈,我们将为您不断改进
    +
    联系方式(选填)
    +
    + 请填写您的联系方式,以便我们向您反馈处理结果 +
    +
    +
    +
    +
    提交
    +
    + + diff --git a/xueBaLiShi/html/feedBackSuccess.html b/xueBaLiShi/html/feedBackSuccess.html new file mode 100644 index 0000000..4befe70 --- /dev/null +++ b/xueBaLiShi/html/feedBackSuccess.html @@ -0,0 +1,29 @@ + + + + + Document + + + + + +
    +
    +
    +
    意见反馈
    +
    +
    +
    +
    +
    + +
    +
    +
    已经收到您的意见,我们会认真处理您的反馈,尽快修复和完善相关功能
    +
    +
    +
    完成
    +
    + + diff --git a/xueBaLiShi/html/mine.html b/xueBaLiShi/html/mine.html new file mode 100644 index 0000000..c9f4531 --- /dev/null +++ b/xueBaLiShi/html/mine.html @@ -0,0 +1,97 @@ + + + + + Document + + + + + +
    + +
    +
    + +
    + 英博小哥哥 + 金牌学霸 +
    +
    + + + + + + 5.0 +
    +
    +
    签到
    +
    +
    +
    +
    +
    +
    35
    +
    关注
    +
    +
    +
    4
    +
    约课
    +
    +
    +
    5
    +
    日程
    +
    +
    +
    25
    +
    学霸币
    +
    +
    +
    +
    +
    +
    + 修改个人信息 + +
    +
    + 设置 + +
    +
    + 意见反馈 + +
    +
    +
    +
    + +
    +
    + + + diff --git a/xueBaLiShi/html/set.html b/xueBaLiShi/html/set.html new file mode 100644 index 0000000..7621d1e --- /dev/null +++ b/xueBaLiShi/html/set.html @@ -0,0 +1,45 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    设置
    +
    +
    +
    +
    +
    +
    + 账号与密码 + +
    +
    + 消息设置 + +
    +
    + 检查更新 + 有新版本可供下载 +
    +
    + 关于 + +
    +
    +
    + +
    +
    退出登录
    +
    + + diff --git a/xueBaLiShi/html/setMassage.html b/xueBaLiShi/html/setMassage.html new file mode 100644 index 0000000..84f253e --- /dev/null +++ b/xueBaLiShi/html/setMassage.html @@ -0,0 +1,46 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    消息设置
    +
    +
    +
    +
    +
    +
    + 声音 + +
    +
    + 通知 + +
    +
    + 小红点 + +
    +
    + 夜间防骚扰模式 + +
    +
    开启后,将屏蔽23:00-8:00间的任何消息
    +
    +
    + +
    +
    清空所有消息记录
    +
    + + diff --git a/xueBaLiShi/html/takeClass.html b/xueBaLiShi/html/takeClass.html new file mode 100644 index 0000000..1b32194 --- /dev/null +++ b/xueBaLiShi/html/takeClass.html @@ -0,0 +1,108 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    约课
    +
    +
    +
    +
    我约的课
    +
    +
    +
    +
    + +
    金牌学霸
    +
    +
    +
    君侠小姐姐
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    约课状态:等待学霸回复
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    金牌学霸
    +
    +
    +
    君侠小姐姐
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    约课状态:约课成功,请及时抵达上课地点
    +
    +
    +
    + +
    +
    +
    +
    约我的课
    +
    +
    +
    +
    +
    + +
    +
    +
    君侠小姐姐
    +
    + + + + + + 5.0 +
    +
    约课地点:长理南区南研楼1201
    +
    约课时间:20180803 11:00-13:00
    +
    +
    +
    + +
    +
    +
    +
    查看学员信息
    +
    同意约课
    +
    +
    +
    + + diff --git a/xueBaLiShi/html/today.html b/xueBaLiShi/html/today.html new file mode 100644 index 0000000..4779afb --- /dev/null +++ b/xueBaLiShi/html/today.html @@ -0,0 +1,57 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    今日日程
    +
    +
    +
    +
    +
    Wed 10 Jan
    +
    +
    +
    +
    +

    4:00 PM

    +

    11:00 PM

    +
    +
    完成Axure作品
    +
    +
    +
    +
    +
    +

    11:00 PM

    +

    12:00 PM

    +
    +
    提交Axure作品
    +
    +
    +
    +
    Fri 25 Jan
    +
    +
    +
    +
    +

    4:00 PM

    +

    11:00 PM

    +
    +
    给小光补习高等数学
    +
    +
    +
    + 添加日程 +
    + + diff --git a/xueBaLiShi/html/userinfo.html b/xueBaLiShi/html/userinfo.html new file mode 100644 index 0000000..12fdca7 --- /dev/null +++ b/xueBaLiShi/html/userinfo.html @@ -0,0 +1,79 @@ + + + + + Document + + + + + +
    +
    +
    + +
    +
    编辑资料
    +
    +
    +
    +
    +
    +
    基本信息
    +
    + 头像 +
    + + +
    +
    +
    +
    昵称
    +
    RainSun
    +
    +
    +
    性别
    +
    +
    +
    +
    生日
    +
    1999-09-10
    +
    +
    +
    所在地
    +
    吉林-长春
    +
    +
    +
    学校
    +
    长春理工大学
    +
    +
    +
    邮箱
    +
    zhaoyingbo@live.cn
    +
    +
    +
    个人简介
    +
    学识渊博又可爱的小哥哥
    +
    +
    验证信息
    +
    +
    +
    身份证号
    +
    220***********2710
    +
    +
    已验证
    +
    +
    +
    +
    联系手机
    +
    151****1127
    +
    +
    换绑
    +
    +
    +
    +
    +
    保存修改
    +
    + + diff --git a/xueBaLiShi/html/xueBa_home.html b/xueBaLiShi/html/xueBa_home.html new file mode 100644 index 0000000..b9cabfb --- /dev/null +++ b/xueBaLiShi/html/xueBa_home.html @@ -0,0 +1,109 @@ + + + + + Document + + + + + +
    +
    +
    +
    + + 长春理工大学南校区 +
    +
    + 35℃ + +
    +
    + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    科目精选
    +
    +
    +
    +
    +
    +
    +
    + +
    数学
    +
    +
    + +
    英语
    +
    +
    + +
    化学
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    最牛学霸
    +
    +
    +
    +
    +
    +
    + +
    奖学金获得者
    +
    谈谈奖学金数到手抽筋的感受
    +
    +
    + +
    快速上分
    +
    快速提高成绩,让你秒变学霸
    +
    +
    +
    + +
    + + + diff --git a/xueBaLiShi/images/add.png b/xueBaLiShi/images/add.png new file mode 100644 index 0000000..25cacaa Binary files /dev/null and b/xueBaLiShi/images/add.png differ diff --git a/xueBaLiShi/images/address.png b/xueBaLiShi/images/address.png new file mode 100644 index 0000000..da41da2 Binary files /dev/null and b/xueBaLiShi/images/address.png differ diff --git a/xueBaLiShi/images/back.png b/xueBaLiShi/images/back.png new file mode 100644 index 0000000..6b0d79b Binary files /dev/null and b/xueBaLiShi/images/back.png differ diff --git a/xueBaLiShi/images/background.jpg b/xueBaLiShi/images/background.jpg new file mode 100644 index 0000000..168ffa8 Binary files /dev/null and b/xueBaLiShi/images/background.jpg differ diff --git a/xueBaLiShi/images/bestone.jpg b/xueBaLiShi/images/bestone.jpg new file mode 100644 index 0000000..a3848fc Binary files /dev/null and b/xueBaLiShi/images/bestone.jpg differ diff --git a/xueBaLiShi/images/chaoren.png b/xueBaLiShi/images/chaoren.png new file mode 100644 index 0000000..90cad7f Binary files /dev/null and b/xueBaLiShi/images/chaoren.png differ diff --git a/xueBaLiShi/images/cloud.png b/xueBaLiShi/images/cloud.png new file mode 100644 index 0000000..671a9c6 Binary files /dev/null and b/xueBaLiShi/images/cloud.png differ diff --git a/xueBaLiShi/images/english.jpg b/xueBaLiShi/images/english.jpg new file mode 100644 index 0000000..e33ad9f Binary files /dev/null and b/xueBaLiShi/images/english.jpg differ diff --git a/xueBaLiShi/images/huaxue.jpg b/xueBaLiShi/images/huaxue.jpg new file mode 100644 index 0000000..5ebcaf1 Binary files /dev/null and b/xueBaLiShi/images/huaxue.jpg differ diff --git a/xueBaLiShi/images/item_1.png b/xueBaLiShi/images/item_1.png new file mode 100644 index 0000000..ede42b7 Binary files /dev/null and b/xueBaLiShi/images/item_1.png differ diff --git a/xueBaLiShi/images/item_2.png b/xueBaLiShi/images/item_2.png new file mode 100644 index 0000000..d7486f0 Binary files /dev/null and b/xueBaLiShi/images/item_2.png differ diff --git a/xueBaLiShi/images/item_3.png b/xueBaLiShi/images/item_3.png new file mode 100644 index 0000000..74c39ea Binary files /dev/null and b/xueBaLiShi/images/item_3.png differ diff --git a/xueBaLiShi/images/item_4.png b/xueBaLiShi/images/item_4.png new file mode 100644 index 0000000..7a9be7f Binary files /dev/null and b/xueBaLiShi/images/item_4.png differ diff --git a/xueBaLiShi/images/math.jpg b/xueBaLiShi/images/math.jpg new file mode 100644 index 0000000..9640991 Binary files /dev/null and b/xueBaLiShi/images/math.jpg differ diff --git a/xueBaLiShi/images/more.png b/xueBaLiShi/images/more.png new file mode 100644 index 0000000..4a4ce2a Binary files /dev/null and b/xueBaLiShi/images/more.png differ diff --git a/xueBaLiShi/images/off.png b/xueBaLiShi/images/off.png new file mode 100644 index 0000000..8deeb36 Binary files /dev/null and b/xueBaLiShi/images/off.png differ diff --git a/xueBaLiShi/images/ok.png b/xueBaLiShi/images/ok.png new file mode 100644 index 0000000..c046112 Binary files /dev/null and b/xueBaLiShi/images/ok.png differ diff --git a/xueBaLiShi/images/on.png b/xueBaLiShi/images/on.png new file mode 100644 index 0000000..6be001a Binary files /dev/null and b/xueBaLiShi/images/on.png differ diff --git a/xueBaLiShi/images/right.png b/xueBaLiShi/images/right.png new file mode 100644 index 0000000..6cef424 Binary files /dev/null and b/xueBaLiShi/images/right.png differ diff --git a/xueBaLiShi/images/sanjiao.png b/xueBaLiShi/images/sanjiao.png new file mode 100644 index 0000000..09bb70d Binary files /dev/null and b/xueBaLiShi/images/sanjiao.png differ diff --git a/xueBaLiShi/images/search.png b/xueBaLiShi/images/search.png new file mode 100644 index 0000000..5088b19 Binary files /dev/null and b/xueBaLiShi/images/search.png differ diff --git a/xueBaLiShi/images/slide.png b/xueBaLiShi/images/slide.png new file mode 100644 index 0000000..45f3e05 Binary files /dev/null and b/xueBaLiShi/images/slide.png differ diff --git a/xueBaLiShi/images/star.png b/xueBaLiShi/images/star.png new file mode 100644 index 0000000..0f6b57d Binary files /dev/null and b/xueBaLiShi/images/star.png differ diff --git a/xueBaLiShi/images/sunday.png b/xueBaLiShi/images/sunday.png new file mode 100644 index 0000000..adeb2ff Binary files /dev/null and b/xueBaLiShi/images/sunday.png differ diff --git a/xueBaLiShi/images/time.png b/xueBaLiShi/images/time.png new file mode 100644 index 0000000..8fe0694 Binary files /dev/null and b/xueBaLiShi/images/time.png differ diff --git a/xueBaLiShi/images/together.jpg b/xueBaLiShi/images/together.jpg new file mode 100644 index 0000000..96b0264 Binary files /dev/null and b/xueBaLiShi/images/together.jpg differ diff --git a/xueBaLiShi/images/usericon.jpg b/xueBaLiShi/images/usericon.jpg new file mode 100644 index 0000000..ea9b3f4 Binary files /dev/null and b/xueBaLiShi/images/usericon.jpg differ diff --git a/xueBaLiShi/images/xiaohui.png b/xueBaLiShi/images/xiaohui.png new file mode 100644 index 0000000..2b7731f Binary files /dev/null and b/xueBaLiShi/images/xiaohui.png differ diff --git a/xueBaLiShi/images/xueqiu.png b/xueBaLiShi/images/xueqiu.png new file mode 100644 index 0000000..1c98af2 Binary files /dev/null and b/xueBaLiShi/images/xueqiu.png differ diff --git a/xueBaLiShi/images/zhiwu.png b/xueBaLiShi/images/zhiwu.png new file mode 100644 index 0000000..b67dee7 Binary files /dev/null and b/xueBaLiShi/images/zhiwu.png differ diff --git a/xueBaLiShi/images/沙尘暴.png b/xueBaLiShi/images/沙尘暴.png new file mode 100644 index 0000000..47b0cf7 Binary files /dev/null and b/xueBaLiShi/images/沙尘暴.png differ