WooCommerce Variation Swatches - Version 1.0.44

Version Description

  • Add: IE-11 Support
  • Add: Exporter-Importer
Download this release

Release Info

Developer EmranAhmed
Plugin Icon 128x128 WooCommerce Variation Swatches
Version 1.0.44
Comparing to
See all releases

Code changes from version 1.0.43 to 1.0.44

README.txt CHANGED
@@ -114,8 +114,6 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
114
  * Automatic updates and exclusive technical support
115
 
116
  = Sites Built With WooCommerce Variation Swatches Plugin =
117
- <blockquote>
118
-
119
 
120
  <blockquote>
121
  <ul>
@@ -187,14 +185,12 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
187
  </ul>
188
  </li>
189
 
190
-
191
  <li> Built With: Nitro WooCommerce Theme
192
  <ul>
193
  <li><a target="_blank" href="http://bit.ly/woovs-demo-nitro">sethsoldtimes.com | Niche: Dise Golf Store </a></li>
194
  </ul>
195
  </li>
196
 
197
-
198
  <li> Built With: Domino WooCommerce Theme
199
  <ul>
200
  <li><a target="_blank" href="http://bit.ly/domino-theme-demo">abso.com.ar | Niche: Clothing Store </a></li>
@@ -206,7 +202,6 @@ In the free WooCommerce attribute variation plugin, besides creating size, brand
206
  <li><a target="_blank" href="http://bit.ly/kuteshop-vws-demo">torbice.s | Niche: Bag and Baggage Store </a></li>
207
  </ul>
208
  </li>
209
-
210
  </ul>
211
  </blockquote>
212
 
@@ -325,6 +320,11 @@ And your are ready to go.
325
 
326
  == Changelog ==
327
 
 
 
 
 
 
328
  = 1.0.43 =
329
 
330
  * Fix: Uncode theme Issue
114
  * Automatic updates and exclusive technical support
115
 
116
  = Sites Built With WooCommerce Variation Swatches Plugin =
 
 
117
 
118
  <blockquote>
119
  <ul>
185
  </ul>
186
  </li>
187
 
 
188
  <li> Built With: Nitro WooCommerce Theme
189
  <ul>
190
  <li><a target="_blank" href="http://bit.ly/woovs-demo-nitro">sethsoldtimes.com | Niche: Dise Golf Store </a></li>
191
  </ul>
192
  </li>
193
 
 
194
  <li> Built With: Domino WooCommerce Theme
195
  <ul>
196
  <li><a target="_blank" href="http://bit.ly/domino-theme-demo">abso.com.ar | Niche: Clothing Store </a></li>
202
  <li><a target="_blank" href="http://bit.ly/kuteshop-vws-demo">torbice.s | Niche: Bag and Baggage Store </a></li>
203
  </ul>
204
  </li>
 
205
  </ul>
206
  </blockquote>
207
 
320
 
321
  == Changelog ==
322
 
323
+ = 1.0.44 =
324
+
325
+ * Add: IE-11 Support
326
+ * Add: Exporter-Importer
327
+
328
  = 1.0.43 =
329
 
330
  * Fix: Uncode theme Issue
