0710e485 by 任超

refactor:不动产门户网站静态页面

0 parents
1 # 门户网站
2
3 #### 项目介绍
4 公司网站
5
6 #### 软件架构
7 HTML+css
8
9
10 #### 安装教程
11
12 1. 从git 下载直接浏览器运行就可以打开
13
14
15
16
17 #### 参与贡献
18
19 1. Fork 本项目
20 2. 新建 Feat_xxx 分支
21 3. 提交代码
22 4. 新建 Pull Request
23
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 /*公共*/
2
3 html,
4 body,
5 div,
6 span,
7 applet,
8 object,
9 iframe,
10 h1,
11 h2,
12 h3,
13 h4,
14 h5,
15 h6,
16 p,
17 blockquote,
18 pre,
19 a,
20 abbr,
21 acronym,
22 address,
23 big,
24 cite,
25 code,
26 del,
27 dfn,
28 em,
29 img,
30 ins,
31 kbd,
32 q,
33 s,
34 samp,
35 small,
36 strike,
37 strong,
38 sub,
39 sup,
40 tt,
41 var,
42 b,
43 u,
44 i,
45 center,
46 dl,
47 dt,
48 dd,
49 ol,
50 ul,
51 li,
52 fieldset,
53 form,
54 label,
55 legend,
56 table,
57 caption,
58 tbody,
59 tfoot,
60 thead,
61 tr,
62 th,
63 td,
64 article,
65 aside,
66 canvas,
67 details,
68 embed,
69 figure,
70 figcaption,
71 footer,
72 header,
73 hgroup,
74 menu,
75 nav,
76 output,
77 ruby,
78 section,
79 summary,
80 time,
81 mark,
82 audio,
83 video {
84 margin: 0;
85 padding: 0;
86 border: 0;
87 font-family: "Microsoft YaHei";
88 }
89
90
91 /* HTML5 display-role reset for older browsers */
92
93 article,
94 aside,
95 details,
96 figcaption,
97 figure,
98 footer,
99 header,
100 hgroup,
101 menu,
102 nav,
103 section,
104 main {
105 display: block;
106 }
107
108 ul,
109 li,
110 ol {
111 list-style: none;
112 }
113
114 dl,
115 dd {
116 margin: auto;
117 }
118
119 input {
120 vertical-align: middle;
121 margin: 0;
122 padding: 0;
123 }
124
125 a,
126 a:visited {
127 color: #333;
128 }
129
130 a:link,
131 a:visited {
132 text-decoration: none;
133 outline: none;
134 }
135
136 a {
137 cursor: pointer;
138 }
139
140
141 /*所有超链接不要下划线*/
142
143 *,
144 *:after,
145 *:before {
146 -webkit-box-sizing: border-box;
147 -moz-box-sizing: border-box;
148 -o-box-sizing: border-box;
149 box-sizing: border-box;
150 }
151
152
153 /*任何标签、包括它前面、后面生成的内容都不要影响盒子的边框*/
154
155 .left {
156 float: left;
157 }
158
159 .right {
160 float: right;
161 }
162
163 .w-gray {
164 color: #aaaaaa
165 }
166
167 .w-white {
168 color: #FFFFFF !important;
169 }
170
171 .w-blue {
172 color: #0086da;
173 }
174
175 .clear {
176 clear: both;
177 }
178
179 .margin-t30 {
180 margin-top: 30px !important;
181 }
182
183
184 /*header*/
185
186 .header {
187 width: 100%;
188 background-color: #FFFFFF;
189 margin-bottom: 60px;
190 position: fixed;
191 top: 0px;
192 z-index: 1000;
193 height: 80px;
194 line-height: 80px;
195 -moz-box-shadow: 0px 1px 30px #ECECEC;
196 box-shadow: 0px 1px 30px #ECECEC;
197 }
198
199 .am-container-1 {
200 max-width: 1120px;
201 margin: 0 auto;
202 }
203
204 .am-topbar-nav > li > a:after {
205 display: none;
206 }
207
208 .hw-logo {
209 height: 50px;
210 position: relative;
211 }
212
213 .logo {
214 height: 50px;
215 }
216
217 .word {
218 position: absolute;
219 top: 30px;
220 left: 100px;
221 }
222
223 .hw-menu li {
224 height: 80px;
225 }
226
227 .hw-menu-active {
228 /*background-color: #0086da;
229 border-radius: 5px;*/
230 border-bottom: 4px solid #0086da;
231 }
232
233 .hw-menu-active a {
234 color: #0086da;
235 }
236
237 .hw-menu li:hover {
238 border-bottom: 4px solid #f0eeed;
239 }
240
241 .hw-menu li a:hover {
242 color: #C0C0C0;
243 }
244
245 .hw-menu li a {
246 font-size: 15px;
247 line-height: 80px;
248 }
249
250 .hw-menu li a:hover {
251 border-radius: 5px;
252 }
253
254
255 /*header结束*/
256
257
258 /*尾部*/
259
260 .footer {
261 width: 100%;
262 height: auto;
263 background-color: #2d2d2d;
264 overflow: hidden;
265 padding: 0 5% 25px 5%;
266 background: url(../img/bg-pic2.png) no-repeat;
267 background-size: 100% 100%;
268 }
269
270 .footer ul {
271 padding-top: 40px;
272 width: 85%;
273 margin: 0 auto;
274 }
275
276 .footer ul li {
277 color: #fff;
278 }
279
280 .part-5-words2 p {
281 line-height: 23px;
282 font-size: 13px;
283 }
284
285 .part-5-words2 span {
286 display: block;
287 margin-bottom: 10px;
288 font-size: 13px;
289 }
290
291 .part-5-words2-ul li {
292 margin-bottom: 10px;
293 font-size: 13px;
294 padding: 0;
295 }
296
297 .part-5-words2-ul {
298 padding-top: 0 !important;
299 width: 100% !important;
300 }
301
302 .part-5-words2-ul li a {
303 color: #fff;
304 }
305
306 .part-5-title {
307 color: #fff;
308 font-weight: bold;
309 margin-bottom: 20px;
310 }
311
312 .part-5-words2 span i {
313 font-size: 20px;
314 }
315
316 .part-5-words2 span em {
317 font-style: normal;
318 margin-left: 5px;
319 font-size: 16px;
320 font-weight: bold;
321 }
322
323
324 /*尾部结束*/
325
326
327 /*首页*/
328
329 .rollpic {
330 margin-top: 80px;
331 }
332
333 .rollpic div {
334 margin: 0 0 0;
335 }
336
337 .rollpic ol {
338 bottom: 10px !important;
339 }
340
341 .part-all {
342 width: 100%;
343 margin-top: 20px;
344 }
345
346 .part-title {
347 text-align: center;
348 position: relative;
349 }
350
351 .part-title-i {
352 vertical-align: sub;
353 font-size: 36px;
354 color: #0086da;
355 margin-right: 5px;
356 }
357
358 .part-title-span {
359 font-size: 26px;
360 }
361
362 .part-title p {
363 font-size: 17px;
364 color: #999;
365 margin-top: -5px;
366 }
367
368 .part-title img {
369 width: 170px;
370 }
371
372 .title-intro {
373 font-weight: bold;
374 font-size: 15px;
375 margin-top: -7px;
376 }
377
378 .part-content {
379 text-align: center;
380 margin-top: 35px;
381 width: 100%;
382 margin-bottom: 40px;
383 }
384
385 .solutions-way {
386 margin-top: 10px;
387 font-size: 13px;
388 color: #555555;
389 }
390
391 .solutions-title {
392 margin-top: 15px;
393 font-size: 17px;
394 display: block;
395 font-weight: 500;
396 }
397
398 .solution-circle {
399 font-size: 64px;
400 background-color: #3f9fdb;
401 width: 170px;
402 height: 170px;
403 line-height: 140px;
404 border: 15px solid #f0f0f0;
405 color: #fff;
406 -webkit-transition: -webkit-transform 0.4s ease-out;
407 -moz-transition: -moz-transform 0.4s ease-out;
408 transition: transform 0.4s ease-out;
409 }
410
411 .solution-circle:hover {
412 background-color: #0071b8;
413 border: 15px solid #c9dfec;
414 -webkit-transform: rotate(360deg);
415 -moz-transform: rotate(360deg);
416 transform: rotate(360deg);
417 }
418
419 .three-reason {
420 background: url(../img/bg-pic.png) no-repeat;
421 background-size: 100% 100%;
422 text-align: center;
423 margin-top: 40px;
424 }
425
426 .three-reason-title {
427 padding-top: 20px;
428 }
429
430 .three-reason-bg {
431 width: 300px;
432 margin-top: 30px;
433 }
434
435 .three-reason-img1,
436 .three-reason-img2,
437 .three-reason-img3 {
438 width: 130px;
439 height: 130px;
440 margin: 0 auto;
441 border: none;
442 }
443
444 .three-reason-img1 {
445 background: url(../img/reason1.png) no-repeat;
446 background-size: 100% 100%;
447 }
448
449 .three-reason-img2 {
450 background: url(../img/reason2.png) no-repeat;
451 background-size: 100% 100%;
452 }
453
454 .three-reason-img3 {
455 background: url(../img/reason3.png) no-repeat;
456 background-size: 100% 100%;
457 }
458
459 .three-reason-img1:hover,
460 .three-reason-img1 .selected {
461 background: url(../img/reason1-1.png) no-repeat;
462 background-size: 100% 100%;
463 }
464
465 .three-reason-img2:hover,
466 .three-reason-img2 .selected {
467 background: url(../img/reason2-2.png) no-repeat;
468 background-size: 100% 100%;
469 }
470
471 .three-reason-img3:hover,
472 .three-reason-img3 .selected {
473 background: url(../img/reason3-3.png) no-repeat;
474 background-size: 100% 100%;
475 }
476
477 .reason-title {
478 margin-top: 10px;
479 font-size: 14.5px;
480 padding-bottom: 20px;
481 }
482
483 .three-reason-content {
484 width: 70%;
485 }
486
487 .solutions-content li img {
488 width: 40%;
489 }
490
491 .lan-bott {
492 width: 100%;
493 background-color: #128abc;
494 height: 110px;
495 padding: 20px 55px;
496 }
497
498 .lan-bott .left {
499 line-height: 35px;
500 color: #fff;
501 }
502
503 .lan-bott .left span {
504 font-size: 20px;
505 font-weight: 500;
506 }
507
508 .see-more {
509 border: 2px solid #fff;
510 padding: 7px 10px;
511 font-size: 13px;
512 color: #fff;
513 margin-top: 18px;
514 display: inline-block;
515 border-radius: 4px;
516 }
517
518 .see-more i {
519 margin-left: 5px;
520 font-size: 16px;
521 }
522
523 .see-more:hover {
524 color: #0086da;
525 background-color: #fff;
526 -webkit-transition: all 0.4s;
527 -moz-transition: all 0.4s;
528 -ms-transition: all 0.4s;
529 -o-transition: all 0.4s;
530 transition: all 0.4s;
531 }
532
533 .customer-case-content {
534 margin-top: 30px;
535 }
536
537 .customer-case-content li {
538 padding: 0 !important;
539 margin: 0 !important;
540 }
541
542 .case-li {
543 position: relative;
544 overflow: hidden;
545 }
546
547 .case-li-mengban {
548 width: 100%;
549 background: rgba(0, 0, 0, .72);
550 opacity: 0;
551 position: absolute;
552 top: 0;
553 left: 0;
554 bottom: 0;
555 }
556
557 .case-li-mengban:hover {
558 -webkit-transition: all 1s;
559 -moz-transition: all 1s;
560 -ms-transition: all 1s;
561 -o-transition: all 1s;
562 transition: all 1s;
563 opacity: 1;
564 }
565
566 .case-img1 {
567 position: relative;
568 padding: 0 !important;
569 background-color: #0086da;
570 width: 100%;
571 margin: 0 auto;
572 margin: 0 !important;
573 }
574
575 .case-li:hover .case-word {
576 display: block;
577 bottom: 70px;
578 -webkit-transition: all 0.6s;
579 -moz-transition: all 0.6s;
580 -ms-transition: all 0.6s;
581 -o-transition: all 0.6s;
582 transition: all 0.6s;
583 }
584
585 .case-word {
586 position: absolute;
587 left: 0px;
588 bottom: -80px;
589 z-index: 5;
590 width: 100%;
591 color: #FFFFFF;
592 text-align: center;
593 }
594
595 .case-word h3,
596 .case-word a,
597 .case-word div {
598 color: #FFFFFF !important;
599 }
600
601 .case-word p {
602 font-size: 13px;
603 }
604
605 .case-word a span i {
606 margin-right: 10px;
607 font-size: 15px;
608 }
609
610 .case-word a span {
611 font-size: 13px;
612 padding: 4px 13px;
613 border: 1px solid #FFFFFF;
614 border-radius: 4px;
615 margin-top: 20px;
616 display: inline-block;
617 }
618
619 .am-gallery-title {
620 margin: 12px 0 !important;
621 font-size: 17px !important;
622 }
623
624 .news-all {
625 margin-top: 10px 0;
626 }
627
628 .news-content {
629 width: 100%;
630 margin: 0 auto;
631 margin-top: 20px;
632 margin-bottom: 20px;
633 }
634
635 .news-content-ul {
636 margin-top: 40px;
637 margin-bottom: 40px;
638 }
639
640 .news-img {
641 width: 90%;
642 overflow: hidden;
643 }
644
645 .news-img img {
646 width: 100%;
647 }
648
649 .news-content-ul li img:hover {
650 transform: scale(1.4);
651 transition: all 1s ease 0s;
652 -webkit-transform: scale(1.4);
653 -webkit-transform: all 1s ease 0s;
654 }
655
656 .news-content-ul li div {
657 margin: 0;
658 padding: 0;
659 }
660
661 .news-right-title {
662 font-size: 18px;
663 }
664
665 .news-right-words,
666 .news-right-time {
667 font-size: 14px;
668 margin-top: 10px;
669 }
670
671 .news-right-time {
672 font-size: 14px;
673 }
674
675 .see-more2 {
676 padding: 5px 15px;
677 color: #fff;
678 background-color: #128abc;
679 border: 1px solid #128abc;
680 margin-top: 10px;
681 border-radius: 3px;
682 display: inline-block;
683 }
684
685 .see-more2:hover {
686 color: #128abc;
687 background-color: #fff;
688 border: 1px solid #128abc;
689 -webkit-transition: all 0.4s;
690 -moz-transition: all 0.4s;
691 -ms-transition: all 0.4s;
692 -o-transition: all 0.4s;
693 transition: all 0.4s;
694 }
695
696 .see-more2 i {
697 margin-left: 5px;
698 }
699
700 .news-content-left ul li {
701 margin-top: 10px;
702 width: 100%;
703 }
704
705 .news-content-right img {
706 width: 100%;
707 margin-top: 10px;
708 }
709
710 .list_lh {
711 height: 260px;
712 overflow: hidden;
713 margin-top: 10px;
714 }
715
716 .list_lh ul li .news-li-words {
717 border: none !important;
718 }
719
720 .customer-content {
721 margin-top: 30px;
722 margin-bottom: 30px;
723 }
724
725 .customer {
726 padding: 30px 0;
727 }
728
729 .customer-content li {
730 text-align: center;
731 }
732
733 .customer-content li div {
734 height: 60px;
735 line-height: 60px;
736 width: 100%;
737 }
738
739 .customer-content li div img {
740 width: 100%;
741 }
742
743
744 /*解决方案*/
745
746 .toppic {
747 margin-top: 80px;
748 width: 100%;
749 height: 130px;
750 background: url(../img/bg-pic3.png) no-repeat;
751 background-size: 100% 100%;
752 }
753
754 .toppic-title-i {
755 font-size: 36px;
756 margin-right: 5px;
757 vertical-align: sub;
758 }
759
760 .toppic-title-span {
761 font-size: 26px;
762 }
763
764 .toppic-title p {
765 font-size: 17px;
766 padding-left: 30px;
767 margin-top: -10px;
768 }
769
770 .toppic-title {
771 color: #fff;
772 padding-top: 20px;
773 }
774
775 .toppic-progress {
776 padding: 8px 10px;
777 border: 1px solid #fff;
778 margin-top: 45px;
779 border-radius: 7px;
780 }
781
782 .toppic-progress span {
783 font-size: 14px;
784 padding: 0 4px;
785 }
786
787 .toppic-progress span:hover {
788 text-decoration: underline;
789 }
790
791 .small-title {
792 position: relative;
793 line-height: 30px;
794 height: 30px;
795 font-size: 14px;
796 font-weight: bold;
797 }
798
799 .small-title span i {
800 margin-right: 10px;
801 }
802
803 .small-title span em {
804 font-style: normal;
805 margin-right: 10px;
806 }
807
808 .solutions-tabs-ul {
809 width: 60% !important;
810 margin: 0 auto !important;
811 background-color: #ffffff !important;
812 padding-top: 30px !important;
813 }
814
815 .solutions-tabs-ul li {
816 height: 80px !important;
817 margin-top: 20px;
818 border-right: 20px solid #ffffff;
819 position: relative;
820 }
821
822 .solutions-tabs-ul li a div {
823 width: 90%;
824 margin: 0 auto;
825 }
826
827 .solutions-tabs-li-ac a,
828 .solutions-tabs-ul li a {
829 color: #ffffff !important;
830 }
831
832 .am-tabs-d2 .am-tabs-nav > .am-active {
833 position: relative;
834 background-color: #005489;
835 border-bottom: none;
836 }
837
838 .solutions-tabs-ul li:hover {
839 background-color: #005489;
840 -webkit-transition: all 0.4s;
841 -moz-transition: all 0.4s;
842 -ms-transition: all 0.4s;
843 -o-transition: all 0.4s;
844 transition: all 0.4s;
845 }
846
847 .solutions-tabs-ul li a i {
848 display: block;
849 font-size: 30px;
850 margin-top: 5px;
851 }
852
853 .solutions-tabs-ul li a span {
854 display: block;
855 width: 100%;
856 text-align: center;
857 position: absolute;
858 bottom: -5px
859 }
860
861 .mobile-phone {
862 font-size: 40px !important;
863 margin-top: 2px !important;
864 }
865
866 .am-tabs-bd {
867 border: none;
868 }
869
870 .solutions-tabs-ul-li1 {
871 background-color: #0171b7;
872 }
873
874 .solutions-tabs-ul-li2 {
875 background-color: #0086da;
876 }
877
878 .solutions-tabs-ul-li3 {
879 background-color: #429ed7;
880 }
881
882 .solutions-tabs-ul-li4 {
883 background-color: #6eb6e2;
884 }
885
886 .solutions-tabs-content {
887 background-color: #f0eeed;
888 padding: 20px 20px 0 20px;
889 width: 100%;
890 margin-top: 30px;
891 }
892
893 .solutions-content-ul {
894 width: 70%;
895 margin: 0 auto;
896 }
897
898 .solutions-content-ul li {
899 background-color: #ffffff;
900 padding: 15px;
901 margin-bottom: 20px;
902 }
903
904 .solution-tabs-img img {
905 width: 100%;
906 }
907
908 .solution-tabs-words h5 {
909 font-weight: bold;
910 margin-bottom: 10px;
911 margin-top: 10px;
912 font-size: 18px;
913 }
914
915 .solution-tabs-words p {
916 font-size: 14px;
917 }
918
919 .am-tabs-d2 .am-tabs-nav > .am-active:after {
920 position: absolute;
921 width: 0;
922 height: 0;
923 bottom: -30px;
924 left: 50%;
925 margin-left: -20px;
926 border: 15px rgba(0, 0, 0, 0) solid;
927 content: "";
928 z-index: 1;
929 border-bottom-color: #f0eeed;
930 }
931
932
933 /*解决方案详情*/
934
935 .words-title {
936 margin-top: 15px;
937 text-align: center;
938 }
939
940 .words-title span {
941 font-size: 22px;
942 }
943
944 i.am-icon-file-text.file-text {
945 font-size: 22px;
946 margin-right: 10px;
947 color: #0086da;
948 }
949
950 .solution-inform {
951 background-color: #f0eeed;
952 width: 100%;
953 padding: 0 10px;
954 }
955
956 .solution-inform-content-all {
957 background-color: #ffffff;
958 width: 65%;
959 margin: 0 auto;
960 }
961
962 .solution-inform-content {
963 width: 90%;
964 margin: 0 auto;
965 padding: 20px 0;
966 }
967
968 .solution-inform-content p {
969 text-indent: 2em;
970 font-size: 14px;
971 margin-top: 10px;
972 }
973
974 .inform-content-p {
975 font-size: 14px !important;
976 }
977
978 .solution-inform-content-words {
979 line-height: 25px;
980 color: #666;
981 }
982
983 .solution-inform-content-img {
984 margin-top: 20px;
985 }
986
987 .solution-inform-content-img img {
988 width: 100%;
989 }
990
991
992 /*产品展示*/
993
994 .product-show-ul {
995 width: 100%;
996 }
997
998 .gray-li {
999 background-color: #f0eeed;
1000 }
1001
1002 .product-show-ul li {
1003 padding: 35px 0;
1004 }
1005
1006 .product-content {
1007 margin: 0 15%;
1008 }
1009
1010 .product-show-title h3 {
1011 font-size: 22px;
1012 font-weight: bold;
1013 }
1014
1015 .product-show-title span {
1016 color: #FFFFFF;
1017 background-color: #0086da;
1018 padding: 2px 5px;
1019 border-radius: 3px;
1020 margin-top: 5px;
1021 display: inline-block;
1022 }
1023
1024 i.am-icon-dribbble,
1025 i.am-icon-tasks {
1026 font-size: 28px;
1027 color: #0086da;
1028 position: absolute;
1029 left: -40px;
1030 top: -10px;
1031 }
1032
1033 i.am-icon-tasks {
1034 font-size: 24px;
1035 top: -5px;
1036 }
1037
1038 .product-add,
1039 .product-intro {
1040 position: relative;
1041 margin-top: 20px;
1042 }
1043
1044 .product-add div a {
1045 color: #ff8a44;
1046 text-decoration: underline;
1047 }
1048
1049 .product-add span,
1050 .product-intro span {
1051 font-weight: bold;
1052 }
1053
1054 .product-intro p {
1055 font-size: 14px;
1056 }
1057
1058 .product-content-left {
1059 padding: 0 40px;
1060 }
1061
1062 .product-content-right {
1063 padding: 0 40px;
1064 float: right;
1065 }
1066
1067 .product-img {
1068 width: 70%;
1069 margin-top: 25px;
1070 }
1071
1072
1073 /*新闻详情*/
1074
1075 .words-title div {
1076 font-size: 15px;
1077 }
1078
1079
1080 /*新闻动态*/
1081
1082 .news-content-all div {
1083 padding: 0;
1084 }
1085 .news-ul li{ margin-bottom: 30px;}
1086
1087
1088 .news-ul-liimg {
1089 width: 100%;
1090 }
1091
1092 .news-ul li p {
1093 font-size: 14px;
1094 height: 60px;
1095 line-height: 20px;
1096 overflow: hidden;
1097 margin-top: 5px;
1098 color: #9a9a9a;
1099 }
1100 .news-content-all { margin-top: 45px;}
1101 .news-ul li span {
1102 margin-top: 15px;
1103 display: inline-block;
1104 }
1105 .news-ul-liall{ position: relative;
1106 overflow: hidden;}
1107 .see-more3 {
1108 padding: 5px 10px;
1109 color: #128abc;
1110 background-color: #fff;
1111 border: 1px solid #128abc;
1112 border-radius: 3px;
1113 }
1114 .news-ul li:hover .see-more3 {
1115 color: #fff;
1116 background-color: #128abc;
1117 border: 1px solid #128abc;
1118 transition: all 0.4s ;
1119 -moz-transition: all 0.4s ;
1120 -webkit-transition: all 0.4s ;
1121 -o-transition: all 0.4s ;
1122 }
1123 .see-more3 i{
1124 margin-left: 5px;
1125 }
1126
1127 .inform-list {position: absolute;
1128 left:0;
1129 top:20px;
1130
1131 }
1132 .inform-list div i{
1133 margin-right: 5px;
1134 }
1135 .inform-list div{
1136 padding: 5px 12px;
1137 margin: 6px 0;
1138 width: auto;
1139 background-color: #128abc;
1140 color: #fff;
1141 font-size: 13px;
1142 margin-left: -100%;
1143 display: table;
1144 opacity: 0;
1145 }
1146 .news-ul li:hover .news-ul-liimg{
1147 -webkit-filter: blur(2px) grayscale(1);
1148 -moz-filter: blur(2px) grayscale(1);
1149 -o-filter: blur(2px) grayscale(1);
1150 -ms-filter: blur(2px) grayscale(1);
1151 filter: blur(2px) grayscale(1);
1152 transition: all 0.2s ease-in-out;
1153 -moz-transition: all 0.2s ease-in-out;
1154 -webkit-transition: all 0.2s ease-in-out;
1155 -o-transition: all 0.2s ease-in-out;
1156 }
1157 .news-ul li:hover .inform-list-date{
1158 margin-left: 0;
1159 transition: all 0.2s ease-in-out;
1160 -moz-transition: all 0.2s ease-in-out;
1161 -webkit-transition: all 0.2s ease-in-out;
1162 -o-transition: all 0.2s ease-in-out;
1163 opacity: 1;
1164 }
1165 .news-ul li:hover .inform-list-label{
1166 margin-left: 0;
1167 transition: all 0.3s ease-in-out;
1168 -moz-transition: all 0.3s ease-in-out;
1169 -webkit-transition: all 0.3s ease-in-out;
1170 -o-transition: all 0.3s ease-in-out;
1171 opacity: 1;
1172 }
1173 .news-ul li:hover .inform-list-numb{
1174 margin-left: 0;
1175 transition: all 0.4s ease-in-out;
1176 -moz-transition: all 0.4s ease-in-out;
1177 -webkit-transition: all 0.4s ease-in-out;
1178 -o-transition: all 0.4s ease-in-out;
1179 opacity: 1;
1180 }
1181
1182 .inform-list li i {
1183 margin-right: 10px;
1184 font-size: 15px;
1185 }
1186
1187 .hot-title{color:#128abc ;
1188 margin-bottom: 10px;}
1189 .hot-title i{ margin-right: 10px;font-size: 19px;}
1190 .am-panel > .am-list > li > a {
1191 padding-left: 5px;
1192 padding-right: 5px;
1193 line-height: 20px;
1194 }
1195
1196 .am-list > li > a {
1197 display: block;
1198 padding: 5px 0;
1199 }
1200
1201 .am-panel-default > .am-panel-hd {
1202 color: #ffffff;
1203 background-color: #0086da;
1204 border-color: #0086da;
1205 font-weight: bold;
1206 }
1207
1208 .am-pagination > li > a,
1209 .am-pagination > li > span {
1210 padding: 3px 9px;
1211 font-size: 15px;
1212 }
1213
1214 .current-page {
1215 color: #0086da !important;
1216 }
1217
1218 .am-panel-hd i {
1219 margin-right: 5px;
1220 }
1221
1222 .newspaper-o {
1223 font-size: 48px !important;
1224 margin-top: -13px !important;
1225 }
1226
1227 .am-pagination li a:visited {
1228 background-color: #fff !important;
1229 }
1230
1231
1232 /*客户案例*/
1233
1234 .gallery-words {
1235 height: 125px;
1236 width: 100%;
1237 line-height: 26px;
1238 overflow: hidden;
1239 }
1240
1241 .briefcase {
1242 font-size: 48px !important;
1243 margin-top: -13px !important;
1244 }
1245
1246 .customer-case li {
1247 margin-bottom: 20px;
1248 margin-top: 10px;
1249 }
1250
1251 .customer-case {
1252 padding: 30px 0 0 0;
1253 }
1254
1255 .case-content {
1256 text-align: left;
1257 background-color: #f3f3f3;
1258 border-left: 8px solid #0086da;
1259 height: 110px;
1260 padding: 8px 6px;
1261 position: absolute;
1262 bottom: 0;
1263 left: 40%;
1264 width: 180px;
1265 }
1266
1267 .case-content span {
1268 font-weight: bold;
1269 }
1270
1271 .case-content p {
1272 font-size: 14px;
1273 height: 44px;
1274 line-height: 22px;
1275 overflow: hidden;
1276 }
1277
1278 .customer-case-all {
1279 width: 100%;
1280 position: relative;
1281 }
1282
1283 .customer-case-img {
1284 width: 100%;
1285 overflow: hidden;
1286 position: relative;
1287 }
1288
1289 .customer-case-ul {
1290 margin-top: 30px;
1291 }
1292
1293 .customer-case-img img {
1294 width: 100%;
1295 }
1296
1297 .case-more {
1298 width: 100px;
1299 height: 25px;
1300 float: right;
1301 margin-top: 8px;
1302 text-align: center;
1303 margin-right: -6px;
1304 }
1305
1306 .case-more .see {
1307 background-color: #0086da;
1308 width: 75px;
1309 color: #fff;
1310 font-size: 15px;
1311 height: 25px;
1312 line-height: 25px;
1313 }
1314
1315 .case-more .more {
1316 background-color: #05598e;
1317 width: 25px;
1318 height: 25px;
1319 }
1320
1321 .case-more .more i {
1322 color: #fff;
1323 }
1324
1325 .our-customer {
1326 padding-top: 30px;
1327 }
1328
1329 .customer-content2 {
1330 margin-top: 10px;
1331 padding-bottom: 30px;
1332 }
1333
1334 .customer-case-ul li:hover .customer-case-img img {
1335 transform: scale(1.4);
1336 transition: all 1s ease 0s;
1337 -webkit-transform: scale(1.4);
1338 -webkit-transform: all 1s ease 0s;
1339 }
1340
1341 .case-content:hover .case-more .see {
1342 background-color: #05598e;
1343 -webkit-transition: all 0.4s linear 0s;
1344 -moz-transition: all 0.4s linear 0s;
1345 -o-transition: all 0.4s linear 0s;
1346 transition: all 0.4s linear 0s;
1347 }
1348
1349
1350 /*案例详情*/
1351
1352 .case-img {
1353 width: 100%;
1354 padding: 20px;
1355 background: #f3f3f3;
1356 }
1357
1358 .case-inform img {
1359 width: 40%;
1360 margin-top: 20px;
1361 }
1362
1363 .case-left {
1364 margin-top: 60px;
1365 }
1366
1367
1368 /*关于我们*/
1369 .part-title-mar{padding-top: 30px;
1370 padding-bottom: 25px;}
1371 .company-intro {
1372 margin: 0 22%;
1373 text-align: center;
1374 }
1375
1376 .company-intro p {
1377 margin-top: 15px;
1378 font-size: 15px;
1379 }
1380
1381 .thought-all {
1382 width: 100px;
1383 height: 100px;
1384 background-color: #0086da;
1385 border-top: 10px solid #05598e;
1386 color: #ffffff;
1387 margin: 0 auto;
1388 position: relative;
1389 }
1390
1391 .thought-all-none {
1392 width: 100px;
1393 height: 100px;
1394 position: absolute;
1395 bottom: 0;
1396 left: 0;
1397 background-color: #424242;
1398 opacity: 0;
1399 }
1400
1401 .thought-all-none h5 {
1402 font-size: 16px;
1403 line-height: 100px;
1404 color: #0086da;
1405 display: none;
1406 }
1407
1408 .company-thought {
1409 display: table;
1410 margin: 0 auto;
1411 }
1412
1413 .company-thought li {
1414 float: left;
1415 text-align: center;
1416 margin: 0 10px;
1417 }
1418
1419 .thought-all-none:hover {
1420 opacity: 0.9;
1421 -webkit-transition: all 0.4s linear 0s;
1422 -moz-transition: all 0.4s linear 0s;
1423 -o-transition: all 0.4s linear 0s;
1424 transition: all 0.4s linear 0s;
1425 }
1426
1427 .thought-all-none:hover h5 {
1428 display: block;
1429 }
1430
1431 .thought-all span {
1432 display: block;
1433 }
1434
1435 .thought-all i {
1436 font-size: 35px;
1437 }
1438
1439 .company-thought-all {
1440 width: 100%;
1441 margin-top: 40px;
1442 padding: 40px 0;
1443 }
1444
1445 .office-space {
1446 margin: 0 5%;
1447 }
1448
1449 .office-space img {
1450 width: 100%;
1451 }
1452
1453 .office-space div {
1454 margin: 0;
1455 padding: 0;
1456 }
1457
1458 .contact-us {
1459 padding: 30px 40px;
1460 text-align: center;
1461 }
1462
1463 .contact-us div img {
1464 width: 80%;
1465 float: right;
1466 }
1467
1468 .contact-add li {
1469 margin-bottom: 10px;
1470 }
1471
1472 .contact-add div,
1473 .contact-add li i {
1474 height: 35px;
1475 line-height: 35px;
1476 }
1477
1478 .contact-add li div {
1479 position: relative;
1480 }
1481
1482 .contact-add li i {
1483 background-color: #0086da;
1484 width: 35px;
1485 text-align: center;
1486 color: #fff;
1487 position: absolute;
1488 left: 0;
1489 bottom: 0;
1490 font-size: 20px;
1491 }
1492
1493 .contact-add div span {
1494 width: 270px;
1495 background-color: #fff;
1496 height: 35px;
1497 display: inline-block;
1498 padding-left: 45px;
1499 font-size: 14px;
1500 float: left;
1501 color: #666;
1502 font-weight: bold;
1503 text-align: left;
1504 }
1505
1506 .contact-add-1 {
1507 font-size: 13px !important;
1508 }
1509
1510 .office-space-title,
1511 .contact-us-title {
1512 margin-top: 40px;
1513 margin-bottom: 10px;
1514 }
1515
1516 .paper-plane {
1517 font-size: 42px !important;
1518 margin-top: -10px !important;
1519 }
1520
1521 .mobile {
1522 font-size: 25px !important;
1523 }
1524
1525
1526 /*招贤纳士*/
1527
1528 .recruit-left,
1529 .recruit-right {
1530 padding: 0 10px;
1531 }
1532
1533 .daiyu {
1534 width: 100%;
1535 background-color: #0086da;
1536 padding: 30px 0;
1537 }
1538
1539 .daiyu-title-ul {
1540 width: 20% !important;
1541 margin: 0 auto !important;
1542 background-color: transparent !important;
1543 }
1544
1545 .daiyu-title-ul li {
1546 background-color: #006bae;
1547 margin: 0 10px;
1548 }
1549
1550 .am-tabs-d2 .daiyu-title-ul> .am-active:after {
1551 display: none;
1552 }
1553
1554 .daiyu-content {
1555 padding: 20px 20px 0 20px;
1556 width: 100%;
1557 }
1558
1559 .daiyu-content-1 {
1560 width: 60%;
1561 margin: 0 auto;
1562 border: solid 2px #c5c5c5;
1563 padding: 20px 5%;
1564 color: #969696;
1565 }
1566
1567 .money {
1568 color: #fff !important;
1569 }
1570
1571 .user-secret {
1572 font-size: 45px !important;
1573 margin-top: -10px !important;
1574 }
1575
1576
1577 /*服务中心*/
1578
1579 .service-content h4 {
1580 font-size: 22px;
1581 }
1582
1583 .service-content p {
1584 font-size: 14px;
1585 color: rgb(153, 153, 153);
1586 line-height: 22px;
1587 }
1588
1589 .service-ul li {
1590 margin: 20px 0 ;
1591 border-bottom: 1px solid rgb(230, 230, 230);
1592 padding-bottom: 25px;
1593
1594 }
1595
1596 .service-img {
1597 text-align: center;
1598 }
1599
1600 .service-img img {
1601 width: 70%;
1602 }
1603
1604
1605 .service-ul li:last-child {
1606 border-bottom: none;
1607 }
1608 .service-ul li:first-child{
1609 margin-top: 50px;
1610 }
1611 @media only screen and (max-width:1240px) {
1612 .product-img {
1613 width: 80%;
1614 margin-top: 25px;
1615 }
1616 }
1617
1618 @media only screen and (max-width:1024px) {
1619 /*首页*/
1620 .hw-logo {
1621 margin-left: 10px;
1622 }
1623 .news-content-right img {
1624 width: 40%;
1625 margin-top: 20px;
1626 }
1627 .customer-content li div img {
1628 width: 70% !important;
1629 }
1630 .customer-content li {
1631 margin-top: 10px;
1632 }
1633 .news-content {
1634 width: 85%;
1635 }
1636 .news-right-title {
1637 font-size: 22px;
1638 margin-top: 20px;
1639 display: inline-block;
1640 }
1641 .news-right-time {
1642 font-size: 16px;
1643 margin-top: -1px;
1644 }
1645 /* 解决方案*/
1646 .solutions-tabs-ul {
1647 width: 70% !important;
1648 }
1649 .solutions-content-ul {
1650 width: 90%;
1651 margin: 0 auto;
1652 }
1653 .toppic-title {
1654 margin-left: 10px;
1655 }
1656 .toppic-progress {
1657 margin-right: 10px;
1658 }
1659 /*解决方案详情 */
1660 .solution-inform-content-all {
1661 background-color: #ffffff;
1662 width: 100%;
1663 }
1664 .solution-inform-content p {
1665 font-size: 16px;
1666 }
1667 /* 产品展示*/
1668 .product-img {
1669 width: 90%;
1670 margin-top: 25px;
1671 }
1672 .product-content {
1673 margin: 0 10%;
1674 }
1675 /*客户案例*/
1676 .customer-case li {
1677 text-align: center;
1678 }
1679 .case-content {
1680 left: 40%;
1681 }
1682 /*关于我们 */
1683 .contact-us div img {
1684 width: 80%;
1685 }
1686 /*招贤纳士*/
1687 .daiyu-title-ul {
1688 width: 35% !important;
1689 }
1690 .daiyu-content-1 {
1691 width: 80%;
1692 }
1693 /*服务中心*/
1694 .service-img img {
1695 width: 90%;
1696 }
1697 .service-content p {
1698 font-size: 15px;
1699 }
1700 }
1701
1702 @media only screen and (max-width:915px) {
1703 .hw-logo {
1704 margin-left: 10px;
1705 }
1706 .product-img {
1707 width: 100%;
1708 margin-top: 25px;
1709 }
1710 .hw-menu li a {
1711 line-height: 25px;
1712 }
1713 .hw-menu li {
1714 height: 40px;
1715 }
1716 .hw-menu-active {
1717 border-left: 1px solid #fff;
1718 border-right: 1px solid #fff;
1719 }
1720 /*关于我们 */
1721 .contact-us div img {
1722 width: 95%;
1723 }
1724 }
1725
1726 @media only screen and (max-width:768px) {
1727 .product-img {
1728 width: 100%;
1729 margin-top: 25px;
1730 }
1731 .product-content {
1732 margin: 0 5%;
1733 }
1734 .solution-circle {
1735 font-size: 45px;
1736 width: 130px;
1737 height: 130px;
1738 line-height: 110px;
1739 border: 10px solid #f0f0f0;
1740 }
1741 }
1742
1743 @media only screen and (max-width:640px) {
1744 /*首页*/
1745 .solution-circle {
1746 font-size: 45px;
1747 width: 110px;
1748 height: 110px;
1749 line-height: 90px;
1750 border: 10px solid #f0f0f0;
1751 }
1752 .solutions-title {
1753 font-size: 15px;
1754 }
1755 .solutions-content li {
1756 margin-bottom: 10px;
1757 }
1758 .part-title-span {
1759 font-size: 17px;
1760 }
1761 .case-li:hover .case-word {
1762 display: none;
1763 }
1764 .case-li-mengban:hover {
1765 opacity: 0;
1766 }
1767 .part-all {
1768 margin-top: 20px;
1769 }
1770 .solutions-way {
1771 font-size: 13px;
1772 }
1773 .three-reason-content {
1774 width: 95%;
1775 margin-top: 15px;
1776 }
1777 .three-reason-img1,
1778 .three-reason-img1:hover,
1779 .three-reason-img2,
1780 .three-reason-img2:hover,
1781 .three-reason-img3,
1782 .three-reason-img3:hover {
1783 background-size: 100% 100%;
1784 }
1785 .three-reason-bg {
1786 width: 200px;
1787 margin-top: 20px;
1788 }
1789 .reason-title {
1790 font-size: 13px;
1791 }
1792 .three-reason-img1,
1793 .three-reason-img2,
1794 .three-reason-img3 {
1795 width: 80px;
1796 height: 80px;
1797 margin: 0 auto;
1798 border: none;
1799 }
1800 .case-img1 {
1801 width: 100%;
1802 margin-top: 10px;
1803 }
1804 .customer-case-content {
1805 margin-top: 0;
1806 }
1807 .customer-content li {
1808 margin-top: 0px;
1809 }
1810 .customer-content {
1811 margin-top: 0px;
1812 }
1813 .lan-bott {
1814 height: 65px;
1815 padding: 10px 10px;
1816 }
1817 .lan-bott .left {
1818 display: none;
1819 }
1820 .see-more {
1821 margin-top: 0px;
1822 }
1823 .news-img {
1824 width: 100%;
1825 overflow: hidden;
1826 }
1827 .news-content-ul {
1828 margin-top: 10px;
1829 margin-bottom: 30px;
1830 }
1831 .news-content-ul li {
1832 margin-top: 20px;
1833 }
1834 .customer-content li div img {
1835 width: 80%;
1836 }
1837 .part-5-title {
1838 margin-top: 10px;
1839 }
1840 .news-content {
1841 margin-top: 10px;
1842 }
1843 .see-more {
1844 top: 0px;
1845 }
1846 .part-content {
1847 margin-top: 20px;
1848 }
1849 .customer-case {
1850 padding: 20px 0 0 0;
1851 }
1852 /*解决方案*/
1853 .solutions-tabs-ul {
1854 width: 90% !important;
1855 }
1856 .solutions-tabs-ul li {
1857 height: 55px !important;
1858 margin-top: 20px;
1859 }
1860 .solutions-content-ul {
1861 width: 100%;
1862 margin: 0 auto;
1863 }
1864 .solutions-tabs-ul li a span {
1865 display: none;
1866 }
1867 .toppic-title {
1868 padding-top: 40px;
1869 }
1870 .toppic-title-i {
1871 font-size: 26px;
1872 }
1873 .toppic-title-span {
1874 font-size: 18px;
1875 }
1876 .toppic-title p {
1877 font-size: 13px;
1878 padding-left: 23px;
1879 }
1880 .toppic-progress {
1881 padding: 4px 7px;
1882 margin-top: 50px;
1883 border-radius: 5px;
1884 }
1885 .toppic-progress span {
1886 font-size: 12px;
1887 padding: 0 3px;
1888 }
1889 .toppic-progress i {
1890 font-size: 13px;
1891 }
1892 .solutions-tabs-content {
1893
1894 padding: 20px 5px 0 5px;
1895
1896 }
1897 /*解决方案详情*/
1898 .small-title {
1899 font-size: 13px;
1900 }
1901 .solution-inform-content-all {
1902 background-color: #ffffff;
1903 width: 100%;
1904 margin: 0 auto;
1905 padding: 0 0 15px 0;
1906 }
1907 .inform-content-p {
1908 font-size: 15px !important;
1909 }
1910 i.am-icon-file-text.file-text {
1911 font-size: 19px;
1912 }
1913 .words-title span {
1914 font-size: 17px;
1915 }
1916 .solution-inform {
1917 margin-top: 15px;
1918 }
1919 .solutions-tabs-ul li a i {
1920 display: block;
1921 margin-top: 10px;
1922 }
1923 .mobile-phone {
1924 margin-top: 7px !important;
1925 }
1926 .inform-content-p {
1927 margin-top: 0px !important;
1928 }
1929 .solution-inform-content {
1930 padding: 0;
1931 }
1932 .solutions-tabs-ul {
1933 padding-top: 10px !important;
1934 }
1935 /* 产品展示*/
1936 .product-img {
1937 margin-bottom: 20px;
1938 }
1939 .product-content {
1940 margin: 0 10px;
1941 }
1942 .product-show-ul li {
1943 padding: 20px 0;
1944 }
1945 i.am-icon-dribbble{ display: none;}
1946 /*客户案例*/
1947 .case-content {
1948 left: 33%;
1949 }
1950 .briefcase {
1951 font-size: 40px !important;
1952 margin-top: -13px !important;
1953 }
1954 /*案例详情*/
1955 .case-img {
1956 margin-top: 20px;
1957 }
1958 .case-inform img {
1959 width: 70%;
1960 margin: 0 auto;
1961 display: inherit;}
1962 .customer-case-ul {
1963 margin-top: 5px;
1964 }
1965 .case-left {
1966 margin-top: 10px;
1967 }
1968 .product-content-left {
1969 padding: 0 20px;
1970 }
1971 i.am-icon-tasks{ display: none;}
1972 .product-content-right {
1973 padding: 0 20px;
1974
1975 }
1976 /*关于我们*/
1977 .part-title-mar{
1978 padding-top: 10px;
1979 padding-bottom: 5px;
1980 }
1981 .paper-plane {
1982 font-size: 30px !important;
1983 margin-top: -8px !important;
1984 }
1985 .company-intro {
1986 margin: 0 5%;
1987 }
1988 .thought-all {
1989 width: 80px;
1990 height: 80px;
1991 }
1992 .thought-all-none {
1993 width: 80px;
1994 height: 80px;
1995 }
1996 .company-thought li {
1997 margin: 0 5px;
1998 }
1999 .thought-all span {
2000 margin-top: 20px;
2001 color: #3C3C3C;
2002 }
2003 .office-space-title,
2004 .contact-us-title {
2005 margin-top: 30px;
2006 margin-bottom: 20px;
2007 }
2008 .company-thought {
2009 margin-bottom: 20px;
2010 }
2011 .contact-us div img {
2012 float: left;
2013 width: 100%;
2014 }
2015 .contact-us {
2016 padding: 20px 0;
2017 text-align: center;
2018 }
2019 .contact-add {
2020 margin-top: 20px;
2021 }
2022 .company-thought-all {
2023 width: 100%;
2024 margin-top: 20px;
2025 padding: 20px 0;
2026 }
2027 .office-space-title,
2028 .contact-us-title {
2029 margin-bottom: 10px;
2030 }
2031 /*招贤纳士*/
2032 .daiyu-title-ul {
2033 width: 70% !important;
2034 }
2035 .daiyu-content-1 {
2036 width: 100%;
2037 }
2038 .user-secret {
2039 font-size: 35px !important;
2040 margin-top: -10px !important;
2041 }
2042 .daiyu-title-ul {
2043 margin-top: 20px !important;
2044 }
2045 .product-img{ margin-top: -20px;}
2046 /*服务中心*/
2047 .service-img img {
2048 width: 75%;
2049 margin-top: 20px;
2050 }
2051 .service-ul {
2052 margin-top: 10px;
2053 }
2054 .service-ul li {
2055 margin: 10px 0;
2056 }
2057 .service-content h4 {
2058 font-size: 18px;
2059 }
2060 .service-content p {
2061 font-size: 14px;
2062 }
2063 .service-ul li:first-child {
2064 margin-top: 20px;
2065 }
2066 /*新闻动态*/
2067 .news-content-all {
2068 margin-top: 0;
2069 }
2070 .newspaper-o {
2071 font-size: 40px !important;
2072 }
2073 .margin-t30 {
2074 margin-top: 20px !important;
2075 }
2076 .news-ul li{ margin-top: 25px;}
2077 }
...\ No newline at end of file ...\ No newline at end of file
No preview for this file type
No preview for this file type
This diff could not be displayed because it is too large.
No preview for this file type
No preview for this file type
No preview for this file type
1 <!DOCTYPE html>
2 <html>
3
4 <head lang="en">
5 <meta charset="UTF-8">
6 <title>首页</title>
7 <meta http-equiv="X-UA-Compatible" content="IE=edge">
8 <meta name="viewport"
9 content="width=device-width, initial-scale=1,maximum-scale=1.0, user-scalable=0,user-scalable=no">
10 <meta name="format-detection" content="telephone=no">
11 <meta name="renderer" content="webkit">
12 <meta http-equiv="Cache-Control" content="no-siteapp" />
13 <link rel="alternate icon" type="img/hengwang-1.png" href="img/hengwang-1.png">
14 <link rel="stylesheet" href="css/amazeui.css" />
15 <link rel="stylesheet" href="css/style.css" />
16 </head>
17
18 <body>
19 <header class="am-topbar header">
20 111
21 </header>
22 <div class="am-container-1">
23 222222222222222222
24 </div>
25 <footer class="footer ">
26 </footer>
27
28
29 </body>
30 <!--[if lt IE 9]>
31 <script src="http://libs.baidu.com/jquery/1.11.1/jquery.min.js"></script>
32 <script src="http://cdn.staticfile.org/modernizr/2.8.3/modernizr.js"></script>
33 <script src="assets/js/amazeui.ie8polyfill.min.js"></script>
34 <![endif]-->
35
36 <!--[if (gte IE 9)|!(IE)]><!-->
37 <script src="js/jquery.min.js"></script>
38 <!--<![endif]-->
39 <script src="js/amazeui.min.js"></script>
40 <script src="js/scroll.js"></script>
41 <script type="text/javascript">
42 </script>
43
44 </html>
...\ No newline at end of file ...\ No newline at end of file
1 /*! Amaze UI v2.5.2 ~ IE8 Fucker | by Amaze UI Team | (c) 2016 AllMobilize, Inc. | Licensed under MIT | 2016-01-26T11:06:52+0800 */
2 // Console-polyfill. MIT license.
3 // https://github.com/paulmillr/console-polyfill
4 // Make it safe to do console.log() always.
5 (function(global) {
6 'use strict';
7 global.console = global.console || {};
8 var con = global.console;
9 var prop, method;
10 var empty = {};
11 var dummy = function() {};
12 var properties = 'memory'.split(',');
13 var methods = ('assert,clear,count,debug,dir,dirxml,error,exception,group,' +
14 'groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,' +
15 'show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn').split(',');
16 while (prop = properties.pop()) if (!con[prop]) con[prop] = empty;
17 while (method = methods.pop()) if (!con[method]) con[method] = dummy;
18 })(typeof window === 'undefined' ? this : window);
19 // Using `this` for web workers while maintaining compatibility with browser
20 // targeted script loaders such as Browserify or Webpack where the only way to
21 // get to the global object is via `window`.
22
23 /*!
24 * https://github.com/es-shims/es5-shim
25 * @license es5-shim Copyright 2009-2015 by contributors, MIT License
26 * see https://github.com/es-shims/es5-shim/blob/master/LICENSE
27 */
28
29 // vim: ts=4 sts=4 sw=4 expandtab
30
31 // Add semicolon to prevent IIFE from being passed as argument to concatenated code.
32 ;
33
34 // UMD (Universal Module Definition)
35 // see https://github.com/umdjs/umd/blob/master/returnExports.js
36 (function (root, factory) {
37 'use strict';
38
39 /* global define, exports, module */
40 if (typeof define === 'function' && define.amd) {
41 // AMD. Register as an anonymous module.
42 define(factory);
43 } else if (typeof exports === 'object') {
44 // Node. Does not work with strict CommonJS, but
45 // only CommonJS-like enviroments that support module.exports,
46 // like Node.
47 module.exports = factory();
48 } else {
49 // Browser globals (root is window)
50 root.returnExports = factory();
51 }
52 }(this, function () {
53
54 var call = Function.prototype.call;
55 var prototypeOfObject = Object.prototype;
56 var owns = call.bind(prototypeOfObject.hasOwnProperty);
57
58 // If JS engine supports accessors creating shortcuts.
59 var defineGetter;
60 var defineSetter;
61 var lookupGetter;
62 var lookupSetter;
63 var supportsAccessors = owns(prototypeOfObject, '__defineGetter__');
64 if (supportsAccessors) {
65 /* eslint-disable no-underscore-dangle */
66 defineGetter = call.bind(prototypeOfObject.__defineGetter__);
67 defineSetter = call.bind(prototypeOfObject.__defineSetter__);
68 lookupGetter = call.bind(prototypeOfObject.__lookupGetter__);
69 lookupSetter = call.bind(prototypeOfObject.__lookupSetter__);
70 /* eslint-enable no-underscore-dangle */
71 }
72
73 // ES5 15.2.3.2
74 // http://es5.github.com/#x15.2.3.2
75 if (!Object.getPrototypeOf) {
76 // https://github.com/es-shims/es5-shim/issues#issue/2
77 // http://ejohn.org/blog/objectgetprototypeof/
78 // recommended by fschaefer on github
79 //
80 // sure, and webreflection says ^_^
81 // ... this will nerever possibly return null
82 // ... Opera Mini breaks here with infinite loops
83 Object.getPrototypeOf = function getPrototypeOf(object) {
84 /* eslint-disable no-proto */
85 var proto = object.__proto__;
86 /* eslint-enable no-proto */
87 if (proto || proto === null) {
88 return proto;
89 } else if (object.constructor) {
90 return object.constructor.prototype;
91 } else {
92 return prototypeOfObject;
93 }
94 };
95 }
96
97 // ES5 15.2.3.3
98 // http://es5.github.com/#x15.2.3.3
99
100 var doesGetOwnPropertyDescriptorWork = function doesGetOwnPropertyDescriptorWork(object) {
101 try {
102 object.sentinel = 0;
103 return Object.getOwnPropertyDescriptor(object, 'sentinel').value === 0;
104 } catch (exception) {
105 return false;
106 }
107 };
108
109 // check whether getOwnPropertyDescriptor works if it's given. Otherwise, shim partially.
110 if (Object.defineProperty) {
111 var getOwnPropertyDescriptorWorksOnObject = doesGetOwnPropertyDescriptorWork({});
112 var getOwnPropertyDescriptorWorksOnDom = typeof document === 'undefined' ||
113 doesGetOwnPropertyDescriptorWork(document.createElement('div'));
114 if (!getOwnPropertyDescriptorWorksOnDom || !getOwnPropertyDescriptorWorksOnObject) {
115 var getOwnPropertyDescriptorFallback = Object.getOwnPropertyDescriptor;
116 }
117 }
118
119 if (!Object.getOwnPropertyDescriptor || getOwnPropertyDescriptorFallback) {
120 var ERR_NON_OBJECT = 'Object.getOwnPropertyDescriptor called on a non-object: ';
121
122 /* eslint-disable no-proto */
123 Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(object, property) {
124 if ((typeof object !== 'object' && typeof object !== 'function') || object === null) {
125 throw new TypeError(ERR_NON_OBJECT + object);
126 }
127
128 // make a valiant attempt to use the real getOwnPropertyDescriptor
129 // for I8's DOM elements.
130 if (getOwnPropertyDescriptorFallback) {
131 try {
132 return getOwnPropertyDescriptorFallback.call(Object, object, property);
133 } catch (exception) {
134 // try the shim if the real one doesn't work
135 }
136 }
137
138 var descriptor;
139
140 // If object does not owns property return undefined immediately.
141 if (!owns(object, property)) {
142 return descriptor;
143 }
144
145 // If object has a property then it's for sure both `enumerable` and
146 // `configurable`.
147 descriptor = { enumerable: true, configurable: true };
148
149 // If JS engine supports accessor properties then property may be a
150 // getter or setter.
151 if (supportsAccessors) {
152 // Unfortunately `__lookupGetter__` will return a getter even
153 // if object has own non getter property along with a same named
154 // inherited getter. To avoid misbehavior we temporary remove
155 // `__proto__` so that `__lookupGetter__` will return getter only
156 // if it's owned by an object.
157 var prototype = object.__proto__;
158 var notPrototypeOfObject = object !== prototypeOfObject;
159 // avoid recursion problem, breaking in Opera Mini when
160 // Object.getOwnPropertyDescriptor(Object.prototype, 'toString')
161 // or any other Object.prototype accessor
162 if (notPrototypeOfObject) {
163 object.__proto__ = prototypeOfObject;
164 }
165
166 var getter = lookupGetter(object, property);
167 var setter = lookupSetter(object, property);
168
169 if (notPrototypeOfObject) {
170 // Once we have getter and setter we can put values back.
171 object.__proto__ = prototype;
172 }
173
174 if (getter || setter) {
175 if (getter) {
176 descriptor.get = getter;
177 }
178 if (setter) {
179 descriptor.set = setter;
180 }
181 // If it was accessor property we're done and return here
182 // in order to avoid adding `value` to the descriptor.
183 return descriptor;
184 }
185 }
186
187 // If we got this far we know that object has an own property that is
188 // not an accessor so we set it as a value and return descriptor.
189 descriptor.value = object[property];
190 descriptor.writable = true;
191 return descriptor;
192 };
193 /* eslint-enable no-proto */
194 }
195
196 // ES5 15.2.3.4
197 // http://es5.github.com/#x15.2.3.4
198 if (!Object.getOwnPropertyNames) {
199 Object.getOwnPropertyNames = function getOwnPropertyNames(object) {
200 return Object.keys(object);
201 };
202 }
203
204 // ES5 15.2.3.5
205 // http://es5.github.com/#x15.2.3.5
206 if (!Object.create) {
207
208 // Contributed by Brandon Benvie, October, 2012
209 var createEmpty;
210 var supportsProto = !({ __proto__: null } instanceof Object);
211 // the following produces false positives
212 // in Opera Mini => not a reliable check
213 // Object.prototype.__proto__ === null
214
215 // Check for document.domain and active x support
216 // No need to use active x approach when document.domain is not set
217 // see https://github.com/es-shims/es5-shim/issues/150
218 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
219 /* global ActiveXObject */
220 var shouldUseActiveX = function shouldUseActiveX() {
221 // return early if document.domain not set
222 if (!document.domain) {
223 return false;
224 }
225
226 try {
227 return !!new ActiveXObject('htmlfile');
228 } catch (exception) {
229 return false;
230 }
231 };
232
233 // This supports IE8 when document.domain is used
234 // see https://github.com/es-shims/es5-shim/issues/150
235 // variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
236 var getEmptyViaActiveX = function getEmptyViaActiveX() {
237 var empty;
238 var xDoc;
239
240 xDoc = new ActiveXObject('htmlfile');
241
242 xDoc.write('<script><\/script>');
243 xDoc.close();
244
245 empty = xDoc.parentWindow.Object.prototype;
246 xDoc = null;
247
248 return empty;
249 };
250
251 // The original implementation using an iframe
252 // before the activex approach was added
253 // see https://github.com/es-shims/es5-shim/issues/150
254 var getEmptyViaIFrame = function getEmptyViaIFrame() {
255 var iframe = document.createElement('iframe');
256 var parent = document.body || document.documentElement;
257 var empty;
258
259 iframe.style.display = 'none';
260 parent.appendChild(iframe);
261 /* eslint-disable no-script-url */
262 iframe.src = 'javascript:';
263 /* eslint-enable no-script-url */
264
265 empty = iframe.contentWindow.Object.prototype;
266 parent.removeChild(iframe);
267 iframe = null;
268
269 return empty;
270 };
271
272 /* global document */
273 if (supportsProto || typeof document === 'undefined') {
274 createEmpty = function () {
275 return { __proto__: null };
276 };
277 } else {
278 // In old IE __proto__ can't be used to manually set `null`, nor does
279 // any other method exist to make an object that inherits from nothing,
280 // aside from Object.prototype itself. Instead, create a new global
281 // object and *steal* its Object.prototype and strip it bare. This is
282 // used as the prototype to create nullary objects.
283 createEmpty = function () {
284 // Determine which approach to use
285 // see https://github.com/es-shims/es5-shim/issues/150
286 var empty = shouldUseActiveX() ? getEmptyViaActiveX() : getEmptyViaIFrame();
287
288 delete empty.constructor;
289 delete empty.hasOwnProperty;
290 delete empty.propertyIsEnumerable;
291 delete empty.isPrototypeOf;
292 delete empty.toLocaleString;
293 delete empty.toString;
294 delete empty.valueOf;
295 /* eslint-disable no-proto */
296 empty.__proto__ = null;
297 /* eslint-enable no-proto */
298
299 var Empty = function Empty() {};
300 Empty.prototype = empty;
301 // short-circuit future calls
302 createEmpty = function () {
303 return new Empty();
304 };
305 return new Empty();
306 };
307 }
308
309 Object.create = function create(prototype, properties) {
310
311 var object;
312 var Type = function Type() {}; // An empty constructor.
313
314 if (prototype === null) {
315 object = createEmpty();
316 } else {
317 if (typeof prototype !== 'object' && typeof prototype !== 'function') {
318 // In the native implementation `parent` can be `null`
319 // OR *any* `instanceof Object` (Object|Function|Array|RegExp|etc)
320 // Use `typeof` tho, b/c in old IE, DOM elements are not `instanceof Object`
321 // like they are in modern browsers. Using `Object.create` on DOM elements
322 // is...err...probably inappropriate, but the native version allows for it.
323 throw new TypeError('Object prototype may only be an Object or null'); // same msg as Chrome
324 }
325 Type.prototype = prototype;
326 object = new Type();
327 // IE has no built-in implementation of `Object.getPrototypeOf`
328 // neither `__proto__`, but this manually setting `__proto__` will
329 // guarantee that `Object.getPrototypeOf` will work as expected with
330 // objects created using `Object.create`
331 /* eslint-disable no-proto */
332 object.__proto__ = prototype;
333 /* eslint-enable no-proto */
334 }
335
336 if (properties !== void 0) {
337 Object.defineProperties(object, properties);
338 }
339
340 return object;
341 };
342 }
343
344 // ES5 15.2.3.6
345 // http://es5.github.com/#x15.2.3.6
346
347 // Patch for WebKit and IE8 standard mode
348 // Designed by hax <hax.github.com>
349 // related issue: https://github.com/es-shims/es5-shim/issues#issue/5
350 // IE8 Reference:
351 // http://msdn.microsoft.com/en-us/library/dd282900.aspx
352 // http://msdn.microsoft.com/en-us/library/dd229916.aspx
353 // WebKit Bugs:
354 // https://bugs.webkit.org/show_bug.cgi?id=36423
355
356 var doesDefinePropertyWork = function doesDefinePropertyWork(object) {
357 try {
358 Object.defineProperty(object, 'sentinel', {});
359 return 'sentinel' in object;
360 } catch (exception) {
361 return false;
362 }
363 };
364
365 // check whether defineProperty works if it's given. Otherwise,
366 // shim partially.
367 if (Object.defineProperty) {
368 var definePropertyWorksOnObject = doesDefinePropertyWork({});
369 var definePropertyWorksOnDom = typeof document === 'undefined' ||
370 doesDefinePropertyWork(document.createElement('div'));
371 if (!definePropertyWorksOnObject || !definePropertyWorksOnDom) {
372 var definePropertyFallback = Object.defineProperty,
373 definePropertiesFallback = Object.defineProperties;
374 }
375 }
376
377 if (!Object.defineProperty || definePropertyFallback) {
378 var ERR_NON_OBJECT_DESCRIPTOR = 'Property description must be an object: ';
379 var ERR_NON_OBJECT_TARGET = 'Object.defineProperty called on non-object: ';
380 var ERR_ACCESSORS_NOT_SUPPORTED = 'getters & setters can not be defined on this javascript engine';
381
382 Object.defineProperty = function defineProperty(object, property, descriptor) {
383 if ((typeof object !== 'object' && typeof object !== 'function') || object === null) {
384 throw new TypeError(ERR_NON_OBJECT_TARGET + object);
385 }
386 if ((typeof descriptor !== 'object' && typeof descriptor !== 'function') || descriptor === null) {
387 throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR + descriptor);
388 }
389 // make a valiant attempt to use the real defineProperty
390 // for I8's DOM elements.
391 if (definePropertyFallback) {
392 try {
393 return definePropertyFallback.call(Object, object, property, descriptor);
394 } catch (exception) {
395 // try the shim if the real one doesn't work
396 }
397 }
398
399 // If it's a data property.
400 if ('value' in descriptor) {
401 // fail silently if 'writable', 'enumerable', or 'configurable'
402 // are requested but not supported
403 /*
404 // alternate approach:
405 if ( // can't implement these features; allow false but not true
406 ('writable' in descriptor && !descriptor.writable) ||
407 ('enumerable' in descriptor && !descriptor.enumerable) ||
408 ('configurable' in descriptor && !descriptor.configurable)
409 ))
410 throw new RangeError(
411 'This implementation of Object.defineProperty does not support configurable, enumerable, or writable.'
412 );
413 */
414
415 if (supportsAccessors && (lookupGetter(object, property) || lookupSetter(object, property))) {
416 // As accessors are supported only on engines implementing
417 // `__proto__` we can safely override `__proto__` while defining
418 // a property to make sure that we don't hit an inherited
419 // accessor.
420 /* eslint-disable no-proto */
421 var prototype = object.__proto__;
422 object.__proto__ = prototypeOfObject;
423 // Deleting a property anyway since getter / setter may be
424 // defined on object itself.
425 delete object[property];
426 object[property] = descriptor.value;
427 // Setting original `__proto__` back now.
428 object.__proto__ = prototype;
429 /* eslint-enable no-proto */
430 } else {
431 object[property] = descriptor.value;
432 }
433 } else {
434 if (!supportsAccessors) {
435 throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);
436 }
437 // If we got that far then getters and setters can be defined !!
438 if ('get' in descriptor) {
439 defineGetter(object, property, descriptor.get);
440 }
441 if ('set' in descriptor) {
442 defineSetter(object, property, descriptor.set);
443 }
444 }
445 return object;
446 };
447 }
448
449 // ES5 15.2.3.7
450 // http://es5.github.com/#x15.2.3.7
451 if (!Object.defineProperties || definePropertiesFallback) {
452 Object.defineProperties = function defineProperties(object, properties) {
453 // make a valiant attempt to use the real defineProperties
454 if (definePropertiesFallback) {
455 try {
456 return definePropertiesFallback.call(Object, object, properties);
457 } catch (exception) {
458 // try the shim if the real one doesn't work
459 }
460 }
461
462 Object.keys(properties).forEach(function (property) {
463 if (property !== '__proto__') {
464 Object.defineProperty(object, property, properties[property]);
465 }
466 });
467 return object;
468 };
469 }
470
471 // ES5 15.2.3.8
472 // http://es5.github.com/#x15.2.3.8
473 if (!Object.seal) {
474 Object.seal = function seal(object) {
475 if (Object(object) !== object) {
476 throw new TypeError('Object.seal can only be called on Objects.');
477 }
478 // this is misleading and breaks feature-detection, but
479 // allows "securable" code to "gracefully" degrade to working
480 // but insecure code.
481 return object;
482 };
483 }
484
485 // ES5 15.2.3.9
486 // http://es5.github.com/#x15.2.3.9
487 if (!Object.freeze) {
488 Object.freeze = function freeze(object) {
489 if (Object(object) !== object) {
490 throw new TypeError('Object.freeze can only be called on Objects.');
491 }
492 // this is misleading and breaks feature-detection, but
493 // allows "securable" code to "gracefully" degrade to working
494 // but insecure code.
495 return object;
496 };
497 }
498
499 // detect a Rhino bug and patch it
500 try {
501 Object.freeze(function () {});
502 } catch (exception) {
503 Object.freeze = (function (freezeObject) {
504 return function freeze(object) {
505 if (typeof object === 'function') {
506 return object;
507 } else {
508 return freezeObject(object);
509 }
510 };
511 }(Object.freeze));
512 }
513
514 // ES5 15.2.3.10
515 // http://es5.github.com/#x15.2.3.10
516 if (!Object.preventExtensions) {
517 Object.preventExtensions = function preventExtensions(object) {
518 if (Object(object) !== object) {
519 throw new TypeError('Object.preventExtensions can only be called on Objects.');
520 }
521 // this is misleading and breaks feature-detection, but
522 // allows "securable" code to "gracefully" degrade to working
523 // but insecure code.
524 return object;
525 };
526 }
527
528 // ES5 15.2.3.11
529 // http://es5.github.com/#x15.2.3.11
530 if (!Object.isSealed) {
531 Object.isSealed = function isSealed(object) {
532 if (Object(object) !== object) {
533 throw new TypeError('Object.isSealed can only be called on Objects.');
534 }
535 return false;
536 };
537 }
538
539 // ES5 15.2.3.12
540 // http://es5.github.com/#x15.2.3.12
541 if (!Object.isFrozen) {
542 Object.isFrozen = function isFrozen(object) {
543 if (Object(object) !== object) {
544 throw new TypeError('Object.isFrozen can only be called on Objects.');
545 }
546 return false;
547 };
548 }
549
550 // ES5 15.2.3.13
551 // http://es5.github.com/#x15.2.3.13
552 if (!Object.isExtensible) {
553 Object.isExtensible = function isExtensible(object) {
554 // 1. If Type(O) is not Object throw a TypeError exception.
555 if (Object(object) !== object) {
556 throw new TypeError('Object.isExtensible can only be called on Objects.');
557 }
558 // 2. Return the Boolean value of the [[Extensible]] internal property of O.
559 var name = '';
560 while (owns(object, name)) {
561 name += '?';
562 }
563 object[name] = true;
564 var returnValue = owns(object, name);
565 delete object[name];
566 return returnValue;
567 };
568 }
569
570 }));
571
572 /*!
573 * https://github.com/es-shims/es5-shim
574 * @license es5-shim Copyright 2009-2015 by contributors, MIT License
575 * see https://github.com/es-shims/es5-shim/blob/master/LICENSE
576 */
577
578 // vim: ts=4 sts=4 sw=4 expandtab
579
580 // Add semicolon to prevent IIFE from being passed as argument to concatenated code.
581 ;
582
583 // UMD (Universal Module Definition)
584 // see https://github.com/umdjs/umd/blob/master/returnExports.js
585 (function (root, factory) {
586 'use strict';
587
588 /* global define, exports, module */
589 if (typeof define === 'function' && define.amd) {
590 // AMD. Register as an anonymous module.
591 define(factory);
592 } else if (typeof exports === 'object') {
593 // Node. Does not work with strict CommonJS, but
594 // only CommonJS-like enviroments that support module.exports,
595 // like Node.
596 module.exports = factory();
597 } else {
598 // Browser globals (root is window)
599 root.returnExports = factory();
600 }
601 }(this, function () {
602
603 /**
604 * Brings an environment as close to ECMAScript 5 compliance
605 * as is possible with the facilities of erstwhile engines.
606 *
607 * Annotated ES5: http://es5.github.com/ (specific links below)
608 * ES5 Spec: http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
609 * Required reading: http://javascriptweblog.wordpress.com/2011/12/05/extending-javascript-natives/
610 */
611
612 // Shortcut to an often accessed properties, in order to avoid multiple
613 // dereference that costs universally.
614 var ArrayPrototype = Array.prototype;
615 var ObjectPrototype = Object.prototype;
616 var FunctionPrototype = Function.prototype;
617 var StringPrototype = String.prototype;
618 var NumberPrototype = Number.prototype;
619 var array_slice = ArrayPrototype.slice;
620 var array_splice = ArrayPrototype.splice;
621 var array_push = ArrayPrototype.push;
622 var array_unshift = ArrayPrototype.unshift;
623 var array_concat = ArrayPrototype.concat;
624 var call = FunctionPrototype.call;
625
626 // Having a toString local variable name breaks in Opera so use to_string.
627 var to_string = ObjectPrototype.toString;
628
629 var isArray = Array.isArray || function isArray(obj) {
630 return to_string.call(obj) === '[object Array]';
631 };
632
633 var hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';
634 var isCallable; /* inlined from https://npmjs.com/is-callable */ var fnToStr = Function.prototype.toString, tryFunctionObject = function tryFunctionObject(value) { try { fnToStr.call(value); return true; } catch (e) { return false; } }, fnClass = '[object Function]', genClass = '[object GeneratorFunction]'; isCallable = function isCallable(value) { if (typeof value !== 'function') { return false; } if (hasToStringTag) { return tryFunctionObject(value); } var strClass = to_string.call(value); return strClass === fnClass || strClass === genClass; };
635 var isRegex; /* inlined from https://npmjs.com/is-regex */ var regexExec = RegExp.prototype.exec, tryRegexExec = function tryRegexExec(value) { try { regexExec.call(value); return true; } catch (e) { return false; } }, regexClass = '[object RegExp]'; isRegex = function isRegex(value) { if (typeof value !== 'object') { return false; } return hasToStringTag ? tryRegexExec(value) : to_string.call(value) === regexClass; };
636 var isString; /* inlined from https://npmjs.com/is-string */ var strValue = String.prototype.valueOf, tryStringObject = function tryStringObject(value) { try { strValue.call(value); return true; } catch (e) { return false; } }, stringClass = '[object String]'; isString = function isString(value) { if (typeof value === 'string') { return true; } if (typeof value !== 'object') { return false; } return hasToStringTag ? tryStringObject(value) : to_string.call(value) === stringClass; };
637
638 var isArguments = function isArguments(value) {
639 var str = to_string.call(value);
640 var isArgs = str === '[object Arguments]';
641 if (!isArgs) {
642 isArgs = !isArray(value) &&
643 value !== null &&
644 typeof value === 'object' &&
645 typeof value.length === 'number' &&
646 value.length >= 0 &&
647 isCallable(value.callee);
648 }
649 return isArgs;
650 };
651
652 /* inlined from http://npmjs.com/define-properties */
653 var defineProperties = (function (has) {
654 var supportsDescriptors = Object.defineProperty && (function () {
655 try {
656 var obj = {};
657 Object.defineProperty(obj, 'x', { enumerable: false, value: obj });
658 for (var _ in obj) { return false; }
659 return obj.x === obj;
660 } catch (e) { /* this is ES3 */
661 return false;
662 }
663 }());
664
665 // Define configurable, writable and non-enumerable props
666 // if they don't exist.
667 var defineProperty;
668 if (supportsDescriptors) {
669 defineProperty = function (object, name, method, forceAssign) {
670 if (!forceAssign && (name in object)) { return; }
671 Object.defineProperty(object, name, {
672 configurable: true,
673 enumerable: false,
674 writable: true,
675 value: method
676 });
677 };
678 } else {
679 defineProperty = function (object, name, method, forceAssign) {
680 if (!forceAssign && (name in object)) { return; }
681 object[name] = method;
682 };
683 }
684 return function defineProperties(object, map, forceAssign) {
685 for (var name in map) {
686 if (has.call(map, name)) {
687 defineProperty(object, name, map[name], forceAssign);
688 }
689 }
690 };
691 }(ObjectPrototype.hasOwnProperty));
692
693 //
694 // Util
695 // ======
696 //
697
698 /* replaceable with https://npmjs.com/package/es-abstract /helpers/isPrimitive */
699 var isPrimitive = function isPrimitive(input) {
700 var type = typeof input;
701 return input === null || (type !== 'object' && type !== 'function');
702 };
703
704 var ES = {
705 // ES5 9.4
706 // http://es5.github.com/#x9.4
707 // http://jsperf.com/to-integer
708 /* replaceable with https://npmjs.com/package/es-abstract ES5.ToInteger */
709 ToInteger: function ToInteger(num) {
710 var n = +num;
711 if (n !== n) { // isNaN
712 n = 0;
713 } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {
714 n = (n > 0 || -1) * Math.floor(Math.abs(n));
715 }
716 return n;
717 },
718
719 /* replaceable with https://npmjs.com/package/es-abstract ES5.ToPrimitive */
720 ToPrimitive: function ToPrimitive(input) {
721 var val, valueOf, toStr;
722 if (isPrimitive(input)) {
723 return input;
724 }
725 valueOf = input.valueOf;
726 if (isCallable(valueOf)) {
727 val = valueOf.call(input);
728 if (isPrimitive(val)) {
729 return val;
730 }
731 }
732 toStr = input.toString;
733 if (isCallable(toStr)) {
734 val = toStr.call(input);
735 if (isPrimitive(val)) {
736 return val;
737 }
738 }
739 throw new TypeError();
740 },
741
742 // ES5 9.9
743 // http://es5.github.com/#x9.9
744 /* replaceable with https://npmjs.com/package/es-abstract ES5.ToObject */
745 ToObject: function (o) {
746 /* jshint eqnull: true */
747 if (o == null) { // this matches both null and undefined
748 throw new TypeError("can't convert " + o + ' to object');
749 }
750 return Object(o);
751 },
752
753 /* replaceable with https://npmjs.com/package/es-abstract ES5.ToUint32 */
754 ToUint32: function ToUint32(x) {
755 return x >>> 0;
756 }
757 };
758
759 //
760 // Function
761 // ========
762 //
763
764 // ES-5 15.3.4.5
765 // http://es5.github.com/#x15.3.4.5
766
767 var Empty = function Empty() {};
768
769 defineProperties(FunctionPrototype, {
770 bind: function bind(that) { // .length is 1
771 // 1. Let Target be the this value.
772 var target = this;
773 // 2. If IsCallable(Target) is false, throw a TypeError exception.
774 if (!isCallable(target)) {
775 throw new TypeError('Function.prototype.bind called on incompatible ' + target);
776 }
777 // 3. Let A be a new (possibly empty) internal list of all of the
778 // argument values provided after thisArg (arg1, arg2 etc), in order.
779 // XXX slicedArgs will stand in for "A" if used
780 var args = array_slice.call(arguments, 1); // for normal call
781 // 4. Let F be a new native ECMAScript object.
782 // 11. Set the [[Prototype]] internal property of F to the standard
783 // built-in Function prototype object as specified in 15.3.3.1.
784 // 12. Set the [[Call]] internal property of F as described in
785 // 15.3.4.5.1.
786 // 13. Set the [[Construct]] internal property of F as described in
787 // 15.3.4.5.2.
788 // 14. Set the [[HasInstance]] internal property of F as described in
789 // 15.3.4.5.3.
790 var bound;
791 var binder = function () {
792
793 if (this instanceof bound) {
794 // 15.3.4.5.2 [[Construct]]
795 // When the [[Construct]] internal method of a function object,
796 // F that was created using the bind function is called with a
797 // list of arguments ExtraArgs, the following steps are taken:
798 // 1. Let target be the value of F's [[TargetFunction]]
799 // internal property.
800 // 2. If target has no [[Construct]] internal method, a
801 // TypeError exception is thrown.
802 // 3. Let boundArgs be the value of F's [[BoundArgs]] internal
803 // property.
804 // 4. Let args be a new list containing the same values as the
805 // list boundArgs in the same order followed by the same
806 // values as the list ExtraArgs in the same order.
807 // 5. Return the result of calling the [[Construct]] internal
808 // method of target providing args as the arguments.
809
810 var result = target.apply(
811 this,
812 array_concat.call(args, array_slice.call(arguments))
813 );
814 if (Object(result) === result) {
815 return result;
816 }
817 return this;
818
819 } else {
820 // 15.3.4.5.1 [[Call]]
821 // When the [[Call]] internal method of a function object, F,
822 // which was created using the bind function is called with a
823 // this value and a list of arguments ExtraArgs, the following
824 // steps are taken:
825 // 1. Let boundArgs be the value of F's [[BoundArgs]] internal
826 // property.
827 // 2. Let boundThis be the value of F's [[BoundThis]] internal
828 // property.
829 // 3. Let target be the value of F's [[TargetFunction]] internal
830 // property.
831 // 4. Let args be a new list containing the same values as the
832 // list boundArgs in the same order followed by the same
833 // values as the list ExtraArgs in the same order.
834 // 5. Return the result of calling the [[Call]] internal method
835 // of target providing boundThis as the this value and
836 // providing args as the arguments.
837
838 // equiv: target.call(this, ...boundArgs, ...args)
839 return target.apply(
840 that,
841 array_concat.call(args, array_slice.call(arguments))
842 );
843
844 }
845
846 };
847
848 // 15. If the [[Class]] internal property of Target is "Function", then
849 // a. Let L be the length property of Target minus the length of A.
850 // b. Set the length own property of F to either 0 or L, whichever is
851 // larger.
852 // 16. Else set the length own property of F to 0.
853
854 var boundLength = Math.max(0, target.length - args.length);
855
856 // 17. Set the attributes of the length own property of F to the values
857 // specified in 15.3.5.1.
858 var boundArgs = [];
859 for (var i = 0; i < boundLength; i++) {
860 boundArgs.push('$' + i);
861 }
862
863 // XXX Build a dynamic function with desired amount of arguments is the only
864 // way to set the length property of a function.
865 // In environments where Content Security Policies enabled (Chrome extensions,
866 // for ex.) all use of eval or Function costructor throws an exception.
867 // However in all of these environments Function.prototype.bind exists
868 // and so this code will never be executed.
869 bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder);
870
871 if (target.prototype) {
872 Empty.prototype = target.prototype;
873 bound.prototype = new Empty();
874 // Clean up dangling references.
875 Empty.prototype = null;
876 }
877
878 // TODO
879 // 18. Set the [[Extensible]] internal property of F to true.
880
881 // TODO
882 // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).
883 // 20. Call the [[DefineOwnProperty]] internal method of F with
884 // arguments "caller", PropertyDescriptor {[[Get]]: thrower, [[Set]]:
885 // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and
886 // false.
887 // 21. Call the [[DefineOwnProperty]] internal method of F with
888 // arguments "arguments", PropertyDescriptor {[[Get]]: thrower,
889 // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},
890 // and false.
891
892 // TODO
893 // NOTE Function objects created using Function.prototype.bind do not
894 // have a prototype property or the [[Code]], [[FormalParameters]], and
895 // [[Scope]] internal properties.
896 // XXX can't delete prototype in pure-js.
897
898 // 22. Return F.
899 return bound;
900 }
901 });
902
903 // _Please note: Shortcuts are defined after `Function.prototype.bind` as we
904 // us it in defining shortcuts.
905 var owns = call.bind(ObjectPrototype.hasOwnProperty);
906
907 //
908 // Array
909 // =====
910 //
911
912 // ES5 15.4.4.12
913 // http://es5.github.com/#x15.4.4.12
914 var spliceNoopReturnsEmptyArray = (function () {
915 var a = [1, 2];
916 var result = a.splice();
917 return a.length === 2 && isArray(result) && result.length === 0;
918 }());
919 defineProperties(ArrayPrototype, {
920 // Safari 5.0 bug where .splice() returns undefined
921 splice: function splice(start, deleteCount) {
922 if (arguments.length === 0) {
923 return [];
924 } else {
925 return array_splice.apply(this, arguments);
926 }
927 }
928 }, !spliceNoopReturnsEmptyArray);
929
930 var spliceWorksWithEmptyObject = (function () {
931 var obj = {};
932 ArrayPrototype.splice.call(obj, 0, 0, 1);
933 return obj.length === 1;
934 }());
935 defineProperties(ArrayPrototype, {
936 splice: function splice(start, deleteCount) {
937 if (arguments.length === 0) { return []; }
938 var args = arguments;
939 this.length = Math.max(ES.ToInteger(this.length), 0);
940 if (arguments.length > 0 && typeof deleteCount !== 'number') {
941 args = array_slice.call(arguments);
942 if (args.length < 2) {
943 args.push(this.length - start);
944 } else {
945 args[1] = ES.ToInteger(deleteCount);
946 }
947 }
948 return array_splice.apply(this, args);
949 }
950 }, !spliceWorksWithEmptyObject);
951
952 // ES5 15.4.4.12
953 // http://es5.github.com/#x15.4.4.13
954 // Return len+argCount.
955 // [bugfix, ielt8]
956 // IE < 8 bug: [].unshift(0) === undefined but should be "1"
957 var hasUnshiftReturnValueBug = [].unshift(0) !== 1;
958 defineProperties(ArrayPrototype, {
959 unshift: function () {
960 array_unshift.apply(this, arguments);
961 return this.length;
962 }
963 }, hasUnshiftReturnValueBug);
964
965 // ES5 15.4.3.2
966 // http://es5.github.com/#x15.4.3.2
967 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray
968 defineProperties(Array, { isArray: isArray });
969
970 // The IsCallable() check in the Array functions
971 // has been replaced with a strict check on the
972 // internal class of the object to trap cases where
973 // the provided function was actually a regular
974 // expression literal, which in V8 and
975 // JavaScriptCore is a typeof "function". Only in
976 // V8 are regular expression literals permitted as
977 // reduce parameters, so it is desirable in the
978 // general case for the shim to match the more
979 // strict and common behavior of rejecting regular
980 // expressions.
981
982 // ES5 15.4.4.18
983 // http://es5.github.com/#x15.4.4.18
984 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/forEach
985
986 // Check failure of by-index access of string characters (IE < 9)
987 // and failure of `0 in boxedString` (Rhino)
988 var boxedString = Object('a');
989 var splitString = boxedString[0] !== 'a' || !(0 in boxedString);
990
991 var properlyBoxesContext = function properlyBoxed(method) {
992 // Check node 0.6.21 bug where third parameter is not boxed
993 var properlyBoxesNonStrict = true;
994 var properlyBoxesStrict = true;
995 if (method) {
996 method.call('foo', function (_, __, context) {
997 if (typeof context !== 'object') { properlyBoxesNonStrict = false; }
998 });
999
1000 method.call([1], function () {
1001 'use strict';
1002
1003 properlyBoxesStrict = typeof this === 'string';
1004 }, 'x');
1005 }
1006 return !!method && properlyBoxesNonStrict && properlyBoxesStrict;
1007 };
1008
1009 defineProperties(ArrayPrototype, {
1010 forEach: function forEach(callbackfn /*, thisArg*/) {
1011 var object = ES.ToObject(this);
1012 var self = splitString && isString(this) ? this.split('') : object;
1013 var i = -1;
1014 var length = self.length >>> 0;
1015 var T;
1016 if (arguments.length > 1) {
1017 T = arguments[1];
1018 }
1019
1020 // If no callback function or if callback is not a callable function
1021 if (!isCallable(callbackfn)) {
1022 throw new TypeError('Array.prototype.forEach callback must be a function');
1023 }
1024
1025 while (++i < length) {
1026 if (i in self) {
1027 // Invoke the callback function with call, passing arguments:
1028 // context, property value, property key, thisArg object
1029 if (typeof T !== 'undefined') {
1030 callbackfn.call(T, self[i], i, object);
1031 } else {
1032 callbackfn(self[i], i, object);
1033 }
1034 }
1035 }
1036 }
1037 }, !properlyBoxesContext(ArrayPrototype.forEach));
1038
1039 // ES5 15.4.4.19
1040 // http://es5.github.com/#x15.4.4.19
1041 // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/map
1042 defineProperties(ArrayPrototype, {
1043 map: function map(callbackfn/*, thisArg*/) {
1044 var object = ES.ToObject(this);
1045 var self = splitString && isString(this) ? this.split('') : object;
1046 var length = self.length >>> 0;
1047 var result = Array(length);
1048 var T;
1049 if (arguments.length > 1) {
1050 T = arguments[1];
1051 }
1052
1053 // If no callback function or if callback is not a callable function
1054 if (!isCallable(callbackfn)) {
1055 throw new TypeError('Array.prototype.map callback must be a function');
1056 }
1057
1058 for (var i = 0; i < length; i++) {
1059 if (i in self) {
1060 if (typeof T !== 'undefined') {
1061 result[i] = callbackfn.call(T, self[i], i, object);
1062 } else {
1063 result[i] = callbackfn(self[i], i, object);
1064 }
1065 }
1066 }
1067 return result;
1068 }
1069 }, !properlyBoxesContext(ArrayPrototype.map));
1070
1071 // ES5 15.4.4.20
1072 // http://es5.github.com/#x15.4.4.20
1073 // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/filter
1074 defineProperties(ArrayPrototype, {
1075 filter: function filter(callbackfn /*, thisArg*/) {
1076 var object = ES.ToObject(this);
1077 var self = splitString && isString(this) ? this.split('') : object;
1078 var length = self.length >>> 0;
1079 var result = [];
1080 var value;
1081 var T;
1082 if (arguments.length > 1) {
1083 T = arguments[1];
1084 }
1085
1086 // If no callback function or if callback is not a callable function
1087 if (!isCallable(callbackfn)) {
1088 throw new TypeError('Array.prototype.filter callback must be a function');
1089 }
1090
1091 for (var i = 0; i < length; i++) {
1092 if (i in self) {
1093 value = self[i];
1094 if (typeof T === 'undefined' ? callbackfn(value, i, object) : callbackfn.call(T, value, i, object)) {
1095 result.push(value);
1096 }
1097 }
1098 }
1099 return result;
1100 }
1101 }, !properlyBoxesContext(ArrayPrototype.filter));
1102
1103 // ES5 15.4.4.16
1104 // http://es5.github.com/#x15.4.4.16
1105 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/every
1106 defineProperties(ArrayPrototype, {
1107 every: function every(callbackfn /*, thisArg*/) {
1108 var object = ES.ToObject(this);
1109 var self = splitString && isString(this) ? this.split('') : object;
1110 var length = self.length >>> 0;
1111 var T;
1112 if (arguments.length > 1) {
1113 T = arguments[1];
1114 }
1115
1116 // If no callback function or if callback is not a callable function
1117 if (!isCallable(callbackfn)) {
1118 throw new TypeError('Array.prototype.every callback must be a function');
1119 }
1120
1121 for (var i = 0; i < length; i++) {
1122 if (i in self && !(typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {
1123 return false;
1124 }
1125 }
1126 return true;
1127 }
1128 }, !properlyBoxesContext(ArrayPrototype.every));
1129
1130 // ES5 15.4.4.17
1131 // http://es5.github.com/#x15.4.4.17
1132 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/some
1133 defineProperties(ArrayPrototype, {
1134 some: function some(callbackfn/*, thisArg */) {
1135 var object = ES.ToObject(this);
1136 var self = splitString && isString(this) ? this.split('') : object;
1137 var length = self.length >>> 0;
1138 var T;
1139 if (arguments.length > 1) {
1140 T = arguments[1];
1141 }
1142
1143 // If no callback function or if callback is not a callable function
1144 if (!isCallable(callbackfn)) {
1145 throw new TypeError('Array.prototype.some callback must be a function');
1146 }
1147
1148 for (var i = 0; i < length; i++) {
1149 if (i in self && (typeof T === 'undefined' ? callbackfn(self[i], i, object) : callbackfn.call(T, self[i], i, object))) {
1150 return true;
1151 }
1152 }
1153 return false;
1154 }
1155 }, !properlyBoxesContext(ArrayPrototype.some));
1156
1157 // ES5 15.4.4.21
1158 // http://es5.github.com/#x15.4.4.21
1159 // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduce
1160 var reduceCoercesToObject = false;
1161 if (ArrayPrototype.reduce) {
1162 reduceCoercesToObject = typeof ArrayPrototype.reduce.call('es5', function (_, __, ___, list) { return list; }) === 'object';
1163 }
1164 defineProperties(ArrayPrototype, {
1165 reduce: function reduce(callbackfn /*, initialValue*/) {
1166 var object = ES.ToObject(this);
1167 var self = splitString && isString(this) ? this.split('') : object;
1168 var length = self.length >>> 0;
1169
1170 // If no callback function or if callback is not a callable function
1171 if (!isCallable(callbackfn)) {
1172 throw new TypeError('Array.prototype.reduce callback must be a function');
1173 }
1174
1175 // no value to return if no initial value and an empty array
1176 if (length === 0 && arguments.length === 1) {
1177 throw new TypeError('reduce of empty array with no initial value');
1178 }
1179
1180 var i = 0;
1181 var result;
1182 if (arguments.length >= 2) {
1183 result = arguments[1];
1184 } else {
1185 do {
1186 if (i in self) {
1187 result = self[i++];
1188 break;
1189 }
1190
1191 // if array contains no values, no initial value to return
1192 if (++i >= length) {
1193 throw new TypeError('reduce of empty array with no initial value');
1194 }
1195 } while (true);
1196 }
1197
1198 for (; i < length; i++) {
1199 if (i in self) {
1200 result = callbackfn(result, self[i], i, object);
1201 }
1202 }
1203
1204 return result;
1205 }
1206 }, !reduceCoercesToObject);
1207
1208 // ES5 15.4.4.22
1209 // http://es5.github.com/#x15.4.4.22
1210 // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight
1211 var reduceRightCoercesToObject = false;
1212 if (ArrayPrototype.reduceRight) {
1213 reduceRightCoercesToObject = typeof ArrayPrototype.reduceRight.call('es5', function (_, __, ___, list) { return list; }) === 'object';
1214 }
1215 defineProperties(ArrayPrototype, {
1216 reduceRight: function reduceRight(callbackfn/*, initial*/) {
1217 var object = ES.ToObject(this);
1218 var self = splitString && isString(this) ? this.split('') : object;
1219 var length = self.length >>> 0;
1220
1221 // If no callback function or if callback is not a callable function
1222 if (!isCallable(callbackfn)) {
1223 throw new TypeError('Array.prototype.reduceRight callback must be a function');
1224 }
1225
1226 // no value to return if no initial value, empty array
1227 if (length === 0 && arguments.length === 1) {
1228 throw new TypeError('reduceRight of empty array with no initial value');
1229 }
1230
1231 var result;
1232 var i = length - 1;
1233 if (arguments.length >= 2) {
1234 result = arguments[1];
1235 } else {
1236 do {
1237 if (i in self) {
1238 result = self[i--];
1239 break;
1240 }
1241
1242 // if array contains no values, no initial value to return
1243 if (--i < 0) {
1244 throw new TypeError('reduceRight of empty array with no initial value');
1245 }
1246 } while (true);
1247 }
1248
1249 if (i < 0) {
1250 return result;
1251 }
1252
1253 do {
1254 if (i in self) {
1255 result = callbackfn(result, self[i], i, object);
1256 }
1257 } while (i--);
1258
1259 return result;
1260 }
1261 }, !reduceRightCoercesToObject);
1262
1263 // ES5 15.4.4.14
1264 // http://es5.github.com/#x15.4.4.14
1265 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf
1266 var hasFirefox2IndexOfBug = Array.prototype.indexOf && [0, 1].indexOf(1, 2) !== -1;
1267 defineProperties(ArrayPrototype, {
1268 indexOf: function indexOf(searchElement /*, fromIndex */) {
1269 var self = splitString && isString(this) ? this.split('') : ES.ToObject(this);
1270 var length = self.length >>> 0;
1271
1272 if (length === 0) {
1273 return -1;
1274 }
1275
1276 var i = 0;
1277 if (arguments.length > 1) {
1278 i = ES.ToInteger(arguments[1]);
1279 }
1280
1281 // handle negative indices
1282 i = i >= 0 ? i : Math.max(0, length + i);
1283 for (; i < length; i++) {
1284 if (i in self && self[i] === searchElement) {
1285 return i;
1286 }
1287 }
1288 return -1;
1289 }
1290 }, hasFirefox2IndexOfBug);
1291
1292 // ES5 15.4.4.15
1293 // http://es5.github.com/#x15.4.4.15
1294 // https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/lastIndexOf
1295 var hasFirefox2LastIndexOfBug = Array.prototype.lastIndexOf && [0, 1].lastIndexOf(0, -3) !== -1;
1296 defineProperties(ArrayPrototype, {
1297 lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */) {
1298 var self = splitString && isString(this) ? this.split('') : ES.ToObject(this);
1299 var length = self.length >>> 0;
1300
1301 if (length === 0) {
1302 return -1;
1303 }
1304 var i = length - 1;
1305 if (arguments.length > 1) {
1306 i = Math.min(i, ES.ToInteger(arguments[1]));
1307 }
1308 // handle negative indices
1309 i = i >= 0 ? i : length - Math.abs(i);
1310 for (; i >= 0; i--) {
1311 if (i in self && searchElement === self[i]) {
1312 return i;
1313 }
1314 }
1315 return -1;
1316 }
1317 }, hasFirefox2LastIndexOfBug);
1318
1319 //
1320 // Object
1321 // ======
1322 //
1323
1324 // ES5 15.2.3.14
1325 // http://es5.github.com/#x15.2.3.14
1326
1327 // http://whattheheadsaid.com/2010/10/a-safer-object-keys-compatibility-implementation
1328 var hasDontEnumBug = !({ 'toString': null }).propertyIsEnumerable('toString'),
1329 hasProtoEnumBug = function () {}.propertyIsEnumerable('prototype'),
1330 hasStringEnumBug = !owns('x', '0'),
1331 dontEnums = [
1332 'toString',
1333 'toLocaleString',
1334 'valueOf',
1335 'hasOwnProperty',
1336 'isPrototypeOf',
1337 'propertyIsEnumerable',
1338 'constructor'
1339 ],
1340 dontEnumsLength = dontEnums.length;
1341
1342 defineProperties(Object, {
1343 keys: function keys(object) {
1344 var isFn = isCallable(object),
1345 isArgs = isArguments(object),
1346 isObject = object !== null && typeof object === 'object',
1347 isStr = isObject && isString(object);
1348
1349 if (!isObject && !isFn && !isArgs) {
1350 throw new TypeError('Object.keys called on a non-object');
1351 }
1352
1353 var theKeys = [];
1354 var skipProto = hasProtoEnumBug && isFn;
1355 if ((isStr && hasStringEnumBug) || isArgs) {
1356 for (var i = 0; i < object.length; ++i) {
1357 theKeys.push(String(i));
1358 }
1359 }
1360
1361 if (!isArgs) {
1362 for (var name in object) {
1363 if (!(skipProto && name === 'prototype') && owns(object, name)) {
1364 theKeys.push(String(name));
1365 }
1366 }
1367 }
1368
1369 if (hasDontEnumBug) {
1370 var ctor = object.constructor,
1371 skipConstructor = ctor && ctor.prototype === object;
1372 for (var j = 0; j < dontEnumsLength; j++) {
1373 var dontEnum = dontEnums[j];
1374 if (!(skipConstructor && dontEnum === 'constructor') && owns(object, dontEnum)) {
1375 theKeys.push(dontEnum);
1376 }
1377 }
1378 }
1379 return theKeys;
1380 }
1381 });
1382
1383 var keysWorksWithArguments = Object.keys && (function () {
1384 // Safari 5.0 bug
1385 return Object.keys(arguments).length === 2;
1386 }(1, 2));
1387 var originalKeys = Object.keys;
1388 defineProperties(Object, {
1389 keys: function keys(object) {
1390 if (isArguments(object)) {
1391 return originalKeys(ArrayPrototype.slice.call(object));
1392 } else {
1393 return originalKeys(object);
1394 }
1395 }
1396 }, !keysWorksWithArguments);
1397
1398 //
1399 // Date
1400 // ====
1401 //
1402
1403 // ES5 15.9.5.43
1404 // http://es5.github.com/#x15.9.5.43
1405 // This function returns a String value represent the instance in time
1406 // represented by this Date object. The format of the String is the Date Time
1407 // string format defined in 15.9.1.15. All fields are present in the String.
1408 // The time zone is always UTC, denoted by the suffix Z. If the time value of
1409 // this object is not a finite Number a RangeError exception is thrown.
1410 var negativeDate = -62198755200000;
1411 var negativeYearString = '-000001';
1412 var hasNegativeDateBug = Date.prototype.toISOString && new Date(negativeDate).toISOString().indexOf(negativeYearString) === -1;
1413
1414 defineProperties(Date.prototype, {
1415 toISOString: function toISOString() {
1416 var result, length, value, year, month;
1417 if (!isFinite(this)) {
1418 throw new RangeError('Date.prototype.toISOString called on non-finite value.');
1419 }
1420
1421 year = this.getUTCFullYear();
1422
1423 month = this.getUTCMonth();
1424 // see https://github.com/es-shims/es5-shim/issues/111
1425 year += Math.floor(month / 12);
1426 month = (month % 12 + 12) % 12;
1427
1428 // the date time string format is specified in 15.9.1.15.
1429 result = [month + 1, this.getUTCDate(), this.getUTCHours(), this.getUTCMinutes(), this.getUTCSeconds()];
1430 year = (
1431 (year < 0 ? '-' : (year > 9999 ? '+' : '')) +
1432 ('00000' + Math.abs(year)).slice((0 <= year && year <= 9999) ? -4 : -6)
1433 );
1434
1435 length = result.length;
1436 while (length--) {
1437 value = result[length];
1438 // pad months, days, hours, minutes, and seconds to have two
1439 // digits.
1440 if (value < 10) {
1441 result[length] = '0' + value;
1442 }
1443 }
1444 // pad milliseconds to have three digits.
1445 return (
1446 year + '-' + result.slice(0, 2).join('-') +
1447 'T' + result.slice(2).join(':') + '.' +
1448 ('000' + this.getUTCMilliseconds()).slice(-3) + 'Z'
1449 );
1450 }
1451 }, hasNegativeDateBug);
1452
1453 // ES5 15.9.5.44
1454 // http://es5.github.com/#x15.9.5.44
1455 // This function provides a String representation of a Date object for use by
1456 // JSON.stringify (15.12.3).
1457 var dateToJSONIsSupported = (function () {
1458 try {
1459 return Date.prototype.toJSON &&
1460 new Date(NaN).toJSON() === null &&
1461 new Date(negativeDate).toJSON().indexOf(negativeYearString) !== -1 &&
1462 Date.prototype.toJSON.call({ // generic
1463 toISOString: function () { return true; }
1464 });
1465 } catch (e) {
1466 return false;
1467 }
1468 }());
1469 if (!dateToJSONIsSupported) {
1470 Date.prototype.toJSON = function toJSON(key) {
1471 // When the toJSON method is called with argument key, the following
1472 // steps are taken:
1473
1474 // 1. Let O be the result of calling ToObject, giving it the this
1475 // value as its argument.
1476 // 2. Let tv be ES.ToPrimitive(O, hint Number).
1477 var O = Object(this);
1478 var tv = ES.ToPrimitive(O);
1479 // 3. If tv is a Number and is not finite, return null.
1480 if (typeof tv === 'number' && !isFinite(tv)) {
1481 return null;
1482 }
1483 // 4. Let toISO be the result of calling the [[Get]] internal method of
1484 // O with argument "toISOString".
1485 var toISO = O.toISOString;
1486 // 5. If IsCallable(toISO) is false, throw a TypeError exception.
1487 if (!isCallable(toISO)) {
1488 throw new TypeError('toISOString property is not callable');
1489 }
1490 // 6. Return the result of calling the [[Call]] internal method of
1491 // toISO with O as the this value and an empty argument list.
1492 return toISO.call(O);
1493
1494 // NOTE 1 The argument is ignored.
1495
1496 // NOTE 2 The toJSON function is intentionally generic; it does not
1497 // require that its this value be a Date object. Therefore, it can be
1498 // transferred to other kinds of objects for use as a method. However,
1499 // it does require that any such object have a toISOString method. An
1500 // object is free to use the argument key to filter its
1501 // stringification.
1502 };
1503 }
1504
1505 // ES5 15.9.4.2
1506 // http://es5.github.com/#x15.9.4.2
1507 // based on work shared by Daniel Friesen (dantman)
1508 // http://gist.github.com/303249
1509 var supportsExtendedYears = Date.parse('+033658-09-27T01:46:40.000Z') === 1e15;
1510 var acceptsInvalidDates = !isNaN(Date.parse('2012-04-04T24:00:00.500Z')) || !isNaN(Date.parse('2012-11-31T23:59:59.000Z')) || !isNaN(Date.parse('2012-12-31T23:59:60.000Z'));
1511 var doesNotParseY2KNewYear = isNaN(Date.parse('2000-01-01T00:00:00.000Z'));
1512 if (!Date.parse || doesNotParseY2KNewYear || acceptsInvalidDates || !supportsExtendedYears) {
1513 // XXX global assignment won't work in embeddings that use
1514 // an alternate object for the context.
1515 /* global Date: true */
1516 /* eslint-disable no-undef */
1517 Date = (function (NativeDate) {
1518 /* eslint-enable no-undef */
1519 // Date.length === 7
1520 var DateShim = function Date(Y, M, D, h, m, s, ms) {
1521 var length = arguments.length;
1522 var date;
1523 if (this instanceof NativeDate) {
1524 date = length === 1 && String(Y) === Y ? // isString(Y)
1525 // We explicitly pass it through parse:
1526 new NativeDate(DateShim.parse(Y)) :
1527 // We have to manually make calls depending on argument
1528 // length here
1529 length >= 7 ? new NativeDate(Y, M, D, h, m, s, ms) :
1530 length >= 6 ? new NativeDate(Y, M, D, h, m, s) :
1531 length >= 5 ? new NativeDate(Y, M, D, h, m) :
1532 length >= 4 ? new NativeDate(Y, M, D, h) :
1533 length >= 3 ? new NativeDate(Y, M, D) :
1534 length >= 2 ? new NativeDate(Y, M) :
1535 length >= 1 ? new NativeDate(Y) :
1536 new NativeDate();
1537 } else {
1538 date = NativeDate.apply(this, arguments);
1539 }
1540 // Prevent mixups with unfixed Date object
1541 defineProperties(date, { constructor: DateShim }, true);
1542 return date;
1543 };
1544
1545 // 15.9.1.15 Date Time String Format.
1546 var isoDateExpression = new RegExp('^' +
1547 '(\\d{4}|[+-]\\d{6})' + // four-digit year capture or sign +
1548 // 6-digit extended year
1549 '(?:-(\\d{2})' + // optional month capture
1550 '(?:-(\\d{2})' + // optional day capture
1551 '(?:' + // capture hours:minutes:seconds.milliseconds
1552 'T(\\d{2})' + // hours capture
1553 ':(\\d{2})' + // minutes capture
1554 '(?:' + // optional :seconds.milliseconds
1555 ':(\\d{2})' + // seconds capture
1556 '(?:(\\.\\d{1,}))?' + // milliseconds capture
1557 ')?' +
1558 '(' + // capture UTC offset component
1559 'Z|' + // UTC capture
1560 '(?:' + // offset specifier +/-hours:minutes
1561 '([-+])' + // sign capture
1562 '(\\d{2})' + // hours offset capture
1563 ':(\\d{2})' + // minutes offset capture
1564 ')' +
1565 ')?)?)?)?' +
1566 '$');
1567
1568 var months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365];
1569
1570 var dayFromMonth = function dayFromMonth(year, month) {
1571 var t = month > 1 ? 1 : 0;
1572 return (
1573 months[month] +
1574 Math.floor((year - 1969 + t) / 4) -
1575 Math.floor((year - 1901 + t) / 100) +
1576 Math.floor((year - 1601 + t) / 400) +
1577 365 * (year - 1970)
1578 );
1579 };
1580
1581 var toUTC = function toUTC(t) {
1582 return Number(new NativeDate(1970, 0, 1, 0, 0, 0, t));
1583 };
1584
1585 // Copy any custom methods a 3rd party library may have added
1586 for (var key in NativeDate) {
1587 if (owns(NativeDate, key)) {
1588 DateShim[key] = NativeDate[key];
1589 }
1590 }
1591
1592 // Copy "native" methods explicitly; they may be non-enumerable
1593 defineProperties(DateShim, {
1594 now: NativeDate.now,
1595 UTC: NativeDate.UTC
1596 }, true);
1597 DateShim.prototype = NativeDate.prototype;
1598 defineProperties(DateShim.prototype, {
1599 constructor: DateShim
1600 }, true);
1601
1602 // Upgrade Date.parse to handle simplified ISO 8601 strings
1603 var parseShim = function parse(string) {
1604 var match = isoDateExpression.exec(string);
1605 if (match) {
1606 // parse months, days, hours, minutes, seconds, and milliseconds
1607 // provide default values if necessary
1608 // parse the UTC offset component
1609 var year = Number(match[1]),
1610 month = Number(match[2] || 1) - 1,
1611 day = Number(match[3] || 1) - 1,
1612 hour = Number(match[4] || 0),
1613 minute = Number(match[5] || 0),
1614 second = Number(match[6] || 0),
1615 millisecond = Math.floor(Number(match[7] || 0) * 1000),
1616 // When time zone is missed, local offset should be used
1617 // (ES 5.1 bug)
1618 // see https://bugs.ecmascript.org/show_bug.cgi?id=112
1619 isLocalTime = Boolean(match[4] && !match[8]),
1620 signOffset = match[9] === '-' ? 1 : -1,
1621 hourOffset = Number(match[10] || 0),
1622 minuteOffset = Number(match[11] || 0),
1623 result;
1624 if (
1625 hour < (
1626 minute > 0 || second > 0 || millisecond > 0 ?
1627 24 : 25
1628 ) &&
1629 minute < 60 && second < 60 && millisecond < 1000 &&
1630 month > -1 && month < 12 && hourOffset < 24 &&
1631 minuteOffset < 60 && // detect invalid offsets
1632 day > -1 &&
1633 day < (
1634 dayFromMonth(year, month + 1) -
1635 dayFromMonth(year, month)
1636 )
1637 ) {
1638 result = (
1639 (dayFromMonth(year, month) + day) * 24 +
1640 hour +
1641 hourOffset * signOffset
1642 ) * 60;
1643 result = (
1644 (result + minute + minuteOffset * signOffset) * 60 +
1645 second
1646 ) * 1000 + millisecond;
1647 if (isLocalTime) {
1648 result = toUTC(result);
1649 }
1650 if (-8.64e15 <= result && result <= 8.64e15) {
1651 return result;
1652 }
1653 }
1654 return NaN;
1655 }
1656 return NativeDate.parse.apply(this, arguments);
1657 };
1658 defineProperties(DateShim, { parse: parseShim });
1659
1660 return DateShim;
1661 }(Date));
1662 /* global Date: false */
1663 }
1664
1665 // ES5 15.9.4.4
1666 // http://es5.github.com/#x15.9.4.4
1667 if (!Date.now) {
1668 Date.now = function now() {
1669 return new Date().getTime();
1670 };
1671 }
1672
1673 //
1674 // Number
1675 // ======
1676 //
1677
1678 // ES5.1 15.7.4.5
1679 // http://es5.github.com/#x15.7.4.5
1680 var hasToFixedBugs = NumberPrototype.toFixed && (
1681 (0.00008).toFixed(3) !== '0.000' ||
1682 (0.9).toFixed(0) !== '1' ||
1683 (1.255).toFixed(2) !== '1.25' ||
1684 (1000000000000000128).toFixed(0) !== '1000000000000000128'
1685 );
1686
1687 var toFixedHelpers = {
1688 base: 1e7,
1689 size: 6,
1690 data: [0, 0, 0, 0, 0, 0],
1691 multiply: function multiply(n, c) {
1692 var i = -1;
1693 var c2 = c;
1694 while (++i < toFixedHelpers.size) {
1695 c2 += n * toFixedHelpers.data[i];
1696 toFixedHelpers.data[i] = c2 % toFixedHelpers.base;
1697 c2 = Math.floor(c2 / toFixedHelpers.base);
1698 }
1699 },
1700 divide: function divide(n) {
1701 var i = toFixedHelpers.size, c = 0;
1702 while (--i >= 0) {
1703 c += toFixedHelpers.data[i];
1704 toFixedHelpers.data[i] = Math.floor(c / n);
1705 c = (c % n) * toFixedHelpers.base;
1706 }
1707 },
1708 numToString: function numToString() {
1709 var i = toFixedHelpers.size;
1710 var s = '';
1711 while (--i >= 0) {
1712 if (s !== '' || i === 0 || toFixedHelpers.data[i] !== 0) {
1713 var t = String(toFixedHelpers.data[i]);
1714 if (s === '') {
1715 s = t;
1716 } else {
1717 s += '0000000'.slice(0, 7 - t.length) + t;
1718 }
1719 }
1720 }
1721 return s;
1722 },
1723 pow: function pow(x, n, acc) {
1724 return (n === 0 ? acc : (n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc)));
1725 },
1726 log: function log(x) {
1727 var n = 0;
1728 var x2 = x;
1729 while (x2 >= 4096) {
1730 n += 12;
1731 x2 /= 4096;
1732 }
1733 while (x2 >= 2) {
1734 n += 1;
1735 x2 /= 2;
1736 }
1737 return n;
1738 }
1739 };
1740
1741 defineProperties(NumberPrototype, {
1742 toFixed: function toFixed(fractionDigits) {
1743 var f, x, s, m, e, z, j, k;
1744
1745 // Test for NaN and round fractionDigits down
1746 f = Number(fractionDigits);
1747 f = f !== f ? 0 : Math.floor(f);
1748
1749 if (f < 0 || f > 20) {
1750 throw new RangeError('Number.toFixed called with invalid number of decimals');
1751 }
1752
1753 x = Number(this);
1754
1755 // Test for NaN
1756 if (x !== x) {
1757 return 'NaN';
1758 }
1759
1760 // If it is too big or small, return the string value of the number
1761 if (x <= -1e21 || x >= 1e21) {
1762 return String(x);
1763 }
1764
1765 s = '';
1766
1767 if (x < 0) {
1768 s = '-';
1769 x = -x;
1770 }
1771
1772 m = '0';
1773
1774 if (x > 1e-21) {
1775 // 1e-21 < x < 1e21
1776 // -70 < log2(x) < 70
1777 e = toFixedHelpers.log(x * toFixedHelpers.pow(2, 69, 1)) - 69;
1778 z = (e < 0 ? x * toFixedHelpers.pow(2, -e, 1) : x / toFixedHelpers.pow(2, e, 1));
1779 z *= 0x10000000000000; // Math.pow(2, 52);
1780 e = 52 - e;
1781
1782 // -18 < e < 122
1783 // x = z / 2 ^ e
1784 if (e > 0) {
1785 toFixedHelpers.multiply(0, z);
1786 j = f;
1787
1788 while (j >= 7) {
1789 toFixedHelpers.multiply(1e7, 0);
1790 j -= 7;
1791 }
1792
1793 toFixedHelpers.multiply(toFixedHelpers.pow(10, j, 1), 0);
1794 j = e - 1;
1795
1796 while (j >= 23) {
1797 toFixedHelpers.divide(1 << 23);
1798 j -= 23;
1799 }
1800
1801 toFixedHelpers.divide(1 << j);
1802 toFixedHelpers.multiply(1, 1);
1803 toFixedHelpers.divide(2);
1804 m = toFixedHelpers.numToString();
1805 } else {
1806 toFixedHelpers.multiply(0, z);
1807 toFixedHelpers.multiply(1 << (-e), 0);
1808 m = toFixedHelpers.numToString() + '0.00000000000000000000'.slice(2, 2 + f);
1809 }
1810 }
1811
1812 if (f > 0) {
1813 k = m.length;
1814
1815 if (k <= f) {
1816 m = s + '0.0000000000000000000'.slice(0, f - k + 2) + m;
1817 } else {
1818 m = s + m.slice(0, k - f) + '.' + m.slice(k - f);
1819 }
1820 } else {
1821 m = s + m;
1822 }
1823
1824 return m;
1825 }
1826 }, hasToFixedBugs);
1827
1828 //
1829 // String
1830 // ======
1831 //
1832
1833 // ES5 15.5.4.14
1834 // http://es5.github.com/#x15.5.4.14
1835
1836 // [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers]
1837 // Many browsers do not split properly with regular expressions or they
1838 // do not perform the split correctly under obscure conditions.
1839 // See http://blog.stevenlevithan.com/archives/cross-browser-split
1840 // I've tested in many browsers and this seems to cover the deviant ones:
1841 // 'ab'.split(/(?:ab)*/) should be ["", ""], not [""]
1842 // '.'.split(/(.?)(.?)/) should be ["", ".", "", ""], not ["", ""]
1843 // 'tesst'.split(/(s)*/) should be ["t", undefined, "e", "s", "t"], not
1844 // [undefined, "t", undefined, "e", ...]
1845 // ''.split(/.?/) should be [], not [""]
1846 // '.'.split(/()()/) should be ["."], not ["", "", "."]
1847
1848 var string_split = StringPrototype.split;
1849 if (
1850 'ab'.split(/(?:ab)*/).length !== 2 ||
1851 '.'.split(/(.?)(.?)/).length !== 4 ||
1852 'tesst'.split(/(s)*/)[1] === 't' ||
1853 'test'.split(/(?:)/, -1).length !== 4 ||
1854 ''.split(/.?/).length ||
1855 '.'.split(/()()/).length > 1
1856 ) {
1857 (function () {
1858 var compliantExecNpcg = typeof (/()??/).exec('')[1] === 'undefined'; // NPCG: nonparticipating capturing group
1859
1860 StringPrototype.split = function (separator, limit) {
1861 var string = this;
1862 if (typeof separator === 'undefined' && limit === 0) {
1863 return [];
1864 }
1865
1866 // If `separator` is not a regex, use native split
1867 if (!isRegex(separator)) {
1868 return string_split.call(this, separator, limit);
1869 }
1870
1871 var output = [];
1872 var flags = (separator.ignoreCase ? 'i' : '') +
1873 (separator.multiline ? 'm' : '') +
1874 (separator.extended ? 'x' : '') + // Proposed for ES6
1875 (separator.sticky ? 'y' : ''), // Firefox 3+
1876 lastLastIndex = 0,
1877 // Make `global` and avoid `lastIndex` issues by working with a copy
1878 separator2, match, lastIndex, lastLength;
1879 var separatorCopy = new RegExp(separator.source, flags + 'g');
1880 string += ''; // Type-convert
1881 if (!compliantExecNpcg) {
1882 // Doesn't need flags gy, but they don't hurt
1883 separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\s)', flags);
1884 }
1885 /* Values for `limit`, per the spec:
1886 * If undefined: 4294967295 // Math.pow(2, 32) - 1
1887 * If 0, Infinity, or NaN: 0
1888 * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;
1889 * If negative number: 4294967296 - Math.floor(Math.abs(limit))
1890 * If other: Type-convert, then use the above rules
1891 */
1892 var splitLimit = typeof limit === 'undefined' ?
1893 -1 >>> 0 : // Math.pow(2, 32) - 1
1894 ES.ToUint32(limit);
1895 match = separatorCopy.exec(string);
1896 while (match) {
1897 // `separatorCopy.lastIndex` is not reliable cross-browser
1898 lastIndex = match.index + match[0].length;
1899 if (lastIndex > lastLastIndex) {
1900 output.push(string.slice(lastLastIndex, match.index));
1901 // Fix browsers whose `exec` methods don't consistently return `undefined` for
1902 // nonparticipating capturing groups
1903 if (!compliantExecNpcg && match.length > 1) {
1904 /* eslint-disable no-loop-func */
1905 match[0].replace(separator2, function () {
1906 for (var i = 1; i < arguments.length - 2; i++) {
1907 if (typeof arguments[i] === 'undefined') {
1908 match[i] = void 0;
1909 }
1910 }
1911 });
1912 /* eslint-enable no-loop-func */
1913 }
1914 if (match.length > 1 && match.index < string.length) {
1915 array_push.apply(output, match.slice(1));
1916 }
1917 lastLength = match[0].length;
1918 lastLastIndex = lastIndex;
1919 if (output.length >= splitLimit) {
1920 break;
1921 }
1922 }
1923 if (separatorCopy.lastIndex === match.index) {
1924 separatorCopy.lastIndex++; // Avoid an infinite loop
1925 }
1926 match = separatorCopy.exec(string);
1927 }
1928 if (lastLastIndex === string.length) {
1929 if (lastLength || !separatorCopy.test('')) {
1930 output.push('');
1931 }
1932 } else {
1933 output.push(string.slice(lastLastIndex));
1934 }
1935 return output.length > splitLimit ? output.slice(0, splitLimit) : output;
1936 };
1937 }());
1938
1939 // [bugfix, chrome]
1940 // If separator is undefined, then the result array contains just one String,
1941 // which is the this value (converted to a String). If limit is not undefined,
1942 // then the output array is truncated so that it contains no more than limit
1943 // elements.
1944 // "0".split(undefined, 0) -> []
1945 } else if ('0'.split(void 0, 0).length) {
1946 StringPrototype.split = function split(separator, limit) {
1947 if (typeof separator === 'undefined' && limit === 0) { return []; }
1948 return string_split.call(this, separator, limit);
1949 };
1950 }
1951
1952 var str_replace = StringPrototype.replace;
1953 var replaceReportsGroupsCorrectly = (function () {
1954 var groups = [];
1955 'x'.replace(/x(.)?/g, function (match, group) {
1956 groups.push(group);
1957 });
1958 return groups.length === 1 && typeof groups[0] === 'undefined';
1959 }());
1960
1961 if (!replaceReportsGroupsCorrectly) {
1962 StringPrototype.replace = function replace(searchValue, replaceValue) {
1963 var isFn = isCallable(replaceValue);
1964 var hasCapturingGroups = isRegex(searchValue) && (/\)[*?]/).test(searchValue.source);
1965 if (!isFn || !hasCapturingGroups) {
1966 return str_replace.call(this, searchValue, replaceValue);
1967 } else {
1968 var wrappedReplaceValue = function (match) {
1969 var length = arguments.length;
1970 var originalLastIndex = searchValue.lastIndex;
1971 searchValue.lastIndex = 0;
1972 var args = searchValue.exec(match) || [];
1973 searchValue.lastIndex = originalLastIndex;
1974 args.push(arguments[length - 2], arguments[length - 1]);
1975 return replaceValue.apply(this, args);
1976 };
1977 return str_replace.call(this, searchValue, wrappedReplaceValue);
1978 }
1979 };
1980 }
1981
1982 // ECMA-262, 3rd B.2.3
1983 // Not an ECMAScript standard, although ECMAScript 3rd Edition has a
1984 // non-normative section suggesting uniform semantics and it should be
1985 // normalized across all browsers
1986 // [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE
1987 var string_substr = StringPrototype.substr;
1988 var hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b';
1989 defineProperties(StringPrototype, {
1990 substr: function substr(start, length) {
1991 var normalizedStart = start;
1992 if (start < 0) {
1993 normalizedStart = Math.max(this.length + start, 0);
1994 }
1995 return string_substr.call(this, normalizedStart, length);
1996 }
1997 }, hasNegativeSubstrBug);
1998
1999 // ES5 15.5.4.20
2000 // whitespace from: http://es5.github.io/#x15.5.4.20
2001 var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' +
2002 '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' +
2003 '\u2029\uFEFF';
2004 var zeroWidth = '\u200b';
2005 var wsRegexChars = '[' + ws + ']';
2006 var trimBeginRegexp = new RegExp('^' + wsRegexChars + wsRegexChars + '*');
2007 var trimEndRegexp = new RegExp(wsRegexChars + wsRegexChars + '*$');
2008 var hasTrimWhitespaceBug = StringPrototype.trim && (ws.trim() || !zeroWidth.trim());
2009 defineProperties(StringPrototype, {
2010 // http://blog.stevenlevithan.com/archives/faster-trim-javascript
2011 // http://perfectionkills.com/whitespace-deviations/
2012 trim: function trim() {
2013 if (typeof this === 'undefined' || this === null) {
2014 throw new TypeError("can't convert " + this + ' to object');
2015 }
2016 return String(this).replace(trimBeginRegexp, '').replace(trimEndRegexp, '');
2017 }
2018 }, hasTrimWhitespaceBug);
2019
2020 // ES-5 15.1.2.2
2021 if (parseInt(ws + '08') !== 8 || parseInt(ws + '0x16') !== 22) {
2022 /* global parseInt: true */
2023 parseInt = (function (origParseInt) {
2024 var hexRegex = /^0[xX]/;
2025 return function parseInt(str, radix) {
2026 var string = String(str).trim();
2027 var defaultedRadix = Number(radix) || (hexRegex.test(string) ? 16 : 10);
2028 return origParseInt(string, defaultedRadix);
2029 };
2030 }(parseInt));
2031 }
2032
2033 }));
2034
2035 !window.addEventListener && (function (WindowPrototype, DocumentPrototype, ElementPrototype, addEventListener, removeEventListener, dispatchEvent, registry) {
2036 WindowPrototype[addEventListener] = DocumentPrototype[addEventListener] = ElementPrototype[addEventListener] = function (type, listener) {
2037 var target = this;
2038
2039 registry.unshift([target, type, listener, function (event) {
2040 event.currentTarget = target;
2041 event.preventDefault = function () { event.returnValue = false };
2042 event.stopPropagation = function () { event.cancelBubble = true };
2043 event.target = event.srcElement || target;
2044
2045 listener.call(target, event);
2046 }]);
2047
2048 this.attachEvent("on" + type, registry[0][3]);
2049 };
2050
2051 WindowPrototype[removeEventListener] = DocumentPrototype[removeEventListener] = ElementPrototype[removeEventListener] = function (type, listener) {
2052 for (var index = 0, register; register = registry[index]; ++index) {
2053 if (register[0] == this && register[1] == type && register[2] == listener) {
2054 return this.detachEvent("on" + type, registry.splice(index, 1)[0][3]);
2055 }
2056 }
2057 };
2058
2059 WindowPrototype[dispatchEvent] = DocumentPrototype[dispatchEvent] = ElementPrototype[dispatchEvent] = function (eventObject) {
2060 return this.fireEvent("on" + eventObject.type, eventObject);
2061 };
2062 })(Window.prototype, HTMLDocument.prototype, Element.prototype, "addEventListener", "removeEventListener", "dispatchEvent", []);
2063
2064 /**
2065 * Module: rem - v1.3.4
2066 * Description: A polyfill to parse CSS links and rewrite pixel equivalents into head for non supporting browsers
2067 * Date Built: 2014-07-02
2068 * Copyright (c) 2014 | Chuck Carpenter <chuck.carpenter@me.com>,Lucas Serven <lserven@gmail.com>;
2069 * @see https://github.com/chuckcarpenter/REM-unit-polyfill
2070 **/
2071
2072 (function (window, undefined) {
2073 "use strict";
2074 // test for REM unit support
2075 var cssremunit = function() {
2076 var div = document.createElement( 'div' );
2077 div.style.cssText = 'font-size: 1rem;';
2078
2079 return (/rem/).test(div.style.fontSize);
2080 },
2081
2082 // filter returned links for stylesheets
2083 isStyleSheet = function () {
2084 var styles = document.getElementsByTagName('link'),
2085 filteredLinks = [];
2086
2087 for ( var i = 0; i < styles.length; i++) {
2088 if ( styles[i].rel.toLowerCase() === 'stylesheet' && styles[i].getAttribute('data-norem') === null ) {
2089
2090 filteredLinks.push( styles[i].href );
2091 }
2092 }
2093
2094 return filteredLinks;
2095 },
2096
2097 processLinks = function () {
2098 //prepare to match each link
2099 for( var i = 0; i < links.length; i++ ){
2100 xhr( links[i], storeCSS );
2101 }
2102 },
2103
2104 storeCSS = function ( response, link ) {
2105
2106 preCSS.push(response.responseText);
2107 CSSLinks.push(link);
2108
2109 if( CSSLinks.length === links.length ){
2110 for( var j = 0; j < CSSLinks.length; j++ ){
2111 matchCSS( preCSS[j], CSSLinks[j] );
2112 }
2113
2114 if( ( links = importLinks.slice(0) ).length > 0 ){ //after finishing all current links, set links equal to the new imports found
2115 CSSLinks = [];
2116 preCSS = [];
2117 importLinks = [];
2118 processLinks();
2119 } else {
2120 buildCSS();
2121 }
2122 }
2123 },
2124
2125 matchCSS = function ( sheetCSS, link ) { // collect all of the rules from the xhr response texts and match them to a pattern
2126 var clean = removeMediaQueries( sheetCSS ).replace(/\/\*[\s\S]*?\*\//g, ''), // remove MediaQueries and comments
2127 pattern = /[\w\d\s\-\/\\\[\]:,.'"*()<>+~%#^$_=|@]+\{[\w\d\s\-\/\\%#:!;,.'"*()]+\d*\.?\d+rem[\w\d\s\-\/\\%#:!;,.'"*()]*\}/g, //find selectors that use rem in one or more of their rules
2128 current = clean.match(pattern),
2129 remPattern =/\d*\.?\d+rem/g,
2130 remCurrent = clean.match(remPattern),
2131 sheetPathPattern = /(.*\/)/,
2132 sheetPath = sheetPathPattern.exec(link)[0], //relative path to css file specified in @import
2133 importPattern = /@import (?:url\()?['"]?([^'\)"]*)['"]?\)?[^;]*/gm, //matches all @import variations outlined at: https://developer.mozilla.org/en-US/docs/Web/CSS/@import
2134 importStatement;
2135
2136 while( (importStatement = importPattern.exec(sheetCSS)) !== null ){
2137 if( importStatement[1].indexOf("/") === 0 ) { // check if the value of importStatement[1] is a root relative path, in which case it shouldn't be concatenated with sheetPath
2138 importLinks.push( importStatement[1] );
2139 } else {
2140 importLinks.push( sheetPath + importStatement[1] );
2141 }
2142 }
2143
2144 if( current !== null && current.length !== 0 ){
2145 found = found.concat( current ); // save all of the blocks of rules with rem in a property
2146 foundProps = foundProps.concat( remCurrent ); // save all of the properties with rem
2147 }
2148 },
2149
2150 buildCSS = function () { // first build each individual rule from elements in the found array and then add it to the string of rules.
2151 var pattern = /[\w\d\s\-\/\\%#:,.'"*()]+\d*\.?\d+rem[\w\d\s\-\/\\%#:!,.'"*()]*[;}]/g; // find properties with rem values in them
2152 for( var i = 0; i < found.length; i++ ){
2153 rules = rules + found[i].substr(0,found[i].indexOf("{")+1); // save the selector portion of each rule with a rem value
2154 var current = found[i].match( pattern );
2155 for( var j = 0; j<current.length; j++ ){ // build a new set of with only the selector and properties that have rem in the value
2156 rules = rules + current[j];
2157 if( j === current.length-1 && rules[rules.length-1] !== "}" ){
2158 rules = rules + "\n}";
2159 }
2160 }
2161 }
2162
2163 parseCSS();
2164 },
2165
2166 parseCSS = function () { // replace each set of parentheses with evaluated content
2167 for( var i = 0; i < foundProps.length; i++ ){
2168 css[i] = Math.round( parseFloat(foundProps[i].substr(0,foundProps[i].length-3)*fontSize) ) + 'px';
2169 }
2170
2171 loadCSS();
2172 },
2173
2174 loadCSS = function () { // replace and load the new rules
2175 for( var i = 0; i < css.length; i++ ){ // only run this loop as many times as css has entries
2176 if( css[i] ){
2177 rules = rules.replace( foundProps[i],css[i] ); // replace old rules with our processed rules
2178 }
2179 }
2180 var remcss = document.createElement( 'style' );
2181 remcss.setAttribute( 'type', 'text/css' );
2182 remcss.id = 'remReplace';
2183 document.getElementsByTagName( 'head' )[0].appendChild( remcss ); // create the new element
2184 if( remcss.styleSheet ) {
2185 remcss.styleSheet.cssText = rules; // IE8 will not support innerHTML on read-only elements, such as STYLE
2186 } else {
2187 remcss.appendChild( document.createTextNode( rules ) );
2188 }
2189 },
2190
2191 xhr = function ( url, callback ) { // create new XMLHttpRequest object and run it
2192 try {
2193 //try to create a request object
2194 //arranging the two conditions this way is for IE7/8's benefit
2195 //so that it works with any combination of ActiveX or Native XHR settings,
2196 //as long as one or the other is enabled; but if both are enabled
2197 //it prefers ActiveX, which means it still works with local files
2198 //(Native XHR in IE7/8 is blocked and throws "access is denied",
2199 // but ActiveX is permitted if the user allows it [default is to prompt])
2200 var xhr = window.ActiveXObject ? ( new ActiveXObject('Microsoft.XMLHTTP') || new ActiveXObject('Msxml2.XMLHTTP') ) : new XMLHttpRequest();
2201
2202 xhr.open( 'GET', url, true );
2203 xhr.onreadystatechange = function() {
2204 if ( xhr.readyState === 4 ){
2205 callback(xhr, url);
2206 } // else { callback function on AJAX error }
2207 };
2208
2209 xhr.send( null );
2210 } catch (e){
2211 if ( window.XDomainRequest ) {
2212 var xdr = new XDomainRequest();
2213 xdr.open('get', url);
2214 xdr.onload = function() {
2215 callback(xdr, url);
2216 };
2217 xdr.onerror = function() {
2218 return false; // xdr load fail
2219 };
2220 xdr.send();
2221 }
2222 }
2223 },
2224
2225 // Remove queries.
2226 removeMediaQueries = function(css) {
2227 // Test for Media Query support
2228 if ( !window.matchMedia && !window.msMatchMedia ) {
2229 // If the browser doesn't support media queries, we find all @media declarations in the CSS and remove them.
2230 // Note: Since @rules can't be nested in the CSS spec, we're safe to just check for the closest following "}}" to the "@media".
2231 css = css.replace(/@media[\s\S]*?\}\s*\}/g, "");
2232 }
2233
2234 return css;
2235 };
2236
2237 if( !cssremunit() ){ // this checks if the rem value is supported
2238 var rules = '', // initialize the rules variable in this scope so it can be used later
2239 links = isStyleSheet(), // initialize the array holding the sheets urls for use later
2240 importLinks = [], //initialize the array holding the import sheet urls for use later
2241 found = [], // initialize the array holding the found rules for use later
2242 foundProps = [], // initialize the array holding the found properties for use later
2243 preCSS = [], // initialize array that holds css before being parsed
2244 CSSLinks = [], //initialize array holding css links returned from xhr
2245 css = [], // initialize the array holding the parsed rules for use later
2246 fontSize = '';
2247
2248 // Notice: rem is a "root em" that means that in case when html element size was changed by css
2249 // or style we should not change document.documentElement.fontSize to 1em - only body size should be changed
2250 // to 1em for calculation
2251
2252 fontSize = (function () {
2253 var doc = document,
2254 docElement = doc.documentElement,
2255 body = doc.body || doc.createElement('body'),
2256 isFakeBody = !doc.body,
2257 div = doc.createElement('div'),
2258 currentSize = body.style.fontSize,
2259 size;
2260
2261 if ( isFakeBody ) {
2262 docElement.appendChild( body );
2263 }
2264
2265 div.style.cssText = 'width:1em; position:absolute; visibility:hidden; padding: 0;';
2266
2267 body.style.fontSize = '1em';
2268
2269 body.appendChild( div );
2270 size = div.offsetWidth;
2271
2272 if ( isFakeBody ) {
2273 docElement.removeChild( body );
2274 }
2275 else {
2276 body.removeChild( div );
2277 body.style.fontSize = currentSize;
2278 }
2279
2280 return size;
2281 }());
2282
2283 processLinks();
2284 } // else { do nothing, you are awesome and have REM support }
2285
2286 })(window);
2287
2288 /*! Respond.js v1.4.2: min/max-width media query polyfill
2289 * Copyright 2014 Scott Jehl
2290 * Licensed under MIT
2291 * http://j.mp/respondjs */
2292
2293 !function(a){"use strict";a.matchMedia=a.matchMedia||function(a){var b,c=a.documentElement,d=c.firstElementChild||c.firstChild,e=a.createElement("body"),f=a.createElement("div");return f.id="mq-test-1",f.style.cssText="position:absolute;top:-100em",e.style.background="none",e.appendChild(f),function(a){return f.innerHTML='&shy;<style media="'+a+'"> #mq-test-1 { width: 42px; }</style>',c.insertBefore(e,d),b=42===f.offsetWidth,c.removeChild(e),{matches:b,media:a}}}(a.document)}(this),function(a){"use strict";function b(){v(!0)}var c={};a.respond=c,c.update=function(){};var d=[],e=function(){var b=!1;try{b=new a.XMLHttpRequest}catch(c){b=new a.ActiveXObject("Microsoft.XMLHTTP")}return function(){return b}}(),f=function(a,b){var c=e();c&&(c.open("GET",a,!0),c.onreadystatechange=function(){4!==c.readyState||200!==c.status&&304!==c.status||b(c.responseText)},4!==c.readyState&&c.send(null))},g=function(a){return a.replace(c.regex.minmaxwh,"").match(c.regex.other)};if(c.ajax=f,c.queue=d,c.unsupportedmq=g,c.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},c.mediaQueriesSupported=a.matchMedia&&null!==a.matchMedia("only all")&&a.matchMedia("only all").matches,!c.mediaQueriesSupported){var h,i,j,k=a.document,l=k.documentElement,m=[],n=[],o=[],p={},q=30,r=k.getElementsByTagName("head")[0]||l,s=k.getElementsByTagName("base")[0],t=r.getElementsByTagName("link"),u=function(){var a,b=k.createElement("div"),c=k.body,d=l.style.fontSize,e=c&&c.style.fontSize,f=!1;return b.style.cssText="position:absolute;font-size:1em;width:1em",c||(c=f=k.createElement("body"),c.style.background="none"),l.style.fontSize="100%",c.style.fontSize="100%",c.appendChild(b),f&&l.insertBefore(c,l.firstChild),a=b.offsetWidth,f?l.removeChild(c):c.removeChild(b),l.style.fontSize=d,e&&(c.style.fontSize=e),a=j=parseFloat(a)},v=function(b){var c="clientWidth",d=l[c],e="CSS1Compat"===k.compatMode&&d||k.body[c]||d,f={},g=t[t.length-1],p=(new Date).getTime();if(b&&h&&q>p-h)return a.clearTimeout(i),i=a.setTimeout(v,q),void 0;h=p;for(var s in m)if(m.hasOwnProperty(s)){var w=m[s],x=w.minw,y=w.maxw,z=null===x,A=null===y,B="em";x&&(x=parseFloat(x)*(x.indexOf(B)>-1?j||u():1)),y&&(y=parseFloat(y)*(y.indexOf(B)>-1?j||u():1)),w.hasquery&&(z&&A||!(z||e>=x)||!(A||y>=e))||(f[w.media]||(f[w.media]=[]),f[w.media].push(n[w.rules]))}for(var C in o)o.hasOwnProperty(C)&&o[C]&&o[C].parentNode===r&&r.removeChild(o[C]);o.length=0;for(var D in f)if(f.hasOwnProperty(D)){var E=k.createElement("style"),F=f[D].join("\n");E.type="text/css",E.media=D,r.insertBefore(E,g.nextSibling),E.styleSheet?E.styleSheet.cssText=F:E.appendChild(k.createTextNode(F)),o.push(E)}},w=function(a,b,d){var e=a.replace(c.regex.comments,"").replace(c.regex.keyframes,"").match(c.regex.media),f=e&&e.length||0;b=b.substring(0,b.lastIndexOf("/"));var h=function(a){return a.replace(c.regex.urls,"$1"+b+"$2$3")},i=!f&&d;b.length&&(b+="/"),i&&(f=1);for(var j=0;f>j;j++){var k,l,o,p;i?(k=d,n.push(h(a))):(k=e[j].match(c.regex.findStyles)&&RegExp.$1,n.push(RegExp.$2&&h(RegExp.$2))),o=k.split(","),p=o.length;for(var q=0;p>q;q++)l=o[q],g(l)||m.push({media:l.split("(")[0].match(c.regex.only)&&RegExp.$2||"all",rules:n.length-1,hasquery:l.indexOf("(")>-1,minw:l.match(c.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:l.match(c.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}v()},x=function(){if(d.length){var b=d.shift();f(b.href,function(c){w(c,b.href,b.media),p[b.href]=!0,a.setTimeout(function(){x()},0)})}},y=function(){for(var b=0;b<t.length;b++){var c=t[b],e=c.href,f=c.media,g=c.rel&&"stylesheet"===c.rel.toLowerCase();e&&g&&!p[e]&&(c.styleSheet&&c.styleSheet.rawCssText?(w(c.styleSheet.rawCssText,e,f),p[e]=!0):(!/^([a-zA-Z:]*\/\/)/.test(e)&&!s||e.replace(RegExp.$1,"").split("/")[0]===a.location.host)&&("//"===e.substring(0,2)&&(e=a.location.protocol+e),d.push({href:e,media:f})))}x()};y(),c.update=y,c.getEmValue=u,a.addEventListener?a.addEventListener("resize",b,!1):a.attachEvent&&a.attachEvent("onresize",b)}}(this);
...\ No newline at end of file ...\ No newline at end of file
1 /*! Amaze UI v2.5.2 ~ IE8 Fucker | by Amaze UI Team | (c) 2016 AllMobilize, Inc. | Licensed under MIT | 2016-01-26T11:06:52+0800 */
2 !function(e){"use strict";e.console=e.console||{};for(var t,n,r=e.console,o={},i=function(){},a="memory".split(","),c="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");t=a.pop();)r[t]||(r[t]=o);for(;n=c.pop();)r[n]||(r[n]=i)}("undefined"==typeof window?this:window),function(e,t){"use strict";"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.returnExports=t()}(this,function(){var e,t,n,r,o=Function.prototype.call,i=Object.prototype,a=o.bind(i.hasOwnProperty),c=a(i,"__defineGetter__");c&&(e=o.bind(i.__defineGetter__),t=o.bind(i.__defineSetter__),n=o.bind(i.__lookupGetter__),r=o.bind(i.__lookupSetter__)),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){var t=e.__proto__;return t||null===t?t:e.constructor?e.constructor.prototype:i});var l=function(e){try{return e.sentinel=0,0===Object.getOwnPropertyDescriptor(e,"sentinel").value}catch(t){return!1}};if(Object.defineProperty){var u=l({}),s="undefined"==typeof document||l(document.createElement("div"));if(!s||!u)var f=Object.getOwnPropertyDescriptor}if(!Object.getOwnPropertyDescriptor||f){var p="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(e,t){if("object"!=typeof e&&"function"!=typeof e||null===e)throw new TypeError(p+e);if(f)try{return f.call(Object,e,t)}catch(o){}var l;if(!a(e,t))return l;if(l={enumerable:!0,configurable:!0},c){var u=e.__proto__,s=e!==i;s&&(e.__proto__=i);var h=n(e,t),d=r(e,t);if(s&&(e.__proto__=u),h||d)return h&&(l.get=h),d&&(l.set=d),l}return l.value=e[t],l.writable=!0,l}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),!Object.create){var h,d=!({__proto__:null}instanceof Object),y=function(){if(!document.domain)return!1;try{return!!new ActiveXObject("htmlfile")}catch(e){return!1}},m=function(){var e,t;return t=new ActiveXObject("htmlfile"),t.write("<script></script>"),t.close(),e=t.parentWindow.Object.prototype,t=null,e},g=function(){var e,t=document.createElement("iframe"),n=document.body||document.documentElement;return t.style.display="none",n.appendChild(t),t.src="javascript:",e=t.contentWindow.Object.prototype,n.removeChild(t),t=null,e};h=d||"undefined"==typeof document?function(){return{__proto__:null}}:function(){var e=y()?m():g();delete e.constructor,delete e.hasOwnProperty,delete e.propertyIsEnumerable,delete e.isPrototypeOf,delete e.toLocaleString,delete e.toString,delete e.valueOf,e.__proto__=null;var t=function(){};return t.prototype=e,h=function(){return new t},new t},Object.create=function(e,t){var n,r=function(){};if(null===e)n=h();else{if("object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object prototype may only be an Object or null");r.prototype=e,n=new r,n.__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n}}var b=function(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){return!1}};if(Object.defineProperty){var v=b({}),w="undefined"==typeof document||b(document.createElement("div"));if(!v||!w)var O=Object.defineProperty,j=Object.defineProperties}if(!Object.defineProperty||O){var x="Property description must be an object: ",E="Object.defineProperty called on non-object: ",T="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(o,a,l){if("object"!=typeof o&&"function"!=typeof o||null===o)throw new TypeError(E+o);if("object"!=typeof l&&"function"!=typeof l||null===l)throw new TypeError(x+l);if(O)try{return O.call(Object,o,a,l)}catch(u){}if("value"in l)if(c&&(n(o,a)||r(o,a))){var s=o.__proto__;o.__proto__=i,delete o[a],o[a]=l.value,o.__proto__=s}else o[a]=l.value;else{if(!c)throw new TypeError(T);"get"in l&&e(o,a,l.get),"set"in l&&t(o,a,l.set)}return o}}(!Object.defineProperties||j)&&(Object.defineProperties=function(e,t){if(j)try{return j.call(Object,e,t)}catch(n){}return Object.keys(t).forEach(function(n){"__proto__"!==n&&Object.defineProperty(e,n,t[n])}),e}),Object.seal||(Object.seal=function(e){if(Object(e)!==e)throw new TypeError("Object.seal can only be called on Objects.");return e}),Object.freeze||(Object.freeze=function(e){if(Object(e)!==e)throw new TypeError("Object.freeze can only be called on Objects.");return e});try{Object.freeze(function(){})}catch(S){Object.freeze=function(e){return function(t){return"function"==typeof t?t:e(t)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(e){if(Object(e)!==e)throw new TypeError("Object.preventExtensions can only be called on Objects.");return e}),Object.isSealed||(Object.isSealed=function(e){if(Object(e)!==e)throw new TypeError("Object.isSealed can only be called on Objects.");return!1}),Object.isFrozen||(Object.isFrozen=function(e){if(Object(e)!==e)throw new TypeError("Object.isFrozen can only be called on Objects.");return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)!==e)throw new TypeError("Object.isExtensible can only be called on Objects.");for(var t="";a(e,t);)t+="?";e[t]=!0;var n=a(e,t);return delete e[t],n})}),function(e,t){"use strict";"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.returnExports=t()}(this,function(){var e,t=Array.prototype,n=Object.prototype,r=Function.prototype,o=String.prototype,i=Number.prototype,a=t.slice,c=t.splice,l=t.push,u=t.unshift,s=t.concat,f=r.call,p=n.toString,h=Array.isArray||function(e){return"[object Array]"===p.call(e)},d="function"==typeof Symbol&&"symbol"==typeof Symbol.toStringTag,y=Function.prototype.toString,m=function(e){try{return y.call(e),!0}catch(t){return!1}},g="[object Function]",b="[object GeneratorFunction]";e=function(e){if("function"!=typeof e)return!1;if(d)return m(e);var t=p.call(e);return t===g||t===b};var v,w=RegExp.prototype.exec,O=function(e){try{return w.call(e),!0}catch(t){return!1}},j="[object RegExp]";v=function(e){return"object"!=typeof e?!1:d?O(e):p.call(e)===j};var x,E=String.prototype.valueOf,T=function(e){try{return E.call(e),!0}catch(t){return!1}},S="[object String]";x=function(e){return"string"==typeof e?!0:"object"!=typeof e?!1:d?T(e):p.call(e)===S};var _=function(t){var n=p.call(t),r="[object Arguments]"===n;return r||(r=!h(t)&&null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&e(t.callee)),r},N=function(e){var t,n=Object.defineProperty&&function(){try{var e={};Object.defineProperty(e,"x",{enumerable:!1,value:e});for(var t in e)return!1;return e.x===e}catch(n){return!1}}();return t=n?function(e,t,n,r){!r&&t in e||Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(e,t,n,r){!r&&t in e||(e[t]=n)},function(n,r,o){for(var i in r)e.call(r,i)&&t(n,i,r[i],o)}}(n.hasOwnProperty),P=function(e){var t=typeof e;return null===e||"object"!==t&&"function"!==t},M={ToInteger:function(e){var t=+e;return t!==t?t=0:0!==t&&t!==1/0&&t!==-(1/0)&&(t=(t>0||-1)*Math.floor(Math.abs(t))),t},ToPrimitive:function(t){var n,r,o;if(P(t))return t;if(r=t.valueOf,e(r)&&(n=r.call(t),P(n)))return n;if(o=t.toString,e(o)&&(n=o.call(t),P(n)))return n;throw new TypeError},ToObject:function(e){if(null==e)throw new TypeError("can't convert "+e+" to object");return Object(e)},ToUint32:function(e){return e>>>0}},C=function(){};N(r,{bind:function(t){var n=this;if(!e(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var r,o=a.call(arguments,1),i=function(){if(this instanceof r){var e=n.apply(this,s.call(o,a.call(arguments)));return Object(e)===e?e:this}return n.apply(t,s.call(o,a.call(arguments)))},c=Math.max(0,n.length-o.length),l=[],u=0;c>u;u++)l.push("$"+u);return r=Function("binder","return function ("+l.join(",")+"){ return binder.apply(this, arguments); }")(i),n.prototype&&(C.prototype=n.prototype,r.prototype=new C,C.prototype=null),r}});var D=f.bind(n.hasOwnProperty),z=function(){var e=[1,2],t=e.splice();return 2===e.length&&h(t)&&0===t.length}();N(t,{splice:function(e,t){return 0===arguments.length?[]:c.apply(this,arguments)}},!z);var k=function(){var e={};return t.splice.call(e,0,0,1),1===e.length}();N(t,{splice:function(e,t){if(0===arguments.length)return[];var n=arguments;return this.length=Math.max(M.ToInteger(this.length),0),arguments.length>0&&"number"!=typeof t&&(n=a.call(arguments),n.length<2?n.push(this.length-e):n[1]=M.ToInteger(t)),c.apply(this,n)}},!k);var I=1!==[].unshift(0);N(t,{unshift:function(){return u.apply(this,arguments),this.length}},I),N(Array,{isArray:h});var R=Object("a"),A="a"!==R[0]||!(0 in R),F=function(e){var t=!0,n=!0;return e&&(e.call("foo",function(e,n,r){"object"!=typeof r&&(t=!1)}),e.call([1],function(){"use strict";n="string"==typeof this},"x")),!!e&&t&&n};N(t,{forEach:function(t){var n,r=M.ToObject(this),o=A&&x(this)?this.split(""):r,i=-1,a=o.length>>>0;if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.forEach callback must be a function");for(;++i<a;)i in o&&("undefined"!=typeof n?t.call(n,o[i],i,r):t(o[i],i,r))}},!F(t.forEach)),N(t,{map:function(t){var n,r=M.ToObject(this),o=A&&x(this)?this.split(""):r,i=o.length>>>0,a=Array(i);if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.map callback must be a function");for(var c=0;i>c;c++)c in o&&("undefined"!=typeof n?a[c]=t.call(n,o[c],c,r):a[c]=t(o[c],c,r));return a}},!F(t.map)),N(t,{filter:function(t){var n,r,o=M.ToObject(this),i=A&&x(this)?this.split(""):o,a=i.length>>>0,c=[];if(arguments.length>1&&(r=arguments[1]),!e(t))throw new TypeError("Array.prototype.filter callback must be a function");for(var l=0;a>l;l++)l in i&&(n=i[l],("undefined"==typeof r?t(n,l,o):t.call(r,n,l,o))&&c.push(n));return c}},!F(t.filter)),N(t,{every:function(t){var n,r=M.ToObject(this),o=A&&x(this)?this.split(""):r,i=o.length>>>0;if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.every callback must be a function");for(var a=0;i>a;a++)if(a in o&&!("undefined"==typeof n?t(o[a],a,r):t.call(n,o[a],a,r)))return!1;return!0}},!F(t.every)),N(t,{some:function(t){var n,r=M.ToObject(this),o=A&&x(this)?this.split(""):r,i=o.length>>>0;if(arguments.length>1&&(n=arguments[1]),!e(t))throw new TypeError("Array.prototype.some callback must be a function");for(var a=0;i>a;a++)if(a in o&&("undefined"==typeof n?t(o[a],a,r):t.call(n,o[a],a,r)))return!0;return!1}},!F(t.some));var $=!1;t.reduce&&($="object"==typeof t.reduce.call("es5",function(e,t,n,r){return r})),N(t,{reduce:function(t){var n=M.ToObject(this),r=A&&x(this)?this.split(""):n,o=r.length>>>0;if(!e(t))throw new TypeError("Array.prototype.reduce callback must be a function");if(0===o&&1===arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,a=0;if(arguments.length>=2)i=arguments[1];else for(;;){if(a in r){i=r[a++];break}if(++a>=o)throw new TypeError("reduce of empty array with no initial value")}for(;o>a;a++)a in r&&(i=t(i,r[a],a,n));return i}},!$);var L=!1;t.reduceRight&&(L="object"==typeof t.reduceRight.call("es5",function(e,t,n,r){return r})),N(t,{reduceRight:function(t){var n=M.ToObject(this),r=A&&x(this)?this.split(""):n,o=r.length>>>0;if(!e(t))throw new TypeError("Array.prototype.reduceRight callback must be a function");if(0===o&&1===arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,a=o-1;if(arguments.length>=2)i=arguments[1];else for(;;){if(a in r){i=r[a--];break}if(--a<0)throw new TypeError("reduceRight of empty array with no initial value")}if(0>a)return i;do a in r&&(i=t(i,r[a],a,n));while(a--);return i}},!L);var X=Array.prototype.indexOf&&-1!==[0,1].indexOf(1,2);N(t,{indexOf:function(e){var t=A&&x(this)?this.split(""):M.ToObject(this),n=t.length>>>0;if(0===n)return-1;var r=0;for(arguments.length>1&&(r=M.ToInteger(arguments[1])),r=r>=0?r:Math.max(0,n+r);n>r;r++)if(r in t&&t[r]===e)return r;return-1}},X);var B=Array.prototype.lastIndexOf&&-1!==[0,1].lastIndexOf(0,-3);N(t,{lastIndexOf:function(e){var t=A&&x(this)?this.split(""):M.ToObject(this),n=t.length>>>0;if(0===n)return-1;var r=n-1;for(arguments.length>1&&(r=Math.min(r,M.ToInteger(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}},B);var U=!{toString:null}.propertyIsEnumerable("toString"),q=function(){}.propertyIsEnumerable("prototype"),Z=!D("x","0"),H=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],W=H.length;N(Object,{keys:function(t){var n=e(t),r=_(t),o=null!==t&&"object"==typeof t,i=o&&x(t);if(!o&&!n&&!r)throw new TypeError("Object.keys called on a non-object");var a=[],c=q&&n;if(i&&Z||r)for(var l=0;l<t.length;++l)a.push(String(l));if(!r)for(var u in t)c&&"prototype"===u||!D(t,u)||a.push(String(u));if(U)for(var s=t.constructor,f=s&&s.prototype===t,p=0;W>p;p++){var h=H[p];f&&"constructor"===h||!D(t,h)||a.push(h)}return a}});var G=Object.keys&&function(){return 2===Object.keys(arguments).length}(1,2),J=Object.keys;N(Object,{keys:function(e){return J(_(e)?t.slice.call(e):e)}},!G);var Q=-621987552e5,V="-000001",Y=Date.prototype.toISOString&&-1===new Date(Q).toISOString().indexOf(V);N(Date.prototype,{toISOString:function(){var e,t,n,r,o;if(!isFinite(this))throw new RangeError("Date.prototype.toISOString called on non-finite value.");for(r=this.getUTCFullYear(),o=this.getUTCMonth(),r+=Math.floor(o/12),o=(o%12+12)%12,e=[o+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()],r=(0>r?"-":r>9999?"+":"")+("00000"+Math.abs(r)).slice(r>=0&&9999>=r?-4:-6),t=e.length;t--;)n=e[t],10>n&&(e[t]="0"+n);return r+"-"+e.slice(0,2).join("-")+"T"+e.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"}},Y);var K=function(){try{return Date.prototype.toJSON&&null===new Date(NaN).toJSON()&&-1!==new Date(Q).toJSON().indexOf(V)&&Date.prototype.toJSON.call({toISOString:function(){return!0}})}catch(e){return!1}}();K||(Date.prototype.toJSON=function(t){var n=Object(this),r=M.ToPrimitive(n);if("number"==typeof r&&!isFinite(r))return null;var o=n.toISOString;if(!e(o))throw new TypeError("toISOString property is not callable");return o.call(n)});var ee=1e15===Date.parse("+033658-09-27T01:46:40.000Z"),te=!isNaN(Date.parse("2012-04-04T24:00:00.500Z"))||!isNaN(Date.parse("2012-11-31T23:59:59.000Z"))||!isNaN(Date.parse("2012-12-31T23:59:60.000Z")),ne=isNaN(Date.parse("2000-01-01T00:00:00.000Z"));(!Date.parse||ne||te||!ee)&&(Date=function(e){var t=function(n,r,o,i,a,c,l){var u,s=arguments.length;return u=this instanceof e?1===s&&String(n)===n?new e(t.parse(n)):s>=7?new e(n,r,o,i,a,c,l):s>=6?new e(n,r,o,i,a,c):s>=5?new e(n,r,o,i,a):s>=4?new e(n,r,o,i):s>=3?new e(n,r,o):s>=2?new e(n,r):s>=1?new e(n):new e:e.apply(this,arguments),N(u,{constructor:t},!0),u},n=new RegExp("^(\\d{4}|[+-]\\d{6})(?:-(\\d{2})(?:-(\\d{2})(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:(\\.\\d{1,}))?)?(Z|(?:([-+])(\\d{2}):(\\d{2})))?)?)?)?$"),r=[0,31,59,90,120,151,181,212,243,273,304,334,365],o=function(e,t){var n=t>1?1:0;return r[t]+Math.floor((e-1969+n)/4)-Math.floor((e-1901+n)/100)+Math.floor((e-1601+n)/400)+365*(e-1970)},i=function(t){return Number(new e(1970,0,1,0,0,0,t))};for(var a in e)D(e,a)&&(t[a]=e[a]);N(t,{now:e.now,UTC:e.UTC},!0),t.prototype=e.prototype,N(t.prototype,{constructor:t},!0);var c=function(t){var r=n.exec(t);if(r){var a,c=Number(r[1]),l=Number(r[2]||1)-1,u=Number(r[3]||1)-1,s=Number(r[4]||0),f=Number(r[5]||0),p=Number(r[6]||0),h=Math.floor(1e3*Number(r[7]||0)),d=Boolean(r[4]&&!r[8]),y="-"===r[9]?1:-1,m=Number(r[10]||0),g=Number(r[11]||0);return(f>0||p>0||h>0?24:25)>s&&60>f&&60>p&&1e3>h&&l>-1&&12>l&&24>m&&60>g&&u>-1&&u<o(c,l+1)-o(c,l)&&(a=60*(24*(o(c,l)+u)+s+m*y),a=1e3*(60*(a+f+g*y)+p)+h,d&&(a=i(a)),a>=-864e13&&864e13>=a)?a:NaN}return e.parse.apply(this,arguments)};return N(t,{parse:c}),t}(Date)),Date.now||(Date.now=function(){return(new Date).getTime()});var re=i.toFixed&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==0xde0b6b3a7640080.toFixed(0)),oe={base:1e7,size:6,data:[0,0,0,0,0,0],multiply:function(e,t){for(var n=-1,r=t;++n<oe.size;)r+=e*oe.data[n],oe.data[n]=r%oe.base,r=Math.floor(r/oe.base)},divide:function(e){for(var t=oe.size,n=0;--t>=0;)n+=oe.data[t],oe.data[t]=Math.floor(n/e),n=n%e*oe.base},numToString:function(){for(var e=oe.size,t="";--e>=0;)if(""!==t||0===e||0!==oe.data[e]){var n=String(oe.data[e]);""===t?t=n:t+="0000000".slice(0,7-n.length)+n}return t},pow:function me(e,t,n){return 0===t?n:t%2===1?me(e,t-1,n*e):me(e*e,t/2,n)},log:function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t}};N(i,{toFixed:function(e){var t,n,r,o,i,a,c,l;if(t=Number(e),t=t!==t?0:Math.floor(t),0>t||t>20)throw new RangeError("Number.toFixed called with invalid number of decimals");if(n=Number(this),n!==n)return"NaN";if(-1e21>=n||n>=1e21)return String(n);if(r="",0>n&&(r="-",n=-n),o="0",n>1e-21)if(i=oe.log(n*oe.pow(2,69,1))-69,a=0>i?n*oe.pow(2,-i,1):n/oe.pow(2,i,1),a*=4503599627370496,i=52-i,i>0){for(oe.multiply(0,a),c=t;c>=7;)oe.multiply(1e7,0),c-=7;for(oe.multiply(oe.pow(10,c,1),0),c=i-1;c>=23;)oe.divide(1<<23),c-=23;oe.divide(1<<c),oe.multiply(1,1),oe.divide(2),o=oe.numToString()}else oe.multiply(0,a),oe.multiply(1<<-i,0),o=oe.numToString()+"0.00000000000000000000".slice(2,2+t);return t>0?(l=o.length,o=t>=l?r+"0.0000000000000000000".slice(0,t-l+2)+o:r+o.slice(0,l-t)+"."+o.slice(l-t)):o=r+o,o}},re);var ie=o.split;2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||".".split(/()()/).length>1?!function(){var e="undefined"==typeof/()??/.exec("")[1];o.split=function(t,n){var r=this;if("undefined"==typeof t&&0===n)return[];if(!v(t))return ie.call(this,t,n);var o,i,a,c,u=[],s=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.extended?"x":"")+(t.sticky?"y":""),f=0,p=new RegExp(t.source,s+"g");r+="",e||(o=new RegExp("^"+p.source+"$(?!\\s)",s));var h="undefined"==typeof n?-1>>>0:M.ToUint32(n);for(i=p.exec(r);i&&(a=i.index+i[0].length,!(a>f&&(u.push(r.slice(f,i.index)),!e&&i.length>1&&i[0].replace(o,function(){for(var e=1;e<arguments.length-2;e++)"undefined"==typeof arguments[e]&&(i[e]=void 0)}),i.length>1&&i.index<r.length&&l.apply(u,i.slice(1)),c=i[0].length,f=a,u.length>=h)));)p.lastIndex===i.index&&p.lastIndex++,i=p.exec(r);return f===r.length?(c||!p.test(""))&&u.push(""):u.push(r.slice(f)),u.length>h?u.slice(0,h):u}}():"0".split(void 0,0).length&&(o.split=function(e,t){return"undefined"==typeof e&&0===t?[]:ie.call(this,e,t)});var ae=o.replace,ce=function(){var e=[];return"x".replace(/x(.)?/g,function(t,n){e.push(n)}),1===e.length&&"undefined"==typeof e[0]}();ce||(o.replace=function(t,n){var r=e(n),o=v(t)&&/\)[*?]/.test(t.source);if(r&&o){var i=function(e){var r=arguments.length,o=t.lastIndex;t.lastIndex=0;var i=t.exec(e)||[];return t.lastIndex=o,i.push(arguments[r-2],arguments[r-1]),n.apply(this,i)};return ae.call(this,t,i)}return ae.call(this,t,n)});var le=o.substr,ue="".substr&&"b"!=="0b".substr(-1);N(o,{substr:function(e,t){var n=e;return 0>e&&(n=Math.max(this.length+e,0)),le.call(this,n,t)}},ue);var se=" \n\x0B\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff",fe="\u200b",pe="["+se+"]",he=new RegExp("^"+pe+pe+"*"),de=new RegExp(pe+pe+"*$"),ye=o.trim&&(se.trim()||!fe.trim());N(o,{trim:function(){if("undefined"==typeof this||null===this)throw new TypeError("can't convert "+this+" to object");return String(this).replace(he,"").replace(de,"")}},ye),(8!==parseInt(se+"08")||22!==parseInt(se+"0x16"))&&(parseInt=function(e){var t=/^0[xX]/;return function(n,r){var o=String(n).trim(),i=Number(r)||(t.test(o)?16:10);return e(o,i)}}(parseInt))}),!window.addEventListener&&function(e,t,n,r,o,i,a){e[r]=t[r]=n[r]=function(e,t){var n=this;a.unshift([n,e,t,function(e){e.currentTarget=n,e.preventDefault=function(){e.returnValue=!1},e.stopPropagation=function(){e.cancelBubble=!0},e.target=e.srcElement||n,t.call(n,e)}]),this.attachEvent("on"+e,a[0][3])},e[o]=t[o]=n[o]=function(e,t){for(var n,r=0;n=a[r];++r)if(n[0]==this&&n[1]==e&&n[2]==t)return this.detachEvent("on"+e,a.splice(r,1)[0][3])},e[i]=t[i]=n[i]=function(e){return this.fireEvent("on"+e.type,e)}}(Window.prototype,HTMLDocument.prototype,Element.prototype,"addEventListener","removeEventListener","dispatchEvent",[]),function(e,t){"use strict";var n=function(){var e=document.createElement("div");return e.style.cssText="font-size: 1rem;",/rem/.test(e.style.fontSize)},r=function(){for(var e=document.getElementsByTagName("link"),t=[],n=0;n<e.length;n++)"stylesheet"===e[n].rel.toLowerCase()&&null===e[n].getAttribute("data-norem")&&t.push(e[n].href);return t},o=function(){for(var e=0;e<h.length;e++)s(h[e],i)},i=function(e,t){if(g.push(e.responseText),b.push(t),b.length===h.length){for(var n=0;n<b.length;n++)a(g[n],b[n]);(h=d.slice(0)).length>0?(b=[],g=[],d=[],o()):c()}},a=function(e,t){for(var n,r=f(e).replace(/\/\*[\s\S]*?\*\//g,""),o=/[\w\d\s\-\/\\\[\]:,.'"*()<>+~%#^$_=|@]+\{[\w\d\s\-\/\\%#:!;,.'"*()]+\d*\.?\d+rem[\w\d\s\-\/\\%#:!;,.'"*()]*\}/g,i=r.match(o),a=/\d*\.?\d+rem/g,c=r.match(a),l=/(.*\/)/,u=l.exec(t)[0],s=/@import (?:url\()?['"]?([^'\)"]*)['"]?\)?[^;]*/gm;null!==(n=s.exec(e));)0===n[1].indexOf("/")?d.push(n[1]):d.push(u+n[1]);null!==i&&0!==i.length&&(y=y.concat(i),m=m.concat(c))},c=function(){for(var e=/[\w\d\s\-\/\\%#:,.'"*()]+\d*\.?\d+rem[\w\d\s\-\/\\%#:!,.'"*()]*[;}]/g,t=0;t<y.length;t++){p+=y[t].substr(0,y[t].indexOf("{")+1);for(var n=y[t].match(e),r=0;r<n.length;r++)p+=n[r],r===n.length-1&&"}"!==p[p.length-1]&&(p+="\n}")}l()},l=function(){for(var e=0;e<m.length;e++)v[e]=Math.round(parseFloat(m[e].substr(0,m[e].length-3)*w))+"px";u()},u=function(){for(var e=0;e<v.length;e++)v[e]&&(p=p.replace(m[e],v[e]));var t=document.createElement("style");t.setAttribute("type","text/css"),t.id="remReplace",document.getElementsByTagName("head")[0].appendChild(t),t.styleSheet?t.styleSheet.cssText=p:t.appendChild(document.createTextNode(p))},s=function(t,n){try{var r=e.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP")||new ActiveXObject("Msxml2.XMLHTTP"):new XMLHttpRequest;r.open("GET",t,!0),r.onreadystatechange=function(){4===r.readyState&&n(r,t)},r.send(null)}catch(o){if(e.XDomainRequest){var i=new XDomainRequest;i.open("get",t),i.onload=function(){n(i,t)},i.onerror=function(){return!1},i.send()}}},f=function(t){return e.matchMedia||e.msMatchMedia||(t=t.replace(/@media[\s\S]*?\}\s*\}/g,"")),t};if(!n()){var p="",h=r(),d=[],y=[],m=[],g=[],b=[],v=[],w="";w=function(){var e,t=document,n=t.documentElement,r=t.body||t.createElement("body"),o=!t.body,i=t.createElement("div"),a=r.style.fontSize;return o&&n.appendChild(r),i.style.cssText="width:1em; position:absolute; visibility:hidden; padding: 0;",r.style.fontSize="1em",r.appendChild(i),e=i.offsetWidth,o?n.removeChild(r):(r.removeChild(i),r.style.fontSize=a),e}(),o()}}(window),!function(e){"use strict";e.matchMedia=e.matchMedia||function(e){var t,n=e.documentElement,r=n.firstElementChild||n.firstChild,o=e.createElement("body"),i=e.createElement("div");return i.id="mq-test-1",i.style.cssText="position:absolute;top:-100em",o.style.background="none",o.appendChild(i),function(e){return i.innerHTML='&shy;<style media="'+e+'"> #mq-test-1 { width: 42px; }</style>',n.insertBefore(o,r),t=42===i.offsetWidth,n.removeChild(o),{matches:t,media:e}}}(e.document)}(this),function(e){"use strict";function t(){O(!0)}var n={};e.respond=n,n.update=function(){};var r=[],o=function(){var t=!1;try{t=new e.XMLHttpRequest}catch(n){t=new e.ActiveXObject("Microsoft.XMLHTTP")}return function(){return t}}(),i=function(e,t){var n=o();n&&(n.open("GET",e,!0),n.onreadystatechange=function(){4!==n.readyState||200!==n.status&&304!==n.status||t(n.responseText)},4!==n.readyState&&n.send(null))},a=function(e){return e.replace(n.regex.minmaxwh,"").match(n.regex.other)};if(n.ajax=i,n.queue=r,n.unsupportedmq=a,n.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,comments:/\/\*[^*]*\*+([^\/][^*]*\*+)*\//gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\(\s*min\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,maxw:/\(\s*max\-width\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/,minmaxwh:/\(\s*m(in|ax)\-(height|width)\s*:\s*(\s*[0-9\.]+)(px|em)\s*\)/gi,other:/\([^\)]*\)/g},n.mediaQueriesSupported=e.matchMedia&&null!==e.matchMedia("only all")&&e.matchMedia("only all").matches,!n.mediaQueriesSupported){var c,l,u,s=e.document,f=s.documentElement,p=[],h=[],d=[],y={},m=30,g=s.getElementsByTagName("head")[0]||f,b=s.getElementsByTagName("base")[0],v=g.getElementsByTagName("link"),w=function(){var e,t=s.createElement("div"),n=s.body,r=f.style.fontSize,o=n&&n.style.fontSize,i=!1;return t.style.cssText="position:absolute;font-size:1em;width:1em",n||(n=i=s.createElement("body"),n.style.background="none"),f.style.fontSize="100%",n.style.fontSize="100%",n.appendChild(t),i&&f.insertBefore(n,f.firstChild),e=t.offsetWidth,i?f.removeChild(n):n.removeChild(t),f.style.fontSize=r,o&&(n.style.fontSize=o),e=u=parseFloat(e)},O=function(t){var n="clientWidth",r=f[n],o="CSS1Compat"===s.compatMode&&r||s.body[n]||r,i={},a=v[v.length-1],y=(new Date).getTime();if(t&&c&&m>y-c)return e.clearTimeout(l),void(l=e.setTimeout(O,m));c=y;for(var b in p)if(p.hasOwnProperty(b)){var j=p[b],x=j.minw,E=j.maxw,T=null===x,S=null===E,_="em";x&&(x=parseFloat(x)*(x.indexOf(_)>-1?u||w():1)),E&&(E=parseFloat(E)*(E.indexOf(_)>-1?u||w():1)),j.hasquery&&(T&&S||!(T||o>=x)||!(S||E>=o))||(i[j.media]||(i[j.media]=[]),i[j.media].push(h[j.rules]))}for(var N in d)d.hasOwnProperty(N)&&d[N]&&d[N].parentNode===g&&g.removeChild(d[N]);d.length=0;for(var P in i)if(i.hasOwnProperty(P)){var M=s.createElement("style"),C=i[P].join("\n");M.type="text/css",M.media=P,g.insertBefore(M,a.nextSibling),M.styleSheet?M.styleSheet.cssText=C:M.appendChild(s.createTextNode(C)),d.push(M)}},j=function(e,t,r){var o=e.replace(n.regex.comments,"").replace(n.regex.keyframes,"").match(n.regex.media),i=o&&o.length||0;t=t.substring(0,t.lastIndexOf("/"));var c=function(e){return e.replace(n.regex.urls,"$1"+t+"$2$3")},l=!i&&r;t.length&&(t+="/"),l&&(i=1);for(var u=0;i>u;u++){var s,f,d,y;l?(s=r,h.push(c(e))):(s=o[u].match(n.regex.findStyles)&&RegExp.$1,h.push(RegExp.$2&&c(RegExp.$2))),d=s.split(","),y=d.length;for(var m=0;y>m;m++)f=d[m],a(f)||p.push({media:f.split("(")[0].match(n.regex.only)&&RegExp.$2||"all",rules:h.length-1,hasquery:f.indexOf("(")>-1,minw:f.match(n.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:f.match(n.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}O()},x=function(){if(r.length){var t=r.shift();i(t.href,function(n){j(n,t.href,t.media),y[t.href]=!0,e.setTimeout(function(){x()},0)})}},E=function(){for(var t=0;t<v.length;t++){var n=v[t],o=n.href,i=n.media,a=n.rel&&"stylesheet"===n.rel.toLowerCase();o&&a&&!y[o]&&(n.styleSheet&&n.styleSheet.rawCssText?(j(n.styleSheet.rawCssText,o,i),y[o]=!0):(!/^([a-zA-Z:]*\/\/)/.test(o)&&!b||o.replace(RegExp.$1,"").split("/")[0]===e.location.host)&&("//"===o.substring(0,2)&&(o=e.location.protocol+o),r.push({href:o,media:i})))}x()};E(),n.update=E,n.getEmValue=w,e.addEventListener?e.addEventListener("resize",t,!1):e.attachEvent&&e.attachEvent("onresize",t)}}(this);
...\ No newline at end of file ...\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
1 /*! Amaze UI v2.5.2 ~ Handlebars helper | by Amaze UI Team | (c) 2016 AllMobilize, Inc. | Licensed under MIT | 2016-01-26T11:06:52+0800 */
2 (function(undefined) {
3 'use strict';
4
5 var registerIfCondHelper = function(hbs) {
6 hbs.registerHelper('ifCond', function(v1, operator, v2, options) {
7 switch (operator) {
8 case '==':
9 return (v1 == v2) ? options.fn(this) : options.inverse(this);
10 break;
11 case '===':
12 return (v1 === v2) ? options.fn(this) : options.inverse(this);
13 break;
14 case '<':
15 return (v1 < v2) ? options.fn(this) : options.inverse(this);
16 break;
17 case '<=':
18 return (v1 <= v2) ? options.fn(this) : options.inverse(this);
19 break;
20 case '>':
21 return (v1 > v2) ? options.fn(this) : options.inverse(this);
22 break;
23 case '>=':
24 return (v1 >= v2) ? options.fn(this) : options.inverse(this);
25 break;
26 default:
27 return options.inverse(this);
28 break;
29 }
30 return options.inverse(this);
31 });
32 };
33
34 if (typeof module !== 'undefined' && module.exports) {
35 module.exports = registerIfCondHelper;
36 }
37
38 this.Handlebars && registerIfCondHelper(this.Handlebars);
39 }).call(this);
40
41 (function(undefined){
42 'use strict';
43
44 var registerAMUIPartials = function(hbs) {
45 hbs.registerPartial('accordion', "{{#this}}\n <section data-am-widget=\"accordion\" class=\"am-accordion {{#if theme}}am-accordion-{{theme}}{{else}}am-accordion-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"{{#if id}} id=\"{{id}}\"{{/if}} data-am-accordion='{ {{#if options.multiple}}\"multiple\": true{{/if}} }'>\n {{#each content}}\n <dl class=\"am-accordion-item{{#if active}} am-active{{/if}}{{#if disabled}} am-disabled{{/if}}\">\n <dt class=\"am-accordion-title\">\n {{{title}}}\n </dt>\n <dd class=\"am-accordion-bd am-collapse {{#if active}}am-in{{/if}}\">\n <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->\n <div class=\"am-accordion-content\">\n {{{content}}}\n </div>\n </dd>\n </dl>\n {{/each}}\n </section>\n{{/this}}\n");
46
47 hbs.registerPartial('divider', "{{#this}}\n <hr data-am-widget=\"divider\" style=\"{{#if options.width}}width:{{{options.width}}};{{/if}}{{#if options.height}}height:{{{options.height}}};{{/if}}\" class=\"am-divider {{#if theme}}am-divider-{{theme}}{{else}}am-divider-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"{{#if id}} id=\"{{id}}\"{{/if}} />\n{{/this}}\n");
48
49 hbs.registerPartial('duoshuo', "{{#this}}\n <div data-am-widget=\"duoshuo\" class=\"am-duoshuo{{#if theme}} am-duoshuo-{{theme}}{{else}} am-duoshuo-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"{{#if id}} id=\"{{id}}\"{{/if}} {{#if options.shortName}}data-ds-short-name=\"{{options.shortName}}\"{{/if}}>\n <div class=\"ds-thread\" {{#if content}}{{#each content}}{{#ifCond @key '==' 'threadKey'}} data-thread-key=\"{{this}}\"{{else}} data-{{@key}}=\"{{this}}\"{{/ifCond}}{{/each}}{{/if}}>\n </div>\n </div>\n{{/this}}");
50
51 hbs.registerPartial('figure', "{{#this}}\n <figure data-am-widget=\"figure\" class=\"am am-figure {{#if theme}}am-figure-{{theme}}{{else}}am-figure-default{{/if}} {{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" {{#if id}}\n id=\"{{id}}\"{{/if}} data-am-figure=\"{ {{#if options.zoomAble}} pureview: '{{options.zoomAble}}'{{/if}} }\">\n {{#if content.link}}<a href=\"{{content.link}}\" title=\"{{content.figcaption}}\" class=\"{{className}}\">{{/if}}\n\n {{#if options.figcaptionPosition}}\n {{#ifCond options.figcaptionPosition '==' 'top'}}\n {{#if content.figcaption}}\n <figcaption class=\"am-figure-capition-top\">\n {{content.figcaption}}\n </figcaption>\n {{/if}}\n {{/ifCond}}\n {{/if}}\n\n {{#if content.img}}\n <img src=\"{{content.img}}\" {{#if content.rel}}data-rel=\"{{content.rel}}\"{{/if}} alt=\"{{#if content.imgAlt}}{{content.imgAlt}}{{else}}{{content.figcaption}}{{/if}}\"/>\n {{/if}}\n {{#if options.figcaptionPosition}}\n {{#ifCond options.figcaptionPosition '==' 'bottom'}}\n {{#if content.figcaption}}\n <figcaption class=\"am-figure-capition-btm\">\n {{content.figcaption}}\n </figcaption>\n {{/if}}\n {{/ifCond}}\n {{else}}\n {{#if content.figcaption}}\n <figcaption class=\"am-figure-capition-btm\">\n {{content.figcaption}}\n </figcaption>\n {{/if}}\n {{/if}}\n\n {{#if content.link}}</a>{{/if}}\n </figure>\n{{/this}}\n");
52
53 hbs.registerPartial('footer', "{{#this}}\n <footer data-am-widget=\"footer\"\n class=\"am-footer {{#if theme}}am-footer-{{theme}}{{else}}am-footer-default {{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n {{#if id}}id=\"{{id}}\"{{/if}} data-am-footer=\"{ {{#if options.addToHS}}addToHS: 1{{/if}} }\">\n <div class=\"am-footer-switch\">\n <span class=\"{{#if options.modal}}am-footer-ysp{{/if}}\" data-rel=\"mobile\"\n data-am-modal=\"{target: '#am-switch-mode'}\">\n {{#unless content.switchName}}\n {{#ifCond content.lang '==' 'en'}}\n Mobile\n {{else}}\n 云适配版\n {{/ifCond}}\n {{else}}\n {{content.switchName}}\n {{/unless}}\n </span>\n <span class=\"am-footer-divider\"> | </span>\n <a id=\"godesktop\" data-rel=\"desktop\" class=\"am-footer-desktop\" href=\"javascript:\">\n {{#ifCond content.lang '==' 'en'}}\n Desktop\n {{else}}\n 电脑版\n {{/ifCond}}\n </a>\n </div>\n <div class=\"am-footer-miscs {{#if options.textPosition}}am-text-left{{/if}}\">\n\n {{#if options.techSupportCo}}\n {{#ifCond content.lang '==' 'en'}}\n <p>Supported by {{#if options.techSupportSite}}<a href=\"{{options.techSupportSite}}\"\n title=\"{{options.techSupportCo}}\"\n target=\"_blank\"> class=\"{{className}}\"{{{options.techSupportCo}}}</a>{{else}}{{{options.techSupportCo}}}{{/if}}\n .</p>\n {{else}}\n <p>由 {{#if options.techSupportSite}}<a href=\"{{options.techSupportSite}}\" title=\"{{options.techSupportCo}}\"\n target=\"_blank\" class=\"{{techSupportClassName}}\">{{{options.techSupportCo}}}</a>{{else}}{{{options.techSupportCo}}}{{/if}}\n 提供技术支持</p>\n {{/ifCond}}\n {{/if}}\n {{#each content.companyInfo}}\n <p>{{{detail}}}</p>\n {{/each}}\n </div>\n </footer>\n\n <div id=\"am-footer-modal\"\n class=\"am-modal am-modal-no-btn am-switch-mode-m {{#if theme}}am-switch-mode-m-{{theme}}{{/if}}\">\n <div class=\"am-modal-dialog\">\n <div class=\"am-modal-hd am-modal-footer-hd\">\n <a href=\"javascript:void(0)\" data-dismiss=\"modal\" class=\"am-close am-close-spin {{className}}\" data-am-modal-close>&times;</a>\n </div>\n <div class=\"am-modal-bd\">\n {{#ifCond content.lang '==' 'en'}}\n You are visiting\n {{else}}\n 您正在浏览的是\n {{/ifCond}}\n\n <span class=\"am-switch-mode-owner\">\n {{#if content.owner}}\n {{content.owner}}\n {{else}}\n 云适配\n {{/if}}\n </span>\n\n <span class=\"am-switch-mode-slogan\">\n {{#if content.slogan}}\n {{{content.slogan}}}\n {{else}}\n {{#ifCond content.lang '==' 'en'}}\n mobilized version for your device.\n {{else}}\n 为您当前手机订制的移动网站。\n {{/ifCond}}\n {{/if}}\n </span>\n </div>\n </div>\n </div>\n{{/this}}\n");
54
55 hbs.registerPartial('gallery', "{{#this}}\n <ul data-am-widget=\"gallery\" class=\"am-gallery{{#if options.cols}} am-avg-sm-{{options.cols}}{{else}} am-avg-sm-2{{/if}}\n am-avg-md-3 am-avg-lg-4 {{#if\n theme}}am-gallery-{{theme}}{{else}}am-gallery-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" data-am-gallery=\"{ {{#if options.gallery}}pureview: true{{/if}} }\" {{#if id}}id=\"{{id}}\"{{/if}}>\n {{#each content}}\n <li>\n <div class=\"am-gallery-item\">\n {{#if link}}\n <a href=\"{{link}}\" class=\"{{className}}\">\n {{#if img}}<img src=\"{{img}}\" {{#if rel}}data-rel=\"{{rel}}\"{{/if}} alt=\"{{title}}\"/>{{/if}}\n {{#if title}}\n <h3 class=\"am-gallery-title\">{{{title}}}</h3>\n {{/if}}\n {{#if desc}}\n <div class=\"am-gallery-desc\">{{{desc}}}</div>\n {{/if}}\n </a>\n {{else}}\n {{#if img}}<img src=\"{{img}}\" {{#if rel}}data-rel=\"{{rel}}\"{{/if}} alt=\"{{title}}\"/>{{/if}}\n {{#if title}}\n <h3 class=\"am-gallery-title\">{{{title}}}</h3>\n {{/if}}\n {{#if desc}}\n <div class=\"am-gallery-desc\">{{{desc}}}</div>\n {{/if}}\n {{/if}}\n </div>\n </li>\n {{/each}}\n </ul>\n{{/this}}\n");
56
57 hbs.registerPartial('gotop', "{{#this}}\n <div data-am-widget=\"gotop\" class=\"am-gotop {{#if theme}}am-gotop-{{theme}}{{else}}am-gotop-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" {{#if id}}id=\"{{id}}\"{{/if}}>\n <a href=\"#top\" title=\"{{content.title}}\">\n {{#if content.title}}\n <span class=\"am-gotop-title\">{{content.title}}</span>\n {{/if}}\n {{#if content.customIcon}}\n <img class=\"am-gotop-icon-custom\" src=\"{{content.customIcon}}\" />\n {{else}}\n {{#if content.icon}}\n <i class=\"am-gotop-icon am-icon-{{content.icon}}\"></i>\n {{else}}\n <i class=\"am-gotop-icon am-icon-chevron-up\"></i>\n {{/if}}\n {{/if}}\n </a>\n </div>\n{{/this}}\n");
58
59 hbs.registerPartial('header', "{{#this}}\n <header data-am-widget=\"header\"\n class=\"am-header{{#if theme}} am-header-{{theme}}{{else}} am-header-default{{/if}}{{#if options.fixed}} am-header-fixed{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"{{#if id}}\n id=\"{{id}}\"{{/if}}>\n {{#if content.left}}\n <div class=\"am-header-left am-header-nav\">\n {{#each content.left}}\n <a href=\"{{link}}\" class=\"{{className}}\">\n {{#if title}}\n <span class=\"am-header-nav-title\">\n {{title}}\n </span>\n {{/if}}\n\n {{# if customIcon}}\n <img class=\"am-header-icon-custom\" src=\"{{customIcon}}\" alt=\"\"/>\n {{else}}\n {{#if icon}}\n <i class=\"am-header-icon am-icon-{{icon}}\"></i>\n {{/if}}\n {{/if}}\n </a>\n {{/each}}\n </div>\n {{/if}}\n\n {{#if content.title}}\n <h1 class=\"am-header-title\">\n {{#if content.link}}\n <a href=\"{{content.link}}\" class=\"{{content.className}}\">\n {{{content.title}}}\n </a>\n {{else}}\n {{{content.title}}}\n {{/if}}\n </h1>\n {{/if}}\n\n {{#if content.right}}\n <div class=\"am-header-right am-header-nav\">\n {{#each content.right}}\n <a href=\"{{link}}\" class=\"{{className}}\">\n {{#if title}}\n <span class=\"am-header-nav-title\">\n {{title}}\n </span>\n {{/if}}\n\n {{# if customIcon}}\n <img class=\"am-header-icon-custom\" src=\"{{customIcon}}\" alt=\"\"/>\n {{else}}\n {{#if icon}}\n <i class=\"am-header-icon am-icon-{{icon}}\"></i>\n {{/if}}\n {{/if}}\n </a>\n {{/each}}\n </div>\n {{/if}}\n </header>\n{{/this}}\n");
60
61 hbs.registerPartial('intro', "{{#this }}\n <div data-am-widget=\"intro\"\n class=\"am-intro am-cf {{#if theme}}am-intro-{{theme}}{{else}}am-intro-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n {{#if id}}id=\"{{id}}\"{{/if}}>\n {{#if content.title}}\n <div class=\"am-intro-hd\">\n <h2 class=\"am-intro-title\">{{{content.title}}}</h2>\n {{#if content.more.link}}\n {{#ifCond options.position '==' 'top'}}\n <a class=\"am-intro-more am-intro-more-top {{content.more.className}}\" href=\"{{content.more.link}}\">{{content.more.title}}</a>\n {{/ifCond}}\n {{/if}}\n </div>\n {{/if}}\n\n <div class=\"am-g am-intro-bd\">\n {{#if content.left}}\n <div\n class=\"am-intro-left {{#if options.leftCols}}am-u-sm-{{options.leftCols}}{{/if}}\">{{{content.left}}}</div>\n {{/if}}\n {{#if content.right}}\n <div\n class=\"am-intro-right {{#if options.rightCols}}am-u-sm-{{options.rightCols}}{{/if}}\">{{{content.right}}}</div>\n {{/if}}\n </div>\n {{#ifCond options.position '==' 'bottom'}}\n <div class=\"am-intro-more-bottom\">\n <a class=\"am-btn am-btn-default {{content.more.className}}\"\n href=\"{{content.more.link}}\">{{content.more.title}}</a>\n </div>\n {{/ifCond}}\n </div>\n{{/this}}\n");
62
63 hbs.registerPartial('list_news', "{{#this}}\n <div data-am-widget=\"list_news\" class=\"am-list-news{{#if theme}} am-list-news-{{theme}}{{else}} am-list-news-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" {{#if id}}id=\"{{id}}\"{{/if}}>\n <!--列表标题-->\n {{#if content.header.title}}\n <div class=\"am-list-news-hd am-cf\">\n {{#if content.header.link}} <!--带更多链接-->\n <a href=\"{{content.header.link}}\" class=\"{{content.header.className}}\">\n <h2>{{{content.header.title}}}</h2>\n {{#ifCond content.header.morePosition '==' 'top'}}\n <span class=\"am-list-news-more am-fr\">{{{content.header.moreText}}}</span>\n {{/ifCond}}\n </a>\n {{else}} <!--不带更多链接-->\n <h2>{{{content.header.title}}}</h2>\n {{/if}}\n </div>\n {{/if}}\n\n <div class=\"am-list-news-bd\">\n <ul class=\"am-list\">\n {{#ifCond options.type '==' 'thumb'}}\n {{#ifCond options.thumbPosition '==' 'top'}} <!--缩略图在标题上方-->\n {{#each content.main}}\n <li class=\"am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-top{{/if}}\">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if img}}\n <div class=\"am-list-thumb am-u-sm-12\">\n <a href=\"{{link}}\" class=\"{{className}}\">\n <img src=\"{{img}}\" alt=\"{{title}}\"/>\n </a>\n {{#if thumbAddition}}\n <div class=\"am-list-thumb-addon\">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n\n <div class=\"{{#if img}}{{/if}} am-list-main\">\n {{#if title}}\n <h3 class=\"am-list-item-hd\"><a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a></h3>\n {{/if}}\n\n {{#if date}}\n <span class=\"am-list-date\">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class=\"am-list-item-text\">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class=\"am-list-news-addon\">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition '==' 'bottom-left'}} <!--缩略图在标题下方居左-->\n {{#each content.main}}\n <li class=\"am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-bottom-left{{/if}}\">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if title}}\n <h3 class=\"am-list-item-hd\"><a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a></h3>\n {{/if}}\n {{#if img}}\n <div class=\"am-u-sm-4 am-list-thumb\">\n <a href=\"{{link}}\" class=\"{{className}}\">\n <img src=\"{{img}}\" alt=\"{{title}}\"/>\n </a>\n {{#if thumbAddition}}\n <div class=\"am-list-thumb-addon\">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n\n <div class=\"{{#if img}} am-u-sm-8 {{/if}} am-list-main\">\n {{#if date}}\n <span class=\"am-list-date\">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class=\"am-list-item-text\">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class=\"am-list-news-addon\">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition '==' 'bottom-right'}} <!--缩略图在标题下方居右-->\n {{#each content.main}}\n <li class=\"am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-bottom-right{{/if}}\">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if title}}\n <h3 class=\"am-list-item-hd\"><a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a></h3>\n {{/if}}\n\n <div class=\"{{#if img}} am-u-sm-8{{/if}} am-list-main\">\n {{#if date}}\n <span class=\"am-list-date\">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class=\"am-list-item-text\">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class=\"am-list-news-addon\">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n {{#if img}}\n <div class=\"am-list-thumb am-u-sm-4\">\n <a href=\"{{link}}\" class=\"{{className}}\">\n <img src=\"{{img}}\" alt=\"{{title}}\"/>\n </a>\n {{#if thumbAddition}}\n <div class=\"am-list-thumb-addon\">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition '==' 'left'}} <!--缩略图在标题左边-->\n {{#each content.main}}\n <li class=\"am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-left{{/if}}\">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if img}}\n <div class=\"am-u-sm-4 am-list-thumb\">\n <a href=\"{{link}}\" class=\"{{className}}\">\n <img src=\"{{img}}\" alt=\"{{title}}\"/>\n </a>\n {{#if thumbAddition}}\n <div class=\"am-list-thumb-addon\">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n\n <div class=\"{{#if img}} am-u-sm-8{{/if}} am-list-main\">\n {{#if title}}\n <h3 class=\"am-list-item-hd\"><a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a></h3>\n {{/if}}\n {{#if date}}\n <span class=\"am-list-date\">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class=\"am-list-item-text\">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class=\"am-list-news-addon\">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition '==' 'right'}} <!--缩略图在标题右边-->\n {{#each content.main}}\n <li class=\"am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-right{{/if}}\">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n <div class=\"{{#if img}} am-u-sm-8{{/if}} am-list-main\">\n {{#if title}}\n <h3 class=\"am-list-item-hd\"><a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a></h3>\n {{/if}}\n\n {{#if date}}\n <span class=\"am-list-date\">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class=\"am-list-item-text\">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class=\"am-list-news-addon\">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n {{#if img}}\n <div class=\"am-u-sm-4 am-list-thumb\">\n <a href=\"{{link}}\" class=\"{{className}}\">\n <img src=\"{{img}}\" alt=\"{{title}}\"/>\n </a>\n {{#if thumbAddition}}\n <div class=\"am-list-thumb-addon\">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{else}}{{!--不带缩略图--}}\n {{#each content.main}}\n <li class=\"am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed{{/if}}\">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if title}}\n <a href=\"{{link}}\" class=\"am-list-item-hd {{className}}\">{{{title}}}</a>\n {{/if}}\n\n {{#if date}}\n <span class=\"am-list-date\">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class=\"am-list-item-text\">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class=\"am-list-news-addon\">{{{mainAddition}}}</div>\n {{/if}}\n </li>\n {{/each}}\n {{/ifCond}}\n </ul>\n </div>\n\n {{#ifCond content.header.morePosition '==' 'bottom'}}<!--更多在底部-->\n {{#if content.header.link}}\n <div class=\"am-list-news-ft\">\n <a class=\"am-list-news-more am-btn am-btn-default {{content.header.className}}\" href=\"{{content.header.link}}\">{{{content.header.moreText}}}</a>\n </div>\n {{/if}}\n {{/ifCond}}\n </div>\n{{/this}}\n");
64
65 hbs.registerPartial('map', "{{#this}}\n <div data-am-widget=\"map\" class=\"am-map {{#if theme}}am-map-{{theme}}{{else}}am-map-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n data-name=\"{{options.name}}\" data-address=\"{{options.address}}\" data-longitude=\"{{options.longitude}}\" data-latitude=\"{{options.latitude}}\" data-scaleControl=\"{{options.scaleControl}}\" data-zoomControl=\"{{options.zoomControl}}\" data-setZoom=\"{{options.setZoom}}\" data-icon=\"{{options.icon}}\">\n <div id=\"bd-map\"></div>\n </div>\n{{/this}}");
66
67 hbs.registerPartial('mechat', "{{#this}}\n <section data-am-widget=\"mechat\" class=\"am-mechat{{#if theme}} am-mechat-{{theme}}{{else}} am-mechat-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" {{#if id}} id=\"{{id}}\" {{/if}} {{#if options.unitid}}data-am-mechat-unitid=\"{{options.unitid}}\"{{/if}}>\n <div id=\"mechat\"></div>\n </section>\n{{/this}}");
68
69 hbs.registerPartial('menu', "{{#this}}\n <nav data-am-widget=\"menu\" class=\"am-menu {{#if theme}} am-menu-{{theme}}{{else}} am-menu-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" {{options.dataset}} {{#if id}}id=\"{{id}}\"{{/if}}\n {{#ifCond theme '==' 'dropdown1'}} data-am-menu-collapse{{/ifCond}}\n {{#ifCond theme '==' 'dropdown2'}} data-am-menu-collapse{{/ifCond}}\n {{#ifCond theme '==' 'slide1'}} data-am-menu-collapse{{/ifCond}}\n {{#ifCond theme '==' 'offcanvas1'}} data-am-menu-offcanvas{{/ifCond}}\n {{#ifCond theme '==' 'offcanvas2'}} data-am-menu-offcanvas{{/ifCond}}> {{!-- 与模板深耦合,与 JS 浅耦合 --}}\n <a href=\"javascript: void(0)\" class=\"am-menu-toggle\">\n {{#if options.toggleTitle}}\n <span class=\"am-menu-toggle-title\">{{options.toggleTitle}}</span>\n {{/if}}\n {{#if options.toggleCustomIcon}}\n <img src=\"{{options.toggleCustomIcon}}\" alt=\"Menu Toggle\"/>\n {{else}}\n {{#if options.toggleIcon}}\n <i class=\"am-menu-toggle-icon am-icon-{{options.toggleIcon}}\"></i>\n {{else}}\n <i class=\"am-menu-toggle-icon am-icon-bars\"></i>\n {{/if}}\n {{/if}}\n </a>\n\n {{!-- offCanvas menu Wrap --}}\n {{!-- 问题:方便用户,但是与主题名称(类名)耦合过深 --}}\n {{#ifCond theme '==' 'offcanvas1'}}\n <div class=\"am-offcanvas\" {{#if options.closeOffCanvasOnclick}}data-dismiss-on=\"click\"{{/if}}>\n <div class=\"am-offcanvas-bar{{#if options.offCanvasFlip}} am-offcanvas-bar-flip{{/if}}\">\n {{/ifCond}}\n {{#ifCond theme '==' 'offcanvas2'}}\n <div class=\"am-offcanvas\">\n <div class=\"am-offcanvas-bar{{#if options.offCanvasFlip}} am-offcanvas-bar-flip{{/if}}\">\n {{/ifCond}}\n\n {{#if content}}\n <ul class=\"am-menu-nav {{#if options.cols}}am-avg-sm-{{options\n .cols}}{{else}}am-avg-sm-1{{/if}}{{#ifCond theme '==' 'dropdown1'}} am-collapse{{/ifCond}}{{#ifCond theme\n '==' 'dropdown2'}} am-collapse{{/ifCond}}{{#ifCond theme\n '==' 'slide1'}} am-collapse{{/ifCond}}\">\n {{#each content}}\n <li class=\"{{#if subMenu}}am-parent{{/if}}{{#if className}} {{className}}{{/if}}\">\n <a href=\"{{link}}\" class=\"{{className}}\" {{#if target}}target=\"{{target}}\" {{/if}}>{{{title}}}</a>\n {{#if subMenu}}\n <ul class=\"am-menu-sub am-collapse {{#if subCols}} am-avg-sm-{{subCols}}{{else}}\n am-avg-sm-1{{/if}} {{subMenuClassName}}\">\n {{#each subMenu}}\n <li class=\"{{#if subMenu}} am-parent{{/if}}{{#if className}} {{className}}{{/if}}\">\n <a href=\"{{link}}\" class=\"{{className}}\" {{#if target}}target=\"{{target}}\" {{/if}}>{{{title}}}</a>\n </li>\n {{/each}}\n {{!-- 显示进入栏目链接 --}}\n {{#if channelLink}}\n <li class=\"am-menu-nav-channel\"><a href=\"{{link}}\" class=\"{{className}}\" title=\"{{title}}\">{{{channelLink}}}</a></li>\n {{/if}}\n </ul>\n {{/if}}\n </li>\n {{/each}}\n </ul>\n {{/if}}\n\n {{#ifCond theme '==' 'offcanvas1'}}\n </div>\n </div>\n {{/ifCond}}\n {{#ifCond theme '==' 'offcanvas2'}}\n </div>\n </div>\n {{/ifCond}}\n {{!-- 不要问我为什么这样写,我也不想这样 --}}\n </nav>\n{{/this}}\n");
70
71 hbs.registerPartial('navbar', "{{#this}}\n <div data-am-widget=\"navbar\" class=\"am-navbar am-cf {{#if theme}}am-navbar-{{theme}}{{else}}am-navbar-default{{/if}} {{#if options.iconPosition}}am-navbar-inline{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n id=\"{{id}}\">\n {{#if content}}\n <ul class=\"am-navbar-nav am-cf {{#if options.cols}}am-avg-sm-{{options.cols}}{{/if}}\">\n {{#each content}}\n <li {{{dataApi}}}>\n <a href=\"{{link}}\" class=\"{{className}}\">\n {{#if customIcon}}\n <img src=\"{{customIcon}}\" alt=\"{{title}}\"/>\n {{else}}\n {{#if icon}}\n <span class=\"am-icon-{{icon}}\"></span>\n {{/if}}\n {{/if}}\n {{#if title}}\n <span class=\"am-navbar-label\">{{title}}</span>\n {{/if}}\n </a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n </div>\n{{/this}}\n");
72
73 hbs.registerPartial('pagination', "{{#this}}\n <ul data-am-widget=\"pagination\"\n class=\"am-pagination {{#if theme}}am-pagination-{{theme}}{{else}}am-pagination-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n {{#if id}}id=\"{{id}}\"{{/if}}>\n\n {{#if content.firstTitle}}\n <li class=\"am-pagination-first {{content.firstClassName}}\">\n <a href=\"{{content.firstLink}}\" class=\"{{content.firstClassName}}\">{{{content.firstTitle}}}</a>\n </li>\n {{/if}}\n\n {{#if content.prevTitle}}\n <li class=\"am-pagination-prev {{content.prevClassName}}\">\n <a href=\"{{content.prevLink}}\" class=\"{{content.prevClassName}}\">{{{content.prevTitle}}}</a>\n </li>\n {{/if}}\n\n {{! 移除 options.select,根据主题来判断结构,无奈 handlebars 逻辑处理...}}\n\n {{#if content.page}}\n {{#ifCond theme '==' 'select'}}\n <li class=\"am-pagination-select\">\n <select>\n {{#each content.page}}\n <option value=\"{{link}}\" class=\"{{className}}\">{{title}}{{#if ../content.total}}\n / {{../../content.total}}{{/if}}\n </option>\n {{/each}}\n </select>\n </li>\n {{else}}\n {{#ifCond theme '==' 'one'}}\n <li class=\"am-pagination-select\">\n <select>\n {{#each content.page}}\n {{content.total}}\n <option value=\"{{link}}\" class=\"{{className}}\">{{title}}{{#if ../content.total}}\n / {{../../content.total}}{{/if}}\n </option>\n {{/each}}\n </select>\n </li>\n {{else}}\n {{#each content.page}}\n <li class=\"{{className}}\">\n <a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a>\n </li>\n {{/each}}\n {{/ifCond}}\n {{/ifCond}}\n\n {{/if}}\n\n {{#if content.nextTitle}}\n <li class=\"am-pagination-next {{content.nextClassName}}\">\n <a href=\"{{content.nextLink}}\" class=\"{{content.nextClassName}}\">{{{content.nextTitle}}}</a>\n </li>\n {{/if}}\n\n {{#if content.lastTitle}}\n <li class=\"am-pagination-last {{content.lastClassName}}\">\n <a href=\"{{content.lastLink}}\" class=\"{{content.lastClassName}}\">{{{content.lastTitle}}}</a>\n </li>\n {{/if}}\n </ul>\n{{/this}}\n");
74
75 hbs.registerPartial('paragraph', "{{#this}}\n <article data-am-widget=\"paragraph\"\n class=\"am-paragraph {{#if theme}}am-paragraph-{{theme}}{{else}}am-paragraph-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n {{#if id}}id=\"{{id}}\"{{/if}}\n data-am-paragraph=\"{ {{#if options.tableScrollable}}tableScrollable: true,{{/if}} {{#if options.imgLightbox}}pureview: true{{/if}} }\">\n\n {{#if content}}\n {{{ content.content }}}\n {{/if}}\n </article>\n{{/this}}\n");
76
77 hbs.registerPartial('slider', "{{#this}}\n <div data-am-widget=\"slider\" class=\"am-slider {{#if theme}}am-slider-{{theme}}{{else}}am-slider-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" data-am-slider='{{sliderConfig}}' {{#if id}}id=\"{{id}}\"{{/if}}>\n <ul class=\"am-slides\">\n {{#each content}}\n <li{{#if thumb}} data-thumb=\"{{thumb}}\"{{/if}}>\n {{#if link}}\n <a href=\"{{link}}\" class=\"{{className}}\">\n {{/if}}\n {{#if img}}\n \t<img src=\"{{img}}\">\n {{/if}}\n {{#if desc}}\n <div class=\"am-slider-desc\">{{{desc}}}</div>\n {{/if}}\n {{#if link}}</a>{{/if}} {{!--/end link--}}\n </li>\n {{/each}}\n </ul>\n</div>\n{{/this}}");
78
79 hbs.registerPartial('tabs', "{{#this}}\n <div data-am-widget=\"tabs\"\n class=\"am-tabs{{#if theme}} am-tabs-{{theme}}{{else}} am-tabs-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"\n {{#if id}}id=\"{{id}}\"{{/if}} {{#if options.noSwipe}}data-am-tabs-noswipe=\"1\"{{/if}}>\n {{#if content}}\n <ul class=\"am-tabs-nav am-cf\">\n {{#each content}}\n <li class=\"{{#if active}}am-active{{/if}}\"><a href=\"[data-tab-panel-{{@index}}]\">{{{title}}}</a></li>\n {{/each}}\n </ul>\n <div class=\"am-tabs-bd\">\n {{#each content}}\n <div data-tab-panel-{{@index}} class=\"am-tab-panel {{#if active}}am-active{{/if}}\">\n {{{content}}}\n </div>\n {{/each}}\n </div>\n {{/if}}\n </div>\n{{/this}}\n");
80
81 hbs.registerPartial('titlebar', "{{#this}}\n<div data-am-widget=\"titlebar\" class=\"am-titlebar {{#if theme}}am-titlebar-{{theme}}{{else}}am-titlebar-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\" {{#if id}}id=\"{{id}}\"{{/if}}>\n {{#if content.title}}\n <h2 class=\"am-titlebar-title {{#unless content.link}}{{content.className}}{{/unless}}\">\n {{#if content.link}}\n <a href=\"{{content.link}}\" class=\"{{content.className}}\">{{{content.title}}}</a>\n {{else}}\n {{{content.title}}}\n {{/if}}\n </h2>\n {{/if}}\n\n {{#if content.nav}}\n <nav class=\"am-titlebar-nav\">\n {{#each content.nav}}\n <a href=\"{{link}}\" class=\"{{className}}\">{{{title}}}</a>\n {{/each}}\n </nav>\n {{/if}}\n</div>\n{{/this}}\n");
82
83 hbs.registerPartial('wechatpay', "{{#this}}\n <div data-am-widget=\"wechatpay\" class=\"am-wechatpay{{#if theme}} am-wechatpay-{{theme}}{{else}} am-wechatpay-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}\"{{#if id}} id=\"{{id}}\"{{/if}} data-wechat-pay=\"{ {{#each content.order}} {{@key}}: '{{this}}',{{/each}} }\">\n <button type=\"button\" class=\"am-btn am-btn-primary am-btn-block am-wechatpay-btn\">\n {{#if content.title}}\n {{content.title}}\n {{else}}\n 微信支付\n {{/if}}\n </button>\n </div>\n{{/this}}\n");
84
85 };
86
87 if (typeof module !== 'undefined' && module.exports) {
88 module.exports = registerAMUIPartials;
89 }
90
91 this.Handlebars && registerAMUIPartials(this.Handlebars);
92 }).call(this);
1 /*! Amaze UI v2.5.2 ~ Handlebars helper | by Amaze UI Team | (c) 2016 AllMobilize, Inc. | Licensed under MIT | 2016-01-26T11:06:52+0800 */
2 (function(i){"use strict";var n=function(i){i.registerHelper("ifCond",function(i,n,t,a){switch(n){case"==":return i==t?a.fn(this):a.inverse(this);case"===":return i===t?a.fn(this):a.inverse(this);case"<":return t>i?a.fn(this):a.inverse(this);case"<=":return t>=i?a.fn(this):a.inverse(this);case">":return i>t?a.fn(this):a.inverse(this);case">=":return i>=t?a.fn(this):a.inverse(this);default:return a.inverse(this)}return a.inverse(this)})};"undefined"!=typeof module&&module.exports&&(module.exports=n),this.Handlebars&&n(this.Handlebars)}).call(this),function(i){"use strict";var n=function(i){i.registerPartial("accordion",'{{#this}}\n <section data-am-widget="accordion" class="am-accordion {{#if theme}}am-accordion-{{theme}}{{else}}am-accordion-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"{{#if id}} id="{{id}}"{{/if}} data-am-accordion=\'{ {{#if options.multiple}}"multiple": true{{/if}} }\'>\n {{#each content}}\n <dl class="am-accordion-item{{#if active}} am-active{{/if}}{{#if disabled}} am-disabled{{/if}}">\n <dt class="am-accordion-title">\n {{{title}}}\n </dt>\n <dd class="am-accordion-bd am-collapse {{#if active}}am-in{{/if}}">\n <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->\n <div class="am-accordion-content">\n {{{content}}}\n </div>\n </dd>\n </dl>\n {{/each}}\n </section>\n{{/this}}\n'),i.registerPartial("divider",'{{#this}}\n <hr data-am-widget="divider" style="{{#if options.width}}width:{{{options.width}}};{{/if}}{{#if options.height}}height:{{{options.height}}};{{/if}}" class="am-divider {{#if theme}}am-divider-{{theme}}{{else}}am-divider-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"{{#if id}} id="{{id}}"{{/if}} />\n{{/this}}\n'),i.registerPartial("duoshuo",'{{#this}}\n <div data-am-widget="duoshuo" class="am-duoshuo{{#if theme}} am-duoshuo-{{theme}}{{else}} am-duoshuo-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"{{#if id}} id="{{id}}"{{/if}} {{#if options.shortName}}data-ds-short-name="{{options.shortName}}"{{/if}}>\n <div class="ds-thread" {{#if content}}{{#each content}}{{#ifCond @key \'==\' \'threadKey\'}} data-thread-key="{{this}}"{{else}} data-{{@key}}="{{this}}"{{/ifCond}}{{/each}}{{/if}}>\n </div>\n </div>\n{{/this}}'),i.registerPartial("figure",'{{#this}}\n <figure data-am-widget="figure" class="am am-figure {{#if theme}}am-figure-{{theme}}{{else}}am-figure-default{{/if}} {{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" {{#if id}}\n id="{{id}}"{{/if}} data-am-figure="{ {{#if options.zoomAble}} pureview: \'{{options.zoomAble}}\'{{/if}} }">\n {{#if content.link}}<a href="{{content.link}}" title="{{content.figcaption}}" class="{{className}}">{{/if}}\n\n {{#if options.figcaptionPosition}}\n {{#ifCond options.figcaptionPosition \'==\' \'top\'}}\n {{#if content.figcaption}}\n <figcaption class="am-figure-capition-top">\n {{content.figcaption}}\n </figcaption>\n {{/if}}\n {{/ifCond}}\n {{/if}}\n\n {{#if content.img}}\n <img src="{{content.img}}" {{#if content.rel}}data-rel="{{content.rel}}"{{/if}} alt="{{#if content.imgAlt}}{{content.imgAlt}}{{else}}{{content.figcaption}}{{/if}}"/>\n {{/if}}\n {{#if options.figcaptionPosition}}\n {{#ifCond options.figcaptionPosition \'==\' \'bottom\'}}\n {{#if content.figcaption}}\n <figcaption class="am-figure-capition-btm">\n {{content.figcaption}}\n </figcaption>\n {{/if}}\n {{/ifCond}}\n {{else}}\n {{#if content.figcaption}}\n <figcaption class="am-figure-capition-btm">\n {{content.figcaption}}\n </figcaption>\n {{/if}}\n {{/if}}\n\n {{#if content.link}}</a>{{/if}}\n </figure>\n{{/this}}\n'),i.registerPartial("footer",'{{#this}}\n <footer data-am-widget="footer"\n class="am-footer {{#if theme}}am-footer-{{theme}}{{else}}am-footer-default {{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n {{#if id}}id="{{id}}"{{/if}} data-am-footer="{ {{#if options.addToHS}}addToHS: 1{{/if}} }">\n <div class="am-footer-switch">\n <span class="{{#if options.modal}}am-footer-ysp{{/if}}" data-rel="mobile"\n data-am-modal="{target: \'#am-switch-mode\'}">\n {{#unless content.switchName}}\n {{#ifCond content.lang \'==\' \'en\'}}\n Mobile\n {{else}}\n 云适配版\n {{/ifCond}}\n {{else}}\n {{content.switchName}}\n {{/unless}}\n </span>\n <span class="am-footer-divider"> | </span>\n <a id="godesktop" data-rel="desktop" class="am-footer-desktop" href="javascript:">\n {{#ifCond content.lang \'==\' \'en\'}}\n Desktop\n {{else}}\n 电脑版\n {{/ifCond}}\n </a>\n </div>\n <div class="am-footer-miscs {{#if options.textPosition}}am-text-left{{/if}}">\n\n {{#if options.techSupportCo}}\n {{#ifCond content.lang \'==\' \'en\'}}\n <p>Supported by {{#if options.techSupportSite}}<a href="{{options.techSupportSite}}"\n title="{{options.techSupportCo}}"\n target="_blank"> class="{{className}}"{{{options.techSupportCo}}}</a>{{else}}{{{options.techSupportCo}}}{{/if}}\n .</p>\n {{else}}\n <p>由 {{#if options.techSupportSite}}<a href="{{options.techSupportSite}}" title="{{options.techSupportCo}}"\n target="_blank" class="{{techSupportClassName}}">{{{options.techSupportCo}}}</a>{{else}}{{{options.techSupportCo}}}{{/if}}\n 提供技术支持</p>\n {{/ifCond}}\n {{/if}}\n {{#each content.companyInfo}}\n <p>{{{detail}}}</p>\n {{/each}}\n </div>\n </footer>\n\n <div id="am-footer-modal"\n class="am-modal am-modal-no-btn am-switch-mode-m {{#if theme}}am-switch-mode-m-{{theme}}{{/if}}">\n <div class="am-modal-dialog">\n <div class="am-modal-hd am-modal-footer-hd">\n <a href="javascript:void(0)" data-dismiss="modal" class="am-close am-close-spin {{className}}" data-am-modal-close>&times;</a>\n </div>\n <div class="am-modal-bd">\n {{#ifCond content.lang \'==\' \'en\'}}\n You are visiting\n {{else}}\n 您正在浏览的是\n {{/ifCond}}\n\n <span class="am-switch-mode-owner">\n {{#if content.owner}}\n {{content.owner}}\n {{else}}\n 云适配\n {{/if}}\n </span>\n\n <span class="am-switch-mode-slogan">\n {{#if content.slogan}}\n {{{content.slogan}}}\n {{else}}\n {{#ifCond content.lang \'==\' \'en\'}}\n mobilized version for your device.\n {{else}}\n 为您当前手机订制的移动网站。\n {{/ifCond}}\n {{/if}}\n </span>\n </div>\n </div>\n </div>\n{{/this}}\n'),i.registerPartial("gallery",'{{#this}}\n <ul data-am-widget="gallery" class="am-gallery{{#if options.cols}} am-avg-sm-{{options.cols}}{{else}} am-avg-sm-2{{/if}}\n am-avg-md-3 am-avg-lg-4 {{#if\n theme}}am-gallery-{{theme}}{{else}}am-gallery-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" data-am-gallery="{ {{#if options.gallery}}pureview: true{{/if}} }" {{#if id}}id="{{id}}"{{/if}}>\n {{#each content}}\n <li>\n <div class="am-gallery-item">\n {{#if link}}\n <a href="{{link}}" class="{{className}}">\n {{#if img}}<img src="{{img}}" {{#if rel}}data-rel="{{rel}}"{{/if}} alt="{{title}}"/>{{/if}}\n {{#if title}}\n <h3 class="am-gallery-title">{{{title}}}</h3>\n {{/if}}\n {{#if desc}}\n <div class="am-gallery-desc">{{{desc}}}</div>\n {{/if}}\n </a>\n {{else}}\n {{#if img}}<img src="{{img}}" {{#if rel}}data-rel="{{rel}}"{{/if}} alt="{{title}}"/>{{/if}}\n {{#if title}}\n <h3 class="am-gallery-title">{{{title}}}</h3>\n {{/if}}\n {{#if desc}}\n <div class="am-gallery-desc">{{{desc}}}</div>\n {{/if}}\n {{/if}}\n </div>\n </li>\n {{/each}}\n </ul>\n{{/this}}\n'),i.registerPartial("gotop",'{{#this}}\n <div data-am-widget="gotop" class="am-gotop {{#if theme}}am-gotop-{{theme}}{{else}}am-gotop-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" {{#if id}}id="{{id}}"{{/if}}>\n <a href="#top" title="{{content.title}}">\n {{#if content.title}}\n <span class="am-gotop-title">{{content.title}}</span>\n {{/if}}\n {{#if content.customIcon}}\n <img class="am-gotop-icon-custom" src="{{content.customIcon}}" />\n {{else}}\n {{#if content.icon}}\n <i class="am-gotop-icon am-icon-{{content.icon}}"></i>\n {{else}}\n <i class="am-gotop-icon am-icon-chevron-up"></i>\n {{/if}}\n {{/if}}\n </a>\n </div>\n{{/this}}\n'),i.registerPartial("header",'{{#this}}\n <header data-am-widget="header"\n class="am-header{{#if theme}} am-header-{{theme}}{{else}} am-header-default{{/if}}{{#if options.fixed}} am-header-fixed{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"{{#if id}}\n id="{{id}}"{{/if}}>\n {{#if content.left}}\n <div class="am-header-left am-header-nav">\n {{#each content.left}}\n <a href="{{link}}" class="{{className}}">\n {{#if title}}\n <span class="am-header-nav-title">\n {{title}}\n </span>\n {{/if}}\n\n {{# if customIcon}}\n <img class="am-header-icon-custom" src="{{customIcon}}" alt=""/>\n {{else}}\n {{#if icon}}\n <i class="am-header-icon am-icon-{{icon}}"></i>\n {{/if}}\n {{/if}}\n </a>\n {{/each}}\n </div>\n {{/if}}\n\n {{#if content.title}}\n <h1 class="am-header-title">\n {{#if content.link}}\n <a href="{{content.link}}" class="{{content.className}}">\n {{{content.title}}}\n </a>\n {{else}}\n {{{content.title}}}\n {{/if}}\n </h1>\n {{/if}}\n\n {{#if content.right}}\n <div class="am-header-right am-header-nav">\n {{#each content.right}}\n <a href="{{link}}" class="{{className}}">\n {{#if title}}\n <span class="am-header-nav-title">\n {{title}}\n </span>\n {{/if}}\n\n {{# if customIcon}}\n <img class="am-header-icon-custom" src="{{customIcon}}" alt=""/>\n {{else}}\n {{#if icon}}\n <i class="am-header-icon am-icon-{{icon}}"></i>\n {{/if}}\n {{/if}}\n </a>\n {{/each}}\n </div>\n {{/if}}\n </header>\n{{/this}}\n'),i.registerPartial("intro",'{{#this }}\n <div data-am-widget="intro"\n class="am-intro am-cf {{#if theme}}am-intro-{{theme}}{{else}}am-intro-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n {{#if id}}id="{{id}}"{{/if}}>\n {{#if content.title}}\n <div class="am-intro-hd">\n <h2 class="am-intro-title">{{{content.title}}}</h2>\n {{#if content.more.link}}\n {{#ifCond options.position \'==\' \'top\'}}\n <a class="am-intro-more am-intro-more-top {{content.more.className}}" href="{{content.more.link}}">{{content.more.title}}</a>\n {{/ifCond}}\n {{/if}}\n </div>\n {{/if}}\n\n <div class="am-g am-intro-bd">\n {{#if content.left}}\n <div\n class="am-intro-left {{#if options.leftCols}}am-u-sm-{{options.leftCols}}{{/if}}">{{{content.left}}}</div>\n {{/if}}\n {{#if content.right}}\n <div\n class="am-intro-right {{#if options.rightCols}}am-u-sm-{{options.rightCols}}{{/if}}">{{{content.right}}}</div>\n {{/if}}\n </div>\n {{#ifCond options.position \'==\' \'bottom\'}}\n <div class="am-intro-more-bottom">\n <a class="am-btn am-btn-default {{content.more.className}}"\n href="{{content.more.link}}">{{content.more.title}}</a>\n </div>\n {{/ifCond}}\n </div>\n{{/this}}\n'),i.registerPartial("list_news",'{{#this}}\n <div data-am-widget="list_news" class="am-list-news{{#if theme}} am-list-news-{{theme}}{{else}} am-list-news-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" {{#if id}}id="{{id}}"{{/if}}>\n <!--列表标题-->\n {{#if content.header.title}}\n <div class="am-list-news-hd am-cf">\n {{#if content.header.link}} <!--带更多链接-->\n <a href="{{content.header.link}}" class="{{content.header.className}}">\n <h2>{{{content.header.title}}}</h2>\n {{#ifCond content.header.morePosition \'==\' \'top\'}}\n <span class="am-list-news-more am-fr">{{{content.header.moreText}}}</span>\n {{/ifCond}}\n </a>\n {{else}} <!--不带更多链接-->\n <h2>{{{content.header.title}}}</h2>\n {{/if}}\n </div>\n {{/if}}\n\n <div class="am-list-news-bd">\n <ul class="am-list">\n {{#ifCond options.type \'==\' \'thumb\'}}\n {{#ifCond options.thumbPosition \'==\' \'top\'}} <!--缩略图在标题上方-->\n {{#each content.main}}\n <li class="am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-top{{/if}}">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if img}}\n <div class="am-list-thumb am-u-sm-12">\n <a href="{{link}}" class="{{className}}">\n <img src="{{img}}" alt="{{title}}"/>\n </a>\n {{#if thumbAddition}}\n <div class="am-list-thumb-addon">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n\n <div class="{{#if img}}{{/if}} am-list-main">\n {{#if title}}\n <h3 class="am-list-item-hd"><a href="{{link}}" class="{{className}}">{{{title}}}</a></h3>\n {{/if}}\n\n {{#if date}}\n <span class="am-list-date">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class="am-list-item-text">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class="am-list-news-addon">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition \'==\' \'bottom-left\'}} <!--缩略图在标题下方居左-->\n {{#each content.main}}\n <li class="am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-bottom-left{{/if}}">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if title}}\n <h3 class="am-list-item-hd"><a href="{{link}}" class="{{className}}">{{{title}}}</a></h3>\n {{/if}}\n {{#if img}}\n <div class="am-u-sm-4 am-list-thumb">\n <a href="{{link}}" class="{{className}}">\n <img src="{{img}}" alt="{{title}}"/>\n </a>\n {{#if thumbAddition}}\n <div class="am-list-thumb-addon">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n\n <div class="{{#if img}} am-u-sm-8 {{/if}} am-list-main">\n {{#if date}}\n <span class="am-list-date">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class="am-list-item-text">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class="am-list-news-addon">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition \'==\' \'bottom-right\'}} <!--缩略图在标题下方居右-->\n {{#each content.main}}\n <li class="am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-bottom-right{{/if}}">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if title}}\n <h3 class="am-list-item-hd"><a href="{{link}}" class="{{className}}">{{{title}}}</a></h3>\n {{/if}}\n\n <div class="{{#if img}} am-u-sm-8{{/if}} am-list-main">\n {{#if date}}\n <span class="am-list-date">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class="am-list-item-text">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class="am-list-news-addon">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n {{#if img}}\n <div class="am-list-thumb am-u-sm-4">\n <a href="{{link}}" class="{{className}}">\n <img src="{{img}}" alt="{{title}}"/>\n </a>\n {{#if thumbAddition}}\n <div class="am-list-thumb-addon">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition \'==\' \'left\'}} <!--缩略图在标题左边-->\n {{#each content.main}}\n <li class="am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-left{{/if}}">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if img}}\n <div class="am-u-sm-4 am-list-thumb">\n <a href="{{link}}" class="{{className}}">\n <img src="{{img}}" alt="{{title}}"/>\n </a>\n {{#if thumbAddition}}\n <div class="am-list-thumb-addon">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n\n <div class="{{#if img}} am-u-sm-8{{/if}} am-list-main">\n {{#if title}}\n <h3 class="am-list-item-hd"><a href="{{link}}" class="{{className}}">{{{title}}}</a></h3>\n {{/if}}\n {{#if date}}\n <span class="am-list-date">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class="am-list-item-text">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class="am-list-news-addon">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{#ifCond options.thumbPosition \'==\' \'right\'}} <!--缩略图在标题右边-->\n {{#each content.main}}\n <li class="am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed am-list-item-thumb-right{{/if}}">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n <div class="{{#if img}} am-u-sm-8{{/if}} am-list-main">\n {{#if title}}\n <h3 class="am-list-item-hd"><a href="{{link}}" class="{{className}}">{{{title}}}</a></h3>\n {{/if}}\n\n {{#if date}}\n <span class="am-list-date">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class="am-list-item-text">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class="am-list-news-addon">{{{mainAddition}}}</div>\n {{/if}}\n </div>\n {{#if img}}\n <div class="am-u-sm-4 am-list-thumb">\n <a href="{{link}}" class="{{className}}">\n <img src="{{img}}" alt="{{title}}"/>\n </a>\n {{#if thumbAddition}}\n <div class="am-list-thumb-addon">{{{thumbAddition}}}</div>\n {{/if}}\n </div>\n {{/if}}\n </li>\n {{/each}}\n {{/ifCond}}\n\n {{else}}{{!--不带缩略图--}}\n {{#each content.main}}\n <li class="am-g{{#if date}} am-list-item-dated{{/if}}{{#if desc}} am-list-item-desced{{/if}}{{#if img}} am-list-item-thumbed{{/if}}">\n {{!--\n am-list-item-dated - 带日期\n am-list-item-desced - 带描述\n am-list-item-thumbed - 带缩略图的\n --}}\n {{#if title}}\n <a href="{{link}}" class="am-list-item-hd {{className}}">{{{title}}}</a>\n {{/if}}\n\n {{#if date}}\n <span class="am-list-date">{{date}}</span>\n {{/if}}\n\n {{#if desc}}\n <div class="am-list-item-text">{{{desc}}}</div>\n {{/if}}\n\n {{#if mainAddition}}\n <div class="am-list-news-addon">{{{mainAddition}}}</div>\n {{/if}}\n </li>\n {{/each}}\n {{/ifCond}}\n </ul>\n </div>\n\n {{#ifCond content.header.morePosition \'==\' \'bottom\'}}<!--更多在底部-->\n {{#if content.header.link}}\n <div class="am-list-news-ft">\n <a class="am-list-news-more am-btn am-btn-default {{content.header.className}}" href="{{content.header.link}}">{{{content.header.moreText}}}</a>\n </div>\n {{/if}}\n {{/ifCond}}\n </div>\n{{/this}}\n'),i.registerPartial("map",'{{#this}}\n <div data-am-widget="map" class="am-map {{#if theme}}am-map-{{theme}}{{else}}am-map-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n data-name="{{options.name}}" data-address="{{options.address}}" data-longitude="{{options.longitude}}" data-latitude="{{options.latitude}}" data-scaleControl="{{options.scaleControl}}" data-zoomControl="{{options.zoomControl}}" data-setZoom="{{options.setZoom}}" data-icon="{{options.icon}}">\n <div id="bd-map"></div>\n </div>\n{{/this}}'),i.registerPartial("mechat",'{{#this}}\n <section data-am-widget="mechat" class="am-mechat{{#if theme}} am-mechat-{{theme}}{{else}} am-mechat-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" {{#if id}} id="{{id}}" {{/if}} {{#if options.unitid}}data-am-mechat-unitid="{{options.unitid}}"{{/if}}>\n <div id="mechat"></div>\n </section>\n{{/this}}'),i.registerPartial("menu",'{{#this}}\n <nav data-am-widget="menu" class="am-menu {{#if theme}} am-menu-{{theme}}{{else}} am-menu-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" {{options.dataset}} {{#if id}}id="{{id}}"{{/if}}\n {{#ifCond theme \'==\' \'dropdown1\'}} data-am-menu-collapse{{/ifCond}}\n {{#ifCond theme \'==\' \'dropdown2\'}} data-am-menu-collapse{{/ifCond}}\n {{#ifCond theme \'==\' \'slide1\'}} data-am-menu-collapse{{/ifCond}}\n {{#ifCond theme \'==\' \'offcanvas1\'}} data-am-menu-offcanvas{{/ifCond}}\n {{#ifCond theme \'==\' \'offcanvas2\'}} data-am-menu-offcanvas{{/ifCond}}> {{!-- 与模板深耦合,与 JS 浅耦合 --}}\n <a href="javascript: void(0)" class="am-menu-toggle">\n {{#if options.toggleTitle}}\n <span class="am-menu-toggle-title">{{options.toggleTitle}}</span>\n {{/if}}\n {{#if options.toggleCustomIcon}}\n <img src="{{options.toggleCustomIcon}}" alt="Menu Toggle"/>\n {{else}}\n {{#if options.toggleIcon}}\n <i class="am-menu-toggle-icon am-icon-{{options.toggleIcon}}"></i>\n {{else}}\n <i class="am-menu-toggle-icon am-icon-bars"></i>\n {{/if}}\n {{/if}}\n </a>\n\n {{!-- offCanvas menu Wrap --}}\n {{!-- 问题:方便用户,但是与主题名称(类名)耦合过深 --}}\n {{#ifCond theme \'==\' \'offcanvas1\'}}\n <div class="am-offcanvas" {{#if options.closeOffCanvasOnclick}}data-dismiss-on="click"{{/if}}>\n <div class="am-offcanvas-bar{{#if options.offCanvasFlip}} am-offcanvas-bar-flip{{/if}}">\n {{/ifCond}}\n {{#ifCond theme \'==\' \'offcanvas2\'}}\n <div class="am-offcanvas">\n <div class="am-offcanvas-bar{{#if options.offCanvasFlip}} am-offcanvas-bar-flip{{/if}}">\n {{/ifCond}}\n\n {{#if content}}\n <ul class="am-menu-nav {{#if options.cols}}am-avg-sm-{{options\n .cols}}{{else}}am-avg-sm-1{{/if}}{{#ifCond theme \'==\' \'dropdown1\'}} am-collapse{{/ifCond}}{{#ifCond theme\n \'==\' \'dropdown2\'}} am-collapse{{/ifCond}}{{#ifCond theme\n \'==\' \'slide1\'}} am-collapse{{/ifCond}}">\n {{#each content}}\n <li class="{{#if subMenu}}am-parent{{/if}}{{#if className}} {{className}}{{/if}}">\n <a href="{{link}}" class="{{className}}" {{#if target}}target="{{target}}" {{/if}}>{{{title}}}</a>\n {{#if subMenu}}\n <ul class="am-menu-sub am-collapse {{#if subCols}} am-avg-sm-{{subCols}}{{else}}\n am-avg-sm-1{{/if}} {{subMenuClassName}}">\n {{#each subMenu}}\n <li class="{{#if subMenu}} am-parent{{/if}}{{#if className}} {{className}}{{/if}}">\n <a href="{{link}}" class="{{className}}" {{#if target}}target="{{target}}" {{/if}}>{{{title}}}</a>\n </li>\n {{/each}}\n {{!-- 显示进入栏目链接 --}}\n {{#if channelLink}}\n <li class="am-menu-nav-channel"><a href="{{link}}" class="{{className}}" title="{{title}}">{{{channelLink}}}</a></li>\n {{/if}}\n </ul>\n {{/if}}\n </li>\n {{/each}}\n </ul>\n {{/if}}\n\n {{#ifCond theme \'==\' \'offcanvas1\'}}\n </div>\n </div>\n {{/ifCond}}\n {{#ifCond theme \'==\' \'offcanvas2\'}}\n </div>\n </div>\n {{/ifCond}}\n {{!-- 不要问我为什么这样写,我也不想这样 --}}\n </nav>\n{{/this}}\n'),i.registerPartial("navbar",'{{#this}}\n <div data-am-widget="navbar" class="am-navbar am-cf {{#if theme}}am-navbar-{{theme}}{{else}}am-navbar-default{{/if}} {{#if options.iconPosition}}am-navbar-inline{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n id="{{id}}">\n {{#if content}}\n <ul class="am-navbar-nav am-cf {{#if options.cols}}am-avg-sm-{{options.cols}}{{/if}}">\n {{#each content}}\n <li {{{dataApi}}}>\n <a href="{{link}}" class="{{className}}">\n {{#if customIcon}}\n <img src="{{customIcon}}" alt="{{title}}"/>\n {{else}}\n {{#if icon}}\n <span class="am-icon-{{icon}}"></span>\n {{/if}}\n {{/if}}\n {{#if title}}\n <span class="am-navbar-label">{{title}}</span>\n {{/if}}\n </a>\n </li>\n {{/each}}\n </ul>\n {{/if}}\n </div>\n{{/this}}\n'),i.registerPartial("pagination",'{{#this}}\n <ul data-am-widget="pagination"\n class="am-pagination {{#if theme}}am-pagination-{{theme}}{{else}}am-pagination-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n {{#if id}}id="{{id}}"{{/if}}>\n\n {{#if content.firstTitle}}\n <li class="am-pagination-first {{content.firstClassName}}">\n <a href="{{content.firstLink}}" class="{{content.firstClassName}}">{{{content.firstTitle}}}</a>\n </li>\n {{/if}}\n\n {{#if content.prevTitle}}\n <li class="am-pagination-prev {{content.prevClassName}}">\n <a href="{{content.prevLink}}" class="{{content.prevClassName}}">{{{content.prevTitle}}}</a>\n </li>\n {{/if}}\n\n {{! 移除 options.select,根据主题来判断结构,无奈 handlebars 逻辑处理...}}\n\n {{#if content.page}}\n {{#ifCond theme \'==\' \'select\'}}\n <li class="am-pagination-select">\n <select>\n {{#each content.page}}\n <option value="{{link}}" class="{{className}}">{{title}}{{#if ../content.total}}\n / {{../../content.total}}{{/if}}\n </option>\n {{/each}}\n </select>\n </li>\n {{else}}\n {{#ifCond theme \'==\' \'one\'}}\n <li class="am-pagination-select">\n <select>\n {{#each content.page}}\n {{content.total}}\n <option value="{{link}}" class="{{className}}">{{title}}{{#if ../content.total}}\n / {{../../content.total}}{{/if}}\n </option>\n {{/each}}\n </select>\n </li>\n {{else}}\n {{#each content.page}}\n <li class="{{className}}">\n <a href="{{link}}" class="{{className}}">{{{title}}}</a>\n </li>\n {{/each}}\n {{/ifCond}}\n {{/ifCond}}\n\n {{/if}}\n\n {{#if content.nextTitle}}\n <li class="am-pagination-next {{content.nextClassName}}">\n <a href="{{content.nextLink}}" class="{{content.nextClassName}}">{{{content.nextTitle}}}</a>\n </li>\n {{/if}}\n\n {{#if content.lastTitle}}\n <li class="am-pagination-last {{content.lastClassName}}">\n <a href="{{content.lastLink}}" class="{{content.lastClassName}}">{{{content.lastTitle}}}</a>\n </li>\n {{/if}}\n </ul>\n{{/this}}\n'),i.registerPartial("paragraph",'{{#this}}\n <article data-am-widget="paragraph"\n class="am-paragraph {{#if theme}}am-paragraph-{{theme}}{{else}}am-paragraph-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n {{#if id}}id="{{id}}"{{/if}}\n data-am-paragraph="{ {{#if options.tableScrollable}}tableScrollable: true,{{/if}} {{#if options.imgLightbox}}pureview: true{{/if}} }">\n\n {{#if content}}\n {{{ content.content }}}\n {{/if}}\n </article>\n{{/this}}\n'),i.registerPartial("slider",'{{#this}}\n <div data-am-widget="slider" class="am-slider {{#if theme}}am-slider-{{theme}}{{else}}am-slider-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" data-am-slider=\'{{sliderConfig}}\' {{#if id}}id="{{id}}"{{/if}}>\n <ul class="am-slides">\n {{#each content}}\n <li{{#if thumb}} data-thumb="{{thumb}}"{{/if}}>\n {{#if link}}\n <a href="{{link}}" class="{{className}}">\n {{/if}}\n {{#if img}}\n <img src="{{img}}">\n {{/if}}\n {{#if desc}}\n <div class="am-slider-desc">{{{desc}}}</div>\n {{/if}}\n {{#if link}}</a>{{/if}} {{!--/end link--}}\n </li>\n {{/each}}\n </ul>\n</div>\n{{/this}}'),i.registerPartial("tabs",'{{#this}}\n <div data-am-widget="tabs"\n class="am-tabs{{#if theme}} am-tabs-{{theme}}{{else}} am-tabs-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"\n {{#if id}}id="{{id}}"{{/if}} {{#if options.noSwipe}}data-am-tabs-noswipe="1"{{/if}}>\n {{#if content}}\n <ul class="am-tabs-nav am-cf">\n {{#each content}}\n <li class="{{#if active}}am-active{{/if}}"><a href="[data-tab-panel-{{@index}}]">{{{title}}}</a></li>\n {{/each}}\n </ul>\n <div class="am-tabs-bd">\n {{#each content}}\n <div data-tab-panel-{{@index}} class="am-tab-panel {{#if active}}am-active{{/if}}">\n {{{content}}}\n </div>\n {{/each}}\n </div>\n {{/if}}\n </div>\n{{/this}}\n'),i.registerPartial("titlebar",'{{#this}}\n<div data-am-widget="titlebar" class="am-titlebar {{#if theme}}am-titlebar-{{theme}}{{else}}am-titlebar-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}" {{#if id}}id="{{id}}"{{/if}}>\n {{#if content.title}}\n <h2 class="am-titlebar-title {{#unless content.link}}{{content.className}}{{/unless}}">\n {{#if content.link}}\n <a href="{{content.link}}" class="{{content.className}}">{{{content.title}}}</a>\n {{else}}\n {{{content.title}}}\n {{/if}}\n </h2>\n {{/if}}\n\n {{#if content.nav}}\n <nav class="am-titlebar-nav">\n {{#each content.nav}}\n <a href="{{link}}" class="{{className}}">{{{title}}}</a>\n {{/each}}\n </nav>\n {{/if}}\n</div>\n{{/this}}\n'),
3 i.registerPartial("wechatpay",'{{#this}}\n <div data-am-widget="wechatpay" class="am-wechatpay{{#if theme}} am-wechatpay-{{theme}}{{else}} am-wechatpay-default{{/if}}{{#if widgetId}} {{widgetId}}{{/if}}{{#if className}} {{className}}{{/if}}"{{#if id}} id="{{id}}"{{/if}} data-wechat-pay="{ {{#each content.order}} {{@key}}: \'{{this}}\',{{/each}} }">\n <button type="button" class="am-btn am-btn-primary am-btn-block am-wechatpay-btn">\n {{#if content.title}}\n {{content.title}}\n {{else}}\n 微信支付\n {{/if}}\n </button>\n </div>\n{{/this}}\n')};"undefined"!=typeof module&&module.exports&&(module.exports=n),this.Handlebars&&n(this.Handlebars)}.call(this);
...\ No newline at end of file ...\ No newline at end of file
1 (function($) {
2 'use strict';
3
4 $(function() {
5 var $fullText = $('.admin-fullText');
6 $('#admin-fullscreen').on('click', function() {
7 $.AMUI.fullscreen.toggle();
8 });
9
10 $(document).on($.AMUI.fullscreen.raw.fullscreenchange, function() {
11 $fullText.text($.AMUI.fullscreen.isFullscreen ? '退出全屏' : '开启全屏');
12 });
13 });
14 })(jQuery);
1 /*!
2
3 handlebars v4.0.5
4
5 Copyright (C) 2011-2015 by Yehuda Katz
6
7 Permission is hereby granted, free of charge, to any person obtaining a copy
8 of this software and associated documentation files (the "Software"), to deal
9 in the Software without restriction, including without limitation the rights
10 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 copies of the Software, and to permit persons to whom the Software is
12 furnished to do so, subject to the following conditions:
13
14 The above copyright notice and this permission notice shall be included in
15 all copies or substantial portions of the Software.
16
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 THE SOFTWARE.
24
25 @license
26 */
27 !function(a,b){"object"==typeof exports&&"object"==typeof module?module.exports=b():"function"==typeof define&&define.amd?define([],b):"object"==typeof exports?exports.Handlebars=b():a.Handlebars=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b,c){"use strict";function d(){var a=r();return a.compile=function(b,c){return k.compile(b,c,a)},a.precompile=function(b,c){return k.precompile(b,c,a)},a.AST=i["default"],a.Compiler=k.Compiler,a.JavaScriptCompiler=m["default"],a.Parser=j.parser,a.parse=j.parse,a}var e=c(1)["default"];b.__esModule=!0;var f=c(2),g=e(f),h=c(21),i=e(h),j=c(22),k=c(27),l=c(28),m=e(l),n=c(25),o=e(n),p=c(20),q=e(p),r=g["default"].create,s=d();s.create=d,q["default"](s),s.Visitor=o["default"],s["default"]=s,b["default"]=s,a.exports=b["default"]},function(a,b){"use strict";b["default"]=function(a){return a&&a.__esModule?a:{"default":a}},b.__esModule=!0},function(a,b,c){"use strict";function d(){var a=new h.HandlebarsEnvironment;return n.extend(a,h),a.SafeString=j["default"],a.Exception=l["default"],a.Utils=n,a.escapeExpression=n.escapeExpression,a.VM=p,a.template=function(b){return p.template(b,a)},a}var e=c(3)["default"],f=c(1)["default"];b.__esModule=!0;var g=c(4),h=e(g),i=c(18),j=f(i),k=c(6),l=f(k),m=c(5),n=e(m),o=c(19),p=e(o),q=c(20),r=f(q),s=d();s.create=d,r["default"](s),s["default"]=s,b["default"]=s,a.exports=b["default"]},function(a,b){"use strict";b["default"]=function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b["default"]=a,b},b.__esModule=!0},function(a,b,c){"use strict";function d(a,b,c){this.helpers=a||{},this.partials=b||{},this.decorators=c||{},i.registerDefaultHelpers(this),j.registerDefaultDecorators(this)}var e=c(1)["default"];b.__esModule=!0,b.HandlebarsEnvironment=d;var f=c(5),g=c(6),h=e(g),i=c(7),j=c(15),k=c(17),l=e(k),m="4.0.5";b.VERSION=m;var n=7;b.COMPILER_REVISION=n;var o={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0"};b.REVISION_CHANGES=o;var p="[object Object]";d.prototype={constructor:d,logger:l["default"],log:l["default"].log,registerHelper:function(a,b){if(f.toString.call(a)===p){if(b)throw new h["default"]("Arg not supported with multiple helpers");f.extend(this.helpers,a)}else this.helpers[a]=b},unregisterHelper:function(a){delete this.helpers[a]},registerPartial:function(a,b){if(f.toString.call(a)===p)f.extend(this.partials,a);else{if("undefined"==typeof b)throw new h["default"]('Attempting to register a partial called "'+a+'" as undefined');this.partials[a]=b}},unregisterPartial:function(a){delete this.partials[a]},registerDecorator:function(a,b){if(f.toString.call(a)===p){if(b)throw new h["default"]("Arg not supported with multiple decorators");f.extend(this.decorators,a)}else this.decorators[a]=b},unregisterDecorator:function(a){delete this.decorators[a]}};var q=l["default"].log;b.log=q,b.createFrame=f.createFrame,b.logger=l["default"]},function(a,b){"use strict";function c(a){return k[a]}function d(a){for(var b=1;b<arguments.length;b++)for(var c in arguments[b])Object.prototype.hasOwnProperty.call(arguments[b],c)&&(a[c]=arguments[b][c]);return a}function e(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}function f(a){if("string"!=typeof a){if(a&&a.toHTML)return a.toHTML();if(null==a)return"";if(!a)return a+"";a=""+a}return m.test(a)?a.replace(l,c):a}function g(a){return a||0===a?p(a)&&0===a.length?!0:!1:!0}function h(a){var b=d({},a);return b._parent=a,b}function i(a,b){return a.path=b,a}function j(a,b){return(a?a+".":"")+b}b.__esModule=!0,b.extend=d,b.indexOf=e,b.escapeExpression=f,b.isEmpty=g,b.createFrame=h,b.blockParams=i,b.appendContextPath=j;var k={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},l=/[&<>"'`=]/g,m=/[&<>"'`=]/,n=Object.prototype.toString;b.toString=n;var o=function(a){return"function"==typeof a};o(/x/)&&(b.isFunction=o=function(a){return"function"==typeof a&&"[object Function]"===n.call(a)}),b.isFunction=o;var p=Array.isArray||function(a){return a&&"object"==typeof a?"[object Array]"===n.call(a):!1};b.isArray=p},function(a,b){"use strict";function c(a,b){var e=b&&b.loc,f=void 0,g=void 0;e&&(f=e.start.line,g=e.start.column,a+=" - "+f+":"+g);for(var h=Error.prototype.constructor.call(this,a),i=0;i<d.length;i++)this[d[i]]=h[d[i]];Error.captureStackTrace&&Error.captureStackTrace(this,c),e&&(this.lineNumber=f,this.column=g)}b.__esModule=!0;var d=["description","fileName","lineNumber","message","name","number","stack"];c.prototype=new Error,b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(a){g["default"](a),i["default"](a),k["default"](a),m["default"](a),o["default"](a),q["default"](a),s["default"](a)}var e=c(1)["default"];b.__esModule=!0,b.registerDefaultHelpers=d;var f=c(8),g=e(f),h=c(9),i=e(h),j=c(10),k=e(j),l=c(11),m=e(l),n=c(12),o=e(n),p=c(13),q=e(p),r=c(14),s=e(r)},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerHelper("blockHelperMissing",function(b,c){var e=c.inverse,f=c.fn;if(b===!0)return f(this);if(b===!1||null==b)return e(this);if(d.isArray(b))return b.length>0?(c.ids&&(c.ids=[c.name]),a.helpers.each(b,c)):e(this);if(c.data&&c.ids){var g=d.createFrame(c.data);g.contextPath=d.appendContextPath(c.data.contextPath,c.name),c={data:g}}return f(b,c)})},a.exports=b["default"]},function(a,b,c){"use strict";var d=c(1)["default"];b.__esModule=!0;var e=c(5),f=c(6),g=d(f);b["default"]=function(a){a.registerHelper("each",function(a,b){function c(b,c,f){j&&(j.key=b,j.index=c,j.first=0===c,j.last=!!f,k&&(j.contextPath=k+b)),i+=d(a[b],{data:j,blockParams:e.blockParams([a[b],b],[k+b,null])})}if(!b)throw new g["default"]("Must pass iterator to #each");var d=b.fn,f=b.inverse,h=0,i="",j=void 0,k=void 0;if(b.data&&b.ids&&(k=e.appendContextPath(b.data.contextPath,b.ids[0])+"."),e.isFunction(a)&&(a=a.call(this)),b.data&&(j=e.createFrame(b.data)),a&&"object"==typeof a)if(e.isArray(a))for(var l=a.length;l>h;h++)h in a&&c(h,h,h===a.length-1);else{var m=void 0;for(var n in a)a.hasOwnProperty(n)&&(void 0!==m&&c(m,h-1),m=n,h++);void 0!==m&&c(m,h-1,!0)}return 0===h&&(i=f(this)),i})},a.exports=b["default"]},function(a,b,c){"use strict";var d=c(1)["default"];b.__esModule=!0;var e=c(6),f=d(e);b["default"]=function(a){a.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new f["default"]('Missing helper: "'+arguments[arguments.length-1].name+'"')})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerHelper("if",function(a,b){return d.isFunction(a)&&(a=a.call(this)),!b.hash.includeZero&&!a||d.isEmpty(a)?b.inverse(this):b.fn(this)}),a.registerHelper("unless",function(b,c){return a.helpers["if"].call(this,b,{fn:c.inverse,inverse:c.fn,hash:c.hash})})},a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0,b["default"]=function(a){a.registerHelper("log",function(){for(var b=[void 0],c=arguments[arguments.length-1],d=0;d<arguments.length-1;d++)b.push(arguments[d]);var e=1;null!=c.hash.level?e=c.hash.level:c.data&&null!=c.data.level&&(e=c.data.level),b[0]=e,a.log.apply(a,b)})},a.exports=b["default"]},function(a,b){"use strict";b.__esModule=!0,b["default"]=function(a){a.registerHelper("lookup",function(a,b){return a&&a[b]})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerHelper("with",function(a,b){d.isFunction(a)&&(a=a.call(this));var c=b.fn;if(d.isEmpty(a))return b.inverse(this);var e=b.data;return b.data&&b.ids&&(e=d.createFrame(b.data),e.contextPath=d.appendContextPath(b.data.contextPath,b.ids[0])),c(a,{data:e,blockParams:d.blockParams([a],[e&&e.contextPath])})})},a.exports=b["default"]},function(a,b,c){"use strict";function d(a){g["default"](a)}var e=c(1)["default"];b.__esModule=!0,b.registerDefaultDecorators=d;var f=c(16),g=e(f)},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5);b["default"]=function(a){a.registerDecorator("inline",function(a,b,c,e){var f=a;return b.partials||(b.partials={},f=function(e,f){var g=c.partials;c.partials=d.extend({},g,b.partials);var h=a(e,f);return c.partials=g,h}),b.partials[e.args[0]]=e.fn,f})},a.exports=b["default"]},function(a,b,c){"use strict";b.__esModule=!0;var d=c(5),e={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(a){if("string"==typeof a){var b=d.indexOf(e.methodMap,a.toLowerCase());a=b>=0?b:parseInt(a,10)}return a},log:function(a){if(a=e.lookupLevel(a),"undefined"!=typeof console&&e.lookupLevel(e.level)<=a){var b=e.methodMap[a];console[b]||(b="log");for(var c=arguments.length,d=Array(c>1?c-1:0),f=1;c>f;f++)d[f-1]=arguments[f];console[b].apply(console,d)}}};b["default"]=e,a.exports=b["default"]},function(a,b){"use strict";function c(a){this.string=a}b.__esModule=!0,c.prototype.toString=c.prototype.toHTML=function(){return""+this.string},b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(a){var b=a&&a[0]||1,c=r.COMPILER_REVISION;if(b!==c){if(c>b){var d=r.REVISION_CHANGES[c],e=r.REVISION_CHANGES[b];throw new q["default"]("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+d+") or downgrade your runtime to an older version ("+e+").")}throw new q["default"]("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+a[1]+").")}}function e(a,b){function c(c,d,e){e.hash&&(d=o.extend({},d,e.hash),e.ids&&(e.ids[0]=!0)),c=b.VM.resolvePartial.call(this,c,d,e);var f=b.VM.invokePartial.call(this,c,d,e);if(null==f&&b.compile&&(e.partials[e.name]=b.compile(c,a.compilerOptions,b),f=e.partials[e.name](d,e)),null!=f){if(e.indent){for(var g=f.split("\n"),h=0,i=g.length;i>h&&(g[h]||h+1!==i);h++)g[h]=e.indent+g[h];f=g.join("\n")}return f}throw new q["default"]("The partial "+e.name+" could not be compiled when running in runtime-only mode")}function d(b){function c(b){return""+a.main(e,b,e.helpers,e.partials,g,i,h)}var f=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],g=f.data;d._setup(f),!f.partial&&a.useData&&(g=j(b,g));var h=void 0,i=a.useBlockParams?[]:void 0;return a.useDepths&&(h=f.depths?b!==f.depths[0]?[b].concat(f.depths):f.depths:[b]),(c=k(a.main,c,e,f.depths||[],g,i))(b,f)}if(!b)throw new q["default"]("No environment passed to template");if(!a||!a.main)throw new q["default"]("Unknown template object: "+typeof a);a.main.decorator=a.main_d,b.VM.checkRevision(a.compiler);var e={strict:function(a,b){if(!(b in a))throw new q["default"]('"'+b+'" not defined in '+a);return a[b]},lookup:function(a,b){for(var c=a.length,d=0;c>d;d++)if(a[d]&&null!=a[d][b])return a[d][b]},lambda:function(a,b){return"function"==typeof a?a.call(b):a},escapeExpression:o.escapeExpression,invokePartial:c,fn:function(b){var c=a[b];return c.decorator=a[b+"_d"],c},programs:[],program:function(a,b,c,d,e){var g=this.programs[a],h=this.fn(a);return b||e||d||c?g=f(this,a,h,b,c,d,e):g||(g=this.programs[a]=f(this,a,h)),g},data:function(a,b){for(;a&&b--;)a=a._parent;return a},merge:function(a,b){var c=a||b;return a&&b&&a!==b&&(c=o.extend({},b,a)),c},noop:b.VM.noop,compilerInfo:a.compiler};return d.isTop=!0,d._setup=function(c){c.partial?(e.helpers=c.helpers,e.partials=c.partials,e.decorators=c.decorators):(e.helpers=e.merge(c.helpers,b.helpers),a.usePartial&&(e.partials=e.merge(c.partials,b.partials)),(a.usePartial||a.useDecorators)&&(e.decorators=e.merge(c.decorators,b.decorators)))},d._child=function(b,c,d,g){if(a.useBlockParams&&!d)throw new q["default"]("must pass block params");if(a.useDepths&&!g)throw new q["default"]("must pass parent depths");return f(e,b,a[b],c,0,d,g)},d}function f(a,b,c,d,e,f,g){function h(b){var e=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],h=g;return g&&b!==g[0]&&(h=[b].concat(g)),c(a,b,a.helpers,a.partials,e.data||d,f&&[e.blockParams].concat(f),h)}return h=k(c,h,a,g,d,f),h.program=b,h.depth=g?g.length:0,h.blockParams=e||0,h}function g(a,b,c){return a?a.call||c.name||(c.name=a,a=c.partials[a]):a="@partial-block"===c.name?c.data["partial-block"]:c.partials[c.name],a}function h(a,b,c){c.partial=!0,c.ids&&(c.data.contextPath=c.ids[0]||c.data.contextPath);var d=void 0;if(c.fn&&c.fn!==i&&(c.data=r.createFrame(c.data),d=c.data["partial-block"]=c.fn,d.partials&&(c.partials=o.extend({},c.partials,d.partials))),void 0===a&&d&&(a=d),void 0===a)throw new q["default"]("The partial "+c.name+" could not be found");return a instanceof Function?a(b,c):void 0}function i(){return""}function j(a,b){return b&&"root"in b||(b=b?r.createFrame(b):{},b.root=a),b}function k(a,b,c,d,e,f){if(a.decorator){var g={};b=a.decorator(b,g,c,d&&d[0],e,f,d),o.extend(b,g)}return b}var l=c(3)["default"],m=c(1)["default"];b.__esModule=!0,b.checkRevision=d,b.template=e,b.wrapProgram=f,b.resolvePartial=g,b.invokePartial=h,b.noop=i;var n=c(5),o=l(n),p=c(6),q=m(p),r=c(4)},function(a,b){(function(c){"use strict";b.__esModule=!0,b["default"]=function(a){var b="undefined"!=typeof c?c:window,d=b.Handlebars;a.noConflict=function(){return b.Handlebars===a&&(b.Handlebars=d),a}},a.exports=b["default"]}).call(b,function(){return this}())},function(a,b){"use strict";b.__esModule=!0;var c={helpers:{helperExpression:function(a){return"SubExpression"===a.type||("MustacheStatement"===a.type||"BlockStatement"===a.type)&&!!(a.params&&a.params.length||a.hash)},scopedId:function(a){return/^\.|this\b/.test(a.original)},simpleId:function(a){return 1===a.parts.length&&!c.helpers.scopedId(a)&&!a.depth}}};b["default"]=c,a.exports=b["default"]},function(a,b,c){"use strict";function d(a,b){if("Program"===a.type)return a;h["default"].yy=n,n.locInfo=function(a){return new n.SourceLocation(b&&b.srcName,a)};var c=new j["default"](b);return c.accept(h["default"].parse(a))}var e=c(1)["default"],f=c(3)["default"];b.__esModule=!0,b.parse=d;var g=c(23),h=e(g),i=c(24),j=e(i),k=c(26),l=f(k),m=c(5);b.parser=h["default"];var n={};m.extend(n,l)},function(a,b){"use strict";var c=function(){function a(){this.yy={}}var b={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition_plus0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,mustache_repetition0:49,mustache_option0:50,OPEN_UNESCAPED:51,mustache_repetition1:52,mustache_option1:53,CLOSE_UNESCAPED:54,OPEN_PARTIAL:55,partialName:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,param:63,sexpr:64,OPEN_SEXPR:65,sexpr_repetition0:66,sexpr_option0:67,CLOSE_SEXPR:68,hash:69,hash_repetition_plus0:70,hashSegment:71,ID:72,EQUALS:73,blockParams:74,OPEN_BLOCK_PARAMS:75,blockParams_repetition_plus0:76,CLOSE_BLOCK_PARAMS:77,path:78,dataName:79,STRING:80,NUMBER:81,BOOLEAN:82,UNDEFINED:83,NULL:84,DATA:85,pathSegments:86,SEP:87,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,1],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return f[h-1];case 2:this.$=d.prepareProgram(f[h]);break;case 3:this.$=f[h];break;case 4:this.$=f[h];break;case 5:this.$=f[h];break;case 6:this.$=f[h];break;case 7:this.$=f[h];break;case 8:this.$=f[h];break;case 9:this.$={type:"CommentStatement",value:d.stripComment(f[h]),strip:d.stripFlags(f[h],f[h]),loc:d.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:f[h],value:f[h],loc:d.locInfo(this._$)};break;case 11:this.$=d.prepareRawBlock(f[h-2],f[h-1],f[h],this._$);break;case 12:this.$={path:f[h-3],params:f[h-2],hash:f[h-1]};break;case 13:this.$=d.prepareBlock(f[h-3],f[h-2],f[h-1],f[h],!1,this._$);break;case 14:this.$=d.prepareBlock(f[h-3],f[h-2],f[h-1],f[h],!0,this._$);break;case 15:this.$={open:f[h-5],path:f[h-4],params:f[h-3],hash:f[h-2],blockParams:f[h-1],strip:d.stripFlags(f[h-5],f[h])};break;case 16:this.$={path:f[h-4],params:f[h-3],hash:f[h-2],blockParams:f[h-1],strip:d.stripFlags(f[h-5],f[h])};break;case 17:this.$={path:f[h-4],params:f[h-3],hash:f[h-2],blockParams:f[h-1],strip:d.stripFlags(f[h-5],f[h])};break;case 18:this.$={strip:d.stripFlags(f[h-1],f[h-1]),program:f[h]};break;case 19:var i=d.prepareBlock(f[h-2],f[h-1],f[h],f[h],!1,this._$),j=d.prepareProgram([i],f[h-1].loc);j.chained=!0,this.$={strip:f[h-2].strip,program:j,chain:!0};break;case 20:this.$=f[h];break;case 21:this.$={path:f[h-1],strip:d.stripFlags(f[h-2],f[h])};break;case 22:this.$=d.prepareMustache(f[h-3],f[h-2],f[h-1],f[h-4],d.stripFlags(f[h-4],f[h]),this._$);break;case 23:this.$=d.prepareMustache(f[h-3],f[h-2],f[h-1],f[h-4],d.stripFlags(f[h-4],f[h]),this._$);break;case 24:this.$={type:"PartialStatement",name:f[h-3],params:f[h-2],hash:f[h-1],indent:"",strip:d.stripFlags(f[h-4],f[h]),loc:d.locInfo(this._$)};break;case 25:this.$=d.preparePartialBlock(f[h-2],f[h-1],f[h],this._$);break;case 26:this.$={path:f[h-3],params:f[h-2],hash:f[h-1],strip:d.stripFlags(f[h-4],f[h])};break;case 27:this.$=f[h];break;case 28:this.$=f[h];break;case 29:this.$={type:"SubExpression",path:f[h-3],params:f[h-2],hash:f[h-1],loc:d.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:f[h],loc:d.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:d.id(f[h-2]),value:f[h],loc:d.locInfo(this._$)};break;case 32:this.$=d.id(f[h-1]);break;case 33:this.$=f[h];break;case 34:this.$=f[h];break;case 35:this.$={type:"StringLiteral",value:f[h],original:f[h],loc:d.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(f[h]),original:Number(f[h]),loc:d.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:"true"===f[h],original:"true"===f[h],loc:d.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:d.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:d.locInfo(this._$)};break;case 40:this.$=f[h];break;case 41:this.$=f[h];break;case 42:this.$=d.preparePath(!0,f[h],this._$);break;case 43:this.$=d.preparePath(!1,f[h],this._$);break;case 44:f[h-2].push({part:d.id(f[h]),original:f[h],separator:f[h-1]}),this.$=f[h-2];break;case 45:this.$=[{part:d.id(f[h]),original:f[h]}];break;case 46:this.$=[];break;case 47:f[h-1].push(f[h]);break;case 48:this.$=[f[h]];break;case 49:f[h-1].push(f[h]);break;case 50:this.$=[];break;case 51:f[h-1].push(f[h]);break;case 58:this.$=[];break;case 59:f[h-1].push(f[h]);break;case 64:this.$=[];break;case 65:f[h-1].push(f[h]);break;case 70:this.$=[];break;case 71:f[h-1].push(f[h]);break;case 78:this.$=[];break;case 79:f[h-1].push(f[h]);break;case 82:this.$=[];break;case 83:f[h-1].push(f[h]);break;case 86:this.$=[];break;case 87:f[h-1].push(f[h]);break;case 90:this.$=[];break;case 91:f[h-1].push(f[h]);break;case 94:this.$=[];break;case 95:f[h-1].push(f[h]);break;case 98:this.$=[f[h]];break;case 99:f[h-1].push(f[h]);break;case 100:this.$=[f[h]];break;case 101:f[h-1].push(f[h])}},table:[{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{13:40,15:[1,20],17:39},{20:42,56:41,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:45,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:48,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:42,56:49,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:50,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,51]},{72:[1,35],86:52},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:53,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:54,38:56,39:[1,58],43:57,44:[1,59],45:55,47:[2,54]},{28:60,43:61,44:[1,59],47:[2,56]},{13:63,15:[1,20],18:[1,62]},{15:[2,48],18:[2,48]},{33:[2,86],57:64,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:65,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:66,47:[1,67]},{30:68,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:69,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:70,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:71,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:75,33:[2,80],50:72,63:73,64:76,65:[1,44],69:74,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,80]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,51]},{20:75,53:81,54:[2,84],63:82,64:76,65:[1,44],69:83,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:84,47:[1,67]},{47:[2,55]},{4:85,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:86,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:87,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:88,47:[1,67]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:75,33:[2,88],58:89,63:90,64:76,65:[1,44],69:91,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:92,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:93,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,31:94,33:[2,60],63:95,64:76,65:[1,44],69:96,70:77,71:78,72:[1,79],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,66],36:97,63:98,64:76,65:[1,44],69:99,70:77,71:78,72:[1,79],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,22:100,23:[2,52],63:101,64:76,65:[1,44],69:102,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,92],62:103,63:104,64:76,65:[1,44],69:105,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,106]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:107,72:[1,108],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,109],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,110]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:56,39:[1,58],43:57,44:[1,59],45:112,46:111,47:[2,76]},{33:[2,70],40:113,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,114]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:75,63:116,64:76,65:[1,44],67:115,68:[2,96],69:117,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,118]},{32:119,33:[2,62],74:120,75:[1,121]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:122,74:123,75:[1,121]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,124]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,125]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,109]},{20:75,63:126,64:76,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:75,33:[2,72],41:127,63:128,64:76,65:[1,44],69:129,70:77,71:78,72:[1,79],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,130]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,131]},{33:[2,63]},{72:[1,133],76:132},{33:[1,134]},{33:[2,69]},{15:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:135,74:136,75:[1,121]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,138],77:[1,137]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],
28 48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,139]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],defaultActions:{4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(){var a;return a=c.lexer.lex()||1,"number"!=typeof a&&(a=c.symbols_[a]||a),a}var c=this,d=[0],e=[null],f=[],g=this.table,h="",i=0,j=0,k=0;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,this.yy.parser=this,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var l=this.lexer.yylloc;f.push(l);var m=this.lexer.options&&this.lexer.options.ranges;"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var n,o,p,q,r,s,t,u,v,w={};;){if(p=d[d.length-1],this.defaultActions[p]?q=this.defaultActions[p]:((null===n||"undefined"==typeof n)&&(n=b()),q=g[p]&&g[p][n]),"undefined"==typeof q||!q.length||!q[0]){var x="";if(!k){v=[];for(s in g[p])this.terminals_[s]&&s>2&&v.push("'"+this.terminals_[s]+"'");x=this.lexer.showPosition?"Parse error on line "+(i+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[n]||n)+"'":"Parse error on line "+(i+1)+": Unexpected "+(1==n?"end of input":"'"+(this.terminals_[n]||n)+"'"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+p+", token: "+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),"undefined"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\r\n?|\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),g=0;g<f.length&&(c=this._input.match(this.rules[f[g]]),!c||b&&!(c[0].length>b[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\r\n?|\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var a=this.next();return"undefined"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substr(a,b.yyleng-c)}switch(c){case 0:if("\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin("mu")):"\\"===b.yytext.slice(-1)?(e(0,1),this.begin("emu")):this.begin("mu"),b.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),"raw"===this.conditionStack[this.conditionStack.length-1]?15:(b.yytext=b.yytext.substr(5,b.yyleng-9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(b.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return b.yytext=e(1,2).replace(/\\"/g,'"'),80;case 32:return b.yytext=e(1,2).replace(/\\'/g,"'"),80;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return b.yytext=b.yytext.replace(/\\([\\\]])/g,"$1"),72;case 43:return"INVALID";case 44:return 5}},a.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[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,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},a}();return b.lexer=c,a.prototype=b,b.Parser=a,new a}();b.__esModule=!0,b["default"]=c},function(a,b,c){"use strict";function d(){var a=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=a}function e(a,b,c){void 0===b&&(b=a.length);var d=a[b-1],e=a[b-2];return d?"ContentStatement"===d.type?(e||!c?/\r?\n\s*?$/:/(^|\r?\n)\s*?$/).test(d.original):void 0:c}function f(a,b,c){void 0===b&&(b=-1);var d=a[b+1],e=a[b+2];return d?"ContentStatement"===d.type?(e||!c?/^\s*?\r?\n/:/^\s*?(\r?\n|$)/).test(d.original):void 0:c}function g(a,b,c){var d=a[null==b?0:b+1];if(d&&"ContentStatement"===d.type&&(c||!d.rightStripped)){var e=d.value;d.value=d.value.replace(c?/^\s+/:/^[ \t]*\r?\n?/,""),d.rightStripped=d.value!==e}}function h(a,b,c){var d=a[null==b?a.length-1:b-1];if(d&&"ContentStatement"===d.type&&(c||!d.leftStripped)){var e=d.value;return d.value=d.value.replace(c?/\s+$/:/[ \t]+$/,""),d.leftStripped=d.value!==e,d.leftStripped}}var i=c(1)["default"];b.__esModule=!0;var j=c(25),k=i(j);d.prototype=new k["default"],d.prototype.Program=function(a){var b=!this.options.ignoreStandalone,c=!this.isRootSeen;this.isRootSeen=!0;for(var d=a.body,i=0,j=d.length;j>i;i++){var k=d[i],l=this.accept(k);if(l){var m=e(d,i,c),n=f(d,i,c),o=l.openStandalone&&m,p=l.closeStandalone&&n,q=l.inlineStandalone&&m&&n;l.close&&g(d,i,!0),l.open&&h(d,i,!0),b&&q&&(g(d,i),h(d,i)&&"PartialStatement"===k.type&&(k.indent=/([ \t]+$)/.exec(d[i-1].original)[1])),b&&o&&(g((k.program||k.inverse).body),h(d,i)),b&&p&&(g(d,i),h((k.inverse||k.program).body))}}return a},d.prototype.BlockStatement=d.prototype.DecoratorBlock=d.prototype.PartialBlockStatement=function(a){this.accept(a.program),this.accept(a.inverse);var b=a.program||a.inverse,c=a.program&&a.inverse,d=c,i=c;if(c&&c.chained)for(d=c.body[0].program;i.chained;)i=i.body[i.body.length-1].program;var j={open:a.openStrip.open,close:a.closeStrip.close,openStandalone:f(b.body),closeStandalone:e((d||b).body)};if(a.openStrip.close&&g(b.body,null,!0),c){var k=a.inverseStrip;k.open&&h(b.body,null,!0),k.close&&g(d.body,null,!0),a.closeStrip.open&&h(i.body,null,!0),!this.options.ignoreStandalone&&e(b.body)&&f(d.body)&&(h(b.body),g(d.body))}else a.closeStrip.open&&h(b.body,null,!0);return j},d.prototype.Decorator=d.prototype.MustacheStatement=function(a){return a.strip},d.prototype.PartialStatement=d.prototype.CommentStatement=function(a){var b=a.strip||{};return{inlineStandalone:!0,open:b.open,close:b.close}},b["default"]=d,a.exports=b["default"]},function(a,b,c){"use strict";function d(){this.parents=[]}function e(a){this.acceptRequired(a,"path"),this.acceptArray(a.params),this.acceptKey(a,"hash")}function f(a){e.call(this,a),this.acceptKey(a,"program"),this.acceptKey(a,"inverse")}function g(a){this.acceptRequired(a,"name"),this.acceptArray(a.params),this.acceptKey(a,"hash")}var h=c(1)["default"];b.__esModule=!0;var i=c(6),j=h(i);d.prototype={constructor:d,mutating:!1,acceptKey:function(a,b){var c=this.accept(a[b]);if(this.mutating){if(c&&!d.prototype[c.type])throw new j["default"]('Unexpected node type "'+c.type+'" found when accepting '+b+" on "+a.type);a[b]=c}},acceptRequired:function(a,b){if(this.acceptKey(a,b),!a[b])throw new j["default"](a.type+" requires "+b)},acceptArray:function(a){for(var b=0,c=a.length;c>b;b++)this.acceptKey(a,b),a[b]||(a.splice(b,1),b--,c--)},accept:function(a){if(a){if(!this[a.type])throw new j["default"]("Unknown type: "+a.type,a);this.current&&this.parents.unshift(this.current),this.current=a;var b=this[a.type](a);return this.current=this.parents.shift(),!this.mutating||b?b:b!==!1?a:void 0}},Program:function(a){this.acceptArray(a.body)},MustacheStatement:e,Decorator:e,BlockStatement:f,DecoratorBlock:f,PartialStatement:g,PartialBlockStatement:function(a){g.call(this,a),this.acceptKey(a,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:e,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(a){this.acceptArray(a.pairs)},HashPair:function(a){this.acceptRequired(a,"value")}},b["default"]=d,a.exports=b["default"]},function(a,b,c){"use strict";function d(a,b){if(b=b.path?b.path.original:b,a.path.original!==b){var c={loc:a.path.loc};throw new q["default"](a.path.original+" doesn't match "+b,c)}}function e(a,b){this.source=a,this.start={line:b.first_line,column:b.first_column},this.end={line:b.last_line,column:b.last_column}}function f(a){return/^\[.*\]$/.test(a)?a.substr(1,a.length-2):a}function g(a,b){return{open:"~"===a.charAt(2),close:"~"===b.charAt(b.length-3)}}function h(a){return a.replace(/^\{\{~?\!-?-?/,"").replace(/-?-?~?\}\}$/,"")}function i(a,b,c){c=this.locInfo(c);for(var d=a?"@":"",e=[],f=0,g="",h=0,i=b.length;i>h;h++){var j=b[h].part,k=b[h].original!==j;if(d+=(b[h].separator||"")+j,k||".."!==j&&"."!==j&&"this"!==j)e.push(j);else{if(e.length>0)throw new q["default"]("Invalid path: "+d,{loc:c});".."===j&&(f++,g+="../")}}return{type:"PathExpression",data:a,depth:f,parts:e,original:d,loc:c}}function j(a,b,c,d,e,f){var g=d.charAt(3)||d.charAt(2),h="{"!==g&&"&"!==g,i=/\*/.test(d);return{type:i?"Decorator":"MustacheStatement",path:a,params:b,hash:c,escaped:h,strip:e,loc:this.locInfo(f)}}function k(a,b,c,e){d(a,c),e=this.locInfo(e);var f={type:"Program",body:b,strip:{},loc:e};return{type:"BlockStatement",path:a.path,params:a.params,hash:a.hash,program:f,openStrip:{},inverseStrip:{},closeStrip:{},loc:e}}function l(a,b,c,e,f,g){e&&e.path&&d(a,e);var h=/\*/.test(a.open);b.blockParams=a.blockParams;var i=void 0,j=void 0;if(c){if(h)throw new q["default"]("Unexpected inverse block on decorator",c);c.chain&&(c.program.body[0].closeStrip=e.strip),j=c.strip,i=c.program}return f&&(f=i,i=b,b=f),{type:h?"DecoratorBlock":"BlockStatement",path:a.path,params:a.params,hash:a.hash,program:b,inverse:i,openStrip:a.strip,inverseStrip:j,closeStrip:e&&e.strip,loc:this.locInfo(g)}}function m(a,b){if(!b&&a.length){var c=a[0].loc,d=a[a.length-1].loc;c&&d&&(b={source:c.source,start:{line:c.start.line,column:c.start.column},end:{line:d.end.line,column:d.end.column}})}return{type:"Program",body:a,strip:{},loc:b}}function n(a,b,c,e){return d(a,c),{type:"PartialBlockStatement",name:a.path,params:a.params,hash:a.hash,program:b,openStrip:a.strip,closeStrip:c&&c.strip,loc:this.locInfo(e)}}var o=c(1)["default"];b.__esModule=!0,b.SourceLocation=e,b.id=f,b.stripFlags=g,b.stripComment=h,b.preparePath=i,b.prepareMustache=j,b.prepareRawBlock=k,b.prepareBlock=l,b.prepareProgram=m,b.preparePartialBlock=n;var p=c(6),q=o(p)},function(a,b,c){"use strict";function d(){}function e(a,b,c){if(null==a||"string"!=typeof a&&"Program"!==a.type)throw new k["default"]("You must pass a string or Handlebars AST to Handlebars.precompile. You passed "+a);b=b||{},"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var d=c.parse(a,b),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function f(a,b,c){function d(){var d=c.parse(a,b),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}function e(a,b){return f||(f=d()),f.call(this,a,b)}if(void 0===b&&(b={}),null==a||"string"!=typeof a&&"Program"!==a.type)throw new k["default"]("You must pass a string or Handlebars AST to Handlebars.compile. You passed "+a);"data"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var f=void 0;return e._setup=function(a){return f||(f=d()),f._setup(a)},e._child=function(a,b,c,e){return f||(f=d()),f._child(a,b,c,e)},e}function g(a,b){if(a===b)return!0;if(l.isArray(a)&&l.isArray(b)&&a.length===b.length){for(var c=0;c<a.length;c++)if(!g(a[c],b[c]))return!1;return!0}}function h(a){if(!a.path.parts){var b=a.path;a.path={type:"PathExpression",data:!1,depth:0,parts:[b.original+""],original:b.original+"",loc:b.loc}}}var i=c(1)["default"];b.__esModule=!0,b.Compiler=d,b.precompile=e,b.compile=f;var j=c(6),k=i(j),l=c(5),m=c(21),n=i(m),o=[].slice;d.prototype={compiler:d,equals:function(a){var b=this.opcodes.length;if(a.opcodes.length!==b)return!1;for(var c=0;b>c;c++){var d=this.opcodes[c],e=a.opcodes[c];if(d.opcode!==e.opcode||!g(d.args,e.args))return!1}b=this.children.length;for(var c=0;b>c;c++)if(!this.children[c].equals(a.children[c]))return!1;return!0},guid:0,compile:function(a,b){this.sourceNode=[],this.opcodes=[],this.children=[],this.options=b,this.stringParams=b.stringParams,this.trackIds=b.trackIds,b.blockParams=b.blockParams||[];var c=b.knownHelpers;if(b.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0,lookup:!0},c)for(var d in c)d in c&&(b.knownHelpers[d]=c[d]);return this.accept(a)},compileProgram:function(a){var b=new this.compiler,c=b.compile(a,this.options),d=this.guid++;return this.usePartial=this.usePartial||c.usePartial,this.children[d]=c,this.useDepths=this.useDepths||c.useDepths,d},accept:function(a){if(!this[a.type])throw new k["default"]("Unknown type: "+a.type,a);this.sourceNode.unshift(a);var b=this[a.type](a);return this.sourceNode.shift(),b},Program:function(a){this.options.blockParams.unshift(a.blockParams);for(var b=a.body,c=b.length,d=0;c>d;d++)this.accept(b[d]);return this.options.blockParams.shift(),this.isSimple=1===c,this.blockParams=a.blockParams?a.blockParams.length:0,this},BlockStatement:function(a){h(a);var b=a.program,c=a.inverse;b=b&&this.compileProgram(b),c=c&&this.compileProgram(c);var d=this.classifySexpr(a);"helper"===d?this.helperSexpr(a,b,c):"simple"===d?(this.simpleSexpr(a),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.opcode("emptyHash"),this.opcode("blockValue",a.path.original)):(this.ambiguousSexpr(a,b,c),this.opcode("pushProgram",b),this.opcode("pushProgram",c),this.opcode("emptyHash"),this.opcode("ambiguousBlockValue")),this.opcode("append")},DecoratorBlock:function(a){var b=a.program&&this.compileProgram(a.program),c=this.setupFullMustacheParams(a,b,void 0),d=a.path;this.useDecorators=!0,this.opcode("registerDecorator",c.length,d.original)},PartialStatement:function(a){this.usePartial=!0;var b=a.program;b&&(b=this.compileProgram(a.program));var c=a.params;if(c.length>1)throw new k["default"]("Unsupported number of partial arguments: "+c.length,a);c.length||(this.options.explicitPartialContext?this.opcode("pushLiteral","undefined"):c.push({type:"PathExpression",parts:[],depth:0}));var d=a.name.original,e="SubExpression"===a.name.type;e&&this.accept(a.name),this.setupFullMustacheParams(a,b,void 0,!0);var f=a.indent||"";this.options.preventIndent&&f&&(this.opcode("appendContent",f),f=""),this.opcode("invokePartial",e,d,f),this.opcode("append")},PartialBlockStatement:function(a){this.PartialStatement(a)},MustacheStatement:function(a){this.SubExpression(a),a.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},Decorator:function(a){this.DecoratorBlock(a)},ContentStatement:function(a){a.value&&this.opcode("appendContent",a.value)},CommentStatement:function(){},SubExpression:function(a){h(a);var b=this.classifySexpr(a);"simple"===b?this.simpleSexpr(a):"helper"===b?this.helperSexpr(a):this.ambiguousSexpr(a)},ambiguousSexpr:function(a,b,c){var d=a.path,e=d.parts[0],f=null!=b||null!=c;this.opcode("getContext",d.depth),this.opcode("pushProgram",b),this.opcode("pushProgram",c),d.strict=!0,this.accept(d),this.opcode("invokeAmbiguous",e,f)},simpleSexpr:function(a){var b=a.path;b.strict=!0,this.accept(b),this.opcode("resolvePossibleLambda")},helperSexpr:function(a,b,c){var d=this.setupFullMustacheParams(a,b,c),e=a.path,f=e.parts[0];if(this.options.knownHelpers[f])this.opcode("invokeKnownHelper",d.length,f);else{if(this.options.knownHelpersOnly)throw new k["default"]("You specified knownHelpersOnly, but used the unknown helper "+f,a);e.strict=!0,e.falsy=!0,this.accept(e),this.opcode("invokeHelper",d.length,e.original,n["default"].helpers.simpleId(e))}},PathExpression:function(a){this.addDepth(a.depth),this.opcode("getContext",a.depth);var b=a.parts[0],c=n["default"].helpers.scopedId(a),d=!a.depth&&!c&&this.blockParamIndex(b);d?this.opcode("lookupBlockParam",d,a.parts):b?a.data?(this.options.data=!0,this.opcode("lookupData",a.depth,a.parts,a.strict)):this.opcode("lookupOnContext",a.parts,a.falsy,a.strict,c):this.opcode("pushContext")},StringLiteral:function(a){this.opcode("pushString",a.value)},NumberLiteral:function(a){this.opcode("pushLiteral",a.value)},BooleanLiteral:function(a){this.opcode("pushLiteral",a.value)},UndefinedLiteral:function(){this.opcode("pushLiteral","undefined")},NullLiteral:function(){this.opcode("pushLiteral","null")},Hash:function(a){var b=a.pairs,c=0,d=b.length;for(this.opcode("pushHash");d>c;c++)this.pushParam(b[c].value);for(;c--;)this.opcode("assignToHash",b[c].key);this.opcode("popHash")},opcode:function(a){this.opcodes.push({opcode:a,args:o.call(arguments,1),loc:this.sourceNode[0].loc})},addDepth:function(a){a&&(this.useDepths=!0)},classifySexpr:function(a){var b=n["default"].helpers.simpleId(a.path),c=b&&!!this.blockParamIndex(a.path.parts[0]),d=!c&&n["default"].helpers.helperExpression(a),e=!c&&(d||b);if(e&&!d){var f=a.path.parts[0],g=this.options;g.knownHelpers[f]?d=!0:g.knownHelpersOnly&&(e=!1)}return d?"helper":e?"ambiguous":"simple"},pushParams:function(a){for(var b=0,c=a.length;c>b;b++)this.pushParam(a[b])},pushParam:function(a){var b=null!=a.value?a.value:a.original||"";if(this.stringParams)b.replace&&(b=b.replace(/^(\.?\.\/)*/g,"").replace(/\//g,".")),a.depth&&this.addDepth(a.depth),this.opcode("getContext",a.depth||0),this.opcode("pushStringParam",b,a.type),"SubExpression"===a.type&&this.accept(a);else{if(this.trackIds){var c=void 0;if(!a.parts||n["default"].helpers.scopedId(a)||a.depth||(c=this.blockParamIndex(a.parts[0])),c){var d=a.parts.slice(1).join(".");this.opcode("pushId","BlockParam",c,d)}else b=a.original||b,b.replace&&(b=b.replace(/^this(?:\.|$)/,"").replace(/^\.\//,"").replace(/^\.$/,"")),this.opcode("pushId",a.type,b)}this.accept(a)}},setupFullMustacheParams:function(a,b,c,d){var e=a.params;return this.pushParams(e),this.opcode("pushProgram",b),this.opcode("pushProgram",c),a.hash?this.accept(a.hash):this.opcode("emptyHash",d),e},blockParamIndex:function(a){for(var b=0,c=this.options.blockParams.length;c>b;b++){var d=this.options.blockParams[b],e=d&&l.indexOf(d,a);if(d&&e>=0)return[b,e]}}}},function(a,b,c){"use strict";function d(a){this.value=a}function e(){}function f(a,b,c,d){var e=b.popStack(),f=0,g=c.length;for(a&&g--;g>f;f++)e=b.nameLookup(e,c[f],d);return a?[b.aliasable("container.strict"),"(",e,", ",b.quotedString(c[f]),")"]:e}var g=c(1)["default"];b.__esModule=!0;var h=c(4),i=c(6),j=g(i),k=c(5),l=c(29),m=g(l);e.prototype={nameLookup:function(a,b){return e.isValidJavaScriptVariableName(b)?[a,".",b]:[a,"[",JSON.stringify(b),"]"]},depthedLookup:function(a){return[this.aliasable("container.lookup"),'(depths, "',a,'")']},compilerInfo:function(){var a=h.COMPILER_REVISION,b=h.REVISION_CHANGES[a];return[a,b]},appendToBuffer:function(a,b,c){return k.isArray(a)||(a=[a]),a=this.source.wrap(a,b),this.environment.isSimple?["return ",a,";"]:c?["buffer += ",a,";"]:(a.appendToBuffer=!0,a)},initializeBuffer:function(){return this.quotedString("")},compile:function(a,b,c,d){this.environment=a,this.options=b,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!d,this.name=this.environment.name,this.isChild=!!c,this.context=c||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(a,b),this.useDepths=this.useDepths||a.useDepths||a.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||a.useBlockParams;var e=a.opcodes,f=void 0,g=void 0,h=void 0,i=void 0;for(h=0,i=e.length;i>h;h++)f=e[h],this.source.currentLocation=f.loc,g=g||f.loc,this[f.opcode].apply(this,f.args);if(this.source.currentLocation=g,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new j["default"]("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend("var decorators = container.decorators;\n"),this.decorators.push("return fn;"),d?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend("function(fn, props, container, depth0, data, blockParams, depths) {\n"),this.decorators.push("}\n"),this.decorators=this.decorators.merge()));var k=this.createFunctionContext(d);if(this.isChild)return k;var l={compiler:this.compilerInfo(),main:k};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var m=this.context,n=m.programs,o=m.decorators;for(h=0,i=n.length;i>h;h++)n[h]&&(l[h]=n[h],o[h]&&(l[h+"_d"]=o[h],l.useDecorators=!0));return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),d?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),b.srcName?(l=l.toStringWithSourceMap({file:b.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},preamble:function(){this.lastContext=0,this.source=new m["default"](this.options.srcName),this.decorators=new m["default"](this.options.srcName)},createFunctionContext:function(a){var b="",c=this.stackVars.concat(this.registers.list);c.length>0&&(b+=", "+c.join(", "));var d=0;for(var e in this.aliases){var f=this.aliases[e];this.aliases.hasOwnProperty(e)&&f.children&&f.referenceCount>1&&(b+=", alias"+ ++d+"="+e,f.children[0]="alias"+d)}var g=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&g.push("blockParams"),this.useDepths&&g.push("depths");var h=this.mergeSource(b);return a?(g.push(h),Function.apply(this,g)):this.source.wrap(["function(",g.join(","),") {\n ",h,"}"])},mergeSource:function(a){var b=this.environment.isSimple,c=!this.forceBuffer,d=void 0,e=void 0,f=void 0,g=void 0;return this.source.each(function(a){a.appendToBuffer?(f?a.prepend(" + "):f=a,g=a):(f&&(e?f.prepend("buffer += "):d=!0,g.add(";"),f=g=void 0),e=!0,b||(c=!1))}),c?f?(f.prepend("return "),g.add(";")):e||this.source.push('return "";'):(a+=", buffer = "+(d?"":this.initializeBuffer()),f?(f.prepend("return buffer + "),g.add(";")):this.source.push("return buffer;")),a&&this.source.prepend("var "+a.substring(2)+(d?"":";\n")),this.source.merge()},blockValue:function(a){var b=this.aliasable("helpers.blockHelperMissing"),c=[this.contextName(0)];this.setupHelperArgs(a,0,c);var d=this.popStack();c.splice(1,0,d),this.push(this.source.functionCall(b,"call",c))},ambiguousBlockValue:function(){var a=this.aliasable("helpers.blockHelperMissing"),b=[this.contextName(0)];this.setupHelperArgs("",0,b,!0),this.flushInline();var c=this.topStack();b.splice(1,0,c),this.pushSource(["if (!",this.lastHelper,") { ",c," = ",this.source.functionCall(a,"call",b),"}"])},appendContent:function(a){this.pendingContent?a=this.pendingContent+a:this.pendingLocation=this.source.currentLocation,this.pendingContent=a},append:function(){if(this.isInline())this.replaceStack(function(a){return[" != null ? ",a,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var a=this.popStack();this.pushSource(["if (",a," != null) { ",this.appendToBuffer(a,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(a){this.lastContext=a},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(a,b,c,d){var e=0;d||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(a[e++])),this.resolvePath("context",a,e,b,c)},lookupBlockParam:function(a,b){this.useBlockParams=!0,this.push(["blockParams[",a[0],"][",a[1],"]"]),this.resolvePath("context",b,1)},lookupData:function(a,b,c){a?this.pushStackLiteral("container.data(data, "+a+")"):this.pushStackLiteral("data"),this.resolvePath("data",b,0,!0,c)},resolvePath:function(a,b,c,d,e){var g=this;if(this.options.strict||this.options.assumeObjects)return void this.push(f(this.options.strict&&e,this,b,a));for(var h=b.length;h>c;c++)this.replaceStack(function(e){var f=g.nameLookup(e,b[c],a);return d?[" && ",f]:[" != null ? ",f," : ",e]})},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(a,b){this.pushContext(),this.pushString(b),"SubExpression"!==b&&("string"==typeof a?this.pushString(a):this.pushStackLiteral(a))},emptyHash:function(a){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(a?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:[],types:[],contexts:[],ids:[]}},popHash:function(){var a=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(a.ids)),this.stringParams&&(this.push(this.objectLiteral(a.contexts)),this.push(this.objectLiteral(a.types))),this.push(this.objectLiteral(a.values))},pushString:function(a){this.pushStackLiteral(this.quotedString(a))},pushLiteral:function(a){this.pushStackLiteral(a)},pushProgram:function(a){null!=a?this.pushStackLiteral(this.programExpression(a)):this.pushStackLiteral(null)},registerDecorator:function(a,b){var c=this.nameLookup("decorators",b,"decorator"),d=this.setupHelperArgs(b,a);this.decorators.push(["fn = ",this.decorators.functionCall(c,"",["fn","props","container",d])," || fn;"])},invokeHelper:function(a,b,c){var d=this.popStack(),e=this.setupHelper(a,b),f=c?[e.name," || "]:"",g=["("].concat(f,d);this.options.strict||g.push(" || ",this.aliasable("helpers.helperMissing")),g.push(")"),this.push(this.source.functionCall(g,"call",e.callParams))},invokeKnownHelper:function(a,b){var c=this.setupHelper(a,b);this.push(this.source.functionCall(c.name,"call",c.callParams))},invokeAmbiguous:function(a,b){this.useRegister("helper");var c=this.popStack();this.emptyHash();var d=this.setupHelper(0,a,b),e=this.lastHelper=this.nameLookup("helpers",a,"helper"),f=["(","(helper = ",e," || ",c,")"];this.options.strict||(f[0]="(helper = ",f.push(" != null ? helper : ",this.aliasable("helpers.helperMissing"))),this.push(["(",f,d.paramsInit?["),(",d.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",d.callParams)," : helper))"])},invokePartial:function(a,b,c){var d=[],e=this.setupParams(b,1,d);a&&(b=this.popStack(),delete e.name),c&&(e.indent=JSON.stringify(c)),e.helpers="helpers",e.partials="partials",e.decorators="container.decorators",a?d.unshift(b):d.unshift(this.nameLookup("partials",b,"partial")),this.options.compat&&(e.depths="depths"),e=this.objectLiteral(e),
29 d.push(e),this.push(this.source.functionCall("container.invokePartial","",d))},assignToHash:function(a){var b=this.popStack(),c=void 0,d=void 0,e=void 0;this.trackIds&&(e=this.popStack()),this.stringParams&&(d=this.popStack(),c=this.popStack());var f=this.hash;c&&(f.contexts[a]=c),d&&(f.types[a]=d),e&&(f.ids[a]=e),f.values[a]=b},pushId:function(a,b,c){"BlockParam"===a?this.pushStackLiteral("blockParams["+b[0]+"].path["+b[1]+"]"+(c?" + "+JSON.stringify("."+c):"")):"PathExpression"===a?this.pushString(b):"SubExpression"===a?this.pushStackLiteral("true"):this.pushStackLiteral("null")},compiler:e,compileChildren:function(a,b){for(var c=a.children,d=void 0,e=void 0,f=0,g=c.length;g>f;f++){d=c[f],e=new this.compiler;var h=this.matchExistingProgram(d);null==h?(this.context.programs.push(""),h=this.context.programs.length,d.index=h,d.name="program"+h,this.context.programs[h]=e.compile(d,b,this.context,!this.precompile),this.context.decorators[h]=e.decorators,this.context.environments[h]=d,this.useDepths=this.useDepths||e.useDepths,this.useBlockParams=this.useBlockParams||e.useBlockParams):(d.index=h,d.name="program"+h,this.useDepths=this.useDepths||d.useDepths,this.useBlockParams=this.useBlockParams||d.useBlockParams)}},matchExistingProgram:function(a){for(var b=0,c=this.context.environments.length;c>b;b++){var d=this.context.environments[b];if(d&&d.equals(a))return b}},programExpression:function(a){var b=this.environment.children[a],c=[b.index,"data",b.blockParams];return(this.useBlockParams||this.useDepths)&&c.push("blockParams"),this.useDepths&&c.push("depths"),"container.program("+c.join(", ")+")"},useRegister:function(a){this.registers[a]||(this.registers[a]=!0,this.registers.list.push(a))},push:function(a){return a instanceof d||(a=this.source.wrap(a)),this.inlineStack.push(a),a},pushStackLiteral:function(a){this.push(new d(a))},pushSource:function(a){this.pendingContent&&(this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent),this.pendingLocation)),this.pendingContent=void 0),a&&this.source.push(a)},replaceStack:function(a){var b=["("],c=void 0,e=void 0,f=void 0;if(!this.isInline())throw new j["default"]("replaceStack on non-inline");var g=this.popStack(!0);if(g instanceof d)c=[g.value],b=["(",c],f=!0;else{e=!0;var h=this.incrStack();b=["((",this.push(h)," = ",g,")"],c=this.topStack()}var i=a.call(this,c);f||this.popStack(),e&&this.stackSlot--,this.push(b.concat(i,")"))},incrStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),this.topStackName()},topStackName:function(){return"stack"+this.stackSlot},flushInline:function(){var a=this.inlineStack;this.inlineStack=[];for(var b=0,c=a.length;c>b;b++){var e=a[b];if(e instanceof d)this.compileStack.push(e);else{var f=this.incrStack();this.pushSource([f," = ",e,";"]),this.compileStack.push(f)}}},isInline:function(){return this.inlineStack.length},popStack:function(a){var b=this.isInline(),c=(b?this.inlineStack:this.compileStack).pop();if(!a&&c instanceof d)return c.value;if(!b){if(!this.stackSlot)throw new j["default"]("Invalid stack pop");this.stackSlot--}return c},topStack:function(){var a=this.isInline()?this.inlineStack:this.compileStack,b=a[a.length-1];return b instanceof d?b.value:b},contextName:function(a){return this.useDepths&&a?"depths["+a+"]":"depth"+a},quotedString:function(a){return this.source.quotedString(a)},objectLiteral:function(a){return this.source.objectLiteral(a)},aliasable:function(a){var b=this.aliases[a];return b?(b.referenceCount++,b):(b=this.aliases[a]=this.source.wrap(a),b.aliasable=!0,b.referenceCount=1,b)},setupHelper:function(a,b,c){var d=[],e=this.setupHelperArgs(b,a,d,c),f=this.nameLookup("helpers",b,"helper"),g=this.aliasable(this.contextName(0)+" != null ? "+this.contextName(0)+" : {}");return{params:d,paramsInit:e,name:f,callParams:[g].concat(d)}},setupParams:function(a,b,c){var d={},e=[],f=[],g=[],h=!c,i=void 0;h&&(c=[]),d.name=this.quotedString(a),d.hash=this.popStack(),this.trackIds&&(d.hashIds=this.popStack()),this.stringParams&&(d.hashTypes=this.popStack(),d.hashContexts=this.popStack());var j=this.popStack(),k=this.popStack();(k||j)&&(d.fn=k||"container.noop",d.inverse=j||"container.noop");for(var l=b;l--;)i=this.popStack(),c[l]=i,this.trackIds&&(g[l]=this.popStack()),this.stringParams&&(f[l]=this.popStack(),e[l]=this.popStack());return h&&(d.args=this.source.generateArray(c)),this.trackIds&&(d.ids=this.source.generateArray(g)),this.stringParams&&(d.types=this.source.generateArray(f),d.contexts=this.source.generateArray(e)),this.options.data&&(d.data="data"),this.useBlockParams&&(d.blockParams="blockParams"),d},setupHelperArgs:function(a,b,c,d){var e=this.setupParams(a,b,c);return e=this.objectLiteral(e),d?(this.useRegister("options"),c.push("options"),["options=",e]):c?(c.push(e),""):e}},function(){for(var a="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield await null true false".split(" "),b=e.RESERVED_WORDS={},c=0,d=a.length;d>c;c++)b[a[c]]=!0}(),e.isValidJavaScriptVariableName=function(a){return!e.RESERVED_WORDS[a]&&/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(a)},b["default"]=e,a.exports=b["default"]},function(a,b,c){"use strict";function d(a,b,c){if(f.isArray(a)){for(var d=[],e=0,g=a.length;g>e;e++)d.push(b.wrap(a[e],c));return d}return"boolean"==typeof a||"number"==typeof a?a+"":a}function e(a){this.srcFile=a,this.source=[]}b.__esModule=!0;var f=c(5),g=void 0;try{}catch(h){}g||(g=function(a,b,c,d){this.src="",d&&this.add(d)},g.prototype={add:function(a){f.isArray(a)&&(a=a.join("")),this.src+=a},prepend:function(a){f.isArray(a)&&(a=a.join("")),this.src=a+this.src},toStringWithSourceMap:function(){return{code:this.toString()}},toString:function(){return this.src}}),e.prototype={isEmpty:function(){return!this.source.length},prepend:function(a,b){this.source.unshift(this.wrap(a,b))},push:function(a,b){this.source.push(this.wrap(a,b))},merge:function(){var a=this.empty();return this.each(function(b){a.add([" ",b,"\n"])}),a},each:function(a){for(var b=0,c=this.source.length;c>b;b++)a(this.source[b])},empty:function(){var a=this.currentLocation||{start:{}};return new g(a.start.line,a.start.column,this.srcFile)},wrap:function(a){var b=arguments.length<=1||void 0===arguments[1]?this.currentLocation||{start:{}}:arguments[1];return a instanceof g?a:(a=d(a,this,b),new g(b.start.line,b.start.column,this.srcFile,a))},functionCall:function(a,b,c){return c=this.generateList(c),this.wrap([a,b?"."+b+"(":"(",c,")"])},quotedString:function(a){return'"'+(a+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(a){var b=[];for(var c in a)if(a.hasOwnProperty(c)){var e=d(a[c],this);"undefined"!==e&&b.push([this.quotedString(c),":",e])}var f=this.generateList(b);return f.prepend("{"),f.add("}"),f},generateList:function(a){for(var b=this.empty(),c=0,e=a.length;e>c;c++)c&&b.add(","),b.add(d(a[c],this));return b},generateArray:function(a){var b=this.generateList(a);return b.prepend("["),b.add("]"),b}},b["default"]=e,a.exports=b["default"]}])});
...\ No newline at end of file ...\ No newline at end of file
1 /*! jQuery v2.2.0 | (c) jQuery Foundation | jquery.org/license */
2 !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!k.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=R.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c}catch(e){}O.set(a,b,c);
3 }else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return this;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.rnamespace||a.rnamespace.test(g.namespace))&&(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(b,c,e){var f=!0,g="width"===c?b.offsetWidth:b.offsetHeight,h=Ca(b),i="border-box"===n.css(b,"boxSizing",!1,h);if(d.msFullscreenElement&&a.top!==a&&b.getClientRects().length&&(g=Math.round(100*b.getBoundingClientRect()[c])),0>=g||null==g){if(g=Fa(b,c,h),(0>g||null==g)&&(g=b.style[c]),Ba.test(g))return g;f=i&&(l.boxSizingReliable()||g===b.style[c]),g=parseFloat(g)||0}return g+Oa(b,c,e||(i?"border":"content"),f,h)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b];
4 },propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(void 0===a||"boolean"===c)&&(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){return n.trim(a.value)}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var hb=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!hb.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,hb.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var ib=a.location,jb=n.now(),kb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return(!c||c.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+b),c};var lb=/#.*$/,mb=/([?&])_=[^&]*/,nb=/^(.*?):[ \t]*([^\r\n]*)$/gm,ob=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,pb=/^(?:GET|HEAD)$/,qb=/^\/\//,rb={},sb={},tb="*/".concat("*"),ub=d.createElement("a");ub.href=ib.href;function vb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function wb(a,b,c,d){var e={},f=a===sb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function xb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function yb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function zb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ib.href,type:"GET",isLocal:ob.test(ib.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":tb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?xb(xb(a,n.ajaxSettings),b):xb(n.ajaxSettings,a)},ajaxPrefilter:vb(rb),ajaxTransport:vb(sb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=nb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||ib.href)+"").replace(lb,"").replace(qb,ib.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=ub.protocol+"//"+ub.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),wb(rb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!pb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(kb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=mb.test(f)?f.replace(mb,"$1_="+jb++):f+(kb.test(f)?"&":"?")+"_="+jb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+tb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=wb(sb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=yb(m,x,d)),u=zb(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,(b||!y)&&(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Ab=/%20/g,Bb=/\[\]$/,Cb=/\r?\n/g,Db=/^(?:submit|button|image|reset|file)$/i,Eb=/^(?:input|select|textarea|keygen)/i;function Fb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Bb.test(a)?d(a,e):Fb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Fb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Fb(c,a[c],b,e);return d.join("&").replace(Ab,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Eb.test(this.nodeName)&&!Db.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Cb,"\r\n")}}):{name:b.name,value:c.replace(Cb,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Gb={0:200,1223:204},Hb=n.ajaxSettings.xhr();l.cors=!!Hb&&"withCredentials"in Hb,l.ajax=Hb=!!Hb,n.ajaxTransport(function(b){var c,d;return l.cors||Hb&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Gb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Ib=[],Jb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Ib.pop()||n.expando+"_"+jb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Jb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Jb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Jb,"$1"+e):b.jsonp!==!1&&(b.url+=(kb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Ib.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),l.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||(l.createHTMLDocument?d.implementation.createHTMLDocument(""):d);var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Kb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Kb)return Kb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(g,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Lb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Lb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0)-a.scrollTop(),d.left+=n.css(a[0],"borderLeftWidth",!0)-a.scrollLeft()),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Lb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Mb=a.jQuery,Nb=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Nb),b&&a.jQuery===n&&(a.jQuery=Mb),n},b||(a.jQuery=a.$=n),n});
1 // JavaScript Document
2 (function($){
3 $.fn.myScroll = function(options){
4 //默认配置
5 var defaults = {
6 speed:40, //滚动速度,值越大速度越慢
7 rowHeight:24 //每行的高度
8 };
9
10 var opts = $.extend({}, defaults, options),intId = [];
11
12 function marquee(obj, step){
13
14 obj.find("ul").animate({
15 marginTop: '-=1'
16 },0,function(){
17 var s = Math.abs(parseInt($(this).css("margin-top")));
18 if(s >= step){
19 $(this).find("li").slice(0, 1).appendTo($(this));
20 $(this).css("margin-top", 0);
21 }
22 });
23 }
24
25 this.each(function(i){
26 var sh = opts["rowHeight"],speed = opts["speed"],_this = $(this);
27 intId[i] = setInterval(function(){
28 if(_this.find("ul").height()<=_this.height()){
29 clearInterval(intId[i]);
30 }else{
31 marquee(_this, sh);
32 }
33 }, speed);
34
35 _this.hover(function(){
36 clearInterval(intId[i]);
37 },function(){
38 intId[i] = setInterval(function(){
39 if(_this.find("ul").height()<=_this.height()){
40 clearInterval(intId[i]);
41 }else{
42 marquee(_this, sh);
43 }
44 }, speed);
45 });
46
47 });
48
49 }
50
51 })(jQuery);
...\ No newline at end of file ...\ No newline at end of file
1 <!DOCTYPE html>
2 <html>
3
4 <head lang="en">
5 <meta charset="UTF-8">
6 <title>新闻动态</title>
7 <meta http-equiv="X-UA-Compatible" content="IE=edge">
8 <meta name="viewport"
9 content="width=device-width, initial-scale=1,maximum-scale=1.0, user-scalable=0,user-scalable=no">
10 <meta name="format-detection" content="telephone=no">
11 <meta name="renderer" content="webkit">
12 <meta http-equiv="Cache-Control" content="no-siteapp" />
13
14 <link rel="alternate icon" type="img/hengwang-1.png" href="img/hengwang-1.png">
15 <link rel="stylesheet" href="css/amazeui.css" />
16 <link rel="stylesheet" href="css/style.css" />
17 </head>
18
19 <body>
20 <header class="am-topbar header">
21 <div class="am-container-1">
22 <div class="left hw-logo">
23 <img class=" logo" src="img/HENGWANG.png"></img>
24 <img class="word" src="img/hw-word.png"></img>
25 </div>
26 <button class="am-topbar-btn am-topbar-toggle am-btn am-btn-sm am-btn-success am-show-sm-only"
27 data-am-collapse="{target: '#doc-topbar-collapse'}"><span class="am-sr-only">导航切换</span> <span
28 class="am-icon-bars"></span></button>
29
30 <div class="am-collapse am-topbar-collapse right" id="doc-topbar-collapse">
31
32
33 <div class=" am-topbar-left am-form-inline am-topbar-right" role="search">
34 <ul class="am-nav am-nav-pills am-topbar-nav hw-menu">
35 <li><a href="index.html">首页</a></li>
36 <li><a href="solutions.html">解决方案</a></li>
37 <li><a href="product-show.html">产品展示 </a></li>
38 <li><a href="customer-case.html">客户案例</a></li>
39 <li><a href="service-center.html">服务中心 </a></li>
40 <li class="hw-menu-active"><a href="news.html">新闻动态 </a></li>
41 <li><a href="about-us.html">关于我们</a></li>
42 <li><a href="recruit.html">招贤纳士 </a></li>
43 </ul>
44 </div>
45
46 </div>
47 </div>
48 </header>
49 <div class="toppic">
50 <div class="am-container-1">
51 <div class="toppic-title left">
52 <i class="am-icon-newspaper-o toppic-title-i"></i>
53 <span class="toppic-title-span">新闻动态</span>
54 <p>Hengwang News</p>
55 </div>
56 <div class="right toppic-progress">
57 <span><a href="index.html" class="w-white">首页</a></span>
58 <i class=" am-icon-arrow-circle-right w-white"></i>
59 <span><a href="news.html" class="w-white">新闻动态</a></span>
60 </div>
61 </div>
62 </div>
63
64
65
66 <div class="am-container-1 news-content-all">
67 <div class="left am-u-sm-12 am-u-md-8 am-u-lg-9 ">
68 <ul class="news-ul">
69 <li class="am-u-sm-12 am-u-md-6 am-u-lg-4 ">
70 <a href="news-inform.html">
71 <div class="news-ul-liall">
72 <img class="news-ul-liimg" src="img/news.png" />
73 <div class="inform-list">
74 <div class="inform-list-date"><i class="am-icon-arrow-circle-right"></i>2015-6-11</div>
75 <div class="inform-list-label"><i class="am-icon-arrow-circle-right"></i>互联网 开发</div>
76 <div class="inform-list-numb"><i class="am-icon-arrow-circle-right"></i>点击次数:273</div>
77 </div>
78 <span>关于召开年会通知</span>
79 <p>互联网,又称网际网路或音网际网路或音译因特网英特网,是网络与网络之间所串连成的庞大网络网络与网络之间大家可是快乐的</p>
80 <span class="see-more3">查看更多<i class="am-icon-angle-double-right"></i></span>
81 </div>
82 </a>
83 </li>
84 <li class="am-u-sm-12 am-u-md-6 am-u-lg-4 ">
85 <a href="#">
86 <div class="news-ul-liall">
87 <img class="news-ul-liimg" src="img/news1.png" />
88 <div class="inform-list">
89 <div class="inform-list-date"><i class="am-icon-arrow-circle-right"></i>2015-6-11</div>
90 <div class="inform-list-label"><i class="am-icon-arrow-circle-right"></i>互联网 开发</div>
91 <div class="inform-list-numb"><i class="am-icon-arrow-circle-right"></i>点击次数:273</div>
92 </div>
93 <span>关于召开年会通知</span>
94 <p>互联网,又称网际网路或音网际网路或音译因特网英特网,是网络与网络之间所串连成的庞大网络网络与网络之间大家可是快乐的</p>
95 <span class="see-more3">查看更多<i class="am-icon-angle-double-right"></i></span>
96 </div>
97 </a>
98 </li>
99 <li class="am-u-sm-12 am-u-md-6 am-u-lg-4 ">
100 <a href="#">
101 <div class="news-ul-liall">
102 <img class="news-ul-liimg" src="img/news2.png" />
103 <div class="inform-list">
104 <div class="inform-list-date"><i class="am-icon-arrow-circle-right"></i>2015-6-11</div>
105 <div class="inform-list-label"><i class="am-icon-arrow-circle-right"></i>互联网 开发</div>
106 <div class="inform-list-numb"><i class="am-icon-arrow-circle-right"></i>点击次数:273</div>
107 </div>
108 <span>关于召开年会通知</span>
109 <p>互联网,又称网际网路或音网际网路或音译因特网英特网,是网络与网络之间所串连成的庞大网络网络与网络之间大家可是快乐的</p>
110 <span class="see-more3">查看更多<i class="am-icon-angle-double-right"></i></span>
111 </div>
112 </a>
113 </li>
114 <li class="am-u-sm-12 am-u-md-6 am-u-lg-4 ">
115 <a href="#">
116 <div class="news-ul-liall">
117 <img class="news-ul-liimg" src="img/news.png" />
118 <div class="inform-list">
119 <div class="inform-list-date"><i class="am-icon-arrow-circle-right"></i>2015-6-11</div>
120 <div class="inform-list-label"><i class="am-icon-arrow-circle-right"></i>互联网 开发</div>
121 <div class="inform-list-numb"><i class="am-icon-arrow-circle-right"></i>点击次数:273</div>
122 </div>
123 <span>关于召开年会通知</span>
124 <p>互联网,又称网际网路或音网际网路或音译因特网英特网,是网络与网络之间所串连成的庞大网络网络与网络之间大家可是快乐的</p>
125 <span class="see-more3">查看更多<i class="am-icon-angle-double-right"></i></span>
126 </div>
127 </a>
128 </li>
129 <li class="am-u-sm-12 am-u-md-6 am-u-lg-4 ">
130 <a href="#">
131 <div class="news-ul-liall">
132 <img class="news-ul-liimg" src="img/news1.png" />
133 <div class="inform-list">
134 <div class="inform-list-date"><i class="am-icon-arrow-circle-right"></i>2015-6-11</div>
135 <div class="inform-list-label"><i class="am-icon-arrow-circle-right"></i>互联网 开发</div>
136 <div class="inform-list-numb"><i class="am-icon-arrow-circle-right"></i>点击次数:273</div>
137 </div>
138 <span>关于召开年会通知</span>
139 <p>互联网,又称网际网路或音网际网路或音译因特网英特网,是网络与网络之间所串连成的庞大网络网络与网络之间大家可是快乐的</p>
140 <span class="see-more3">查看更多<i class="am-icon-angle-double-right"></i></span>
141 </div>
142 </a>
143 </li>
144 <li class="am-u-sm-12 am-u-md-6 am-u-lg-4 ">
145 <a href="#">
146 <div class="news-ul-liall">
147 <img class="news-ul-liimg" src="img/news2.png" />
148 <div class="inform-list">
149 <div class="inform-list-date"><i class="am-icon-arrow-circle-right"></i>2015-6-11</div>
150 <div class="inform-list-label"><i class="am-icon-arrow-circle-right"></i>互联网 开发</div>
151 <div class="inform-list-numb"><i class="am-icon-arrow-circle-right"></i>点击次数:273</div>
152 </div>
153 <span>关于召开年会通知</span>
154 <p>互联网,又称网际网路或音网际网路或音译因特网英特网,是网络与网络之间所串连成的庞大网络网络与网络之间大家可是快乐的</p>
155 <span class="see-more3">查看更多<i class="am-icon-angle-double-right"></i></span>
156 </div>
157 </a>
158 </li>
159 <div class="clear"></div>
160 </ul>
161 <ul class="am-pagination ">
162 <li><a href="#">&laquo;</a></li>
163 <li><a href="#">上一页</a></li>
164 <li><a class="current-page">1</a></li>
165 <li><a href="#">下一页</a></li>
166 <li><a href="#">&raquo;</a></li>
167 </ul>
168 </div>
169
170 <div class="left am-u-sm-12 am-u-md-4 am-u-lg-3">
171
172 <section data-am-widget="accordion" class="am-accordion am-accordion-gapped" data-am-accordion='{ }'>
173 <div class="hot-title"><i class="am-icon-thumbs-o-up"></i>热门新闻 / Hot News</div>
174 <dl class="am-accordion-item am-active">
175 <dt class="am-accordion-title">
176 用户体验制作当中的一些可视化信息
177 </dt>
178 <dd class="am-accordion-bd am-collapse am-in">
179 <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->
180 <div class="am-accordion-content">
181 英特网,是网络与网络之间所串连成的庞大网络网又称网际网路或音译因特网、英特网,是网络与网络之间所串连成的庞大网络网络与网络之
182 </div>
183 </dd>
184 </dl>
185 <dl class="am-accordion-item">
186 <dt class="am-accordion-title">
187 可视化信息
188 </dt>
189 <dd class="am-accordion-bd am-collapse ">
190 <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->
191 <div class="am-accordion-content">
192 英特网,是网络与网络之间所串连成的庞大网络网所串连成的庞大网络网
193 </div>
194 </dd>
195 </dl>
196 <dl class="am-accordion-item">
197 <dt class="am-accordion-title">
198 响应式购物商城
199 </dt>
200 <dd class="am-accordion-bd am-collapse ">
201 <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->
202 <div class="am-accordion-content">
203 英特网,是网络与网络之间所串连成的庞大网络网所串连成的庞大网络网
204 </div>
205 </dd>
206 </dl>
207 <dl class="am-accordion-item">
208 <dt class="am-accordion-title">
209 可视化信息
210 </dt>
211 <dd class="am-accordion-bd am-collapse ">
212 <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->
213 <div class="am-accordion-content">
214 英特网,是网络与网络之间所串连成的庞大网络网所串连成的庞大网络网
215 </div>
216 </dd>
217 </dl>
218 <dl class="am-accordion-item">
219 <dt class="am-accordion-title">
220 响应式购物商城
221 </dt>
222 <dd class="am-accordion-bd am-collapse ">
223 <!-- 规避 Collapase 处理有 padding 的折叠内容计算计算有误问题, 加一个容器 -->
224 <div class="am-accordion-content">
225 英特网,是网络与网络之间所串连成的庞大网络网所串连成的庞大网络网
226 </div>
227 </dd>
228 </dl>
229
230 </section>
231
232 </div>
233
234 <div class="clear"></div>
235 </div>
236
237 <footer class="footer ">
238
239 <ul>
240
241 <li class="am-u-lg-4 am-u-md-4 am-u-sm-12 part-5-li2">
242 <div class="part-5-title">联系我们</div>
243 <div class="part-5-words2">
244 <span>地址:武汉市洪山区街道口鹏程国际B座2511</span>
245 <span>电话:18238765101</span>
246 <span>传真:(123) 456-7890</span>
247 <span>邮箱:support@vectorlab.com</span>
248 <span><i class="am-icon-phone"></i><em>027-82671661</em></span>
249 </div>
250 </li>
251 <li class="am-u-lg-4 am-u-md-4 am-u-sm-12 ">
252 <div class="part-5-title">相关链接</div>
253 <div class="part-5-words2">
254 <ul class="part-5-words2-ul">
255 <li class="am-u-lg-4 am-u-md-6 am-u-sm-4"><a href="solutions.html">解决方案</a></li>
256 <li class="am-u-lg-4 am-u-md-6 am-u-sm-4"><a href="product-show.html">产品展示</a></li>
257 <li class="am-u-lg-4 am-u-md-6 am-u-sm-4"><a href="customer-case.html">客户案例</a></li>
258 <li class="am-u-lg-4 am-u-md-6 am-u-sm-4"><a href="service-center.html">服务中心</a></li>
259 <li class="am-u-lg-4 am-u-md-6 am-u-sm-4"><a href="about-us.html">关于我们</a></li>
260 <li class="am-u-lg-4 am-u-md-6 am-u-sm-4"><a href="recruit.html">招贤纳士</a></li>
261 <div class="clear"></div>
262 </ul>
263 </div>
264 </li>
265 <div class="clear"></div>
266 </ul>
267
268 </footer>
269
270
271 </body>
272
273 <!--[if (gte IE 9)|!(IE)]><!-->
274 <script src="js/jquery.min.js"></script>
275 <!--<![endif]-->
276 <script src="js/amazeui.min.js"></script>
277
278 </html>
...\ No newline at end of file ...\ No newline at end of file