assets/css/admin.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger {
assets/css/admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:34
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger{color:#fff;background-color:#af2d2b;border-color:#a62d2b;-webkit-box-shadow:0 1px 0 #a72d2b;box-shadow:0 1px 0 #a72d2b;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{color:#fff;background:#c9302c}[data-depends]{display:none}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{margin:5px 0;display:block}.meta-image-field-wrapper .image-preview{display:table-cell;width:60px;padding-right:10px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.gwp-rate-stars{display:inline-block;color:#ffb900;position:relative;top:3px}.gwp-rate-stars svg,.gwp-rate-stars svg a{fill:#ffb900;stroke:#ffb900;cursor:pointer}.gwp-rate-stars svg:hover,.gwp-rate-stars svg a:hover{fill:#ffb900}.gwp-rate-stars svg:hover~svg,.gwp-rate-stars svg:hover~svg a,.gwp-rate-stars svg a:hover~svg,.gwp-rate-stars svg a:hover~svg a{fill:none}#wvs-meta-preview{width:30px}.wvs-preview{width:30px;height:30px;border:1px solid #000}#woo-variation-swatches-settings-wrap #settings-tabs{margin-top:30px}#woo-variation-swatches-settings-wrap #settings-tabs h2{font-size:1.5em;margin-bottom:10px}#woo-variation-swatches-settings-wrap #settings-tabs .form-table{margin-top:15px;background:#fff;border-radius:2px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.07),0 1px 1px rgba(0,0,0,.04);box-shadow:0 0 0 1px rgba(0,0,0,.07),0 1px 1px rgba(0,0,0,.04)}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr{border-bottom:1px solid #eee;display:block}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr:last-child{border:0}#woo-variation-swatches-settings-wrap #settings-tabs .form-table th{padding:20px 10px 20px 20px}#woo-variation-swatches-settings-wrap #settings-tabs #special .form-table,#woo-variation-swatches-settings-wrap #settings-tabs #style .form-table{margin-bottom:30px}#woo-variation-swatches-settings-wrap #tutorial .form-table tr{padding:0!important}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper img{width:100%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper ul{margin:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:50px 30px;margin:0;border-bottom:1px solid #ddd;position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li:last-child{border:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper,#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{float:left;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{width:60%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper{width:40%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper h3{margin:0 0 20px;font-size:1.5em}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-contents{font-size:15px;line-height:1.5em;margin-bottom:20px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button{border-radius:3px;line-height:1;padding:13px 20px;font-size:13px;height:40px;-webkit-box-shadow:none;box-shadow:none;text-shadow:none}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button:active{-webkit-transform:translateY(0);transform:translateY(0)}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo{background-color:#fff;color:#333;border:1px solid #eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo:hover{background:#eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs{background-color:#36373a;color:#fff;border:1px solid #36373a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs:hover{background:#5d5e61;border-color:#5d5e61}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro{background-color:#39b54a;color:#fff;border:1px solid #39b54a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover{background:#3fc851;border-color:#3fc851}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon{position:absolute;left:-5px;top:-5px;z-index:1;overflow:hidden;width:75px;height:75px;text-align:right;margin:1px 22px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);width:100px;display:block;background:#bc0808;-webkit-box-shadow:0 3px 10px -5px #000;box-shadow:0 3px 10px -5px #000;position:absolute;top:19px;left:-21px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #8f0808;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #8f0808;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab{position:relative}#woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab:before{content:attr(data-pro-text);position:absolute;right:5px;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:#ff5722;color:#fff;font-size:8px;font-weight:400;text-transform:uppercase;padding:3px 5px;line-height:1;border-radius:10px}.woo-variation-swatches-pro_tab.pro-inactive a{background-color:#ff9800;color:#fff}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:06
6
  * Released under the GPLv3 license.
7
  */
8
  .button.button-danger{color:#fff;background-color:#af2d2b;border-color:#a62d2b;-webkit-box-shadow:0 1px 0 #a72d2b;box-shadow:0 1px 0 #a72d2b;vertical-align:top}.button.button-danger.active,.button.button-danger:active,.button.button-danger:focus,.button.button-danger:hover{color:#fff;background:#c9302c}[data-depends]{display:none}.meta-image-field-wrapper{display:table}.meta-image-field-wrapper .button{margin:5px 0;display:block}.meta-image-field-wrapper .image-preview{display:table-cell;width:60px;padding-right:10px}.meta-image-field-wrapper .button-wrapper{display:table-cell;vertical-align:top}.gwp-rate-stars{display:inline-block;color:#ffb900;position:relative;top:3px}.gwp-rate-stars svg,.gwp-rate-stars svg a{fill:#ffb900;stroke:#ffb900;cursor:pointer}.gwp-rate-stars svg:hover,.gwp-rate-stars svg a:hover{fill:#ffb900}.gwp-rate-stars svg:hover~svg,.gwp-rate-stars svg:hover~svg a,.gwp-rate-stars svg a:hover~svg,.gwp-rate-stars svg a:hover~svg a{fill:none}#wvs-meta-preview{width:30px}.wvs-preview{width:30px;height:30px;border:1px solid #000}#woo-variation-swatches-settings-wrap #settings-tabs{margin-top:30px}#woo-variation-swatches-settings-wrap #settings-tabs h2{font-size:1.5em;margin-bottom:10px}#woo-variation-swatches-settings-wrap #settings-tabs .form-table{margin-top:15px;background:#fff;border-radius:2px;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.07),0 1px 1px rgba(0,0,0,.04);box-shadow:0 0 0 1px rgba(0,0,0,.07),0 1px 1px rgba(0,0,0,.04)}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr{border-bottom:1px solid #eee;display:block}#woo-variation-swatches-settings-wrap #settings-tabs .form-table tr:last-child{border:0}#woo-variation-swatches-settings-wrap #settings-tabs .form-table th{padding:20px 10px 20px 20px}#woo-variation-swatches-settings-wrap #settings-tabs #special .form-table,#woo-variation-swatches-settings-wrap #settings-tabs #style .form-table{margin-bottom:30px}#woo-variation-swatches-settings-wrap #tutorial .form-table tr{padding:0!important}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper img{width:100%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper ul{margin:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:50px 30px;margin:0;border-bottom:1px solid #ddd;position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper li:last-child{border:0}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper,#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{float:left;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{width:60%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper{width:40%}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper h3{margin:0 0 20px;font-size:1.5em}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-contents{font-size:15px;line-height:1.5em;margin-bottom:20px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button{border-radius:3px;line-height:1;padding:13px 20px;font-size:13px;height:40px;-webkit-box-shadow:none;box-shadow:none;text-shadow:none}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button:active{-webkit-transform:translateY(0);transform:translateY(0)}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo{background-color:#fff;color:#333;border:1px solid #eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-live-demo:hover{background:#eee}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs{background-color:#36373a;color:#fff;border:1px solid #36373a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-docs:hover{background:#5d5e61;border-color:#5d5e61}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro{background-color:#39b54a;color:#fff;border:1px solid #39b54a}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-description-wrapper .tutorial-buttons .button.button-pro:hover{background:#3fc851;border-color:#3fc851}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper{position:relative}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon{position:absolute;left:-5px;top:-5px;z-index:1;overflow:hidden;width:75px;height:75px;text-align:right;margin:1px 22px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;text-align:center;line-height:20px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);width:100px;display:block;background:#bc0808;-webkit-box-shadow:0 3px 10px -5px #000;box-shadow:0 3px 10px -5px #000;position:absolute;top:19px;left:-21px}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:before{content:"";position:absolute;left:0;top:100%;z-index:-1;border-left:3px solid #8f0808;border-right:3px solid transparent;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap #tutorial .gwp-tutorials-wrapper .tutorial-image-wrapper .ribbon span:after{content:"";position:absolute;right:0;top:100%;z-index:-1;border-left:3px solid transparent;border-right:3px solid #8f0808;border-bottom:3px solid transparent;border-top:3px solid #8f0808}#woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab{position:relative}#woo-variation-swatches-settings-wrap .nav-tab-wrapper .pro-tab:before{content:attr(data-pro-text);position:absolute;right:5px;top:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);background:#ff5722;color:#fff;font-size:8px;font-weight:400;text-transform:uppercase;padding:3px 5px;line-height:1;border-radius:10px}.woo-variation-swatches-pro_tab.pro-inactive a{background-color:#ff9800;color:#fff}
assets/css/frontend-tooltip.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip] {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip] {
assets/css/frontend-tooltip.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:34
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.variable-items-wrapper [data-wvstooltip]:after,.variable-items-wrapper [data-wvstooltip]:before{visibility:hidden;opacity:0;pointer-events:none;-webkit-box-sizing:inherit;box-sizing:inherit;position:absolute;bottom:130%;left:50%;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;margin-left:-50px;padding:7px;min-width:100px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-wvstooltip);text-align:center;font-size:14px;line-height:1.2}.variable-items-wrapper [data-wvstooltip]:after{margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.variable-items-wrapper [data-wvstooltip]:active:after,.variable-items-wrapper [data-wvstooltip]:active:before,.variable-items-wrapper [data-wvstooltip]:focus:after,.variable-items-wrapper [data-wvstooltip]:focus:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}.variable-items-wrapper .image-tooltip-wrapper{position:absolute;bottom:140%;border-width:2px;border-style:solid;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.3);box-shadow:0 7px 15px rgba(0,0,0,.3);line-height:0;visibility:hidden;opacity:0;pointer-events:none;-webkit-transition:all .2s linear;transition:all .2s linear;z-index:999}.variable-items-wrapper .image-tooltip-wrapper img{border-radius:0!important}.variable-items-wrapper .image-tooltip-wrapper:after{content:"";bottom:-16px;display:block;position:absolute;border-radius:0!important;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:8px solid transparent}.variable-items-wrapper .variable-item:active .image-tooltip-wrapper,.variable-items-wrapper .variable-item:focus .image-tooltip-wrapper,.variable-items-wrapper .variable-item:hover .image-tooltip-wrapper{bottom:130%;visibility:visible;opacity:1}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:06
6
  * Released under the GPLv3 license.
7
  */
8
  .variable-items-wrapper [data-wvstooltip]{position:relative;cursor:pointer;outline:none}.variable-items-wrapper [data-wvstooltip]:after,.variable-items-wrapper [data-wvstooltip]:before{visibility:hidden;opacity:0;pointer-events:none;-webkit-box-sizing:inherit;box-sizing:inherit;position:absolute;bottom:130%;left:50%;z-index:999;-webkit-transform:translateZ(0);transform:translateZ(0)}.variable-items-wrapper [data-wvstooltip]:before{margin-bottom:5px;margin-left:-50px;padding:7px;min-width:100px;border-radius:3px;background-color:#000;background-color:rgba(51,51,51,.9);color:#fff;content:attr(data-wvstooltip);text-align:center;font-size:14px;line-height:1.2}.variable-items-wrapper [data-wvstooltip]:after{margin-left:-5px;width:0;border-top:5px solid #000;border-top:5px solid rgba(51,51,51,.9);border-right:5px solid transparent;border-left:5px solid transparent;content:" ";font-size:0;line-height:0}.variable-items-wrapper [data-wvstooltip]:active:after,.variable-items-wrapper [data-wvstooltip]:active:before,.variable-items-wrapper [data-wvstooltip]:focus:after,.variable-items-wrapper [data-wvstooltip]:focus:before,.variable-items-wrapper [data-wvstooltip]:hover:after,.variable-items-wrapper [data-wvstooltip]:hover:before{bottom:120%;visibility:visible;opacity:1}.variable-items-wrapper .image-tooltip-wrapper{position:absolute;bottom:140%;border-width:2px;border-style:solid;-webkit-box-shadow:0 7px 15px rgba(0,0,0,.3);box-shadow:0 7px 15px rgba(0,0,0,.3);line-height:0;visibility:hidden;opacity:0;pointer-events:none;-webkit-transition:all .2s linear;transition:all .2s linear;z-index:999}.variable-items-wrapper .image-tooltip-wrapper img{border-radius:0!important}.variable-items-wrapper .image-tooltip-wrapper:after{content:"";bottom:-16px;display:block;position:absolute;border-radius:0!important;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border:8px solid transparent}.variable-items-wrapper .variable-item:active .image-tooltip-wrapper,.variable-items-wrapper .variable-item:focus .image-tooltip-wrapper,.variable-items-wrapper .variable-item:hover .image-tooltip-wrapper{bottom:130%;visibility:visible;opacity:1}
assets/css/frontend.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,
assets/css/frontend.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:34
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,.woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item img{margin:0;padding:0;width:100%}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;list-style:none;cursor:pointer;margin:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item){-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);padding:2px;margin:4px 8px 4px 0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px rgba(0,0,0,.9)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color{width:100%;height:100%;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05);pointer-events:none;position:relative;overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover{pointer-events:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05);position:relative;overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover{overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled label{pointer-events:none;opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled{opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center;transform-origin:center;width:0!important;height:0!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}.woo-variation-swatches-stylesheet-enabled.rtl table.variations td.label{padding-left:15px;padding-right:0;text-align:left}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item{text-align:right}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item){margin:4px 0 4px 8px}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{margin-right:0;margin-left:5px}.woo-variation-swatches-stylesheet-enabled.woocommerce .product.elementor table.variations td.value:before{display:none!important}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:06
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select,.woo-variation-swatches-stylesheet-enabled .woo-variation-raw-select+.select2{display:none!important}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0;padding:0;list-style:none}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item{margin:0;padding:0;list-style:none;-webkit-transition:all .2s ease;transition:all .2s ease;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item img{margin:0;padding:0;width:100%}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper{display:block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item{-webkit-box-sizing:border-box;box-sizing:border-box;display:block;list-style:none;cursor:pointer;margin:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{cursor:pointer}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{width:auto;margin-right:5px}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper.radio-variable-wrapper .radio-variable-item label{font-weight:400;font-size:14px;display:inline-block}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item){-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background-color:#fff;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.3);box-shadow:0 0 0 1px rgba(0,0,0,.3);padding:2px;margin:4px 8px 4px 0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):last-of-type{margin-right:0}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item):hover{-webkit-box-shadow:0 0 0 3px rgba(0,0,0,.1);box-shadow:0 0 0 3px rgba(0,0,0,.1)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected,.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).selected:hover{-webkit-box-shadow:0 0 0 2px rgba(0,0,0,.9);box-shadow:0 0 0 2px rgba(0,0,0,.9)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color{width:100%;height:100%;position:relative}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).color-variable-item .variable-item-span-color:after{position:absolute;content:"";width:100%;height:100%;top:0;left:0;-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.5)}.woo-variation-swatches-stylesheet-enabled .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:center}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item .variable-item-span:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-rounded .variable-items-wrapper .variable-item img{border-radius:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item{border-radius:2px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item{width:auto}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.button-variable-item .variable-item-span{padding:0 5px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-style-squared .variable-items-wrapper .variable-item.color-variable-item span:after{border-radius:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover{cursor:not-allowed;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05);pointer-events:none;position:relative;overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{position:absolute;content:" "!important;width:100%;height:1px;background:red!important;left:0;right:0;bottom:0;top:50%;visibility:visible;opacity:1;border:0;margin:0!important;padding:0!important;min-width:auto;-webkit-transform-origin:center;transform-origin:center;z-index:0}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .variable-item:not(.radio-variable-item).disabled:hover:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled label{cursor:not-allowed;text-decoration:line-through;opacity:.5}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:before,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur .radio-variable-item.disabled:hover:before{display:none}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover{pointer-events:none;-webkit-box-shadow:0 0 0 1px rgba(0,0,0,.05);box-shadow:0 0 0 1px rgba(0,0,0,.05);position:relative;overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled:hover span,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled img,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .variable-item:not(.radio-variable-item).disabled span{opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover{overflow:hidden}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled:hover label,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled input,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-blur-no-cross .radio-variable-item.disabled label{pointer-events:none;opacity:.3}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled{opacity:0;visibility:hidden;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center;transform-origin:center;width:0!important;height:0!important;padding:0!important;margin:0!important;min-width:0!important;min-height:0!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-attribute-behavior-hide .variable-item.disabled.radio-variable-item{width:auto!important}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]{position:relative}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item[data-wvstooltip]:before{left:8px;bottom:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:8px}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-center .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:after,.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item[data-wvstooltip]:before{left:100%}.woo-variation-swatches-stylesheet-enabled.woo-variation-swatches-tooltip-enabled.woo-variation-swatches-archive-align-right .wvs-archive-variation-wrapper .radio-variable-item .image-tooltip-wrapper{-webkit-transform:translateX(-50%);transform:translateX(-50%);left:100%}.woo-variation-swatches-stylesheet-enabled.rtl table.variations td.label{padding-left:15px;padding-right:0;text-align:left}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item{text-align:right}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper .variable-item:not(.radio-variable-item){margin:4px 0 4px 8px}.woo-variation-swatches-stylesheet-enabled.rtl .variable-items-wrapper.radio-variable-wrapper .radio-variable-item input{margin-right:0;margin-left:5px}.woo-variation-swatches-stylesheet-enabled.woocommerce .product.elementor table.variations td.value:before{display:none!important}
assets/css/gwp-admin.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-deactivate-feedback-dialog {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-deactivate-feedback-dialog {
assets/css/gwp-admin.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:34
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-deactivate-feedback-dialog{border-radius:3px}.gwp-deactivate-feedback-dialog .ui-dialog-titlebar{color:#495157;font-weight:700;font-size:14px;background:transparent;padding:0 36px 0 20px;height:50px;line-height:50px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);text-transform:uppercase;border:0}.gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close{width:50px;height:50px}.gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close:before{width:50px;height:50px;line-height:50px}.gwp-deactivate-feedback-dialog .ui-dialog-content{padding:30px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-caption{font-weight:700;font-size:15px;color:#495157;line-height:1.4;margin-bottom:20px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input-wrapper{line-height:1.3;overflow:hidden;margin-bottom:15px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input{float:left;margin:0 10px 0 0;-webkit-box-shadow:none;box-shadow:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-text{margin:10px 0 0 25px;padding:5px;font-size:13px;-webkit-box-shadow:none;box-shadow:none;background-color:#fff;width:92%;display:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-alert{color:#0273a9;background-color:#fff;font-weight:600}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-label{display:block;font-size:13px;color:#6d7882}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons{margin-top:30px;overflow:hidden;clear:both}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner{float:left;margin:10px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner.visible{visibility:visible}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send{background-color:#56bfd4;border-radius:3px;color:#fff;line-height:1;padding:12px 20px;font-size:13px;height:40px;border:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;float:left}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:hover{background:#389db1}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:active{-webkit-transform:translateY(0);transform:translateY(0)}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip{font-size:12px;color:#a4afb7;background:none;float:right;width:auto;cursor:pointer;padding:10px 0;outline:0;text-decoration:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:focus{-webkit-box-shadow:none;box-shadow:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:hover{text-decoration:underline}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:06
6
  * Released under the GPLv3 license.
7
  */
8
  .gwp-deactivate-feedback-dialog{border-radius:3px}.gwp-deactivate-feedback-dialog .ui-dialog-titlebar{color:#495157;font-weight:700;font-size:14px;background:transparent;padding:0 36px 0 20px;height:50px;line-height:50px;-webkit-box-shadow:0 0 8px rgba(0,0,0,.1);box-shadow:0 0 8px rgba(0,0,0,.1);text-transform:uppercase;border:0}.gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close{width:50px;height:50px}.gwp-deactivate-feedback-dialog .ui-button.ui-dialog-titlebar-close:before{width:50px;height:50px;line-height:50px}.gwp-deactivate-feedback-dialog .ui-dialog-content{padding:30px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-caption{font-weight:700;font-size:15px;color:#495157;line-height:1.4;margin-bottom:20px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input-wrapper{line-height:1.3;overflow:hidden;margin-bottom:15px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-input{float:left;margin:0 10px 0 0;-webkit-box-shadow:none;box-shadow:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-text{margin:10px 0 0 25px;padding:5px;font-size:13px;-webkit-box-shadow:none;box-shadow:none;background-color:#fff;width:92%;display:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-alert{color:#0273a9;background-color:#fff;font-weight:600}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-body .feedback-dialog-label{display:block;font-size:13px;color:#6d7882}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons{margin-top:30px;overflow:hidden;clear:both}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner{float:left;margin:10px}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .spinner.visible{visibility:visible}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send{background-color:#56bfd4;border-radius:3px;color:#fff;line-height:1;padding:12px 20px;font-size:13px;height:40px;border:0;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;float:left}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:hover{background:#389db1}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-send:active{-webkit-transform:translateY(0);transform:translateY(0)}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip{font-size:12px;color:#a4afb7;background:none;float:right;width:auto;cursor:pointer;padding:10px 0;outline:0;text-decoration:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:focus{-webkit-box-shadow:none;box-shadow:none}.gwp-deactivate-feedback-dialog .ui-dialog-content .feedback-dialog-form-buttons .feedback-dialog-form-button-skip:hover{text-decoration:underline}
assets/css/wvs-customize-heading-control.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title {
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title {
assets/css/wvs-customize-heading-control.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:34
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title{margin-top:-15px;margin-bottom:0}.wvs-customize-heading-control-title{background-color:#191e23;padding:10px 15px;color:#fff;margin:5px -15px;font-size:1rem;font-weight:200;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:06
6
  * Released under the GPLv3 license.
7
  */
8
  .accordion-section-content li:nth-child(2).customize-control-wvs-heading .wvs-customize-heading-control-title{margin-top:-15px;margin-bottom:0}.wvs-customize-heading-control-title{background-color:#191e23;padding:10px 15px;color:#fff;margin:5px -15px;font-size:1rem;font-weight:200;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
assets/css/wvs-theme-override.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-sober .product form.cart .variations .variable,
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-sober .product form.cart .variations .variable,
assets/css/wvs-theme-override.min.css CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:34
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-child-sober .product form.cart .variations .variable,.woo-variation-swatches-theme-sober .product form.cart .variations .variable{margin-bottom:15px!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options{border:0!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options:after,.woo-variation-swatches-theme-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options:after{display:none}.woo-variation-swatches-theme-child-sober .product form.cart .variations .label,.woo-variation-swatches-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.woo-variation-swatches-theme-child-sober .product form.cart .variations .value,.woo-variation-swatches-theme-sober .product form.cart .variations .value{-webkit-box-flex:unset;-ms-flex-positive:unset;flex-grow:unset}.woo-variation-swatches-theme-child-sober .product form.cart .variations select,.woo-variation-swatches-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb!important;padding:.5em 1em!important;text-align:left!important;text-align-last:left!important;-webkit-appearance:menulist-button!important}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item:last-child,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:before,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:after,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.woo-variation-swatches-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.woo-variation-swatches-theme-shophistic-lite .ql_custom_variations{display:none!important}.woo-variation-swatches-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.woo-variation-swatches-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.woo-variation-swatches-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.woo-variation-swatches-theme-kalium-child .image-variable-item img,.woo-variation-swatches-theme-kalium .image-variable-item img{width:100%!important}.woo-variation-swatches-theme-kalium-child .radio-variable-item input,.woo-variation-swatches-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}.woo-variation-swatches-theme-kalium-child .woo-variation-items-wrapper .select-option-ui,.woo-variation-swatches-theme-kalium .woo-variation-items-wrapper .select-option-ui{display:none}.woo-variation-swatches-theme-aurum .variable-items-wrapper .image-variable-item>img,.woo-variation-swatches-theme-child-aurum .variable-items-wrapper .image-variable-item>img{width:100%}.woo-variation-swatches-theme-hestia .woo-variation-items-wrapper.value:before{display:none!important}.woo-variation-swatches-theme-child-thegem .woo-variation-items-wrapper .combobox-wrapper,.woo-variation-swatches-theme-thegem .woo-variation-items-wrapper .combobox-wrapper{display:none}.woo-variation-swatches-theme-child-thegem .wvs-archive-variation-wrapper .variations,.woo-variation-swatches-theme-thegem .wvs-archive-variation-wrapper .variations{padding:0}.woo-variation-swatches-theme-child-ushop .variations_form,.woo-variation-swatches-theme-ushop .variations_form{overflow:visible!important}.woo-variation-swatches-theme-child-ushop .single-product-summary .product_meta,.woo-variation-swatches-theme-ushop .single-product-summary .product_meta{display:inline-table}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper{position:relative!important}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper .sod_select,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper .sod_select{display:none!important}.woo-variation-swatches-theme-child-savoy .nm-variation-row,.woo-variation-swatches-theme-savoy .nm-variation-row{display:-webkit-box;display:-ms-flexbox;display:flex}.woo-variation-swatches-theme-child-woodstock .woo-variation-items-wrapper .variation-select,.woo-variation-swatches-theme-woodstock .woo-variation-items-wrapper .variation-select{display:none!important}.woo-variation-swatches-theme-child-woodmart .woo-variation-items-wrapper>.swatches-select,.woo-variation-swatches-theme-woodmart .woo-variation-items-wrapper>.swatches-select{display:none}
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:06
6
  * Released under the GPLv3 license.
7
  */
8
  .woo-variation-swatches-theme-child-sober .product form.cart .variations .variable,.woo-variation-swatches-theme-sober .product form.cart .variations .variable{margin-bottom:15px!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options{border:0!important}.woo-variation-swatches-theme-child-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-child-sober .product form.cart .variations .variable-options:after,.woo-variation-swatches-theme-sober .product form.cart .variations .arrow,.woo-variation-swatches-theme-sober .product form.cart .variations .variable-options:after{display:none}.woo-variation-swatches-theme-child-sober .product form.cart .variations .label,.woo-variation-swatches-theme-sober .product form.cart .variations .label{display:block;text-align:right;margin-right:10px}.woo-variation-swatches-theme-child-sober .product form.cart .variations .value,.woo-variation-swatches-theme-sober .product form.cart .variations .value{-webkit-box-flex:unset;-ms-flex-positive:unset;flex-grow:unset}.woo-variation-swatches-theme-child-sober .product form.cart .variations select,.woo-variation-swatches-theme-sober .product form.cart .variations select{border:1px solid #e4e6eb!important;padding:.5em 1em!important;text-align:left!important;text-align-last:left!important;-webkit-appearance:menulist-button!important}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item{margin:5px;text-align:left}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item:last-child,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item:last-child{margin-right:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label{padding-left:30px;margin:0}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:before,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:before{top:0;border-radius:100%}.woo-variation-swatches-theme-child-sober .product form.cart .radio-variable-item label:after,.woo-variation-swatches-theme-sober .product form.cart .radio-variable-item label:after{top:8px}.woo-variation-swatches-theme-shophistic-lite.woocommerce #main .entry-summary .variations{display:block!important}.woo-variation-swatches-theme-shophistic-lite .ql_custom_variations{display:none!important}.woo-variation-swatches-theme-shophistic-lite .radio-variable-item input[type=radio]{display:inline-block;margin:0}.woo-variation-swatches-theme-flatsome .variations .reset_variations{position:relative;bottom:0;left:0}.woo-variation-swatches-theme-stockholm .variations .reset_variations{position:relative;bottom:0;left:0;-webkit-transform:none;transform:none}.woo-variation-swatches-theme-kalium-child .image-variable-item img,.woo-variation-swatches-theme-kalium .image-variable-item img{width:100%!important}.woo-variation-swatches-theme-kalium-child .radio-variable-item input,.woo-variation-swatches-theme-kalium .radio-variable-item input{width:16px!important;height:16px!important}.woo-variation-swatches-theme-kalium-child .woo-variation-items-wrapper .select-option-ui,.woo-variation-swatches-theme-kalium .woo-variation-items-wrapper .select-option-ui{display:none}.woo-variation-swatches-theme-aurum .variable-items-wrapper .image-variable-item>img,.woo-variation-swatches-theme-child-aurum .variable-items-wrapper .image-variable-item>img{width:100%}.woo-variation-swatches-theme-hestia .woo-variation-items-wrapper.value:before{display:none!important}.woo-variation-swatches-theme-child-thegem .woo-variation-items-wrapper .combobox-wrapper,.woo-variation-swatches-theme-thegem .woo-variation-items-wrapper .combobox-wrapper{display:none}.woo-variation-swatches-theme-child-thegem .wvs-archive-variation-wrapper .variations,.woo-variation-swatches-theme-thegem .wvs-archive-variation-wrapper .variations{padding:0}.woo-variation-swatches-theme-child-ushop .variations_form,.woo-variation-swatches-theme-ushop .variations_form{overflow:visible!important}.woo-variation-swatches-theme-child-ushop .single-product-summary .product_meta,.woo-variation-swatches-theme-ushop .single-product-summary .product_meta{display:inline-table}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper{position:relative!important}.woo-variation-swatches-theme-child-savoy .woo-variation-items-wrapper .sod_select,.woo-variation-swatches-theme-savoy .woo-variation-items-wrapper .sod_select{display:none!important}.woo-variation-swatches-theme-child-savoy .nm-variation-row,.woo-variation-swatches-theme-savoy .nm-variation-row{display:-webkit-box;display:-ms-flexbox;display:flex}.woo-variation-swatches-theme-child-woodstock .woo-variation-items-wrapper .variation-select,.woo-variation-swatches-theme-woodstock .woo-variation-items-wrapper .variation-select{display:none!important}.woo-variation-swatches-theme-child-woodmart .woo-variation-items-wrapper>.swatches-select,.woo-variation-swatches-theme-woodmart .woo-variation-items-wrapper>.swatches-select{display:none}
assets/js/admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -409,4 +409,4 @@ var PluginHelper = function ($) {
409
 
410
  /***/ })
411
  /******/ ]);
412
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2FkbWluLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDI3MDUwMGRhZmRkMGMyMmUwOWQ5Iiwid2VicGFjazovLy9zcmMvanMvYmFja2VuZC5qcyIsIndlYnBhY2s6Ly8vc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3M/YmU2MSIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9nd3AtYWRtaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9mcm9udGVuZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy90aGVtZS1vdmVycmlkZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2N1c3RvbWl6ZS1oZWFkaW5nLWNvbnRyb2wuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCAyNzA1MDBkYWZkZDBjMjJlMDlkOSIsImpRdWVyeSgkID0+IHtcbiAgICBpbXBvcnQoJy4vUGx1Z2luSGVscGVyJykudGhlbigoe1BsdWdpbkhlbHBlcn0pID0+IHtcblxuICAgICAgICBQbHVnaW5IZWxwZXIuR1dQQWRtaW4oKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLlNlbGVjdFdvbygpO1xuICAgICAgICBQbHVnaW5IZWxwZXIuQ29sb3JQaWNrZXIoKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkZpZWxkRGVwZW5kZW5jeSgpO1xuICAgICAgICBQbHVnaW5IZWxwZXIuSW1hZ2VVcGxvYWRlcigpO1xuICAgICAgICBQbHVnaW5IZWxwZXIuQXR0cmlidXRlRGlhbG9nKCk7XG5cbiAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignd29vY29tbWVyY2VfYWRkZWRfYXR0cmlidXRlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLlNlbGVjdFdvbygpO1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkNvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuSW1hZ2VVcGxvYWRlcigpO1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkF0dHJpYnV0ZURpYWxvZygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCd3dnNfcHJvX3Byb2R1Y3Rfc3dhdGNoZXNfdmFyaWF0aW9uX2xvYWRlZCcsICgpID0+IHtcbiAgICAgICAgICAgIFBsdWdpbkhlbHBlci5Db2xvclBpY2tlcigpO1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkltYWdlVXBsb2FkZXIoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTsgIC8vIGVuZCBvZiBqcXVlcnkgbWFpbiB3cmFwcGVyXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9qcy9iYWNrZW5kLmpzIiwiLypnbG9iYWwgV1ZTUGx1Z2luT2JqZWN0LCB3cCwgd29vY29tbWVyY2VfYWRtaW5fbWV0YV9ib3hlcyovXG5cbmNvbnN0IFBsdWdpbkhlbHBlciA9ICgoJCkgPT4ge1xuICAgIGNsYXNzIFBsdWdpbkhlbHBlciB7XG5cbiAgICAgICAgc3RhdGljIEdXUEFkbWluKCkge1xuICAgICAgICAgICAgaWYgKCQoKS5nd3BfbGl2ZV9mZWVkKSB7XG4gICAgICAgICAgICAgICAgJCgpLmd3cF9saXZlX2ZlZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkKCkuZ3dwX2RlYWN0aXZhdGVfcG9wdXApIHtcbiAgICAgICAgICAgICAgICAkKCkuZ3dwX2RlYWN0aXZhdGVfcG9wdXAoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBJbWFnZVVwbG9hZGVyKCkge1xuICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nLCB0aGlzLkFkZEltYWdlKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3JlbW92ZV9pbWFnZV9idXR0b24nLCB0aGlzLlJlbW92ZUltYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBBZGRJbWFnZShldmVudCkge1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGxldCBmaWxlX2ZyYW1lO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHdwICE9PSAndW5kZWZpbmVkJyAmJiB3cC5tZWRpYSAmJiB3cC5tZWRpYS5lZGl0b3IpIHtcblxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtZWRpYSBmcmFtZSBhbHJlYWR5IGV4aXN0cywgcmVvcGVuIGl0LlxuICAgICAgICAgICAgICAgIGlmIChmaWxlX2ZyYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBtZWRpYSBmcmFtZS5cbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lID0gd3AubWVkaWEuZnJhbWVzLnNlbGVjdF9pbWFnZSA9IHdwLm1lZGlhKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgICAgOiBXVlNQbHVnaW5PYmplY3QubWVkaWFfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA6IFdWU1BsdWdpbk9iamVjdC5idXR0b25fdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gYW4gaW1hZ2UgaXMgc2VsZWN0ZWQsIHJ1biBhIGNhbGxiYWNrLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub24oJ3NlbGVjdCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKS5maXJzdCgpLnRvSlNPTigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgkLnRyaW0oYXR0YWNobWVudC5pZCkgIT09ICcnKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSAodHlwZW9mKGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsKSA9PT0gJ3VuZGVmaW5lZCcpID8gYXR0YWNobWVudC5zaXplcy5mdWxsLnVybCA6IGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsLnVybDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wcmV2KCkudmFsKGF0dGFjaG1lbnQuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuYXR0cignc3JjJywgdXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykubmV4dCgpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvL2ZpbGVfZnJhbWUuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gb3BlbiBzZWxlY3Qgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lLm9uKCdvcGVuJywgKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEdyYWIgb3VyIGF0dGFjaG1lbnQgc2VsZWN0aW9uIGFuZCBjb25zdHJ1Y3QgYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb2RlbC5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvbiAgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgICAgPSAkKHRoaXMpLnByZXYoKS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSB3cC5tZWRpYS5hdHRhY2htZW50KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50LmZldGNoKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5hZGQoYXR0YWNobWVudCA/IFthdHRhY2htZW50XSA6IFtdKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIEZpbmFsbHksIG9wZW4gdGhlIG1vZGFsLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIFJlbW92ZUltYWdlKGV2ZW50KSB7XG5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuZGF0YSgncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLm1ldGEtaW1hZ2UtZmllbGQtd3JhcHBlcicpLmZpbmQoJ2ltZycpLmF0dHIoJ3NyYycsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICQodGhpcykucHJldigpLnByZXYoKS52YWwoJycpO1xuICAgICAgICAgICAgJCh0aGlzKS5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgU2VsZWN0V29vKHNlbGVjdG9yID0gJ3NlbGVjdC53dnMtc2VsZWN0d29vJykge1xuICAgICAgICAgICAgaWYgKCQoKS5zZWxlY3RXb28pIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS5zZWxlY3RXb28oe1xuICAgICAgICAgICAgICAgICAgICBhbGxvd0NsZWFyIDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIENvbG9yUGlja2VyKHNlbGVjdG9yID0gJ2lucHV0Lnd2cy1jb2xvci1waWNrZXInKSB7XG4gICAgICAgICAgICBpZiAoJCgpLndwQ29sb3JQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS53cENvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgRmllbGREZXBlbmRlbmN5KHNlbGVjdG9yID0gJ1tkYXRhLWRlcGVuZHNdJykge1xuICAgICAgICAgICAgaWYgKCQoKS5Gb3JtRmllbGREZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICAgICAgJChzZWxlY3RvcikuRm9ybUZpZWxkRGVwZW5kZW5jeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIHNhdmluZ0RpYWxvZygkd3JhcHBlciwgJGRpYWxvZywgdGF4b25vbXkpIHtcblxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7fTtcbiAgICAgICAgICAgIGxldCB0ZXJtID0gJyc7XG5cbiAgICAgICAgICAgIC8vIEBUT0RPOiBXZSBzaG91bGQgdXNlIGZvcm0gZGF0YSwgYmVjYXVzZSB3ZSBoYXZlIHRvIHBpY2sgYXJyYXkgYmFzZWQgZGF0YSBhbHNvIDopXG5cbiAgICAgICAgICAgICRkaWFsb2cuZmluZChgaW5wdXQsIHNlbGVjdGApLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGxldCBrZXkgICA9ICQodGhpcykuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG4gICAgICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAndGFnX25hbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtID0gdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS52YWwoJycpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtKSB7XG4gICAgICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLmJsb2NrKHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlDU1MgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJyNmZmYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgICA6IDAuNlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgYWpheF9kYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24gICA6ICd3b29jb21tZXJjZV9hZGRfbmV3X2F0dHJpYnV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRheG9ub215IDogdGF4b25vbXksXG4gICAgICAgICAgICAgICAgICAgIHRlcm0gICAgIDogdGVybSxcbiAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHkgOiB3b29jb21tZXJjZV9hZG1pbl9tZXRhX2JveGVzLmFkZF9hdHRyaWJ1dGVfbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIC4uLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgJC5wb3N0KHdvb2NvbW1lcmNlX2FkbWluX21ldGFfYm94ZXMuYWpheF91cmwsIGFqYXhfZGF0YSwgZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFcnJvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hbGVydChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2Uuc2x1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VjY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICR3cmFwcGVyLmZpbmQoJ3NlbGVjdC5hdHRyaWJ1dGVfdmFsdWVzJykuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPVwiJyArIHJlc3BvbnNlLnRlcm1faWQgKyAnXCIgc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPicgKyByZXNwb25zZS5uYW1lICsgJzwvb3B0aW9uPicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXBwZXIuZmluZCgnc2VsZWN0LmF0dHJpYnV0ZV92YWx1ZXMnKS5jaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICQoJy5wcm9kdWN0X2F0dHJpYnV0ZXMnKS51bmJsb2NrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKCcucHJvZHVjdF9hdHRyaWJ1dGVzJykudW5ibG9jaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIEF0dHJpYnV0ZURpYWxvZygpIHtcblxuICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzO1xuICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX2FkZF9uZXdfYXR0cmlidXRlJywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0ICR3cmFwcGVyICA9ICQodGhpcykuY2xvc2VzdCgnLndvb2NvbW1lcmNlX2F0dHJpYnV0ZScpO1xuICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGUgPSAkd3JhcHBlci5kYXRhKCd0YXhvbm9teScpO1xuICAgICAgICAgICAgICAgIGxldCB0aXRsZSAgICAgPSAkKHRoaXMpLmRhdGEoJ2RpYWxvZ190aXRsZScpO1xuXG4gICAgICAgICAgICAgICAgJCgnLnd2cy1hdHRyaWJ1dGUtZGlhbG9nLWZvci0nICsgYXR0cmlidXRlKS5kaWFsb2coe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGRpYWxvZ0NsYXNzICAgOiAnd3AtZGlhbG9nIHd2cy1hdHRyaWJ1dGUtZGlhbG9nJyxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NlcyAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidWktZGlhbG9nXCIgOiBcIndwLWRpYWxvZyB3dnMtYXR0cmlidXRlLWRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGF1dG9PcGVuICAgICAgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgIG1vZGFsICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNsb3NlT25Fc2NhcGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbXkgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXQgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2YgOiB3aW5kb3dcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb3BlbiAgICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIGRpYWxvZyBieSBjbGlja2luZyB0aGUgb3ZlcmxheSBiZWhpbmQgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS13aWRnZXQtb3ZlcmxheScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNhdHRyaWJ1dGUtZGlhbG9nJykuZGlhbG9nKCdjbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlIGZpeCBmb3IgV29yZFByZXNzIGFkbWluXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAkKCcudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlJykuYWRkQ2xhc3MoJ3VpLWJ1dHRvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZyhcIm9wdGlvblwiLCBcInRpdGxlXCIsIHRpdGxlKVxuICAgICAgICAgICAgICAgICAgICAuZGlhbG9nKFwib3B0aW9uXCIsIFwiYnV0dG9uc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX3NhdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zYXZpbmdEaWFsb2coJHdyYXBwZXIsICQodGhpcyksIGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX2NhbmNlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2sgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZygnb3BlbicpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBQbHVnaW5IZWxwZXI7XG59KShqUXVlcnkpO1xuXG5leHBvcnQgeyBQbHVnaW5IZWxwZXIgfTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL2d3cC1hZG1pbi5zY3NzXG4vLyBtb2R1bGUgaWQgPSA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9mcm9udGVuZC5zY3NzXG4vLyBtb2R1bGUgaWQgPSA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy90b29sdGlwLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL3RoZW1lLW92ZXJyaWRlLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL2N1c3RvbWl6ZS1oZWFkaW5nLWNvbnRyb2wuc2Nzc1xuLy8gbW9kdWxlIGlkID0gOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM3REE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUN0QkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFBQTtBQUFBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUFBQTtBQUFBO0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBTEE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZFQTtBQUFBO0FBQUE7QUFDQTtBQTBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuRkE7QUFBQTtBQUFBO0FBcUZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUEzRkE7QUFBQTtBQUFBO0FBNkZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQWpHQTtBQUFBO0FBQUE7QUFtR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBdkdBO0FBQUE7QUFBQTtBQUNBO0FBMEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQWpLQTtBQUFBO0FBQUE7QUFDQTtBQW9LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFnQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVNBO0FBQ0E7QUE5TkE7QUFDQTtBQURBO0FBQUE7QUFDQTtBQWdPQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNyT0E7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7Ozs7O0FDQUE7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
409
 
410
  /***/ })
411
  /******/ ]);
412
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2FkbWluLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDhjMjI2NmFlNjY1OWQ4YTlmNWU1Iiwid2VicGFjazovLy9zcmMvanMvYmFja2VuZC5qcyIsIndlYnBhY2s6Ly8vc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3M/YmU2MSIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9nd3AtYWRtaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy9mcm9udGVuZC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvc2Nzcy90aGVtZS1vdmVycmlkZS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2N1c3RvbWl6ZS1oZWFkaW5nLWNvbnRyb2wuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSAwKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA4YzIyNjZhZTY2NTlkOGE5ZjVlNSIsImpRdWVyeSgkID0+IHtcbiAgICBpbXBvcnQoJy4vUGx1Z2luSGVscGVyJykudGhlbigoe1BsdWdpbkhlbHBlcn0pID0+IHtcblxuICAgICAgICBQbHVnaW5IZWxwZXIuR1dQQWRtaW4oKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLlNlbGVjdFdvbygpO1xuICAgICAgICBQbHVnaW5IZWxwZXIuQ29sb3JQaWNrZXIoKTtcbiAgICAgICAgUGx1Z2luSGVscGVyLkZpZWxkRGVwZW5kZW5jeSgpO1xuICAgICAgICBQbHVnaW5IZWxwZXIuSW1hZ2VVcGxvYWRlcigpO1xuICAgICAgICBQbHVnaW5IZWxwZXIuQXR0cmlidXRlRGlhbG9nKCk7XG5cbiAgICAgICAgJChkb2N1bWVudC5ib2R5KS5vbignd29vY29tbWVyY2VfYWRkZWRfYXR0cmlidXRlJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLlNlbGVjdFdvbygpO1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkNvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICBQbHVnaW5IZWxwZXIuSW1hZ2VVcGxvYWRlcigpO1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkF0dHJpYnV0ZURpYWxvZygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCd3dnNfcHJvX3Byb2R1Y3Rfc3dhdGNoZXNfdmFyaWF0aW9uX2xvYWRlZCcsICgpID0+IHtcbiAgICAgICAgICAgIFBsdWdpbkhlbHBlci5Db2xvclBpY2tlcigpO1xuICAgICAgICAgICAgUGx1Z2luSGVscGVyLkltYWdlVXBsb2FkZXIoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59KTsgIC8vIGVuZCBvZiBqcXVlcnkgbWFpbiB3cmFwcGVyXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9qcy9iYWNrZW5kLmpzIiwiLypnbG9iYWwgV1ZTUGx1Z2luT2JqZWN0LCB3cCwgd29vY29tbWVyY2VfYWRtaW5fbWV0YV9ib3hlcyovXG5cbmNvbnN0IFBsdWdpbkhlbHBlciA9ICgoJCkgPT4ge1xuICAgIGNsYXNzIFBsdWdpbkhlbHBlciB7XG5cbiAgICAgICAgc3RhdGljIEdXUEFkbWluKCkge1xuICAgICAgICAgICAgaWYgKCQoKS5nd3BfbGl2ZV9mZWVkKSB7XG4gICAgICAgICAgICAgICAgJCgpLmd3cF9saXZlX2ZlZWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgkKCkuZ3dwX2RlYWN0aXZhdGVfcG9wdXApIHtcbiAgICAgICAgICAgICAgICAkKCkuZ3dwX2RlYWN0aXZhdGVfcG9wdXAoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBJbWFnZVVwbG9hZGVyKCkge1xuICAgICAgICAgICAgJChkb2N1bWVudCkub2ZmKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3VwbG9hZF9pbWFnZV9idXR0b24nLCB0aGlzLkFkZEltYWdlKTtcbiAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX3JlbW92ZV9pbWFnZV9idXR0b24nLCB0aGlzLlJlbW92ZUltYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBBZGRJbWFnZShldmVudCkge1xuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgICAgIGxldCBmaWxlX2ZyYW1lO1xuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHdwICE9PSAndW5kZWZpbmVkJyAmJiB3cC5tZWRpYSAmJiB3cC5tZWRpYS5lZGl0b3IpIHtcblxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBtZWRpYSBmcmFtZSBhbHJlYWR5IGV4aXN0cywgcmVvcGVuIGl0LlxuICAgICAgICAgICAgICAgIGlmIChmaWxlX2ZyYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHRoZSBtZWRpYSBmcmFtZS5cbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lID0gd3AubWVkaWEuZnJhbWVzLnNlbGVjdF9pbWFnZSA9IHdwLm1lZGlhKHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUgICAgOiBXVlNQbHVnaW5PYmplY3QubWVkaWFfdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCA6IFdWU1BsdWdpbk9iamVjdC5idXR0b25fdGl0bGVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGlwbGUgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gYW4gaW1hZ2UgaXMgc2VsZWN0ZWQsIHJ1biBhIGNhbGxiYWNrLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub24oJ3NlbGVjdCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKS5maXJzdCgpLnRvSlNPTigpO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmICgkLnRyaW0oYXR0YWNobWVudC5pZCkgIT09ICcnKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSAodHlwZW9mKGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsKSA9PT0gJ3VuZGVmaW5lZCcpID8gYXR0YWNobWVudC5zaXplcy5mdWxsLnVybCA6IGF0dGFjaG1lbnQuc2l6ZXMudGh1bWJuYWlsLnVybDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wcmV2KCkudmFsKGF0dGFjaG1lbnQuaWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuYXR0cignc3JjJywgdXJsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykubmV4dCgpLnNob3coKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvL2ZpbGVfZnJhbWUuY2xvc2UoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIFdoZW4gb3BlbiBzZWxlY3Qgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICBmaWxlX2ZyYW1lLm9uKCdvcGVuJywgKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIEdyYWIgb3VyIGF0dGFjaG1lbnQgc2VsZWN0aW9uIGFuZCBjb25zdHJ1Y3QgYSBKU09OIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBtb2RlbC5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGlvbiAgPSBmaWxlX2ZyYW1lLnN0YXRlKCkuZ2V0KCdzZWxlY3Rpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGN1cnJlbnQgICAgPSAkKHRoaXMpLnByZXYoKS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGF0dGFjaG1lbnQgPSB3cC5tZWRpYS5hdHRhY2htZW50KGN1cnJlbnQpO1xuICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50LmZldGNoKCk7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbi5hZGQoYXR0YWNobWVudCA/IFthdHRhY2htZW50XSA6IFtdKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vIEZpbmFsbHksIG9wZW4gdGhlIG1vZGFsLlxuICAgICAgICAgICAgICAgIGZpbGVfZnJhbWUub3BlbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIFJlbW92ZUltYWdlKGV2ZW50KSB7XG5cbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICAgICAgbGV0IHBsYWNlaG9sZGVyID0gJCh0aGlzKS5jbG9zZXN0KCcubWV0YS1pbWFnZS1maWVsZC13cmFwcGVyJykuZmluZCgnaW1nJykuZGF0YSgncGxhY2Vob2xkZXInKTtcbiAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLm1ldGEtaW1hZ2UtZmllbGQtd3JhcHBlcicpLmZpbmQoJ2ltZycpLmF0dHIoJ3NyYycsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICAgICQodGhpcykucHJldigpLnByZXYoKS52YWwoJycpO1xuICAgICAgICAgICAgJCh0aGlzKS5oaWRlKCk7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgU2VsZWN0V29vKHNlbGVjdG9yID0gJ3NlbGVjdC53dnMtc2VsZWN0d29vJykge1xuICAgICAgICAgICAgaWYgKCQoKS5zZWxlY3RXb28pIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS5zZWxlY3RXb28oe1xuICAgICAgICAgICAgICAgICAgICBhbGxvd0NsZWFyIDogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIENvbG9yUGlja2VyKHNlbGVjdG9yID0gJ2lucHV0Lnd2cy1jb2xvci1waWNrZXInKSB7XG4gICAgICAgICAgICBpZiAoJCgpLndwQ29sb3JQaWNrZXIpIHtcbiAgICAgICAgICAgICAgICAkKHNlbGVjdG9yKS53cENvbG9yUGlja2VyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgRmllbGREZXBlbmRlbmN5KHNlbGVjdG9yID0gJ1tkYXRhLWRlcGVuZHNdJykge1xuICAgICAgICAgICAgaWYgKCQoKS5Gb3JtRmllbGREZXBlbmRlbmN5KSB7XG4gICAgICAgICAgICAgICAgJChzZWxlY3RvcikuRm9ybUZpZWxkRGVwZW5kZW5jeSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIHNhdmluZ0RpYWxvZygkd3JhcHBlciwgJGRpYWxvZywgdGF4b25vbXkpIHtcblxuICAgICAgICAgICAgbGV0IGRhdGEgPSB7fTtcbiAgICAgICAgICAgIGxldCB0ZXJtID0gJyc7XG5cbiAgICAgICAgICAgIC8vIEBUT0RPOiBXZSBzaG91bGQgdXNlIGZvcm0gZGF0YSwgYmVjYXVzZSB3ZSBoYXZlIHRvIHBpY2sgYXJyYXkgYmFzZWQgZGF0YSBhbHNvIDopXG5cbiAgICAgICAgICAgICRkaWFsb2cuZmluZChgaW5wdXQsIHNlbGVjdGApLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGxldCBrZXkgICA9ICQodGhpcykuYXR0cignbmFtZScpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG4gICAgICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAndGFnX25hbWUnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXJtID0gdmFsdWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS52YWwoJycpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0ZXJtKSB7XG4gICAgICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLmJsb2NrKHtcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJsYXlDU1MgOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJyNmZmYnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAgICA6IDAuNlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBsZXQgYWpheF9kYXRhID0ge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb24gICA6ICd3b29jb21tZXJjZV9hZGRfbmV3X2F0dHJpYnV0ZScsXG4gICAgICAgICAgICAgICAgICAgIHRheG9ub215IDogdGF4b25vbXksXG4gICAgICAgICAgICAgICAgICAgIHRlcm0gICAgIDogdGVybSxcbiAgICAgICAgICAgICAgICAgICAgc2VjdXJpdHkgOiB3b29jb21tZXJjZV9hZG1pbl9tZXRhX2JveGVzLmFkZF9hdHRyaWJ1dGVfbm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIC4uLmRhdGFcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgJC5wb3N0KHdvb2NvbW1lcmNlX2FkbWluX21ldGFfYm94ZXMuYWpheF91cmwsIGFqYXhfZGF0YSwgZnVuY3Rpb24gKHJlc3BvbnNlKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFcnJvci5cbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5hbGVydChyZXNwb25zZS5lcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAocmVzcG9uc2Uuc2x1Zykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VjY2Vzcy5cbiAgICAgICAgICAgICAgICAgICAgICAgICR3cmFwcGVyLmZpbmQoJ3NlbGVjdC5hdHRyaWJ1dGVfdmFsdWVzJykuYXBwZW5kKCc8b3B0aW9uIHZhbHVlPVwiJyArIHJlc3BvbnNlLnRlcm1faWQgKyAnXCIgc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPicgKyByZXNwb25zZS5uYW1lICsgJzwvb3B0aW9uPicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXBwZXIuZmluZCgnc2VsZWN0LmF0dHJpYnV0ZV92YWx1ZXMnKS5jaGFuZ2UoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICQoJy5wcm9kdWN0X2F0dHJpYnV0ZXMnKS51bmJsb2NrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKCcucHJvZHVjdF9hdHRyaWJ1dGVzJykudW5ibG9jaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIEF0dHJpYnV0ZURpYWxvZygpIHtcblxuICAgICAgICAgICAgbGV0IHNlbGYgPSB0aGlzO1xuICAgICAgICAgICAgJCgnLnByb2R1Y3RfYXR0cmlidXRlcycpLm9uKCdjbGljaycsICdidXR0b24ud3ZzX2FkZF9uZXdfYXR0cmlidXRlJywgZnVuY3Rpb24gKGV2ZW50KSB7XG5cbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICAgICAgbGV0ICR3cmFwcGVyICA9ICQodGhpcykuY2xvc2VzdCgnLndvb2NvbW1lcmNlX2F0dHJpYnV0ZScpO1xuICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGUgPSAkd3JhcHBlci5kYXRhKCd0YXhvbm9teScpO1xuICAgICAgICAgICAgICAgIGxldCB0aXRsZSAgICAgPSAkKHRoaXMpLmRhdGEoJ2RpYWxvZ190aXRsZScpO1xuXG4gICAgICAgICAgICAgICAgJCgnLnd2cy1hdHRyaWJ1dGUtZGlhbG9nLWZvci0nICsgYXR0cmlidXRlKS5kaWFsb2coe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZSAgICAgICAgIDogJycsXG4gICAgICAgICAgICAgICAgICAgIGRpYWxvZ0NsYXNzICAgOiAnd3AtZGlhbG9nIHd2cy1hdHRyaWJ1dGUtZGlhbG9nJyxcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NlcyAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidWktZGlhbG9nXCIgOiBcIndwLWRpYWxvZyB3dnMtYXR0cmlidXRlLWRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGF1dG9PcGVuICAgICAgOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgICAgIG1vZGFsICAgICAgICAgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICByZXNpemFibGUgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNsb3NlT25Fc2NhcGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbiAgICAgIDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbXkgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXQgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2YgOiB3aW5kb3dcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb3BlbiAgICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNsb3NlIGRpYWxvZyBieSBjbGlja2luZyB0aGUgb3ZlcmxheSBiZWhpbmQgaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51aS13aWRnZXQtb3ZlcmxheScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNhdHRyaWJ1dGUtZGlhbG9nJykuZGlhbG9nKCdjbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHN0eWxlIGZpeCBmb3IgV29yZFByZXNzIGFkbWluXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAkKCcudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlJykuYWRkQ2xhc3MoJ3VpLWJ1dHRvbicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZyhcIm9wdGlvblwiLCBcInRpdGxlXCIsIHRpdGxlKVxuICAgICAgICAgICAgICAgICAgICAuZGlhbG9nKFwib3B0aW9uXCIsIFwiYnV0dG9uc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX3NhdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrIDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zYXZpbmdEaWFsb2coJHdyYXBwZXIsICQodGhpcyksIGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dCAgOiBXVlNQbHVnaW5PYmplY3QuZGlhbG9nX2NhbmNlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2sgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmRpYWxvZyhcImNsb3NlXCIpLmRpYWxvZyhcImRlc3Ryb3lcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgLmRpYWxvZygnb3BlbicpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBQbHVnaW5IZWxwZXI7XG59KShqUXVlcnkpO1xuXG5leHBvcnQgeyBQbHVnaW5IZWxwZXIgfTtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1BsdWdpbkhlbHBlci5qcyIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9iYWNrZW5kLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDNcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL2d3cC1hZG1pbi5zY3NzXG4vLyBtb2R1bGUgaWQgPSA0XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy9mcm9udGVuZC5zY3NzXG4vLyBtb2R1bGUgaWQgPSA1XG4vLyBtb2R1bGUgY2h1bmtzID0gMCIsIi8vIHJlbW92ZWQgYnkgZXh0cmFjdC10ZXh0LXdlYnBhY2stcGx1Z2luXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9zcmMvc2Nzcy90b29sdGlwLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDZcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL3RoZW1lLW92ZXJyaWRlLnNjc3Ncbi8vIG1vZHVsZSBpZCA9IDdcbi8vIG1vZHVsZSBjaHVua3MgPSAwIiwiLy8gcmVtb3ZlZCBieSBleHRyYWN0LXRleHQtd2VicGFjay1wbHVnaW5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL3NyYy9zY3NzL2N1c3RvbWl6ZS1oZWFkaW5nLWNvbnRyb2wuc2Nzc1xuLy8gbW9kdWxlIGlkID0gOFxuLy8gbW9kdWxlIGNodW5rcyA9IDAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM3REE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7QUN0QkE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQURBO0FBQUE7QUFBQTtBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBVkE7QUFBQTtBQUFBO0FBYUE7QUFDQTtBQUNBO0FBQ0E7QUFoQkE7QUFBQTtBQUFBO0FBa0JBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBTEE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXZFQTtBQUFBO0FBQUE7QUFDQTtBQTBFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFuRkE7QUFBQTtBQUFBO0FBcUZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBQ0E7QUEzRkE7QUFBQTtBQUFBO0FBNkZBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQWpHQTtBQUFBO0FBQUE7QUFtR0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBdkdBO0FBQUE7QUFBQTtBQUNBO0FBMEdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUZBO0FBRkE7QUFDQTtBQU9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQUNBO0FBT0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQWpLQTtBQUFBO0FBQUE7QUFDQTtBQW9LQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUExQkE7QUFnQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUxBO0FBUUE7QUFDQTtBQUNBO0FBQ0E7QUFKQTtBQVNBO0FBQ0E7QUE5TkE7QUFDQTtBQURBO0FBQUE7QUFDQTtBQWdPQTtBQUNBO0FBQ0E7Ozs7Ozs7QUNyT0E7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7Ozs7O0FDQUE7Ozs7OztBQ0FBOzs7Ozs7QUNBQTs7O0EiLCJzb3VyY2VSb290IjoiIn0=
assets/js/frontend.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -340,7 +340,7 @@ var WooVariationSwatches = function ($) {
340
  li.each(function () {
341
  var attribute_value = $(this).attr('data-value');
342
 
343
- if (!_.isEmpty(attribute_values) && !attribute_values.includes(attribute_value)) {
344
  $(this).removeClass('selected');
345
  $(this).addClass('disabled');
346
 
@@ -546,4 +546,4 @@ module.exports = __webpack_require__(10);
546
  /***/ })
547
 
548
  /******/ });
549
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2Zyb250ZW5kLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDI3MDUwMGRhZmRkMGMyMmUwOWQ5Iiwid2VicGFjazovLy9zcmMvanMvZnJvbnRlbmQuanMiLCJ3ZWJwYWNrOi8vL3NyYy9qcy9Xb29WYXJpYXRpb25Td2F0Y2hlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA5KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCAyNzA1MDBkYWZkZDBjMjJlMDlkOSIsImpRdWVyeSgkID0+IHtcbiAgICBpbXBvcnQoJy4vV29vVmFyaWF0aW9uU3dhdGNoZXMnKS50aGVuKCgpID0+IHtcbiAgICAgICAgLy8gSW5pdCBvbiBBamF4IFBvcHVwIDopXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCd3Y192YXJpYXRpb25fZm9ybScsICcudmFyaWF0aW9uc19mb3JtJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCh0aGlzKS5Xb29WYXJpYXRpb25Td2F0Y2hlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdXBwb3J0IGZvciBKZXRwYWNrJ3MgSW5maW5pdGUgU2Nyb2xsLFxuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCdwb3N0LWxvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCcudmFyaWF0aW9uc19mb3JtJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS53Y192YXJpYXRpb25fZm9ybSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3VwcG9ydCBmb3IgWWl0aCBJbmZpbml0ZSBTY3JvbGxcbiAgICAgICAgJChkb2N1bWVudCkub24oJ3lpdGhfaW5mc19hZGRlZF9lbGVtJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCgnLnZhcmlhdGlvbnNfZm9ybScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICQodGhpcykud2NfdmFyaWF0aW9uX2Zvcm0oKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFN1cHBvcnQgZm9yIFdvb2RtYXJ0IHRoZW1lXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCd3b29kLWltYWdlcy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCcudmFyaWF0aW9uc19mb3JtJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS53Y192YXJpYXRpb25fZm9ybSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3VwcG9ydCBmb3IgYmVyb2NrZXQgYWpheCBmaWx0ZXJzXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCdiZXJvY2tldF9hamF4X3Byb2R1Y3RzX2xvYWRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICQoJy52YXJpYXRpb25zX2Zvcm0nKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAkKHRoaXMpLndjX3ZhcmlhdGlvbl9mb3JtKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcblxuICAgIH0pO1xufSk7ICAvLyBlbmQgb2YganF1ZXJ5IG1haW4gd3JhcHBlclxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzcmMvanMvZnJvbnRlbmQuanMiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBXb29Db21tZXJjZSBWYXJpYXRpb24gQ2hhbmdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFdvb1ZhcmlhdGlvblN3YXRjaGVzID0gKCgkKSA9PiB7XG5cbiAgICBjb25zdCBEZWZhdWx0ID0ge307XG5cbiAgICBjbGFzcyBXb29WYXJpYXRpb25Td2F0Y2hlcyB7XG5cbiAgICAgICAgY29uc3RydWN0b3IoZWxlbWVudCwgY29uZmlnKSB7XG5cbiAgICAgICAgICAgIC8vIEFzc2lnblxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudCAgICAgICAgICAgPSAkKGVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnICAgICAgICAgICAgPSAkLmV4dGVuZCh7fSwgRGVmYXVsdCwgY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMuX2dlbmVyYXRlZCAgICAgICAgID0ge307XG4gICAgICAgICAgICB0aGlzLl9vdXRfb2Zfc3RvY2sgICAgICA9IHt9O1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnMgPSB0aGlzLl9lbGVtZW50LmRhdGEoJ3Byb2R1Y3RfdmFyaWF0aW9ucycpO1xuICAgICAgICAgICAgdGhpcy5pc19hamF4X3ZhcmlhdGlvbiAgPSAhdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnM7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RfaWQgICAgICAgICA9IHRoaXMuX2VsZW1lbnQuZGF0YSgncHJvZHVjdF9pZCcpO1xuICAgICAgICAgICAgdGhpcy5oaWRkZW5fYmVoYXZpb3VyICAgPSAkKCdib2R5JykuaGFzQ2xhc3MoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMtYXR0cmlidXRlLWJlaGF2aW9yLWhpZGUnKTtcbiAgICAgICAgICAgIHRoaXMuaXNfbW9iaWxlICAgICAgICAgID0gJCgnYm9keScpLmhhc0NsYXNzKCd3b28tdmFyaWF0aW9uLXN3YXRjaGVzLW9uLW1vYmlsZScpO1xuXG4gICAgICAgICAgICAvLyBDYWxsXG4gICAgICAgICAgICB0aGlzLmluaXQodGhpcy5pc19hamF4X3ZhcmlhdGlvbiwgdGhpcy5oaWRkZW5fYmVoYXZpb3VyKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkKHRoaXMuaXNfYWpheF92YXJpYXRpb24sIHRoaXMuaGlkZGVuX2JlaGF2aW91cik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuICAgICAgICAgICAgdGhpcy5yZXNldCh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyXG4gICAgICAgICAgICAkKGRvY3VtZW50KS50cmlnZ2VyKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzJywgW3RoaXMuX2VsZW1lbnRdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBfalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgbmV3IFdvb1ZhcmlhdGlvblN3YXRjaGVzKHRoaXMsIGNvbmZpZylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpbml0KGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcblxuICAgICAgICAgICAgbGV0IF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKGksIGVsKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ICAgICAgICAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0Jyk7XG4gICAgICAgICAgICAgICAgbGV0IGxpICAgICAgICAgICAgID0gJCh0aGlzKS5maW5kKCdsaScpO1xuICAgICAgICAgICAgICAgIGxldCByZXNlbGVjdF9jbGVhciA9ICQodGhpcykuaGFzQ2xhc3MoJ3Jlc2VsZWN0LWNsZWFyJyk7XG4gICAgICAgICAgICAgICAgbGV0IGlzX21vYmlsZSAgICAgID0gJCgnYm9keScpLmhhc0NsYXNzKCd3b28tdmFyaWF0aW9uLXN3YXRjaGVzLW9uLW1vYmlsZScpO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygnd29vLXZhcmlhdGlvbi1pdGVtcy13cmFwcGVyJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBGb3IgQXZhZGEgRklYXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdC5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChyZXNlbGVjdF9jbGVhcikge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2xpOm5vdCguc2VsZWN0ZWQpOm5vdCgucmFkaW8tdmFyaWFibGUtaXRlbSknLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuZGF0YSgndmFsdWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdmb2N1c2luJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcigndG91Y2hzdGFydCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2ZvY3VzJyk7IC8vIE1vYmlsZSB0b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ3d2cy1zZWxlY3RlZC1pdGVtJywgW3ZhbHVlLCBzZWxlY3QsIF90aGlzLl9lbGVtZW50XSk7IC8vIEN1c3RvbSBFdmVudCBmb3IgbGlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbigndG91Y2hzdGFydCBjbGljaycsICdsaS5zZWxlY3RlZDpub3QoLnJhZGlvLXZhcmlhYmxlLWl0ZW0pJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKCcnKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdjbGljaycpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdmb2N1cycpOyAvLyBNb2JpbGUgdG9vbHRpcFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ3d2cy11bnNlbGVjdGVkLWl0ZW0nLCBbdmFsdWUsIHNlbGVjdCwgX3RoaXMuX2VsZW1lbnRdKTsgLy8gQ3VzdG9tIEV2ZW50IGZvciBsaVxuXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFJBRElPXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykub24oJ3RvdWNoc3RhcnQgY2xpY2snLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykub24oJ2NoYW5nZScsICdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLnZhbCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wYXJlbnQoJ2xpLnJhZGlvLXZhcmlhYmxlLWl0ZW0nKS5oYXNDbGFzcygnc2VsZWN0ZWQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwoJycpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8uZGVsYXkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCdsaS5yYWRpby12YXJpYWJsZS1pdGVtJykudHJpZ2dlcignd3ZzLXVuc2VsZWN0ZWQtaXRlbScsIFt2YWx1ZSwgc2VsZWN0LCBfdGhpcy5fZWxlbWVudF0pOyAvLyBDdXN0b20gRXZlbnQgZm9yIGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCcucmFkaW8tdmFyaWFibGUtaXRlbScpLnRyaWdnZXIoJ3d2cy1zZWxlY3RlZC1pdGVtJywgW3ZhbHVlLCBzZWxlY3QsIF90aGlzLl9lbGVtZW50XSk7IC8vIEN1c3RvbSBFdmVudCBmb3IgbGlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCd0b3VjaHN0YXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbigndG91Y2hzdGFydCBjbGljaycsICdsaTpub3QoLnJhZGlvLXZhcmlhYmxlLWl0ZW0pJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKHZhbHVlKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdjbGljaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2ZvY3VzaW4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcigndG91Y2hzdGFydCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2ZvY3VzJyk7IC8vIE1vYmlsZSB0b29sdGlwXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignd3ZzLXNlbGVjdGVkLWl0ZW0nLCBbdmFsdWUsIHNlbGVjdCwgX3RoaXMuX2VsZW1lbnRdKTsgLy8gQ3VzdG9tIEV2ZW50IGZvciBsaVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBSYWRpb1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCdjaGFuZ2UnLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmFkaW9cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCdsaS5yYWRpby12YXJpYWJsZS1pdGVtJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgnbGkucmFkaW8tdmFyaWFibGUtaXRlbScpLnRyaWdnZXIoJ3d2cy1zZWxlY3RlZC1pdGVtJywgW3ZhbHVlLCBzZWxlY3QsIF90aGlzLl9lbGVtZW50XSk7IC8vIEN1c3RvbSBFdmVudCBmb3IgbGlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIF8uZGVsYXkoKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC50cmlnZ2VyKCdyZWxvYWRfcHJvZHVjdF92YXJpYXRpb25zJyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnRyaWdnZXIoJ3dvb192YXJpYXRpb25fc3dhdGNoZXNfaW5pdCcsIFt0aGlzLCB0aGlzLnByb2R1Y3RfdmFyaWF0aW9uc10pXG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkudHJpZ2dlcignd29vX3ZhcmlhdGlvbl9zd2F0Y2hlc19sb2FkZWQnLCBbdGhpcy5fZWxlbWVudCwgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnNdKVxuICAgICAgICAgICAgfSwgMSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxvYWRlZChpc19hamF4LCBoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICBpZiAoIWlzX2FqYXgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzX2luaXQnLCBmdW5jdGlvbiAoZXZlbnQsIG9iamVjdCwgcHJvZHVjdF92YXJpYXRpb25zKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0Ll9nZW5lcmF0ZWQgPSBwcm9kdWN0X3ZhcmlhdGlvbnMucmVkdWNlKChvYmosIHZhcmlhdGlvbikgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YXJpYXRpb24uYXR0cmlidXRlcykubWFwKChhdHRyaWJ1dGVfbmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2JqW2F0dHJpYnV0ZV9uYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpbYXR0cmlidXRlX25hbWVdID0gW11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialthdHRyaWJ1dGVfbmFtZV0ucHVzaCh2YXJpYXRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVfbmFtZV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuXG4gICAgICAgICAgICAgICAgICAgIH0sIHt9KTtcblxuICAgICAgICAgICAgICAgICAgICBvYmplY3QuX291dF9vZl9zdG9jayA9IHByb2R1Y3RfdmFyaWF0aW9ucy5yZWR1Y2UoKG9iaiwgdmFyaWF0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhcmlhdGlvbi5hdHRyaWJ1dGVzKS5tYXAoKGF0dHJpYnV0ZV9uYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvYmpbYXR0cmlidXRlX25hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialthdHRyaWJ1dGVfbmFtZV0gPSBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YXJpYXRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVfbmFtZV0gJiYgIXZhcmlhdGlvbi5pc19pbl9zdG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpbYXR0cmlidXRlX25hbWVdLnB1c2godmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcblxuICAgICAgICAgICAgICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob2JqZWN0Ll9vdXRfb2Zfc3RvY2spO1xuXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpICAgICAgICAgICAgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXR0cmlidXRlICAgICAgICAgICA9ICQodGhpcykuZGF0YSgnYXR0cmlidXRlX25hbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGVfdmFsdWVzICAgID0gb2JqZWN0Ll9nZW5lcmF0ZWRbYXR0cmlidXRlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvdXRfb2Zfc3RvY2tfdmFsdWVzID0gb2JqZWN0Ll9vdXRfb2Zfc3RvY2tbYXR0cmlidXRlXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhvdXRfb2Zfc3RvY2tfdmFsdWVzKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXR0cmlidXRlX3ZhbHVlID0gJCh0aGlzKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIV8uaXNFbXB0eShhdHRyaWJ1dGVfdmFsdWVzKSAmJiAhYXR0cmlidXRlX3ZhbHVlcy5pbmNsdWRlcyhhdHRyaWJ1dGVfdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSkucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlc2V0KGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCdyZXNldF9kYXRhJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsaSA9ICQodGhpcykuZmluZCgnbGknKTtcbiAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzX2FqYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCBkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCd3dnMtdW5zZWxlY3RlZC1pdGVtJywgWycnLCAnJywgX3RoaXMuX2VsZW1lbnRdKTsgLy8gQ3VzdG9tIEV2ZW50IGZvciBsaVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlKGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcblxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5vbignX19mb3VuZF92YXJpYXRpb24nLCAoZXZlbnQsIHZhcmlhdGlvbikgPT4ge1xuXG5cbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuJGF0dHJpYnV0ZUZpZWxkcyk7XG5cbiAgICAgICAgICAgICAgICAvKiAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGVfbmFtZSA9ICQodGhpcykuZGF0YSgnYXR0cmlidXRlX25hbWUnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtdmFsdWUnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codmFyaWF0aW9uKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdID09PSB2YWx1ZSAmJiAhdmFyaWF0aW9uLmlzX2luX3N0b2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnZGlzYWJsZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgfSwgMikqL1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQub24oJ3dvb2NvbW1lcmNlX3ZhcmlhdGlvbl9oYXNfY2hhbmdlZCcsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgIGlmIChpc19hamF4KSB7XG4gICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkID0gJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXEgICAgICAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJykuZXEoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0cyAgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIEF2YWRhIEZJWFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXEgICAgICA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLmVxKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnZhbCgpICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RzLnB1c2goJCh0aGlzKS52YWwoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkID0gY3VycmVudCA/IGN1cnJlbnQudmFsKCkgOiBlcS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuYXR0cignZGF0YS12YWx1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCBkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXRlbXMgVXBkYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignd3ZzLWl0ZW1zLXVwZGF0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gV2l0aE91dCBBamF4IFVwZGF0ZVxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5vbignd29vY29tbWVyY2VfdXBkYXRlX3ZhcmlhdGlvbl92YWx1ZXMnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ3VsLnZhcmlhYmxlLWl0ZW1zLXdyYXBwZXInKS5lYWNoKGZ1bmN0aW9uICgpIHtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBlcSAgICAgICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKS5lcSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpICAgICAgID0gJCh0aGlzKS5maW5kKCdsaScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0cyAgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBGb3IgQXZhZGEgRklYXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVxICAgICAgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKS5lcSgxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS52YWwoKSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RzLnB1c2goJCh0aGlzKS52YWwoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBjdXJyZW50ID8gY3VycmVudC52YWwoKSA6IGVxLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBfLmRlbGF5KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuYXR0cignZGF0YS12YWx1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJykuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXy5jb250YWlucyhzZWxlY3RzLCB2YWx1ZSkpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHNlbGVjdGVkKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnY2hlY2tlZCcsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXRlbXMgVXBkYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCd3dnMtaXRlbXMtdXBkYXRlZCcpO1xuICAgICAgICAgICAgICAgICAgICB9LCAxKTtcblxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGpRdWVyeVxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqL1xuXG4gICAgJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXSA9IFdvb1ZhcmlhdGlvblN3YXRjaGVzLl9qUXVlcnlJbnRlcmZhY2U7XG4gICAgJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXS5Db25zdHJ1Y3RvciA9IFdvb1ZhcmlhdGlvblN3YXRjaGVzO1xuICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10ubm9Db25mbGljdCAgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10gPSAkLmZuWydXb29WYXJpYXRpb25Td2F0Y2hlcyddO1xuICAgICAgICByZXR1cm4gV29vVmFyaWF0aW9uU3dhdGNoZXMuX2pRdWVyeUludGVyZmFjZVxuICAgIH1cblxuICAgIHJldHVybiBXb29WYXJpYXRpb25Td2F0Y2hlcztcblxufSkoalF1ZXJ5KTtcblxuZXhwb3J0IGRlZmF1bHQgV29vVmFyaWF0aW9uU3dhdGNoZXNcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1dvb1ZhcmlhdGlvblN3YXRjaGVzLmpzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FDN0RBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNwQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBO0FBQUE7QUFBQTtBQW1DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJLQTtBQUFBO0FBQUE7QUF3S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBPQTtBQUFBO0FBQUE7QUF1T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE3UEE7QUFBQTtBQUFBO0FBQ0E7QUFnUUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFoWUE7QUFBQTtBQUFBO0FBOEJBO0FBQ0E7QUFDQTtBQUNBO0FBakNBO0FBQ0E7QUFEQTtBQUFBO0FBQ0E7QUFtWUE7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBIiwic291cmNlUm9vdCI6IiJ9
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
340
  li.each(function () {
341
  var attribute_value = $(this).attr('data-value');
342
 
343
+ if (!_.isEmpty(attribute_values) && !_.contains(attribute_values, attribute_value)) {
344
  $(this).removeClass('selected');
345
  $(this).addClass('disabled');
346
 
546
  /***/ })
547
 
548
  /******/ });
549
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2Zyb250ZW5kLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3dlYnBhY2svYm9vdHN0cmFwIDhjMjI2NmFlNjY1OWQ4YTlmNWU1Iiwid2VicGFjazovLy9zcmMvanMvZnJvbnRlbmQuanMiLCJ3ZWJwYWNrOi8vL3NyYy9qcy9Xb29WYXJpYXRpb25Td2F0Y2hlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuIFx0Ly8gTG9hZCBlbnRyeSBtb2R1bGUgYW5kIHJldHVybiBleHBvcnRzXG4gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSA5KTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA4YzIyNjZhZTY2NTlkOGE5ZjVlNSIsImpRdWVyeSgkID0+IHtcbiAgICBpbXBvcnQoJy4vV29vVmFyaWF0aW9uU3dhdGNoZXMnKS50aGVuKCgpID0+IHtcbiAgICAgICAgLy8gSW5pdCBvbiBBamF4IFBvcHVwIDopXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCd3Y192YXJpYXRpb25fZm9ybScsICcudmFyaWF0aW9uc19mb3JtJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCh0aGlzKS5Xb29WYXJpYXRpb25Td2F0Y2hlcygpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBTdXBwb3J0IGZvciBKZXRwYWNrJ3MgSW5maW5pdGUgU2Nyb2xsLFxuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLm9uKCdwb3N0LWxvYWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCcudmFyaWF0aW9uc19mb3JtJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS53Y192YXJpYXRpb25fZm9ybSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3VwcG9ydCBmb3IgWWl0aCBJbmZpbml0ZSBTY3JvbGxcbiAgICAgICAgJChkb2N1bWVudCkub24oJ3lpdGhfaW5mc19hZGRlZF9lbGVtJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCgnLnZhcmlhdGlvbnNfZm9ybScpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICQodGhpcykud2NfdmFyaWF0aW9uX2Zvcm0oKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFN1cHBvcnQgZm9yIFdvb2RtYXJ0IHRoZW1lXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCd3b29kLWltYWdlcy1sb2FkZWQnLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCcudmFyaWF0aW9uc19mb3JtJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS53Y192YXJpYXRpb25fZm9ybSgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gU3VwcG9ydCBmb3IgYmVyb2NrZXQgYWpheCBmaWx0ZXJzXG4gICAgICAgICQoZG9jdW1lbnQpLm9uKCdiZXJvY2tldF9hamF4X3Byb2R1Y3RzX2xvYWRlZCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICQoJy52YXJpYXRpb25zX2Zvcm0nKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAkKHRoaXMpLndjX3ZhcmlhdGlvbl9mb3JtKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICB9KTtcblxuICAgIH0pO1xufSk7ICAvLyBlbmQgb2YganF1ZXJ5IG1haW4gd3JhcHBlclxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzcmMvanMvZnJvbnRlbmQuanMiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBXb29Db21tZXJjZSBWYXJpYXRpb24gQ2hhbmdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmNvbnN0IFdvb1ZhcmlhdGlvblN3YXRjaGVzID0gKCgkKSA9PiB7XG5cbiAgICBjb25zdCBEZWZhdWx0ID0ge307XG5cbiAgICBjbGFzcyBXb29WYXJpYXRpb25Td2F0Y2hlcyB7XG5cbiAgICAgICAgY29uc3RydWN0b3IoZWxlbWVudCwgY29uZmlnKSB7XG5cbiAgICAgICAgICAgIC8vIEFzc2lnblxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudCAgICAgICAgICAgPSAkKGVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnICAgICAgICAgICAgPSAkLmV4dGVuZCh7fSwgRGVmYXVsdCwgY29uZmlnKTtcbiAgICAgICAgICAgIHRoaXMuX2dlbmVyYXRlZCAgICAgICAgID0ge307XG4gICAgICAgICAgICB0aGlzLl9vdXRfb2Zfc3RvY2sgICAgICA9IHt9O1xuICAgICAgICAgICAgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnMgPSB0aGlzLl9lbGVtZW50LmRhdGEoJ3Byb2R1Y3RfdmFyaWF0aW9ucycpO1xuICAgICAgICAgICAgdGhpcy5pc19hamF4X3ZhcmlhdGlvbiAgPSAhdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnM7XG4gICAgICAgICAgICB0aGlzLnByb2R1Y3RfaWQgICAgICAgICA9IHRoaXMuX2VsZW1lbnQuZGF0YSgncHJvZHVjdF9pZCcpO1xuICAgICAgICAgICAgdGhpcy5oaWRkZW5fYmVoYXZpb3VyICAgPSAkKCdib2R5JykuaGFzQ2xhc3MoJ3dvby12YXJpYXRpb24tc3dhdGNoZXMtYXR0cmlidXRlLWJlaGF2aW9yLWhpZGUnKTtcbiAgICAgICAgICAgIHRoaXMuaXNfbW9iaWxlICAgICAgICAgID0gJCgnYm9keScpLmhhc0NsYXNzKCd3b28tdmFyaWF0aW9uLXN3YXRjaGVzLW9uLW1vYmlsZScpO1xuXG4gICAgICAgICAgICAvLyBDYWxsXG4gICAgICAgICAgICB0aGlzLmluaXQodGhpcy5pc19hamF4X3ZhcmlhdGlvbiwgdGhpcy5oaWRkZW5fYmVoYXZpb3VyKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkKHRoaXMuaXNfYWpheF92YXJpYXRpb24sIHRoaXMuaGlkZGVuX2JlaGF2aW91cik7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZSh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuICAgICAgICAgICAgdGhpcy5yZXNldCh0aGlzLmlzX2FqYXhfdmFyaWF0aW9uLCB0aGlzLmhpZGRlbl9iZWhhdmlvdXIpO1xuXG4gICAgICAgICAgICAvLyBUcmlnZ2VyXG4gICAgICAgICAgICAkKGRvY3VtZW50KS50cmlnZ2VyKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzJywgW3RoaXMuX2VsZW1lbnRdKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBfalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgbmV3IFdvb1ZhcmlhdGlvblN3YXRjaGVzKHRoaXMsIGNvbmZpZylcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpbml0KGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcblxuICAgICAgICAgICAgbGV0IF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKGksIGVsKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ICAgICAgICAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0Jyk7XG4gICAgICAgICAgICAgICAgbGV0IGxpICAgICAgICAgICAgID0gJCh0aGlzKS5maW5kKCdsaScpO1xuICAgICAgICAgICAgICAgIGxldCByZXNlbGVjdF9jbGVhciA9ICQodGhpcykuaGFzQ2xhc3MoJ3Jlc2VsZWN0LWNsZWFyJyk7XG4gICAgICAgICAgICAgICAgbGV0IGlzX21vYmlsZSAgICAgID0gJCgnYm9keScpLmhhc0NsYXNzKCd3b28tdmFyaWF0aW9uLXN3YXRjaGVzLW9uLW1vYmlsZScpO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5hZGRDbGFzcygnd29vLXZhcmlhdGlvbi1pdGVtcy13cmFwcGVyJyk7XG5cbiAgICAgICAgICAgICAgICAvLyBGb3IgQXZhZGEgRklYXG4gICAgICAgICAgICAgICAgaWYgKHNlbGVjdC5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChyZXNlbGVjdF9jbGVhcikge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCd0b3VjaHN0YXJ0IGNsaWNrJywgJ2xpOm5vdCguc2VsZWN0ZWQpOm5vdCgucmFkaW8tdmFyaWFibGUtaXRlbSknLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuZGF0YSgndmFsdWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdmb2N1c2luJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcigndG91Y2hzdGFydCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2ZvY3VzJyk7IC8vIE1vYmlsZSB0b29sdGlwXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ3d2cy1zZWxlY3RlZC1pdGVtJywgW3ZhbHVlLCBzZWxlY3QsIF90aGlzLl9lbGVtZW50XSk7IC8vIEN1c3RvbSBFdmVudCBmb3IgbGlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbigndG91Y2hzdGFydCBjbGljaycsICdsaS5zZWxlY3RlZDpub3QoLnJhZGlvLXZhcmlhYmxlLWl0ZW0pJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKCcnKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdjbGljaycpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCdmb2N1cycpOyAvLyBNb2JpbGUgdG9vbHRpcFxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ3d2cy11bnNlbGVjdGVkLWl0ZW0nLCBbdmFsdWUsIHNlbGVjdCwgX3RoaXMuX2VsZW1lbnRdKTsgLy8gQ3VzdG9tIEV2ZW50IGZvciBsaVxuXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFJBRElPXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykub24oJ3RvdWNoc3RhcnQgY2xpY2snLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykub24oJ2NoYW5nZScsICdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLnZhbCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5wYXJlbnQoJ2xpLnJhZGlvLXZhcmlhYmxlLWl0ZW0nKS5oYXNDbGFzcygnc2VsZWN0ZWQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwoJycpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8uZGVsYXkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCdsaS5yYWRpby12YXJpYWJsZS1pdGVtJykudHJpZ2dlcignd3ZzLXVuc2VsZWN0ZWQtaXRlbScsIFt2YWx1ZSwgc2VsZWN0LCBfdGhpcy5fZWxlbWVudF0pOyAvLyBDdXN0b20gRXZlbnQgZm9yIGxpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCcucmFkaW8tdmFyaWFibGUtaXRlbScpLnRyaWdnZXIoJ3d2cy1zZWxlY3RlZC1pdGVtJywgW3ZhbHVlLCBzZWxlY3QsIF90aGlzLl9lbGVtZW50XSk7IC8vIEN1c3RvbSBFdmVudCBmb3IgbGlcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzX21vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCd0b3VjaHN0YXJ0Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vbigndG91Y2hzdGFydCBjbGljaycsICdsaTpub3QoLnJhZGlvLXZhcmlhYmxlLWl0ZW0pJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmRhdGEoJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudmFsKHZhbHVlKS50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC50cmlnZ2VyKCdjbGljaycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2ZvY3VzaW4nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc19tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcigndG91Y2hzdGFydCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnRyaWdnZXIoJ2ZvY3VzJyk7IC8vIE1vYmlsZSB0b29sdGlwXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignd3ZzLXNlbGVjdGVkLWl0ZW0nLCBbdmFsdWUsIHNlbGVjdCwgX3RoaXMuX2VsZW1lbnRdKTsgLy8gQ3VzdG9tIEV2ZW50IGZvciBsaVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBSYWRpb1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm9uKCdjaGFuZ2UnLCAnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykudmFsKCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdC52YWwodmFsdWUpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ2NsaWNrJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3QudHJpZ2dlcignZm9jdXNpbicpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0LnRyaWdnZXIoJ3RvdWNoc3RhcnQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmFkaW9cbiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucGFyZW50KCdsaS5yYWRpby12YXJpYWJsZS1pdGVtJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgnbGkucmFkaW8tdmFyaWFibGUtaXRlbScpLnRyaWdnZXIoJ3d2cy1zZWxlY3RlZC1pdGVtJywgW3ZhbHVlLCBzZWxlY3QsIF90aGlzLl9lbGVtZW50XSk7IC8vIEN1c3RvbSBFdmVudCBmb3IgbGlcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIF8uZGVsYXkoKCkgPT4ge1xuXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudC50cmlnZ2VyKCdyZWxvYWRfcHJvZHVjdF92YXJpYXRpb25zJyk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LnRyaWdnZXIoJ3dvb192YXJpYXRpb25fc3dhdGNoZXNfaW5pdCcsIFt0aGlzLCB0aGlzLnByb2R1Y3RfdmFyaWF0aW9uc10pXG4gICAgICAgICAgICAgICAgJChkb2N1bWVudCkudHJpZ2dlcignd29vX3ZhcmlhdGlvbl9zd2F0Y2hlc19sb2FkZWQnLCBbdGhpcy5fZWxlbWVudCwgdGhpcy5wcm9kdWN0X3ZhcmlhdGlvbnNdKVxuICAgICAgICAgICAgfSwgMSlcbiAgICAgICAgfVxuXG4gICAgICAgIGxvYWRlZChpc19hamF4LCBoaWRkZW5fYmVoYXZpb3VyKSB7XG4gICAgICAgICAgICBpZiAoIWlzX2FqYXgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCd3b29fdmFyaWF0aW9uX3N3YXRjaGVzX2luaXQnLCBmdW5jdGlvbiAoZXZlbnQsIG9iamVjdCwgcHJvZHVjdF92YXJpYXRpb25zKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0Ll9nZW5lcmF0ZWQgPSBwcm9kdWN0X3ZhcmlhdGlvbnMucmVkdWNlKChvYmosIHZhcmlhdGlvbikgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh2YXJpYXRpb24uYXR0cmlidXRlcykubWFwKChhdHRyaWJ1dGVfbmFtZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghb2JqW2F0dHJpYnV0ZV9uYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpbYXR0cmlidXRlX25hbWVdID0gW11cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialthdHRyaWJ1dGVfbmFtZV0ucHVzaCh2YXJpYXRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVfbmFtZV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqO1xuXG4gICAgICAgICAgICAgICAgICAgIH0sIHt9KTtcblxuICAgICAgICAgICAgICAgICAgICBvYmplY3QuX291dF9vZl9zdG9jayA9IHByb2R1Y3RfdmFyaWF0aW9ucy5yZWR1Y2UoKG9iaiwgdmFyaWF0aW9uKSA9PiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHZhcmlhdGlvbi5hdHRyaWJ1dGVzKS5tYXAoKGF0dHJpYnV0ZV9uYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFvYmpbYXR0cmlidXRlX25hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ialthdHRyaWJ1dGVfbmFtZV0gPSBbXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YXJpYXRpb24uYXR0cmlidXRlc1thdHRyaWJ1dGVfbmFtZV0gJiYgIXZhcmlhdGlvbi5pc19pbl9zdG9jaykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYmpbYXR0cmlidXRlX25hbWVdLnB1c2godmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9iajtcblxuICAgICAgICAgICAgICAgICAgICB9LCB7fSk7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2cob2JqZWN0Ll9vdXRfb2Zfc3RvY2spO1xuXG4gICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpICAgICAgICAgICAgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXR0cmlidXRlICAgICAgICAgICA9ICQodGhpcykuZGF0YSgnYXR0cmlidXRlX25hbWUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGVfdmFsdWVzICAgID0gb2JqZWN0Ll9nZW5lcmF0ZWRbYXR0cmlidXRlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBvdXRfb2Zfc3RvY2tfdmFsdWVzID0gb2JqZWN0Ll9vdXRfb2Zfc3RvY2tbYXR0cmlidXRlXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhvdXRfb2Zfc3RvY2tfdmFsdWVzKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBsaS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYXR0cmlidXRlX3ZhbHVlID0gJCh0aGlzKS5hdHRyKCdkYXRhLXZhbHVlJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIV8uaXNFbXB0eShhdHRyaWJ1dGVfdmFsdWVzKSAmJiAhXy5jb250YWlucyhhdHRyaWJ1dGVfdmFsdWVzLCBhdHRyaWJ1dGVfdmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSkucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJlc2V0KGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcbiAgICAgICAgICAgIGxldCBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB0aGlzLl9lbGVtZW50Lm9uKCdyZXNldF9kYXRhJywgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBsaSA9ICQodGhpcykuZmluZCgnbGknKTtcbiAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzX2FqYXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCBkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCQodGhpcykuaGFzQ2xhc3MoJ3JhZGlvLXZhcmlhYmxlLWl0ZW0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkucHJvcCgnY2hlY2tlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdjaGVja2VkJywgZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCd3dnMtdW5zZWxlY3RlZC1pdGVtJywgWycnLCAnJywgX3RoaXMuX2VsZW1lbnRdKTsgLy8gQ3VzdG9tIEV2ZW50IGZvciBsaVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlKGlzX2FqYXgsIGhpZGRlbl9iZWhhdmlvdXIpIHtcblxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5vbignX19mb3VuZF92YXJpYXRpb24nLCAoZXZlbnQsIHZhcmlhdGlvbikgPT4ge1xuXG5cbiAgICAgICAgICAgICAgICAvL2NvbnNvbGUubG9nKHRoaXMuJGF0dHJpYnV0ZUZpZWxkcyk7XG5cbiAgICAgICAgICAgICAgICAvKiAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCd1bC52YXJpYWJsZS1pdGVtcy13cmFwcGVyJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBhdHRyaWJ1dGVfbmFtZSA9ICQodGhpcykuZGF0YSgnYXR0cmlidXRlX25hbWUnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2xpJykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtdmFsdWUnKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codmFyaWF0aW9uKVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFyaWF0aW9uLmF0dHJpYnV0ZXNbYXR0cmlidXRlX25hbWVdID09PSB2YWx1ZSAmJiAhdmFyaWF0aW9uLmlzX2luX3N0b2NrKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnZGlzYWJsZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgfSwgMikqL1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQub24oJ3dvb2NvbW1lcmNlX3ZhcmlhdGlvbl9oYXNfY2hhbmdlZCcsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgIGlmIChpc19hamF4KSB7XG4gICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgndWwudmFyaWFibGUtaXRlbXMtd3JhcHBlcicpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHNlbGVjdGVkID0gJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9ucyAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXEgICAgICAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uJykuZXEoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkgICAgICAgPSAkKHRoaXMpLmZpbmQoJ2xpJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0cyAgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRm9yIEF2YWRhIEZJWFxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50ID0gJCh0aGlzKS5wYXJlbnQoKS5maW5kKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXEgICAgICA9ICQodGhpcykucGFyZW50KCkuZmluZCgnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLmVxKDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnZhbCgpICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RzLnB1c2goJCh0aGlzKS52YWwoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkID0gY3VycmVudCA/IGN1cnJlbnQudmFsKCkgOiBlcS52YWwoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgXy5kZWxheSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuYXR0cignZGF0YS12YWx1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCBkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS5oYXNDbGFzcygncmFkaW8tdmFyaWFibGUtaXRlbScpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCdpbnB1dC53dnMtcmFkaW8tdmFyaWFibGUtaXRlbTpyYWRpbycpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpLnByb3AoJ2NoZWNrZWQnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXRlbXMgVXBkYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykudHJpZ2dlcignd3ZzLWl0ZW1zLXVwZGF0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIDEpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgLy8gV2l0aE91dCBBamF4IFVwZGF0ZVxuICAgICAgICAgICAgdGhpcy5fZWxlbWVudC5vbignd29vY29tbWVyY2VfdXBkYXRlX3ZhcmlhdGlvbl92YWx1ZXMnLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ3VsLnZhcmlhYmxlLWl0ZW1zLXdyYXBwZXInKS5lYWNoKGZ1bmN0aW9uICgpIHtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgc2VsZWN0ZWQgPSAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgID0gJCh0aGlzKS5zaWJsaW5ncygnc2VsZWN0Lndvby12YXJpYXRpb24tcmF3LXNlbGVjdCcpLmZpbmQoJ29wdGlvbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCAgPSAkKHRoaXMpLnNpYmxpbmdzKCdzZWxlY3Qud29vLXZhcmlhdGlvbi1yYXctc2VsZWN0JykuZmluZCgnb3B0aW9uOnNlbGVjdGVkJyksXG4gICAgICAgICAgICAgICAgICAgICAgICBlcSAgICAgICA9ICQodGhpcykuc2libGluZ3MoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKS5lcSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpICAgICAgID0gJCh0aGlzKS5maW5kKCdsaScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0cyAgPSBbXTtcblxuICAgICAgICAgICAgICAgICAgICAvLyBGb3IgQXZhZGEgRklYXG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA8IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb246c2VsZWN0ZWQnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVxICAgICAgPSAkKHRoaXMpLnBhcmVudCgpLmZpbmQoJ3NlbGVjdC53b28tdmFyaWF0aW9uLXJhdy1zZWxlY3QnKS5maW5kKCdvcHRpb24nKS5lcSgxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoJCh0aGlzKS52YWwoKSAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RzLnB1c2goJCh0aGlzKS52YWwoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQgPSBjdXJyZW50ID8gY3VycmVudC52YWwoKSA6IGVxLnZhbCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBfLmRlbGF5KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB2YWx1ZSA9ICQodGhpcykuYXR0cignZGF0YS12YWx1ZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkIGRpc2FibGVkJykuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoXy5jb250YWlucyhzZWxlY3RzLCB2YWx1ZSkpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdkaXNhYmxlZCcpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIGZhbHNlKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT09IHNlbGVjdGVkKSB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ3NlbGVjdGVkJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmZpbmQoJ2lucHV0Lnd2cy1yYWRpby12YXJpYWJsZS1pdGVtOnJhZGlvJykucHJvcCgnY2hlY2tlZCcsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLmhhc0NsYXNzKCdyYWRpby12YXJpYWJsZS1pdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuZmluZCgnaW5wdXQud3ZzLXJhZGlvLXZhcmlhYmxlLWl0ZW06cmFkaW8nKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpLnByb3AoJ2NoZWNrZWQnLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXRlbXMgVXBkYXRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS50cmlnZ2VyKCd3dnMtaXRlbXMtdXBkYXRlZCcpO1xuICAgICAgICAgICAgICAgICAgICB9LCAxKTtcblxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGpRdWVyeVxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqL1xuXG4gICAgJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXSA9IFdvb1ZhcmlhdGlvblN3YXRjaGVzLl9qUXVlcnlJbnRlcmZhY2U7XG4gICAgJC5mblsnV29vVmFyaWF0aW9uU3dhdGNoZXMnXS5Db25zdHJ1Y3RvciA9IFdvb1ZhcmlhdGlvblN3YXRjaGVzO1xuICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10ubm9Db25mbGljdCAgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICQuZm5bJ1dvb1ZhcmlhdGlvblN3YXRjaGVzJ10gPSAkLmZuWydXb29WYXJpYXRpb25Td2F0Y2hlcyddO1xuICAgICAgICByZXR1cm4gV29vVmFyaWF0aW9uU3dhdGNoZXMuX2pRdWVyeUludGVyZmFjZVxuICAgIH1cblxuICAgIHJldHVybiBXb29WYXJpYXRpb25Td2F0Y2hlcztcblxufSkoalF1ZXJ5KTtcblxuZXhwb3J0IGRlZmF1bHQgV29vVmFyaWF0aW9uU3dhdGNoZXNcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gc3JjL2pzL1dvb1ZhcmlhdGlvblN3YXRjaGVzLmpzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7O0FDN0RBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7QUNwQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUhBO0FBTUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUJBO0FBQUE7QUFBQTtBQW1DQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXJLQTtBQUFBO0FBQUE7QUF3S0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQXBPQTtBQUFBO0FBQUE7QUF1T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE3UEE7QUFBQTtBQUFBO0FBQ0E7QUFnUUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7O0FBaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFoWUE7QUFBQTtBQUFBO0FBOEJBO0FBQ0E7QUFDQTtBQUNBO0FBakNBO0FBQ0E7QUFEQTtBQUFBO0FBQ0E7QUFtWUE7Ozs7OztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBIiwic291cmNlUm9vdCI6IiJ9
assets/js/frontend.min.js CHANGED
@@ -1 +1 @@
1
- !function(t){function i(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,i),n.l=!0,n.exports}var e={};i.m=t,i.c=e,i.d=function(t,e,a){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:a})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=9)}({10:function(t,i,e){jQuery(function(t){Promise.resolve().then(function(){return e(11)}).then(function(){t(document).on("wc_variation_form",".variations_form",function(){t(this).WooVariationSwatches()}),t(document.body).on("post-load",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("yith_infs_added_elem",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("wood-images-loaded",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("berocket_ajax_products_loaded",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})})})})},11:function(t,i,e){"use strict";function a(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,i){for(var e=0;e<i.length;e++){var a=i[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(i,e,a){return e&&t(i.prototype,e),a&&t(i,a),i}}(),r=function(t){var i={},e=function(){function e(n,r){a(this,e),this._element=t(n),this._config=t.extend({},i,r),this._generated={},this._out_of_stock={},this.product_variations=this._element.data("product_variations"),this.is_ajax_variation=!this.product_variations,this.product_id=this._element.data("product_id"),this.hidden_behaviour=t("body").hasClass("woo-variation-swatches-attribute-behavior-hide"),this.is_mobile=t("body").hasClass("woo-variation-swatches-on-mobile"),this.init(this.is_ajax_variation,this.hidden_behaviour),this.loaded(this.is_ajax_variation,this.hidden_behaviour),this.update(this.is_ajax_variation,this.hidden_behaviour),this.reset(this.is_ajax_variation,this.hidden_behaviour),t(document).trigger("woo_variation_swatches",[this._element])}return n(e,[{key:"init",value:function(i,e){var a=this,n=this;this._element.find("ul.variable-items-wrapper").each(function(i,e){var a=t(this).siblings("select.woo-variation-raw-select"),r=(t(this).find("li"),t(this).hasClass("reselect-clear")),o=t("body").hasClass("woo-variation-swatches-on-mobile");t(this).parent().addClass("woo-variation-items-wrapper"),a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select")),r?(t(this).on("touchstart click","li:not(.selected):not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[e,a,n._element])}),t(this).on("touchstart click","li.selected:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation(),a.val("").trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-unselected-item",[value,a,n._element])}),t(this).on("touchstart click","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation(),t(this).trigger("change")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){var e=this;i.preventDefault(),i.stopPropagation();var r=t(this).val();t(this).parent("li.radio-variable-item").hasClass("selected")?(a.val("").trigger("change"),_.delay(function(){t(e).prop("checked",!1),t(e).parent("li.radio-variable-item").trigger("wvs-unselected-item",[r,a,n._element])},1)):(a.val(r).trigger("change"),t(this).parent(".radio-variable-item").trigger("wvs-selected-item",[r,a,n._element])),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart")})):(t(this).on("touchstart click","li:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[e,a,n._element])}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).val();a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),o&&a.trigger("touchstart"),t(this).parent("li.radio-variable-item").removeClass("selected disabled").addClass("selected"),t(this).parent("li.radio-variable-item").trigger("wvs-selected-item",[e,a,n._element])}))}),_.delay(function(){a._element.trigger("reload_product_variations"),a._element.trigger("woo_variation_swatches_init",[a,a.product_variations]),t(document).trigger("woo_variation_swatches_loaded",[a._element,a.product_variations])},1)}},{key:"loaded",value:function(i,e){i||this._element.on("woo_variation_swatches_init",function(i,e,a){e._generated=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&t[e].push(i.attributes[e])}),t},{}),e._out_of_stock=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&!i.is_in_stock&&t[e].push(i.attributes[e])}),t},{}),t(this).find("ul.variable-items-wrapper").each(function(){var i=t(this).find("li"),a=t(this).data("attribute_name"),n=e._generated[a];e._out_of_stock[a];i.each(function(){var i=t(this).attr("data-value");_.isEmpty(n)||n.includes(i)||(t(this).removeClass("selected"),t(this).addClass("disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1))})})})}},{key:"reset",value:function(i,e){var a=this;this._element.on("reset_data",function(e){t(this).find("ul.variable-items-wrapper").each(function(){t(this).find("li").each(function(){i?t(this).hasClass("radio-variable-item"):(t(this).removeClass("selected disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!1)),t(this).trigger("wvs-unselected-item",["","",a._element])})})})}},{key:"update",value:function(i,e){this._element.on("__found_variation",function(t,i){}),this._element.on("woocommerce_variation_has_changed",function(e){i&&t(this).find("ul.variable-items-wrapper").each(function(){var i=this,e="",a=t(this).siblings("select.woo-variation-raw-select").find("option"),n=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),r=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),o=t(this).find("li"),s=[];a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select").find("option"),n=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),r=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),a.each(function(){""!==t(this).val()&&(s.push(t(this).val()),e=n?n.val():r.val())}),_.delay(function(){o.each(function(){var i=t(this).attr("data-value");t(this).removeClass("selected disabled"),i===e&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!0))}),t(i).trigger("wvs-items-updated")},1)})}),this._element.on("woocommerce_update_variation_values",function(i){t(this).find("ul.variable-items-wrapper").each(function(){var i=this,e="",a=t(this).siblings("select.woo-variation-raw-select").find("option"),n=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),r=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),o=t(this).find("li"),s=[];a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select").find("option"),n=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),r=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),a.each(function(){""!==t(this).val()&&(s.push(t(this).val()),e=n?n.val():r.val())}),_.delay(function(){o.each(function(){var i=t(this).attr("data-value");t(this).removeClass("selected disabled").addClass("disabled"),_.contains(s,i)?(t(this).removeClass("disabled"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),i===e&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0))):t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1)}),t(i).trigger("wvs-items-updated")},1)})})}}],[{key:"_jQueryInterface",value:function(t){return this.each(function(){new e(this,t)})}}]),e}();return t.fn.WooVariationSwatches=e._jQueryInterface,t.fn.WooVariationSwatches.Constructor=e,t.fn.WooVariationSwatches.noConflict=function(){return t.fn.WooVariationSwatches=t.fn.WooVariationSwatches,e._jQueryInterface},e}(jQuery);i.default=r},9:function(t,i,e){t.exports=e(10)}});
1
+ !function(t){function i(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,i),n.l=!0,n.exports}var e={};i.m=t,i.c=e,i.d=function(t,e,a){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:a})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,i){return Object.prototype.hasOwnProperty.call(t,i)},i.p="",i(i.s=9)}({10:function(t,i,e){jQuery(function(t){Promise.resolve().then(function(){return e(11)}).then(function(){t(document).on("wc_variation_form",".variations_form",function(){t(this).WooVariationSwatches()}),t(document.body).on("post-load",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("yith_infs_added_elem",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("wood-images-loaded",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})}),t(document).on("berocket_ajax_products_loaded",function(){t(".variations_form").each(function(){t(this).wc_variation_form()})})})})},11:function(t,i,e){"use strict";function a(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,i){for(var e=0;e<i.length;e++){var a=i[e];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}return function(i,e,a){return e&&t(i.prototype,e),a&&t(i,a),i}}(),o=function(t){var i={},e=function(){function e(n,o){a(this,e),this._element=t(n),this._config=t.extend({},i,o),this._generated={},this._out_of_stock={},this.product_variations=this._element.data("product_variations"),this.is_ajax_variation=!this.product_variations,this.product_id=this._element.data("product_id"),this.hidden_behaviour=t("body").hasClass("woo-variation-swatches-attribute-behavior-hide"),this.is_mobile=t("body").hasClass("woo-variation-swatches-on-mobile"),this.init(this.is_ajax_variation,this.hidden_behaviour),this.loaded(this.is_ajax_variation,this.hidden_behaviour),this.update(this.is_ajax_variation,this.hidden_behaviour),this.reset(this.is_ajax_variation,this.hidden_behaviour),t(document).trigger("woo_variation_swatches",[this._element])}return n(e,[{key:"init",value:function(i,e){var a=this,n=this;this._element.find("ul.variable-items-wrapper").each(function(i,e){var a=t(this).siblings("select.woo-variation-raw-select"),o=(t(this).find("li"),t(this).hasClass("reselect-clear")),r=t("body").hasClass("woo-variation-swatches-on-mobile");t(this).parent().addClass("woo-variation-items-wrapper"),a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select")),o?(t(this).on("touchstart click","li:not(.selected):not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[e,a,n._element])}),t(this).on("touchstart click","li.selected:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation(),a.val("").trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-unselected-item",[value,a,n._element])}),t(this).on("touchstart click","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation(),t(this).trigger("change")}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){var e=this;i.preventDefault(),i.stopPropagation();var o=t(this).val();t(this).parent("li.radio-variable-item").hasClass("selected")?(a.val("").trigger("change"),_.delay(function(){t(e).prop("checked",!1),t(e).parent("li.radio-variable-item").trigger("wvs-unselected-item",[o,a,n._element])},1)):(a.val(o).trigger("change"),t(this).parent(".radio-variable-item").trigger("wvs-selected-item",[o,a,n._element])),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart")})):(t(this).on("touchstart click","li:not(.radio-variable-item)",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).data("value");a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).trigger("focus"),t(this).trigger("wvs-selected-item",[e,a,n._element])}),t(this).on("change","input.wvs-radio-variable-item:radio",function(i){i.preventDefault(),i.stopPropagation();var e=t(this).val();a.val(e).trigger("change"),a.trigger("click"),a.trigger("focusin"),r&&a.trigger("touchstart"),t(this).parent("li.radio-variable-item").removeClass("selected disabled").addClass("selected"),t(this).parent("li.radio-variable-item").trigger("wvs-selected-item",[e,a,n._element])}))}),_.delay(function(){a._element.trigger("reload_product_variations"),a._element.trigger("woo_variation_swatches_init",[a,a.product_variations]),t(document).trigger("woo_variation_swatches_loaded",[a._element,a.product_variations])},1)}},{key:"loaded",value:function(i,e){i||this._element.on("woo_variation_swatches_init",function(i,e,a){e._generated=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&t[e].push(i.attributes[e])}),t},{}),e._out_of_stock=a.reduce(function(t,i){return Object.keys(i.attributes).map(function(e){t[e]||(t[e]=[]),i.attributes[e]&&!i.is_in_stock&&t[e].push(i.attributes[e])}),t},{}),t(this).find("ul.variable-items-wrapper").each(function(){var i=t(this).find("li"),a=t(this).data("attribute_name"),n=e._generated[a];e._out_of_stock[a];i.each(function(){var i=t(this).attr("data-value");_.isEmpty(n)||_.contains(n,i)||(t(this).removeClass("selected"),t(this).addClass("disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1))})})})}},{key:"reset",value:function(i,e){var a=this;this._element.on("reset_data",function(e){t(this).find("ul.variable-items-wrapper").each(function(){t(this).find("li").each(function(){i?t(this).hasClass("radio-variable-item"):(t(this).removeClass("selected disabled"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!1)),t(this).trigger("wvs-unselected-item",["","",a._element])})})})}},{key:"update",value:function(i,e){this._element.on("__found_variation",function(t,i){}),this._element.on("woocommerce_variation_has_changed",function(e){i&&t(this).find("ul.variable-items-wrapper").each(function(){var i=this,e="",a=t(this).siblings("select.woo-variation-raw-select").find("option"),n=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),o=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),r=t(this).find("li"),s=[];a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select").find("option"),n=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),o=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),a.each(function(){""!==t(this).val()&&(s.push(t(this).val()),e=n?n.val():o.val())}),_.delay(function(){r.each(function(){var i=t(this).attr("data-value");t(this).removeClass("selected disabled"),i===e&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1).prop("checked",!0))}),t(i).trigger("wvs-items-updated")},1)})}),this._element.on("woocommerce_update_variation_values",function(i){t(this).find("ul.variable-items-wrapper").each(function(){var i=this,e="",a=t(this).siblings("select.woo-variation-raw-select").find("option"),n=t(this).siblings("select.woo-variation-raw-select").find("option:selected"),o=t(this).siblings("select.woo-variation-raw-select").find("option").eq(1),r=t(this).find("li"),s=[];a.length<1&&(a=t(this).parent().find("select.woo-variation-raw-select").find("option"),n=t(this).parent().find("select.woo-variation-raw-select").find("option:selected"),o=t(this).parent().find("select.woo-variation-raw-select").find("option").eq(1)),a.each(function(){""!==t(this).val()&&(s.push(t(this).val()),e=n?n.val():o.val())}),_.delay(function(){r.each(function(){var i=t(this).attr("data-value");t(this).removeClass("selected disabled").addClass("disabled"),_.contains(s,i)?(t(this).removeClass("disabled"),t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!1),i===e&&(t(this).addClass("selected"),t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("checked",!0))):t(this).hasClass("radio-variable-item")&&t(this).find("input.wvs-radio-variable-item:radio").prop("disabled",!0).prop("checked",!1)}),t(i).trigger("wvs-items-updated")},1)})})}}],[{key:"_jQueryInterface",value:function(t){return this.each(function(){new e(this,t)})}}]),e}();return t.fn.WooVariationSwatches=e._jQueryInterface,t.fn.WooVariationSwatches.Constructor=e,t.fn.WooVariationSwatches.noConflict=function(){return t.fn.WooVariationSwatches=t.fn.WooVariationSwatches,e._jQueryInterface},e}(jQuery);i.default=o},9:function(t,i,e){t.exports=e(10)}});
assets/js/gwp-admin.js CHANGED
@@ -1,8 +1,8 @@
1
  /*!
2
- * WooCommerce Variation Swatches v1.0.43
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
- * Date: 2018-10-11 20:13:30
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
@@ -244,4 +244,4 @@ var GWPAdminHelper = function ($) {
244
  /***/ })
245
 
246
  /******/ });
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2d3cC1hZG1pbi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCAyNzA1MDBkYWZkZDBjMjJlMDlkOSIsIndlYnBhY2s6Ly8vc3JjL2pzL2d3cC1hZG1pbi5qcyIsIndlYnBhY2s6Ly8vc3JjL2pzL0dXUEFkbWluSGVscGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDEyKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCAyNzA1MDBkYWZkZDBjMjJlMDlkOSIsIihmdW5jdGlvbiAoJCkge1xuXG4gICAgaW1wb3J0KCcuL0dXUEFkbWluSGVscGVyJykudGhlbigoe0dXUEFkbWluSGVscGVyfSkgPT4ge1xuXG4gICAgICAgICQuZm4uZ3dwX2xpdmVfZmVlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIEdXUEFkbWluSGVscGVyLkxpdmVGZWVkKCk7XG4gICAgICAgIH1cblxuICAgICAgICAkLmZuLmd3cF9kZWFjdGl2YXRlX3BvcHVwID0gZnVuY3Rpb24gKCRzbHVnKSB7XG4gICAgICAgICAgICBHV1BBZG1pbkhlbHBlci5EZWFjdGl2YXRlUG9wdXAoJHNsdWcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbn0oalF1ZXJ5KSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9qcy9nd3AtYWRtaW4uanMiLCIvKmdsb2JhbCBHV1BBZG1pbiovXG5cbmNvbnN0IEdXUEFkbWluSGVscGVyID0gKCgkKSA9PiB7XG4gICAgY2xhc3MgR1dQQWRtaW5IZWxwZXIge1xuXG4gICAgICAgIHN0YXRpYyBMaXZlRmVlZCgpIHtcbiAgICAgICAgICAgICQoJy5nd3AtbGl2ZS1mZWVkLWNsb3NlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbGV0IGlkID0gJCh0aGlzKS5kYXRhKCdmZWVkX2lkJyk7XG4gICAgICAgICAgICAgICAgd3AuYWpheC5zZW5kKCdnd3BfbGl2ZV9mZWVkX2Nsb3NlJywge1xuICAgICAgICAgICAgICAgICAgICBkYXRhIDoge2lkfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5mYWRlT3V0KCdmYXN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZSgpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIFJlc2V0UG9wdXBEYXRhKHBsdWdpbnNsdWcpIHtcbiAgICAgICAgICAgIGxldCBpZCAgICAgID0gYCNnd3AtcGx1Z2luLWRlYWN0aXZhdGUtZmVlZGJhY2stZGlhbG9nLXdyYXBwZXItJHtwbHVnaW5zbHVnfWA7XG4gICAgICAgICAgICBsZXQgJGJ1dHRvbiA9ICQoJy5mZWVkYmFjay1kaWFsb2ctZm9ybS1idXR0b24tc2VuZCcsIGlkKTtcbiAgICAgICAgICAgICRidXR0b24ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkudGV4dCgkYnV0dG9uLmRhdGEoJ2RlZmF1bHR2YWx1ZScpKS5uZXh0KCkucmVtb3ZlQ2xhc3MoJ3Zpc2libGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBEZWFjdGl2YXRlUG9wdXAocGx1Z2luc2x1Zykge1xuXG4gICAgICAgICAgICBsZXQgaWQgPSBgI2d3cC1wbHVnaW4tZGVhY3RpdmF0ZS1mZWVkYmFjay1kaWFsb2ctd3JhcHBlci0ke3BsdWdpbnNsdWd9YDtcblxuICAgICAgICAgICAgJChpZCkuZGlhbG9nKHtcbiAgICAgICAgICAgICAgICB0aXRsZSAgICAgICAgIDogR1dQQWRtaW4uZmVlZGJhY2tfdGl0bGUsXG4gICAgICAgICAgICAgICAgZGlhbG9nQ2xhc3MgICA6ICd3cC1kaWFsb2cgZ3dwLWRlYWN0aXZhdGUtZmVlZGJhY2stZGlhbG9nJyxcbiAgICAgICAgICAgICAgICBhdXRvT3BlbiAgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZHJhZ2dhYmxlICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgbW9kYWwgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNsb3NlT25Fc2NhcGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG15IDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgYXQgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICBvZiA6IHdpbmRvd1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY3JlYXRlICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZScpLmFkZENsYXNzKCd1aS1idXR0b24nKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wZW4gICAgICAgICAgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICQoJy51aS13aWRnZXQtb3ZlcmxheScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJChpZCkuZGlhbG9nKCdjbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgb3BlbmVyID0gJCh0aGlzKS5kYXRhKCdnd3AtZGVhY3RpdmF0ZS1kaWFsb2ctb3BlbmVyJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgR1dQQWRtaW5IZWxwZXIuUmVzZXRQb3B1cERhdGEocGx1Z2luc2x1Zyk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNsdWcgICAgICAgICAgICA9ICQob3BlbmVyKS5kYXRhKCdzbHVnJyk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwbHVnaW4gICAgICAgICAgPSAkKG9wZW5lcikuZGF0YSgncGx1Z2luJyk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWFjdGl2YXRlX2xpbmsgPSAkKG9wZW5lcikuZGF0YSgnZGVhY3RpdmF0ZV9saW5rJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgJCgnLmZlZWRiYWNrLWRpYWxvZy1mb3JtLWJ1dHRvbi1za2lwJywgaWQpLnByb3AoJ2hyZWYnLCBkZWFjdGl2YXRlX2xpbmspXG4gICAgICAgICAgICAgICAgICAgICQoJy5mZWVkYmFjay1kaWFsb2ctZm9ybS1idXR0b24tc2VuZCcsIGlkKS5kYXRhKCdkZWFjdGl2YXRlX2xpbmsnLCBkZWFjdGl2YXRlX2xpbmspXG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgJCgnLmZlZWRiYWNrLWRpYWxvZy1mb3JtLWJ1dHRvbi1zZW5kJywgaWQpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSAkKCcuZmVlZGJhY2stZGlhbG9nLWZvcm0nLCBpZCkuc2VyaWFsaXplSlNPTigpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGxpbmsgPSAkKHRoaXMpLmRhdGEoJ2RlYWN0aXZhdGVfbGluaycpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRhWydyZWFzb25fdHlwZSddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpLnRleHQoJCh0aGlzKS5kYXRhKCdkZWFjdGl2YXRpbmcnKSkubmV4dCgpLmFkZENsYXNzKCd2aXNpYmxlJyk7XG5cbiAgICAgICAgICAgICAgICB3cC5hamF4LnNlbmQoZGF0YS5hY3Rpb24sIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UobGluaylcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgICA6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKGxpbmspXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coZGF0YSlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAkKCc6cmFkaW8nLCBpZCkub24oJ2NoYW5nZScsIGZ1bmN0aW9uICgpIHtcblxuICAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLmZlZWRiYWNrLWRpYWxvZy1mb3JtLWJvZHknKS5maW5kKCcuZmVlZGJhY2stdGV4dCcpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSkuaGlkZSgpO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5uZXh0QWxsKCcuZmVlZGJhY2stdGV4dCcpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpLnNob3coKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCQodGhpcykudmFsKCkpXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgJCgnLndwLWxpc3QtdGFibGUucGx1Z2lucycpLmZpbmQoJ1tkYXRhLXNsdWc9XCInICsgcGx1Z2luc2x1ZyArICdcIl0uYWN0aXZlJykuZWFjaChmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgZGVhY3RpdmF0ZV9saW5rID0gJCh0aGlzKS5maW5kKCcuZGVhY3RpdmF0ZSBhJykucHJvcCgnaHJlZicpO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCdkZWFjdGl2YXRlX2xpbmsnLCBkZWFjdGl2YXRlX2xpbmspO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcuZGVhY3RpdmF0ZSBhJykub24oJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJChpZCkuZGF0YSgnZ3dwLWRlYWN0aXZhdGUtZGlhbG9nLW9wZW5lcicsIHRoaXMpLmRpYWxvZygnb3BlbicpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gR1dQQWRtaW5IZWxwZXI7XG59KShqUXVlcnkpO1xuXG5leHBvcnQgeyBHV1BBZG1pbkhlbHBlciB9O1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzcmMvanMvR1dQQWRtaW5IZWxwZXIuanMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQzdEQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7Ozs7Ozs7OztBQ2JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQUFBO0FBQUE7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFyQkE7QUFBQTtBQUFBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQWpDQTtBQUNBO0FBbUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1R0E7QUFDQTtBQURBO0FBQUE7QUFDQTtBQThHQTtBQUNBO0FBQ0E7Ozs7O0EiLCJzb3VyY2VSb290IjoiIn0=
1
  /*!
2
+ * WooCommerce Variation Swatches v1.0.44
3
  *
4
  * Author: Emran Ahmed ( emran.bd.08@gmail.com )
5
+ * Date: 2018-10-20 21:53:02
6
  * Released under the GPLv3 license.
7
  */
8
  /******/ (function(modules) { // webpackBootstrap
244
  /***/ })
245
 
246
  /******/ });
247
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzL2pzL2d3cC1hZG1pbi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCA4YzIyNjZhZTY2NTlkOGE5ZjVlNSIsIndlYnBhY2s6Ly8vc3JjL2pzL2d3cC1hZG1pbi5qcyIsIndlYnBhY2s6Ly8vc3JjL2pzL0dXUEFkbWluSGVscGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDEyKTtcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB3ZWJwYWNrL2Jvb3RzdHJhcCA4YzIyNjZhZTY2NTlkOGE5ZjVlNSIsIihmdW5jdGlvbiAoJCkge1xuXG4gICAgaW1wb3J0KCcuL0dXUEFkbWluSGVscGVyJykudGhlbigoe0dXUEFkbWluSGVscGVyfSkgPT4ge1xuXG4gICAgICAgICQuZm4uZ3dwX2xpdmVfZmVlZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIEdXUEFkbWluSGVscGVyLkxpdmVGZWVkKCk7XG4gICAgICAgIH1cblxuICAgICAgICAkLmZuLmd3cF9kZWFjdGl2YXRlX3BvcHVwID0gZnVuY3Rpb24gKCRzbHVnKSB7XG4gICAgICAgICAgICBHV1BBZG1pbkhlbHBlci5EZWFjdGl2YXRlUG9wdXAoJHNsdWcpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbn0oalF1ZXJ5KSk7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHNyYy9qcy9nd3AtYWRtaW4uanMiLCIvKmdsb2JhbCBHV1BBZG1pbiovXG5cbmNvbnN0IEdXUEFkbWluSGVscGVyID0gKCgkKSA9PiB7XG4gICAgY2xhc3MgR1dQQWRtaW5IZWxwZXIge1xuXG4gICAgICAgIHN0YXRpYyBMaXZlRmVlZCgpIHtcbiAgICAgICAgICAgICQoJy5nd3AtbGl2ZS1mZWVkLWNsb3NlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbGV0IGlkID0gJCh0aGlzKS5kYXRhKCdmZWVkX2lkJyk7XG4gICAgICAgICAgICAgICAgd3AuYWpheC5zZW5kKCdnd3BfbGl2ZV9mZWVkX2Nsb3NlJywge1xuICAgICAgICAgICAgICAgICAgICBkYXRhIDoge2lkfVxuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5mYWRlT3V0KCdmYXN0JywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZSgpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIFJlc2V0UG9wdXBEYXRhKHBsdWdpbnNsdWcpIHtcbiAgICAgICAgICAgIGxldCBpZCAgICAgID0gYCNnd3AtcGx1Z2luLWRlYWN0aXZhdGUtZmVlZGJhY2stZGlhbG9nLXdyYXBwZXItJHtwbHVnaW5zbHVnfWA7XG4gICAgICAgICAgICBsZXQgJGJ1dHRvbiA9ICQoJy5mZWVkYmFjay1kaWFsb2ctZm9ybS1idXR0b24tc2VuZCcsIGlkKTtcbiAgICAgICAgICAgICRidXR0b24ucHJvcCgnZGlzYWJsZWQnLCBmYWxzZSkudGV4dCgkYnV0dG9uLmRhdGEoJ2RlZmF1bHR2YWx1ZScpKS5uZXh0KCkucmVtb3ZlQ2xhc3MoJ3Zpc2libGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBEZWFjdGl2YXRlUG9wdXAocGx1Z2luc2x1Zykge1xuXG4gICAgICAgICAgICBsZXQgaWQgPSBgI2d3cC1wbHVnaW4tZGVhY3RpdmF0ZS1mZWVkYmFjay1kaWFsb2ctd3JhcHBlci0ke3BsdWdpbnNsdWd9YDtcblxuICAgICAgICAgICAgJChpZCkuZGlhbG9nKHtcbiAgICAgICAgICAgICAgICB0aXRsZSAgICAgICAgIDogR1dQQWRtaW4uZmVlZGJhY2tfdGl0bGUsXG4gICAgICAgICAgICAgICAgZGlhbG9nQ2xhc3MgICA6ICd3cC1kaWFsb2cgZ3dwLWRlYWN0aXZhdGUtZmVlZGJhY2stZGlhbG9nJyxcbiAgICAgICAgICAgICAgICBhdXRvT3BlbiAgICAgIDogZmFsc2UsXG4gICAgICAgICAgICAgICAgZHJhZ2dhYmxlICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHdpZHRoICAgICAgICAgOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgbW9kYWwgICAgICAgICA6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVzaXphYmxlICAgICA6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGNsb3NlT25Fc2NhcGUgOiB0cnVlLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICAgIG15IDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgYXQgOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICBvZiA6IHdpbmRvd1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgY3JlYXRlICAgICAgICA6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICAgICAgJCgnLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZScpLmFkZENsYXNzKCd1aS1idXR0b24nKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9wZW4gICAgICAgICAgOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAgICAgICAgICQoJy51aS13aWRnZXQtb3ZlcmxheScpLmJpbmQoJ2NsaWNrJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJChpZCkuZGlhbG9nKCdjbG9zZScpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICBsZXQgb3BlbmVyID0gJCh0aGlzKS5kYXRhKCdnd3AtZGVhY3RpdmF0ZS1kaWFsb2ctb3BlbmVyJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgR1dQQWRtaW5IZWxwZXIuUmVzZXRQb3B1cERhdGEocGx1Z2luc2x1Zyk7XG5cbiAgICAgICAgICAgICAgICAgICAgbGV0IHNsdWcgICAgICAgICAgICA9ICQob3BlbmVyKS5kYXRhKCdzbHVnJyk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwbHVnaW4gICAgICAgICAgPSAkKG9wZW5lcikuZGF0YSgncGx1Z2luJyk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkZWFjdGl2YXRlX2xpbmsgPSAkKG9wZW5lcikuZGF0YSgnZGVhY3RpdmF0ZV9saW5rJyk7XG5cbiAgICAgICAgICAgICAgICAgICAgJCgnLmZlZWRiYWNrLWRpYWxvZy1mb3JtLWJ1dHRvbi1za2lwJywgaWQpLnByb3AoJ2hyZWYnLCBkZWFjdGl2YXRlX2xpbmspXG4gICAgICAgICAgICAgICAgICAgICQoJy5mZWVkYmFjay1kaWFsb2ctZm9ybS1idXR0b24tc2VuZCcsIGlkKS5kYXRhKCdkZWFjdGl2YXRlX2xpbmsnLCBkZWFjdGl2YXRlX2xpbmspXG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgJCgnLmZlZWRiYWNrLWRpYWxvZy1mb3JtLWJ1dHRvbi1zZW5kJywgaWQpLm9uKCdjbGljaycsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgbGV0IGRhdGEgPSAkKCcuZmVlZGJhY2stZGlhbG9nLWZvcm0nLCBpZCkuc2VyaWFsaXplSlNPTigpO1xuXG4gICAgICAgICAgICAgICAgbGV0IGxpbmsgPSAkKHRoaXMpLmRhdGEoJ2RlYWN0aXZhdGVfbGluaycpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBkYXRhWydyZWFzb25fdHlwZSddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5wcm9wKCdkaXNhYmxlZCcsIHRydWUpLnRleHQoJCh0aGlzKS5kYXRhKCdkZWFjdGl2YXRpbmcnKSkubmV4dCgpLmFkZENsYXNzKCd2aXNpYmxlJyk7XG5cbiAgICAgICAgICAgICAgICB3cC5hamF4LnNlbmQoZGF0YS5hY3Rpb24sIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlcGxhY2UobGluaylcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgICA6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKGxpbmspXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coZGF0YSlcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAkKCc6cmFkaW8nLCBpZCkub24oJ2NoYW5nZScsIGZ1bmN0aW9uICgpIHtcblxuICAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgnLmZlZWRiYWNrLWRpYWxvZy1mb3JtLWJvZHknKS5maW5kKCcuZmVlZGJhY2stdGV4dCcpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSkuaGlkZSgpO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5uZXh0QWxsKCcuZmVlZGJhY2stdGV4dCcpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpLnNob3coKS5mb2N1cygpO1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCQodGhpcykudmFsKCkpXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgJCgnLndwLWxpc3QtdGFibGUucGx1Z2lucycpLmZpbmQoJ1tkYXRhLXNsdWc9XCInICsgcGx1Z2luc2x1ZyArICdcIl0uYWN0aXZlJykuZWFjaChmdW5jdGlvbiAoKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgZGVhY3RpdmF0ZV9saW5rID0gJCh0aGlzKS5maW5kKCcuZGVhY3RpdmF0ZSBhJykucHJvcCgnaHJlZicpO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5kYXRhKCdkZWFjdGl2YXRlX2xpbmsnLCBkZWFjdGl2YXRlX2xpbmspO1xuXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5maW5kKCcuZGVhY3RpdmF0ZSBhJykub24oJ2NsaWNrJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJChpZCkuZGF0YSgnZ3dwLWRlYWN0aXZhdGUtZGlhbG9nLW9wZW5lcicsIHRoaXMpLmRpYWxvZygnb3BlbicpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gR1dQQWRtaW5IZWxwZXI7XG59KShqUXVlcnkpO1xuXG5leHBvcnQgeyBHV1BBZG1pbkhlbHBlciB9O1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBzcmMvanMvR1dQQWRtaW5IZWxwZXIuanMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQzdEQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBOzs7Ozs7Ozs7Ozs7OztBQ2JBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFEQTtBQUFBO0FBQUE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQUFBO0FBQUE7QUFrQkE7QUFDQTtBQUNBO0FBQ0E7QUFyQkE7QUFBQTtBQUFBO0FBQ0E7QUF3QkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQWpDQTtBQUNBO0FBbUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFQQTtBQUNBO0FBU0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE1R0E7QUFDQTtBQURBO0FBQUE7QUFDQTtBQThHQTtBQUNBO0FBQ0E7Ozs7O0EiLCJzb3VyY2VSb290IjoiIn0=
includes/class-woo-variation-swatches-export-import.php CHANGED
@@ -8,7 +8,7 @@
8
  class Woo_Variation_Swatches_Export_Import {
9
 
10
  private $export_type = 'product';
11
- private $column_id = 'woo_variation_swatches_attribute_types';
12
 
13
  public function __construct() {
14
 
@@ -16,109 +16,91 @@
16
  // "woocommerce_{$this->export_type}_export_column_names"
17
  //add_filter( 'woocommerce_product_export_column_names', 'add_woo_variation_gallery_export_column' );
18
 
19
- //add_filter( "woocommerce_product_export_{$this->export_type}_default_columns", array( $this, 'export_column_name' ) );
20
- //add_filter( "woocommerce_product_export_{$this->export_type}_column_{$this->column_id}", array( $this, 'export_column_data' ), 10, 3 );
21
 
22
- add_filter( 'woocommerce_product_export_row_data', array( $this, 'prepare_attributes_for_export' ), 10, 2 );
23
 
24
  // IMPORT
25
- //add_filter( 'woocommerce_csv_product_import_mapping_options', array( $this, 'import_column_name' ) );
26
- //add_filter( 'woocommerce_csv_product_import_mapping_default_columns', array( $this, 'default_import_column_name' ) );
27
- //add_action( 'woocommerce_product_import_inserted_product_object', array( $this, 'process_wc_import' ), 10, 2 );
28
 
29
  }
30
 
31
  public function prepare_attributes_for_export( $row, $product ) {
32
-
33
- //print_r( $row); die;
34
- //if ( $this->is_column_exporting( 'attributes' ) ) {
35
- $attributes = $product->get_attributes();
36
- $default_attributes = $product->get_default_attributes();
37
-
38
-
39
- if ( count( $attributes ) ) {
40
- $i = 1;
41
- foreach ( $attributes as $attribute_name => $attribute ) {
42
- /* translators: %s: attribute number */
43
- // $row[ 'attributes:type' . $i ] = sprintf( __( 'Attribute %d type', 'woocommerce' ), $i );
44
- //$x[ 'attributes:type' . $i ] = sprintf( __( 'Attribute %d type', 'woocommerce' ), $i );
45
- /* translators: %s: attribute number */
46
- //$this->column_names[ 'attributes:value' . $i ] = sprintf( __( 'Attribute %d value(s)', 'woocommerce' ), $i );
47
- /* translators: %s: attribute number */
48
- //$this->column_names[ 'attributes:visible' . $i ] = sprintf( __( 'Attribute %d visible', 'woocommerce' ), $i );
49
- /* translators: %s: attribute number */
50
- //$this->column_names[ 'attributes:taxonomy' . $i ] = sprintf( __( 'Attribute %d global', 'woocommerce' ), $i );
51
-
52
- //
53
-
54
- //
55
- //print_r( $attribute);
56
- if ( is_a( $attribute, 'WC_Product_Attribute' ) ) {
57
- if ( $attribute->is_taxonomy() ) {
58
- $attr = wc_get_attribute( $attribute->get_id() );
59
-
60
- //print_r($attr);
61
-
62
- $row[ 'attributes:name' . $i ] = $row[ 'attributes:name' . $i ] . '#' . $attr->type;
63
- } else {
64
- $row[ 'attributes:name' . $i ] = $row[ 'attributes:name' . $i ] . '#' . 'select';
65
- }
66
- //$attr = wc_get_attribute( $attribute->get_id() );
67
- //$row[ 'attributes:type' . $i ] = $attr->type;
68
- //$x[ 'attributes:type' . $i ] = $attr->type;
69
- // $row[ 'attributes:type' . $i ] = $attr->type;
70
- } else {
71
- //$row[ 'attributes:type' . $i ] = $attr->type;
72
- }
73
-
74
- //print_r($attr);
75
-
76
- $i ++;
77
- }
78
- }
79
- //}
80
- //print_r($row);
81
- //die(__FILE__);
82
- // array_push( $row, $x);
83
  return $row;
84
-
85
  }
86
 
87
  public function export_column_name( $columns ) {
88
 
89
  // column slug => column name
90
- $columns[ $this->column_id ] = esc_html__( 'Woo Variation Swatches Attributes types', 'woo-variation-gallery' );
91
 
92
  return $columns;
93
  }
94
 
95
  public function export_column_data( $value, $product, $column_id ) {
96
- $product_id = $product->get_id();
97
- $gallery_images = get_post_meta( $product_id, 'woo_variation_gallery_images', true );
98
- $images = array();
99
 
100
- foreach ( $gallery_images as $image_id ) {
101
- $image = wp_get_attachment_image_src( $image_id, 'full' );
102
-
103
- if ( $image ) {
104
- $images[] = $image[ 0 ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  }
106
  }
107
 
108
- return implode( ',', $images );
109
  }
110
 
111
 
112
  public function import_column_name( $columns ) {
113
  // column slug => column name
114
- $columns[ $this->column_id ] = esc_html__( 'Woo Variation Gallery Images', 'woo-variation-gallery' );
115
 
116
  return $columns;
117
  }
118
 
119
  public function default_import_column_name( $columns ) {
120
  // potential column name => column slug
121
- $columns[ esc_html__( 'Woo Variation Gallery Images', 'woo-variation-gallery' ) ] = $this->column_id;
122
 
123
  return $columns;
124
  }
@@ -129,15 +111,46 @@
129
 
130
  if ( isset( $data[ $this->column_id ] ) && ! empty( $data[ $this->column_id ] ) ) {
131
 
 
132
 
133
- $woo_variation_gallery = array();
134
- $raw_gallery_images = (array) explode( ',', $data[ $this->column_id ] );
135
 
136
- foreach ( $raw_gallery_images as $url ) {
137
- $woo_variation_gallery[] = $this->get_attachment_id_from_url( $url, $product_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  }
139
-
140
- update_post_meta( $product_id, 'woo_variation_gallery_images', array_values( $woo_variation_gallery ) );
141
  }
142
  }
143
 
@@ -227,5 +240,5 @@
227
 
228
  }
229
 
230
- // new Woo_Variation_Swatches_Export_Import();
231
  endif;
8
  class Woo_Variation_Swatches_Export_Import {
9
 
10
  private $export_type = 'product';
11
+ private $column_id = 'attributes_type';
12
 
13
  public function __construct() {
14
 
16
  // "woocommerce_{$this->export_type}_export_column_names"
17
  //add_filter( 'woocommerce_product_export_column_names', 'add_woo_variation_gallery_export_column' );
18
 
19
+ add_filter( "woocommerce_product_export_{$this->export_type}_default_columns", array( $this, 'export_column_name' ) );
20
+ add_filter( "woocommerce_product_export_{$this->export_type}_column_{$this->column_id}", array( $this, 'export_column_data' ), 10, 3 );
21
 
22
+ // add_filter( 'woocommerce_product_export_row_data', array( $this, 'prepare_attributes_for_export' ), 10, 3 );
23
 
24
  // IMPORT
25
+ add_filter( 'woocommerce_csv_product_import_mapping_options', array( $this, 'import_column_name' ) );
26
+ add_filter( 'woocommerce_csv_product_import_mapping_default_columns', array( $this, 'default_import_column_name' ) );
27
+ add_action( 'woocommerce_product_import_inserted_product_object', array( $this, 'process_wc_import' ), 10, 2 );
28
 
29
  }
30
 
31
  public function prepare_attributes_for_export( $row, $product ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  return $row;
 
33
  }
34
 
35
  public function export_column_name( $columns ) {
36
 
37
  // column slug => column name
38
+ $columns[ $this->column_id ] = 'Swatches Attributes';
39
 
40
  return $columns;
41
  }
42
 
43
  public function export_column_data( $value, $product, $column_id ) {
 
 
 
44
 
45
+ $attributes = $product->get_attributes();
46
+
47
+ $types = array();
48
+
49
+ if ( count( $attributes ) ) {
50
+ foreach ( $attributes as $attribute_name => $attribute ) {
51
+
52
+ if ( is_a( $attribute, 'WC_Product_Attribute' ) ) {
53
+
54
+ if ( $attribute->is_taxonomy() ) {
55
+ $attr = wc_get_attribute( $attribute->get_id() );
56
+ $name = wc_attribute_label( $attribute->get_name(), $product );
57
+ $terms = $attribute->get_terms();
58
+
59
+ if ( ! in_array( $name, $types ) && $attr->type !== 'select' ) {
60
+ $types[ $name ] = array();
61
+ $types[ $name ][ 'name' ] = $name;
62
+ $types[ $name ][ 'type' ] = $attr->type;
63
+ $types[ $name ][ 'terms' ] = array();
64
+
65
+ foreach ( $terms as $term ) {
66
+ $types[ $name ][ 'terms' ][ $term->name ] = array();
67
+ $types[ $name ][ 'terms' ][ $term->name ][ 'name' ] = $term->name;
68
+ $types[ $name ][ 'terms' ][ $term->name ][ 'color' ] = sanitize_hex_color( get_term_meta( $term->term_id, 'product_attribute_color', true ) );
69
+
70
+ $term_image_id = get_term_meta( $term->term_id, 'product_attribute_image', true );
71
+
72
+ $types[ $name ][ 'terms' ][ $term->name ][ 'image' ] = $term_image_id ? wp_get_attachment_image_url( $term_image_id, 'full' ) : '';
73
+
74
+
75
+ $types[ $name ][ 'terms' ][ $term->name ][ 'show_tooltip' ] = get_term_meta( $term->term_id, 'show_tooltip', true );
76
+ $types[ $name ][ 'terms' ][ $term->name ][ 'tooltip_text' ] = get_term_meta( $term->term_id, 'tooltip_text', true );
77
+
78
+ $tooltip_image_id = get_term_meta( $term->term_id, 'tooltip_image', true );
79
+
80
+ $types[ $name ][ 'terms' ][ $term->name ][ 'tooltip_image' ] = $tooltip_image_id ? wp_get_attachment_image_url( $tooltip_image_id, 'full' ) : '';
81
+ $types[ $name ][ 'terms' ][ $term->name ][ 'image_size' ] = get_term_meta( $term->term_id, 'product_attribute_image', true );
82
+
83
+ }
84
+ }
85
+ }
86
+ }
87
  }
88
  }
89
 
90
+ return $types ? wp_json_encode( $types ) : '';
91
  }
92
 
93
 
94
  public function import_column_name( $columns ) {
95
  // column slug => column name
96
+ $columns[ $this->column_id ] = 'Swatches Attributes';
97
 
98
  return $columns;
99
  }
100
 
101
  public function default_import_column_name( $columns ) {
102
  // potential column name => column slug
103
+ $columns[ esc_html__( 'Swatches Attributes', 'woo-variation-gallery' ) ] = $this->column_id;
104
 
105
  return $columns;
106
  }
111
 
112
  if ( isset( $data[ $this->column_id ] ) && ! empty( $data[ $this->column_id ] ) ) {
113
 
114
+ $raw_data = (array) json_decode( $data[ $this->column_id ], true );
115
 
116
+ $done_taxonomy = array();
117
+ $done_terms = array();
118
 
119
+ foreach ( $raw_data as $attr_name => $attr ) {
120
+ $id = wc_attribute_taxonomy_id_by_name( $attr_name );
121
+ $taxonomy = wc_attribute_taxonomy_name( $attr_name );
122
+
123
+
124
+ if ( in_array( $id, $done_taxonomy ) ) {
125
+ continue;
126
+ }
127
+
128
+ if ( $id ) {
129
+ array_push( $done_taxonomy, $id );
130
+
131
+ wc_update_attribute( $id, array( 'type' => $attr[ 'type' ] ) );
132
+
133
+
134
+ foreach ( $attr[ 'terms' ] as $term_name => $term_data ) {
135
+
136
+ $term = get_term_by( 'name', $term_name, $taxonomy );
137
+
138
+ if ( in_array( $id, $done_terms ) ) {
139
+ continue;
140
+ }
141
+
142
+ if ( $term ) {
143
+ array_push( $done_terms, $term->term_id );
144
+
145
+ $color = ! empty( $term_data[ 'color' ] ) ? sanitize_hex_color( $term_data[ 'color' ] ) : '';
146
+ update_term_meta( $term->term_id, 'product_attribute_color', $color );
147
+
148
+ $image_id = ! empty( $term_data[ 'image' ] ) ? $this->get_attachment_id_from_url( $term_data[ 'image' ], 0 ) : '';
149
+ update_term_meta( $term->term_id, 'product_attribute_image', $image_id );
150
+ }
151
+ }
152
+ }
153
  }
 
 
154
  }
155
  }
156
 
240
 
241
  }
242
 
243
+ new Woo_Variation_Swatches_Export_Import();
244
  endif;
includes/functions.php CHANGED
@@ -987,8 +987,7 @@
987
  if ( ! function_exists( 'wvs_variation_attribute_options_html' ) ):
988
  function wvs_variation_attribute_options_html( $html, $args ) {
989
 
990
- // IE 11 Fallback to default select box
991
- if ( wvs_is_ie11() ) {
992
  return $html;
993
  }
994
 
@@ -1070,23 +1069,87 @@
1070
 
1071
  .gwp-pro-features-wrapper ul {
1072
  display : block;
1073
- float : left;
1074
- width : 50%;
 
 
 
1075
  }
 
 
 
 
 
 
1076
  </style>
1077
  <div class="gwp-pro-features-wrapper">
1078
- <h3>Upgrade to Woocommerce Variation Swatches - Pro</h3>
1079
- <p>With the premium version of Woocommerce Variation Swatches, you can do:</p>
 
 
 
 
 
 
 
1080
  <ul>
1081
- <li><span class="dashicons dashicons-yes"></span> Convert attribute variations into radio button.</li>
1082
- <li><span class="dashicons dashicons-yes"></span> Individual product basis swatches customization.</li>
1083
- <li><span class="dashicons dashicons-yes"></span> Enable attributes swatch in archives / shop page.</li>
1084
- <li><span class="dashicons dashicons-yes"></span> Control swatches width and height on archive page.</li>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1085
  <li><span class="dashicons dashicons-yes"></span> Archive page swatches positioning.</li>
1086
  <li><span class="dashicons dashicons-yes"></span> Archive page swatches alignment.</li>
1087
- <li><span class="dashicons dashicons-yes"></span> Hide only out of stock variation product.</li>
1088
- <li><span class="dashicons dashicons-yes"></span> Individual attribute to show in large style.</li>
1089
- <li><span class="dashicons dashicons-yes"></span> Catalog mode to show only one attribute on shop / archive page.</li>
1090
  <li><span class="dashicons dashicons-yes"></span> Tooltip display setting on archive/shop page.</li>
1091
  <li><span class="dashicons dashicons-yes"></span> Variation clear button display setting.</li>
1092
  <li><span class="dashicons dashicons-yes"></span> Customize tooltip text and background color.</li>
@@ -1094,14 +1157,7 @@
1094
  <li><span class="dashicons dashicons-yes"></span> Customize font size, swatches height and width.</li>
1095
  <li><span class="dashicons dashicons-yes"></span> Customize swatches colors, background and border sizes.</li>
1096
  <li><span class="dashicons dashicons-yes"></span> Automatic updates and exclusive technical support.</li>
1097
- </ul>
1098
- <ul>
1099
- <li>
1100
- <h4>How To Customize Individual Product Attribute Variation Swatches</h4>
1101
- <div class="gwp-pro-video-features-wrapper">
1102
- <iframe width="100%" height="315" src="https://www.youtube.com/embed/ILf1S2k97es?rel=0&amp;showinfo=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
1103
- </div>
1104
- </li>
1105
  </ul>
1106
  <div class="clear"></div>
1107
  <a target="_blank" class="button button-primary button-hero gwp-pro-button" href="<?php echo esc_url( woo_variation_swatches()->get_pro_link( 'product-edit' ) ); ?>">Okay, I need the features! <span class="dashicons dashicons-external"></span></a>
987
  if ( ! function_exists( 'wvs_variation_attribute_options_html' ) ):
988
  function wvs_variation_attribute_options_html( $html, $args ) {
989
 
990
+ if ( apply_filters( 'default_wvs_variation_attribute_options_html', false, $args, $html ) ) {
 
991
  return $html;
992
  }
993
 
1069
 
1070
  .gwp-pro-features-wrapper ul {
1071
  display : block;
1072
+
1073
+ }
1074
+
1075
+ .gwp-pro-features-wrapper ul li {
1076
+ margin-bottom : 10px;
1077
  }
1078
+
1079
+ .gwp-pro-features-wrapper .gwp-pro-features-links {
1080
+ margin-left : 20px;
1081
+ padding : 5px;
1082
+ }
1083
+
1084
  </style>
1085
  <div class="gwp-pro-features-wrapper">
1086
+ <h3>Upgrade to WooCommerce Variation Swatches - Pro</h3>
1087
+ <ul>
1088
+ <li>
1089
+ <div class="gwp-pro-video-features-wrapper">
1090
+ <iframe width="100%" height="485" src="https://www.youtube.com/embed/ILf1S2k97es?rel=0&amp;showinfo=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
1091
+ </div>
1092
+ </li>
1093
+ </ul>
1094
+ <h4>With the premium version of WooCommerce Variation Swatches, you can do:</h4>
1095
  <ul>
1096
+ <li><span class="dashicons dashicons-yes"></span> Convert attribute variations into radio button.
1097
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/radio-product-settings-demo">Live Demo</a> | <a target="_blank" href="http://bit.ly/customattribute-productpage-settings">Video Tutorial</a></div>
1098
+ </li>
1099
+ <li><span class="dashicons dashicons-yes"></span> Show Entire Color, Image, Label And Radio Attributes Swatches In Catelog/ Category / Archive / Store/ Shop Pages
1100
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/add-to-cart-shop-page-swatch-product-settings-demo">Live Demo</a> | <a target="_blank" href="http://bit.ly/add-to-cart-readme-video">Video Tutorial</a></div>
1101
+ </li>
1102
+
1103
+ <li><span class="dashicons dashicons-yes"></span> Show Selected Single Color or Image Or Label Attribute Swatches In Catelog/ Category / Archive / Store / Shop Pages
1104
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/catalog-archive-demo-product-settings">Live Demo</a> | <a target="_blank" href="http://bit.ly/catalog-archive-readme-youtube-tuts">Video Tutorial</a></div>
1105
+ </li>
1106
+
1107
+ <li><span class="dashicons dashicons-yes"></span> Individual Product Basis Attribute Variation Swatches Customization
1108
+
1109
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/product-basis-demo-product-settings">Live Demo</a> | <a target="_blank" href="http://bit.ly/product-basis-youtube-video-link-from-readme">Video Tutorial</a></div>
1110
+ </li>
1111
+
1112
+ <li><span class="dashicons dashicons-yes"></span> Show Image, Color, Button Variation Swatches in Same Attribute
1113
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/product-basis-demo-product-page-settings-same-swatches">Live Demo</a> | <a target="_blank" href="http://bit.ly/product-basis-youtube-video-link-from-readme">Video Tutorial</a></div>
1114
+ </li>
1115
+
1116
+ <li><span class="dashicons dashicons-yes"></span> Convert Manually Created Attibute Variations Into Color, Image, and Label Swatches
1117
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/manual-attribute-readme-video">Video Tutorial</a></div>
1118
+ </li>
1119
+
1120
+ <li><span class="dashicons dashicons-yes"></span> Change Variation Product Gallery After Selecting Single Attribute Like Amazon Or AliExpress
1121
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/change-gallery-image-on-single-attribute-demo-from-plugin-product-page-setting">Live Demo</a> | <a target="_blank" href="http://bit.ly/change-gallery-image-on-single-attribute-youtube-readme">Video Tutorial</a></div>
1122
+ </li>
1123
+
1124
+ <li><span class="dashicons dashicons-yes"></span> Generate Selected Attribute Variation Link
1125
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/link-generate-product-settings-demo">Live Demo</a> | <a target="_blank" href="http://bit.ly/link-generate-readme-youtube">Video Tutorial</a></div>
1126
+ </li>
1127
+ <li><span class="dashicons dashicons-yes"></span> Option to Select ROUNDED and SQUARED Attribute Variation Swatches Shape In the Same Product.
1128
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/round-square-demo-product-settings">Live Demo</a> | <a target="_blank" href="http://bit.ly/round-square-youtube-video-from-readme">Video Tutorial</a></div>
1129
+ </li>
1130
+
1131
+ <li><span class="dashicons dashicons-yes"></span> Blur Or Hide Or Show Cross Sign For Out of Stock Variation Swatches (Unlimited Variations Without hiding out of stock item from catalog)
1132
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/bulr-premium-outstock-demo-product-settings">Live Demo</a> | <a target="_blank" href="http://bit.ly/blur-hide-youtube-readme">Video Tutorial</a></div>
1133
+ </li>
1134
+
1135
+ <li><span class="dashicons dashicons-yes"></span> Shop Page Swatches Size Control
1136
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/shop-swatches-size-readme">Live Preview</a></div>
1137
+ </li>
1138
+
1139
+ <li><span class="dashicons dashicons-yes"></span> Make Selected Attribute Variation Swatches Size Larger Than Other Default Attribute Variations
1140
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/special-attribute-product-settings-demo">Live Demo</a> | <a target="_blank" href="http://bit.ly/special-attribute-youtube-readme">Video Tutorial</a></div>
1141
+ </li>
1142
+
1143
+ <li><span class="dashicons dashicons-yes"></span> Show Custom Text in Variation Tooltip In Product and Shop Page
1144
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/custom-tooltip-text-readme">Live Preview</a></div>
1145
+ </li>
1146
+
1147
+ <li><span class="dashicons dashicons-yes"></span> Show Custom Image in Variation Swatches Tooltip In Product And Shop Page
1148
+ <div class="gwp-pro-features-links"><a target="_blank" href="http://bit.ly/image-tooltip-product-settings">Live Demo</a> | <a target="_blank" href="http://bit.ly/tooltip-tip-image-youtube-readme">Video Tutorial</a></div>
1149
+ </li>
1150
+
1151
  <li><span class="dashicons dashicons-yes"></span> Archive page swatches positioning.</li>
1152
  <li><span class="dashicons dashicons-yes"></span> Archive page swatches alignment.</li>
 
 
 
1153
  <li><span class="dashicons dashicons-yes"></span> Tooltip display setting on archive/shop page.</li>
1154
  <li><span class="dashicons dashicons-yes"></span> Variation clear button display setting.</li>
1155
  <li><span class="dashicons dashicons-yes"></span> Customize tooltip text and background color.</li>
1157
  <li><span class="dashicons dashicons-yes"></span> Customize font size, swatches height and width.</li>
1158
  <li><span class="dashicons dashicons-yes"></span> Customize swatches colors, background and border sizes.</li>
1159
  <li><span class="dashicons dashicons-yes"></span> Automatic updates and exclusive technical support.</li>
1160
+
 
 
 
 
 
 
 
1161
  </ul>
1162
  <div class="clear"></div>
1163
  <a target="_blank" class="button button-primary button-hero gwp-pro-button" href="<?php echo esc_url( woo_variation_swatches()->get_pro_link( 'product-edit' ) ); ?>">Okay, I need the features! <span class="dashicons dashicons-external"></span></a>
includes/hooks.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
3
 
4
  add_action( 'wp_ajax_nopriv_wvs_get_available_variations', 'wvs_get_available_product_variations' );
@@ -24,5 +25,4 @@
24
  add_filter( 'woocommerce_product_data_tabs', 'add_wvs_pro_preview_tab' );
25
 
26
  add_filter( 'woocommerce_product_data_panels', 'add_wvs_pro_preview_tab_panel' );
27
- }
28
-
1
  <?php
2
+
3
  defined( 'ABSPATH' ) or die( 'Keep Quit' );
4
 
5
  add_action( 'wp_ajax_nopriv_wvs_get_available_variations', 'wvs_get_available_product_variations' );
25
  add_filter( 'woocommerce_product_data_tabs', 'add_wvs_pro_preview_tab' );
26
 
27
  add_filter( 'woocommerce_product_data_panels', 'add_wvs_pro_preview_tab_panel' );
28
+ }
 
languages/woo-variation-swatches.pot CHANGED
@@ -16,7 +16,7 @@ msgstr ""
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
 
19
- #: ../includes/class-wvs-customizer.php:34, ../woo-variation-swatches.php:549
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
@@ -24,7 +24,7 @@ msgstr ""
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
- #: ../includes/class-wvs-settings-api.php:86, ../includes/class-wvs-settings-api.php:99, ../includes/functions.php:1033
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
@@ -243,7 +243,7 @@ msgstr ""
243
  msgid "Choose a color"
244
  msgstr ""
245
 
246
- #: ../includes/functions.php:372, ../woo-variation-swatches.php:352
247
  msgid "Choose an Image"
248
  msgstr ""
249
 
@@ -339,66 +339,66 @@ msgstr ""
339
  msgid "Please share the reason"
340
  msgstr ""
341
 
342
- #: ../woo-variation-swatches.php:353
343
  msgid "Add Attribute"
344
  msgstr ""
345
 
346
- #: ../woo-variation-swatches.php:354
347
  msgid "Add"
348
  msgstr ""
349
 
350
- #: ../woo-variation-swatches.php:355
351
  msgid "Cancel"
352
  msgstr ""
353
 
354
- #: ../woo-variation-swatches.php:356
355
  msgid "Use Image"
356
  msgstr ""
357
 
358
- #: ../woo-variation-swatches.php:357
359
  msgid "Add Media"
360
  msgstr ""
361
 
362
- #: ../woo-variation-swatches.php:365
363
  msgid "Quick Feedback"
364
  msgstr ""
365
 
366
- #: ../woo-variation-swatches.php:444, ../woo-variation-swatches.php:444
367
  msgid "Read Documentation"
368
  msgstr ""
369
 
370
- #: ../woo-variation-swatches.php:446
371
  msgid "Facing issue?"
372
  msgstr ""
373
 
374
- #: ../woo-variation-swatches.php:446
375
  msgid "Please open a ticket."
376
  msgstr ""
377
 
378
- #: ../woo-variation-swatches.php:461
379
  msgid "Go Pro"
380
  msgstr ""
381
 
382
- #: ../woo-variation-swatches.php:514
383
  msgid "Please check PHP version requirement."
384
  msgstr ""
385
 
386
- #: ../woo-variation-swatches.php:516
387
  msgid "It's required to use latest version of PHP to use <strong>WooCommerce Variation Swatches</strong>."
388
  msgstr ""
389
 
390
- #: ../woo-variation-swatches.php:528
391
  msgid "WooCommerce"
392
  msgstr ""
393
 
394
- #: ../woo-variation-swatches.php:536
395
  msgid "<strong>WooCommerce Variation Swatches</strong> is an add-on of "
396
  msgstr ""
397
 
398
- #: ../woo-variation-swatches.php:549
399
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
400
  msgstr ""
401
 
402
- #: ../woo-variation-swatches.php:644
403
  msgid "WooCommerce Variation Swatches Plugin try to load \"%s\" but template \"%s\" was not found."
404
  msgstr ""
16
  "X-Poedit-SourceCharset: UTF-8\n"
17
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
 
19
+ #: ../includes/class-wvs-customizer.php:34, ../woo-variation-swatches.php:550
20
  msgid "WooCommerce Variation Swatches"
21
  msgstr ""
22
 
24
  msgid "WooCommerce Variation Swatches Settings"
25
  msgstr ""
26
 
27
+ #: ../includes/class-wvs-settings-api.php:86, ../includes/class-wvs-settings-api.php:99, ../includes/functions.php:1032
28
  msgid "Swatches Settings"
29
  msgstr ""
30
 
243
  msgid "Choose a color"
244
  msgstr ""
245
 
246
+ #: ../includes/functions.php:372, ../woo-variation-swatches.php:353
247
  msgid "Choose an Image"
248
  msgstr ""
249
 
339
  msgid "Please share the reason"
340
  msgstr ""
341
 
342
+ #: ../woo-variation-swatches.php:354
343
  msgid "Add Attribute"
344
  msgstr ""
345
 
346
+ #: ../woo-variation-swatches.php:355
347
  msgid "Add"
348
  msgstr ""
349
 
350
+ #: ../woo-variation-swatches.php:356
351
  msgid "Cancel"
352
  msgstr ""
353
 
354
+ #: ../woo-variation-swatches.php:357
355
  msgid "Use Image"
356
  msgstr ""
357
 
358
+ #: ../woo-variation-swatches.php:358
359
  msgid "Add Media"
360
  msgstr ""
361
 
362
+ #: ../woo-variation-swatches.php:366
363
  msgid "Quick Feedback"
364
  msgstr ""
365
 
366
+ #: ../woo-variation-swatches.php:445, ../woo-variation-swatches.php:445
367
  msgid "Read Documentation"
368
  msgstr ""
369
 
370
+ #: ../woo-variation-swatches.php:447
371
  msgid "Facing issue?"
372
  msgstr ""
373
 
374
+ #: ../woo-variation-swatches.php:447
375
  msgid "Please open a ticket."
376
  msgstr ""
377
 
378
+ #: ../woo-variation-swatches.php:462
379
  msgid "Go Pro"
380
  msgstr ""
381
 
382
+ #: ../woo-variation-swatches.php:515
383
  msgid "Please check PHP version requirement."
384
  msgstr ""
385
 
386
+ #: ../woo-variation-swatches.php:517
387
  msgid "It's required to use latest version of PHP to use <strong>WooCommerce Variation Swatches</strong>."
388
  msgstr ""
389
 
390
+ #: ../woo-variation-swatches.php:529
391
  msgid "WooCommerce"
392
  msgstr ""
393
 
394
+ #: ../woo-variation-swatches.php:537
395
  msgid "<strong>WooCommerce Variation Swatches</strong> is an add-on of "
396
  msgstr ""
397
 
398
+ #: ../woo-variation-swatches.php:550
399
  msgid "Currently, you are using older version of WooCommerce. It's recommended to use latest version of WooCommerce to work with %s."
400
  msgstr ""
401
 
402
+ #: ../woo-variation-swatches.php:645
403
  msgid "WooCommerce Variation Swatches Plugin try to load \"%s\" but template \"%s\" was not found."
404
  msgstr ""
package.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "package": "WooCommerce Variation Swatches",
3
  "name": "woo-variation-swatches",
4
- "version": "1.0.43",
5
  "author": "Emran Ahmed <emran.bd.08@gmail.com>",
6
  "contact": "emran.bd.08@gmail.com",
7
  "license": "GNU General Public License v3",
1
  {
2
  "package": "WooCommerce Variation Swatches",
3
  "name": "woo-variation-swatches",
4
+ "version": "1.0.44",
5
  "author": "Emran Ahmed <emran.bd.08@gmail.com>",
6
  "contact": "emran.bd.08@gmail.com",
7
  "license": "GNU General Public License v3",
webpack.mix.js CHANGED
@@ -61,7 +61,7 @@ if (Mix.inProduction()) {
61
  }
62
 
63
  mix.banner({
64
- banner : "WooCommerce Variation Swatches v1.0.43 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
61
  }
62
 
63
  mix.banner({
64
+ banner : "WooCommerce Variation Swatches v1.0.44 \n\nAuthor: Emran Ahmed ( emran.bd.08@gmail.com ) \nDate: " + new Date().toLocaleString() + "\nReleased under the GPLv3 license."
65
  });
66
 
67
  mix.notification({
woo-variation-swatches.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 3.2+
6
  * Author: Emran Ahmed
7
- * Version: 1.0.43
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
  * Tested up to: 4.9
@@ -20,7 +20,7 @@
20
 
21
  final class Woo_Variation_Swatches {
22
 
23
- protected $_version = '1.0.43';
24
 
25
  protected static $_instance = null;
26
  private $_settings_api;
@@ -65,7 +65,7 @@
65
  require_once $this->include_path( 'functions.php' );
66
  require_once $this->include_path( 'hooks.php' );
67
  require_once $this->include_path( 'themes-support.php' );
68
- // require_once $this->include_path( 'class-woo-variation-swatches-export-import.php' );
69
  }
70
  }
71
 
@@ -291,14 +291,15 @@
291
 
292
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
293
 
294
- // Don't load JS on IE11
295
- if ( ! wvs_is_ie11() ) {
296
- wp_enqueue_script( 'woo-variation-swatches', $this->assets_uri( "/js/frontend{$suffix}.js" ), array( 'jquery' ), $this->version(), true );
297
- wp_localize_script( 'woo-variation-swatches', 'woo_variation_swatches_options', apply_filters( 'woo_variation_swatches_js_options', array(
298
- 'is_product_page' => is_product()
299
- ) ) );
300
  }
301
 
 
 
 
 
 
302
  if ( $this->get_option( 'stylesheet' ) ) {
303
  wp_enqueue_style( 'woo-variation-swatches', $this->assets_uri( "/css/frontend{$suffix}.css" ), array(), $this->version() );
304
  wp_enqueue_style( 'woo-variation-swatches-theme-override', $this->assets_uri( "/css/wvs-theme-override{$suffix}.css" ), array( 'woo-variation-swatches' ), $this->version() );
4
  * Plugin URI: https://wordpress.org/plugins/woo-variation-swatches/
5
  * Description: Beautiful colors, images and buttons variation swatches for woocommerce product attributes. Requires WooCommerce 3.2+
6
  * Author: Emran Ahmed
7
+ * Version: 1.0.44
8
  * Domain Path: /languages
9
  * Requires at least: 4.8
10
  * Tested up to: 4.9
20
 
21
  final class Woo_Variation_Swatches {
22
 
23
+ protected $_version = '1.0.44';
24
 
25
  protected static $_instance = null;
26
  private $_settings_api;
65
  require_once $this->include_path( 'functions.php' );
66
  require_once $this->include_path( 'hooks.php' );
67
  require_once $this->include_path( 'themes-support.php' );
68
+ require_once $this->include_path( 'class-woo-variation-swatches-export-import.php' );
69
  }
70
  }
71
 
291
 
292
  $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
293
 
294
+ if ( wvs_is_ie11() ) {
295
+ wp_enqueue_script( 'bluebird', esc_url( "https://cdnjs.cloudflare.com/ajax/libs/bluebird/3.5.2/bluebird{$suffix}.js" ), array(), '3.5.2' );
 
 
 
 
296
  }
297
 
298
+ wp_enqueue_script( 'woo-variation-swatches', $this->assets_uri( "/js/frontend{$suffix}.js" ), array( 'jquery', 'wp-util' ), $this->version(), true );
299
+ wp_localize_script( 'woo-variation-swatches', 'woo_variation_swatches_options', apply_filters( 'woo_variation_swatches_js_options', array(
300
+ 'is_product_page' => is_product()
301
+ ) ) );
302
+
303
  if ( $this->get_option( 'stylesheet' ) ) {
304
  wp_enqueue_style( 'woo-variation-swatches', $this->assets_uri( "/css/frontend{$suffix}.css" ), array(), $this->version() );
305
  wp_enqueue_style( 'woo-variation-swatches-theme-override', $this->assets_uri( "/css/wvs-theme-override{$suffix}.css" ), array( 'woo-variation-swatches' ), $this->version() );