shop.mango.com Open in urlscan Pro
23.206.208.8  Public Scan

Submitted URL: https://click.a.mango.com/u/?qs=3c34520b35c6ffffb0dbbeff8af559701f6195297005f14a54f0fa93cabe6220637229b89d579e1ea69f37330b...
Effective URL: https://shop.mango.com/gb/stores?utm_source=f-journey-cumpleanos&utm_medium=email&utm_campaign=E_CPNLP19&utm_content=
Submission: On September 18 via api from ZA — Scanned from DE

Form analysis 7 forms found in the DOM

Name: SVPanelDroppointsROPO:FRopoPOST https://shop.mango.com/homeMarcas.faces?state=she_006_IN&ts=1695022173991

<form id="SVPanelDroppointsROPO:FRopo" name="SVPanelDroppointsROPO:FRopo" method="post" action="https://shop.mango.com/homeMarcas.faces?state=she_006_IN&amp;ts=1695022173991" class="customFormIdFRopo hidden"
  enctype="application/x-www-form-urlencoded" data-validate-active="true"><input type="hidden" name="SVPanelDroppointsROPO:FRopo_SUBMIT" value="1"><input type="hidden" name="javax.faces.ViewState" id="j_id__v_0:javax.faces.ViewState:1" value="mkvxZ0xxzsR0jxJLKDvt/mKJySmFNhxAoi0cA4DJDM5R45vE
"></form>

Name: j_id_44_dPOST https://shop.mango.com/homeMarcas.faces?state=she_006_IN&ts=1695022173991

<form id="j_id_44_d" name="j_id_44_d" method="post" action="https://shop.mango.com/homeMarcas.faces?state=she_006_IN&amp;ts=1695022173991" enctype="application/x-www-form-urlencoded"><span id="j_id_44_d:searchShop"
    onclick="_mng_preSubmit('_mng_hidde_valuesearchShop','searchShop','j_id_44_d');jsf.util.chain(document.getElementById('j_id_44_d:searchShop'), event,'mostrarInfoPopup();;', 'jsf.ajax.request(\'j_id_44_d:searchShop\',event,{execute:\'@form \',render:\'panelModalRopo blancoModalBlock \',onevent:function(e) {if (e.status == \'complete\') { ocultarInfoPopup(); } else if (e.status == \'success\'){ storesComponentsController.init(); storesMapsController.init(); }},\'javax.faces.behavior.event\':\'click\'})'); return false;"
    style="cursor: pointer;" class="boton_buscatiendas shop_search shop-search-js hidden"></span><input type="hidden" name="j_id_44_d_SUBMIT" value="1"><input type="hidden" name="javax.faces.ViewState" id="j_id__v_0:javax.faces.ViewState:2" value="mkvxZ0xxzsR0jxJLKDvt/mKJySmFNhxAoi0cA4DJDM5R45vE
"></form>

Name: FormPOST https://shop.mango.com/homeMarcas.faces?state=she_006_IN&ts=1695022173991

<form id="Form" name="Form" method="post" action="https://shop.mango.com/homeMarcas.faces?state=she_006_IN&amp;ts=1695022173991" class="form-no-margin clearfix" enctype="application/x-www-form-urlencoded">
  <div id="mainDivHeader2" class="main-vertical-component clearfix">
  </div>
  <div id="mainDivSections" class="main-vertical-component clearfix">
  </div>
  <micro-frontend url="/st-user-comms/userComms/headerBannerLoad" name="userCommsHeaderBannerLoad" id="userCommsHeaderBannerLoad"></micro-frontend>
  <div id="mainDivBody" class="main-vertical-body main-body-wrapper row-fluid">
  </div>
  <div id="fullPage">
  </div>
  <div id="mainDivBodyHome" class="main-vertical-component">
    <div id="urlHomeMarcasExterna" style="display: none;" data-cached="false"> http://staticpages.mngbcn.com/homes/006/0/IN/index.html </div>
    <div id="homeMarcasContent" style="width: 100%;">
      <div style="margin: 0;">
        <style>
          @font-face {
            font-display: fallback;
            font-family: "MangoSans";
            font-style: italic;
            font-weight: 400;
            src: url(//st.mngbcn.com/static/assets/fonts/MangoSans-RegularItalic.woff2) format("woff2"), url(//st.mngbcn.com/static/assets/fonts/MangoSans-RegularItalic.woff) format("woff")
          }

          @font-face {
            font-display: fallback;
            font-family: "MangoSans";
            font-style: italic;
            font-weight: 300;
            src: url(//st.mngbcn.com/static/assets/fonts/MangoSans-LightItalic.woff2) format("woff2"), url(//st.mngbcn.com/static/assets/fonts/MangoSans-LightItalic.woff) format("woff")
          }

          @font-face {
            font-display: fallback;
            font-family: "MangoSans";
            font-style: normal;
            font-weight: 700;
            src: url(//st.mngbcn.com/static/assets/fonts/MangoSans-Bold.woff2) format("woff2"), url(//st.mngbcn.com/static/assets/fonts/MangoSans-Bold.woff) format("woff")
          }

          @font-face {
            font-display: fallback;
            font-family: "MangoSans";
            font-style: normal;
            font-weight: 900;
            src: url(//st.mngbcn.com/static/assets/fonts/MangoSans-Black.woff2) format("woff2"), url(//st.mngbcn.com/static/assets/fonts/MangoSans-Black.woff) format("woff")
          }

          @font-face {
            font-family: MangoIcon;
            font-style: normal;
            font-weight: 300;
            src: url(https://staticpages.mngbcn.com/assets/fonts/MangoIconographyWeb_20x20-S.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/MangoIconographyWeb_20x20-S.woff2) format("woff2")
          }

          @font-face {
            font-family: MangoIcon;
            font-style: normal;
            font-weight: 400;
            src: url(https://staticpages.mngbcn.com/assets/fonts/MangoIconographyWeb_20x20-L.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/MangoIconographyWeb_20x20-L.woff2) format("woff2")
          }

          @font-face {
            font-family: Gotham;
            font-style: normal;
            font-weight: 300;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-light.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: normal;
            font-weight: 400;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-light.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: italic;
            font-weight: 400;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-bookitalic-webfont.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: normal;
            font-weight: 500;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-medium-webfont.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: italic;
            font-weight: 500;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-mediumitalic-webfont.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: normal;
            font-weight: 700;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-bold-webfont.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: italic;
            font-weight: 700;
            src: url(//st.mngbcn.com/static/assets/fonts/gotham/gothamhtf-bolditalic-webfont.woff) format("woff")
          }

          @font-face {
            font-family: Gotham;
            font-style: normal;
            font-weight: 200;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamExtraLight.ttf) format("ttf"), url(https://staticpages.mngbcn.com/assets/fonts/GothamExtraLight.woff2) format("woff2")
          }

          @font-face {
            font-family: Gotham;
            font-style: normal;
            font-weight: 900;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamBlack.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamBlack.woff2) format("woff2")
          }

          @font-face {
            font-family: GothamNarrow;
            font-style: normal;
            font-weight: 300;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowLight.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowLight.woff2) format("woff2")
          }

          @font-face {
            font-family: GothamNarrow;
            font-style: normal;
            font-weight: 400;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowBook.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowBook.woff2) format("woff2")
          }

          @font-face {
            font-family: GothamNarrow;
            font-style: normal;
            font-weight: 500;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowMedium.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowMedium.woff2) format("woff2")
          }

          @font-face {
            font-family: GothamNarrow;
            font-style: normal;
            font-weight: 700;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowBold.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowBold.woff2) format("woff2")
          }

          @font-face {
            font-family: GothamNarrow;
            font-style: normal;
            font-weight: 800;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowUltra.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowUltra.woff2) format("woff2")
          }

          @font-face {
            font-family: GothamNarrow;
            font-style: normal;
            font-weight: 900;
            src: url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowBlack.woff) format("woff"), url(https://staticpages.mngbcn.com/assets/fonts/GothamNarrowBlack.woff2) format("woff2")
          }

          .outletMNG.country_092 #vsvhome .vsv-bannercontainer .vsv-promo,
          .outletMNG.country_064 #vsvhome .vsv-bannercontainer .vsv-promo,
          .outletMNG.country_060 #vsvhome .vsv-bannercontainer .vsv-promo,
          .outletMNG.country_066 #vsvhome .vsv-bannercontainer .vsv-promo {
            display: none !important
          }

          .outletMNG.language_el #vsvhome div,
          .outletMNG.language_ru #vsvhome div,
          .outletMNG.language_el #vsvhome p,
          .outletMNG.language_ru #vsvhome p,
          .outletMNG.language_el #vsvhome span,
          .outletMNG.language_ru #vsvhome span,
          .outletMNG.language_el #vsvhome h1,
          .outletMNG.language_ru #vsvhome h1,
          .outletMNG.language_el #vsvhome h2,
          .outletMNG.language_ru #vsvhome h2,
          .outletMNG.language_el #vsvhome h3,
          .outletMNG.language_ru #vsvhome h3,
          .outletMNG.language_el #vsvhome h4,
          .outletMNG.language_ru #vsvhome h4,
          .outletMNG.language_el #vsvhome a,
          .outletMNG.language_ru #vsvhome a {
            font-family: "MangoSans" !important
          }

          #vsvhome {
            font-family: "MangoSans";
            font-style: normal;
            font-weight: 400;
            word-break: keep-all;
            overflow: hidden;
            text-align: left;
            -webkit-font-smoothing: antialiased !important;
            font-smoothing: antialiased !important;
            -webkit-touch-callout: none;
            -webkit-user-select: text;
            -khtml-user-select: text;
            -moz-user-select: text;
            -ms-user-select: text;
            user-select: text
          }

          #vsvhome .vsv-box {
            position: relative;
            line-height: normal !important
          }

          #vsvhome .vsv-box a {
            color: inherit;
            text-decoration: inherit
          }

          #vsvhome .vsv-box a:link {
            color: inherit
          }

          #vsvhome .vsv-box a:visited {
            color: inherit
          }

          #vsvhome .vsv-box a:hover {
            color: inherit
          }

          #vsvhome .vsv-box a:active {
            color: inherit
          }

          #vsvhome .vsv-box .img-responsive,
          #vsvhome .vsv-box .video-responsive {
            width: 100%;
            display: block;
            font-size: 0
          }

          #vsvhome .vsv-box .vsv-newnow .img-responsive,
          #vsvhome .vsv-box .vsv-newin .img-responsive {
            display: inline-block
          }

          #vsvhome .vsv-copy-link {
            cursor: pointer;
            position: relative;
            pointer-events: auto
          }

          #vsvhome .vsv-copy-link .tooltip-hover {
            font-family: mango-light;
            position: absolute;
            font-size: 13px;
            line-height: 20px;
            letter-spacing: .3px;
            background-color: #FAFAFA;
            color: #121314;
            bottom: 120%;
            width: 67px;
            padding: 8px 16px;
            border: 1px solid #121314;
            opacity: 0;
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            left: 50%;
            transform: translateX(-50%)
          }

          #vsvhome .vsv-copy-link .tooltip-hover .vsv-arrow-bottom {
            position: absolute;
            width: 0;
            height: 0;
            border-color: transparent;
            border-style: solid;
            bottom: 0;
            left: 50%;
            margin-left: -5px;
            border-width: 5px 5px 0;
            border-top-color: #FAFAFA
          }

          #vsvhome .vsv-copy-link .tooltip-hover .vsv-arrow-bottom:before {
            content: "";
            display: block;
            position: absolute;
            left: -6px;
            top: 0;
            width: 0;
            height: 0;
            border: 7px solid transparent;
            border-top-color: #121314
          }

          #vsvhome .vsv-copy-link .tooltip-hover .vsv-arrow-bottom:after {
            content: "";
            display: block;
            position: absolute;
            left: -5px;
            bottom: -12px;
            width: 0;
            height: 0;
            border: 6px solid transparent;
            border-top-color: #FAFAFA
          }

          #vsvhome .vsv-copy-link:hover .tooltip-hover {
            opacity: 1
          }

          #vsvhome .tooltip-inner {
            font-family: mango-light;
            color: #121314;
            font-size: 13px;
            line-height: 20px;
            letter-spacing: .3px;
            background-color: #FAFAFA;
            border-radius: 0;
            border: 1px solid #121314;
            padding: 8px 16px
          }

          #vsvhome .tooltip.bottom .tooltip-arrow {
            top: 0;
            left: 50%;
            margin-left: -5px;
            border-width: 0 5px 7px;
            border-bottom-color: #FAFAFA
          }

          #vsvhome .tooltip.bottom .tooltip-arrow:before {
            content: "";
            display: block;
            position: absolute;
            left: -6px;
            top: -8px;
            width: 0;
            height: 0;
            border: 7px solid transparent;
            border-bottom-color: #121314
          }

          #vsvhome .tooltip.bottom .tooltip-arrow:after {
            content: "";
            display: block;
            position: absolute;
            left: -5px;
            top: -6px;
            width: 0;
            height: 0;
            border: 6px solid transparent;
            border-bottom-color: #FAFAFA
          }

          #vsvhome .mejs-offscreen {
            position: absolute !important;
            top: -10000px;
            overflow: hidden;
            width: 1px;
            height: 1px
          }

          #vsvhome .mejs-container {
            position: relative;
            background: #000;
            font-family: Helvetica, Arial;
            text-align: left;
            vertical-align: top;
            text-indent: 0
          }

          #vsvhome .me-plugin {
            position: absolute
          }

          #vsvhome .mejs-embed,
          #vsvhome .mejs-embed body {
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 0;
            background: #000;
            overflow: hidden
          }

          #vsvhome .mejs-fullscreen {
            overflow: hidden !important
          }

          #vsvhome .mejs-container-fullscreen {
            position: fixed;
            left: 0;
            top: 0;
            right: 0;
            bottom: 0;
            overflow: hidden;
            z-index: 1000
          }

          #vsvhome .mejs-container-fullscreen .mejs-mediaelement,
          #vsvhome .mejs-container-fullscreen video {
            width: 100%;
            height: 100%
          }

          #vsvhome .mejs-clear {
            clear: both
          }

          #vsvhome .mejs-background {
            position: absolute;
            top: 0;
            left: 0
          }

          #vsvhome .mejs-mediaelement {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%
          }

          #vsvhome .mejs-poster {
            position: absolute;
            top: 0;
            left: 0;
            background-size: contain;
            background-position: 50% 50%;
            background-repeat: no-repeat
          }

          #vsvhome :root .mejs-poster img {
            display: none
          }

          #vsvhome .mejs-poster img {
            border: 0;
            padding: 0;
            border: 0
          }

          #vsvhome .mejs-overlay {
            position: absolute;
            top: 0;
            left: 0
          }

          #vsvhome .mejs-overlay-play {
            cursor: pointer
          }

          #vsvhome .mejs-overlay-button {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100px;
            height: 100px;
            margin: -50px 0 0 -50px;
            background: url(../images/bigplay.svg) no-repeat
          }

          #vsvhome .no-svg .mejs-overlay-button {
            background-image: url(../images/bigplay.png)
          }

          #vsvhome .mejs-overlay:hover .mejs-overlay-button {
            background-position: 0 -100px
          }

          #vsvhome .mejs-overlay-loading {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 80px;
            height: 80px;
            margin: -40px 0 0 -40px;
            background: #333;
            background: url(background.png);
            background: rgba(0, 0, 0, .9);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(50, 50, 50, .9)), to(rgba(0, 0, 0, .9)));
            background: -webkit-linear-gradient(top, rgba(50, 50, 50, .9), rgba(0, 0, 0, .9));
            background: -moz-linear-gradient(top, rgba(50, 50, 50, .9), rgba(0, 0, 0, .9));
            background: -o-linear-gradient(top, rgba(50, 50, 50, .9), rgba(0, 0, 0, .9));
            background: -ms-linear-gradient(top, rgba(50, 50, 50, .9), rgba(0, 0, 0, .9));
            background: linear-gradient(rgba(50, 50, 50, .9), rgba(0, 0, 0, .9))
          }

          #vsvhome .mejs-overlay-loading span {
            display: block;
            width: 80px;
            height: 80px;
            background: transparent
          }

          #vsvhome .mejs-container .mejs-controls {
            position: absolute;
            list-style-type: none;
            margin: 0;
            padding: 0;
            bottom: 0;
            left: 0;
            background: url(background.png);
            background: rgba(0, 0, 0, .7);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(50, 50, 50, .7)), to(rgba(0, 0, 0, .7)));
            background: -webkit-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: -moz-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: -o-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: -ms-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: linear-gradient(rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            height: 30px;
            width: 100%
          }

          #vsvhome .mejs-container .mejs-controls div {
            list-style-type: none;
            background-image: none;
            display: block;
            float: left;
            margin: 0;
            padding: 0;
            width: 26px;
            height: 26px;
            font-size: 11px;
            line-height: 11px;
            font-family: Helvetica, Arial;
            border: 0
          }

          #vsvhome .mejs-controls .mejs-button button {
            cursor: pointer;
            display: block;
            font-size: 0;
            line-height: 0;
            text-decoration: none;
            margin: 7px 5px;
            padding: 0;
            position: absolute;
            height: 16px;
            width: 16px;
            border: 0;
            background: transparent url(../images/controls.svg) no-repeat
          }

          #vsvhome .no-svg .mejs-controls .mejs-button button {
            background-image: url(../images/controls.svg)
          }

          #vsvhome .mejs-controls .mejs-button button:focus {
            outline: dotted 1px #999
          }

          #vsvhome .mejs-container .mejs-controls .mejs-time {
            color: #fff;
            display: block;
            height: 17px;
            width: auto;
            padding: 10px 3px 0 3px;
            overflow: hidden;
            text-align: center;
            -moz-box-sizing: content-box;
            -webkit-box-sizing: content-box;
            box-sizing: content-box
          }

          #vsvhome .mejs-container .mejs-controls .mejs-time a {
            color: #fff;
            font-size: 11px;
            line-height: 12px;
            display: block;
            float: left;
            margin: 1px 2px 0 0;
            width: auto
          }

          #vsvhome .mejs-controls .mejs-play button {
            background-position: 0 0
          }

          #vsvhome .mejs-controls .mejs-pause button {
            background-position: 0 -16px
          }

          #vsvhome .mejs-controls .mejs-stop button {
            background-position: -112px 0
          }

          #vsvhome .mejs-controls div.mejs-time-rail {
            direction: ltr;
            width: 200px;
            padding-top: 10px
          }

          #vsvhome .mejs-controls .mejs-time-rail span,
          #vsvhome .mejs-controls .mejs-time-rail a {
            display: block;
            position: absolute;
            width: 180px;
            height: 1px;
            -webkit-border-radius: 2px;
            -moz-border-radius: 2px;
            border-radius: 2px;
            cursor: pointer
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-total {
            margin: 5px;
            background: #333
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-buffering {
            width: 100%;
            -webkit-background-size: 15px 15px;
            -moz-background-size: 15px 15px;
            -o-background-size: 15px 15px;
            background-size: 15px 15px;
            -webkit-animation: buffering-stripes 2s linear infinite;
            -moz-animation: buffering-stripes 2s linear infinite;
            -ms-animation: buffering-stripes 2s linear infinite;
            -o-animation: buffering-stripes 2s linear infinite;
            animation: buffering-stripes 2s linear infinite
          }

          @-webkit-keyframes buffering-stripes {
            from {
              background-position: 0 0
            }

            to {
              background-position: 30px 0
            }
          }

          @-moz-keyframes buffering-stripes {
            from {
              background-position: 0 0
            }

            to {
              background-position: 30px 0
            }
          }

          @-ms-keyframes buffering-stripes {
            from {
              background-position: 0 0
            }

            to {
              background-position: 30px 0
            }
          }

          @-o-keyframes buffering-stripes {
            from {
              background-position: 0 0
            }

            to {
              background-position: 30px 0
            }
          }

          @keyframes buffering-stripes {
            from {
              background-position: 0 0
            }

            to {
              background-position: 30px 0
            }
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-loaded {
            background: #000
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-current {
            background: #fff;
            background: rgba(255, 255, 255, .8);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, .9)), to(rgba(200, 200, 200, .8)));
            background: -webkit-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: -moz-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: -o-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: -ms-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: linear-gradient(rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            width: 0
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-handle {
            display: none;
            position: absolute;
            margin: 0;
            width: 10px;
            background: #fff;
            -webkit-border-radius: 5px;
            -moz-border-radius: 5px;
            border-radius: 5px;
            cursor: pointer;
            border: solid 2px #333;
            top: -2px;
            text-align: center
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-float {
            position: absolute;
            display: none;
            background: #eee;
            width: 36px;
            height: 17px;
            border: solid 1px #333;
            top: -26px;
            margin-left: -18px;
            text-align: center;
            color: #111
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-float-current {
            margin: 2px;
            width: 30px;
            display: block;
            text-align: center;
            left: 0
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-float-corner {
            position: absolute;
            display: block;
            width: 0;
            height: 0;
            line-height: 0;
            border: solid 5px #eee;
            border-color: #eee transparent transparent transparent;
            -webkit-border-radius: 0;
            -moz-border-radius: 0;
            border-radius: 0;
            top: 15px;
            left: 13px
          }

          #vsvhome .mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float {
            width: 48px
          }

          #vsvhome .mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-current {
            width: 44px
          }

          #vsvhome .mejs-long-video .mejs-controls .mejs-time-rail .mejs-time-float-corner {
            left: 18px
          }

          #vsvhome .mejs-controls .mejs-fullscreen-button button {
            background-position: -32px 0
          }

          #vsvhome .mejs-controls .mejs-unfullscreen button {
            background-position: -32px -16px
          }

          #vsvhome .mejs-controls .mejs-mute button {
            background-position: -16px -16px
          }

          #vsvhome .mejs-controls .mejs-unmute button {
            background-position: -16px 0
          }

          #vsvhome .mejs-controls .mejs-volume-button {
            position: relative
          }

          #vsvhome .mejs-controls .mejs-volume-button .mejs-volume-slider {
            display: none;
            height: 115px;
            width: 25px;
            background: url(background.png);
            background: rgba(50, 50, 50, .7);
            -webkit-border-radius: 0;
            -moz-border-radius: 0;
            border-radius: 0;
            top: -115px;
            left: 0;
            z-index: 1;
            position: absolute;
            margin: 0
          }

          #vsvhome .mejs-controls .mejs-volume-button:hover {
            -webkit-border-radius: 0 0 4px 4px;
            -moz-border-radius: 0 0 4px 4px;
            border-radius: 0 0 4px 4px
          }

          #vsvhome .mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-total {
            position: absolute;
            left: 11px;
            top: 8px;
            width: 2px;
            height: 100px;
            background: #ddd;
            background: rgba(255, 255, 255, .5);
            margin: 0
          }

          #vsvhome .mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-current {
            position: absolute;
            left: 11px;
            top: 8px;
            width: 2px;
            height: 100px;
            background: #ddd;
            background: rgba(255, 255, 255, .9);
            margin: 0
          }

          #vsvhome .mejs-controls .mejs-volume-button .mejs-volume-slider .mejs-volume-handle {
            position: absolute;
            left: 4px;
            top: -3px;
            width: 16px;
            height: 6px;
            background: #ddd;
            background: rgba(255, 255, 255, .9);
            cursor: N-resize;
            -webkit-border-radius: 1px;
            -moz-border-radius: 1px;
            border-radius: 1px;
            margin: 0
          }

          #vsvhome .mejs-controls a.mejs-horizontal-volume-slider {
            height: 26px;
            width: 56px;
            position: relative;
            display: block;
            float: left;
            vertical-align: middle
          }

          #vsvhome .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-total {
            position: absolute;
            left: 0;
            top: 11px;
            width: 50px;
            height: 8px;
            margin: 0;
            padding: 0;
            font-size: 1px;
            -webkit-border-radius: 2px;
            -moz-border-radius: 2px;
            border-radius: 2px;
            background: #333;
            background: rgba(50, 50, 50, .8);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(30, 30, 30, .8)), to(rgba(60, 60, 60, .8)));
            background: -webkit-linear-gradient(top, rgba(30, 30, 30, .8), rgba(60, 60, 60, .8));
            background: -moz-linear-gradient(top, rgba(30, 30, 30, .8), rgba(60, 60, 60, .8));
            background: -o-linear-gradient(top, rgba(30, 30, 30, .8), rgba(60, 60, 60, .8));
            background: -ms-linear-gradient(top, rgba(30, 30, 30, .8), rgba(60, 60, 60, .8));
            background: linear-gradient(rgba(30, 30, 30, .8), rgba(60, 60, 60, .8))
          }

          #vsvhome .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-current {
            position: absolute;
            left: 0;
            top: 11px;
            width: 50px;
            height: 8px;
            margin: 0;
            padding: 0;
            font-size: 1px;
            -webkit-border-radius: 2px;
            -moz-border-radius: 2px;
            border-radius: 2px;
            background: #fff;
            background: rgba(255, 255, 255, .8);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(255, 255, 255, .9)), to(rgba(200, 200, 200, .8)));
            background: -webkit-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: -moz-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: -o-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: -ms-linear-gradient(top, rgba(255, 255, 255, .9), rgba(200, 200, 200, .8));
            background: linear-gradient(rgba(255, 255, 255, .9), rgba(200, 200, 200, .8))
          }

          #vsvhome .mejs-controls .mejs-horizontal-volume-slider .mejs-horizontal-volume-handle {
            display: none
          }

          #vsvhome .mejs-controls .mejs-captions-button {
            position: relative
          }

          #vsvhome .mejs-controls .mejs-captions-button button {
            background-position: -48px 0
          }

          #vsvhome .mejs-controls .mejs-captions-button .mejs-captions-selector {
            visibility: hidden;
            position: absolute;
            bottom: 26px;
            right: -51px;
            width: 85px;
            height: 100px;
            background: url(background.png);
            background: rgba(50, 50, 50, .7);
            border: solid 1px transparent;
            padding: 10px 10px 0 10px;
            overflow: hidden;
            -webkit-border-radius: 0;
            -moz-border-radius: 0;
            border-radius: 0
          }

          #vsvhome .mejs-controls .mejs-captions-button .mejs-captions-selector ul {
            margin: 0;
            padding: 0;
            display: block;
            list-style-type: none !important;
            overflow: hidden
          }

          #vsvhome .mejs-controls .mejs-captions-button .mejs-captions-selector ul li {
            margin: 0 0 6px 0;
            padding: 0;
            list-style-type: none !important;
            display: block;
            color: #fff;
            overflow: hidden
          }

          #vsvhome .mejs-controls .mejs-captions-button .mejs-captions-selector ul li input {
            clear: both;
            float: left;
            margin: 3px 3px 0 5px
          }

          #vsvhome .mejs-controls .mejs-captions-button .mejs-captions-selector ul li label {
            width: 55px;
            float: left;
            padding: 4px 0 0 0;
            line-height: 15px;
            font-family: helvetica, arial;
            font-size: 10px
          }

          #vsvhome .mejs-controls .mejs-captions-button .mejs-captions-translations {
            font-size: 10px;
            margin: 0 0 5px 0
          }

          #vsvhome .mejs-chapters {
            position: absolute;
            top: 0;
            left: 0;
            -xborder-right: solid 1px #fff;
            width: 10000px;
            z-index: 1
          }

          #vsvhome .mejs-chapters .mejs-chapter {
            position: absolute;
            float: left;
            background: #222;
            background: rgba(0, 0, 0, .7);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(50, 50, 50, .7)), to(rgba(0, 0, 0, .7)));
            background: -webkit-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: -moz-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: -o-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: -ms-linear-gradient(top, rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            background: linear-gradient(rgba(50, 50, 50, .7), rgba(0, 0, 0, .7));
            filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr=#323232, endColorstr=#000000);
            overflow: hidden;
            border: 0
          }

          #vsvhome .mejs-chapters .mejs-chapter .mejs-chapter-block {
            font-size: 11px;
            color: #fff;
            padding: 5px;
            display: block;
            border-right: solid 1px #333;
            border-bottom: solid 1px #333;
            cursor: pointer
          }

          #vsvhome .mejs-chapters .mejs-chapter .mejs-chapter-block-last {
            border-right: none
          }

          #vsvhome .mejs-chapters .mejs-chapter .mejs-chapter-block:hover {
            background: #666;
            background: rgba(102, 102, 102, .7);
            background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(102, 102, 102, .7)), to(rgba(50, 50, 50, .6)));
            background: -webkit-linear-gradient(top, rgba(102, 102, 102, .7), rgba(50, 50, 50, .6));
            background: -moz-linear-gradient(top, rgba(102, 102, 102, .7), rgba(50, 50, 50, .6));
            background: -o-linear-gradient(top, rgba(102, 102, 102, .7), rgba(50, 50, 50, .6));
            background: -ms-linear-gradient(top, rgba(102, 102, 102, .7), rgba(50, 50, 50, .6));
            background: linear-gradient(rgba(102, 102, 102, .7), rgba(50, 50, 50, .6));
            filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, startColorstr=#666666, endColorstr=#323232)
          }

          #vsvhome .mejs-chapters .mejs-chapter .mejs-chapter-block .ch-title {
            font-size: 12px;
            font-weight: 700;
            display: block;
            white-space: nowrap;
            text-overflow: ellipsis;
            margin: 0 0 3px 0;
            line-height: 12px
          }

          #vsvhome .mejs-chapters .mejs-chapter .mejs-chapter-block .ch-timespan {
            font-size: 12px;
            line-height: 12px;
            margin: 3px 0 4px 0;
            display: block;
            white-space: nowrap;
            text-overflow: ellipsis
          }

          #vsvhome .mejs-captions-layer {
            position: absolute;
            bottom: 0;
            left: 0;
            text-align: center;
            line-height: 20px;
            font-size: 16px;
            color: #fff
          }

          #vsvhome .mejs-captions-layer a {
            color: #fff;
            text-decoration: underline
          }

          #vsvhome .mejs-captions-layer[lang=ar] {
            font-size: 20px;
            font-weight: 400
          }

          #vsvhome .mejs-captions-position {
            position: absolute;
            width: 100%;
            bottom: 15px;
            left: 0
          }

          #vsvhome .mejs-captions-position-hover {
            bottom: 35px
          }

          #vsvhome .mejs-captions-text {
            padding: 3px 5px;
            background: url(background.png);
            background: rgba(20, 20, 20, .5);
            white-space: pre-wrap
          }

          #vsvhome .me-cannotplay a {
            color: #fff;
            font-weight: 700
          }

          #vsvhome .me-cannotplay span {
            padding: 15px;
            display: block
          }

          #vsvhome .mejs-controls .mejs-loop-off button {
            background-position: -64px -16px
          }

          #vsvhome .mejs-controls .mejs-loop-on button {
            background-position: -64px 0
          }

          #vsvhome .mejs-controls .mejs-backlight-off button {
            background-position: -80px -16px
          }

          #vsvhome .mejs-controls .mejs-backlight-on button {
            background-position: -80px 0
          }

          #vsvhome .mejs-controls .mejs-picturecontrols-button {
            background-position: -96px 0
          }

          #vsvhome .mejs-contextmenu {
            position: absolute;
            width: 150px;
            padding: 10px;
            border-radius: 4px;
            top: 0;
            left: 0;
            background: #fff;
            border: solid 1px #999;
            z-index: 1001
          }

          #vsvhome .mejs-contextmenu .mejs-contextmenu-separator {
            height: 1px;
            font-size: 0;
            margin: 5px 6px;
            background: #333
          }

          #vsvhome .mejs-contextmenu .mejs-contextmenu-item {
            font-family: Helvetica, Arial;
            font-size: 12px;
            padding: 4px 6px;
            cursor: pointer;
            color: #333
          }

          #vsvhome .mejs-contextmenu .mejs-contextmenu-item:hover {
            background: #2C7C91;
            color: #fff
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button {
            position: relative
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button button {
            background-position: -128px 0
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector {
            visibility: hidden;
            position: absolute;
            bottom: 26px;
            right: -10px;
            width: 130px;
            height: 100px;
            background: url(background.png);
            background: rgba(50, 50, 50, .7);
            border: solid 1px transparent;
            padding: 10px;
            overflow: hidden;
            -webkit-border-radius: 0;
            -moz-border-radius: 0;
            border-radius: 0
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul {
            margin: 0;
            padding: 0;
            display: block;
            list-style-type: none !important;
            overflow: hidden
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li {
            margin: 0 0 6px 0;
            padding: 0;
            list-style-type: none !important;
            display: block;
            color: #fff;
            overflow: hidden
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li input {
            clear: both;
            float: left;
            margin: 3px 3px 0 5px
          }

          #vsvhome .mejs-controls .mejs-sourcechooser-button .mejs-sourcechooser-selector ul li label {
            width: 100px;
            float: left;
            padding: 4px 0 0 0;
            line-height: 15px;
            font-family: helvetica, arial;
            font-size: 10px
          }

          #vsvhome .mejs-postroll-layer {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url(background.png);
            background: rgba(50, 50, 50, .7);
            z-index: 1000;
            overflow: hidden
          }

          #vsvhome .mejs-postroll-layer-content {
            width: 100%;
            height: 100%
          }

          #vsvhome .mejs-postroll-close {
            position: absolute;
            right: 0;
            top: 0;
            background: url(background.png);
            background: rgba(50, 50, 50, .7);
            color: #fff;
            padding: 4px;
            z-index: 100;
            cursor: pointer
          }

          #vsvhome div.mejs-speed-button {
            width: 46px !important;
            position: relative
          }

          #vsvhome .mejs-controls .mejs-button.mejs-speed-button button {
            background: transparent;
            width: 36px;
            font-size: 11px;
            line-height: normal;
            color: #fff
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector {
            visibility: hidden;
            position: absolute;
            top: -100px;
            left: -10px;
            width: 60px;
            height: 100px;
            background: url(background.png);
            background: rgba(50, 50, 50, .7);
            border: solid 1px transparent;
            padding: 0;
            overflow: hidden;
            -webkit-border-radius: 0;
            -moz-border-radius: 0;
            border-radius: 0
          }

          #vsvhome .mejs-controls .mejs-speed-button:hover>.mejs-speed-selector {
            visibility: visible
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector ul li label.mejs-speed-selected {
            color: rgb(33, 248, 248)
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector ul {
            margin: 0;
            padding: 0;
            display: block;
            list-style-type: none !important;
            overflow: hidden
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector ul li {
            margin: 0 0 6px 0;
            padding: 0 10px;
            list-style-type: none !important;
            display: block;
            color: #fff;
            overflow: hidden
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector ul li input {
            clear: both;
            float: left;
            margin: 3px 3px 0 5px;
            display: none
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector ul li label {
            width: 60px;
            float: left;
            padding: 4px 0 0 0;
            line-height: 15px;
            font-family: helvetica, arial;
            font-size: 11.5px;
            color: #fff;
            margin-left: 5px;
            cursor: pointer
          }

          #vsvhome .mejs-controls .mejs-speed-button .mejs-speed-selector ul li:hover {
            background-color: rgb(200, 200, 200) !important;
            background-color: rgba(255, 255, 255, .4) !important
          }

          #vsvhome .mejs-controls .mejs-button.mejs-skip-back-button {
            background: transparent url(skipback.png) no-repeat;
            background-position: 3px 3px
          }

          #vsvhome .mejs-controls .mejs-button.mejs-skip-back-button button {
            background: transparent;
            font-size: 9px;
            line-height: normal;
            color: #fff
          }

          #vsvhome .price>a span {
            font-size: 13px;
            line-height: 13px;
            letter-spacing: .3px
          }

          #vsvhome .vsv-cover-video {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            cursor: default;
            background: #fff;
            background-size: cover;
            background-position: top center;
            background-repeat: no-repeat;
            font-family: mango-bold;
            font-size: 19px;
            color: #fff;
            overflow: hidden;
            z-index: 1
          }

          #vsvhome .vsv-cover-video video {
            position: absolute
          }

          #vsvhome .vsv-cover-video .overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: #000;
            opacity: .7
          }

          #vsvhome .vsv-cover-video .overlay {
            cursor: pointer
          }

          #vsvhome .vsv-cover-video .vsv-play-bt {
            position: absolute;
            top: 0;
            left: 0;
            text-align: center;
            right: 0;
            bottom: 0;
            margin: 0 auto
          }

          #vsvhome .vsv-cover-video .vsv-play-bt svg path,
          #vsvhome .vsv-cover-video .vsv-play-bt svg+span {
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
          }

          #vsvhome .vsv-cover-video .vsv-play-bt:hover svg path {
            fill: #6d6f71
          }

          #vsvhome .vsv-cover-video .vsv-play-bt:hover svg+span {
            color: #6d6f71
          }

          #vsvhome .vsv-cover-video .vsv-play-bt .vsv-play-bt-inner {
            display: inline-block;
            vertical-align: middle
          }

          #vsvhome .vsv-cover-video .vsv-play-bt .vsv-play-layer-ico {
            width: 60px;
            cursor: pointer
          }

          #vsvhome .vsv-cover-video .vsv-play-bt .vsv-play-layer-ico path {
            fill: #fff
          }

          #vsvhome .vsv-cover-video .vsv-play-bt img {
            display: block;
            margin: 0 auto;
            width: 60px;
            height: 60px;
            margin-bottom: 10px
          }

          #vsvhome .vsv-cover-video .vsv-play-bt span {
            display: block;
            margin: 0 auto;
            z-index: 1
          }

          #vsvhome .vsv-cover-video .vsv-play-bt.vsv-play-js:after {
            content: "";
            position: relative;
            height: 100%;
            vertical-align: middle;
            display: inline-block
          }

          #vsvhome .mejs-container .mejs-controls {
            width: 100%;
            right: 0;
            margin: 0 auto 0 auto;
            background: rgba(0, 0, 0, .7);
            height: 50px
          }

          #vsvhome .mejs-container .mejs-controls.mejs-offscreen {
            clip-path: none !important;
            clip: auto !important
          }

          #vsvhome .mejs-controls a,
          #vsvhome .mejs-controls .mejs-button button:focus {
            outline: none
          }

          #vsvhome .mejs-volume-slider,
          #vsvhome .mejs-time.mejs-duration-container,
          #vsvhome .mejs-time.mejs-currenttime-container {
            display: none !important
          }

          #vsvhome .mejs-overlay {
            position: static;
            top: auto;
            left: auto
          }

          #vsvhome .mejs-overlay-loading {
            display: none
          }

          #vsvhome .mejs-overlay-button path {
            fill: #fff
          }

          #vsvhome .mejs-overlay:hover .mejs-overlay-button {
            background-position: 0 0
          }

          #vsvhome .mejs-controls .mejs-time-rail div {
            height: 3px
          }

          #vsvhome .mejs-controls .mejs-time-rail a,
          #vsvhome .mejs-controls .mejs-time-rail span {
            height: 3px;
            -webkit-border-radius: 0;
            -moz-border-radius: 0;
            border-radius: 0;
            position: absolute;
            top: 0;
            left: 0
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-loaded {
            background-color: rgba(255, 255, 255, .4) !important
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-float {
            border: none;
            top: -20px;
            margin-left: -10px;
            color: #FFF;
            font-size: 9px;
            letter-spacing: 1px;
            font-family: GothamBook;
            background: none
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-float .mejs-time-float-corner {
            display: none !important
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-total {
            background-color: rgba(155, 155, 155, .2) !important
          }

          #vsvhome .mejs-controls .mejs-volume-button {
            position: absolute;
            width: 62px !important;
            top: 14px !important;
            right: 98px
          }

          #vsvhome .mejs-controls .mejs-volume-button button {
            opacity: 0;
            width: 45px
          }

          #vsvhome .mejs-controls .mejs-volume-button .label-mejs-volume-button {
            display: block;
            margin: 7px 10px 0 0;
            font-family: mango-regular;
            font-size: 10px;
            color: #fff;
            cursor: pointer;
            width: 52px
          }

          #vsvhome .mejs-controls .mejs-volume-button:after {
            content: "";
            position: absolute;
            right: 0;
            height: 15px;
            width: 1px;
            background: #fff;
            top: 0;
            bottom: 0;
            margin: auto
          }

          #vsvhome .mejs-controls .mejs-captions-button {
            position: absolute;
            width: auto !important;
            top: 13px !important;
            right: 245px;
            padding-right: 28px !important
          }

          #vsvhome .mejs-controls .mejs-captions-button:after {
            content: "";
            position: absolute;
            right: 0;
            height: 15px;
            width: 1px;
            background: #fff;
            top: 0;
            bottom: 0;
            margin: auto
          }

          #vsvhome .mejs-controls .mejs-captions-button button {
            display: block;
            margin: 5px 10px 0 0;
            font-family: mango-regular;
            font-size: 10px;
            color: #fff;
            cursor: pointer
          }

          #vsvhome .mejs-controls .mejs-fullscreen-button {
            position: absolute;
            width: auto !important;
            top: 14px !important;
            right: 170px
          }

          #vsvhome .mejs-controls .mejs-fullscreen-button button {
            display: none
          }

          #vsvhome .mejs-controls .mejs-fullscreen-button .label-mejs-fullscreen-button {
            display: block;
            margin: 7px 10px 0 0;
            font-family: mango-regular;
            font-size: 10px;
            color: #fff;
            cursor: pointer
          }

          #vsvhome .mejs-controls .mejs-fullscreen-button .label-state-mejs-volume-button {
            font-family: MangoSans-BoldRegular;
            font-size: 10px;
            color: #fff
          }

          #vsvhome .mejs-controls .mejs-fullscreen-button:after {
            content: "";
            position: absolute;
            right: 0;
            height: 15px;
            width: 1px;
            background: #fff;
            top: 0;
            bottom: 0;
            margin: auto
          }

          #vsvhome .mejs-time-rail .mejs-time-current {
            background: #fff !important
          }

          #vsvhome .mejs-fullscreen-button:hover .label-mejs-fullscreen-button,
          #vsvhome .mejs-volume-button:hover .label-mejs-volume-button,
          #vsvhome .mejs-playpause-button:hover .label-mejs-playpause-button {
            color: #6D6F71 !important;
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
          }

          #vsvhome .mejs-poster.mejs-layer {
            background-size: cover
          }

          #vsvhome .mejs-controls .mejs-time-rail {
            position: absolute;
            top: 0;
            left: 0;
            height: 3px !important
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-total {
            margin: 0 0 0 0;
            background: #333
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-buffering {
            width: 100%;
            -webkit-background-size: 15px 15px;
            -moz-background-size: 15px 15px;
            -o-background-size: 15px 15px;
            background-size: 15px 15px;
            -webkit-animation: buffering-stripes 2s linear infinite;
            -moz-animation: buffering-stripes 2s linear infinite;
            -ms-animation: buffering-stripes 2s linear infinite;
            -o-animation: buffering-stripes 2s linear infinite;
            animation: buffering-stripes 2s linear infinite
          }

          #vsvhome .mejs-controls .mejs-time-rail .mejs-time-loaded {
            background: #000
          }

          #vsvhome .mejs-controls .mejs-button.mejs-playpause-button {
            top: 11px;
            left: 25px;
            position: absolute
          }

          #vsvhome .mejs-controls .mejs-button.mejs-playpause-button .label-mejs-playpause-button {
            position: absolute;
            left: 30px;
            top: 10px;
            cursor: pointer;
            font-family: mango-regular;
            font-size: 10px;
            color: #fff
          }

          #vsvhome .mejs-container .mejs-controls div.vsv-photo-share,
          #vsvhome .mejs-container .mejs-controls div.vsv-photo-share div,
          #vsvhome .mejs-container .mejs-controls .video-share-wrapper {
            list-style-type: none;
            background-image: none;
            display: inline-block;
            float: none;
            margin: 0;
            padding: 0;
            width: auto;
            height: auto;
            font-size: 15px;
            line-height: normal;
            cursor: pointer;
            color: #fff;
            border: 0
          }

          #vsvhome #vshecatalogo .mejs-controls .vsv-video-share .share-this {
            display: none !important
          }

          #vsvhome .mejs-controls .video-share-wrapper {
            width: 65px !important;
            right: 23px;
            top: 19px;
            position: absolute
          }

          #vsvhome .mejs-controls .video-share-wrapper .video-share-overlay {
            position: absolute;
            background: transparent;
            z-index: 1;
            width: 61px;
            height: 18px;
            font-family: mango-regular;
            font-size: 11px;
            line-height: 16px
          }

          #vsvhome .mejs-container .mejs-controls div.vsv-video-share {
            width: 65px
          }

          #vsvhome .mejs-container .mejs-controls div.vsv-video-share .vsv-social-icons {
            visibility: hidden
          }

          #vsvhome .mejs-container .mejs-controls div.vsv-video-share .social-icon {
            margin-right: 5px;
            font-family: iconosNew !important
          }

          #vsvhome .mejs-poster img {
            visibility: hidden
          }

          #vsvhome .video-mediaelement {
            position: relative;
            overflow: hidden;
            direction: ltr
          }

          #vsvhome .videoBackgroundNone {
            background: none !important;
            background-image: none !important
          }

          #vsvhome .vsv-introVideo {
            width: 100%;
            height: 100%;
            position: absolute;
            z-index: 5;
            background: #000;
            opacity: 1;
            top: 0%
          }

          @media (min-width:768px) and (max-width:1024px) and (orientation:portrait) {
            #vsvhome .vsv-cover-video .vsv-play-bt {
              direction: rtl
            }

            #vsvhome .vsv-cover-video .vsv-play-bt .vsv-play-layer-ico {
              width: 25px;
              margin: 0 10px;
              float: right
            }

            #vsvhome .vsv-cover-video .vsv-play-bt span {
              font-family: mango-regular;
              font-size: 12px;
              line-height: 25px;
              float: left
            }
          }

          @media (min-width:1px) and (max-width:767px) {
            #vsvhome .vsv-cover-video .vsv-play-bt {
              direction: rtl
            }

            #vsvhome .vsv-cover-video .vsv-play-bt .vsv-play-layer-ico {
              width: 25px;
              margin: 0 10px;
              float: right
            }

            #vsvhome .vsv-cover-video .vsv-play-bt span {
              font-family: mango-regular;
              font-size: 12px;
              line-height: 25px;
              float: left
            }
          }

          #vsvhome html,
          #vsvhome body,
          #vsvhome div,
          #vsvhome span,
          #vsvhome applet,
          #vsvhome object,
          #vsvhome iframe,
          #vsvhome h1,
          #vsvhome h2,
          #vsvhome h3,
          #vsvhome h4,
          #vsvhome h5,
          #vsvhome h6,
          #vsvhome p,
          #vsvhome blockquote,
          #vsvhome pre,
          #vsvhome a,
          #vsvhome abbr,
          #vsvhome acronym,
          #vsvhome address,
          #vsvhome big,
          #vsvhome cite,
          #vsvhome code,
          #vsvhome del,
          #vsvhome dfn,
          #vsvhome em,
          #vsvhome img,
          #vsvhome ins,
          #vsvhome kbd,
          #vsvhome q,
          #vsvhome s,
          #vsvhome samp,
          #vsvhome small,
          #vsvhome strike,
          #vsvhome strong,
          #vsvhome sub,
          #vsvhome sup,
          #vsvhome tt,
          #vsvhome var,
          #vsvhome b,
          #vsvhome u,
          #vsvhome i,
          #vsvhome center,
          #vsvhome dl,
          #vsvhome dt,
          #vsvhome dd,
          #vsvhome ol,
          #vsvhome ul,
          #vsvhome li,
          #vsvhome fieldset,
          #vsvhome form,
          #vsvhome label,
          #vsvhome legend,
          #vsvhome table,
          #vsvhome caption,
          #vsvhome tbody,
          #vsvhome tfoot,
          #vsvhome thead,
          #vsvhome tr,
          #vsvhome th,
          #vsvhome td,
          #vsvhome article,
          #vsvhome aside,
          #vsvhome canvas,
          #vsvhome details,
          #vsvhome embed,
          #vsvhome figure,
          #vsvhome figcaption,
          #vsvhome footer,
          #vsvhome header,
          #vsvhome hgroup,
          #vsvhome menu,
          #vsvhome nav,
          #vsvhome output,
          #vsvhome ruby,
          #vsvhome section,
          #vsvhome summary,
          #vsvhome time,
          #vsvhome mark,
          #vsvhome audio,
          #vsvhome video {
            margin: 0;
            padding: 0;
            border: 0;
            box-sizing: border-box;
            font-size: 100%;
            font: inherit;
            vertical-align: baseline
          }

          #vsvhome article,
          #vsvhome aside,
          #vsvhome details,
          #vsvhome figcaption,
          #vsvhome figure,
          #vsvhome footer,
          #vsvhome header,
          #vsvhome hgroup,
          #vsvhome menu,
          #vsvhome nav,
          #vsvhome section {
            display: block
          }

          #vsvhome body {
            line-height: 1
          }

          #vsvhome ol,
          #vsvhome ul {
            list-style: none
          }

          #vsvhome blockquote,
          #vsvhome q {
            quotes: none
          }

          #vsvhome blockquote:before,
          #vsvhome blockquote:after,
          #vsvhome q:before,
          #vsvhome q:after {
            content: "";
            content: none
          }

          #vsvhome table {
            border-collapse: collapse;
            border-spacing: 0
          }

          #vsvhome .swiper-container {
            margin: 0 auto;
            position: relative;
            overflow: hidden;
            list-style: none;
            padding: 0;
            z-index: 1
          }

          #vsvhome .swiper-container-no-flexbox .swiper-slide {
            float: left
          }

          #vsvhome .swiper-container-vertical>.swiper-wrapper {
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column
          }

          #vsvhome .swiper-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            z-index: 1;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-transition-property: -webkit-transform;
            transition-property: -webkit-transform;
            -o-transition-property: transform;
            transition-property: transform;
            transition-property: transform, -webkit-transform;
            -webkit-box-sizing: content-box;
            box-sizing: content-box
          }

          #vsvhome .swiper-container-android .swiper-slide,
          #vsvhome .swiper-wrapper {
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0)
          }

          #vsvhome .swiper-container-multirow>.swiper-wrapper {
            -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap
          }

          #vsvhome .swiper-container-free-mode>.swiper-wrapper {
            -webkit-transition-timing-function: ease-out;
            -o-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
            margin: 0 auto
          }

          #vsvhome .swiper-container-free-mode>.swiper-wrapper .img-responsive {
            display: inline-block
          }

          #vsvhome .swiper-slide {
            -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
            flex-shrink: 0;
            width: 100%;
            height: 100%;
            position: relative;
            -webkit-transition-property: -webkit-transform;
            transition-property: -webkit-transform;
            -o-transition-property: transform;
            transition-property: transform;
            transition-property: transform, -webkit-transform
          }

          #vsvhome .swiper-invisible-blank-slide {
            visibility: hidden
          }

          #vsvhome .swiper-container-autoheight,
          #vsvhome .swiper-container-autoheight .swiper-slide {
            height: auto
          }

          #vsvhome .swiper-container-autoheight .swiper-wrapper {
            -webkit-box-align: start;
            -webkit-align-items: flex-start;
            -ms-flex-align: start;
            align-items: flex-start;
            -webkit-transition-property: height, -webkit-transform;
            transition-property: height, -webkit-transform;
            -o-transition-property: transform, height;
            transition-property: transform, height;
            transition-property: transform, height, -webkit-transform
          }

          #vsvhome .swiper-container-3d {
            -webkit-perspective: 1200px;
            perspective: 1200px
          }

          #vsvhome .swiper-container-3d .swiper-wrapper,
          #vsvhome .swiper-container-3d .swiper-slide,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-left,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-right,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-top,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-bottom,
          #vsvhome .swiper-container-3d .swiper-cube-shadow {
            -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d
          }

          #vsvhome .swiper-container-3d .swiper-slide-shadow-left,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-right,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-top,
          #vsvhome .swiper-container-3d .swiper-slide-shadow-bottom {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 10
          }

          #vsvhome .swiper-container-3d .swiper-slide-shadow-left {
            background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
            background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: -o-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
          }

          #vsvhome .swiper-container-3d .swiper-slide-shadow-right {
            background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
            background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
          }

          #vsvhome .swiper-container-3d .swiper-slide-shadow-top {
            background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
            background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
          }

          #vsvhome .swiper-container-3d .swiper-slide-shadow-bottom {
            background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
            background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: -o-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
            background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
          }

          #vsvhome .swiper-container-wp8-horizontal,
          #vsvhome .swiper-container-wp8-horizontal>.swiper-wrapper {
            -ms-touch-action: pan-y;
            touch-action: pan-y
          }

          #vsvhome .swiper-container-wp8-vertical,
          #vsvhome .swiper-container-wp8-vertical>.swiper-wrapper {
            -ms-touch-action: pan-x;
            touch-action: pan-x
          }

          #vsvhome .swiper-button-prev,
          #vsvhome .swiper-button-next {
            position: absolute;
            top: 50%;
            width: 27px;
            height: 44px;
            margin-top: -22px;
            z-index: 10;
            cursor: pointer;
            background-size: 27px 44px;
            background-position: center;
            background-repeat: no-repeat
          }

          #vsvhome .swiper-button-prev.swiper-button-disabled,
          #vsvhome .swiper-button-next.swiper-button-disabled {
            opacity: .35;
            cursor: auto;
            pointer-events: none
          }

          #vsvhome .swiper-button-prev,
          #vsvhome .swiper-container-rtl .swiper-button-next {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
            left: 10px;
            right: auto
          }

          #vsvhome .swiper-button-next,
          #vsvhome .swiper-container-rtl .swiper-button-prev {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
            right: 10px;
            left: auto
          }

          #vsvhome .swiper-button-prev.swiper-button-white,
          #vsvhome .swiper-container-rtl .swiper-button-next.swiper-button-white {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
          }

          #vsvhome .swiper-button-next.swiper-button-white,
          #vsvhome .swiper-container-rtl .swiper-button-prev.swiper-button-white {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")
          }

          #vsvhome .swiper-button-prev.swiper-button-black,
          #vsvhome .swiper-container-rtl .swiper-button-next.swiper-button-black {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
          }

          #vsvhome .swiper-button-next.swiper-button-black,
          #vsvhome .swiper-container-rtl .swiper-button-prev.swiper-button-black {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")
          }

          #vsvhome .swiper-button-lock {
            display: none
          }

          #vsvhome .swiper-pagination {
            position: absolute;
            text-align: center;
            -webkit-transition: 300ms opacity;
            -o-transition: 300ms opacity;
            transition: 300ms opacity;
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
            z-index: 10
          }

          #vsvhome .swiper-pagination.swiper-pagination-hidden {
            opacity: 0
          }

          #vsvhome .swiper-pagination-fraction,
          #vsvhome .swiper-pagination-custom,
          #vsvhome .swiper-container-horizontal>.swiper-pagination-bullets {
            bottom: 10px;
            left: 0;
            width: 100%
          }

          #vsvhome .swiper-pagination-bullets-dynamic {
            overflow: hidden;
            font-size: 0
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
            -webkit-transform: scale(.33);
            -ms-transform: scale(.33);
            transform: scale(.33);
            position: relative
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
            -webkit-transform: scale(1);
            -ms-transform: scale(1);
            transform: scale(1)
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
            -webkit-transform: scale(1);
            -ms-transform: scale(1);
            transform: scale(1)
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
            -webkit-transform: scale(.66);
            -ms-transform: scale(.66);
            transform: scale(.66)
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
            -webkit-transform: scale(.33);
            -ms-transform: scale(.33);
            transform: scale(.33)
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
            -webkit-transform: scale(.66);
            -ms-transform: scale(.66);
            transform: scale(.66)
          }

          #vsvhome .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
            -webkit-transform: scale(.33);
            -ms-transform: scale(.33);
            transform: scale(.33)
          }

          #vsvhome .swiper-pagination-bullet {
            width: 8px;
            height: 8px;
            display: inline-block;
            border-radius: 100%;
            background: #000;
            opacity: .2
          }

          #vsvhome button.swiper-pagination-bullet {
            border: none;
            margin: 0;
            padding: 0;
            -webkit-box-shadow: none;
            box-shadow: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none
          }

          #vsvhome .swiper-pagination-clickable .swiper-pagination-bullet {
            cursor: pointer
          }

          #vsvhome .swiper-pagination-bullet-active {
            opacity: 1;
            background: #007aff
          }

          #vsvhome .swiper-container-vertical>.swiper-pagination-bullets {
            right: 10px;
            top: 50%;
            -webkit-transform: translate3d(0, -50%, 0);
            transform: translate3d(0, -50%, 0)
          }

          #vsvhome .swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
            margin: 6px 0;
            display: block
          }

          #vsvhome .swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
            top: 50%;
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            transform: translateY(-50%);
            width: 8px
          }

          #vsvhome .swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
            display: inline-block;
            -webkit-transition: 200ms top, 200ms -webkit-transform;
            transition: 200ms top, 200ms -webkit-transform;
            -o-transition: 200ms transform, 200ms top;
            transition: 200ms transform, 200ms top;
            transition: 200ms transform, 200ms top, 200ms -webkit-transform
          }

          #vsvhome .swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
            margin: 0 4px
          }

          #vsvhome .swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
            left: 50%;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            white-space: nowrap
          }

          #vsvhome .swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
            -webkit-transition: 200ms left, 200ms -webkit-transform;
            transition: 200ms left, 200ms -webkit-transform;
            -o-transition: 200ms transform, 200ms left;
            transition: 200ms transform, 200ms left;
            transition: 200ms transform, 200ms left, 200ms -webkit-transform
          }

          #vsvhome .swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
            -webkit-transition: 200ms right, 200ms -webkit-transform;
            transition: 200ms right, 200ms -webkit-transform;
            -o-transition: 200ms transform, 200ms right;
            transition: 200ms transform, 200ms right;
            transition: 200ms transform, 200ms right, 200ms -webkit-transform
          }

          #vsvhome .swiper-pagination-progressbar {
            background: rgba(0, 0, 0, .25);
            position: absolute
          }

          #vsvhome .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
            background: #007aff;
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            -webkit-transform: scale(0);
            -ms-transform: scale(0);
            transform: scale(0);
            -webkit-transform-origin: left top;
            -ms-transform-origin: left top;
            transform-origin: left top
          }

          #vsvhome .swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
            -webkit-transform-origin: right top;
            -ms-transform-origin: right top;
            transform-origin: right top
          }

          #vsvhome .swiper-container-horizontal>.swiper-pagination-progressbar,
          #vsvhome .swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
            width: 100%;
            height: 4px;
            left: 0;
            top: 0
          }

          #vsvhome .swiper-container-vertical>.swiper-pagination-progressbar,
          #vsvhome .swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
            width: 4px;
            height: 100%;
            left: 0;
            top: 0
          }

          #vsvhome .swiper-pagination-white .swiper-pagination-bullet-active {
            background: #fff
          }

          #vsvhome .swiper-pagination-progressbar.swiper-pagination-white {
            background: rgba(255, 255, 255, .25)
          }

          #vsvhome .swiper-pagination-progressbar.swiper-pagination-white .swiper-pagination-progressbar-fill {
            background: #fff
          }

          #vsvhome .swiper-pagination-black .swiper-pagination-bullet-active {
            background: #000
          }

          #vsvhome .swiper-pagination-progressbar.swiper-pagination-black {
            background: rgba(0, 0, 0, .25)
          }

          #vsvhome .swiper-pagination-progressbar.swiper-pagination-black .swiper-pagination-progressbar-fill {
            background: #000
          }

          #vsvhome .swiper-pagination-lock {
            display: none
          }

          #vsvhome .swiper-scrollbar {
            border-radius: 10px;
            position: relative;
            -ms-touch-action: none;
            background: rgba(0, 0, 0, .1)
          }

          #vsvhome .swiper-container-horizontal>.swiper-scrollbar {
            position: absolute;
            left: 1%;
            bottom: 3px;
            z-index: 50;
            height: 5px;
            width: 98%
          }

          #vsvhome .swiper-container-vertical>.swiper-scrollbar {
            position: absolute;
            right: 3px;
            top: 1%;
            z-index: 50;
            width: 5px;
            height: 98%
          }

          #vsvhome .swiper-scrollbar-drag {
            height: 100%;
            width: 100%;
            position: relative;
            background: rgba(0, 0, 0, .5);
            border-radius: 10px;
            left: 0;
            top: 0
          }

          #vsvhome .swiper-scrollbar-cursor-drag {
            cursor: move
          }

          #vsvhome .swiper-scrollbar-lock {
            display: none
          }

          #vsvhome .swiper-zoom-container {
            width: 100%;
            height: 100%;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: center;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
            -webkit-box-align: center;
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            text-align: center
          }

          #vsvhome .swiper-zoom-container>img,
          #vsvhome .swiper-zoom-container>svg,
          #vsvhome .swiper-zoom-container>canvas {
            max-width: 100%;
            max-height: 100%;
            -o-object-fit: contain;
            object-fit: contain
          }

          #vsvhome .swiper-slide-zoomed {
            cursor: move
          }

          #vsvhome .swiper-lazy-preloader {
            width: 42px;
            height: 42px;
            position: absolute;
            left: 50%;
            top: 50%;
            margin-left: -21px;
            margin-top: -21px;
            z-index: 10;
            -webkit-transform-origin: 50%;
            -ms-transform-origin: 50%;
            transform-origin: 50%;
            -webkit-animation: swiper-preloader-spin 1s steps(12, end) infinite;
            animation: swiper-preloader-spin 1s steps(12, end) infinite
          }

          #vsvhome .swiper-lazy-preloader:after {
            display: block;
            content: "";
            width: 100%;
            height: 100%;
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
            background-position: 50%;
            background-size: 100%;
            background-repeat: no-repeat
          }

          #vsvhome .swiper-lazy-preloader-white:after {
            background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")
          }

          @-webkit-keyframes swiper-preloader-spin {
            100% {
              -webkit-transform: rotate(360deg);
              transform: rotate(360deg)
            }
          }

          @keyframes swiper-preloader-spin {
            100% {
              -webkit-transform: rotate(360deg);
              transform: rotate(360deg)
            }
          }

          #vsvhome .swiper-container .swiper-notification {
            position: absolute;
            left: 0;
            top: 0;
            pointer-events: none;
            opacity: 0;
            z-index: -1000
          }

          #vsvhome .swiper-container-fade.swiper-container-free-mode .swiper-slide {
            -webkit-transition-timing-function: ease-out;
            -o-transition-timing-function: ease-out;
            transition-timing-function: ease-out
          }

          #vsvhome .swiper-container-fade .swiper-slide {
            pointer-events: none;
            -webkit-transition-property: opacity;
            -o-transition-property: opacity;
            transition-property: opacity;
            height: initial
          }

          #vsvhome .swiper-container-fade .swiper-slide .swiper-slide {
            pointer-events: none
          }

          #vsvhome .swiper-container-fade .swiper-slide-active,
          #vsvhome .swiper-container-fade .swiper-slide-active .swiper-slide-active {
            pointer-events: auto
          }

          #vsvhome .swiper-container-cube {
            overflow: visible
          }

          #vsvhome .swiper-container-cube .swiper-slide {
            pointer-events: none;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            z-index: 1;
            visibility: hidden;
            -webkit-transform-origin: 0 0;
            -ms-transform-origin: 0 0;
            transform-origin: 0 0;
            width: 100%;
            height: 100%
          }

          #vsvhome .swiper-container-cube .swiper-slide .swiper-slide {
            pointer-events: none
          }

          #vsvhome .swiper-container-cube.swiper-container-rtl .swiper-slide {
            -webkit-transform-origin: 100% 0;
            -ms-transform-origin: 100% 0;
            transform-origin: 100% 0
          }

          #vsvhome .swiper-container-cube .swiper-slide-active,
          #vsvhome .swiper-container-cube .swiper-slide-active .swiper-slide-active {
            pointer-events: auto
          }

          #vsvhome .swiper-container-cube .swiper-slide-active,
          #vsvhome .swiper-container-cube .swiper-slide-next,
          #vsvhome .swiper-container-cube .swiper-slide-prev,
          #vsvhome .swiper-container-cube .swiper-slide-next+.swiper-slide {
            pointer-events: auto;
            visibility: visible
          }

          #vsvhome .swiper-container-cube .swiper-slide-shadow-top,
          #vsvhome .swiper-container-cube .swiper-slide-shadow-bottom,
          #vsvhome .swiper-container-cube .swiper-slide-shadow-left,
          #vsvhome .swiper-container-cube .swiper-slide-shadow-right {
            z-index: 0;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden
          }

          #vsvhome .swiper-container-cube .swiper-cube-shadow {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 100%;
            background: #000;
            opacity: .6;
            -webkit-filter: blur(50px);
            filter: blur(50px);
            z-index: 0
          }

          #vsvhome .swiper-container-flip {
            overflow: visible
          }

          #vsvhome .swiper-container-flip .swiper-slide {
            pointer-events: none;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
            z-index: 1
          }

          #vsvhome .swiper-container-flip .swiper-slide .swiper-slide {
            pointer-events: none
          }

          #vsvhome .swiper-container-flip .swiper-slide-active,
          #vsvhome .swiper-container-flip .swiper-slide-active .swiper-slide-active {
            pointer-events: auto
          }

          #vsvhome .swiper-container-flip .swiper-slide-shadow-top,
          #vsvhome .swiper-container-flip .swiper-slide-shadow-bottom,
          #vsvhome .swiper-container-flip .swiper-slide-shadow-left,
          #vsvhome .swiper-container-flip .swiper-slide-shadow-right {
            z-index: 0;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden
          }

          #vsvhome .swiper-container-coverflow .swiper-wrapper {
            -ms-perspective: 1200px
          }

          #vsvhome .vsv-info {
            font-style: normal;
            font-weight: 300;
            font-size: 10px;
            line-height: 16px;
            color: #fff;
            text-align: left;
            position: absolute;
            right: 15px;
            bottom: 10px;
            z-index: 2 !important;
            cursor: pointer
          }

          #vsvhome .vsv-info-center {
            text-align: center;
            right: 0;
            left: 0
          }

          #vsvhome .vsv-info-left {
            left: 15px;
            right: auto
          }

          #vsvhome .vsv-infotext {
            display: inline-block
          }

          #vsvhome .vsv-tooltip {
            cursor: pointer
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover {
            visibility: hidden;
            font-family: mango-light;
            position: absolute;
            font-size: 10px;
            line-height: 15px;
            letter-spacing: .3px;
            background-color: #FAFAFA;
            color: #000;
            max-width: 474px;
            width: 474px;
            border: .5px solid #000;
            opacity: 0;
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            right: 0;
            left: auto
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-textoTooltip {
            text-align: left;
            padding: 8px 16px;
            position: relative
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow {
            position: absolute;
            width: 10px;
            border-color: transparent;
            border-style: solid;
            right: 13px;
            border-width: 0 5px 0;
            border-top-color: #FAFAFA
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow:before {
            content: "";
            display: block;
            position: absolute;
            left: -6px;
            border: 7px solid transparent;
            border-top-color: #000
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow:after {
            content: "";
            display: block;
            position: absolute;
            left: -5px;
            border: 6px solid transparent;
            border-top-color: #FAFAFA
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-top {
            transform: rotate(0);
            bottom: 0
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-top:before {
            bottom: .5px;
            transform: translateY(100%)
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-top:after {
            bottom: .5px;
            transform: translateY(100%)
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-bottom {
            transform: rotate(180deg);
            top: 0
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-bottom:before {
            top: -.5px;
            transform: translateY(0%)
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-bottom:after {
            top: -.5px;
            transform: translateY(0%)
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-center {
            right: 0;
            left: 0;
            margin: 0 auto
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-hover .vsv-arrow-left {
            right: 0;
            left: 13px
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-bottom {
            top: 25px
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-top {
            bottom: 20px
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-center {
            right: 0;
            left: 0;
            margin: 0 auto
          }

          #vsvhome .vsv-tooltip .vsv-tooltip-left {
            left: 0
          }

          #vsvhome .vsv-tooltip:hover .vs-tooltip-hover {
            opacity: 1
          }

          @media only screen and (min-device-width:1px) and (max-device-width:767px) {
            #vsvhome .vsv-tooltip .vsv-tooltip-hover {
              width: calc(96vw - 15px)
            }
          }

          #vsvhome .vsv-zoom .vsv-content-img {
            overflow: hidden
          }

          #vsvhome .vsv-zoom .vsv-image {
            overflow: hidden
          }

          #vsvhome .vsv-zoom .vsv-image .vsv-zoom-image {
            width: 100%;
            height: auto;
            transition: transform 3s;
            -ms-transition: -ms-transform 3s;
            -webkit-transition: -webkit-transform 3s;
            -moz-transition: -moz-transform 3s;
            -ms-transform: translateZ(0);
            -webkit-transform: translateZ(0);
            -moz-transform: translateZ(0);
            transform: translateZ(0)
          }

          #vsvhome .vsv-zoom .vsv-image .vsv-zoom-image:hover {
            transform: scale(1.05);
            -ms-transform: scale(1.05);
            -webkit-transform: scale(1.05);
            -moz-transform: scale(1.05);
            cursor: pointer
          }

          #vsvhome .vsv-bannercontainer {
            position: relative
          }

          #vsvhome ::selection {
            background: #D5D5D6
          }

          #vsvhome ::-moz-selection {
            background: #D5D5D6
          }

          #vsvhome *:focus {
            outline: none
          }

          #vsvhome #vsv_loader {
            align-items: center;
            background: #fff;
            display: flex;
            height: 100%;
            justify-content: center;
            margin: 0;
            padding: 0;
            position: fixed;
            top: 42px;
            left: 0;
            z-index: 99;
            width: 100%
          }

          #vsvhome #vsv_loader img,
          #vsvhome #vsv_loader video {
            margin: 0;
            opacity: 0;
            padding: 0;
            visibility: hidden
          }

          #vsvhome .vsv-brand {
            display: none;
            left: 0;
            opacity: 0;
            position: absolute;
            top: 0;
            visibility: hidden
          }

          #vsvhome .vsv-brand-active {
            position: relative !important;
            top: 0;
            left: 0;
            display: block
          }

          #vsvhome .vsvNoClick {
            cursor: grabbing
          }

          #vsvhome .vsvNoClick [data-cta] {
            pointer-events: none !important
          }

          #vsvhome #background {
            background: gray;
            height: 100vh;
            position: absolute;
            top: 0;
            width: 100vw;
            z-index: 1
          }

          #vsvhome .fullviewport {
            direction: ltr
          }

          #vsvhome .video-fullviewport {
            background: #F2EEE7;
            height: 100%;
            width: 100%
          }

          #vsvhome .vsvPositionText {
            color: #fff;
            display: flex;
            display: -webkit-flex;
            height: 100%;
            position: absolute;
            top: 0;
            width: 100%
          }

          #vsvhome .vsvPositionTextTop {
            align-items: flex-start;
            flex-direction: row;
            justify-content: space-between;
            -webkit-align-items: flex-start;
            -webkit-flex-direction: row;
            -webkit-justify-content: space-between
          }

          #vsvhome .vsvPositionTextCenter {
            align-items: center;
            flex-direction: column;
            justify-content: center;
            text-align: center;
            -webkit-align-items: center;
            -webkit-flex-direction: column;
            -webkit-justify-content: center
          }

          #vsvhome .vsvPositionTextBottom {
            align-items: flex-start;
            flex-direction: column;
            justify-content: flex-end;
            -webkit-align-items: flex-start;
            -webkit-flex-direction: column;
            -webkit-justify-content: flex-end
          }

          #vsvhome .vsvLinks {
            width: 100%;
            text-align: center;
            position: absolute;
            bottom: 35px
          }

          #vsvhome .vsvLinks .vsvLink {
            display: inline-block
          }

          #vsvhome .vsvLinks .vsvLink .vsvHoverLink {
            font-size: 13px;
            font-style: normal;
            font-weight: 400;
            line-height: 20px;
            letter-spacing: .3px;
            height: 20px;
            color: #fff;
            border-bottom: 1px solid #fff;
            text-transform: none;
            padding: 0;
            margin: 0;
            cursor: pointer;
            display: inline-block
          }

          #vsvhome .vsvLinks .vsvLink .vsvHoverLink:hover {
            color: #999;
            border-bottom: 1px solid #999;
            text-decoration: none;
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
          }

          @media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait) {
            #vsvhome .vsvLinks {
              bottom: 32px
            }
          }

          @media only screen and (min-device-width:1px) and (max-device-width:767px) {
            #vsvhome #vsv_loader {
              top: 0
            }

            #vsvhome #vsv_loader img,
            #vsvhome #vsv_loader video {
              position: absolute;
              visibility: visible;
              opacity: 1;
              width: 100%;
              height: 100%;
              object-fit: cover
            }

            #vsvhome .vsvLinks {
              bottom: 55px
            }

            #vsvhome .vsvLinks .vsvLink .vsvHoverLink {
              font-size: 14px;
              line-height: 22px;
              height: 22px
            }
          }

          #vsvhome div[data-cta],
          #vsvhome div[data-islinkable] {
            cursor: pointer
          }

          #vsvhome img {
            width: 100%
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            display: -webkit-flex;
            -webkit-justify-content: center;
            -webkit-flex-wrap: wrap;
            width: calc(100% + 2px);
            margin-left: -1px
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-bannercontainer {
            position: relative;
            width: 100%;
            margin: 0 1px 2px 1px
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-bannercontainer .vsv-box {
            height: 100%
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs {
            position: relative;
            display: flex;
            flex-wrap: wrap;
            display: -webkit-flex;
            -webkit-flex-wrap: wrap;
            height: 100%
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc {
            position: relative;
            width: 100%;
            height: 43.1vw
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-image {
            position: absolute;
            top: 0;
            width: 100%;
            height: 100%;
            background-repeat: no-repeat;
            background-position: 50% 0;
            background-size: cover
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-image.data-vsvbg-66 {
            background-position: 50% 11%
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-image.data-vsvbg-50 {
            background-position: 50% 0
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-image.vsv-image-background-top {
            background-position: top center
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-image.vsv-image-background-center {
            background-position: center center
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-image.vsv-image-background-bottom {
            background-position: bottom center
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc .vsv-overlay {
            position: absolute;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: transparent;
            pointer-events: none
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc:hover .vsv-overlay {
            background-color: rgba(18, 19, 20, .16);
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts {
            background: #F2EEE7;
            height: 100%;
            min-height: 300px
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts .vsv-onlytexts-wrapper {
            position: relative;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            margin: 0 auto;
            padding: 56px 2.4vw
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts .vsv-links {
            width: 100%;
            text-align: center;
            position: absolute;
            left: 0;
            right: 0;
            bottom: 56px
          }

          #vsvhome .vsv-home-group_mm-row-1 .vsv-bannercontainer:nth-child(1) {
            flex: 2;
            -webkit-flex: 2
          }

          #vsvhome .vsv-home-group_mm-row-1 .vsv-bannercontainer:nth-child(2) {
            flex: 1;
            -webkit-flex: 1
          }

          #vsvhome .vsv-home-group_mm-row-2 .vsv-bannercontainer:nth-child(1) {
            flex: 1;
            -webkit-flex: 1
          }

          #vsvhome .vsv-home-group_mm-row-2 .vsv-bannercontainer:nth-child(2) {
            flex: 2;
            -webkit-flex: 2
          }

          #vsvhome .vsv-home-group_mm-row-3 .vsv-bannercontainer:nth-child(1) {
            flex: 1;
            -webkit-flex: 1
          }

          #vsvhome .vsv-home-group_mm-row-3 .vsv-bannercontainer:nth-child(2) {
            flex: 2;
            -webkit-flex: 2
          }

          @media only screen and (min-width:768px) and (max-width:1024px) and (orientation:portrait) {
            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts .vsv-onlytexts-wrapper {
              padding: 4.15vw 2vw
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts .vsv-links {
              bottom: 4.15vw
            }
          }

          @media (min-width:1px) and (max-width:767px) {
            #vsvhome div[class*='vsv-home-group_mm-row-'] {
              display: block;
              width: 100%;
              margin-left: 0
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-bannercontainer {
              margin: 0 0 2px 0
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs {
              display: block
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc {
              height: 100vw;
              min-height: auto;
              border: none
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc:before .vsv-overlay,
            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc:active .vsv-overlay {
              background-color: rgba(18, 19, 20, .16);
              transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
              -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
              -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
              -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
              -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts {
              height: 100vw;
              min-height: auto
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts .vsv-onlytexts-wrapper {
              padding: 13.5vw 7.7vw
            }

            #vsvhome div[class*='vsv-home-group_mm-row-'] .vsv-blocs .vsv-bloc.vsv-bloc-onlytexts .vsv-links {
              bottom: 7.7vw
            }
          }

          #vsvhome .vsv-button {
            position: absolute;
            left: 0;
            right: 0;
            bottom: 56px;
            text-align: center
          }

          #vsvhome .vsv-button .vsv-button-wrapper {
            width: auto;
            margin: 0 4px;
            position: relative;
            display: inline-table;
            text-align: left;
            direction: ltr;
            pointer-events: auto
          }

          #vsvhome .vsv-button .vsv-button-wrapper-width {
            display: block;
            width: 100%;
            min-width: 100px;
            text-align: center;
            background: #fff;
            padding: 10px 24px;
            cursor: pointer
          }

          #vsvhome .vsv-button .vsv-button-wrapper-width:hover {
            background: #b8b8b8;
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
          }

          #vsvhome .vsv-button .vsv-button-link {
            font-weight: 400;
            font-size: 13px;
            line-height: 20px;
            letter-spacing: .3px;
            color: #121314
          }

          #vsvhome .vsv-button.vsv-button-relative {
            position: relative;
            left: auto;
            right: auto;
            bottom: auto
          }

          #vsvhome .vsv-button.vsv-button-black .vsv-button-wrapper-width {
            background: #000
          }

          #vsvhome .vsv-button.vsv-button-black .vsv-button-wrapper-width:hover {
            background: #666;
            transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -webkit-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -moz-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -o-transition: all 0.25s cubic-bezier(.455, .03, .515, .955);
            -ms-transition: all 0.25s cubic-bezier(.455, .03, .515, .955)
          }

          #vsvhome .vsv-button.vsv-button-black .vsv-button-link {
            color: #fff
          }

          #vsvhome .vsv-links {
            margin-top: 16px;
            pointer-events: auto;
            display: inline-block;
            margin-right: 15px
          }

          #vsvhome .vsv-links .vsv-link {
            display: inline-block
          }

          #vsvhome .vsv-links .vsv-link .hvr-underline-fix2 {
            font-weight: 400;
            font-size: 13px;
            line-height: 20px;
            letter-spacing: .3px;
            height: 20px;
            color: #fff;
            border-bottom: 1px solid #fff;
            text-transform: none;
            padding: 0;
            margin: 0;
            cursor: pointer;
            display: inline-block
          }

          #vsvhome .vsv-links .vsv-link.vsv-link-black .hvr-underline-fix2 {
            color: #121314;
            border-bottom: 1px solid #121314
          }

          @media only screen and (min-width:768px) and (max-width:1024px) and (orientation:portrait) {
            #vsvhome .vsv-button {
              bottom: 4.15vw
            }

            #vsvhome .vsv-button .vsv-button-link {
              font-size: 14px;
              line-height: 22px;
              height: 22px
            }

            #vsvhome .vsv-links {
              bottom: 4.15vw
            }

            #vsvhome .vsv-links .vsv-link .hvr-underline-fix2 {
              font-size: 14px;
              line-height: 22px;
              height: 22px
            }
          }

          @media (min-width:1px) and (max-width:767px) {
            #vsvhome .vsv-button {
              bottom: 7.7vw
            }

            #vsvhome .vsv-button .vsv-button-link {
              font-size: 14px;
              line-height: 22px;
              height: 22px
            }

            #vsvhome .vsv-links {
              bottom: 13.5vw
            }

            #vsvhome .vsv-links .vsv-link .hvr-underline-fix2 {
              font-size: 14px;
              line-height: 22px;
              height: 22px
            }
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] [data-id="12841"] {
            pointer-events: none
          }

          #vsvhome div[class*='vsv-home-group_mm-row-'] [data-id="12841"] .vsv-blocs {
            pointer-events: auto
          }

          #vsvhome div [data-id="12856"] .vsv-blocs .vsv-bloc .vsv-image {
            background-position: 50% 50%
          }
        </style>
        <!--[if lt IE 7]>
<div id="vsvhome" class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
        <!--[if IE 7]>
<div id="vsvhome" class="no-js lt-ie9 lt-ie8"> <![endif]-->
        <!--[if IE 8]>
<div id="vsvhome" class="no-js lt-ie9"> <![endif]-->
        <!--[if gt IE 8]><!-->
        <div id="vsvhome" class="no-js"><!--<![endif]-->
          <div class="vsv-home-group vsv-home-group_mm-row-1">
            <div class="vsv-bannercontainer" data-bannerid="12838" data-vsvanalytics="she">
              <div class="vsv-box vsv-cookie-she" id="vsv-mm-she" data-id="12838" data-islinkable="/gb/women">
                <div class="vsv-blocs">
                  <div class="vsv-bloc vsv-line-she" style="background-color: #401a1666;" data-cta="/gb/women">
                    <div class="vsv-image data-vsvbg-66" data-akaset="" data-vsvbg="//staticpages.mngbcn.com/homes/images/fw23/she/septiembre/she_multimarcas_04-09.jpg"
                      data-vsv-bg-processed="//staticpages.mngbcn.com/homes/images/fw23/she/septiembre/she_multimarcas_04-09.jpg?imwidth=1065&amp;imdensity=2&amp;impolicy=set_23"
                      style="background-image: url(&quot;//staticpages.mngbcn.com/homes/images/fw23/she/septiembre/she_multimarcas_04-09.jpg?imwidth=1065&amp;imdensity=2&amp;impolicy=set_23&quot;); transition: opacity 0.5s ease 0s; opacity: 1;">
                    </div>
                    <div class="vsv-overlay"></div>
                    <div class="vsv-button">
                      <div class="vsv-button-wrapper">
                        <a href="/gb/women" title="Go to Women" class="vsv-button-wrapper-width">
						<div class="vsv-button-link"><span class="hvr-underline-fix2">Women</span></div>
					</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="vsv-bannercontainer" data-bannerid="12943" data-vsvanalytics="he">
              <div class="vsv-box vsv-cookie-he" id="vsv-mm-he" data-id="12943" data-islinkable="/gb/men">
                <div class="vsv-blocs">
                  <div class="vsv-bloc vsv-line-he" style="background-color: #47444066;" data-cta="/gb/men">
                    <div class="vsv-image data-vsvbg-50" data-akaset="" data-vsvbg="//staticpages.mngbcn.com/homes/images/fw23/he/septiembre/mm_griezmann_1023.jpg"
                      data-vsv-bg-processed="//staticpages.mngbcn.com/homes/images/fw23/he/septiembre/mm_griezmann_1023.jpg?imwidth=533&amp;imdensity=2&amp;impolicy=set_13"
                      style="background-image: url(&quot;//staticpages.mngbcn.com/homes/images/fw23/he/septiembre/mm_griezmann_1023.jpg?imwidth=533&amp;imdensity=2&amp;impolicy=set_13&quot;); transition: opacity 0.5s ease 0s; opacity: 1;"></div>
                    <div class="vsv-overlay"></div>
                    <div class="vsv-button">
                      <div class="vsv-button-wrapper">
                        <a href="/gb/men" title="Go to Men" class="vsv-button-wrapper-width">
						<div class="vsv-button-link"><span class="hvr-underline-fix2">Men</span></div>
					</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div class="vsv-home-group vsv-home-group_mm-row-2">
            <div class="vsv-bannercontainer" data-bannerid="12840" data-vsvanalytics="teen">
              <div class="vsv-box vsv-cookie-teen test" id="vsv-mm-teen" data-id="12840" data-islinkable="/gb/teen">
                <div class="vsv-blocs">
                  <div class="vsv-bloc vsv-line-teen" style="background-color: #37302166;" data-cta="/gb/teen">
                    <div class="vsv-image data-vsvbg-50" data-akaset="" data-vsvbg="//staticpages.mngbcn.com/homes/images/fw23/teens/septiembre/teen_multimarcas_04-09.jpg"
                      data-vsv-bg-processed="//staticpages.mngbcn.com/homes/images/fw23/teens/septiembre/teen_multimarcas_04-09.jpg?imwidth=533&amp;imdensity=2&amp;impolicy=set_13"
                      style="background-image: url(&quot;//staticpages.mngbcn.com/homes/images/fw23/teens/septiembre/teen_multimarcas_04-09.jpg?imwidth=533&amp;imdensity=2&amp;impolicy=set_13&quot;); transition: opacity 0.5s ease 0s; opacity: 1;">
                    </div>
                    <div class="vsv-overlay"></div>
                    <div class="vsv-button">
                      <div class="vsv-button-wrapper">
                        <a href="/gb/teen" title="Go to Teen" class="vsv-button-wrapper-width">
						<div class="vsv-button-link"><span class="hvr-underline-fix2">Teen</span></div>
					</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <div class="vsv-bannercontainer" data-bannerid="12841" data-vsvanalytics="kids">
              <div class="vsv-box vsv-cookie-nina" id="vsv-mm-kids" data-id="12841" data-islinkable="/gb/kids">
                <div class="vsv-blocs">
                  <div class="vsv-bloc vsv-line-kids" style="background-color: #4e4e4866;">
                    <div class="vsv-image data-vsvbg-66" data-akaset="" data-cta="/gb/kids" data-vsvbg="//staticpages.mngbcn.com/homes/images/fw23/kids/septiembre/kids_multimarcas_04-09.jpg"
                      data-vsv-bg-processed="//staticpages.mngbcn.com/homes/images/fw23/kids/septiembre/kids_multimarcas_04-09.jpg?imwidth=1065&amp;imdensity=2&amp;impolicy=set_23"
                      style="background-image: url(&quot;//staticpages.mngbcn.com/homes/images/fw23/kids/septiembre/kids_multimarcas_04-09.jpg?imwidth=1065&amp;imdensity=2&amp;impolicy=set_23&quot;); transition: opacity 0.5s ease 0s; opacity: 1;">
                    </div>
                    <div class="vsv-overlay"></div>
                    <div class="vsv-button">
                      <div class="vsv-button-wrapper">
                        <a href="/gb/kids" title="Go to Kids" class="vsv-button-wrapper-width">
						<div class="vsv-button-link"><span class="hvr-underline-fix2">Kids</span></div>
					</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
          <div class="vsv-home-group vsv-home-group_mm-row-3">
            <div class="vsv-bannercontainer" data-bannerid="12856" data-vsvanalytics="casa">
              <div class="vsv-box" id="vsv-casa-mm" data-id="12856" data-cta="/gb/home" data-islinkable="/gb/home">
                <div class="vsv-blocs">
                  <div class="vsv-bloc" style="background-color: #584e4166;">
                    <div class="vsv-image" data-width="100" data-vsvbg="//staticpages.mngbcn.com/homes/images/fw23/casa/septiembre/home_multimarcas_04-09.jpg"
                      data-vsv-bg-processed="//staticpages.mngbcn.com/homes/images/fw23/casa/septiembre/home_multimarcas_04-09.jpg?imwidth=1600&amp;imdensity=2" style="opacity: 0;"></div>
                    <div class="vsv-overlay"></div>
                    <div class="vsv-button">
                      <div class="vsv-button-wrapper">
                        <a href="/gb/home" title="Go to Home" class="vsv-button-wrapper-width">
						<div class="vsv-button-link"><span class="hvr-underline-fix2">Home</span></div>
					</a>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <script type="text/javascript">
          window.vsvAnalitycs =
            '[{"id":"12838","analityc":["send","event","banner home",1,"she"]},{"id":"12943","analityc":["send","event","banner home",2,"he"]},{"id":"12840","analityc":["send","event","banner home",3,"teen"]},{"id":"12841","analityc":["send","event","banner home",4,"kids"]},{"id":"12856","analityc":["send","event","banner home",5,"casa"]}]'
        </script>
        <script type="text/javascript">
          /*! ScrollMagic v2.0.6 | (c) 2018 Jan Paepke (@janpaepke) | license & info: http://scrollmagic.io */ ! function(e, t) {
            "function" == typeof define && define.amd ? define(t) : "object" == typeof exports ? module.exports = t() : e.ScrollMagic = t()
          }(this, function() {
            "use strict";
            var e = function() {};
            e.version = "2.0.6", window.addEventListener("mousewheel", function() {});
            var t = "data-scrollmagic-pin-spacer";
            e.Controller = function(r) {
              var o, s, a = "ScrollMagic.Controller",
                l = "FORWARD",
                c = "REVERSE",
                f = "PAUSED",
                u = n.defaults,
                d = this,
                h = i.extend({}, u, r),
                g = [],
                p = !1,
                v = 0,
                m = f,
                w = !0,
                y = 0,
                S = !0,
                b = function() {
                  for (var e in h) u.hasOwnProperty(e) || delete h[e];
                  if (h.container = i.get.elements(h.container)[0], !h.container) throw a + " init failed.";
                  w = h.container === window || h.container === document.body || !document.body.contains(h.container), w && (h.container = window), y = z(), h.container.addEventListener("resize", T), h.container.addEventListener("scroll", T);
                  var t = parseInt(h.refreshInterval, 10);
                  h.refreshInterval = i.type.Number(t) ? t : u.refreshInterval, E()
                },
                E = function() {
                  h.refreshInterval > 0 && (s = window.setTimeout(A, h.refreshInterval))
                },
                x = function() {
                  return h.vertical ? i.get.scrollTop(h.container) : i.get.scrollLeft(h.container)
                },
                z = function() {
                  return h.vertical ? i.get.height(h.container) : i.get.width(h.container)
                },
                C = this._setScrollPos = function(e) {
                  h.vertical ? w ? window.scrollTo(i.get.scrollLeft(), e) : h.container.scrollTop = e : w ? window.scrollTo(e, i.get.scrollTop()) : h.container.scrollLeft = e
                },
                F = function() {
                  if (S && p) {
                    var e = i.type.Array(p) ? p : g.slice(0);
                    p = !1;
                    var t = v;
                    v = d.scrollPos();
                    var n = v - t;
                    0 !== n && (m = n > 0 ? l : c), m === c && e.reverse(), e.forEach(function(e) {
                      e.update(!0)
                    })
                  }
                },
                L = function() {
                  o = i.rAF(F)
                },
                T = function(e) {
                  "resize" == e.type && (y = z(), m = f), p !== !0 && (p = !0, L())
                },
                A = function() {
                  if (!w && y != z()) {
                    var e;
                    try {
                      e = new Event("resize", {
                        bubbles: !1,
                        cancelable: !1
                      })
                    } catch (t) {
                      e = document.createEvent("Event"), e.initEvent("resize", !1, !1)
                    }
                    h.container.dispatchEvent(e)
                  }
                  g.forEach(function(e) {
                    e.refresh()
                  }), E()
                };
              this._options = h;
              var N = function(e) {
                if (e.length <= 1) return e;
                var t = e.slice(0);
                return t.sort(function(e, t) {
                  return e.scrollOffset() > t.scrollOffset() ? 1 : -1
                }), t
              };
              return this.addScene = function(t) {
                if (i.type.Array(t)) t.forEach(function(e) {
                  d.addScene(e)
                });
                else if (t instanceof e.Scene)
                  if (t.controller() !== d) t.addTo(d);
                  else if (g.indexOf(t) < 0) {
                  g.push(t), g = N(g), t.on("shift.controller_sort", function() {
                    g = N(g)
                  });
                  for (var n in h.globalSceneOptions) t[n] && t[n].call(t, h.globalSceneOptions[n])
                }
                return d
              }, this.removeScene = function(e) {
                if (i.type.Array(e)) e.forEach(function(e) {
                  d.removeScene(e)
                });
                else {
                  var t = g.indexOf(e);
                  t > -1 && (e.off("shift.controller_sort"), g.splice(t, 1), e.remove())
                }
                return d
              }, this.updateScene = function(t, n) {
                return i.type.Array(t) ? t.forEach(function(e) {
                  d.updateScene(e, n)
                }) : n ? t.update(!0) : p !== !0 && t instanceof e.Scene && (p = p || [], -1 == p.indexOf(t) && p.push(t), p = N(p), L()), d
              }, this.update = function(e) {
                return T({
                  type: "resize"
                }), e && F(), d
              }, this.scrollTo = function(n, r) {
                if (i.type.Number(n)) C.call(h.container, n, r);
                else if (n instanceof e.Scene) n.controller() === d && d.scrollTo(n.scrollOffset(), r);
                else if (i.type.Function(n)) C = n;
                else {
                  var o = i.get.elements(n)[0];
                  if (o) {
                    for (; o.parentNode.hasAttribute(t);) o = o.parentNode;
                    var s = h.vertical ? "top" : "left",
                      a = i.get.offset(h.container),
                      l = i.get.offset(o);
                    w || (a[s] -= d.scrollPos()), d.scrollTo(l[s] - a[s], r)
                  }
                }
                return d
              }, this.scrollPos = function(e) {
                return arguments.length ? (i.type.Function(e) && (x = e), d) : x.call(d)
              }, this.info = function(e) {
                var t = {
                  size: y,
                  vertical: h.vertical,
                  scrollPos: v,
                  scrollDirection: m,
                  container: h.container,
                  isDocument: w
                };
                return arguments.length ? void 0 !== t[e] ? t[e] : void 0 : t
              }, this.loglevel = function() {
                return d
              }, this.enabled = function(e) {
                return arguments.length ? (S != e && (S = !!e, d.updateScene(g, !0)), d) : S
              }, this.destroy = function(e) {
                window.clearTimeout(s);
                for (var t = g.length; t--;) g[t].destroy(e);
                return h.container.removeEventListener("resize", T), h.container.removeEventListener("scroll", T), i.cAF(o), null
              }, b(), d
            };
            var n = {
              defaults: {
                container: window,
                vertical: !0,
                globalSceneOptions: {},
                loglevel: 2,
                refreshInterval: 100
              }
            };
            e.Controller.addOption = function(e, t) {
              n.defaults[e] = t
            }, e.Controller.extend = function(t) {
              var n = this;
              e.Controller = function() {
                return n.apply(this, arguments), this.$super = i.extend({}, this), t.apply(this, arguments) || this
              }, i.extend(e.Controller, n), e.Controller.prototype = n.prototype, e.Controller.prototype.constructor = e.Controller
            }, e.Scene = function(n) {
              var o, s, a = "BEFORE",
                l = "DURING",
                c = "AFTER",
                f = r.defaults,
                u = this,
                d = i.extend({}, f, n),
                h = a,
                g = 0,
                p = {
                  start: 0,
                  end: 0
                },
                v = 0,
                m = !0,
                w = function() {
                  for (var e in d) f.hasOwnProperty(e) || delete d[e];
                  for (var t in f) L(t);
                  C()
                },
                y = {};
              this.on = function(e, t) {
                return i.type.Function(t) && (e = e.trim().split(" "), e.forEach(function(e) {
                  var n = e.split("."),
                    r = n[0],
                    i = n[1];
                  "*" != r && (y[r] || (y[r] = []), y[r].push({
                    namespace: i || "",
                    callback: t
                  }))
                })), u
              }, this.off = function(e, t) {
                return e ? (e = e.trim().split(" "), e.forEach(function(e) {
                  var n = e.split("."),
                    r = n[0],
                    i = n[1] || "",
                    o = "*" === r ? Object.keys(y) : [r];
                  o.forEach(function(e) {
                    for (var n = y[e] || [], r = n.length; r--;) {
                      var o = n[r];
                      !o || i !== o.namespace && "*" !== i || t && t != o.callback || n.splice(r, 1)
                    }
                    n.length || delete y[e]
                  })
                }), u) : u
              }, this.trigger = function(t, n) {
                if (t) {
                  var r = t.trim().split("."),
                    i = r[0],
                    o = r[1],
                    s = y[i];
                  s && s.forEach(function(t) {
                    o && o !== t.namespace || t.callback.call(u, new e.Event(i, t.namespace, u, n))
                  })
                }
                return u
              }, u.on("change.internal", function(e) {
                "loglevel" !== e.what && "tweenChanges" !== e.what && ("triggerElement" === e.what ? E() : "reverse" === e.what && u.update())
              }).on("shift.internal", function() {
                S(), u.update()
              }), this.addTo = function(t) {
                return t instanceof e.Controller && s != t && (s && s.removeScene(u), s = t, C(), b(!0), E(!0), S(), s.info("container").addEventListener("resize", x), t.addScene(u), u.trigger("add", {
                  controller: s
                }), u.update()), u
              }, this.enabled = function(e) {
                return arguments.length ? (m != e && (m = !!e, u.update(!0)), u) : m
              }, this.remove = function() {
                if (s) {
                  s.info("container").removeEventListener("resize", x);
                  var e = s;
                  s = void 0, e.removeScene(u), u.trigger("remove")
                }
                return u
              }, this.destroy = function(e) {
                return u.trigger("destroy", {
                  reset: e
                }), u.remove(), u.off("*.*"), null
              }, this.update = function(e) {
                if (s)
                  if (e)
                    if (s.enabled() && m) {
                      var t, n = s.info("scrollPos");
                      t = d.duration > 0 ? (n - p.start) / (p.end - p.start) : n >= p.start ? 1 : 0, u.trigger("update", {
                        startPos: p.start,
                        endPos: p.end,
                        scrollPos: n
                      }), u.progress(t)
                    } else T && h === l && N(!0);
                else s.updateScene(u, !1);
                return u
              }, this.refresh = function() {
                return b(), E(), u
              }, this.progress = function(e) {
                if (arguments.length) {
                  var t = !1,
                    n = h,
                    r = s ? s.info("scrollDirection") : "PAUSED",
                    i = d.reverse || e >= g;
                  if (0 === d.duration ? (t = g != e, g = 1 > e && i ? 0 : 1, h = 0 === g ? a : l) : 0 > e && h !== a && i ? (g = 0, h = a, t = !0) : e >= 0 && 1 > e && i ? (g = e, h = l, t = !0) : e >= 1 && h !== c ? (g = 1, h = c, t = !0) :
                    h !== l || i || N(), t) {
                    var o = {
                        progress: g,
                        state: h,
                        scrollDirection: r
                      },
                      f = h != n,
                      p = function(e) {
                        u.trigger(e, o)
                      };
                    f && n !== l && (p("enter"), p(n === a ? "start" : "end")), p("progress"), f && h !== l && (p(h === a ? "start" : "end"), p("leave"))
                  }
                  return u
                }
                return g
              };
              var S = function() {
                  p = {
                    start: v + d.offset
                  }, s && d.triggerElement && (p.start -= s.info("size") * d.triggerHook), p.end = p.start + d.duration
                },
                b = function(e) {
                  if (o) {
                    var t = "duration";
                    F(t, o.call(u)) && !e && (u.trigger("change", {
                      what: t,
                      newval: d[t]
                    }), u.trigger("shift", {
                      reason: t
                    }))
                  }
                },
                E = function(e) {
                  var n = 0,
                    r = d.triggerElement;
                  if (s && (r || v > 0)) {
                    if (r)
                      if (r.parentNode) {
                        for (var o = s.info(), a = i.get.offset(o.container), l = o.vertical ? "top" : "left"; r.parentNode.hasAttribute(t);) r = r.parentNode;
                        var c = i.get.offset(r);
                        o.isDocument || (a[l] -= s.scrollPos()), n = c[l] - a[l]
                      } else u.triggerElement(void 0);
                    var f = n != v;
                    v = n, f && !e && u.trigger("shift", {
                      reason: "triggerElementPosition"
                    })
                  }
                },
                x = function() {
                  d.triggerHook > 0 && u.trigger("shift", {
                    reason: "containerResize"
                  })
                },
                z = i.extend(r.validate, {
                  duration: function(e) {
                    if (i.type.String(e) && e.match(/^(\.|\d)*\d+%$/)) {
                      var t = parseFloat(e) / 100;
                      e = function() {
                        return s ? s.info("size") * t : 0
                      }
                    }
                    if (i.type.Function(e)) {
                      o = e;
                      try {
                        e = parseFloat(o())
                      } catch (n) {
                        e = -1
                      }
                    }
                    if (e = parseFloat(e), !i.type.Number(e) || 0 > e) throw o ? (o = void 0, 0) : 0;
                    return e
                  }
                }),
                C = function(e) {
                  e = arguments.length ? [e] : Object.keys(z), e.forEach(function(e) {
                    var t;
                    if (z[e]) try {
                      t = z[e](d[e])
                    } catch (n) {
                      t = f[e]
                    } finally {
                      d[e] = t
                    }
                  })
                },
                F = function(e, t) {
                  var n = !1,
                    r = d[e];
                  return d[e] != t && (d[e] = t, C(e), n = r != d[e]), n
                },
                L = function(e) {
                  u[e] || (u[e] = function(t) {
                    return arguments.length ? ("duration" === e && (o = void 0), F(e, t) && (u.trigger("change", {
                      what: e,
                      newval: d[e]
                    }), r.shifts.indexOf(e) > -1 && u.trigger("shift", {
                      reason: e
                    })), u) : d[e]
                  })
                };
              this.controller = function() {
                return s
              }, this.state = function() {
                return h
              }, this.scrollOffset = function() {
                return p.start
              }, this.triggerPosition = function() {
                var e = d.offset;
                return s && (e += d.triggerElement ? v : s.info("size") * u.triggerHook()), e
              };
              var T, A;
              u.on("shift.internal", function(e) {
                var t = "duration" === e.reason;
                (h === c && t || h === l && 0 === d.duration) && N(), t && O()
              }).on("progress.internal", function() {
                N()
              }).on("add.internal", function() {
                O()
              }).on("destroy.internal", function(e) {
                u.removePin(e.reset)
              });
              var N = function(e) {
                  if (T && s) {
                    var t = s.info(),
                      n = A.spacer.firstChild;
                    if (e || h !== l) {
                      var r = {
                          position: A.inFlow ? "relative" : "absolute",
                          top: 0,
                          left: 0
                        },
                        o = i.css(n, "position") != r.position;
                      A.pushFollowers ? d.duration > 0 && (h === c && 0 === parseFloat(i.css(A.spacer, "padding-top")) ? o = !0 : h === a && 0 === parseFloat(i.css(A.spacer, "padding-bottom")) && (o = !0)) : r[t.vertical ? "top" : "left"] = d
                        .duration * g, i.css(n, r), o && O()
                    } else {
                      "fixed" != i.css(n, "position") && (i.css(n, {
                        position: "fixed"
                      }), O());
                      var f = i.get.offset(A.spacer, !0),
                        u = d.reverse || 0 === d.duration ? t.scrollPos - p.start : Math.round(g * d.duration * 10) / 10;
                      f[t.vertical ? "top" : "left"] += u, i.css(A.spacer.firstChild, {
                        top: f.top,
                        left: f.left
                      })
                    }
                  }
                },
                O = function() {
                  if (T && s && A.inFlow) {
                    var e = h === l,
                      t = s.info("vertical"),
                      n = A.spacer.firstChild,
                      r = i.isMarginCollapseType(i.css(A.spacer, "display")),
                      o = {};
                    A.relSize.width || A.relSize.autoFullWidth ? e ? i.css(T, {
                      width: i.get.width(A.spacer)
                    }) : i.css(T, {
                      width: "100%"
                    }) : (o["min-width"] = i.get.width(t ? T : n, !0, !0), o.width = e ? o["min-width"] : "auto"), A.relSize.height ? e ? i.css(T, {
                      height: i.get.height(A.spacer) - (A.pushFollowers ? d.duration : 0)
                    }) : i.css(T, {
                      height: "100%"
                    }) : (o["min-height"] = i.get.height(t ? n : T, !0, !r), o.height = e ? o["min-height"] : "auto"), A.pushFollowers && (o["padding" + (t ? "Top" : "Left")] = d.duration * g, o["padding" + (t ? "Bottom" : "Right")] = d
                      .duration * (1 - g)), i.css(A.spacer, o)
                  }
                },
                _ = function() {
                  s && T && h === l && !s.info("isDocument") && N()
                },
                P = function() {
                  s && T && h === l && ((A.relSize.width || A.relSize.autoFullWidth) && i.get.width(window) != i.get.width(A.spacer.parentNode) || A.relSize.height && i.get.height(window) != i.get.height(A.spacer.parentNode)) && O()
                },
                D = function(e) {
                  s && T && h === l && !s.info("isDocument") && (e.preventDefault(), s._setScrollPos(s.info("scrollPos") - ((e.wheelDelta || e[s.info("vertical") ? "wheelDeltaY" : "wheelDeltaX"]) / 3 || 30 * -e.detail)))
                };
              this.setPin = function(e, n) {
                var r = {
                  pushFollowers: !0,
                  spacerClass: "scrollmagic-pin-spacer"
                };
                if (n = i.extend({}, r, n), e = i.get.elements(e)[0], !e) return u;
                if ("fixed" === i.css(e, "position")) return u;
                if (T) {
                  if (T === e) return u;
                  u.removePin()
                }
                T = e;
                var o = T.parentNode.style.display,
                  s = ["top", "left", "bottom", "right", "margin", "marginLeft", "marginRight", "marginTop", "marginBottom"];
                T.parentNode.style.display = "none";
                var a = "absolute" != i.css(T, "position"),
                  l = i.css(T, s.concat(["display"])),
                  c = i.css(T, ["width", "height"]);
                T.parentNode.style.display = o, !a && n.pushFollowers && (n.pushFollowers = !1);
                var f = T.parentNode.insertBefore(document.createElement("div"), T),
                  d = i.extend(l, {
                    position: a ? "relative" : "absolute",
                    boxSizing: "content-box",
                    mozBoxSizing: "content-box",
                    webkitBoxSizing: "content-box"
                  });
                if (a || i.extend(d, i.css(T, ["width", "height"])), i.css(f, d), f.setAttribute(t, ""), i.addClass(f, n.spacerClass), A = {
                    spacer: f,
                    relSize: {
                      width: "%" === c.width.slice(-1),
                      height: "%" === c.height.slice(-1),
                      autoFullWidth: "auto" === c.width && a && i.isMarginCollapseType(l.display)
                    },
                    pushFollowers: n.pushFollowers,
                    inFlow: a
                  }, !T.___origStyle) {
                  T.___origStyle = {};
                  var h = T.style,
                    g = s.concat(["width", "height", "position", "boxSizing", "mozBoxSizing", "webkitBoxSizing"]);
                  g.forEach(function(e) {
                    T.___origStyle[e] = h[e] || ""
                  })
                }
                return A.relSize.width && i.css(f, {
                  width: c.width
                }), A.relSize.height && i.css(f, {
                  height: c.height
                }), f.appendChild(T), i.css(T, {
                  position: a ? "relative" : "absolute",
                  margin: "auto",
                  top: "auto",
                  left: "auto",
                  bottom: "auto",
                  right: "auto"
                }), (A.relSize.width || A.relSize.autoFullWidth) && i.css(T, {
                  boxSizing: "border-box",
                  mozBoxSizing: "border-box",
                  webkitBoxSizing: "border-box"
                }), window.addEventListener("scroll", _), window.addEventListener("resize", _), window.addEventListener("resize", P), T.addEventListener("mousewheel", D), T.addEventListener("DOMMouseScroll", D), N(), u
              }, this.removePin = function(e) {
                if (T) {
                  if (h === l && N(!0), e || !s) {
                    var n = A.spacer.firstChild;
                    if (n.hasAttribute(t)) {
                      var r = A.spacer.style,
                        o = ["margin", "marginLeft", "marginRight", "marginTop", "marginBottom"],
                        a = {};
                      o.forEach(function(e) {
                        a[e] = r[e] || ""
                      }), i.css(n, a)
                    }
                    A.spacer.parentNode.insertBefore(n, A.spacer), A.spacer.parentNode.removeChild(A.spacer), T.parentNode.hasAttribute(t) || (i.css(T, T.___origStyle), delete T.___origStyle)
                  }
                  window.removeEventListener("scroll", _), window.removeEventListener("resize", _), window.removeEventListener("resize", P), T.removeEventListener("mousewheel", D), T.removeEventListener("DOMMouseScroll", D), T = void 0
                }
                return u
              };
              var R, k = [];
              return u.on("destroy.internal", function(e) {
                u.removeClassToggle(e.reset)
              }), this.setClassToggle = function(e, t) {
                var n = i.get.elements(e);
                return 0 !== n.length && i.type.String(t) ? (k.length > 0 && u.removeClassToggle(), R = t, k = n, u.on("enter.internal_class leave.internal_class", function(e) {
                  var t = "enter" === e.type ? i.addClass : i.removeClass;
                  k.forEach(function(e) {
                    t(e, R)
                  })
                }), u) : u
              }, this.removeClassToggle = function(e) {
                return e && k.forEach(function(e) {
                  i.removeClass(e, R)
                }), u.off("start.internal_class end.internal_class"), R = void 0, k = [], u
              }, w(), u
            };
            var r = {
              defaults: {
                duration: 0,
                offset: 0,
                triggerElement: void 0,
                triggerHook: .5,
                reverse: !0,
                loglevel: 2
              },
              validate: {
                offset: function(e) {
                  if (e = parseFloat(e), !i.type.Number(e)) throw 0;
                  return e
                },
                triggerElement: function(e) {
                  if (e = e || void 0) {
                    var t = i.get.elements(e)[0];
                    if (!t || !t.parentNode) throw 0;
                    e = t
                  }
                  return e
                },
                triggerHook: function(e) {
                  var t = {
                    onCenter: .5,
                    onEnter: 1,
                    onLeave: 0
                  };
                  if (i.type.Number(e)) e = Math.max(0, Math.min(parseFloat(e), 1));
                  else {
                    if (!(e in t)) throw 0;
                    e = t[e]
                  }
                  return e
                },
                reverse: function(e) {
                  return !!e
                }
              },
              shifts: ["duration", "offset", "triggerHook"]
            };
            e.Scene.addOption = function(e, t, n, i) {
              e in r.defaults || (r.defaults[e] = t, r.validate[e] = n, i && r.shifts.push(e))
            }, e.Scene.extend = function(t) {
              var n = this;
              e.Scene = function() {
                return n.apply(this, arguments), this.$super = i.extend({}, this), t.apply(this, arguments) || this
              }, i.extend(e.Scene, n), e.Scene.prototype = n.prototype, e.Scene.prototype.constructor = e.Scene
            }, e.Event = function(e, t, n, r) {
              r = r || {};
              for (var i in r) this[i] = r[i];
              return this.type = e, this.target = this.currentTarget = n, this.namespace = t || "", this.timeStamp = this.timestamp = Date.now(), this
            };
            var i = e._util = function(e) {
              var t, n = {},
                r = function(e) {
                  return parseFloat(e) || 0
                },
                i = function(t) {
                  return t.currentStyle ? t.currentStyle : e.getComputedStyle(t)
                },
                o = function(t, n, o, s) {
                  if (n = n === document ? e : n, n === e) s = !1;
                  else if (!u.DomElement(n)) return 0;
                  t = t.charAt(0).toUpperCase() + t.substr(1).toLowerCase();
                  var a = (o ? n["offset" + t] || n["outer" + t] : n["client" + t] || n["inner" + t]) || 0;
                  if (o && s) {
                    var l = i(n);
                    a += "Height" === t ? r(l.marginTop) + r(l.marginBottom) : r(l.marginLeft) + r(l.marginRight)
                  }
                  return a
                },
                s = function(e) {
                  return e.replace(/^[^a-z]+([a-z])/g, "$1").replace(/-([a-z])/g, function(e) {
                    return e[1].toUpperCase()
                  })
                };
              n.extend = function(e) {
                for (e = e || {}, t = 1; t < arguments.length; t++)
                  if (arguments[t])
                    for (var n in arguments[t]) arguments[t].hasOwnProperty(n) && (e[n] = arguments[t][n]);
                return e
              }, n.isMarginCollapseType = function(e) {
                return ["block", "flex", "list-item", "table", "-webkit-box"].indexOf(e) > -1
              };
              var a = 0,
                l = ["ms", "moz", "webkit", "o"],
                c = e.requestAnimationFrame,
                f = e.cancelAnimationFrame;
              for (t = 0; !c && t < l.length; ++t) c = e[l[t] + "RequestAnimationFrame"], f = e[l[t] + "CancelAnimationFrame"] || e[l[t] + "CancelRequestAnimationFrame"];
              c || (c = function(t) {
                var n = (new Date).getTime(),
                  r = Math.max(0, 16 - (n - a)),
                  i = e.setTimeout(function() {
                    t(n + r)
                  }, r);
                return a = n + r, i
              }), f || (f = function(t) {
                e.clearTimeout(t)
              }), n.rAF = c.bind(e), n.cAF = f.bind(e);
              var u = n.type = function(e) {
                return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/, "$1").toLowerCase()
              };
              u.String = function(e) {
                return "string" === u(e)
              }, u.Function = function(e) {
                return "function" === u(e)
              }, u.Array = function(e) {
                return Array.isArray(e)
              }, u.Number = function(e) {
                return !u.Array(e) && e - parseFloat(e) + 1 >= 0
              }, u.DomElement = function(e) {
                return "object" == typeof HTMLElement ? e instanceof HTMLElement : e && "object" == typeof e && null !== e && 1 === e.nodeType && "string" == typeof e.nodeName
              };
              var d = n.get = {};
              return d.elements = function(t) {
                var n = [];
                if (u.String(t)) try {
                  t = document.querySelectorAll(t)
                } catch (r) {
                  return n
                }
                if ("nodelist" === u(t) || u.Array(t))
                  for (var i = 0, o = n.length = t.length; o > i; i++) {
                    var s = t[i];
                    n[i] = u.DomElement(s) ? s : d.elements(s)
                  } else(u.DomElement(t) || t === document || t === e) && (n = [t]);
                return n
              }, d.scrollTop = function(t) {
                return t && "number" == typeof t.scrollTop ? t.scrollTop : e.pageYOffset || 0
              }, d.scrollLeft = function(t) {
                return t && "number" == typeof t.scrollLeft ? t.scrollLeft : e.pageXOffset || 0
              }, d.width = function(e, t, n) {
                return o("width", e, t, n)
              }, d.height = function(e, t, n) {
                return o("height", e, t, n)
              }, d.offset = function(e, t) {
                var n = {
                  top: 0,
                  left: 0
                };
                if (e && e.getBoundingClientRect) {
                  var r = e.getBoundingClientRect();
                  n.top = r.top, n.left = r.left, t || (n.top += d.scrollTop(), n.left += d.scrollLeft())
                }
                return n
              }, n.addClass = function(e, t) {
                t && (e.classList ? e.classList.add(t) : e.className += " " + t)
              }, n.removeClass = function(e, t) {
                t && (e.classList ? e.classList.remove(t) : e.className = e.className.replace(RegExp("(^|\\b)" + t.split(" ").join("|") + "(\\b|$)", "gi"), " "))
              }, n.css = function(e, t) {
                if (u.String(t)) return i(e)[s(t)];
                if (u.Array(t)) {
                  var n = {},
                    r = i(e);
                  return t.forEach(function(e) {
                    n[e] = r[s(e)]
                  }), n
                }
                for (var o in t) {
                  var a = t[o];
                  a == parseFloat(a) && (a += "px"), e.style[s(o)] = a
                }
              }, n
            }(window || {});
            return e
          });
          /**
           * Swiper 4.3.5
           * Most modern mobile touch slider and framework with hardware accelerated transitions
           * http://www.idangero.us/swiper/
           *
           * Copyright 2014-2018 Vladimir Kharlampidi
           *
           * Released under the MIT License
           *
           * Released on: July 31, 2018
           */
          ! function(e, t) {
            "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : e.OgnamSwiper = t()
          }(this, function() {
            "use strict";
            var f = "undefined" == typeof document ? {
                body: {},
                addEventListener: function() {},
                removeEventListener: function() {},
                activeElement: {
                  blur: function() {},
                  nodeName: ""
                },
                querySelector: function() {
                  return null
                },
                querySelectorAll: function() {
                  return []
                },
                getElementById: function() {
                  return null
                },
                createEvent: function() {
                  return {
                    initEvent: function() {}
                  }
                },
                createElement: function() {
                  return {
                    children: [],
                    childNodes: [],
                    style: {},
                    setAttribute: function() {},
                    getElementsByTagName: function() {
                      return []
                    }
                  }
                },
                location: {
                  hash: ""
                }
              } : document,
              B = "undefined" == typeof window ? {
                document: f,
                navigator: {
                  userAgent: ""
                },
                location: {},
                history: {},
                CustomEvent: function() {
                  return this
                },
                addEventListener: function() {},
                removeEventListener: function() {},
                getComputedStyle: function() {
                  return {
                    getPropertyValue: function() {
                      return ""
                    }
                  }
                },
                Image: function() {},
                Date: function() {},
                screen: {},
                setTimeout: function() {},
                clearTimeout: function() {}
              } : window,
              l = function(e) {
                for (var t = 0; t < e.length; t += 1) this[t] = e[t];
                return this.length = e.length, this
              };

            function L(e, t) {
              var a = [],
                i = 0;
              if (e && !t && e instanceof l) return e;
              if (e)
                if ("string" == typeof e) {
                  var s, r, n = e.trim();
                  if (0 <= n.indexOf("<") && 0 <= n.indexOf(">")) {
                    var o = "div";
                    for (0 === n.indexOf("<li") && (o = "ul"), 0 === n.indexOf("<tr") && (o = "tbody"), 0 !== n.indexOf("<td") && 0 !== n.indexOf("<th") || (o = "tr"), 0 === n.indexOf("<tbody") && (o = "table"), 0 === n.indexOf("<option") && (o =
                        "select"), (r = f.createElement(o)).innerHTML = n, i = 0; i < r.childNodes.length; i += 1) a.push(r.childNodes[i])
                  } else
                    for (s = t || "#" !== e[0] || e.match(/[ .<>:~]/) ? (t || f).querySelectorAll(e.trim()) : [f.getElementById(e.trim().split("#")[1])], i = 0; i < s.length; i += 1) s[i] && a.push(s[i])
                } else if (e.nodeType || e === B || e === f) a.push(e);
              else if (0 < e.length && e[0].nodeType)
                for (i = 0; i < e.length; i += 1) a.push(e[i]);
              return new l(a)
            }

            function r(e) {
              for (var t = [], a = 0; a < e.length; a += 1) - 1 === t.indexOf(e[a]) && t.push(e[a]);
              return t
            }
            L.fn = l.prototype, L.Class = l, L.Dom7 = l;
            var t = {
              addClass: function(e) {
                if (void 0 === e) return this;
                for (var t = e.split(" "), a = 0; a < t.length; a += 1)
                  for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.add(t[a]);
                return this
              },
              removeClass: function(e) {
                for (var t = e.split(" "), a = 0; a < t.length; a += 1)
                  for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.remove(t[a]);
                return this
              },
              hasClass: function(e) {
                return !!this[0] && this[0].classList.contains(e)
              },
              toggleClass: function(e) {
                for (var t = e.split(" "), a = 0; a < t.length; a += 1)
                  for (var i = 0; i < this.length; i += 1) void 0 !== this[i] && void 0 !== this[i].classList && this[i].classList.toggle(t[a]);
                return this
              },
              attr: function(e, t) {
                var a = arguments;
                if (1 === arguments.length && "string" == typeof e) return this[0] ? this[0].getAttribute(e) : void 0;
                for (var i = 0; i < this.length; i += 1)
                  if (2 === a.length) this[i].setAttribute(e, t);
                  else
                    for (var s in e) this[i][s] = e[s], this[i].setAttribute(s, e[s]);
                return this
              },
              removeAttr: function(e) {
                for (var t = 0; t < this.length; t += 1) this[t].removeAttribute(e);
                return this
              },
              data: function(e, t) {
                var a;
                if (void 0 !== t) {
                  for (var i = 0; i < this.length; i += 1)(a = this[i]).dom7ElementDataStorage || (a.dom7ElementDataStorage = {}), a.dom7ElementDataStorage[e] = t;
                  return this
                }
                if (a = this[0]) {
                  if (a.dom7ElementDataStorage && e in a.dom7ElementDataStorage) return a.dom7ElementDataStorage[e];
                  var s = a.getAttribute("data-" + e);
                  return s || void 0
                }
              },
              transform: function(e) {
                for (var t = 0; t < this.length; t += 1) {
                  var a = this[t].style;
                  a.webkitTransform = e, a.transform = e
                }
                return this
              },
              transition: function(e) {
                "string" != typeof e && (e += "ms");
                for (var t = 0; t < this.length; t += 1) {
                  var a = this[t].style;
                  a.webkitTransitionDuration = e, a.transitionDuration = e
                }
                return this
              },
              on: function() {
                for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a];
                var i = t[0],
                  r = t[1],
                  n = t[2],
                  s = t[3];

                function o(e) {
                  var t = e.target;
                  if (t) {
                    var a = e.target.dom7EventData || [];
                    if (a.indexOf(e) < 0 && a.unshift(e), L(t).is(r)) n.apply(t, a);
                    else
                      for (var i = L(t).parents(), s = 0; s < i.length; s += 1) L(i[s]).is(r) && n.apply(i[s], a)
                  }
                }

                function l(e) {
                  var t = e && e.target && e.target.dom7EventData || [];
                  t.indexOf(e) < 0 && t.unshift(e), n.apply(this, t)
                }
                "function" == typeof t[1] && (i = (e = t)[0], n = e[1], s = e[2], r = void 0), s || (s = !1);
                for (var d, p = i.split(" "), c = 0; c < this.length; c += 1) {
                  var u = this[c];
                  if (r)
                    for (d = 0; d < p.length; d += 1) {
                      var h = p[d];
                      u.dom7LiveListeners || (u.dom7LiveListeners = {}), u.dom7LiveListeners[h] || (u.dom7LiveListeners[h] = []), u.dom7LiveListeners[h].push({
                        listener: n,
                        proxyListener: o
                      }), u.addEventListener(h, o, s)
                    } else
                      for (d = 0; d < p.length; d += 1) {
                        var v = p[d];
                        u.dom7Listeners || (u.dom7Listeners = {}), u.dom7Listeners[v] || (u.dom7Listeners[v] = []), u.dom7Listeners[v].push({
                          listener: n,
                          proxyListener: l
                        }), u.addEventListener(v, l, s)
                      }
                }
                return this
              },
              off: function() {
                for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a];
                var i = t[0],
                  s = t[1],
                  r = t[2],
                  n = t[3];
                "function" == typeof t[1] && (i = (e = t)[0], r = e[1], n = e[2], s = void 0), n || (n = !1);
                for (var o = i.split(" "), l = 0; l < o.length; l += 1)
                  for (var d = o[l], p = 0; p < this.length; p += 1) {
                    var c = this[p],
                      u = void 0;
                    if (!s && c.dom7Listeners ? u = c.dom7Listeners[d] : s && c.dom7LiveListeners && (u = c.dom7LiveListeners[d]), u && u.length)
                      for (var h = u.length - 1; 0 <= h; h -= 1) {
                        var v = u[h];
                        r && v.listener === r ? (c.removeEventListener(d, v.proxyListener, n), u.splice(h, 1)) : r || (c.removeEventListener(d, v.proxyListener, n), u.splice(h, 1))
                      }
                  }
                return this
              },
              trigger: function() {
                for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
                for (var a = e[0].split(" "), i = e[1], s = 0; s < a.length; s += 1)
                  for (var r = a[s], n = 0; n < this.length; n += 1) {
                    var o = this[n],
                      l = void 0;
                    try {
                      l = new B.CustomEvent(r, {
                        detail: i,
                        bubbles: !0,
                        cancelable: !0
                      })
                    } catch (e) {
                      (l = f.createEvent("Event")).initEvent(r, !0, !0), l.detail = i
                    }
                    o.dom7EventData = e.filter(function(e, t) {
                      return 0 < t
                    }), o.dispatchEvent(l), o.dom7EventData = [], delete o.dom7EventData
                  }
                return this
              },
              transitionEnd: function(t) {
                var a, i = ["webkitTransitionEnd", "transitionend"],
                  s = this;

                function r(e) {
                  if (e.target === this)
                    for (t.call(this, e), a = 0; a < i.length; a += 1) s.off(i[a], r)
                }
                if (t)
                  for (a = 0; a < i.length; a += 1) s.on(i[a], r);
                return this
              },
              outerWidth: function(e) {
                if (0 < this.length) {
                  if (e) {
                    var t = this.styles();
                    return this[0].offsetWidth + parseFloat(t.getPropertyValue("margin-right")) + parseFloat(t.getPropertyValue("margin-left"))
                  }
                  return this[0].offsetWidth
                }
                return null
              },
              outerHeight: function(e) {
                if (0 < this.length) {
                  if (e) {
                    var t = this.styles();
                    return this[0].offsetHeight + parseFloat(t.getPropertyValue("margin-top")) + parseFloat(t.getPropertyValue("margin-bottom"))
                  }
                  return this[0].offsetHeight
                }
                return null
              },
              offset: function() {
                if (0 < this.length) {
                  var e = this[0],
                    t = e.getBoundingClientRect(),
                    a = f.body,
                    i = e.clientTop || a.clientTop || 0,
                    s = e.clientLeft || a.clientLeft || 0,
                    r = e === B ? B.scrollY : e.scrollTop,
                    n = e === B ? B.scrollX : e.scrollLeft;
                  return {
                    top: t.top + r - i,
                    left: t.left + n - s
                  }
                }
                return null
              },
              css: function(e, t) {
                var a;
                if (1 === arguments.length) {
                  if ("string" != typeof e) {
                    for (a = 0; a < this.length; a += 1)
                      for (var i in e) this[a].style[i] = e[i];
                    return this
                  }
                  if (this[0]) return B.getComputedStyle(this[0], null).getPropertyValue(e)
                }
                if (2 === arguments.length && "string" == typeof e) {
                  for (a = 0; a < this.length; a += 1) this[a].style[e] = t;
                  return this
                }
                return this
              },
              each: function(e) {
                if (!e) return this;
                for (var t = 0; t < this.length; t += 1)
                  if (!1 === e.call(this[t], t, this[t])) return this;
                return this
              },
              html: function(e) {
                if (void 0 === e) return this[0] ? this[0].innerHTML : void 0;
                for (var t = 0; t < this.length; t += 1) this[t].innerHTML = e;
                return this
              },
              text: function(e) {
                if (void 0 === e) return this[0] ? this[0].textContent.trim() : null;
                for (var t = 0; t < this.length; t += 1) this[t].textContent = e;
                return this
              },
              is: function(e) {
                var t, a, i = this[0];
                if (!i || void 0 === e) return !1;
                if ("string" == typeof e) {
                  if (i.matches) return i.matches(e);
                  if (i.webkitMatchesSelector) return i.webkitMatchesSelector(e);
                  if (i.msMatchesSelector) return i.msMatchesSelector(e);
                  for (t = L(e), a = 0; a < t.length; a += 1)
                    if (t[a] === i) return !0;
                  return !1
                }
                if (e === f) return i === f;
                if (e === B) return i === B;
                if (e.nodeType || e instanceof l) {
                  for (t = e.nodeType ? [e] : e, a = 0; a < t.length; a += 1)
                    if (t[a] === i) return !0;
                  return !1
                }
                return !1
              },
              index: function() {
                var e, t = this[0];
                if (t) {
                  for (e = 0; null !== (t = t.previousSibling);) 1 === t.nodeType && (e += 1);
                  return e
                }
              },
              eq: function(e) {
                if (void 0 === e) return this;
                var t, a = this.length;
                return new l(a - 1 < e ? [] : e < 0 ? (t = a + e) < 0 ? [] : [this[t]] : [this[e]])
              },
              append: function() {
                for (var e, t = [], a = arguments.length; a--;) t[a] = arguments[a];
                for (var i = 0; i < t.length; i += 1) {
                  e = t[i];
                  for (var s = 0; s < this.length; s += 1)
                    if ("string" == typeof e) {
                      var r = f.createElement("div");
                      for (r.innerHTML = e; r.firstChild;) this[s].appendChild(r.firstChild)
                    } else if (e instanceof l)
                    for (var n = 0; n < e.length; n += 1) this[s].appendChild(e[n]);
                  else this[s].appendChild(e)
                }
                return this
              },
              prepend: function(e) {
                var t, a, i = this;
                for (t = 0; t < this.length; t += 1)
                  if ("string" == typeof e) {
                    var s = f.createElement("div");
                    for (s.innerHTML = e, a = s.childNodes.length - 1; 0 <= a; a -= 1) i[t].insertBefore(s.childNodes[a], i[t].childNodes[0])
                  } else if (e instanceof l)
                  for (a = 0; a < e.length; a += 1) i[t].insertBefore(e[a], i[t].childNodes[0]);
                else i[t].insertBefore(e, i[t].childNodes[0]);
                return this
              },
              next: function(e) {
                return 0 < this.length ? e ? this[0].nextElementSibling && L(this[0].nextElementSibling).is(e) ? new l([this[0].nextElementSibling]) : new l([]) : this[0].nextElementSibling ? new l([this[0].nextElementSibling]) : new l([]) :
                  new l([])
              },
              nextAll: function(e) {
                var t = [],
                  a = this[0];
                if (!a) return new l([]);
                for (; a.nextElementSibling;) {
                  var i = a.nextElementSibling;
                  e ? L(i).is(e) && t.push(i) : t.push(i), a = i
                }
                return new l(t)
              },
              prev: function(e) {
                if (0 < this.length) {
                  var t = this[0];
                  return e ? t.previousElementSibling && L(t.previousElementSibling).is(e) ? new l([t.previousElementSibling]) : new l([]) : t.previousElementSibling ? new l([t.previousElementSibling]) : new l([])
                }
                return new l([])
              },
              prevAll: function(e) {
                var t = [],
                  a = this[0];
                if (!a) return new l([]);
                for (; a.previousElementSibling;) {
                  var i = a.previousElementSibling;
                  e ? L(i).is(e) && t.push(i) : t.push(i), a = i
                }
                return new l(t)
              },
              parent: function(e) {
                for (var t = [], a = 0; a < this.length; a += 1) null !== this[a].parentNode && (e ? L(this[a].parentNode).is(e) && t.push(this[a].parentNode) : t.push(this[a].parentNode));
                return L(r(t))
              },
              parents: function(e) {
                for (var t = [], a = 0; a < this.length; a += 1)
                  for (var i = this[a].parentNode; i;) e ? L(i).is(e) && t.push(i) : t.push(i), i = i.parentNode;
                return L(r(t))
              },
              closest: function(e) {
                var t = this;
                return void 0 === e ? new l([]) : (t.is(e) || (t = t.parents(e).eq(0)), t)
              },
              find: function(e) {
                for (var t = [], a = 0; a < this.length; a += 1)
                  for (var i = this[a].querySelectorAll(e), s = 0; s < i.length; s += 1) t.push(i[s]);
                return new l(t)
              },
              children: function(e) {
                for (var t = [], a = 0; a < this.length; a += 1)
                  for (var i = this[a].childNodes, s = 0; s < i.length; s += 1) e ? 1 === i[s].nodeType && L(i[s]).is(e) && t.push(i[s]) : 1 === i[s].nodeType && t.push(i[s]);
                return new l(r(t))
              },
              remove: function() {
                for (var e = 0; e < this.length; e += 1) this[e].parentNode && this[e].parentNode.removeChild(this[e]);
                return this
              },
              add: function() {
                for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
                var a, i;
                for (a = 0; a < e.length; a += 1) {
                  var s = L(e[a]);
                  for (i = 0; i < s.length; i += 1) this[this.length] = s[i], this.length += 1
                }
                return this
              },
              styles: function() {
                return this[0] ? B.getComputedStyle(this[0], null) : {}
              }
            };
            Object.keys(t).forEach(function(e) {
              L.fn[e] = t[e]
            });
            var e, a, i, X = {
                deleteProps: function(e) {
                  var t = e;
                  Object.keys(t).forEach(function(e) {
                    try {
                      t[e] = null
                    } catch (e) {}
                    try {
                      delete t[e]
                    } catch (e) {}
                  })
                },
                nextTick: function(e, t) {
                  return void 0 === t && (t = 0), setTimeout(e, t)
                },
                now: function() {
                  return Date.now()
                },
                getTranslate: function(e, t) {
                  var a, i, s;
                  void 0 === t && (t = "x");
                  var r = B.getComputedStyle(e, null);
                  return B.WebKitCSSMatrix ? (6 < (i = r.transform || r.webkitTransform).split(",").length && (i = i.split(", ").map(function(e) {
                    return e.replace(",", ".")
                  }).join(", ")), s = new B.WebKitCSSMatrix("none" === i ? "" : i)) : a = (s = r.MozTransform || r.OTransform || r.MsTransform || r.msTransform || r.transform || r.getPropertyValue("transform").replace("translate(",
                    "matrix(1, 0, 0, 1,")).toString().split(","), "x" === t && (i = B.WebKitCSSMatrix ? s.m41 : 16 === a.length ? parseFloat(a[12]) : parseFloat(a[4])), "y" === t && (i = B.WebKitCSSMatrix ? s.m42 : 16 === a.length ? parseFloat(
                    a[13]) : parseFloat(a[5])), i || 0
                },
                parseUrlQuery: function(e) {
                  var t, a, i, s, r = {},
                    n = e || B.location.href;
                  if ("string" == typeof n && n.length)
                    for (s = (a = (n = -1 < n.indexOf("?") ? n.replace(/\S*\?/, "") : "").split("&").filter(function(e) {
                        return "" !== e
                      })).length, t = 0; t < s; t += 1) i = a[t].replace(/#\S+/g, "").split("="), r[decodeURIComponent(i[0])] = void 0 === i[1] ? void 0 : decodeURIComponent(i[1]) || "";
                  return r
                },
                isObject: function(e) {
                  return "object" == typeof e && null !== e && e.constructor && e.constructor === Object
                },
                extend: function() {
                  for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
                  for (var a = Object(e[0]), i = 1; i < e.length; i += 1) {
                    var s = e[i];
                    if (null != s)
                      for (var r = Object.keys(Object(s)), n = 0, o = r.length; n < o; n += 1) {
                        var l = r[n],
                          d = Object.getOwnPropertyDescriptor(s, l);
                        void 0 !== d && d.enumerable && (X.isObject(a[l]) && X.isObject(s[l]) ? X.extend(a[l], s[l]) : !X.isObject(a[l]) && X.isObject(s[l]) ? (a[l] = {}, X.extend(a[l], s[l])) : a[l] = s[l])
                      }
                  }
                  return a
                }
              },
              Y = (i = f.createElement("div"), {
                touch: B.Modernizr && !0 === B.Modernizr.touch || !!("ontouchstart" in B || B.DocumentTouch && f instanceof B.DocumentTouch),
                pointerEvents: !(!B.navigator.pointerEnabled && !B.PointerEvent),
                prefixedPointerEvents: !!B.navigator.msPointerEnabled,
                transition: (a = i.style, "transition" in a || "webkitTransition" in a || "MozTransition" in a),
                transforms3d: B.Modernizr && !0 === B.Modernizr.csstransforms3d || (e = i.style, "webkitPerspective" in e || "MozPerspective" in e || "OPerspective" in e || "MsPerspective" in e || "perspective" in e),
                flexbox: function() {
                  for (var e = i.style, t = "alignItems webkitAlignItems webkitBoxAlign msFlexAlign mozBoxAlign webkitFlexDirection msFlexDirection mozBoxDirection mozBoxOrient webkitBoxDirection webkitBoxOrient".split(" "), a = 0; a < t
                    .length; a += 1)
                    if (t[a] in e) return !0;
                  return !1
                }(),
                observer: "MutationObserver" in B || "WebkitMutationObserver" in B,
                passiveListener: function() {
                  var e = !1;
                  try {
                    var t = Object.defineProperty({}, "passive", {
                      get: function() {
                        e = !0
                      }
                    });
                    B.addEventListener("testPassiveListener", null, t)
                  } catch (e) {}
                  return e
                }(),
                gestures: "ongesturestart" in B
              }),
              s = function(e) {
                void 0 === e && (e = {});
                var t = this;
                t.params = e, t.eventsListeners = {}, t.params && t.params.on && Object.keys(t.params.on).forEach(function(e) {
                  t.on(e, t.params.on[e])
                })
              },
              n = {
                components: {
                  configurable: !0
                }
              };
            s.prototype.on = function(e, t, a) {
              var i = this;
              if ("function" != typeof t) return i;
              var s = a ? "unshift" : "push";
              return e.split(" ").forEach(function(e) {
                i.eventsListeners[e] || (i.eventsListeners[e] = []), i.eventsListeners[e][s](t)
              }), i
            }, s.prototype.once = function(i, s, e) {
              var r = this;
              if ("function" != typeof s) return r;
              return r.on(i, function e() {
                for (var t = [], a = arguments.length; a--;) t[a] = arguments[a];
                s.apply(r, t), r.off(i, e)
              }, e)
            }, s.prototype.off = function(e, i) {
              var s = this;
              return s.eventsListeners && e.split(" ").forEach(function(a) {
                void 0 === i ? s.eventsListeners[a] = [] : s.eventsListeners[a].forEach(function(e, t) {
                  e === i && s.eventsListeners[a].splice(t, 1)
                })
              }), s
            }, s.prototype.emit = function() {
              for (var e = [], t = arguments.length; t--;) e[t] = arguments[t];
              var a, i, s, r = this;
              return r.eventsListeners && ("string" == typeof e[0] || Array.isArray(e[0]) ? (a = e[0], i = e.slice(1, e.length), s = r) : (a = e[0].events, i = e[0].data, s = e[0].context || r), (Array.isArray(a) ? a : a.split(" ")).forEach(
                function(e) {
                  if (r.eventsListeners && r.eventsListeners[e]) {
                    var t = [];
                    r.eventsListeners[e].forEach(function(e) {
                      t.push(e)
                    }), t.forEach(function(e) {
                      e.apply(s, i)
                    })
                  }
                })), r
            }, s.prototype.useModulesParams = function(a) {
              var i = this;
              i.modules && Object.keys(i.modules).forEach(function(e) {
                var t = i.modules[e];
                t.params && X.extend(a, t.params)
              })
            }, s.prototype.useModules = function(i) {
              void 0 === i && (i = {});
              var s = this;
              s.modules && Object.keys(s.modules).forEach(function(e) {
                var a = s.modules[e],
                  t = i[e] || {};
                a.instance && Object.keys(a.instance).forEach(function(e) {
                  var t = a.instance[e];
                  s[e] = "function" == typeof t ? t.bind(s) : t
                }), a.on && s.on && Object.keys(a.on).forEach(function(e) {
                  s.on(e, a.on[e])
                }), a.create && a.create.bind(s)(t)
              })
            }, n.components.set = function(e) {
              this.use && this.use(e)
            }, s.installModule = function(t) {
              for (var e = [], a = arguments.length - 1; 0 < a--;) e[a] = arguments[a + 1];
              var i = this;
              i.prototype.modules || (i.prototype.modules = {});
              var s = t.name || Object.keys(i.prototype.modules).length + "_" + X.now();
              return (i.prototype.modules[s] = t).proto && Object.keys(t.proto).forEach(function(e) {
                i.prototype[e] = t.proto[e]
              }), t.static && Object.keys(t.static).forEach(function(e) {
                i[e] = t.static[e]
              }), t.install && t.install.apply(i, e), i
            }, s.use = function(e) {
              for (var t = [], a = arguments.length - 1; 0 < a--;) t[a] = arguments[a + 1];
              var i = this;
              return Array.isArray(e) ? (e.forEach(function(e) {
                return i.installModule(e)
              }), i) : i.installModule.apply(i, [e].concat(t))
            }, Object.defineProperties(s, n);
            var o = {
              updateSize: function() {
                var e, t, a = this,
                  i = a.$el;
                e = void 0 !== a.params.width ? a.params.width : i[0].clientWidth, t = void 0 !== a.params.height ? a.params.height : i[0].clientHeight, 0 === e && a.isHorizontal() || 0 === t && a.isVertical() || (e = e - parseInt(i.css(
                  "padding-left"), 10) - parseInt(i.css("padding-right"), 10), t = t - parseInt(i.css("padding-top"), 10) - parseInt(i.css("padding-bottom"), 10), X.extend(a, {
                  width: e,
                  height: t,
                  size: a.isHorizontal() ? e : t
                }))
              },
              updateSlides: function() {
                var e = this,
                  t = e.params,
                  a = e.$wrapperEl,
                  i = e.size,
                  s = e.rtlTranslate,
                  r = e.wrongRTL,
                  n = e.virtual && t.virtual.enabled,
                  o = n ? e.virtual.slides.length : e.slides.length,
                  l = a.children("." + e.params.slideClass),
                  d = n ? e.virtual.slides.length : l.length,
                  p = [],
                  c = [],
                  u = [],
                  h = t.slidesOffsetBefore;
                "function" == typeof h && (h = t.slidesOffsetBefore.call(e));
                var v = t.slidesOffsetAfter;
                "function" == typeof v && (v = t.slidesOffsetAfter.call(e));
                var f = e.snapGrid.length,
                  m = e.snapGrid.length,
                  g = t.spaceBetween,
                  b = -h,
                  w = 0,
                  y = 0;
                if (void 0 !== i) {
                  var x, E;
                  "string" == typeof g && 0 <= g.indexOf("%") && (g = parseFloat(g.replace("%", "")) / 100 * i), e.virtualSize = -g, s ? l.css({
                    marginLeft: "",
                    marginTop: ""
                  }) : l.css({
                    marginRight: "",
                    marginBottom: ""
                  }), 1 < t.slidesPerColumn && (x = Math.floor(d / t.slidesPerColumn) === d / e.params.slidesPerColumn ? d : Math.ceil(d / t.slidesPerColumn) * t.slidesPerColumn, "auto" !== t.slidesPerView && "row" === t
                    .slidesPerColumnFill && (x = Math.max(x, t.slidesPerView * t.slidesPerColumn)));
                  for (var T, S = t.slidesPerColumn, C = x / S, M = C - (t.slidesPerColumn * C - d), z = 0; z < d; z += 1) {
                    E = 0;
                    var k = l.eq(z);
                    if (1 < t.slidesPerColumn) {
                      var P = void 0,
                        $ = void 0,
                        L = void 0;
                      "column" === t.slidesPerColumnFill ? (L = z - ($ = Math.floor(z / S)) * S, (M < $ || $ === M && L === S - 1) && S <= (L += 1) && (L = 0, $ += 1), P = $ + L * x / S, k.css({
                        "-webkit-box-ordinal-group": P,
                        "-moz-box-ordinal-group": P,
                        "-ms-flex-order": P,
                        "-webkit-order": P,
                        order: P
                      })) : $ = z - (L = Math.floor(z / C)) * C, k.css("margin-" + (e.isHorizontal() ? "top" : "left"), 0 !== L && t.spaceBetween && t.spaceBetween + "px").attr("data-swiper-column", $).attr("data-swiper-row", L)
                    }
                    if ("none" !== k.css("display")) {
                      if ("auto" === t.slidesPerView) {
                        var I = B.getComputedStyle(k[0], null),
                          D = k[0].style.transform,
                          O = k[0].style.webkitTransform;
                        D && (k[0].style.transform = "none"), O && (k[0].style.webkitTransform = "none"), E = e.isHorizontal() ? k[0].getBoundingClientRect().width + parseFloat(I.getPropertyValue("margin-left")) + parseFloat(I.getPropertyValue(
                          "margin-right")) : k[0].getBoundingClientRect().height + parseFloat(I.getPropertyValue("margin-top")) + parseFloat(I.getPropertyValue("margin-bottom")), D && (k[0].style.transform = D), O && (k[0].style
                          .webkitTransform = O), t.roundLengths && (E = Math.floor(E))
                      } else E = (i - (t.slidesPerView - 1) * g) / t.slidesPerView, t.roundLengths && (E = Math.floor(E)), l[z] && (e.isHorizontal() ? l[z].style.width = E + "px" : l[z].style.height = E + "px");
                      l[z] && (l[z].swiperSlideSize = E), u.push(E), t.centeredSlides ? (b = b + E / 2 + w / 2 + g, 0 === w && 0 !== z && (b = b - i / 2 - g), 0 === z && (b = b - i / 2 - g), Math.abs(b) < .001 && (b = 0), t.roundLengths && (b =
                        Math.floor(b)), y % t.slidesPerGroup == 0 && p.push(b), c.push(b)) : (t.roundLengths && (b = Math.floor(b)), y % t.slidesPerGroup == 0 && p.push(b), c.push(b), b = b + E + g), e.virtualSize += E + g, w = E, y += 1
                    }
                  }
                  if (e.virtualSize = Math.max(e.virtualSize, i) + v, s && r && ("slide" === t.effect || "coverflow" === t.effect) && a.css({
                      width: e.virtualSize + t.spaceBetween + "px"
                    }), Y.flexbox && !t.setWrapperSize || (e.isHorizontal() ? a.css({
                      width: e.virtualSize + t.spaceBetween + "px"
                    }) : a.css({
                      height: e.virtualSize + t.spaceBetween + "px"
                    })), 1 < t.slidesPerColumn && (e.virtualSize = (E + t.spaceBetween) * x, e.virtualSize = Math.ceil(e.virtualSize / t.slidesPerColumn) - t.spaceBetween, e.isHorizontal() ? a.css({
                      width: e.virtualSize + t.spaceBetween + "px"
                    }) : a.css({
                      height: e.virtualSize + t.spaceBetween + "px"
                    }), t.centeredSlides)) {
                    T = [];
                    for (var A = 0; A < p.length; A += 1) {
                      var H = p[A];
                      t.roundLengths && (H = Math.floor(H)), p[A] < e.virtualSize + p[0] && T.push(H)
                    }
                    p = T
                  }
                  if (!t.centeredSlides) {
                    T = [];
                    for (var G = 0; G < p.length; G += 1) {
                      var N = p[G];
                      t.roundLengths && (N = Math.floor(N)), p[G] <= e.virtualSize - i && T.push(N)
                    }
                    p = T, 1 < Math.floor(e.virtualSize - i) - Math.floor(p[p.length - 1]) && p.push(e.virtualSize - i)
                  }
                  0 === p.length && (p = [0]), 0 !== t.spaceBetween && (e.isHorizontal() ? s ? l.css({
                    marginLeft: g + "px"
                  }) : l.css({
                    marginRight: g + "px"
                  }) : l.css({
                    marginBottom: g + "px"
                  })), X.extend(e, {
                    slides: l,
                    snapGrid: p,
                    slidesGrid: c,
                    slidesSizesGrid: u
                  }), d !== o && e.emit("slidesLengthChange"), p.length !== f && (e.params.watchOverflow && e.checkOverflow(), e.emit("snapGridLengthChange")), c.length !== m && e.emit("slidesGridLengthChange"), (t.watchSlidesProgress || t
                    .watchSlidesVisibility) && e.updateSlidesOffset()
                }
              },
              updateAutoHeight: function(e) {
                var t, a = this,
                  i = [],
                  s = 0;
                if ("number" == typeof e ? a.setTransition(e) : !0 === e && a.setTransition(a.params.speed), "auto" !== a.params.slidesPerView && 1 < a.params.slidesPerView)
                  for (t = 0; t < Math.ceil(a.params.slidesPerView); t += 1) {
                    var r = a.activeIndex + t;
                    if (r > a.slides.length) break;
                    i.push(a.slides.eq(r)[0])
                  } else i.push(a.slides.eq(a.activeIndex)[0]);
                for (t = 0; t < i.length; t += 1)
                  if (void 0 !== i[t]) {
                    var n = i[t].offsetHeight;
                    s = s < n ? n : s
                  } s && a.$wrapperEl.css("height", s + "px")
              },
              updateSlidesOffset: function() {
                for (var e = this.slides, t = 0; t < e.length; t += 1) e[t].swiperSlideOffset = this.isHorizontal() ? e[t].offsetLeft : e[t].offsetTop
              },
              updateSlidesProgress: function(e) {
                void 0 === e && (e = this && this.translate || 0);
                var t = this,
                  a = t.params,
                  i = t.slides,
                  s = t.rtlTranslate;
                if (0 !== i.length) {
                  void 0 === i[0].swiperSlideOffset && t.updateSlidesOffset();
                  var r = -e;
                  s && (r = e), i.removeClass(a.slideVisibleClass);
                  for (var n = 0; n < i.length; n += 1) {
                    var o = i[n],
                      l = (r + (a.centeredSlides ? t.minTranslate() : 0) - o.swiperSlideOffset) / (o.swiperSlideSize + a.spaceBetween);
                    if (a.watchSlidesVisibility) {
                      var d = -(r - o.swiperSlideOffset),
                        p = d + t.slidesSizesGrid[n];
                      (0 <= d && d < t.size || 0 < p && p <= t.size || d <= 0 && p >= t.size) && i.eq(n).addClass(a.slideVisibleClass)
                    }
                    o.progress = s ? -l : l
                  }
                }
              },
              updateProgress: function(e) {
                void 0 === e && (e = this && this.translate || 0);
                var t = this,
                  a = t.params,
                  i = t.maxTranslate() - t.minTranslate(),
                  s = t.progress,
                  r = t.isBeginning,
                  n = t.isEnd,
                  o = r,
                  l = n;
                0 === i ? n = r = !(s = 0) : (r = (s = (e - t.minTranslate()) / i) <= 0, n = 1 <= s), X.extend(t, {
                  progress: s,
                  isBeginning: r,
                  isEnd: n
                }), (a.watchSlidesProgress || a.watchSlidesVisibility) && t.updateSlidesProgress(e), r && !o && t.emit("reachBeginning toEdge"), n && !l && t.emit("reachEnd toEdge"), (o && !r || l && !n) && t.emit("fromEdge"), t.emit(
                  "progress", s)
              },
              updateSlidesClasses: function() {
                var e, t = this,
                  a = t.slides,
                  i = t.params,
                  s = t.$wrapperEl,
                  r = t.activeIndex,
                  n = t.realIndex,
                  o = t.virtual && i.virtual.enabled;
                a.removeClass(i.slideActiveClass + " " + i.slideNextClass + " " + i.slidePrevClass + " " + i.slideDuplicateActiveClass + " " + i.slideDuplicateNextClass + " " + i.slideDuplicatePrevClass), (e = o ? t.$wrapperEl.find("." + i
                  .slideClass + '[data-swiper-slide-index="' + r + '"]') : a.eq(r)).addClass(i.slideActiveClass), i.loop && (e.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass +
                    ')[data-swiper-slide-index="' + n + '"]').addClass(i.slideDuplicateActiveClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + n + '"]').addClass(i
                  .slideDuplicateActiveClass));
                var l = e.nextAll("." + i.slideClass).eq(0).addClass(i.slideNextClass);
                i.loop && 0 === l.length && (l = a.eq(0)).addClass(i.slideNextClass);
                var d = e.prevAll("." + i.slideClass).eq(0).addClass(i.slidePrevClass);
                i.loop && 0 === d.length && (d = a.eq(-1)).addClass(i.slidePrevClass), i.loop && (l.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + l.attr(
                  "data-swiper-slide-index") + '"]').addClass(i.slideDuplicateNextClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + l.attr("data-swiper-slide-index") + '"]').addClass(i
                  .slideDuplicateNextClass), d.hasClass(i.slideDuplicateClass) ? s.children("." + i.slideClass + ":not(." + i.slideDuplicateClass + ')[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i
                  .slideDuplicatePrevClass) : s.children("." + i.slideClass + "." + i.slideDuplicateClass + '[data-swiper-slide-index="' + d.attr("data-swiper-slide-index") + '"]').addClass(i.slideDuplicatePrevClass))
              },
              updateActiveIndex: function(e) {
                var t, a = this,
                  i = a.rtlTranslate ? a.translate : -a.translate,
                  s = a.slidesGrid,
                  r = a.snapGrid,
                  n = a.params,
                  o = a.activeIndex,
                  l = a.realIndex,
                  d = a.snapIndex,
                  p = e;
                if (void 0 === p) {
                  for (var c = 0; c < s.length; c += 1) void 0 !== s[c + 1] ? i >= s[c] && i < s[c + 1] - (s[c + 1] - s[c]) / 2 ? p = c : i >= s[c] && i < s[c + 1] && (p = c + 1) : i >= s[c] && (p = c);
                  n.normalizeSlideIndex && (p < 0 || void 0 === p) && (p = 0)
                }
                if ((t = 0 <= r.indexOf(i) ? r.indexOf(i) : Math.floor(p / n.slidesPerGroup)) >= r.length && (t = r.length - 1), p !== o) {
                  var u = parseInt(a.slides.eq(p).attr("data-swiper-slide-index") || p, 10);
                  X.extend(a, {
                    snapIndex: t,
                    realIndex: u,
                    previousIndex: o,
                    activeIndex: p
                  }), a.emit("activeIndexChange"), a.emit("snapIndexChange"), l !== u && a.emit("realIndexChange"), a.emit("slideChange")
                } else t !== d && (a.snapIndex = t, a.emit("snapIndexChange"))
              },
              updateClickedSlide: function(e) {
                var t = this,
                  a = t.params,
                  i = L(e.target).closest("." + a.slideClass)[0],
                  s = !1;
                if (i)
                  for (var r = 0; r < t.slides.length; r += 1) t.slides[r] === i && (s = !0);
                if (!i || !s) return t.clickedSlide = void 0, void(t.clickedIndex = void 0);
                t.clickedSlide = i, t.virtual && t.params.virtual.enabled ? t.clickedIndex = parseInt(L(i).attr("data-swiper-slide-index"), 10) : t.clickedIndex = L(i).index(), a.slideToClickedSlide && void 0 !== t.clickedIndex && t
                  .clickedIndex !== t.activeIndex && t.slideToClickedSlide()
              }
            };
            var d = {
              getTranslate: function(e) {
                void 0 === e && (e = this.isHorizontal() ? "x" : "y");
                var t = this.params,
                  a = this.rtlTranslate,
                  i = this.translate,
                  s = this.$wrapperEl;
                if (t.virtualTranslate) return a ? -i : i;
                var r = X.getTranslate(s[0], e);
                return a && (r = -r), r || 0
              },
              setTranslate: function(e, t) {
                var a = this,
                  i = a.rtlTranslate,
                  s = a.params,
                  r = a.$wrapperEl,
                  n = a.progress,
                  o = 0,
                  l = 0;
                a.isHorizontal() ? o = i ? -e : e : l = e, s.roundLengths && (o = Math.floor(o), l = Math.floor(l)), s.virtualTranslate || (Y.transforms3d ? r.transform("translate3d(" + o + "px, " + l + "px, 0px)") : r.transform("translate(" +
                  o + "px, " + l + "px)")), a.previousTranslate = a.translate, a.translate = a.isHorizontal() ? o : l;
                var d = a.maxTranslate() - a.minTranslate();
                (0 === d ? 0 : (e - a.minTranslate()) / d) !== n && a.updateProgress(e), a.emit("setTranslate", a.translate, t)
              },
              minTranslate: function() {
                return -this.snapGrid[0]
              },
              maxTranslate: function() {
                return -this.snapGrid[this.snapGrid.length - 1]
              }
            };
            var p = {
              setTransition: function(e, t) {
                this.$wrapperEl.transition(e), this.emit("setTransition", e, t)
              },
              transitionStart: function(e, t) {
                void 0 === e && (e = !0);
                var a = this,
                  i = a.activeIndex,
                  s = a.params,
                  r = a.previousIndex;
                s.autoHeight && a.updateAutoHeight();
                var n = t;
                if (n || (n = r < i ? "next" : i < r ? "prev" : "reset"), a.emit("transitionStart"), e && i !== r) {
                  if ("reset" === n) return void a.emit("slideResetTransitionStart");
                  a.emit("slideChangeTransitionStart"), "next" === n ? a.emit("slideNextTransitionStart") : a.emit("slidePrevTransitionStart")
                }
              },
              transitionEnd: function(e, t) {
                void 0 === e && (e = !0);
                var a = this,
                  i = a.activeIndex,
                  s = a.previousIndex;
                a.animating = !1, a.setTransition(0);
                var r = t;
                if (r || (r = s < i ? "next" : i < s ? "prev" : "reset"), a.emit("transitionEnd"), e && i !== s) {
                  if ("reset" === r) return void a.emit("slideResetTransitionEnd");
                  a.emit("slideChangeTransitionEnd"), "next" === r ? a.emit("slideNextTransitionEnd") : a.emit("slidePrevTransitionEnd")
                }
              }
            };
            var c = {
              slideTo: function(e, t, a, i) {
                void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0);
                var s = this,
                  r = e;
                r < 0 && (r = 0);
                var n = s.params,
                  o = s.snapGrid,
                  l = s.slidesGrid,
                  d = s.previousIndex,
                  p = s.activeIndex,
                  c = s.rtlTranslate;
                if (s.animating && n.preventInteractionOnTransition) return !1;
                var u = Math.floor(r / n.slidesPerGroup);
                u >= o.length && (u = o.length - 1), (p || n.initialSlide || 0) === (d || 0) && a && s.emit("beforeSlideChangeStart");
                var h, v = -o[u];
                if (s.updateProgress(v), n.normalizeSlideIndex)
                  for (var f = 0; f < l.length; f += 1) - Math.floor(100 * v) >= Math.floor(100 * l[f]) && (r = f);
                if (s.initialized && r !== p) {
                  if (!s.allowSlideNext && v < s.translate && v < s.minTranslate()) return !1;
                  if (!s.allowSlidePrev && v > s.translate && v > s.maxTranslate() && (p || 0) !== r) return !1
                }
                return h = p < r ? "next" : r < p ? "prev" : "reset", c && -v === s.translate || !c && v === s.translate ? (s.updateActiveIndex(r), n.autoHeight && s.updateAutoHeight(), s.updateSlidesClasses(), "slide" !== n.effect && s
                  .setTranslate(v), "reset" !== h && (s.transitionStart(a, h), s.transitionEnd(a, h)), !1) : (0 !== t && Y.transition ? (s.setTransition(t), s.setTranslate(v), s.updateActiveIndex(r), s.updateSlidesClasses(), s.emit(
                  "beforeTransitionStart", t, i), s.transitionStart(a, h), s.animating || (s.animating = !0, s.onSlideToWrapperTransitionEnd || (s.onSlideToWrapperTransitionEnd = function(e) {
                  s && !s.destroyed && e.target === this && (s.$wrapperEl[0].removeEventListener("transitionend", s.onSlideToWrapperTransitionEnd), s.$wrapperEl[0].removeEventListener("webkitTransitionEnd", s
                    .onSlideToWrapperTransitionEnd), s.onSlideToWrapperTransitionEnd = null, delete s.onSlideToWrapperTransitionEnd, s.transitionEnd(a, h))
                }), s.$wrapperEl[0].addEventListener("transitionend", s.onSlideToWrapperTransitionEnd), s.$wrapperEl[0].addEventListener("webkitTransitionEnd", s.onSlideToWrapperTransitionEnd))) : (s.setTransition(0), s.setTranslate(v), s
                  .updateActiveIndex(r), s.updateSlidesClasses(), s.emit("beforeTransitionStart", t, i), s.transitionStart(a, h), s.transitionEnd(a, h)), !0)
              },
              slideToLoop: function(e, t, a, i) {
                void 0 === e && (e = 0), void 0 === t && (t = this.params.speed), void 0 === a && (a = !0);
                var s = e;
                return this.params.loop && (s += this.loopedSlides), this.slideTo(s, t, a, i)
              },
              slideNext: function(e, t, a) {
                void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
                var i = this,
                  s = i.params,
                  r = i.animating;
                return s.loop ? !r && (i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft, i.slideTo(i.activeIndex + s.slidesPerGroup, e, t, a)) : i.slideTo(i.activeIndex + s.slidesPerGroup, e, t, a)
              },
              slidePrev: function(e, t, a) {
                void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
                var i = this,
                  s = i.params,
                  r = i.animating,
                  n = i.snapGrid,
                  o = i.slidesGrid,
                  l = i.rtlTranslate;
                if (s.loop) {
                  if (r) return !1;
                  i.loopFix(), i._clientLeft = i.$wrapperEl[0].clientLeft
                }

                function d(e) {
                  return e < 0 ? -Math.floor(Math.abs(e)) : Math.floor(e)
                }
                var p, c = d(l ? i.translate : -i.translate),
                  u = n.map(function(e) {
                    return d(e)
                  }),
                  h = (o.map(function(e) {
                    return d(e)
                  }), n[u.indexOf(c)], n[u.indexOf(c) - 1]);
                return void 0 !== h && (p = o.indexOf(h)) < 0 && (p = i.activeIndex - 1), i.slideTo(p, e, t, a)
              },
              slideReset: function(e, t, a) {
                return void 0 === e && (e = this.params.speed), void 0 === t && (t = !0), this.slideTo(this.activeIndex, e, t, a)
              },
              slideToClosest: function(e, t, a) {
                void 0 === e && (e = this.params.speed), void 0 === t && (t = !0);
                var i = this,
                  s = i.activeIndex,
                  r = Math.floor(s / i.params.slidesPerGroup);
                if (r < i.snapGrid.length - 1) {
                  var n = i.rtlTranslate ? i.translate : -i.translate,
                    o = i.snapGrid[r];
                  (i.snapGrid[r + 1] - o) / 2 < n - o && (s = i.params.slidesPerGroup)
                }
                return i.slideTo(s, e, t, a)
              },
              slideToClickedSlide: function() {
                var e, t = this,
                  a = t.params,
                  i = t.$wrapperEl,
                  s = "auto" === a.slidesPerView ? t.slidesPerViewDynamic() : a.slidesPerView,
                  r = t.clickedIndex;
                if (a.loop) {
                  if (t.animating) return;
                  e = parseInt(L(t.clickedSlide).attr("data-swiper-slide-index"), 10), a.centeredSlides ? r < t.loopedSlides - s / 2 || r > t.slides.length - t.loopedSlides + s / 2 ? (t.loopFix(), r = i.children("." + a.slideClass +
                    '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), X.nextTick(function() {
                    t.slideTo(r)
                  })) : t.slideTo(r) : r > t.slides.length - s ? (t.loopFix(), r = i.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]:not(.' + a.slideDuplicateClass + ")").eq(0).index(), X.nextTick(function() {
                    t.slideTo(r)
                  })) : t.slideTo(r)
                } else t.slideTo(r)
              }
            };
            var u = {
              loopCreate: function() {
                var i = this,
                  e = i.params,
                  t = i.$wrapperEl;
                t.children("." + e.slideClass + "." + e.slideDuplicateClass).remove();
                var s = t.children("." + e.slideClass);
                if (e.loopFillGroupWithBlank) {
                  var a = e.slidesPerGroup - s.length % e.slidesPerGroup;
                  if (a !== e.slidesPerGroup) {
                    for (var r = 0; r < a; r += 1) {
                      var n = L(f.createElement("div")).addClass(e.slideClass + " " + e.slideBlankClass);
                      t.append(n)
                    }
                    s = t.children("." + e.slideClass)
                  }
                }
                "auto" !== e.slidesPerView || e.loopedSlides || (e.loopedSlides = s.length), i.loopedSlides = parseInt(e.loopedSlides || e.slidesPerView, 10), i.loopedSlides += e.loopAdditionalSlides, i.loopedSlides > s.length && (i
                  .loopedSlides = s.length);
                var o = [],
                  l = [];
                s.each(function(e, t) {
                  var a = L(t);
                  e < i.loopedSlides && l.push(t), e < s.length && e >= s.length - i.loopedSlides && o.push(t), a.attr("data-swiper-slide-index", e)
                });
                for (var d = 0; d < l.length; d += 1) t.append(L(l[d].cloneNode(!0)).addClass(e.slideDuplicateClass));
                for (var p = o.length - 1; 0 <= p; p -= 1) t.prepend(L(o[p].cloneNode(!0)).addClass(e.slideDuplicateClass))
              },
              loopFix: function() {
                var e, t = this,
                  a = t.params,
                  i = t.activeIndex,
                  s = t.slides,
                  r = t.loopedSlides,
                  n = t.allowSlidePrev,
                  o = t.allowSlideNext,
                  l = t.snapGrid,
                  d = t.rtlTranslate;
                t.allowSlidePrev = !0, t.allowSlideNext = !0;
                var p = -l[i] - t.getTranslate();
                i < r ? (e = s.length - 3 * r + i, e += r, t.slideTo(e, 0, !1, !0) && 0 !== p && t.setTranslate((d ? -t.translate : t.translate) - p)) : ("auto" === a.slidesPerView && 2 * r <= i || i >= s.length - r) && (e = -s.length + i + r,
                  e += r, t.slideTo(e, 0, !1, !0) && 0 !== p && t.setTranslate((d ? -t.translate : t.translate) - p));
                t.allowSlidePrev = n, t.allowSlideNext = o
              },
              loopDestroy: function() {
                var e = this.$wrapperEl,
                  t = this.params,
                  a = this.slides;
                e.children("." + t.slideClass + "." + t.slideDuplicateClass).remove(), a.removeAttr("data-swiper-slide-index")
              }
            };
            var h = {
              setGrabCursor: function(e) {
                if (!(Y.touch || !this.params.simulateTouch || this.params.watchOverflow && this.isLocked)) {
                  var t = this.el;
                  t.style.cursor = "move", t.style.cursor = e ? "-webkit-grabbing" : "-webkit-grab", t.style.cursor = e ? "-moz-grabbin" : "-moz-grab", t.style.cursor = e ? "grabbing" : "grab"
                }
              },
              unsetGrabCursor: function() {
                Y.touch || this.params.watchOverflow && this.isLocked || (this.el.style.cursor = "")
              }
            };
            var v = {
                appendSlide: function(e) {
                  var t = this,
                    a = t.$wrapperEl,
                    i = t.params;
                  if (i.loop && t.loopDestroy(), "object" == typeof e && "length" in e)
                    for (var s = 0; s < e.length; s += 1) e[s] && a.append(e[s]);
                  else a.append(e);
                  i.loop && t.loopCreate(), i.observer && Y.observer || t.update()
                },
                prependSlide: function(e) {
                  var t = this,
                    a = t.params,
                    i = t.$wrapperEl,
                    s = t.activeIndex;
                  a.loop && t.loopDestroy();
                  var r = s + 1;
                  if ("object" == typeof e && "length" in e) {
                    for (var n = 0; n < e.length; n += 1) e[n] && i.prepend(e[n]);
                    r = s + e.length
                  } else i.prepend(e);
                  a.loop && t.loopCreate(), a.observer && Y.observer || t.update(), t.slideTo(r, 0, !1)
                },
                addSlide: function(e, t) {
                  var a = this,
                    i = a.$wrapperEl,
                    s = a.params,
                    r = a.activeIndex;
                  s.loop && (r -= a.loopedSlides, a.loopDestroy(), a.slides = i.children("." + s.slideClass));
                  var n = a.slides.length;
                  if (e <= 0) a.prependSlide(t);
                  else if (n <= e) a.appendSlide(t);
                  else {
                    for (var o = e < r ? r + 1 : r, l = [], d = n - 1; e <= d; d -= 1) {
                      var p = a.slides.eq(d);
                      p.remove(), l.unshift(p)
                    }
                    if ("object" == typeof t && "length" in t) {
                      for (var c = 0; c < t.length; c += 1) t[c] && i.append(t[c]);
                      o = e < r ? r + t.length : r
                    } else i.append(t);
                    for (var u = 0; u < l.length; u += 1) i.append(l[u]);
                    s.loop && a.loopCreate(), s.observer && Y.observer || a.update(), s.loop ? a.slideTo(o + a.loopedSlides, 0, !1) : a.slideTo(o, 0, !1)
                  }
                },
                removeSlide: function(e) {
                  var t = this,
                    a = t.params,
                    i = t.$wrapperEl,
                    s = t.activeIndex;
                  a.loop && (s -= t.loopedSlides, t.loopDestroy(), t.slides = i.children("." + a.slideClass));
                  var r, n = s;
                  if ("object" == typeof e && "length" in e) {
                    for (var o = 0; o < e.length; o += 1) r = e[o], t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1);
                    n = Math.max(n, 0)
                  } else r = e, t.slides[r] && t.slides.eq(r).remove(), r < n && (n -= 1), n = Math.max(n, 0);
                  a.loop && t.loopCreate(), a.observer && Y.observer || t.update(), a.loop ? t.slideTo(n + t.loopedSlides, 0, !1) : t.slideTo(n, 0, !1)
                },
                removeAllSlides: function() {
                  for (var e = [], t = 0; t < this.slides.length; t += 1) e.push(t);
                  this.removeSlide(e)
                }
              },
              m = function() {
                var e = B.navigator.userAgent,
                  t = {
                    ios: !1,
                    android: !1,
                    androidChrome: !1,
                    desktop: !1,
                    windows: !1,
                    iphone: !1,
                    ipod: !1,
                    ipad: !1,
                    cordova: B.cordova || B.phonegap,
                    phonegap: B.cordova || B.phonegap
                  },
                  a = e.match(/(Windows Phone);?[\s\/]+([\d.]+)?/),
                  i = e.match(/(Android);?[\s\/]+([\d.]+)?/),
                  s = e.match(/(iPad).*OS\s([\d_]+)/),
                  r = e.match(/(iPod)(.*OS\s([\d_]+))?/),
                  n = !s && e.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
                if (a && (t.os = "windows", t.osVersion = a[2], t.windows = !0), i && !a && (t.os = "android", t.osVersion = i[2], t.android = !0, t.androidChrome = 0 <= e.toLowerCase().indexOf("chrome")), (s || n || r) && (t.os = "ios", t.ios = !
                    0), n && !r && (t.osVersion = n[2].replace(/_/g, "."), t.iphone = !0), s && (t.osVersion = s[2].replace(/_/g, "."), t.ipad = !0), r && (t.osVersion = r[3] ? r[3].replace(/_/g, ".") : null, t.iphone = !0), t.ios && t.osVersion &&
                  0 <= e.indexOf("Version/") && "10" === t.osVersion.split(".")[0] && (t.osVersion = e.toLowerCase().split("version/")[1].split(" ")[0]), t.desktop = !(t.os || t.android || t.webView), t.webView = (n || s || r) && e.match(
                    /.*AppleWebKit(?!.*Safari)/i), t.os && "ios" === t.os) {
                  var o = t.osVersion.split("."),
                    l = f.querySelector('meta[name="viewport"]');
                  t.minimalUi = !t.webView && (r || n) && (1 * o[0] == 7 ? 1 <= 1 * o[1] : 7 < 1 * o[0]) && l && 0 <= l.getAttribute("content").indexOf("minimal-ui")
                }
                return t.pixelRatio = B.devicePixelRatio || 1, t
              }();

            function g() {
              var e = this,
                t = e.params,
                a = e.el;
              if (!a || 0 !== a.offsetWidth) {
                t.breakpoints && e.setBreakpoint();
                var i = e.allowSlideNext,
                  s = e.allowSlidePrev,
                  r = e.snapGrid;
                if (e.allowSlideNext = !0, e.allowSlidePrev = !0, e.updateSize(), e.updateSlides(), t.freeMode) {
                  var n = Math.min(Math.max(e.translate, e.maxTranslate()), e.minTranslate());
                  e.setTranslate(n), e.updateActiveIndex(), e.updateSlidesClasses(), t.autoHeight && e.updateAutoHeight()
                } else e.updateSlidesClasses(), ("auto" === t.slidesPerView || 1 < t.slidesPerView) && e.isEnd && !e.params.centeredSlides ? e.slideTo(e.slides.length - 1, 0, !1, !0) : e.slideTo(e.activeIndex, 0, !1, !0);
                e.allowSlidePrev = s, e.allowSlideNext = i, e.params.watchOverflow && r !== e.snapGrid && e.checkOverflow()
              }
            }
            var b = {
              attachEvents: function() {
                var e = this,
                  t = e.params,
                  a = e.touchEvents,
                  i = e.el,
                  s = e.wrapperEl;
                e.onTouchStart = function(e) {
                  var t = this,
                    a = t.touchEventsData,
                    i = t.params,
                    s = t.touches;
                  if (!t.animating || !i.preventInteractionOnTransition) {
                    var r = e;
                    if (r.originalEvent && (r = r.originalEvent), a.isTouchEvent = "touchstart" === r.type, (a.isTouchEvent || !("which" in r) || 3 !== r.which) && (!a.isTouched || !a.isMoved))
                      if (i.noSwiping && L(r.target).closest(i.noSwipingSelector ? i.noSwipingSelector : "." + i.noSwipingClass)[0]) t.allowClick = !0;
                      else if (!i.swipeHandler || L(r).closest(i.swipeHandler)[0]) {
                      s.currentX = "touchstart" === r.type ? r.targetTouches[0].pageX : r.pageX, s.currentY = "touchstart" === r.type ? r.targetTouches[0].pageY : r.pageY;
                      var n = s.currentX,
                        o = s.currentY,
                        l = i.edgeSwipeDetection || i.iOSEdgeSwipeDetection,
                        d = i.edgeSwipeThreshold || i.iOSEdgeSwipeThreshold;
                      if (!l || !(n <= d || n >= B.screen.width - d)) {
                        if (X.extend(a, {
                            isTouched: !0,
                            isMoved: !1,
                            allowTouchCallbacks: !0,
                            isScrolling: void 0,
                            startMoving: void 0
                          }), s.startX = n, s.startY = o, a.touchStartTime = X.now(), t.allowClick = !0, t.updateSize(), t.swipeDirection = void 0, 0 < i.threshold && (a.allowThresholdMove = !1), "touchstart" !== r.type) {
                          var p = !0;
                          L(r.target).is(a.formElements) && (p = !1), f.activeElement && L(f.activeElement).is(a.formElements) && f.activeElement !== r.target && f.activeElement.blur(), p && t.allowTouchMove && r.preventDefault()
                        }
                        t.emit("touchStart", r)
                      }
                    }
                  }
                }.bind(e), e.onTouchMove = function(e) {
                  var t = this,
                    a = t.touchEventsData,
                    i = t.params,
                    s = t.touches,
                    r = t.rtlTranslate,
                    n = e;
                  if (n.originalEvent && (n = n.originalEvent), a.isTouched) {
                    if (!a.isTouchEvent || "mousemove" !== n.type) {
                      var o = "touchmove" === n.type ? n.targetTouches[0].pageX : n.pageX,
                        l = "touchmove" === n.type ? n.targetTouches[0].pageY : n.pageY;
                      if (n.preventedByNestedSwiper) return s.startX = o, void(s.startY = l);
                      if (!t.allowTouchMove) return t.allowClick = !1, void(a.isTouched && (X.extend(s, {
                        startX: o,
                        startY: l,
                        currentX: o,
                        currentY: l
                      }), a.touchStartTime = X.now()));
                      if (a.isTouchEvent && i.touchReleaseOnEdges && !i.loop)
                        if (t.isVertical()) {
                          if (l < s.startY && t.translate <= t.maxTranslate() || l > s.startY && t.translate >= t.minTranslate()) return a.isTouched = !1, void(a.isMoved = !1)
                        } else if (o < s.startX && t.translate <= t.maxTranslate() || o > s.startX && t.translate >= t.minTranslate()) return;
                      if (a.isTouchEvent && f.activeElement && n.target === f.activeElement && L(n.target).is(a.formElements)) return a.isMoved = !0, void(t.allowClick = !1);
                      if (a.allowTouchCallbacks && t.emit("touchMove", n), !(n.targetTouches && 1 < n.targetTouches.length)) {
                        s.currentX = o, s.currentY = l;
                        var d, p = s.currentX - s.startX,
                          c = s.currentY - s.startY;
                        if (!(t.params.threshold && Math.sqrt(Math.pow(p, 2) + Math.pow(c, 2)) < t.params.threshold))
                          if (void 0 === a.isScrolling && (t.isHorizontal() && s.currentY === s.startY || t.isVertical() && s.currentX === s.startX ? a.isScrolling = !1 : 25 <= p * p + c * c && (d = 180 * Math.atan2(Math.abs(c), Math.abs(
                              p)) / Math.PI, a.isScrolling = t.isHorizontal() ? d > i.touchAngle : 90 - d > i.touchAngle)), a.isScrolling && t.emit("touchMoveOpposite", n), void 0 === a.startMoving && (s.currentX === s.startX && s
                              .currentY === s.startY || (a.startMoving = !0)), a.isScrolling) a.isTouched = !1;
                          else if (a.startMoving) {
                          t.allowClick = !1, n.preventDefault(), i.touchMoveStopPropagation && !i.nested && n.stopPropagation(), a.isMoved || (i.loop && t.loopFix(), a.startTranslate = t.getTranslate(), t.setTransition(0), t.animating && t
                              .$wrapperEl.trigger("webkitTransitionEnd transitionend"), a.allowMomentumBounce = !1, !i.grabCursor || !0 !== t.allowSlideNext && !0 !== t.allowSlidePrev || t.setGrabCursor(!0), t.emit("sliderFirstMove", n)), t
                            .emit("sliderMove", n), a.isMoved = !0;
                          var u = t.isHorizontal() ? p : c;
                          s.diff = u, u *= i.touchRatio, r && (u = -u), t.swipeDirection = 0 < u ? "prev" : "next", a.currentTranslate = u + a.startTranslate;
                          var h = !0,
                            v = i.resistanceRatio;
                          if (i.touchReleaseOnEdges && (v = 0), 0 < u && a.currentTranslate > t.minTranslate() ? (h = !1, i.resistance && (a.currentTranslate = t.minTranslate() - 1 + Math.pow(-t.minTranslate() + a.startTranslate + u, v))) :
                            u < 0 && a.currentTranslate < t.maxTranslate() && (h = !1, i.resistance && (a.currentTranslate = t.maxTranslate() + 1 - Math.pow(t.maxTranslate() - a.startTranslate - u, v))), h && (n.preventedByNestedSwiper = !0),
                            !t.allowSlideNext && "next" === t.swipeDirection && a.currentTranslate < a.startTranslate && (a.currentTranslate = a.startTranslate), !t.allowSlidePrev && "prev" === t.swipeDirection && a.currentTranslate > a
                            .startTranslate && (a.currentTranslate = a.startTranslate), 0 < i.threshold) {
                            if (!(Math.abs(u) > i.threshold || a.allowThresholdMove)) return void(a.currentTranslate = a.startTranslate);
                            if (!a.allowThresholdMove) return a.allowThresholdMove = !0, s.startX = s.currentX, s.startY = s.currentY, a.currentTranslate = a.startTranslate, void(s.diff = t.isHorizontal() ? s.currentX - s.startX : s
                              .currentY - s.startY)
                          }
                          i.followFinger && ((i.freeMode || i.watchSlidesProgress || i.watchSlidesVisibility) && (t.updateActiveIndex(), t.updateSlidesClasses()), i.freeMode && (0 === a.velocities.length && a.velocities.push({
                            position: s[t.isHorizontal() ? "startX" : "startY"],
                            time: a.touchStartTime
                          }), a.velocities.push({
                            position: s[t.isHorizontal() ? "currentX" : "currentY"],
                            time: X.now()
                          })), t.updateProgress(a.currentTranslate), t.setTranslate(a.currentTranslate))
                        }
                      }
                    }
                  } else a.startMoving && a.isScrolling && t.emit("touchMoveOpposite", n)
                }.bind(e), e.onTouchEnd = function(e) {
                  var t = this,
                    a = t.touchEventsData,
                    i = t.params,
                    s = t.touches,
                    r = t.rtlTranslate,
                    n = t.$wrapperEl,
                    o = t.slidesGrid,
                    l = t.snapGrid,
                    d = e;
                  if (d.originalEvent && (d = d.originalEvent), a.allowTouchCallbacks && t.emit("touchEnd", d), a.allowTouchCallbacks = !1, !a.isTouched) return a.isMoved && i.grabCursor && t.setGrabCursor(!1), a.isMoved = !1, void(a
                    .startMoving = !1);
                  i.grabCursor && a.isMoved && a.isTouched && (!0 === t.allowSlideNext || !0 === t.allowSlidePrev) && t.setGrabCursor(!1);
                  var p, c = X.now(),
                    u = c - a.touchStartTime;
                  if (t.allowClick && (t.updateClickedSlide(d), t.emit("tap", d), u < 300 && 300 < c - a.lastClickTime && (a.clickTimeout && clearTimeout(a.clickTimeout), a.clickTimeout = X.nextTick(function() {
                      t && !t.destroyed && t.emit("click", d)
                    }, 300)), u < 300 && c - a.lastClickTime < 300 && (a.clickTimeout && clearTimeout(a.clickTimeout), t.emit("doubleTap", d))), a.lastClickTime = X.now(), X.nextTick(function() {
                      t.destroyed || (t.allowClick = !0)
                    }), !a.isTouched || !a.isMoved || !t.swipeDirection || 0 === s.diff || a.currentTranslate === a.startTranslate) return a.isTouched = !1, a.isMoved = !1, void(a.startMoving = !1);
                  if (a.isTouched = !1, a.isMoved = !1, a.startMoving = !1, p = i.followFinger ? r ? t.translate : -t.translate : -a.currentTranslate, i.freeMode) {
                    if (p < -t.minTranslate()) return void t.slideTo(t.activeIndex);
                    if (p > -t.maxTranslate()) return void(t.slides.length < l.length ? t.slideTo(l.length - 1) : t.slideTo(t.slides.length - 1));
                    if (i.freeModeMomentum) {
                      if (1 < a.velocities.length) {
                        var h = a.velocities.pop(),
                          v = a.velocities.pop(),
                          f = h.position - v.position,
                          m = h.time - v.time;
                        t.velocity = f / m, t.velocity /= 2, Math.abs(t.velocity) < i.freeModeMinimumVelocity && (t.velocity = 0), (150 < m || 300 < X.now() - h.time) && (t.velocity = 0)
                      } else t.velocity = 0;
                      t.velocity *= i.freeModeMomentumVelocityRatio, a.velocities.length = 0;
                      var g = 1e3 * i.freeModeMomentumRatio,
                        b = t.velocity * g,
                        w = t.translate + b;
                      r && (w = -w);
                      var y, x, E = !1,
                        T = 20 * Math.abs(t.velocity) * i.freeModeMomentumBounceRatio;
                      if (w < t.maxTranslate()) i.freeModeMomentumBounce ? (w + t.maxTranslate() < -T && (w = t.maxTranslate() - T), y = t.maxTranslate(), E = !0, a.allowMomentumBounce = !0) : w = t.maxTranslate(), i.loop && i
                        .centeredSlides && (x = !0);
                      else if (w > t.minTranslate()) i.freeModeMomentumBounce ? (w - t.minTranslate() > T && (w = t.minTranslate() + T), y = t.minTranslate(), E = !0, a.allowMomentumBounce = !0) : w = t.minTranslate(), i.loop && i
                        .centeredSlides && (x = !0);
                      else if (i.freeModeSticky) {
                        for (var S, C = 0; C < l.length; C += 1)
                          if (l[C] > -w) {
                            S = C;
                            break
                          } w = -(w = Math.abs(l[S] - w) < Math.abs(l[S - 1] - w) || "next" === t.swipeDirection ? l[S] : l[S - 1])
                      }
                      if (x && t.once("transitionEnd", function() {
                          t.loopFix()
                        }), 0 !== t.velocity) g = r ? Math.abs((-w - t.translate) / t.velocity) : Math.abs((w - t.translate) / t.velocity);
                      else if (i.freeModeSticky) return void t.slideToClosest();
                      i.freeModeMomentumBounce && E ? (t.updateProgress(y), t.setTransition(g), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating = !0, n.transitionEnd(function() {
                        t && !t.destroyed && a.allowMomentumBounce && (t.emit("momentumBounce"), t.setTransition(i.speed), t.setTranslate(y), n.transitionEnd(function() {
                          t && !t.destroyed && t.transitionEnd()
                        }))
                      })) : t.velocity ? (t.updateProgress(w), t.setTransition(g), t.setTranslate(w), t.transitionStart(!0, t.swipeDirection), t.animating || (t.animating = !0, n.transitionEnd(function() {
                        t && !t.destroyed && t.transitionEnd()
                      }))) : t.updateProgress(w), t.updateActiveIndex(), t.updateSlidesClasses()
                    } else if (i.freeModeSticky) return void t.slideToClosest();
                    (!i.freeModeMomentum || u >= i.longSwipesMs) && (t.updateProgress(), t.updateActiveIndex(), t.updateSlidesClasses())
                  } else {
                    for (var M = 0, z = t.slidesSizesGrid[0], k = 0; k < o.length; k += i.slidesPerGroup) void 0 !== o[k + i.slidesPerGroup] ? p >= o[k] && p < o[k + i.slidesPerGroup] && (z = o[(M = k) + i.slidesPerGroup] - o[k]) : p >= o[
                      k] && (M = k, z = o[o.length - 1] - o[o.length - 2]);
                    var P = (p - o[M]) / z;
                    if (u > i.longSwipesMs) {
                      if (!i.longSwipes) return void t.slideTo(t.activeIndex);
                      "next" === t.swipeDirection && (P >= i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t.slideTo(M)), "prev" === t.swipeDirection && (P > 1 - i.longSwipesRatio ? t.slideTo(M + i.slidesPerGroup) : t.slideTo(M))
                    } else {
                      if (!i.shortSwipes) return void t.slideTo(t.activeIndex);
                      "next" === t.swipeDirection && t.slideTo(M + i.slidesPerGroup), "prev" === t.swipeDirection && t.slideTo(M)
                    }
                  }
                }.bind(e), e.onClick = function(e) {
                  this.allowClick || (this.params.preventClicks && e.preventDefault(), this.params.preventClicksPropagation && this.animating && (e.stopPropagation(), e.stopImmediatePropagation()))
                }.bind(e);
                var r = "container" === t.touchEventsTarget ? i : s,
                  n = !!t.nested;
                if (Y.touch || !Y.pointerEvents && !Y.prefixedPointerEvents) {
                  if (Y.touch) {
                    var o = !("touchstart" !== a.start || !Y.passiveListener || !t.passiveListeners) && {
                      passive: !0,
                      capture: !1
                    };
                    r.addEventListener(a.start, e.onTouchStart, o), r.addEventListener(a.move, e.onTouchMove, Y.passiveListener ? {
                      passive: !1,
                      capture: n
                    } : n), r.addEventListener(a.end, e.onTouchEnd, o)
                  }(t.simulateTouch && !m.ios && !m.android || t.simulateTouch && !Y.touch && m.ios) && (r.addEventListener("mousedown", e.onTouchStart, !1), f.addEventListener("mousemove", e.onTouchMove, n), f.addEventListener("mouseup", e
                    .onTouchEnd, !1))
                } else r.addEventListener(a.start, e.onTouchStart, !1), f.addEventListener(a.move, e.onTouchMove, n), f.addEventListener(a.end, e.onTouchEnd, !1);
                (t.preventClicks || t.preventClicksPropagation) && r.addEventListener("click", e.onClick, !0), e.on(m.ios || m.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", g, !0)
              },
              detachEvents: function() {
                var e = this,
                  t = e.params,
                  a = e.touchEvents,
                  i = e.el,
                  s = e.wrapperEl,
                  r = "container" === t.touchEventsTarget ? i : s,
                  n = !!t.nested;
                if (Y.touch || !Y.pointerEvents && !Y.prefixedPointerEvents) {
                  if (Y.touch) {
                    var o = !("onTouchStart" !== a.start || !Y.passiveListener || !t.passiveListeners) && {
                      passive: !0,
                      capture: !1
                    };
                    r.removeEventListener(a.start, e.onTouchStart, o), r.removeEventListener(a.move, e.onTouchMove, n), r.removeEventListener(a.end, e.onTouchEnd, o)
                  }(t.simulateTouch && !m.ios && !m.android || t.simulateTouch && !Y.touch && m.ios) && (r.removeEventListener("mousedown", e.onTouchStart, !1), f.removeEventListener("mousemove", e.onTouchMove, n), f.removeEventListener(
                    "mouseup", e.onTouchEnd, !1))
                } else r.removeEventListener(a.start, e.onTouchStart, !1), f.removeEventListener(a.move, e.onTouchMove, n), f.removeEventListener(a.end, e.onTouchEnd, !1);
                (t.preventClicks || t.preventClicksPropagation) && r.removeEventListener("click", e.onClick, !0), e.off(m.ios || m.android ? "resize orientationchange observerUpdate" : "resize observerUpdate", g)
              }
            };
            var w, y = {
                setBreakpoint: function() {
                  var e = this,
                    t = e.activeIndex,
                    a = e.initialized,
                    i = e.loopedSlides;
                  void 0 === i && (i = 0);
                  var s = e.params,
                    r = s.breakpoints;
                  if (r && (!r || 0 !== Object.keys(r).length)) {
                    var n = e.getBreakpoint(r);
                    if (n && e.currentBreakpoint !== n) {
                      var o = n in r ? r[n] : e.originalParams,
                        l = s.loop && o.slidesPerView !== s.slidesPerView;
                      X.extend(e.params, o), X.extend(e, {
                        allowTouchMove: e.params.allowTouchMove,
                        allowSlideNext: e.params.allowSlideNext,
                        allowSlidePrev: e.params.allowSlidePrev
                      }), e.currentBreakpoint = n, l && a && (e.loopDestroy(), e.loopCreate(), e.updateSlides(), e.slideTo(t - i + e.loopedSlides, 0, !1)), e.emit("breakpoint", o)
                    }
                  }
                },
                getBreakpoint: function(e) {
                  if (e) {
                    var t = !1,
                      a = [];
                    Object.keys(e).forEach(function(e) {
                      a.push(e)
                    }), a.sort(function(e, t) {
                      return parseInt(e, 10) - parseInt(t, 10)
                    });
                    for (var i = 0; i < a.length; i += 1) {
                      var s = a[i];
                      s >= B.innerWidth && !t && (t = s)
                    }
                    return t || "max"
                  }
                }
              },
              I = {
                isIE: !!B.navigator.userAgent.match(/Trident/g) || !!B.navigator.userAgent.match(/MSIE/g),
                isSafari: (w = B.navigator.userAgent.toLowerCase(), 0 <= w.indexOf("safari") && w.indexOf("chrome") < 0 && w.indexOf("android") < 0),
                isUiWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(B.navigator.userAgent)
              };
            var x = {
                init: !0,
                direction: "horizontal",
                touchEventsTarget: "container",
                initialSlide: 0,
                speed: 300,
                preventInteractionOnTransition: !1,
                edgeSwipeDetection: !1,
                edgeSwipeThreshold: 20,
                freeMode: !1,
                freeModeMomentum: !0,
                freeModeMomentumRatio: 1,
                freeModeMomentumBounce: !0,
                freeModeMomentumBounceRatio: 1,
                freeModeMomentumVelocityRatio: 1,
                freeModeSticky: !1,
                freeModeMinimumVelocity: .02,
                autoHeight: !1,
                setWrapperSize: !1,
                virtualTranslate: !1,
                effect: "slide",
                breakpoints: void 0,
                spaceBetween: 0,
                slidesPerView: 1,
                slidesPerColumn: 1,
                slidesPerColumnFill: "column",
                slidesPerGroup: 1,
                centeredSlides: !1,
                slidesOffsetBefore: 0,
                slidesOffsetAfter: 0,
                normalizeSlideIndex: !0,
                watchOverflow: !1,
                roundLengths: !1,
                touchRatio: 1,
                touchAngle: 45,
                simulateTouch: !0,
                shortSwipes: !0,
                longSwipes: !0,
                longSwipesRatio: .5,
                longSwipesMs: 300,
                followFinger: !0,
                allowTouchMove: !0,
                threshold: 0,
                touchMoveStopPropagation: !0,
                touchReleaseOnEdges: !1,
                uniqueNavElements: !0,
                resistance: !0,
                resistanceRatio: .85,
                watchSlidesProgress: !1,
                watchSlidesVisibility: !1,
                grabCursor: !1,
                preventClicks: !0,
                preventClicksPropagation: !0,
                slideToClickedSlide: !1,
                preloadImages: !0,
                updateOnImagesReady: !0,
                loop: !1,
                loopAdditionalSlides: 0,
                loopedSlides: null,
                loopFillGroupWithBlank: !1,
                allowSlidePrev: !0,
                allowSlideNext: !0,
                swipeHandler: null,
                noSwiping: !0,
                noSwipingClass: "swiper-no-swiping",
                noSwipingSelector: null,
                passiveListeners: !0,
                containerModifierClass: "swiper-container-",
                slideClass: "swiper-slide",
                slideBlankClass: "swiper-slide-invisible-blank",
                slideActiveClass: "swiper-slide-active",
                slideDuplicateActiveClass: "swiper-slide-duplicate-active",
                slideVisibleClass: "swiper-slide-visible",
                slideDuplicateClass: "swiper-slide-duplicate",
                slideNextClass: "swiper-slide-next",
                slideDuplicateNextClass: "swiper-slide-duplicate-next",
                slidePrevClass: "swiper-slide-prev",
                slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
                wrapperClass: "swiper-wrapper",
                runCallbacksOnInit: !0
              },
              E = {
                update: o,
                translate: d,
                transition: p,
                slide: c,
                loop: u,
                grabCursor: h,
                manipulation: v,
                events: b,
                breakpoints: y,
                checkOverflow: {
                  checkOverflow: function() {
                    var e = this,
                      t = e.isLocked;
                    e.isLocked = 1 === e.snapGrid.length, e.allowSlideNext = !e.isLocked, e.allowSlidePrev = !e.isLocked, t !== e.isLocked && e.emit(e.isLocked ? "lock" : "unlock"), t && t !== e.isLocked && (e.isEnd = !1, e.navigation.update())
                  }
                },
                classes: {
                  addClasses: function() {
                    var t = this.classNames,
                      a = this.params,
                      e = this.rtl,
                      i = this.$el,
                      s = [];
                    s.push(a.direction), a.freeMode && s.push("free-mode"), Y.flexbox || s.push("no-flexbox"), a.autoHeight && s.push("autoheight"), e && s.push("rtl"), 1 < a.slidesPerColumn && s.push("multirow"), m.android && s.push("android"),
                      m.ios && s.push("ios"), I.isIE && (Y.pointerEvents || Y.prefixedPointerEvents) && s.push("wp8-" + a.direction), s.forEach(function(e) {
                        t.push(a.containerModifierClass + e)
                      }), i.addClass(t.join(" "))
                  },
                  removeClasses: function() {
                    var e = this.$el,
                      t = this.classNames;
                    e.removeClass(t.join(" "))
                  }
                },
                images: {
                  loadImage: function(e, t, a, i, s, r) {
                    var n;

                    function o() {
                      r && r()
                    }
                    e.complete && s ? o() : t ? ((n = new B.Image).onload = o, n.onerror = o, i && (n.sizes = i), a && (n.srcset = a), t && (n.src = t)) : o()
                  },
                  preloadImages: function() {
                    var e = this;

                    function t() {
                      null != e && e && !e.destroyed && (void 0 !== e.imagesLoaded && (e.imagesLoaded += 1), e.imagesLoaded === e.imagesToLoad.length && (e.params.updateOnImagesReady && e.update(), e.emit("imagesReady")))
                    }
                    e.imagesToLoad = e.$el.find("img");
                    for (var a = 0; a < e.imagesToLoad.length; a += 1) {
                      var i = e.imagesToLoad[a];
                      e.loadImage(i, i.currentSrc || i.getAttribute("src"), i.srcset || i.getAttribute("srcset"), i.sizes || i.getAttribute("sizes"), !0, t)
                    }
                  }
                }
              },
              T = {},
              S = function(u) {
                function h() {
                  for (var e, t, s, a = [], i = arguments.length; i--;) a[i] = arguments[i];
                  1 === a.length && a[0].constructor && a[0].constructor === Object ? s = a[0] : (t = (e = a)[0], s = e[1]), s || (s = {}), s = X.extend({}, s), t && !s.el && (s.el = t), u.call(this, s), Object.keys(E).forEach(function(t) {
                    Object.keys(E[t]).forEach(function(e) {
                      h.prototype[e] || (h.prototype[e] = E[t][e])
                    })
                  });
                  var r = this;
                  void 0 === r.modules && (r.modules = {}), Object.keys(r.modules).forEach(function(e) {
                    var t = r.modules[e];
                    if (t.params) {
                      var a = Object.keys(t.params)[0],
                        i = t.params[a];
                      if ("object" != typeof i) return;
                      if (!(a in s && "enabled" in i)) return;
                      !0 === s[a] && (s[a] = {
                        enabled: !0
                      }), "object" != typeof s[a] || "enabled" in s[a] || (s[a].enabled = !0), s[a] || (s[a] = {
                        enabled: !1
                      })
                    }
                  });
                  var n = X.extend({}, x);
                  r.useModulesParams(n), r.params = X.extend({}, n, T, s), r.originalParams = X.extend({}, r.params), r.passedParams = X.extend({}, s);
                  var o = (r.$ = L)(r.params.el);
                  if (t = o[0]) {
                    if (1 < o.length) {
                      var l = [];
                      return o.each(function(e, t) {
                        var a = X.extend({}, s, {
                          el: t
                        });
                        l.push(new h(a))
                      }), l
                    }
                    t.swiper = r, o.data("swiper", r);
                    var d, p, c = o.children("." + r.params.wrapperClass);
                    return X.extend(r, {
                      $el: o,
                      el: t,
                      $wrapperEl: c,
                      wrapperEl: c[0],
                      classNames: [],
                      slides: L(),
                      slidesGrid: [],
                      snapGrid: [],
                      slidesSizesGrid: [],
                      isHorizontal: function() {
                        return "horizontal" === r.params.direction
                      },
                      isVertical: function() {
                        return "vertical" === r.params.direction
                      },
                      rtl: "rtl" === t.dir.toLowerCase() || "rtl" === o.css("direction"),
                      rtlTranslate: "horizontal" === r.params.direction && ("rtl" === t.dir.toLowerCase() || "rtl" === o.css("direction")),
                      wrongRTL: "-webkit-box" === c.css("display"),
                      activeIndex: 0,
                      realIndex: 0,
                      isBeginning: !0,
                      isEnd: !1,
                      translate: 0,
                      previousTranslate: 0,
                      progress: 0,
                      velocity: 0,
                      animating: !1,
                      allowSlideNext: r.params.allowSlideNext,
                      allowSlidePrev: r.params.allowSlidePrev,
                      touchEvents: (d = ["touchstart", "touchmove", "touchend"], p = ["mousedown", "mousemove", "mouseup"], Y.pointerEvents ? p = ["pointerdown", "pointermove", "pointerup"] : Y.prefixedPointerEvents && (p = ["MSPointerDown",
                        "MSPointerMove", "MSPointerUp"
                      ]), r.touchEventsTouch = {
                        start: d[0],
                        move: d[1],
                        end: d[2]
                      }, r.touchEventsDesktop = {
                        start: p[0],
                        move: p[1],
                        end: p[2]
                      }, Y.touch || !r.params.simulateTouch ? r.touchEventsTouch : r.touchEventsDesktop),
                      touchEventsData: {
                        isTouched: void 0,
                        isMoved: void 0,
                        allowTouchCallbacks: void 0,
                        touchStartTime: void 0,
                        isScrolling: void 0,
                        currentTranslate: void 0,
                        startTranslate: void 0,
                        allowThresholdMove: void 0,
                        formElements: "input, select, option, textarea, button, video",
                        lastClickTime: X.now(),
                        clickTimeout: void 0,
                        velocities: [],
                        allowMomentumBounce: void 0,
                        isTouchEvent: void 0,
                        startMoving: void 0
                      },
                      allowClick: !0,
                      allowTouchMove: r.params.allowTouchMove,
                      touches: {
                        startX: 0,
                        startY: 0,
                        currentX: 0,
                        currentY: 0,
                        diff: 0
                      },
                      imagesToLoad: [],
                      imagesLoaded: 0
                    }), r.useModules(), r.params.init && r.init(), r
                  }
                }
                u && (h.__proto__ = u);
                var e = {
                  extendedDefaults: {
                    configurable: !0
                  },
                  defaults: {
                    configurable: !0
                  },
                  Class: {
                    configurable: !0
                  },
                  $: {
                    configurable: !0
                  }
                };
                return ((h.prototype = Object.create(u && u.prototype)).constructor = h).prototype.slidesPerViewDynamic = function() {
                  var e = this,
                    t = e.params,
                    a = e.slides,
                    i = e.slidesGrid,
                    s = e.size,
                    r = e.activeIndex,
                    n = 1;
                  if (t.centeredSlides) {
                    for (var o, l = a[r].swiperSlideSize, d = r + 1; d < a.length; d += 1) a[d] && !o && (n += 1, s < (l += a[d].swiperSlideSize) && (o = !0));
                    for (var p = r - 1; 0 <= p; p -= 1) a[p] && !o && (n += 1, s < (l += a[p].swiperSlideSize) && (o = !0))
                  } else
                    for (var c = r + 1; c < a.length; c += 1) i[c] - i[r] < s && (n += 1);
                  return n
                }, h.prototype.update = function() {
                  var a = this;
                  if (a && !a.destroyed) {
                    var e = a.snapGrid,
                      t = a.params;
                    t.breakpoints && a.setBreakpoint(), a.updateSize(), a.updateSlides(), a.updateProgress(), a.updateSlidesClasses(), a.params.freeMode ? (i(), a.params.autoHeight && a.updateAutoHeight()) : (("auto" === a.params.slidesPerView ||
                        1 < a.params.slidesPerView) && a.isEnd && !a.params.centeredSlides ? a.slideTo(a.slides.length - 1, 0, !1, !0) : a.slideTo(a.activeIndex, 0, !1, !0)) || i(), t.watchOverflow && e !== a.snapGrid && a.checkOverflow(), a
                      .emit("update")
                  }

                  function i() {
                    var e = a.rtlTranslate ? -1 * a.translate : a.translate,
                      t = Math.min(Math.max(e, a.maxTranslate()), a.minTranslate());
                    a.setTranslate(t), a.updateActiveIndex(), a.updateSlidesClasses()
                  }
                }, h.prototype.init = function() {
                  var e = this;
                  e.initialized || (e.emit("beforeInit"), e.params.breakpoints && e.setBreakpoint(), e.addClasses(), e.params.loop && e.loopCreate(), e.updateSize(), e.updateSlides(), e.params.watchOverflow && e.checkOverflow(), e.params
                    .grabCursor && e.setGrabCursor(), e.params.preloadImages && e.preloadImages(), e.params.loop ? e.slideTo(e.params.initialSlide + e.loopedSlides, 0, e.params.runCallbacksOnInit) : e.slideTo(e.params.initialSlide, 0, e.params
                      .runCallbacksOnInit), e.attachEvents(), e.initialized = !0, e.emit("init"))
                }, h.prototype.destroy = function(e, t) {
                  void 0 === e && (e = !0), void 0 === t && (t = !0);
                  var a = this,
                    i = a.params,
                    s = a.$el,
                    r = a.$wrapperEl,
                    n = a.slides;
                  return void 0 === a.params || a.destroyed || (a.emit("beforeDestroy"), a.initialized = !1, a.detachEvents(), i.loop && a.loopDestroy(), t && (a.removeClasses(), s.removeAttr("style"), r.removeAttr("style"), n && n.length && n
                    .removeClass([i.slideVisibleClass, i.slideActiveClass, i.slideNextClass, i.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index").removeAttr("data-swiper-column").removeAttr("data-swiper-row")
                    ), a.emit("destroy"), Object.keys(a.eventsListeners).forEach(function(e) {
                    a.off(e)
                  }), !1 !== e && (a.$el[0].swiper = null, a.$el.data("swiper", null), X.deleteProps(a)), a.destroyed = !0), null
                }, h.extendDefaults = function(e) {
                  X.extend(T, e)
                }, e.extendedDefaults.get = function() {
                  return T
                }, e.defaults.get = function() {
                  return x
                }, e.Class.get = function() {
                  return u
                }, e.$.get = function() {
                  return L
                }, Object.defineProperties(h, e), h
              }(s),
              C = {
                name: "device",
                proto: {
                  device: m
                },
                static: {
                  device: m
                }
              },
              M = {
                name: "support",
                proto: {
                  support: Y
                },
                static: {
                  support: Y
                }
              },
              z = {
                name: "browser",
                proto: {
                  browser: I
                },
                static: {
                  browser: I
                }
              },
              k = {
                name: "resize",
                create: function() {
                  var e = this;
                  X.extend(e, {
                    resize: {
                      resizeHandler: function() {
                        e && !e.destroyed && e.initialized && (e.emit("beforeResize"), e.emit("resize"))
                      },
                      orientationChangeHandler: function() {
                        e && !e.destroyed && e.initialized && e.emit("orientationchange")
                      }
                    }
                  })
                },
                on: {
                  init: function() {
                    B.addEventListener("resize", this.resize.resizeHandler), B.addEventListener("orientationchange", this.resize.orientationChangeHandler)
                  },
                  destroy: function() {
                    B.removeEventListener("resize", this.resize.resizeHandler), B.removeEventListener("orientationchange", this.resize.orientationChangeHandler)
                  }
                }
              },
              P = {
                func: B.MutationObserver || B.WebkitMutationObserver,
                attach: function(e, t) {
                  void 0 === t && (t = {});
                  var a = this,
                    i = new P.func(function(e) {
                      if (1 !== e.length) {
                        var t = function() {
                          a.emit("observerUpdate", e[0])
                        };
                        B.requestAnimationFrame ? B.requestAnimationFrame(t) : B.setTimeout(t, 0)
                      } else a.emit("observerUpdate", e[0])
                    });
                  i.observe(e, {
                    attributes: void 0 === t.attributes || t.attributes,
                    childList: void 0 === t.childList || t.childList,
                    characterData: void 0 === t.characterData || t.characterData
                  }), a.observer.observers.push(i)
                },
                init: function() {
                  var e = this;
                  if (Y.observer && e.params.observer) {
                    if (e.params.observeParents)
                      for (var t = e.$el.parents(), a = 0; a < t.length; a += 1) e.observer.attach(t[a]);
                    e.observer.attach(e.$el[0], {
                      childList: !1
                    }), e.observer.attach(e.$wrapperEl[0], {
                      attributes: !1
                    })
                  }
                },
                destroy: function() {
                  this.observer.observers.forEach(function(e) {
                    e.disconnect()
                  }), this.observer.observers = []
                }
              },
              $ = {
                name: "observer",
                params: {
                  observer: !1,
                  observeParents: !1
                },
                create: function() {
                  X.extend(this, {
                    observer: {
                      init: P.init.bind(this),
                      attach: P.attach.bind(this),
                      destroy: P.destroy.bind(this),
                      observers: []
                    }
                  })
                },
                on: {
                  init: function() {
                    this.observer.init()
                  },
                  destroy: function() {
                    this.observer.destroy()
                  }
                }
              },
              D = {
                update: function(e) {
                  var t = this,
                    a = t.params,
                    i = a.slidesPerView,
                    s = a.slidesPerGroup,
                    r = a.centeredSlides,
                    n = t.virtual,
                    o = n.from,
                    l = n.to,
                    d = n.slides,
                    p = n.slidesGrid,
                    c = n.renderSlide,
                    u = n.offset;
                  t.updateActiveIndex();
                  var h, v, f, m = t.activeIndex || 0;
                  h = t.rtlTranslate ? "right" : t.isHorizontal() ? "left" : "top", r ? (v = Math.floor(i / 2) + s, f = Math.floor(i / 2) + s) : (v = i + (s - 1), f = s);
                  var g = Math.max((m || 0) - f, 0),
                    b = Math.min((m || 0) + v, d.length - 1),
                    w = (t.slidesGrid[g] || 0) - (t.slidesGrid[0] || 0);

                  function y() {
                    t.updateSlides(), t.updateProgress(), t.updateSlidesClasses(), t.lazy && t.params.lazy.enabled && t.lazy.load()
                  }
                  if (X.extend(t.virtual, {
                      from: g,
                      to: b,
                      offset: w,
                      slidesGrid: t.slidesGrid
                    }), o === g && l === b && !e) return t.slidesGrid !== p && w !== u && t.slides.css(h, w + "px"), void t.updateProgress();
                  if (t.params.virtual.renderExternal) return t.params.virtual.renderExternal.call(t, {
                    offset: w,
                    from: g,
                    to: b,
                    slides: function() {
                      for (var e = [], t = g; t <= b; t += 1) e.push(d[t]);
                      return e
                    }()
                  }), void y();
                  var x = [],
                    E = [];
                  if (e) t.$wrapperEl.find("." + t.params.slideClass).remove();
                  else
                    for (var T = o; T <= l; T += 1)(T < g || b < T) && t.$wrapperEl.find("." + t.params.slideClass + '[data-swiper-slide-index="' + T + '"]').remove();
                  for (var S = 0; S < d.length; S += 1) g <= S && S <= b && (void 0 === l || e ? E.push(S) : (l < S && E.push(S), S < o && x.push(S)));
                  E.forEach(function(e) {
                    t.$wrapperEl.append(c(d[e], e))
                  }), x.sort(function(e, t) {
                    return e < t
                  }).forEach(function(e) {
                    t.$wrapperEl.prepend(c(d[e], e))
                  }), t.$wrapperEl.children(".swiper-slide").css(h, w + "px"), y()
                },
                renderSlide: function(e, t) {
                  var a = this,
                    i = a.params.virtual;
                  if (i.cache && a.virtual.cache[t]) return a.virtual.cache[t];
                  var s = i.renderSlide ? L(i.renderSlide.call(a, e, t)) : L('<div class="' + a.params.slideClass + '" data-swiper-slide-index="' + t + '">' + e + "</div>");
                  return s.attr("data-swiper-slide-index") || s.attr("data-swiper-slide-index", t), i.cache && (a.virtual.cache[t] = s), s
                },
                appendSlide: function(e) {
                  this.virtual.slides.push(e), this.virtual.update(!0)
                },
                prependSlide: function(e) {
                  var t = this;
                  if (t.virtual.slides.unshift(e), t.params.virtual.cache) {
                    var a = t.virtual.cache,
                      i = {};
                    Object.keys(a).forEach(function(e) {
                      i[e + 1] = a[e]
                    }), t.virtual.cache = i
                  }
                  t.virtual.update(!0), t.slideNext(0)
                }
              },
              O = {
                name: "virtual",
                params: {
                  virtual: {
                    enabled: !1,
                    slides: [],
                    cache: !0,
                    renderSlide: null,
                    renderExternal: null
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    virtual: {
                      update: D.update.bind(e),
                      appendSlide: D.appendSlide.bind(e),
                      prependSlide: D.prependSlide.bind(e),
                      renderSlide: D.renderSlide.bind(e),
                      slides: e.params.virtual.slides,
                      cache: {}
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    var e = this;
                    if (e.params.virtual.enabled) {
                      e.classNames.push(e.params.containerModifierClass + "virtual");
                      var t = {
                        watchSlidesProgress: !0
                      };
                      X.extend(e.params, t), X.extend(e.originalParams, t), e.virtual.update()
                    }
                  },
                  setTranslate: function() {
                    this.params.virtual.enabled && this.virtual.update()
                  }
                }
              },
              A = {
                handle: function(e) {
                  var t = this,
                    a = t.rtlTranslate,
                    i = e;
                  i.originalEvent && (i = i.originalEvent);
                  var s = i.keyCode || i.charCode;
                  if (!t.allowSlideNext && (t.isHorizontal() && 39 === s || t.isVertical() && 40 === s)) return !1;
                  if (!t.allowSlidePrev && (t.isHorizontal() && 37 === s || t.isVertical() && 38 === s)) return !1;
                  if (!(i.shiftKey || i.altKey || i.ctrlKey || i.metaKey || f.activeElement && f.activeElement.nodeName && ("input" === f.activeElement.nodeName.toLowerCase() || "textarea" === f.activeElement.nodeName.toLowerCase()))) {
                    if (t.params.keyboard.onlyInViewport && (37 === s || 39 === s || 38 === s || 40 === s)) {
                      var r = !1;
                      if (0 < t.$el.parents("." + t.params.slideClass).length && 0 === t.$el.parents("." + t.params.slideActiveClass).length) return;
                      var n = B.innerWidth,
                        o = B.innerHeight,
                        l = t.$el.offset();
                      a && (l.left -= t.$el[0].scrollLeft);
                      for (var d = [
                          [l.left, l.top],
                          [l.left + t.width, l.top],
                          [l.left, l.top + t.height],
                          [l.left + t.width, l.top + t.height]
                        ], p = 0; p < d.length; p += 1) {
                        var c = d[p];
                        0 <= c[0] && c[0] <= n && 0 <= c[1] && c[1] <= o && (r = !0)
                      }
                      if (!r) return
                    }
                    t.isHorizontal() ? (37 !== s && 39 !== s || (i.preventDefault ? i.preventDefault() : i.returnValue = !1), (39 === s && !a || 37 === s && a) && t.slideNext(), (37 === s && !a || 39 === s && a) && t.slidePrev()) : (38 !== s &&
                      40 !== s || (i.preventDefault ? i.preventDefault() : i.returnValue = !1), 40 === s && t.slideNext(), 38 === s && t.slidePrev()), t.emit("keyPress", s)
                  }
                },
                enable: function() {
                  this.keyboard.enabled || (L(f).on("keydown", this.keyboard.handle), this.keyboard.enabled = !0)
                },
                disable: function() {
                  this.keyboard.enabled && (L(f).off("keydown", this.keyboard.handle), this.keyboard.enabled = !1)
                }
              },
              H = {
                name: "keyboard",
                params: {
                  keyboard: {
                    enabled: !1,
                    onlyInViewport: !0
                  }
                },
                create: function() {
                  X.extend(this, {
                    keyboard: {
                      enabled: !1,
                      enable: A.enable.bind(this),
                      disable: A.disable.bind(this),
                      handle: A.handle.bind(this)
                    }
                  })
                },
                on: {
                  init: function() {
                    this.params.keyboard.enabled && this.keyboard.enable()
                  },
                  destroy: function() {
                    this.keyboard.enabled && this.keyboard.disable()
                  }
                }
              };
            var G = {
                lastScrollTime: X.now(),
                event: -1 < B.navigator.userAgent.indexOf("firefox") ? "DOMMouseScroll" : function() {
                  var e = "onwheel",
                    t = e in f;
                  if (!t) {
                    var a = f.createElement("div");
                    a.setAttribute(e, "return;"), t = "function" == typeof a[e]
                  }
                  return !t && f.implementation && f.implementation.hasFeature && !0 !== f.implementation.hasFeature("", "") && (t = f.implementation.hasFeature("Events.wheel", "3.0")), t
                }() ? "wheel" : "mousewheel",
                normalize: function(e) {
                  var t = 0,
                    a = 0,
                    i = 0,
                    s = 0;
                  return "detail" in e && (a = e.detail), "wheelDelta" in e && (a = -e.wheelDelta / 120), "wheelDeltaY" in e && (a = -e.wheelDeltaY / 120), "wheelDeltaX" in e && (t = -e.wheelDeltaX / 120), "axis" in e && e.axis === e
                    .HORIZONTAL_AXIS && (t = a, a = 0), i = 10 * t, s = 10 * a, "deltaY" in e && (s = e.deltaY), "deltaX" in e && (i = e.deltaX), (i || s) && e.deltaMode && (1 === e.deltaMode ? (i *= 40, s *= 40) : (i *= 800, s *= 800)), i && !
                    t && (t = i < 1 ? -1 : 1), s && !a && (a = s < 1 ? -1 : 1), {
                      spinX: t,
                      spinY: a,
                      pixelX: i,
                      pixelY: s
                    }
                },
                handleMouseEnter: function() {
                  this.mouseEntered = !0
                },
                handleMouseLeave: function() {
                  this.mouseEntered = !1
                },
                handle: function(e) {
                  var t = e,
                    a = this,
                    i = a.params.mousewheel;
                  if (!a.mouseEntered && !i.releaseOnEdges) return !0;
                  t.originalEvent && (t = t.originalEvent);
                  var s = 0,
                    r = a.rtlTranslate ? -1 : 1,
                    n = G.normalize(t);
                  if (i.forceToAxis)
                    if (a.isHorizontal()) {
                      if (!(Math.abs(n.pixelX) > Math.abs(n.pixelY))) return !0;
                      s = n.pixelX * r
                    } else {
                      if (!(Math.abs(n.pixelY) > Math.abs(n.pixelX))) return !0;
                      s = n.pixelY
                    }
                  else s = Math.abs(n.pixelX) > Math.abs(n.pixelY) ? -n.pixelX * r : -n.pixelY;
                  if (0 === s) return !0;
                  if (i.invert && (s = -s), a.params.freeMode) {
                    a.params.loop && a.loopFix();
                    var o = a.getTranslate() + s * i.sensitivity,
                      l = a.isBeginning,
                      d = a.isEnd;
                    if (o >= a.minTranslate() && (o = a.minTranslate()), o <= a.maxTranslate() && (o = a.maxTranslate()), a.setTransition(0), a.setTranslate(o), a.updateProgress(), a.updateActiveIndex(), a.updateSlidesClasses(), (!l && a
                        .isBeginning || !d && a.isEnd) && a.updateSlidesClasses(), a.params.freeModeSticky && (clearTimeout(a.mousewheel.timeout), a.mousewheel.timeout = X.nextTick(function() {
                        a.slideToClosest()
                      }, 300)), a.emit("scroll", t), a.params.autoplay && a.params.autoplayDisableOnInteraction && a.autoplay.stop(), o === a.minTranslate() || o === a.maxTranslate()) return !0
                  } else {
                    if (60 < X.now() - a.mousewheel.lastScrollTime)
                      if (s < 0)
                        if (a.isEnd && !a.params.loop || a.animating) {
                          if (i.releaseOnEdges) return !0
                        } else a.slideNext(), a.emit("scroll", t);
                    else if (a.isBeginning && !a.params.loop || a.animating) {
                      if (i.releaseOnEdges) return !0
                    } else a.slidePrev(), a.emit("scroll", t);
                    a.mousewheel.lastScrollTime = (new B.Date).getTime()
                  }
                  return t.preventDefault ? t.preventDefault() : t.returnValue = !1, !1
                },
                enable: function() {
                  var e = this;
                  if (!G.event) return !1;
                  if (e.mousewheel.enabled) return !1;
                  var t = e.$el;
                  return "container" !== e.params.mousewheel.eventsTarged && (t = L(e.params.mousewheel.eventsTarged)), t.on("mouseenter", e.mousewheel.handleMouseEnter), t.on("mouseleave", e.mousewheel.handleMouseLeave), t.on(G.event, e
                    .mousewheel.handle), e.mousewheel.enabled = !0
                },
                disable: function() {
                  var e = this;
                  if (!G.event) return !1;
                  if (!e.mousewheel.enabled) return !1;
                  var t = e.$el;
                  return "container" !== e.params.mousewheel.eventsTarged && (t = L(e.params.mousewheel.eventsTarged)), t.off(G.event, e.mousewheel.handle), !(e.mousewheel.enabled = !1)
                }
              },
              N = {
                update: function() {
                  var e = this,
                    t = e.params.navigation;
                  if (!e.params.loop) {
                    var a = e.navigation,
                      i = a.$nextEl,
                      s = a.$prevEl;
                    s && 0 < s.length && (e.isBeginning ? s.addClass(t.disabledClass) : s.removeClass(t.disabledClass), s[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass)), i && 0 < i.length && (e.isEnd ? i
                      .addClass(t.disabledClass) : i.removeClass(t.disabledClass), i[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](t.lockClass))
                  }
                },
                init: function() {
                  var e, t, a = this,
                    i = a.params.navigation;
                  (i.nextEl || i.prevEl) && (i.nextEl && (e = L(i.nextEl), a.params.uniqueNavElements && "string" == typeof i.nextEl && 1 < e.length && 1 === a.$el.find(i.nextEl).length && (e = a.$el.find(i.nextEl))), i.prevEl && (t = L(i
                    .prevEl), a.params.uniqueNavElements && "string" == typeof i.prevEl && 1 < t.length && 1 === a.$el.find(i.prevEl).length && (t = a.$el.find(i.prevEl))), e && 0 < e.length && e.on("click", function(e) {
                    e.preventDefault(), a.isEnd && !a.params.loop || a.slideNext()
                  }), t && 0 < t.length && t.on("click", function(e) {
                    e.preventDefault(), a.isBeginning && !a.params.loop || a.slidePrev()
                  }), X.extend(a.navigation, {
                    $nextEl: e,
                    nextEl: e && e[0],
                    $prevEl: t,
                    prevEl: t && t[0]
                  }))
                },
                destroy: function() {
                  var e = this.navigation,
                    t = e.$nextEl,
                    a = e.$prevEl;
                  t && t.length && (t.off("click"), t.removeClass(this.params.navigation.disabledClass)), a && a.length && (a.off("click"), a.removeClass(this.params.navigation.disabledClass))
                }
              },
              V = {
                update: function() {
                  var e = this,
                    t = e.rtl,
                    s = e.params.pagination;
                  if (s.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
                    var r, a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
                      i = e.pagination.$el,
                      n = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length;
                    if (e.params.loop ? ((r = Math.ceil((e.activeIndex - e.loopedSlides) / e.params.slidesPerGroup)) > a - 1 - 2 * e.loopedSlides && (r -= a - 2 * e.loopedSlides), n - 1 < r && (r -= n), r < 0 && "bullets" !== e.params
                        .paginationType && (r = n + r)) : r = void 0 !== e.snapIndex ? e.snapIndex : e.activeIndex || 0, "bullets" === s.type && e.pagination.bullets && 0 < e.pagination.bullets.length) {
                      var o, l, d, p = e.pagination.bullets;
                      if (s.dynamicBullets && (e.pagination.bulletSize = p.eq(0)[e.isHorizontal() ? "outerWidth" : "outerHeight"](!0), i.css(e.isHorizontal() ? "width" : "height", e.pagination.bulletSize * (s.dynamicMainBullets + 4) + "px"), 1 <
                          s.dynamicMainBullets && void 0 !== e.previousIndex && (e.pagination.dynamicBulletIndex += r - e.previousIndex, e.pagination.dynamicBulletIndex > s.dynamicMainBullets - 1 ? e.pagination.dynamicBulletIndex = s
                            .dynamicMainBullets - 1 : e.pagination.dynamicBulletIndex < 0 && (e.pagination.dynamicBulletIndex = 0)), o = r - e.pagination.dynamicBulletIndex, d = ((l = o + (Math.min(p.length, s.dynamicMainBullets) - 1)) + o) / 2),
                        p.removeClass(s.bulletActiveClass + " " + s.bulletActiveClass + "-next " + s.bulletActiveClass + "-next-next " + s.bulletActiveClass + "-prev " + s.bulletActiveClass + "-prev-prev " + s.bulletActiveClass + "-main"), 1 < i
                        .length) p.each(function(e, t) {
                        var a = L(t),
                          i = a.index();
                        i === r && a.addClass(s.bulletActiveClass), s.dynamicBullets && (o <= i && i <= l && a.addClass(s.bulletActiveClass + "-main"), i === o && a.prev().addClass(s.bulletActiveClass + "-prev").prev().addClass(s
                          .bulletActiveClass + "-prev-prev"), i === l && a.next().addClass(s.bulletActiveClass + "-next").next().addClass(s.bulletActiveClass + "-next-next"))
                      });
                      else if (p.eq(r).addClass(s.bulletActiveClass), s.dynamicBullets) {
                        for (var c = p.eq(o), u = p.eq(l), h = o; h <= l; h += 1) p.eq(h).addClass(s.bulletActiveClass + "-main");
                        c.prev().addClass(s.bulletActiveClass + "-prev").prev().addClass(s.bulletActiveClass + "-prev-prev"), u.next().addClass(s.bulletActiveClass + "-next").next().addClass(s.bulletActiveClass + "-next-next")
                      }
                      if (s.dynamicBullets) {
                        var v = Math.min(p.length, s.dynamicMainBullets + 4),
                          f = (e.pagination.bulletSize * v - e.pagination.bulletSize) / 2 - d * e.pagination.bulletSize,
                          m = t ? "right" : "left";
                        p.css(e.isHorizontal() ? m : "top", f + "px")
                      }
                    }
                    if ("fraction" === s.type && (i.find("." + s.currentClass).text(s.formatFractionCurrent(r + 1)), i.find("." + s.totalClass).text(s.formatFractionTotal(n))), "progressbar" === s.type) {
                      var g;
                      g = s.progressbarOpposite ? e.isHorizontal() ? "vertical" : "horizontal" : e.isHorizontal() ? "horizontal" : "vertical";
                      var b = (r + 1) / n,
                        w = 1,
                        y = 1;
                      "horizontal" === g ? w = b : y = b, i.find("." + s.progressbarFillClass).transform("translate3d(0,0,0) scaleX(" + w + ") scaleY(" + y + ")").transition(e.params.speed)
                    }
                    "custom" === s.type && s.renderCustom ? (i.html(s.renderCustom(e, r + 1, n)), e.emit("paginationRender", e, i[0])) : e.emit("paginationUpdate", e, i[0]), i[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](s
                      .lockClass)
                  }
                },
                render: function() {
                  var e = this,
                    t = e.params.pagination;
                  if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
                    var a = e.virtual && e.params.virtual.enabled ? e.virtual.slides.length : e.slides.length,
                      i = e.pagination.$el,
                      s = "";
                    if ("bullets" === t.type) {
                      for (var r = e.params.loop ? Math.ceil((a - 2 * e.loopedSlides) / e.params.slidesPerGroup) : e.snapGrid.length, n = 0; n < r; n += 1) t.renderBullet ? s += t.renderBullet.call(e, n, t.bulletClass) : s += "<" + t
                        .bulletElement + ' class="' + t.bulletClass + '"></' + t.bulletElement + ">";
                      i.html(s), e.pagination.bullets = i.find("." + t.bulletClass)
                    }
                    "fraction" === t.type && (s = t.renderFraction ? t.renderFraction.call(e, t.currentClass, t.totalClass) : '<span class="' + t.currentClass + '"></span> / <span class="' + t.totalClass + '"></span>', i.html(s)),
                      "progressbar" === t.type && (s = t.renderProgressbar ? t.renderProgressbar.call(e, t.progressbarFillClass) : '<span class="' + t.progressbarFillClass + '"></span>', i.html(s)), "custom" !== t.type && e.emit(
                        "paginationRender", e.pagination.$el[0])
                  }
                },
                init: function() {
                  var a = this,
                    e = a.params.pagination;
                  if (e.el) {
                    var t = L(e.el);
                    0 !== t.length && (a.params.uniqueNavElements && "string" == typeof e.el && 1 < t.length && 1 === a.$el.find(e.el).length && (t = a.$el.find(e.el)), "bullets" === e.type && e.clickable && t.addClass(e.clickableClass), t
                      .addClass(e.modifierClass + e.type), "bullets" === e.type && e.dynamicBullets && (t.addClass("" + e.modifierClass + e.type + "-dynamic"), a.pagination.dynamicBulletIndex = 0, e.dynamicMainBullets < 1 && (e
                        .dynamicMainBullets = 1)), "progressbar" === e.type && e.progressbarOpposite && t.addClass(e.progressbarOppositeClass), e.clickable && t.on("click", "." + e.bulletClass, function(e) {
                        e.preventDefault();
                        var t = L(this).index() * a.params.slidesPerGroup;
                        a.params.loop && (t += a.loopedSlides), a.slideTo(t)
                      }), X.extend(a.pagination, {
                        $el: t,
                        el: t[0]
                      }))
                  }
                },
                destroy: function() {
                  var e = this,
                    t = e.params.pagination;
                  if (t.el && e.pagination.el && e.pagination.$el && 0 !== e.pagination.$el.length) {
                    var a = e.pagination.$el;
                    a.removeClass(t.hiddenClass), a.removeClass(t.modifierClass + t.type), e.pagination.bullets && e.pagination.bullets.removeClass(t.bulletActiveClass), t.clickable && a.off("click", "." + t.bulletClass)
                  }
                }
              },
              R = {
                setTranslate: function() {
                  var e = this;
                  if (e.params.scrollbar.el && e.scrollbar.el) {
                    var t = e.scrollbar,
                      a = e.rtlTranslate,
                      i = e.progress,
                      s = t.dragSize,
                      r = t.trackSize,
                      n = t.$dragEl,
                      o = t.$el,
                      l = e.params.scrollbar,
                      d = s,
                      p = (r - s) * i;
                    a ? 0 < (p = -p) ? (d = s - p, p = 0) : r < -p + s && (d = r + p) : p < 0 ? (d = s + p, p = 0) : r < p + s && (d = r - p), e.isHorizontal() ? (Y.transforms3d ? n.transform("translate3d(" + p + "px, 0, 0)") : n.transform(
                      "translateX(" + p + "px)"), n[0].style.width = d + "px") : (Y.transforms3d ? n.transform("translate3d(0px, " + p + "px, 0)") : n.transform("translateY(" + p + "px)"), n[0].style.height = d + "px"), l.hide && (clearTimeout(
                      e.scrollbar.timeout), o[0].style.opacity = 1, e.scrollbar.timeout = setTimeout(function() {
                      o[0].style.opacity = 0, o.transition(400)
                    }, 1e3))
                  }
                },
                setTransition: function(e) {
                  this.params.scrollbar.el && this.scrollbar.el && this.scrollbar.$dragEl.transition(e)
                },
                updateSize: function() {
                  var e = this;
                  if (e.params.scrollbar.el && e.scrollbar.el) {
                    var t = e.scrollbar,
                      a = t.$dragEl,
                      i = t.$el;
                    a[0].style.width = "", a[0].style.height = "";
                    var s, r = e.isHorizontal() ? i[0].offsetWidth : i[0].offsetHeight,
                      n = e.size / e.virtualSize,
                      o = n * (r / e.size);
                    s = "auto" === e.params.scrollbar.dragSize ? r * n : parseInt(e.params.scrollbar.dragSize, 10), e.isHorizontal() ? a[0].style.width = s + "px" : a[0].style.height = s + "px", i[0].style.display = 1 <= n ? "none" : "", e.params
                      .scrollbarHide && (i[0].style.opacity = 0), X.extend(t, {
                        trackSize: r,
                        divider: n,
                        moveDivider: o,
                        dragSize: s
                      }), t.$el[e.params.watchOverflow && e.isLocked ? "addClass" : "removeClass"](e.params.scrollbar.lockClass)
                  }
                },
                setDragPosition: function(e) {
                  var t, a = this,
                    i = a.scrollbar,
                    s = a.rtlTranslate,
                    r = i.$el,
                    n = i.dragSize,
                    o = i.trackSize;
                  t = ((a.isHorizontal() ? "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX || e.clientX : "touchstart" === e.type || "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY || e
                    .clientY) - r.offset()[a.isHorizontal() ? "left" : "top"] - n / 2) / (o - n), t = Math.max(Math.min(t, 1), 0), s && (t = 1 - t);
                  var l = a.minTranslate() + (a.maxTranslate() - a.minTranslate()) * t;
                  a.updateProgress(l), a.setTranslate(l), a.updateActiveIndex(), a.updateSlidesClasses()
                },
                onDragStart: function(e) {
                  var t = this,
                    a = t.params.scrollbar,
                    i = t.scrollbar,
                    s = t.$wrapperEl,
                    r = i.$el,
                    n = i.$dragEl;
                  t.scrollbar.isTouched = !0, e.preventDefault(), e.stopPropagation(), s.transition(100), n.transition(100), i.setDragPosition(e), clearTimeout(t.scrollbar.dragTimeout), r.transition(0), a.hide && r.css("opacity", 1), t.emit(
                    "scrollbarDragStart", e)
                },
                onDragMove: function(e) {
                  var t = this.scrollbar,
                    a = this.$wrapperEl,
                    i = t.$el,
                    s = t.$dragEl;
                  this.scrollbar.isTouched && (e.preventDefault ? e.preventDefault() : e.returnValue = !1, t.setDragPosition(e), a.transition(0), i.transition(0), s.transition(0), this.emit("scrollbarDragMove", e))
                },
                onDragEnd: function(e) {
                  var t = this,
                    a = t.params.scrollbar,
                    i = t.scrollbar.$el;
                  t.scrollbar.isTouched && (t.scrollbar.isTouched = !1, a.hide && (clearTimeout(t.scrollbar.dragTimeout), t.scrollbar.dragTimeout = X.nextTick(function() {
                    i.css("opacity", 0), i.transition(400)
                  }, 1e3)), t.emit("scrollbarDragEnd", e), a.snapOnRelease && t.slideToClosest())
                },
                enableDraggable: function() {
                  var e = this;
                  if (e.params.scrollbar.el) {
                    var t = e.scrollbar,
                      a = e.touchEvents,
                      i = e.touchEventsDesktop,
                      s = e.params,
                      r = t.$el[0],
                      n = !(!Y.passiveListener || !s.passiveListeners) && {
                        passive: !1,
                        capture: !1
                      },
                      o = !(!Y.passiveListener || !s.passiveListeners) && {
                        passive: !0,
                        capture: !1
                      };
                    Y.touch || !Y.pointerEvents && !Y.prefixedPointerEvents ? (Y.touch && (r.addEventListener(a.start, e.scrollbar.onDragStart, n), r.addEventListener(a.move, e.scrollbar.onDragMove, n), r.addEventListener(a.end, e.scrollbar
                      .onDragEnd, o)), (s.simulateTouch && !m.ios && !m.android || s.simulateTouch && !Y.touch && m.ios) && (r.addEventListener("mousedown", e.scrollbar.onDragStart, n), f.addEventListener("mousemove", e.scrollbar.onDragMove,
                      n), f.addEventListener("mouseup", e.scrollbar.onDragEnd, o))) : (r.addEventListener(i.start, e.scrollbar.onDragStart, n), f.addEventListener(i.move, e.scrollbar.onDragMove, n), f.addEventListener(i.end, e.scrollbar
                      .onDragEnd, o))
                  }
                },
                disableDraggable: function() {
                  var e = this;
                  if (e.params.scrollbar.el) {
                    var t = e.scrollbar,
                      a = e.touchEvents,
                      i = e.touchEventsDesktop,
                      s = e.params,
                      r = t.$el[0],
                      n = !(!Y.passiveListener || !s.passiveListeners) && {
                        passive: !1,
                        capture: !1
                      },
                      o = !(!Y.passiveListener || !s.passiveListeners) && {
                        passive: !0,
                        capture: !1
                      };
                    Y.touch || !Y.pointerEvents && !Y.prefixedPointerEvents ? (Y.touch && (r.removeEventListener(a.start, e.scrollbar.onDragStart, n), r.removeEventListener(a.move, e.scrollbar.onDragMove, n), r.removeEventListener(a.end, e
                      .scrollbar.onDragEnd, o)), (s.simulateTouch && !m.ios && !m.android || s.simulateTouch && !Y.touch && m.ios) && (r.removeEventListener("mousedown", e.scrollbar.onDragStart, n), f.removeEventListener("mousemove", e
                      .scrollbar.onDragMove, n), f.removeEventListener("mouseup", e.scrollbar.onDragEnd, o))) : (r.removeEventListener(i.start, e.scrollbar.onDragStart, n), f.removeEventListener(i.move, e.scrollbar.onDragMove, n), f
                      .removeEventListener(i.end, e.scrollbar.onDragEnd, o))
                  }
                },
                init: function() {
                  var e = this;
                  if (e.params.scrollbar.el) {
                    var t = e.scrollbar,
                      a = e.$el,
                      i = e.params.scrollbar,
                      s = L(i.el);
                    e.params.uniqueNavElements && "string" == typeof i.el && 1 < s.length && 1 === a.find(i.el).length && (s = a.find(i.el));
                    var r = s.find("." + e.params.scrollbar.dragClass);
                    0 === r.length && (r = L('<div class="' + e.params.scrollbar.dragClass + '"></div>'), s.append(r)), X.extend(t, {
                      $el: s,
                      el: s[0],
                      $dragEl: r,
                      dragEl: r[0]
                    }), i.draggable && t.enableDraggable()
                  }
                },
                destroy: function() {
                  this.scrollbar.disableDraggable()
                }
              },
              F = {
                setTransform: function(e, t) {
                  var a = this.rtl,
                    i = L(e),
                    s = a ? -1 : 1,
                    r = i.attr("data-swiper-parallax") || "0",
                    n = i.attr("data-swiper-parallax-x"),
                    o = i.attr("data-swiper-parallax-y"),
                    l = i.attr("data-swiper-parallax-scale"),
                    d = i.attr("data-swiper-parallax-opacity");
                  if (n || o ? (n = n || "0", o = o || "0") : this.isHorizontal() ? (n = r, o = "0") : (o = r, n = "0"), n = 0 <= n.indexOf("%") ? parseInt(n, 10) * t * s + "%" : n * t * s + "px", o = 0 <= o.indexOf("%") ? parseInt(o, 10) * t +
                    "%" : o * t + "px", null != d) {
                    var p = d - (d - 1) * (1 - Math.abs(t));
                    i[0].style.opacity = p
                  }
                  if (null == l) i.transform("translate3d(" + n + ", " + o + ", 0px)");
                  else {
                    var c = l - (l - 1) * (1 - Math.abs(t));
                    i.transform("translate3d(" + n + ", " + o + ", 0px) scale(" + c + ")")
                  }
                },
                setTranslate: function() {
                  var i = this,
                    e = i.$el,
                    t = i.slides,
                    s = i.progress,
                    r = i.snapGrid;
                  e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) {
                    i.parallax.setTransform(t, s)
                  }), t.each(function(e, t) {
                    var a = t.progress;
                    1 < i.params.slidesPerGroup && "auto" !== i.params.slidesPerView && (a += Math.ceil(e / 2) - s * (r.length - 1)), a = Math.min(Math.max(a, -1), 1), L(t).find(
                      "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) {
                      i.parallax.setTransform(t, a)
                    })
                  })
                },
                setTransition: function(s) {
                  void 0 === s && (s = this.params.speed);
                  this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y]").each(function(e, t) {
                    var a = L(t),
                      i = parseInt(a.attr("data-swiper-parallax-duration"), 10) || s;
                    0 === s && (i = 0), a.transition(i)
                  })
                }
              },
              W = {
                getDistanceBetweenTouches: function(e) {
                  if (e.targetTouches.length < 2) return 1;
                  var t = e.targetTouches[0].pageX,
                    a = e.targetTouches[0].pageY,
                    i = e.targetTouches[1].pageX,
                    s = e.targetTouches[1].pageY;
                  return Math.sqrt(Math.pow(i - t, 2) + Math.pow(s - a, 2))
                },
                onGestureStart: function(e) {
                  var t = this,
                    a = t.params.zoom,
                    i = t.zoom,
                    s = i.gesture;
                  if (i.fakeGestureTouched = !1, i.fakeGestureMoved = !1, !Y.gestures) {
                    if ("touchstart" !== e.type || "touchstart" === e.type && e.targetTouches.length < 2) return;
                    i.fakeGestureTouched = !0, s.scaleStart = W.getDistanceBetweenTouches(e)
                  }
                  s.$slideEl && s.$slideEl.length || (s.$slideEl = L(e.target).closest(".swiper-slide"), 0 === s.$slideEl.length && (s.$slideEl = t.slides.eq(t.activeIndex)), s.$imageEl = s.$slideEl.find("img, svg, canvas"), s.$imageWrapEl = s
                    .$imageEl.parent("." + a.containerClass), s.maxRatio = s.$imageWrapEl.attr("data-swiper-zoom") || a.maxRatio, 0 !== s.$imageWrapEl.length) ? (s.$imageEl.transition(0), t.zoom.isScaling = !0) : s.$imageEl = void 0
                },
                onGestureChange: function(e) {
                  var t = this.params.zoom,
                    a = this.zoom,
                    i = a.gesture;
                  if (!Y.gestures) {
                    if ("touchmove" !== e.type || "touchmove" === e.type && e.targetTouches.length < 2) return;
                    a.fakeGestureMoved = !0, i.scaleMove = W.getDistanceBetweenTouches(e)
                  }
                  i.$imageEl && 0 !== i.$imageEl.length && (Y.gestures ? this.zoom.scale = e.scale * a.currentScale : a.scale = i.scaleMove / i.scaleStart * a.currentScale, a.scale > i.maxRatio && (a.scale = i.maxRatio - 1 + Math.pow(a.scale - i
                    .maxRatio + 1, .5)), a.scale < t.minRatio && (a.scale = t.minRatio + 1 - Math.pow(t.minRatio - a.scale + 1, .5)), i.$imageEl.transform("translate3d(0,0,0) scale(" + a.scale + ")"))
                },
                onGestureEnd: function(e) {
                  var t = this.params.zoom,
                    a = this.zoom,
                    i = a.gesture;
                  if (!Y.gestures) {
                    if (!a.fakeGestureTouched || !a.fakeGestureMoved) return;
                    if ("touchend" !== e.type || "touchend" === e.type && e.changedTouches.length < 2 && !m.android) return;
                    a.fakeGestureTouched = !1, a.fakeGestureMoved = !1
                  }
                  i.$imageEl && 0 !== i.$imageEl.length && (a.scale = Math.max(Math.min(a.scale, i.maxRatio), t.minRatio), i.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale(" + a.scale + ")"), a.currentScale = a.scale,
                    a.isScaling = !1, 1 === a.scale && (i.$slideEl = void 0))
                },
                onTouchStart: function(e) {
                  var t = this.zoom,
                    a = t.gesture,
                    i = t.image;
                  a.$imageEl && 0 !== a.$imageEl.length && (i.isTouched || (m.android && e.preventDefault(), i.isTouched = !0, i.touchesStart.x = "touchstart" === e.type ? e.targetTouches[0].pageX : e.pageX, i.touchesStart.y = "touchstart" === e
                    .type ? e.targetTouches[0].pageY : e.pageY))
                },
                onTouchMove: function(e) {
                  var t = this,
                    a = t.zoom,
                    i = a.gesture,
                    s = a.image,
                    r = a.velocity;
                  if (i.$imageEl && 0 !== i.$imageEl.length && (t.allowClick = !1, s.isTouched && i.$slideEl)) {
                    s.isMoved || (s.width = i.$imageEl[0].offsetWidth, s.height = i.$imageEl[0].offsetHeight, s.startX = X.getTranslate(i.$imageWrapEl[0], "x") || 0, s.startY = X.getTranslate(i.$imageWrapEl[0], "y") || 0, i.slideWidth = i
                      .$slideEl[0].offsetWidth, i.slideHeight = i.$slideEl[0].offsetHeight, i.$imageWrapEl.transition(0), t.rtl && (s.startX = -s.startX, s.startY = -s.startY));
                    var n = s.width * a.scale,
                      o = s.height * a.scale;
                    if (!(n < i.slideWidth && o < i.slideHeight)) {
                      if (s.minX = Math.min(i.slideWidth / 2 - n / 2, 0), s.maxX = -s.minX, s.minY = Math.min(i.slideHeight / 2 - o / 2, 0), s.maxY = -s.minY, s.touchesCurrent.x = "touchmove" === e.type ? e.targetTouches[0].pageX : e.pageX, s
                        .touchesCurrent.y = "touchmove" === e.type ? e.targetTouches[0].pageY : e.pageY, !s.isMoved && !a.isScaling) {
                        if (t.isHorizontal() && (Math.floor(s.minX) === Math.floor(s.startX) && s.touchesCurrent.x < s.touchesStart.x || Math.floor(s.maxX) === Math.floor(s.startX) && s.touchesCurrent.x > s.touchesStart.x)) return void(s
                          .isTouched = !1);
                        if (!t.isHorizontal() && (Math.floor(s.minY) === Math.floor(s.startY) && s.touchesCurrent.y < s.touchesStart.y || Math.floor(s.maxY) === Math.floor(s.startY) && s.touchesCurrent.y > s.touchesStart.y)) return void(s
                          .isTouched = !1)
                      }
                      e.preventDefault(), e.stopPropagation(), s.isMoved = !0, s.currentX = s.touchesCurrent.x - s.touchesStart.x + s.startX, s.currentY = s.touchesCurrent.y - s.touchesStart.y + s.startY, s.currentX < s.minX && (s.currentX = s
                          .minX + 1 - Math.pow(s.minX - s.currentX + 1, .8)), s.currentX > s.maxX && (s.currentX = s.maxX - 1 + Math.pow(s.currentX - s.maxX + 1, .8)), s.currentY < s.minY && (s.currentY = s.minY + 1 - Math.pow(s.minY - s
                          .currentY + 1, .8)), s.currentY > s.maxY && (s.currentY = s.maxY - 1 + Math.pow(s.currentY - s.maxY + 1, .8)), r.prevPositionX || (r.prevPositionX = s.touchesCurrent.x), r.prevPositionY || (r.prevPositionY = s
                          .touchesCurrent.y), r.prevTime || (r.prevTime = Date.now()), r.x = (s.touchesCurrent.x - r.prevPositionX) / (Date.now() - r.prevTime) / 2, r.y = (s.touchesCurrent.y - r.prevPositionY) / (Date.now() - r.prevTime) / 2,
                        Math.abs(s.touchesCurrent.x - r.prevPositionX) < 2 && (r.x = 0), Math.abs(s.touchesCurrent.y - r.prevPositionY) < 2 && (r.y = 0), r.prevPositionX = s.touchesCurrent.x, r.prevPositionY = s.touchesCurrent.y, r.prevTime =
                        Date.now(), i.$imageWrapEl.transform("translate3d(" + s.currentX + "px, " + s.currentY + "px,0)")
                    }
                  }
                },
                onTouchEnd: function() {
                  var e = this.zoom,
                    t = e.gesture,
                    a = e.image,
                    i = e.velocity;
                  if (t.$imageEl && 0 !== t.$imageEl.length) {
                    if (!a.isTouched || !a.isMoved) return a.isTouched = !1, void(a.isMoved = !1);
                    a.isTouched = !1, a.isMoved = !1;
                    var s = 300,
                      r = 300,
                      n = i.x * s,
                      o = a.currentX + n,
                      l = i.y * r,
                      d = a.currentY + l;
                    0 !== i.x && (s = Math.abs((o - a.currentX) / i.x)), 0 !== i.y && (r = Math.abs((d - a.currentY) / i.y));
                    var p = Math.max(s, r);
                    a.currentX = o, a.currentY = d;
                    var c = a.width * e.scale,
                      u = a.height * e.scale;
                    a.minX = Math.min(t.slideWidth / 2 - c / 2, 0), a.maxX = -a.minX, a.minY = Math.min(t.slideHeight / 2 - u / 2, 0), a.maxY = -a.minY, a.currentX = Math.max(Math.min(a.currentX, a.maxX), a.minX), a.currentY = Math.max(Math.min(a
                      .currentY, a.maxY), a.minY), t.$imageWrapEl.transition(p).transform("translate3d(" + a.currentX + "px, " + a.currentY + "px,0)")
                  }
                },
                onTransitionEnd: function() {
                  var e = this.zoom,
                    t = e.gesture;
                  t.$slideEl && this.previousIndex !== this.activeIndex && (t.$imageEl.transform("translate3d(0,0,0) scale(1)"), t.$imageWrapEl.transform("translate3d(0,0,0)"), t.$slideEl = void 0, t.$imageEl = void 0, t.$imageWrapEl = void 0, e
                    .scale = 1, e.currentScale = 1)
                },
                toggle: function(e) {
                  var t = this.zoom;
                  t.scale && 1 !== t.scale ? t.out() : t.in(e)
                },
                in: function(e) {
                  var t, a, i, s, r, n, o, l, d, p, c, u, h, v, f, m, g = this,
                    b = g.zoom,
                    w = g.params.zoom,
                    y = b.gesture,
                    x = b.image;
                  (y.$slideEl || (y.$slideEl = g.clickedSlide ? L(g.clickedSlide) : g.slides.eq(g.activeIndex), y.$imageEl = y.$slideEl.find("img, svg, canvas"), y.$imageWrapEl = y.$imageEl.parent("." + w.containerClass)), y.$imageEl && 0 !== y
                    .$imageEl.length) && (y.$slideEl.addClass("" + w.zoomedSlideClass), void 0 === x.touchesStart.x && e ? (t = "touchend" === e.type ? e.changedTouches[0].pageX : e.pageX, a = "touchend" === e.type ? e.changedTouches[0].pageY : e
                      .pageY) : (t = x.touchesStart.x, a = x.touchesStart.y), b.scale = y.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, b.currentScale = y.$imageWrapEl.attr("data-swiper-zoom") || w.maxRatio, e ? (f = y.$slideEl[0]
                      .offsetWidth, m = y.$slideEl[0].offsetHeight, i = y.$slideEl.offset().left + f / 2 - t, s = y.$slideEl.offset().top + m / 2 - a, o = y.$imageEl[0].offsetWidth, l = y.$imageEl[0].offsetHeight, d = o * b.scale, p = l * b
                      .scale, h = -(c = Math.min(f / 2 - d / 2, 0)), v = -(u = Math.min(m / 2 - p / 2, 0)), (r = i * b.scale) < c && (r = c), h < r && (r = h), (n = s * b.scale) < u && (n = u), v < n && (n = v)) : n = r = 0, y.$imageWrapEl
                    .transition(300).transform("translate3d(" + r + "px, " + n + "px,0)"), y.$imageEl.transition(300).transform("translate3d(0,0,0) scale(" + b.scale + ")"))
                },
                out: function() {
                  var e = this,
                    t = e.zoom,
                    a = e.params.zoom,
                    i = t.gesture;
                  i.$slideEl || (i.$slideEl = e.clickedSlide ? L(e.clickedSlide) : e.slides.eq(e.activeIndex), i.$imageEl = i.$slideEl.find("img, svg, canvas"), i.$imageWrapEl = i.$imageEl.parent("." + a.containerClass)), i.$imageEl && 0 !== i
                    .$imageEl.length && (t.scale = 1, t.currentScale = 1, i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"), i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"), i.$slideEl.removeClass("" + a
                      .zoomedSlideClass), i.$slideEl = void 0)
                },
                enable: function() {
                  var e = this,
                    t = e.zoom;
                  if (!t.enabled) {
                    t.enabled = !0;
                    var a = !("touchstart" !== e.touchEvents.start || !Y.passiveListener || !e.params.passiveListeners) && {
                      passive: !0,
                      capture: !1
                    };
                    Y.gestures ? (e.$wrapperEl.on("gesturestart", ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.on("gesturechange", ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.on("gestureend", ".swiper-slide", t.onGestureEnd, a)) :
                      "touchstart" === e.touchEvents.start && (e.$wrapperEl.on(e.touchEvents.start, ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.on(e.touchEvents.move, ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.on(e.touchEvents
                        .end, ".swiper-slide", t.onGestureEnd, a)), e.$wrapperEl.on(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove)
                  }
                },
                disable: function() {
                  var e = this,
                    t = e.zoom;
                  if (t.enabled) {
                    e.zoom.enabled = !1;
                    var a = !("touchstart" !== e.touchEvents.start || !Y.passiveListener || !e.params.passiveListeners) && {
                      passive: !0,
                      capture: !1
                    };
                    Y.gestures ? (e.$wrapperEl.off("gesturestart", ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.off("gesturechange", ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.off("gestureend", ".swiper-slide", t.onGestureEnd,
                      a)) : "touchstart" === e.touchEvents.start && (e.$wrapperEl.off(e.touchEvents.start, ".swiper-slide", t.onGestureStart, a), e.$wrapperEl.off(e.touchEvents.move, ".swiper-slide", t.onGestureChange, a), e.$wrapperEl.off(e
                      .touchEvents.end, ".swiper-slide", t.onGestureEnd, a)), e.$wrapperEl.off(e.touchEvents.move, "." + e.params.zoom.containerClass, t.onTouchMove)
                  }
                }
              },
              q = {
                loadInSlide: function(e, l) {
                  void 0 === l && (l = !0);
                  var d = this,
                    p = d.params.lazy;
                  if (void 0 !== e && 0 !== d.slides.length) {
                    var c = d.virtual && d.params.virtual.enabled ? d.$wrapperEl.children("." + d.params.slideClass + '[data-swiper-slide-index="' + e + '"]') : d.slides.eq(e),
                      t = c.find("." + p.elementClass + ":not(." + p.loadedClass + "):not(." + p.loadingClass + ")");
                    !c.hasClass(p.elementClass) || c.hasClass(p.loadedClass) || c.hasClass(p.loadingClass) || (t = t.add(c[0])), 0 !== t.length && t.each(function(e, t) {
                      var i = L(t);
                      i.addClass(p.loadingClass);
                      var s = i.attr("data-background"),
                        r = i.attr("data-src"),
                        n = i.attr("data-srcset"),
                        o = i.attr("data-sizes");
                      d.loadImage(i[0], r || s, n, o, !1, function() {
                        if (null != d && d && (!d || d.params) && !d.destroyed) {
                          if (s ? (i.css("background-image", 'url("' + s + '")'), i.removeAttr("data-background")) : (n && (i.attr("srcset", n), i.removeAttr("data-srcset")), o && (i.attr("sizes", o), i.removeAttr("data-sizes")), r && (i
                              .attr("src", r), i.removeAttr("data-src"))), i.addClass(p.loadedClass).removeClass(p.loadingClass), c.find("." + p.preloaderClass).remove(), d.params.loop && l) {
                            var e = c.attr("data-swiper-slide-index");
                            if (c.hasClass(d.params.slideDuplicateClass)) {
                              var t = d.$wrapperEl.children('[data-swiper-slide-index="' + e + '"]:not(.' + d.params.slideDuplicateClass + ")");
                              d.lazy.loadInSlide(t.index(), !1)
                            } else {
                              var a = d.$wrapperEl.children("." + d.params.slideDuplicateClass + '[data-swiper-slide-index="' + e + '"]');
                              d.lazy.loadInSlide(a.index(), !1)
                            }
                          }
                          d.emit("lazyImageReady", c[0], i[0])
                        }
                      }), d.emit("lazyImageLoad", c[0], i[0])
                    })
                  }
                },
                load: function() {
                  var i = this,
                    t = i.$wrapperEl,
                    a = i.params,
                    s = i.slides,
                    e = i.activeIndex,
                    r = i.virtual && a.virtual.enabled,
                    n = a.lazy,
                    o = a.slidesPerView;

                  function l(e) {
                    if (r) {
                      if (t.children("." + a.slideClass + '[data-swiper-slide-index="' + e + '"]').length) return !0
                    } else if (s[e]) return !0;
                    return !1
                  }

                  function d(e) {
                    return r ? L(e).attr("data-swiper-slide-index") : L(e).index()
                  }
                  if ("auto" === o && (o = 0), i.lazy.initialImageLoaded || (i.lazy.initialImageLoaded = !0), i.params.watchSlidesVisibility) t.children("." + a.slideVisibleClass).each(function(e, t) {
                    var a = r ? L(t).attr("data-swiper-slide-index") : L(t).index();
                    i.lazy.loadInSlide(a)
                  });
                  else if (1 < o)
                    for (var p = e; p < e + o; p += 1) l(p) && i.lazy.loadInSlide(p);
                  else i.lazy.loadInSlide(e);
                  if (n.loadPrevNext)
                    if (1 < o || n.loadPrevNextAmount && 1 < n.loadPrevNextAmount) {
                      for (var c = n.loadPrevNextAmount, u = o, h = Math.min(e + u + Math.max(c, u), s.length), v = Math.max(e - Math.max(u, c), 0), f = e + o; f < h; f += 1) l(f) && i.lazy.loadInSlide(f);
                      for (var m = v; m < e; m += 1) l(m) && i.lazy.loadInSlide(m)
                    } else {
                      var g = t.children("." + a.slideNextClass);
                      0 < g.length && i.lazy.loadInSlide(d(g));
                      var b = t.children("." + a.slidePrevClass);
                      0 < b.length && i.lazy.loadInSlide(d(b))
                    }
                }
              },
              j = {
                LinearSpline: function(e, t) {
                  var a, i, s, r, n, o = function(e, t) {
                    for (i = -1, a = e.length; 1 < a - i;) e[s = a + i >> 1] <= t ? i = s : a = s;
                    return a
                  };
                  return this.x = e, this.y = t, this.lastIndex = e.length - 1, this.interpolate = function(e) {
                    return e ? (n = o(this.x, e), r = n - 1, (e - this.x[r]) * (this.y[n] - this.y[r]) / (this.x[n] - this.x[r]) + this.y[r]) : 0
                  }, this
                },
                getInterpolateFunction: function(e) {
                  var t = this;
                  t.controller.spline || (t.controller.spline = t.params.loop ? new j.LinearSpline(t.slidesGrid, e.slidesGrid) : new j.LinearSpline(t.snapGrid, e.snapGrid))
                },
                setTranslate: function(e, t) {
                  var a, i, s = this,
                    r = s.controller.control;

                  function n(e) {
                    var t = s.rtlTranslate ? -s.translate : s.translate;
                    "slide" === s.params.controller.by && (s.controller.getInterpolateFunction(e), i = -s.controller.spline.interpolate(-t)), i && "container" !== s.params.controller.by || (a = (e.maxTranslate() - e.minTranslate()) / (s
                        .maxTranslate() - s.minTranslate()), i = (t - s.minTranslate()) * a + e.minTranslate()), s.params.controller.inverse && (i = e.maxTranslate() - i), e.updateProgress(i), e.setTranslate(i, s), e.updateActiveIndex(), e
                      .updateSlidesClasses()
                  }
                  if (Array.isArray(r))
                    for (var o = 0; o < r.length; o += 1) r[o] !== t && r[o] instanceof S && n(r[o]);
                  else r instanceof S && t !== r && n(r)
                },
                setTransition: function(t, e) {
                  var a, i = this,
                    s = i.controller.control;

                  function r(e) {
                    e.setTransition(t, i), 0 !== t && (e.transitionStart(), e.params.autoHeight && X.nextTick(function() {
                      e.updateAutoHeight()
                    }), e.$wrapperEl.transitionEnd(function() {
                      s && (e.params.loop && "slide" === i.params.controller.by && e.loopFix(), e.transitionEnd())
                    }))
                  }
                  if (Array.isArray(s))
                    for (a = 0; a < s.length; a += 1) s[a] !== e && s[a] instanceof S && r(s[a]);
                  else s instanceof S && e !== s && r(s)
                }
              },
              K = {
                makeElFocusable: function(e) {
                  return e.attr("tabIndex", "0"), e
                },
                addElRole: function(e, t) {
                  return e.attr("role", t), e
                },
                addElLabel: function(e, t) {
                  return e.attr("aria-label", t), e
                },
                disableEl: function(e) {
                  return e.attr("aria-disabled", !0), e
                },
                enableEl: function(e) {
                  return e.attr("aria-disabled", !1), e
                },
                onEnterKey: function(e) {
                  var t = this,
                    a = t.params.a11y;
                  if (13 === e.keyCode) {
                    var i = L(e.target);
                    t.navigation && t.navigation.$nextEl && i.is(t.navigation.$nextEl) && (t.isEnd && !t.params.loop || t.slideNext(), t.isEnd ? t.a11y.notify(a.lastSlideMessage) : t.a11y.notify(a.nextSlideMessage)), t.navigation && t.navigation
                      .$prevEl && i.is(t.navigation.$prevEl) && (t.isBeginning && !t.params.loop || t.slidePrev(), t.isBeginning ? t.a11y.notify(a.firstSlideMessage) : t.a11y.notify(a.prevSlideMessage)), t.pagination && i.is("." + t.params
                        .pagination.bulletClass) && i[0].click()
                  }
                },
                notify: function(e) {
                  var t = this.a11y.liveRegion;
                  0 !== t.length && (t.html(""), t.html(e))
                },
                updateNavigation: function() {
                  var e = this;
                  if (!e.params.loop) {
                    var t = e.navigation,
                      a = t.$nextEl,
                      i = t.$prevEl;
                    i && 0 < i.length && (e.isBeginning ? e.a11y.disableEl(i) : e.a11y.enableEl(i)), a && 0 < a.length && (e.isEnd ? e.a11y.disableEl(a) : e.a11y.enableEl(a))
                  }
                },
                updatePagination: function() {
                  var i = this,
                    s = i.params.a11y;
                  i.pagination && i.params.pagination.clickable && i.pagination.bullets && i.pagination.bullets.length && i.pagination.bullets.each(function(e, t) {
                    var a = L(t);
                    i.a11y.makeElFocusable(a), i.a11y.addElRole(a, "button"), i.a11y.addElLabel(a, s.paginationBulletMessage.replace(/{{index}}/, a.index() + 1))
                  })
                },
                init: function() {
                  var e = this;
                  e.$el.append(e.a11y.liveRegion);
                  var t, a, i = e.params.a11y;
                  e.navigation && e.navigation.$nextEl && (t = e.navigation.$nextEl), e.navigation && e.navigation.$prevEl && (a = e.navigation.$prevEl), t && (e.a11y.makeElFocusable(t), e.a11y.addElRole(t, "button"), e.a11y.addElLabel(t, i
                      .nextSlideMessage), t.on("keydown", e.a11y.onEnterKey)), a && (e.a11y.makeElFocusable(a), e.a11y.addElRole(a, "button"), e.a11y.addElLabel(a, i.prevSlideMessage), a.on("keydown", e.a11y.onEnterKey)), e.pagination && e.params
                    .pagination.clickable && e.pagination.bullets && e.pagination.bullets.length && e.pagination.$el.on("keydown", "." + e.params.pagination.bulletClass, e.a11y.onEnterKey)
                },
                destroy: function() {
                  var e, t, a = this;
                  a.a11y.liveRegion && 0 < a.a11y.liveRegion.length && a.a11y.liveRegion.remove(), a.navigation && a.navigation.$nextEl && (e = a.navigation.$nextEl), a.navigation && a.navigation.$prevEl && (t = a.navigation.$prevEl), e && e.off(
                    "keydown", a.a11y.onEnterKey), t && t.off("keydown", a.a11y.onEnterKey), a.pagination && a.params.pagination.clickable && a.pagination.bullets && a.pagination.bullets.length && a.pagination.$el.off("keydown", "." + a.params
                    .pagination.bulletClass, a.a11y.onEnterKey)
                }
              },
              U = {
                init: function() {
                  var e = this;
                  if (e.params.history) {
                    if (!B.history || !B.history.pushState) return e.params.history.enabled = !1, void(e.params.hashNavigation.enabled = !0);
                    var t = e.history;
                    t.initialized = !0, t.paths = U.getPathValues(), (t.paths.key || t.paths.value) && (t.scrollToSlide(0, t.paths.value, e.params.runCallbacksOnInit), e.params.history.replaceState || B.addEventListener("popstate", e.history
                      .setHistoryPopState))
                  }
                },
                destroy: function() {
                  this.params.history.replaceState || B.removeEventListener("popstate", this.history.setHistoryPopState)
                },
                setHistoryPopState: function() {
                  this.history.paths = U.getPathValues(), this.history.scrollToSlide(this.params.speed, this.history.paths.value, !1)
                },
                getPathValues: function() {
                  var e = B.location.pathname.slice(1).split("/").filter(function(e) {
                      return "" !== e
                    }),
                    t = e.length;
                  return {
                    key: e[t - 2],
                    value: e[t - 1]
                  }
                },
                setHistory: function(e, t) {
                  if (this.history.initialized && this.params.history.enabled) {
                    var a = this.slides.eq(t),
                      i = U.slugify(a.attr("data-history"));
                    B.location.pathname.includes(e) || (i = e + "/" + i);
                    var s = B.history.state;
                    s && s.value === i || (this.params.history.replaceState ? B.history.replaceState({
                      value: i
                    }, null, i) : B.history.pushState({
                      value: i
                    }, null, i))
                  }
                },
                slugify: function(e) {
                  return e.toString().toLowerCase().replace(/\s+/g, "-").replace(/[^\w-]+/g, "").replace(/--+/g, "-").replace(/^-+/, "").replace(/-+$/, "")
                },
                scrollToSlide: function(e, t, a) {
                  var i = this;
                  if (t)
                    for (var s = 0, r = i.slides.length; s < r; s += 1) {
                      var n = i.slides.eq(s);
                      if (U.slugify(n.attr("data-history")) === t && !n.hasClass(i.params.slideDuplicateClass)) {
                        var o = n.index();
                        i.slideTo(o, e, a)
                      }
                    } else i.slideTo(0, e, a)
                }
              },
              _ = {
                onHashCange: function() {
                  var e = this,
                    t = f.location.hash.replace("#", "");
                  t !== e.slides.eq(e.activeIndex).attr("data-hash") && e.slideTo(e.$wrapperEl.children("." + e.params.slideClass + '[data-hash="' + t + '"]').index())
                },
                setHash: function() {
                  var e = this;
                  if (e.hashNavigation.initialized && e.params.hashNavigation.enabled)
                    if (e.params.hashNavigation.replaceState && B.history && B.history.replaceState) B.history.replaceState(null, null, "#" + e.slides.eq(e.activeIndex).attr("data-hash") || "");
                    else {
                      var t = e.slides.eq(e.activeIndex),
                        a = t.attr("data-hash") || t.attr("data-history");
                      f.location.hash = a || ""
                    }
                },
                init: function() {
                  var e = this;
                  if (!(!e.params.hashNavigation.enabled || e.params.history && e.params.history.enabled)) {
                    e.hashNavigation.initialized = !0;
                    var t = f.location.hash.replace("#", "");
                    if (t)
                      for (var a = 0, i = e.slides.length; a < i; a += 1) {
                        var s = e.slides.eq(a);
                        if ((s.attr("data-hash") || s.attr("data-history")) === t && !s.hasClass(e.params.slideDuplicateClass)) {
                          var r = s.index();
                          e.slideTo(r, 0, e.params.runCallbacksOnInit, !0)
                        }
                      }
                    e.params.hashNavigation.watchState && L(B).on("hashchange", e.hashNavigation.onHashCange)
                  }
                },
                destroy: function() {
                  this.params.hashNavigation.watchState && L(B).off("hashchange", this.hashNavigation.onHashCange)
                }
              },
              Z = {
                run: function() {
                  var e = this,
                    t = e.slides.eq(e.activeIndex),
                    a = e.params.autoplay.delay;
                  t.attr("data-swiper-autoplay") && (a = t.attr("data-swiper-autoplay") || e.params.autoplay.delay), e.autoplay.timeout = X.nextTick(function() {
                    e.params.autoplay.reverseDirection ? e.params.loop ? (e.loopFix(), e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.isBeginning ? e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(e.slides
                        .length - 1, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slidePrev(e.params.speed, !0, !0), e.emit("autoplay")) : e.params.loop ? (e.loopFix(), e.slideNext(e.params.speed, !0, !0), e.emit("autoplay")) : e.isEnd ?
                      e.params.autoplay.stopOnLastSlide ? e.autoplay.stop() : (e.slideTo(0, e.params.speed, !0, !0), e.emit("autoplay")) : (e.slideNext(e.params.speed, !0, !0), e.emit("autoplay"))
                  }, a)
                },
                start: function() {
                  var e = this;
                  return void 0 === e.autoplay.timeout && (!e.autoplay.running && (e.autoplay.running = !0, e.emit("autoplayStart"), e.autoplay.run(), !0))
                },
                stop: function() {
                  var e = this;
                  return !!e.autoplay.running && (void 0 !== e.autoplay.timeout && (e.autoplay.timeout && (clearTimeout(e.autoplay.timeout), e.autoplay.timeout = void 0), e.autoplay.running = !1, e.emit("autoplayStop"), !0))
                },
                pause: function(e) {
                  var t = this;
                  t.autoplay.running && (t.autoplay.paused || (t.autoplay.timeout && clearTimeout(t.autoplay.timeout), t.autoplay.paused = !0, 0 !== e && t.params.autoplay.waitForTransition ? (t.$wrapperEl[0].addEventListener("transitionend", t
                    .autoplay.onTransitionEnd), t.$wrapperEl[0].addEventListener("webkitTransitionEnd", t.autoplay.onTransitionEnd)) : (t.autoplay.paused = !1, t.autoplay.run())))
                }
              },
              Q = {
                setTranslate: function() {
                  for (var e = this, t = e.slides, a = 0; a < t.length; a += 1) {
                    var i = e.slides.eq(a),
                      s = -i[0].swiperSlideOffset;
                    e.params.virtualTranslate || (s -= e.translate);
                    var r = 0;
                    e.isHorizontal() || (r = s, s = 0);
                    var n = e.params.fadeEffect.crossFade ? Math.max(1 - Math.abs(i[0].progress), 0) : 1 + Math.min(Math.max(i[0].progress, -1), 0);
                    i.css({
                      opacity: n
                    }).transform("translate3d(" + s + "px, " + r + "px, 0px)")
                  }
                },
                setTransition: function(e) {
                  var a = this,
                    t = a.slides,
                    i = a.$wrapperEl;
                  if (t.transition(e), a.params.virtualTranslate && 0 !== e) {
                    var s = !1;
                    t.transitionEnd(function() {
                      if (!s && a && !a.destroyed) {
                        s = !0, a.animating = !1;
                        for (var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e.length; t += 1) i.trigger(e[t])
                      }
                    })
                  }
                }
              },
              J = {
                setTranslate: function() {
                  var e, t = this,
                    a = t.$el,
                    i = t.$wrapperEl,
                    s = t.slides,
                    r = t.width,
                    n = t.height,
                    o = t.rtlTranslate,
                    l = t.size,
                    d = t.params.cubeEffect,
                    p = t.isHorizontal(),
                    c = t.virtual && t.params.virtual.enabled,
                    u = 0;
                  d.shadow && (p ? (0 === (e = i.find(".swiper-cube-shadow")).length && (e = L('<div class="swiper-cube-shadow"></div>'), i.append(e)), e.css({
                    height: r + "px"
                  })) : 0 === (e = a.find(".swiper-cube-shadow")).length && (e = L('<div class="swiper-cube-shadow"></div>'), a.append(e)));
                  for (var h = 0; h < s.length; h += 1) {
                    var v = s.eq(h),
                      f = h;
                    c && (f = parseInt(v.attr("data-swiper-slide-index"), 10));
                    var m = 90 * f,
                      g = Math.floor(m / 360);
                    o && (m = -m, g = Math.floor(-m / 360));
                    var b = Math.max(Math.min(v[0].progress, 1), -1),
                      w = 0,
                      y = 0,
                      x = 0;
                    f % 4 == 0 ? (w = 4 * -g * l, x = 0) : (f - 1) % 4 == 0 ? (w = 0, x = 4 * -g * l) : (f - 2) % 4 == 0 ? (w = l + 4 * g * l, x = l) : (f - 3) % 4 == 0 && (w = -l, x = 3 * l + 4 * l * g), o && (w = -w), p || (y = w, w = 0);
                    var E = "rotateX(" + (p ? 0 : -m) + "deg) rotateY(" + (p ? m : 0) + "deg) translate3d(" + w + "px, " + y + "px, " + x + "px)";
                    if (b <= 1 && -1 < b && (u = 90 * f + 90 * b, o && (u = 90 * -f - 90 * b)), v.transform(E), d.slideShadows) {
                      var T = p ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
                        S = p ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom");
                      0 === T.length && (T = L('<div class="swiper-slide-shadow-' + (p ? "left" : "top") + '"></div>'), v.append(T)), 0 === S.length && (S = L('<div class="swiper-slide-shadow-' + (p ? "right" : "bottom") + '"></div>'), v.append(
                        S)), T.length && (T[0].style.opacity = Math.max(-b, 0)), S.length && (S[0].style.opacity = Math.max(b, 0))
                    }
                  }
                  if (i.css({
                      "-webkit-transform-origin": "50% 50% -" + l / 2 + "px",
                      "-moz-transform-origin": "50% 50% -" + l / 2 + "px",
                      "-ms-transform-origin": "50% 50% -" + l / 2 + "px",
                      "transform-origin": "50% 50% -" + l / 2 + "px"
                    }), d.shadow)
                    if (p) e.transform("translate3d(0px, " + (r / 2 + d.shadowOffset) + "px, " + -r / 2 + "px) rotateX(90deg) rotateZ(0deg) scale(" + d.shadowScale + ")");
                    else {
                      var C = Math.abs(u) - 90 * Math.floor(Math.abs(u) / 90),
                        M = 1.5 - (Math.sin(2 * C * Math.PI / 360) / 2 + Math.cos(2 * C * Math.PI / 360) / 2),
                        z = d.shadowScale,
                        k = d.shadowScale / M,
                        P = d.shadowOffset;
                      e.transform("scale3d(" + z + ", 1, " + k + ") translate3d(0px, " + (n / 2 + P) + "px, " + -n / 2 / k + "px) rotateX(-90deg)")
                    } var $ = I.isSafari || I.isUiWebView ? -l / 2 : 0;
                  i.transform("translate3d(0px,0," + $ + "px) rotateX(" + (t.isHorizontal() ? 0 : u) + "deg) rotateY(" + (t.isHorizontal() ? -u : 0) + "deg)")
                },
                setTransition: function(e) {
                  var t = this.$el;
                  this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), this.params.cubeEffect.shadow && !this.isHorizontal() && t.find(
                    ".swiper-cube-shadow").transition(e)
                }
              },
              ee = {
                setTranslate: function() {
                  for (var e = this, t = e.slides, a = e.rtlTranslate, i = 0; i < t.length; i += 1) {
                    var s = t.eq(i),
                      r = s[0].progress;
                    e.params.flipEffect.limitRotation && (r = Math.max(Math.min(s[0].progress, 1), -1));
                    var n = -180 * r,
                      o = 0,
                      l = -s[0].swiperSlideOffset,
                      d = 0;
                    if (e.isHorizontal() ? a && (n = -n) : (d = l, o = -n, n = l = 0), s[0].style.zIndex = -Math.abs(Math.round(r)) + t.length, e.params.flipEffect.slideShadows) {
                      var p = e.isHorizontal() ? s.find(".swiper-slide-shadow-left") : s.find(".swiper-slide-shadow-top"),
                        c = e.isHorizontal() ? s.find(".swiper-slide-shadow-right") : s.find(".swiper-slide-shadow-bottom");
                      0 === p.length && (p = L('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "left" : "top") + '"></div>'), s.append(p)), 0 === c.length && (c = L('<div class="swiper-slide-shadow-' + (e.isHorizontal() ? "right" :
                        "bottom") + '"></div>'), s.append(c)), p.length && (p[0].style.opacity = Math.max(-r, 0)), c.length && (c[0].style.opacity = Math.max(r, 0))
                    }
                    s.transform("translate3d(" + l + "px, " + d + "px, 0px) rotateX(" + o + "deg) rotateY(" + n + "deg)")
                  }
                },
                setTransition: function(e) {
                  var a = this,
                    t = a.slides,
                    i = a.activeIndex,
                    s = a.$wrapperEl;
                  if (t.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e), a.params.virtualTranslate && 0 !== e) {
                    var r = !1;
                    t.eq(i).transitionEnd(function() {
                      if (!r && a && !a.destroyed) {
                        r = !0, a.animating = !1;
                        for (var e = ["webkitTransitionEnd", "transitionend"], t = 0; t < e.length; t += 1) s.trigger(e[t])
                      }
                    })
                  }
                }
              },
              te = {
                setTranslate: function() {
                  for (var e = this, t = e.width, a = e.height, i = e.slides, s = e.$wrapperEl, r = e.slidesSizesGrid, n = e.params.coverflowEffect, o = e.isHorizontal(), l = e.translate, d = o ? t / 2 - l : a / 2 - l, p = o ? n.rotate : -n
                      .rotate, c = n.depth, u = 0, h = i.length; u < h; u += 1) {
                    var v = i.eq(u),
                      f = r[u],
                      m = (d - v[0].swiperSlideOffset - f / 2) / f * n.modifier,
                      g = o ? p * m : 0,
                      b = o ? 0 : p * m,
                      w = -c * Math.abs(m),
                      y = o ? 0 : n.stretch * m,
                      x = o ? n.stretch * m : 0;
                    Math.abs(x) < .001 && (x = 0), Math.abs(y) < .001 && (y = 0), Math.abs(w) < .001 && (w = 0), Math.abs(g) < .001 && (g = 0), Math.abs(b) < .001 && (b = 0);
                    var E = "translate3d(" + x + "px," + y + "px," + w + "px)  rotateX(" + b + "deg) rotateY(" + g + "deg)";
                    if (v.transform(E), v[0].style.zIndex = 1 - Math.abs(Math.round(m)), n.slideShadows) {
                      var T = o ? v.find(".swiper-slide-shadow-left") : v.find(".swiper-slide-shadow-top"),
                        S = o ? v.find(".swiper-slide-shadow-right") : v.find(".swiper-slide-shadow-bottom");
                      0 === T.length && (T = L('<div class="swiper-slide-shadow-' + (o ? "left" : "top") + '"></div>'), v.append(T)), 0 === S.length && (S = L('<div class="swiper-slide-shadow-' + (o ? "right" : "bottom") + '"></div>'), v.append(
                        S)), T.length && (T[0].style.opacity = 0 < m ? m : 0), S.length && (S[0].style.opacity = 0 < -m ? -m : 0)
                    }
                  }(Y.pointerEvents || Y.prefixedPointerEvents) && (s[0].style.perspectiveOrigin = d + "px 50%")
                },
                setTransition: function(e) {
                  this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)
                }
              },
              ae = [C, M, z, k, $, O, H, {
                name: "mousewheel",
                params: {
                  mousewheel: {
                    enabled: !1,
                    releaseOnEdges: !1,
                    invert: !1,
                    forceToAxis: !1,
                    sensitivity: 1,
                    eventsTarged: "container"
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    mousewheel: {
                      enabled: !1,
                      enable: G.enable.bind(e),
                      disable: G.disable.bind(e),
                      handle: G.handle.bind(e),
                      handleMouseEnter: G.handleMouseEnter.bind(e),
                      handleMouseLeave: G.handleMouseLeave.bind(e),
                      lastScrollTime: X.now()
                    }
                  })
                },
                on: {
                  init: function() {
                    this.params.mousewheel.enabled && this.mousewheel.enable()
                  },
                  destroy: function() {
                    this.mousewheel.enabled && this.mousewheel.disable()
                  }
                }
              }, {
                name: "navigation",
                params: {
                  navigation: {
                    nextEl: null,
                    prevEl: null,
                    hideOnClick: !1,
                    disabledClass: "swiper-button-disabled",
                    hiddenClass: "swiper-button-hidden",
                    lockClass: "swiper-button-lock"
                  }
                },
                create: function() {
                  X.extend(this, {
                    navigation: {
                      init: N.init.bind(this),
                      update: N.update.bind(this),
                      destroy: N.destroy.bind(this)
                    }
                  })
                },
                on: {
                  init: function() {
                    this.navigation.init(), this.navigation.update()
                  },
                  toEdge: function() {
                    this.navigation.update()
                  },
                  fromEdge: function() {
                    this.navigation.update()
                  },
                  destroy: function() {
                    this.navigation.destroy()
                  },
                  click: function(e) {
                    var t = this.navigation,
                      a = t.$nextEl,
                      i = t.$prevEl;
                    !this.params.navigation.hideOnClick || L(e.target).is(i) || L(e.target).is(a) || (a && a.toggleClass(this.params.navigation.hiddenClass), i && i.toggleClass(this.params.navigation.hiddenClass))
                  }
                }
              }, {
                name: "pagination",
                params: {
                  pagination: {
                    el: null,
                    bulletElement: "span",
                    clickable: !1,
                    hideOnClick: !1,
                    renderBullet: null,
                    renderProgressbar: null,
                    renderFraction: null,
                    renderCustom: null,
                    progressbarOpposite: !1,
                    type: "bullets",
                    dynamicBullets: !1,
                    dynamicMainBullets: 1,
                    formatFractionCurrent: function(e) {
                      return e
                    },
                    formatFractionTotal: function(e) {
                      return e
                    },
                    bulletClass: "swiper-pagination-bullet",
                    bulletActiveClass: "swiper-pagination-bullet-active",
                    modifierClass: "swiper-pagination-",
                    currentClass: "swiper-pagination-current",
                    totalClass: "swiper-pagination-total",
                    hiddenClass: "swiper-pagination-hidden",
                    progressbarFillClass: "swiper-pagination-progressbar-fill",
                    progressbarOppositeClass: "swiper-pagination-progressbar-opposite",
                    clickableClass: "swiper-pagination-clickable",
                    lockClass: "swiper-pagination-lock"
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    pagination: {
                      init: V.init.bind(e),
                      render: V.render.bind(e),
                      update: V.update.bind(e),
                      destroy: V.destroy.bind(e),
                      dynamicBulletIndex: 0
                    }
                  })
                },
                on: {
                  init: function() {
                    this.pagination.init(), this.pagination.render(), this.pagination.update()
                  },
                  activeIndexChange: function() {
                    this.params.loop ? this.pagination.update() : void 0 === this.snapIndex && this.pagination.update()
                  },
                  snapIndexChange: function() {
                    this.params.loop || this.pagination.update()
                  },
                  slidesLengthChange: function() {
                    this.params.loop && (this.pagination.render(), this.pagination.update())
                  },
                  snapGridLengthChange: function() {
                    this.params.loop || (this.pagination.render(), this.pagination.update())
                  },
                  destroy: function() {
                    this.pagination.destroy()
                  },
                  click: function(e) {
                    var t = this;
                    t.params.pagination.el && t.params.pagination.hideOnClick && 0 < t.pagination.$el.length && !L(e.target).hasClass(t.params.pagination.bulletClass) && t.pagination.$el.toggleClass(t.params.pagination.hiddenClass)
                  }
                }
              }, {
                name: "scrollbar",
                params: {
                  scrollbar: {
                    el: null,
                    dragSize: "auto",
                    hide: !1,
                    draggable: !1,
                    snapOnRelease: !0,
                    lockClass: "swiper-scrollbar-lock",
                    dragClass: "swiper-scrollbar-drag"
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    scrollbar: {
                      init: R.init.bind(e),
                      destroy: R.destroy.bind(e),
                      updateSize: R.updateSize.bind(e),
                      setTranslate: R.setTranslate.bind(e),
                      setTransition: R.setTransition.bind(e),
                      enableDraggable: R.enableDraggable.bind(e),
                      disableDraggable: R.disableDraggable.bind(e),
                      setDragPosition: R.setDragPosition.bind(e),
                      onDragStart: R.onDragStart.bind(e),
                      onDragMove: R.onDragMove.bind(e),
                      onDragEnd: R.onDragEnd.bind(e),
                      isTouched: !1,
                      timeout: null,
                      dragTimeout: null
                    }
                  })
                },
                on: {
                  init: function() {
                    this.scrollbar.init(), this.scrollbar.updateSize(), this.scrollbar.setTranslate()
                  },
                  update: function() {
                    this.scrollbar.updateSize()
                  },
                  resize: function() {
                    this.scrollbar.updateSize()
                  },
                  observerUpdate: function() {
                    this.scrollbar.updateSize()
                  },
                  setTranslate: function() {
                    this.scrollbar.setTranslate()
                  },
                  setTransition: function(e) {
                    this.scrollbar.setTransition(e)
                  },
                  destroy: function() {
                    this.scrollbar.destroy()
                  }
                }
              }, {
                name: "parallax",
                params: {
                  parallax: {
                    enabled: !1
                  }
                },
                create: function() {
                  X.extend(this, {
                    parallax: {
                      setTransform: F.setTransform.bind(this),
                      setTranslate: F.setTranslate.bind(this),
                      setTransition: F.setTransition.bind(this)
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    this.params.parallax.enabled && (this.params.watchSlidesProgress = !0)
                  },
                  init: function() {
                    this.params.parallax && this.parallax.setTranslate()
                  },
                  setTranslate: function() {
                    this.params.parallax && this.parallax.setTranslate()
                  },
                  setTransition: function(e) {
                    this.params.parallax && this.parallax.setTransition(e)
                  }
                }
              }, {
                name: "zoom",
                params: {
                  zoom: {
                    enabled: !1,
                    maxRatio: 3,
                    minRatio: 1,
                    toggle: !0,
                    containerClass: "swiper-zoom-container",
                    zoomedSlideClass: "swiper-slide-zoomed"
                  }
                },
                create: function() {
                  var t = this,
                    a = {
                      enabled: !1,
                      scale: 1,
                      currentScale: 1,
                      isScaling: !1,
                      gesture: {
                        $slideEl: void 0,
                        slideWidth: void 0,
                        slideHeight: void 0,
                        $imageEl: void 0,
                        $imageWrapEl: void 0,
                        maxRatio: 3
                      },
                      image: {
                        isTouched: void 0,
                        isMoved: void 0,
                        currentX: void 0,
                        currentY: void 0,
                        minX: void 0,
                        minY: void 0,
                        maxX: void 0,
                        maxY: void 0,
                        width: void 0,
                        height: void 0,
                        startX: void 0,
                        startY: void 0,
                        touchesStart: {},
                        touchesCurrent: {}
                      },
                      velocity: {
                        x: void 0,
                        y: void 0,
                        prevPositionX: void 0,
                        prevPositionY: void 0,
                        prevTime: void 0
                      }
                    };
                  "onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach(function(e) {
                    a[e] = W[e].bind(t)
                  }), X.extend(t, {
                    zoom: a
                  })
                },
                on: {
                  init: function() {
                    this.params.zoom.enabled && this.zoom.enable()
                  },
                  destroy: function() {
                    this.zoom.disable()
                  },
                  touchStart: function(e) {
                    this.zoom.enabled && this.zoom.onTouchStart(e)
                  },
                  touchEnd: function(e) {
                    this.zoom.enabled && this.zoom.onTouchEnd(e)
                  },
                  doubleTap: function(e) {
                    this.params.zoom.enabled && this.zoom.enabled && this.params.zoom.toggle && this.zoom.toggle(e)
                  },
                  transitionEnd: function() {
                    this.zoom.enabled && this.params.zoom.enabled && this.zoom.onTransitionEnd()
                  }
                }
              }, {
                name: "lazy",
                params: {
                  lazy: {
                    enabled: !1,
                    loadPrevNext: !1,
                    loadPrevNextAmount: 1,
                    loadOnTransitionStart: !1,
                    elementClass: "swiper-lazy",
                    loadingClass: "swiper-lazy-loading",
                    loadedClass: "swiper-lazy-loaded",
                    preloaderClass: "swiper-lazy-preloader"
                  }
                },
                create: function() {
                  X.extend(this, {
                    lazy: {
                      initialImageLoaded: !1,
                      load: q.load.bind(this),
                      loadInSlide: q.loadInSlide.bind(this)
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    this.params.lazy.enabled && this.params.preloadImages && (this.params.preloadImages = !1)
                  },
                  init: function() {
                    this.params.lazy.enabled && !this.params.loop && 0 === this.params.initialSlide && this.lazy.load()
                  },
                  scroll: function() {
                    this.params.freeMode && !this.params.freeModeSticky && this.lazy.load()
                  },
                  resize: function() {
                    this.params.lazy.enabled && this.lazy.load()
                  },
                  scrollbarDragMove: function() {
                    this.params.lazy.enabled && this.lazy.load()
                  },
                  transitionStart: function() {
                    var e = this;
                    e.params.lazy.enabled && (e.params.lazy.loadOnTransitionStart || !e.params.lazy.loadOnTransitionStart && !e.lazy.initialImageLoaded) && e.lazy.load()
                  },
                  transitionEnd: function() {
                    this.params.lazy.enabled && !this.params.lazy.loadOnTransitionStart && this.lazy.load()
                  }
                }
              }, {
                name: "controller",
                params: {
                  controller: {
                    control: void 0,
                    inverse: !1,
                    by: "slide"
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    controller: {
                      control: e.params.controller.control,
                      getInterpolateFunction: j.getInterpolateFunction.bind(e),
                      setTranslate: j.setTranslate.bind(e),
                      setTransition: j.setTransition.bind(e)
                    }
                  })
                },
                on: {
                  update: function() {
                    this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
                  },
                  resize: function() {
                    this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
                  },
                  observerUpdate: function() {
                    this.controller.control && this.controller.spline && (this.controller.spline = void 0, delete this.controller.spline)
                  },
                  setTranslate: function(e, t) {
                    this.controller.control && this.controller.setTranslate(e, t)
                  },
                  setTransition: function(e, t) {
                    this.controller.control && this.controller.setTransition(e, t)
                  }
                }
              }, {
                name: "a11y",
                params: {
                  a11y: {
                    enabled: !0,
                    notificationClass: "swiper-notification",
                    prevSlideMessage: "Previous slide",
                    nextSlideMessage: "Next slide",
                    firstSlideMessage: "This is the first slide",
                    lastSlideMessage: "This is the last slide",
                    paginationBulletMessage: "Go to slide {{index}}"
                  }
                },
                create: function() {
                  var t = this;
                  X.extend(t, {
                    a11y: {
                      liveRegion: L('<span class="' + t.params.a11y.notificationClass + '" aria-live="assertive" aria-atomic="true"></span>')
                    }
                  }), Object.keys(K).forEach(function(e) {
                    t.a11y[e] = K[e].bind(t)
                  })
                },
                on: {
                  init: function() {
                    this.params.a11y.enabled && (this.a11y.init(), this.a11y.updateNavigation())
                  },
                  toEdge: function() {
                    this.params.a11y.enabled && this.a11y.updateNavigation()
                  },
                  fromEdge: function() {
                    this.params.a11y.enabled && this.a11y.updateNavigation()
                  },
                  paginationUpdate: function() {
                    this.params.a11y.enabled && this.a11y.updatePagination()
                  },
                  destroy: function() {
                    this.params.a11y.enabled && this.a11y.destroy()
                  }
                }
              }, {
                name: "history",
                params: {
                  history: {
                    enabled: !1,
                    replaceState: !1,
                    key: "slides"
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    history: {
                      init: U.init.bind(e),
                      setHistory: U.setHistory.bind(e),
                      setHistoryPopState: U.setHistoryPopState.bind(e),
                      scrollToSlide: U.scrollToSlide.bind(e),
                      destroy: U.destroy.bind(e)
                    }
                  })
                },
                on: {
                  init: function() {
                    this.params.history.enabled && this.history.init()
                  },
                  destroy: function() {
                    this.params.history.enabled && this.history.destroy()
                  },
                  transitionEnd: function() {
                    this.history.initialized && this.history.setHistory(this.params.history.key, this.activeIndex)
                  }
                }
              }, {
                name: "hash-navigation",
                params: {
                  hashNavigation: {
                    enabled: !1,
                    replaceState: !1,
                    watchState: !1
                  }
                },
                create: function() {
                  var e = this;
                  X.extend(e, {
                    hashNavigation: {
                      initialized: !1,
                      init: _.init.bind(e),
                      destroy: _.destroy.bind(e),
                      setHash: _.setHash.bind(e),
                      onHashCange: _.onHashCange.bind(e)
                    }
                  })
                },
                on: {
                  init: function() {
                    this.params.hashNavigation.enabled && this.hashNavigation.init()
                  },
                  destroy: function() {
                    this.params.hashNavigation.enabled && this.hashNavigation.destroy()
                  },
                  transitionEnd: function() {
                    this.hashNavigation.initialized && this.hashNavigation.setHash()
                  }
                }
              }, {
                name: "autoplay",
                params: {
                  autoplay: {
                    enabled: !1,
                    delay: 3e3,
                    waitForTransition: !0,
                    disableOnInteraction: !0,
                    stopOnLastSlide: !1,
                    reverseDirection: !1
                  }
                },
                create: function() {
                  var t = this;
                  X.extend(t, {
                    autoplay: {
                      running: !1,
                      paused: !1,
                      run: Z.run.bind(t),
                      start: Z.start.bind(t),
                      stop: Z.stop.bind(t),
                      pause: Z.pause.bind(t),
                      onTransitionEnd: function(e) {
                        t && !t.destroyed && t.$wrapperEl && e.target === this && (t.$wrapperEl[0].removeEventListener("transitionend", t.autoplay.onTransitionEnd), t.$wrapperEl[0].removeEventListener("webkitTransitionEnd", t.autoplay
                          .onTransitionEnd), t.autoplay.paused = !1, t.autoplay.running ? t.autoplay.run() : t.autoplay.stop())
                      }
                    }
                  })
                },
                on: {
                  init: function() {
                    this.params.autoplay.enabled && this.autoplay.start()
                  },
                  beforeTransitionStart: function(e, t) {
                    this.autoplay.running && (t || !this.params.autoplay.disableOnInteraction ? this.autoplay.pause(e) : this.autoplay.stop())
                  },
                  sliderFirstMove: function() {
                    this.autoplay.running && (this.params.autoplay.disableOnInteraction ? this.autoplay.stop() : this.autoplay.pause())
                  },
                  destroy: function() {
                    this.autoplay.running && this.autoplay.stop()
                  }
                }
              }, {
                name: "effect-fade",
                params: {
                  fadeEffect: {
                    crossFade: !1
                  }
                },
                create: function() {
                  X.extend(this, {
                    fadeEffect: {
                      setTranslate: Q.setTranslate.bind(this),
                      setTransition: Q.setTransition.bind(this)
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    var e = this;
                    if ("fade" === e.params.effect) {
                      e.classNames.push(e.params.containerModifierClass + "fade");
                      var t = {
                        slidesPerView: 1,
                        slidesPerColumn: 1,
                        slidesPerGroup: 1,
                        watchSlidesProgress: !0,
                        spaceBetween: 0,
                        virtualTranslate: !0
                      };
                      X.extend(e.params, t), X.extend(e.originalParams, t)
                    }
                  },
                  setTranslate: function() {
                    "fade" === this.params.effect && this.fadeEffect.setTranslate()
                  },
                  setTransition: function(e) {
                    "fade" === this.params.effect && this.fadeEffect.setTransition(e)
                  }
                }
              }, {
                name: "effect-cube",
                params: {
                  cubeEffect: {
                    slideShadows: !0,
                    shadow: !0,
                    shadowOffset: 20,
                    shadowScale: .94
                  }
                },
                create: function() {
                  X.extend(this, {
                    cubeEffect: {
                      setTranslate: J.setTranslate.bind(this),
                      setTransition: J.setTransition.bind(this)
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    var e = this;
                    if ("cube" === e.params.effect) {
                      e.classNames.push(e.params.containerModifierClass + "cube"), e.classNames.push(e.params.containerModifierClass + "3d");
                      var t = {
                        slidesPerView: 1,
                        slidesPerColumn: 1,
                        slidesPerGroup: 1,
                        watchSlidesProgress: !0,
                        resistanceRatio: 0,
                        spaceBetween: 0,
                        centeredSlides: !1,
                        virtualTranslate: !0
                      };
                      X.extend(e.params, t), X.extend(e.originalParams, t)
                    }
                  },
                  setTranslate: function() {
                    "cube" === this.params.effect && this.cubeEffect.setTranslate()
                  },
                  setTransition: function(e) {
                    "cube" === this.params.effect && this.cubeEffect.setTransition(e)
                  }
                }
              }, {
                name: "effect-flip",
                params: {
                  flipEffect: {
                    slideShadows: !0,
                    limitRotation: !0
                  }
                },
                create: function() {
                  X.extend(this, {
                    flipEffect: {
                      setTranslate: ee.setTranslate.bind(this),
                      setTransition: ee.setTransition.bind(this)
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    var e = this;
                    if ("flip" === e.params.effect) {
                      e.classNames.push(e.params.containerModifierClass + "flip"), e.classNames.push(e.params.containerModifierClass + "3d");
                      var t = {
                        slidesPerView: 1,
                        slidesPerColumn: 1,
                        slidesPerGroup: 1,
                        watchSlidesProgress: !0,
                        spaceBetween: 0,
                        virtualTranslate: !0
                      };
                      X.extend(e.params, t), X.extend(e.originalParams, t)
                    }
                  },
                  setTranslate: function() {
                    "flip" === this.params.effect && this.flipEffect.setTranslate()
                  },
                  setTransition: function(e) {
                    "flip" === this.params.effect && this.flipEffect.setTransition(e)
                  }
                }
              }, {
                name: "effect-coverflow",
                params: {
                  coverflowEffect: {
                    rotate: 50,
                    stretch: 0,
                    depth: 100,
                    modifier: 1,
                    slideShadows: !0
                  }
                },
                create: function() {
                  X.extend(this, {
                    coverflowEffect: {
                      setTranslate: te.setTranslate.bind(this),
                      setTransition: te.setTransition.bind(this)
                    }
                  })
                },
                on: {
                  beforeInit: function() {
                    var e = this;
                    "coverflow" === e.params.effect && (e.classNames.push(e.params.containerModifierClass + "coverflow"), e.classNames.push(e.params.containerModifierClass + "3d"), e.params.watchSlidesProgress = !0, e.originalParams
                      .watchSlidesProgress = !0)
                  },
                  setTranslate: function() {
                    "coverflow" === this.params.effect && this.coverflowEffect.setTranslate()
                  },
                  setTransition: function(e) {
                    "coverflow" === this.params.effect && this.coverflowEffect.setTransition(e)
                  }
                }
              }];
            return void 0 === S.use && (S.use = S.Class.use, S.installModule = S.Class.installModule), S.use(ae), S
          });
          //# sourceMappingURL=swiper.min.js.map
          /**
           * @license
           * Lodash lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE
           */
          ;
          (function() {
            function n(n, t, r) {
              switch (r.length) {
                case 0:
                  return n.call(t);
                case 1:
                  return n.call(t, r[0]);
                case 2:
                  return n.call(t, r[0], r[1]);
                case 3:
                  return n.call(t, r[0], r[1], r[2])
              }
              return n.apply(t, r)
            }

            function t(n, t, r, e) {
              for (var u = -1, i = null == n ? 0 : n.length; ++u < i;) {
                var o = n[u];
                t(e, o, r(o), n)
              }
              return e
            }

            function r(n, t) {
              for (var r = -1, e = null == n ? 0 : n.length; ++r < e && !1 !== t(n[r], r, n););
              return n
            }

            function e(n, t) {
              for (var r = null == n ? 0 : n.length; r-- && !1 !== t(n[r], r, n););
              return n
            }

            function u(n, t) {
              for (var r = -1, e = null == n ? 0 : n.length; ++r < e;)
                if (!t(n[r], r, n)) return !1;
              return !0
            }

            function i(n, t) {
              for (var r = -1, e = null == n ? 0 : n.length, u = 0, i = []; ++r < e;) {
                var o = n[r];
                t(o, r, n) && (i[u++] = o)
              }
              return i
            }

            function o(n, t) {
              return !(null == n || !n.length) && -1 < v(n, t, 0)
            }

            function f(n, t, r) {
              for (var e = -1, u = null == n ? 0 : n.length; ++e < u;)
                if (r(t, n[e])) return !0;
              return !1
            }

            function c(n, t) {
              for (var r = -1, e = null == n ? 0 : n.length, u = Array(e); ++r < e;) u[r] = t(n[r], r, n);
              return u
            }

            function a(n, t) {
              for (var r = -1, e = t.length, u = n.length; ++r < e;) n[u + r] = t[r];
              return n
            }

            function l(n, t, r, e) {
              var u = -1,
                i = null == n ? 0 : n.length;
              for (e && i && (r = n[++u]); ++u < i;) r = t(r, n[u], u, n);
              return r
            }

            function s(n, t, r, e) {
              var u = null == n ? 0 : n.length;
              for (e && u && (r = n[--u]); u--;) r = t(r, n[u], u, n);
              return r
            }

            function h(n, t) {
              for (var r = -1, e = null == n ? 0 : n.length; ++r < e;)
                if (t(n[r], r, n)) return !0;
              return !1
            }

            function p(n, t, r) {
              var e;
              return r(n, function(n, r, u) {
                if (t(n, r, u)) return e = r, !1
              }), e
            }

            function _(n, t, r, e) {
              var u = n.length;
              for (r += e ? 1 : -1; e ? r-- : ++r < u;)
                if (t(n[r], r, n)) return r;
              return -1
            }

            function v(n, t, r) {
              if (t === t) n: {
                --r;
                for (var e = n.length; ++r < e;)
                  if (n[r] === t) {
                    n = r;
                    break n
                  } n = -1
              }
              else n = _(n, d, r);
              return n
            }

            function g(n, t, r, e) {
              --r;
              for (var u = n.length; ++r < u;)
                if (e(n[r], t)) return r;
              return -1
            }

            function d(n) {
              return n !== n
            }

            function y(n, t) {
              var r = null == n ? 0 : n.length;
              return r ? m(n, t) / r : F
            }

            function b(n) {
              return function(t) {
                return null == t ? T : t[n]
              }
            }

            function x(n) {
              return function(t) {
                return null == n ? T : n[t]
              }
            }

            function j(n, t, r, e, u) {
              return u(n, function(n, u, i) {
                r = e ? (e = !1, n) : t(r, n, u, i)
              }), r
            }

            function w(n, t) {
              var r = n.length;
              for (n.sort(t); r--;) n[r] = n[r].c;
              return n
            }

            function m(n, t) {
              for (var r, e = -1, u = n.length; ++e < u;) {
                var i = t(n[e]);
                i !== T && (r = r === T ? i : r + i)
              }
              return r
            }

            function A(n, t) {
              for (var r = -1, e = Array(n); ++r < n;) e[r] = t(r);
              return e
            }

            function k(n, t) {
              return c(t, function(t) {
                return [t, n[t]]
              })
            }

            function E(n) {
              return function(t) {
                return n(t)
              }
            }

            function S(n, t) {
              return c(t, function(t) {
                return n[t]
              })
            }

            function O(n, t) {
              return n.has(t)
            }

            function I(n, t) {
              for (var r = -1, e = n.length; ++r < e && -1 < v(t, n[r], 0););
              return r
            }

            function R(n, t) {
              for (var r = n.length; r-- && -1 < v(t, n[r], 0););
              return r
            }

            function z(n) {
              return "\\" + Ln[n]
            }

            function W(n) {
              var t = -1,
                r = Array(n.size);
              return n.forEach(function(n, e) {
                r[++t] = [e, n]
              }), r
            }

            function U(n, t) {
              return function(r) {
                return n(t(r))
              }
            }

            function B(n, t) {
              for (var r = -1, e = n.length, u = 0, i = []; ++r < e;) {
                var o = n[r];
                o !== t && "__lodash_placeholder__" !== o || (n[r] = "__lodash_placeholder__", i[u++] = r)
              }
              return i
            }

            function L(n) {
              var t = -1,
                r = Array(n.size);
              return n.forEach(function(n) {
                r[++t] = n
              }), r
            }

            function C(n) {
              var t = -1,
                r = Array(n.size);
              return n.forEach(function(n) {
                r[++t] = [n, n]
              }), r
            }

            function D(n) {
              if (Rn.test(n)) {
                for (var t = On.lastIndex = 0; On.test(n);) ++t;
                n = t
              } else n = Qn(n);
              return n
            }

            function M(n) {
              return Rn.test(n) ? n.match(On) || [] : n.split("")
            }
            var T, $ = 1 / 0,
              F = NaN,
              N = [
                ["ary", 128],
                ["bind", 1],
                ["bindKey", 2],
                ["curry", 8],
                ["curryRight", 16],
                ["flip", 512],
                ["partial", 32],
                ["partialRight", 64],
                ["rearg", 256]
              ],
              P = /\b__p\+='';/g,
              Z = /\b(__p\+=)''\+/g,
              q = /(__e\(.*?\)|\b__t\))\+'';/g,
              V = /&(?:amp|lt|gt|quot|#39);/g,
              K = /[&<>"']/g,
              G = RegExp(V.source),
              H = RegExp(K.source),
              J = /<%-([\s\S]+?)%>/g,
              Y = /<%([\s\S]+?)%>/g,
              Q = /<%=([\s\S]+?)%>/g,
              X = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,
              nn = /^\w*$/,
              tn = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,
              rn = /[\\^$.*+?()[\]{}|]/g,
              en = RegExp(rn.source),
              un = /^\s+|\s+$/g,
              on = /^\s+/,
              fn = /\s+$/,
              cn = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,
              an = /\{\n\/\* \[wrapped with (.+)\] \*/,
              ln = /,? & /,
              sn = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,
              hn = /\\(\\)?/g,
              pn = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,
              _n = /\w*$/,
              vn = /^[-+]0x[0-9a-f]+$/i,
              gn = /^0b[01]+$/i,
              dn = /^\[object .+?Constructor\]$/,
              yn = /^0o[0-7]+$/i,
              bn = /^(?:0|[1-9]\d*)$/,
              xn = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,
              jn = /($^)/,
              wn = /['\n\r\u2028\u2029\\]/g,
              mn =
              "[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?)*",
              An = "(?:[\\u2700-\\u27bf]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])" + mn,
              kn = "(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]?|[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])",
              En = RegExp("['\u2019]", "g"),
              Sn = RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]", "g"),
              On = RegExp("\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|" + kn + mn, "g"),
              In = RegExp([
                "[A-Z\\xc0-\\xd6\\xd8-\\xde]?[a-z\\xdf-\\xf6\\xf8-\\xff]+(?:['\u2019](?:d|ll|m|re|s|t|ve))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde]|$)|(?:[A-Z\\xc0-\\xd6\\xd8-\\xde]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?(?=[\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000]|[A-Z\\xc0-\\xd6\\xd8-\\xde](?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])|$)|[A-Z\\xc0-\\xd6\\xd8-\\xde]?(?:[a-z\\xdf-\\xf6\\xf8-\\xff]|[^\\ud800-\\udfff\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000\\d+\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde])+(?:['\u2019](?:d|ll|m|re|s|t|ve))?|[A-Z\\xc0-\\xd6\\xd8-\\xde]+(?:['\u2019](?:D|LL|M|RE|S|T|VE))?|\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+",
                An
              ].join("|"), "g"),
              Rn = RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]"),
              zn = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,
              Wn =
              "Array Buffer DataView Date Error Float32Array Float64Array Function Int8Array Int16Array Int32Array Map Math Object Promise RegExp Set String Symbol TypeError Uint8Array Uint8ClampedArray Uint16Array Uint32Array WeakMap _ clearTimeout isFinite parseInt setTimeout"
              .split(" "),
              Un = {};
            Un["[object Float32Array]"] = Un["[object Float64Array]"] = Un["[object Int8Array]"] = Un["[object Int16Array]"] = Un["[object Int32Array]"] = Un["[object Uint8Array]"] = Un["[object Uint8ClampedArray]"] = Un["[object Uint16Array]"] =
              Un["[object Uint32Array]"] = !0, Un["[object Arguments]"] = Un["[object Array]"] = Un["[object ArrayBuffer]"] = Un["[object Boolean]"] = Un["[object DataView]"] = Un["[object Date]"] = Un["[object Error]"] = Un["[object Function]"] =
              Un["[object Map]"] = Un["[object Number]"] = Un["[object Object]"] = Un["[object RegExp]"] = Un["[object Set]"] = Un["[object String]"] = Un["[object WeakMap]"] = !1;
            var Bn = {};
            Bn["[object Arguments]"] = Bn["[object Array]"] = Bn["[object ArrayBuffer]"] = Bn["[object DataView]"] = Bn["[object Boolean]"] = Bn["[object Date]"] = Bn["[object Float32Array]"] = Bn["[object Float64Array]"] = Bn[
              "[object Int8Array]"] = Bn["[object Int16Array]"] = Bn["[object Int32Array]"] = Bn["[object Map]"] = Bn["[object Number]"] = Bn["[object Object]"] = Bn["[object RegExp]"] = Bn["[object Set]"] = Bn["[object String]"] = Bn[
                "[object Symbol]"] = Bn["[object Uint8Array]"] = Bn["[object Uint8ClampedArray]"] = Bn["[object Uint16Array]"] = Bn["[object Uint32Array]"] = !0, Bn["[object Error]"] = Bn["[object Function]"] = Bn["[object WeakMap]"] = !1;
            var Ln = {
                "\\": "\\",
                "'": "'",
                "\n": "n",
                "\r": "r",
                "\u2028": "u2028",
                "\u2029": "u2029"
              },
              Cn = parseFloat,
              Dn = parseInt,
              Mn = typeof global == "object" && global && global.Object === Object && global,
              Tn = typeof self == "object" && self && self.Object === Object && self,
              $n = Mn || Tn || Function("return this")(),
              Fn = typeof exports == "object" && exports && !exports.nodeType && exports,
              Nn = Fn && typeof module == "object" && module && !module.nodeType && module,
              Pn = Nn && Nn.exports === Fn,
              Zn = Pn && Mn.process,
              qn = function() {
                try {
                  var n = Nn && Nn.require && Nn.require("util").types;
                  return n ? n : Zn && Zn.binding && Zn.binding("util")
                } catch (n) {}
              }(),
              Vn = qn && qn.isArrayBuffer,
              Kn = qn && qn.isDate,
              Gn = qn && qn.isMap,
              Hn = qn && qn.isRegExp,
              Jn = qn && qn.isSet,
              Yn = qn && qn.isTypedArray,
              Qn = b("length"),
              Xn = x({
                "\xc0": "A",
                "\xc1": "A",
                "\xc2": "A",
                "\xc3": "A",
                "\xc4": "A",
                "\xc5": "A",
                "\xe0": "a",
                "\xe1": "a",
                "\xe2": "a",
                "\xe3": "a",
                "\xe4": "a",
                "\xe5": "a",
                "\xc7": "C",
                "\xe7": "c",
                "\xd0": "D",
                "\xf0": "d",
                "\xc8": "E",
                "\xc9": "E",
                "\xca": "E",
                "\xcb": "E",
                "\xe8": "e",
                "\xe9": "e",
                "\xea": "e",
                "\xeb": "e",
                "\xcc": "I",
                "\xcd": "I",
                "\xce": "I",
                "\xcf": "I",
                "\xec": "i",
                "\xed": "i",
                "\xee": "i",
                "\xef": "i",
                "\xd1": "N",
                "\xf1": "n",
                "\xd2": "O",
                "\xd3": "O",
                "\xd4": "O",
                "\xd5": "O",
                "\xd6": "O",
                "\xd8": "O",
                "\xf2": "o",
                "\xf3": "o",
                "\xf4": "o",
                "\xf5": "o",
                "\xf6": "o",
                "\xf8": "o",
                "\xd9": "U",
                "\xda": "U",
                "\xdb": "U",
                "\xdc": "U",
                "\xf9": "u",
                "\xfa": "u",
                "\xfb": "u",
                "\xfc": "u",
                "\xdd": "Y",
                "\xfd": "y",
                "\xff": "y",
                "\xc6": "Ae",
                "\xe6": "ae",
                "\xde": "Th",
                "\xfe": "th",
                "\xdf": "ss",
                "\u0100": "A",
                "\u0102": "A",
                "\u0104": "A",
                "\u0101": "a",
                "\u0103": "a",
                "\u0105": "a",
                "\u0106": "C",
                "\u0108": "C",
                "\u010a": "C",
                "\u010c": "C",
                "\u0107": "c",
                "\u0109": "c",
                "\u010b": "c",
                "\u010d": "c",
                "\u010e": "D",
                "\u0110": "D",
                "\u010f": "d",
                "\u0111": "d",
                "\u0112": "E",
                "\u0114": "E",
                "\u0116": "E",
                "\u0118": "E",
                "\u011a": "E",
                "\u0113": "e",
                "\u0115": "e",
                "\u0117": "e",
                "\u0119": "e",
                "\u011b": "e",
                "\u011c": "G",
                "\u011e": "G",
                "\u0120": "G",
                "\u0122": "G",
                "\u011d": "g",
                "\u011f": "g",
                "\u0121": "g",
                "\u0123": "g",
                "\u0124": "H",
                "\u0126": "H",
                "\u0125": "h",
                "\u0127": "h",
                "\u0128": "I",
                "\u012a": "I",
                "\u012c": "I",
                "\u012e": "I",
                "\u0130": "I",
                "\u0129": "i",
                "\u012b": "i",
                "\u012d": "i",
                "\u012f": "i",
                "\u0131": "i",
                "\u0134": "J",
                "\u0135": "j",
                "\u0136": "K",
                "\u0137": "k",
                "\u0138": "k",
                "\u0139": "L",
                "\u013b": "L",
                "\u013d": "L",
                "\u013f": "L",
                "\u0141": "L",
                "\u013a": "l",
                "\u013c": "l",
                "\u013e": "l",
                "\u0140": "l",
                "\u0142": "l",
                "\u0143": "N",
                "\u0145": "N",
                "\u0147": "N",
                "\u014a": "N",
                "\u0144": "n",
                "\u0146": "n",
                "\u0148": "n",
                "\u014b": "n",
                "\u014c": "O",
                "\u014e": "O",
                "\u0150": "O",
                "\u014d": "o",
                "\u014f": "o",
                "\u0151": "o",
                "\u0154": "R",
                "\u0156": "R",
                "\u0158": "R",
                "\u0155": "r",
                "\u0157": "r",
                "\u0159": "r",
                "\u015a": "S",
                "\u015c": "S",
                "\u015e": "S",
                "\u0160": "S",
                "\u015b": "s",
                "\u015d": "s",
                "\u015f": "s",
                "\u0161": "s",
                "\u0162": "T",
                "\u0164": "T",
                "\u0166": "T",
                "\u0163": "t",
                "\u0165": "t",
                "\u0167": "t",
                "\u0168": "U",
                "\u016a": "U",
                "\u016c": "U",
                "\u016e": "U",
                "\u0170": "U",
                "\u0172": "U",
                "\u0169": "u",
                "\u016b": "u",
                "\u016d": "u",
                "\u016f": "u",
                "\u0171": "u",
                "\u0173": "u",
                "\u0174": "W",
                "\u0175": "w",
                "\u0176": "Y",
                "\u0177": "y",
                "\u0178": "Y",
                "\u0179": "Z",
                "\u017b": "Z",
                "\u017d": "Z",
                "\u017a": "z",
                "\u017c": "z",
                "\u017e": "z",
                "\u0132": "IJ",
                "\u0133": "ij",
                "\u0152": "Oe",
                "\u0153": "oe",
                "\u0149": "'n",
                "\u017f": "s"
              }),
              nt = x({
                "&": "&amp;",
                "<": "&lt;",
                ">": "&gt;",
                '"': "&quot;",
                "'": "&#39;"
              }),
              tt = x({
                "&amp;": "&",
                "&lt;": "<",
                "&gt;": ">",
                "&quot;": '"',
                "&#39;": "'"
              }),
              rt = function x(mn) {
                function An(n) {
                  if (yu(n) && !ff(n) && !(n instanceof Ln)) {
                    if (n instanceof On) return n;
                    if (oi.call(n, "__wrapped__")) return Fe(n)
                  }
                  return new On(n)
                }

                function kn() {}

                function On(n, t) {
                  this.__wrapped__ = n, this.__actions__ = [], this.__chain__ = !!t, this.__index__ = 0, this.__values__ = T
                }

                function Ln(n) {
                  this.__wrapped__ = n, this.__actions__ = [], this.__dir__ = 1, this.__filtered__ = !1, this.__iteratees__ = [], this.__takeCount__ = 4294967295, this.__views__ = []
                }

                function Mn(n) {
                  var t = -1,
                    r = null == n ? 0 : n.length;
                  for (this.clear(); ++t < r;) {
                    var e = n[t];
                    this.set(e[0], e[1])
                  }
                }

                function Tn(n) {
                  var t = -1,
                    r = null == n ? 0 : n.length;
                  for (this.clear(); ++t < r;) {
                    var e = n[t];
                    this.set(e[0], e[1])
                  }
                }

                function Fn(n) {
                  var t = -1,
                    r = null == n ? 0 : n.length;
                  for (this.clear(); ++t < r;) {
                    var e = n[t];
                    this.set(e[0], e[1])
                  }
                }

                function Nn(n) {
                  var t = -1,
                    r = null == n ? 0 : n.length;
                  for (this.__data__ = new Fn; ++t < r;) this.add(n[t]);
                }

                function Zn(n) {
                  this.size = (this.__data__ = new Tn(n)).size
                }

                function qn(n, t) {
                  var r, e = ff(n),
                    u = !e && of(n),
                    i = !e && !u && af(n),
                    o = !e && !u && !i && _f(n),
                    u = (e = e || u || i || o) ? A(n.length, ni) : [],
                    f = u.length;
                  for (r in n) !t && !oi.call(n, r) || e && ("length" == r || i && ("offset" == r || "parent" == r) || o && ("buffer" == r || "byteLength" == r || "byteOffset" == r) || Se(r, f)) || u.push(r);
                  return u
                }

                function Qn(n) {
                  var t = n.length;
                  return t ? n[ir(0, t - 1)] : T
                }

                function et(n, t) {
                  return De(Lr(n), pt(t, 0, n.length))
                }

                function ut(n) {
                  return De(Lr(n))
                }

                function it(n, t, r) {
                  (r === T || lu(n[t], r)) && (r !== T || t in n) || st(n, t, r)
                }

                function ot(n, t, r) {
                  var e = n[t];
                  oi.call(n, t) && lu(e, r) && (r !== T || t in n) || st(n, t, r)
                }

                function ft(n, t) {
                  for (var r = n.length; r--;)
                    if (lu(n[r][0], t)) return r;
                  return -1
                }

                function ct(n, t, r, e) {
                  return uo(n, function(n, u, i) {
                    t(e, n, r(n), i)
                  }), e
                }

                function at(n, t) {
                  return n && Cr(t, Wu(t), n)
                }

                function lt(n, t) {
                  return n && Cr(t, Uu(t), n)
                }

                function st(n, t, r) {
                  "__proto__" == t && Ai ? Ai(n, t, {
                    configurable: !0,
                    enumerable: !0,
                    value: r,
                    writable: !0
                  }) : n[t] = r
                }

                function ht(n, t) {
                  for (var r = -1, e = t.length, u = Ku(e), i = null == n; ++r < e;) u[r] = i ? T : Ru(n, t[r]);
                  return u
                }

                function pt(n, t, r) {
                  return n === n && (r !== T && (n = n <= r ? n : r), t !== T && (n = n >= t ? n : t)), n
                }

                function _t(n, t, e, u, i, o) {
                  var f, c = 1 & t,
                    a = 2 & t,
                    l = 4 & t;
                  if (e && (f = i ? e(n, u, i, o) : e(n)), f !== T) return f;
                  if (!du(n)) return n;
                  if (u = ff(n)) {
                    if (f = me(n), !c) return Lr(n, f)
                  } else {
                    var s = vo(n),
                      h = "[object Function]" == s || "[object GeneratorFunction]" == s;
                    if (af(n)) return Ir(n, c);
                    if ("[object Object]" == s || "[object Arguments]" == s || h && !i) {
                      if (f = a || h ? {} : Ae(n), !c) return a ? Mr(n, lt(f, n)) : Dr(n, at(f, n))
                    } else {
                      if (!Bn[s]) return i ? n : {};
                      f = ke(n, s, c)
                    }
                  }
                  if (o || (o = new Zn), i = o.get(n)) return i;
                  if (o.set(n, f), pf(n)) return n.forEach(function(r) {
                    f.add(_t(r, t, e, r, n, o))
                  }), f;
                  if (sf(n)) return n.forEach(function(r, u) {
                    f.set(u, _t(r, t, e, u, n, o))
                  }), f;
                  var a = l ? a ? ve : _e : a ? Uu : Wu,
                    p = u ? T : a(n);
                  return r(p || n, function(r, u) {
                    p && (u = r, r = n[u]), ot(f, u, _t(r, t, e, u, n, o))
                  }), f
                }

                function vt(n) {
                  var t = Wu(n);
                  return function(r) {
                    return gt(r, n, t)
                  }
                }

                function gt(n, t, r) {
                  var e = r.length;
                  if (null == n) return !e;
                  for (n = Qu(n); e--;) {
                    var u = r[e],
                      i = t[u],
                      o = n[u];
                    if (o === T && !(u in n) || !i(o)) return !1
                  }
                  return !0
                }

                function dt(n, t, r) {
                  if (typeof n != "function") throw new ti("Expected a function");
                  return bo(function() {
                    n.apply(T, r)
                  }, t)
                }

                function yt(n, t, r, e) {
                  var u = -1,
                    i = o,
                    a = !0,
                    l = n.length,
                    s = [],
                    h = t.length;
                  if (!l) return s;
                  r && (t = c(t, E(r))), e ? (i = f, a = !1) : 200 <= t.length && (i = O, a = !1, t = new Nn(t));
                  n: for (; ++u < l;) {
                    var p = n[u],
                      _ = null == r ? p : r(p),
                      p = e || 0 !== p ? p : 0;
                    if (a && _ === _) {
                      for (var v = h; v--;)
                        if (t[v] === _) continue n;
                      s.push(p)
                    } else i(t, _, e) || s.push(p)
                  }
                  return s
                }

                function bt(n, t) {
                  var r = !0;
                  return uo(n, function(n, e, u) {
                    return r = !!t(n, e, u)
                  }), r
                }

                function xt(n, t, r) {
                  for (var e = -1, u = n.length; ++e < u;) {
                    var i = n[e],
                      o = t(i);
                    if (null != o && (f === T ? o === o && !wu(o) : r(o, f))) var f = o,
                      c = i
                  }
                  return c
                }

                function jt(n, t) {
                  var r = [];
                  return uo(n, function(n, e, u) {
                    t(n, e, u) && r.push(n)
                  }), r
                }

                function wt(n, t, r, e, u) {
                  var i = -1,
                    o = n.length;
                  for (r || (r = Ee), u || (u = []); ++i < o;) {
                    var f = n[i];
                    0 < t && r(f) ? 1 < t ? wt(f, t - 1, r, e, u) : a(u, f) : e || (u[u.length] = f)
                  }
                  return u
                }

                function mt(n, t) {
                  return n && oo(n, t, Wu)
                }

                function At(n, t) {
                  return n && fo(n, t, Wu)
                }

                function kt(n, t) {
                  return i(t, function(t) {
                    return _u(n[t])
                  })
                }

                function Et(n, t) {
                  t = Sr(t, n);
                  for (var r = 0, e = t.length; null != n && r < e;) n = n[Me(t[r++])];
                  return r && r == e ? n : T
                }

                function St(n, t, r) {
                  return t = t(n), ff(n) ? t : a(t, r(n))
                }

                function Ot(n) {
                  if (null == n) return n === T ? "[object Undefined]" : "[object Null]";
                  if (mi && mi in Qu(n)) {
                    var t = oi.call(n, mi),
                      r = n[mi];
                    try {
                      n[mi] = T;
                      var e = !0
                    } catch (n) {}
                    var u = ai.call(n);
                    e && (t ? n[mi] = r : delete n[mi]), n = u
                  } else n = ai.call(n);
                  return n
                }

                function It(n, t) {
                  return n > t
                }

                function Rt(n, t) {
                  return null != n && oi.call(n, t)
                }

                function zt(n, t) {
                  return null != n && t in Qu(n)
                }

                function Wt(n, t, r) {
                  for (var e = r ? f : o, u = n[0].length, i = n.length, a = i, l = Ku(i), s = 1 / 0, h = []; a--;) {
                    var p = n[a];
                    a && t && (p = c(p, E(t))), s = Ci(p.length, s), l[a] = !r && (t || 120 <= u && 120 <= p.length) ? new Nn(a && p) : T
                  }
                  var p = n[0],
                    _ = -1,
                    v = l[0];
                  n: for (; ++_ < u && h.length < s;) {
                    var g = p[_],
                      d = t ? t(g) : g,
                      g = r || 0 !== g ? g : 0;
                    if (v ? !O(v, d) : !e(h, d, r)) {
                      for (a = i; --a;) {
                        var y = l[a];
                        if (y ? !O(y, d) : !e(n[a], d, r)) continue n
                      }
                      v && v.push(d), h.push(g)
                    }
                  }
                  return h
                }

                function Ut(n, t, r, e) {
                  return mt(n, function(n, u, i) {
                    t(e, r(n), u, i)
                  }), e
                }

                function Bt(t, r, e) {
                  return r = Sr(r, t), t = 2 > r.length ? t : Et(t, hr(r, 0, -1)), r = null == t ? t : t[Me(Ve(r))], null == r ? T : n(r, t, e)
                }

                function Lt(n) {
                  return yu(n) && "[object Arguments]" == Ot(n)
                }

                function Ct(n) {
                  return yu(n) && "[object ArrayBuffer]" == Ot(n)
                }

                function Dt(n) {
                  return yu(n) && "[object Date]" == Ot(n)
                }

                function Mt(n, t, r, e, u) {
                  if (n === t) return !0;
                  if (null == n || null == t || !yu(n) && !yu(t)) return n !== n && t !== t;
                  n: {
                    var i = ff(n),
                      o = ff(t),
                      f = i ? "[object Array]" : vo(n),
                      c = o ? "[object Array]" : vo(t),
                      f = "[object Arguments]" == f ? "[object Object]" : f,
                      c = "[object Arguments]" == c ? "[object Object]" : c,
                      a = "[object Object]" == f,
                      o = "[object Object]" == c;
                    if ((c = f == c) && af(n)) {
                      if (!af(t)) {
                        t = !1;
                        break n
                      }
                      i = !0, a = !1
                    }
                    if (c && !a) u || (u = new Zn),
                    t = i || _f(n) ? se(n, t, r, e, Mt, u) : he(n, t, f, r, e, Mt, u);
                    else {
                      if (!(1 & r) && (i = a && oi.call(n, "__wrapped__"), f = o && oi.call(t, "__wrapped__"), i || f)) {
                        n = i ? n.value() : n, t = f ? t.value() : t, u || (u = new Zn), t = Mt(n, t, r, e, u);
                        break n
                      }
                      if (c) t: if (u || (u = new Zn), i = 1 & r, f = _e(n), o = f.length, c = _e(t).length, o == c || i) {
                        for (a = o; a--;) {
                          var l = f[a];
                          if (!(i ? l in t : oi.call(t, l))) {
                            t = !1;
                            break t
                          }
                        }
                        if ((c = u.get(n)) && u.get(t)) t = c == t;
                        else {
                          c = !0, u.set(n, t), u.set(t, n);
                          for (var s = i; ++a < o;) {
                            var l = f[a],
                              h = n[l],
                              p = t[l];
                            if (e) var _ = i ? e(p, h, l, t, n, u) : e(h, p, l, n, t, u);
                            if (_ === T ? h !== p && !Mt(h, p, r, e, u) : !_) {
                              c = !1;
                              break
                            }
                            s || (s = "constructor" == l)
                          }
                          c && !s && (r = n.constructor, e = t.constructor, r != e && "constructor" in n && "constructor" in t && !(typeof r == "function" && r instanceof r && typeof e == "function" && e instanceof e) && (c = !1)), u.delete(n),
                            u.delete(t), t = c
                        }
                      } else t = !1;
                      else t = !1
                    }
                  }
                  return t
                }

                function Tt(n) {
                  return yu(n) && "[object Map]" == vo(n)
                }

                function $t(n, t, r, e) {
                  var u = r.length,
                    i = u,
                    o = !e;
                  if (null == n) return !i;
                  for (n = Qu(n); u--;) {
                    var f = r[u];
                    if (o && f[2] ? f[1] !== n[f[0]] : !(f[0] in n)) return !1
                  }
                  for (; ++u < i;) {
                    var f = r[u],
                      c = f[0],
                      a = n[c],
                      l = f[1];
                    if (o && f[2]) {
                      if (a === T && !(c in n)) return !1
                    } else {
                      if (f = new Zn, e) var s = e(a, l, c, n, t, f);
                      if (s === T ? !Mt(l, a, 3, e, f) : !s) return !1
                    }
                  }
                  return !0
                }

                function Ft(n) {
                  return !(!du(n) || ci && ci in n) && (_u(n) ? hi : dn).test(Te(n))
                }

                function Nt(n) {
                  return yu(n) && "[object RegExp]" == Ot(n)
                }

                function Pt(n) {
                  return yu(n) && "[object Set]" == vo(n)
                }

                function Zt(n) {
                  return yu(n) && gu(n.length) && !!Un[Ot(n)]
                }

                function qt(n) {
                  return typeof n == "function" ? n : null == n ? $u : typeof n == "object" ? ff(n) ? Jt(n[0], n[1]) : Ht(n) : Zu(n)
                }

                function Vt(n) {
                  if (!ze(n)) return Bi(n);
                  var t, r = [];
                  for (t in Qu(n)) oi.call(n, t) && "constructor" != t && r.push(t);
                  return r
                }

                function Kt(n, t) {
                  return n < t
                }

                function Gt(n, t) {
                  var r = -1,
                    e = su(n) ? Ku(n.length) : [];
                  return uo(n, function(n, u, i) {
                    e[++r] = t(n, u, i)
                  }), e
                }

                function Ht(n) {
                  var t = xe(n);
                  return 1 == t.length && t[0][2] ? We(t[0][0], t[0][1]) : function(r) {
                    return r === n || $t(r, n, t)
                  }
                }

                function Jt(n, t) {
                  return Ie(n) && t === t && !du(t) ? We(Me(n), t) : function(r) {
                    var e = Ru(r, n);
                    return e === T && e === t ? zu(r, n) : Mt(t, e, 3)
                  }
                }

                function Yt(n, t, r, e, u) {
                  n !== t && oo(t, function(i, o) {
                    if (du(i)) {
                      u || (u = new Zn);
                      var f = u,
                        c = Be(n, o),
                        a = Be(t, o),
                        l = f.get(a);
                      if (!l) {
                        var l = e ? e(c, a, o + "", n, t, f) : T,
                          s = l === T;
                        if (s) {
                          var h = ff(a),
                            p = !h && af(a),
                            _ = !h && !p && _f(a),
                            l = a;
                          h || p || _ ? ff(c) ? l = c : hu(c) ? l = Lr(c) : p ? (s = !1, l = Ir(a, !0)) : _ ? (s = !1, l = zr(a, !0)) : l = [] : xu(a) || of(a) ? (l = c, of(c) ? l = Ou(c) : du(c) && !_u(c) || (l = Ae(a))) : s = !1
                        }
                        s && (f.set(a, l), Yt(l, a, r, e, f), f.delete(a))
                      }
                      it(n, o, l)
                    } else f = e ? e(Be(n, o), i, o + "", n, t, u) : T, f === T && (f = i), it(n, o, f)
                  }, Uu)
                }

                function Qt(n, t) {
                  var r = n.length;
                  if (r) return t += 0 > t ? r : 0, Se(t, r) ? n[t] : T
                }

                function Xt(n, t, r) {
                  var e = -1;
                  return t = c(t.length ? t : [$u], E(ye())), n = Gt(n, function(n, r, u) {
                    return {
                      a: c(t, function(t) {
                        return t(n)
                      }),
                      b: ++e,
                      c: n
                    }
                  }), w(n, function(n, t) {
                    var e;
                    n: {
                      e = -1;
                      for (var u = n.a, i = t.a, o = u.length, f = r.length; ++e < o;) {
                        var c = Wr(u[e], i[e]);
                        if (c) {
                          if (e >= f) {
                            e = c;
                            break n
                          }
                          e = c * ("desc" == r[e] ? -1 : 1);
                          break n
                        }
                      }
                      e = n.b - t.b
                    }
                    return e
                  })
                }

                function nr(n, t) {
                  return tr(n, t, function(t, r) {
                    return zu(n, r)
                  })
                }

                function tr(n, t, r) {
                  for (var e = -1, u = t.length, i = {}; ++e < u;) {
                    var o = t[e],
                      f = Et(n, o);
                    r(f, o) && lr(i, Sr(o, n), f)
                  }
                  return i
                }

                function rr(n) {
                  return function(t) {
                    return Et(t, n)
                  }
                }

                function er(n, t, r, e) {
                  var u = e ? g : v,
                    i = -1,
                    o = t.length,
                    f = n;
                  for (n === t && (t = Lr(t)), r && (f = c(n, E(r))); ++i < o;)
                    for (var a = 0, l = t[i], l = r ? r(l) : l; - 1 < (a = u(f, l, a, e));) f !== n && xi.call(f, a, 1), xi.call(n, a, 1);
                  return n
                }

                function ur(n, t) {
                  for (var r = n ? t.length : 0, e = r - 1; r--;) {
                    var u = t[r];
                    if (r == e || u !== i) {
                      var i = u;
                      Se(u) ? xi.call(n, u, 1) : xr(n, u)
                    }
                  }
                  return n
                }

                function ir(n, t) {
                  return n + Ii(Ti() * (t - n + 1))
                }

                function or(n, t) {
                  var r = "";
                  if (!n || 1 > t || 9007199254740991 < t) return r;
                  do t % 2 && (r += n), (t = Ii(t / 2)) && (n += n); while (t);
                  return r
                }

                function fr(n, t) {
                  return xo(Ue(n, t, $u), n + "")
                }

                function cr(n) {
                  return Qn(Lu(n))
                }

                function ar(n, t) {
                  var r = Lu(n);
                  return De(r, pt(t, 0, r.length))
                }

                function lr(n, t, r, e) {
                  if (!du(n)) return n;
                  t = Sr(t, n);
                  for (var u = -1, i = t.length, o = i - 1, f = n; null != f && ++u < i;) {
                    var c = Me(t[u]),
                      a = r;
                    if (u != o) {
                      var l = f[c],
                        a = e ? e(l, c, f) : T;
                      a === T && (a = du(l) ? l : Se(t[u + 1]) ? [] : {})
                    }
                    ot(f, c, a), f = f[c]
                  }
                  return n
                }

                function sr(n) {
                  return De(Lu(n))
                }

                function hr(n, t, r) {
                  var e = -1,
                    u = n.length;
                  for (0 > t && (t = -t > u ? 0 : u + t), r = r > u ? u : r, 0 > r && (r += u), u = t > r ? 0 : r - t >>> 0, t >>>= 0, r = Ku(u); ++e < u;) r[e] = n[e + t];
                  return r
                }

                function pr(n, t) {
                  var r;
                  return uo(n, function(n, e, u) {
                    return r = t(n, e, u), !r
                  }), !!r
                }

                function _r(n, t, r) {
                  var e = 0,
                    u = null == n ? e : n.length;
                  if (typeof t == "number" && t === t && 2147483647 >= u) {
                    for (; e < u;) {
                      var i = e + u >>> 1,
                        o = n[i];
                      null !== o && !wu(o) && (r ? o <= t : o < t) ? e = i + 1 : u = i
                    }
                    return u
                  }
                  return vr(n, t, $u, r)
                }

                function vr(n, t, r, e) {
                  t = r(t);
                  for (var u = 0, i = null == n ? 0 : n.length, o = t !== t, f = null === t, c = wu(t), a = t === T; u < i;) {
                    var l = Ii((u + i) / 2),
                      s = r(n[l]),
                      h = s !== T,
                      p = null === s,
                      _ = s === s,
                      v = wu(s);
                    (o ? e || _ : a ? _ && (e || h) : f ? _ && h && (e || !p) : c ? _ && h && !p && (e || !v) : p || v ? 0 : e ? s <= t : s < t) ? u = l + 1: i = l
                  }
                  return Ci(i, 4294967294)
                }

                function gr(n, t) {
                  for (var r = -1, e = n.length, u = 0, i = []; ++r < e;) {
                    var o = n[r],
                      f = t ? t(o) : o;
                    if (!r || !lu(f, c)) {
                      var c = f;
                      i[u++] = 0 === o ? 0 : o
                    }
                  }
                  return i
                }

                function dr(n) {
                  return typeof n == "number" ? n : wu(n) ? F : +n
                }

                function yr(n) {
                  if (typeof n == "string") return n;
                  if (ff(n)) return c(n, yr) + "";
                  if (wu(n)) return ro ? ro.call(n) : "";
                  var t = n + "";
                  return "0" == t && 1 / n == -$ ? "-0" : t
                }

                function br(n, t, r) {
                  var e = -1,
                    u = o,
                    i = n.length,
                    c = !0,
                    a = [],
                    l = a;
                  if (r) c = !1, u = f;
                  else if (200 <= i) {
                    if (u = t ? null : so(n)) return L(u);
                    c = !1, u = O, l = new Nn
                  } else l = t ? [] : a;
                  n: for (; ++e < i;) {
                    var s = n[e],
                      h = t ? t(s) : s,
                      s = r || 0 !== s ? s : 0;
                    if (c && h === h) {
                      for (var p = l.length; p--;)
                        if (l[p] === h) continue n;
                      t && l.push(h), a.push(s)
                    } else u(l, h, r) || (l !== a && l.push(h), a.push(s))
                  }
                  return a
                }

                function xr(n, t) {
                  return t = Sr(t, n), n = 2 > t.length ? n : Et(n, hr(t, 0, -1)), null == n || delete n[Me(Ve(t))]
                }

                function jr(n, t, r, e) {
                  for (var u = n.length, i = e ? u : -1;
                    (e ? i-- : ++i < u) && t(n[i], i, n););
                  return r ? hr(n, e ? 0 : i, e ? i + 1 : u) : hr(n, e ? i + 1 : 0, e ? u : i)
                }

                function wr(n, t) {
                  var r = n;
                  return r instanceof Ln && (r = r.value()), l(t, function(n, t) {
                    return t.func.apply(t.thisArg, a([n], t.args))
                  }, r)
                }

                function mr(n, t, r) {
                  var e = n.length;
                  if (2 > e) return e ? br(n[0]) : [];
                  for (var u = -1, i = Ku(e); ++u < e;)
                    for (var o = n[u], f = -1; ++f < e;) f != u && (i[u] = yt(i[u] || o, n[f], t, r));
                  return br(wt(i, 1), t, r)
                }

                function Ar(n, t, r) {
                  for (var e = -1, u = n.length, i = t.length, o = {}; ++e < u;) r(o, n[e], e < i ? t[e] : T);
                  return o
                }

                function kr(n) {
                  return hu(n) ? n : []
                }

                function Er(n) {
                  return typeof n == "function" ? n : $u
                }

                function Sr(n, t) {
                  return ff(n) ? n : Ie(n, t) ? [n] : jo(Iu(n))
                }

                function Or(n, t, r) {
                  var e = n.length;
                  return r = r === T ? e : r, !t && r >= e ? n : hr(n, t, r)
                }

                function Ir(n, t) {
                  if (t) return n.slice();
                  var r = n.length,
                    r = gi ? gi(r) : new n.constructor(r);
                  return n.copy(r), r
                }

                function Rr(n) {
                  var t = new n.constructor(n.byteLength);
                  return new vi(t).set(new vi(n)), t
                }

                function zr(n, t) {
                  return new n.constructor(t ? Rr(n.buffer) : n.buffer, n.byteOffset, n.length)
                }

                function Wr(n, t) {
                  if (n !== t) {
                    var r = n !== T,
                      e = null === n,
                      u = n === n,
                      i = wu(n),
                      o = t !== T,
                      f = null === t,
                      c = t === t,
                      a = wu(t);
                    if (!f && !a && !i && n > t || i && o && c && !f && !a || e && o && c || !r && c || !u) return 1;
                    if (!e && !i && !a && n < t || a && r && u && !e && !i || f && r && u || !o && u || !c) return -1
                  }
                  return 0
                }

                function Ur(n, t, r, e) {
                  var u = -1,
                    i = n.length,
                    o = r.length,
                    f = -1,
                    c = t.length,
                    a = Li(i - o, 0),
                    l = Ku(c + a);
                  for (e = !e; ++f < c;) l[f] = t[f];
                  for (; ++u < o;)(e || u < i) && (l[r[u]] = n[u]);
                  for (; a--;) l[f++] = n[u++];
                  return l
                }

                function Br(n, t, r, e) {
                  var u = -1,
                    i = n.length,
                    o = -1,
                    f = r.length,
                    c = -1,
                    a = t.length,
                    l = Li(i - f, 0),
                    s = Ku(l + a);
                  for (e = !e; ++u < l;) s[u] = n[u];
                  for (l = u; ++c < a;) s[l + c] = t[c];
                  for (; ++o < f;)(e || u < i) && (s[l + r[o]] = n[u++]);
                  return s
                }

                function Lr(n, t) {
                  var r = -1,
                    e = n.length;
                  for (t || (t = Ku(e)); ++r < e;) t[r] = n[r];
                  return t
                }

                function Cr(n, t, r, e) {
                  var u = !r;
                  r || (r = {});
                  for (var i = -1, o = t.length; ++i < o;) {
                    var f = t[i],
                      c = e ? e(r[f], n[f], f, r, n) : T;
                    c === T && (c = n[f]), u ? st(r, f, c) : ot(r, f, c)
                  }
                  return r
                }

                function Dr(n, t) {
                  return Cr(n, po(n), t)
                }

                function Mr(n, t) {
                  return Cr(n, _o(n), t)
                }

                function Tr(n, r) {
                  return function(e, u) {
                    var i = ff(e) ? t : ct,
                      o = r ? r() : {};
                    return i(e, n, ye(u, 2), o)
                  }
                }

                function $r(n) {
                  return fr(function(t, r) {
                    var e = -1,
                      u = r.length,
                      i = 1 < u ? r[u - 1] : T,
                      o = 2 < u ? r[2] : T,
                      i = 3 < n.length && typeof i == "function" ? (u--, i) : T;
                    for (o && Oe(r[0], r[1], o) && (i = 3 > u ? T : i, u = 1), t = Qu(t); ++e < u;)(o = r[e]) && n(t, o, e, i);
                    return t
                  })
                }

                function Fr(n, t) {
                  return function(r, e) {
                    if (null == r) return r;
                    if (!su(r)) return n(r, e);
                    for (var u = r.length, i = t ? u : -1, o = Qu(r);
                      (t ? i-- : ++i < u) && !1 !== e(o[i], i, o););
                    return r
                  }
                }

                function Nr(n) {
                  return function(t, r, e) {
                    var u = -1,
                      i = Qu(t);
                    e = e(t);
                    for (var o = e.length; o--;) {
                      var f = e[n ? o : ++u];
                      if (!1 === r(i[f], f, i)) break
                    }
                    return t
                  }
                }

                function Pr(n, t, r) {
                  function e() {
                    return (this && this !== $n && this instanceof e ? i : n).apply(u ? r : this, arguments)
                  }
                  var u = 1 & t,
                    i = Vr(n);
                  return e
                }

                function Zr(n) {
                  return function(t) {
                    t = Iu(t);
                    var r = Rn.test(t) ? M(t) : T,
                      e = r ? r[0] : t.charAt(0);
                    return t = r ? Or(r, 1).join("") : t.slice(1), e[n]() + t
                  }
                }

                function qr(n) {
                  return function(t) {
                    return l(Mu(Du(t).replace(En, "")), n, "")
                  }
                }

                function Vr(n) {
                  return function() {
                    var t = arguments;
                    switch (t.length) {
                      case 0:
                        return new n;
                      case 1:
                        return new n(t[0]);
                      case 2:
                        return new n(t[0], t[1]);
                      case 3:
                        return new n(t[0], t[1], t[2]);
                      case 4:
                        return new n(t[0], t[1], t[2], t[3]);
                      case 5:
                        return new n(t[0], t[1], t[2], t[3], t[4]);
                      case 6:
                        return new n(t[0], t[1], t[2], t[3], t[4], t[5]);
                      case 7:
                        return new n(t[0], t[1], t[2], t[3], t[4], t[5], t[6])
                    }
                    var r = eo(n.prototype),
                      t = n.apply(r, t);
                    return du(t) ? t : r
                  }
                }

                function Kr(t, r, e) {
                  function u() {
                    for (var o = arguments.length, f = Ku(o), c = o, a = de(u); c--;) f[c] = arguments[c];
                    return c = 3 > o && f[0] !== a && f[o - 1] !== a ? [] : B(f, a), o -= c.length, o < e ? ue(t, r, Jr, u.placeholder, T, f, c, T, T, e - o) : n(this && this !== $n && this instanceof u ? i : t, this, f)
                  }
                  var i = Vr(t);
                  return u
                }

                function Gr(n) {
                  return function(t, r, e) {
                    var u = Qu(t);
                    if (!su(t)) {
                      var i = ye(r, 3);
                      t = Wu(t), r = function(n) {
                        return i(u[n], n, u)
                      }
                    }
                    return r = n(t, r, e), -1 < r ? u[i ? t[r] : r] : T
                  }
                }

                function Hr(n) {
                  return pe(function(t) {
                    var r = t.length,
                      e = r,
                      u = On.prototype.thru;
                    for (n && t.reverse(); e--;) {
                      var i = t[e];
                      if (typeof i != "function") throw new ti("Expected a function");
                      if (u && !o && "wrapper" == ge(i)) var o = new On([], !0)
                    }
                    for (e = o ? e : r; ++e < r;) var i = t[e],
                      u = ge(i),
                      f = "wrapper" == u ? ho(i) : T,
                      o = f && Re(f[0]) && 424 == f[1] && !f[4].length && 1 == f[9] ? o[ge(f[0])].apply(o, f[3]) : 1 == i.length && Re(i) ? o[u]() : o.thru(i);
                    return function() {
                      var n = arguments,
                        e = n[0];
                      if (o && 1 == n.length && ff(e)) return o.plant(e).value();
                      for (var u = 0, n = r ? t[u].apply(this, n) : e; ++u < r;) n = t[u].call(this, n);
                      return n
                    }
                  })
                }

                function Jr(n, t, r, e, u, i, o, f, c, a) {
                  function l() {
                    for (var d = arguments.length, y = Ku(d), b = d; b--;) y[b] = arguments[b];
                    if (_) {
                      var x, j = de(l),
                        b = y.length;
                      for (x = 0; b--;) y[b] === j && ++x
                    }
                    if (e && (y = Ur(y, e, u, _)), i && (y = Br(y, i, o, _)), d -= x, _ && d < a) return j = B(y, j), ue(n, t, Jr, l.placeholder, r, y, j, f, c, a - d);
                    if (j = h ? r : this, b = p ? j[n] : n, d = y.length, f) {
                      x = y.length;
                      for (var w = Ci(f.length, x), m = Lr(y); w--;) {
                        var A = f[w];
                        y[w] = Se(A, x) ? m[A] : T
                      }
                    } else v && 1 < d && y.reverse();
                    return s && c < d && (y.length = c), this && this !== $n && this instanceof l && (b = g || Vr(b)), b.apply(j, y)
                  }
                  var s = 128 & t,
                    h = 1 & t,
                    p = 2 & t,
                    _ = 24 & t,
                    v = 512 & t,
                    g = p ? T : Vr(n);
                  return l
                }

                function Yr(n, t) {
                  return function(r, e) {
                    return Ut(r, n, t(e), {})
                  }
                }

                function Qr(n, t) {
                  return function(r, e) {
                    var u;
                    if (r === T && e === T) return t;
                    if (r !== T && (u = r), e !== T) {
                      if (u === T) return e;
                      typeof r == "string" || typeof e == "string" ? (r = yr(r), e = yr(e)) : (r = dr(r), e = dr(e)), u = n(r, e)
                    }
                    return u
                  }
                }

                function Xr(t) {
                  return pe(function(r) {
                    return r = c(r, E(ye())), fr(function(e) {
                      var u = this;
                      return t(r, function(t) {
                        return n(t, u, e)
                      })
                    })
                  })
                }

                function ne(n, t) {
                  t = t === T ? " " : yr(t);
                  var r = t.length;
                  return 2 > r ? r ? or(t, n) : t : (r = or(t, Oi(n / D(t))), Rn.test(t) ? Or(M(r), 0, n).join("") : r.slice(0, n))
                }

                function te(t, r, e, u) {
                  function i() {
                    for (var r = -1, c = arguments.length, a = -1, l = u.length, s = Ku(l + c), h = this && this !== $n && this instanceof i ? f : t; ++a < l;) s[a] = u[a];
                    for (; c--;) s[a++] = arguments[++r];
                    return n(h, o ? e : this, s)
                  }
                  var o = 1 & r,
                    f = Vr(t);
                  return i
                }

                function re(n) {
                  return function(t, r, e) {
                    e && typeof e != "number" && Oe(t, r, e) && (r = e = T), t = Au(t), r === T ? (r = t, t = 0) : r = Au(r), e = e === T ? t < r ? 1 : -1 : Au(e);
                    var u = -1;
                    r = Li(Oi((r - t) / (e || 1)), 0);
                    for (var i = Ku(r); r--;) i[n ? r : ++u] = t, t += e;
                    return i
                  }
                }

                function ee(n) {
                  return function(t, r) {
                    return typeof t == "string" && typeof r == "string" || (t = Su(t), r = Su(r)), n(t, r)
                  }
                }

                function ue(n, t, r, e, u, i, o, f, c, a) {
                  var l = 8 & t,
                    s = l ? o : T;
                  o = l ? T : o;
                  var h = l ? i : T;
                  return i = l ? T : i, t = (t | (l ? 32 : 64)) & ~(l ? 64 : 32), 4 & t || (t &= -4), u = [n, t, u, h, s, i, o, f, c, a], r = r.apply(T, u), Re(n) && yo(r, u), r.placeholder = e, Le(r, n, t)
                }

                function ie(n) {
                  var t = Yu[n];
                  return function(n, r) {
                    if (n = Su(n), r = null == r ? 0 : Ci(ku(r), 292)) {
                      var e = (Iu(n) + "e").split("e"),
                        e = t(e[0] + "e" + (+e[1] + r)),
                        e = (Iu(e) + "e").split("e");
                      return +(e[0] + "e" + (+e[1] - r))
                    }
                    return t(n)
                  }
                }

                function oe(n) {
                  return function(t) {
                    var r = vo(t);
                    return "[object Map]" == r ? W(t) : "[object Set]" == r ? C(t) : k(t, n(t))
                  }
                }

                function fe(n, t, r, e, u, i, o, f) {
                  var c = 2 & t;
                  if (!c && typeof n != "function") throw new ti("Expected a function");
                  var a = e ? e.length : 0;
                  if (a || (t &= -97, e = u = T), o = o === T ? o : Li(ku(o), 0), f = f === T ? f : ku(f), a -= u ? u.length : 0, 64 & t) {
                    var l = e,
                      s = u;
                    e = u = T
                  }
                  var h = c ? T : ho(n);
                  return i = [n, t, r, e, u, l, s, i, o, f], h && (r = i[1], n = h[1], t = r | n, e = 128 == n && 8 == r || 128 == n && 256 == r && i[7].length <= h[8] || 384 == n && h[7].length <= h[8] && 8 == r, 131 > t || e) && (1 & n && (i[2] =
                      h[2], t |= 1 & r ? 0 : 4), (r = h[3]) && (e = i[3], i[3] = e ? Ur(e, r, h[4]) : r, i[4] = e ? B(i[3], "__lodash_placeholder__") : h[4]), (r = h[5]) && (e = i[5], i[5] = e ? Br(e, r, h[6]) : r, i[6] = e ? B(i[5],
                      "__lodash_placeholder__") : h[6]), (r = h[7]) && (i[7] = r), 128 & n && (i[8] = null == i[8] ? h[8] : Ci(i[8], h[8])), null == i[9] && (i[9] = h[9]), i[0] = h[0], i[1] = t), n = i[0], t = i[1], r = i[2], e = i[3], u = i[4],
                    f = i[9] = i[9] === T ? c ? 0 : n.length : Li(i[9] - a, 0), !f && 24 & t && (t &= -25), c = t && 1 != t ? 8 == t || 16 == t ? Kr(n, t, f) : 32 != t && 33 != t || u.length ? Jr.apply(T, i) : te(n, t, r, e) : Pr(n, t, r), Le((h ?
                      co : yo)(c, i), n, t)
                }

                function ce(n, t, r, e) {
                  return n === T || lu(n, ei[r]) && !oi.call(e, r) ? t : n
                }

                function ae(n, t, r, e, u, i) {
                  return du(n) && du(t) && (i.set(t, n), Yt(n, t, T, ae, i), i.delete(t)), n
                }

                function le(n) {
                  return xu(n) ? T : n
                }

                function se(n, t, r, e, u, i) {
                  var o = 1 & r,
                    f = n.length,
                    c = t.length;
                  if (f != c && !(o && c > f)) return !1;
                  if ((c = i.get(n)) && i.get(t)) return c == t;
                  var c = -1,
                    a = !0,
                    l = 2 & r ? new Nn : T;
                  for (i.set(n, t), i.set(t, n); ++c < f;) {
                    var s = n[c],
                      p = t[c];
                    if (e) var _ = o ? e(p, s, c, t, n, i) : e(s, p, c, n, t, i);
                    if (_ !== T) {
                      if (_) continue;
                      a = !1;
                      break
                    }
                    if (l) {
                      if (!h(t, function(n, t) {
                          if (!O(l, t) && (s === n || u(s, n, r, e, i))) return l.push(t)
                        })) {
                        a = !1;
                        break
                      }
                    } else if (s !== p && !u(s, p, r, e, i)) {
                      a = !1;
                      break
                    }
                  }
                  return i.delete(n), i.delete(t), a
                }

                function he(n, t, r, e, u, i, o) {
                  switch (r) {
                    case "[object DataView]":
                      if (n.byteLength != t.byteLength || n.byteOffset != t.byteOffset) break;
                      n = n.buffer, t = t.buffer;
                    case "[object ArrayBuffer]":
                      if (n.byteLength != t.byteLength || !i(new vi(n), new vi(t))) break;
                      return !0;
                    case "[object Boolean]":
                    case "[object Date]":
                    case "[object Number]":
                      return lu(+n, +t);
                    case "[object Error]":
                      return n.name == t.name && n.message == t.message;
                    case "[object RegExp]":
                    case "[object String]":
                      return n == t + "";
                    case "[object Map]":
                      var f = W;
                    case "[object Set]":
                      if (f || (f = L), n.size != t.size && !(1 & e)) break;
                      return (r = o.get(n)) ? r == t : (e |= 2, o.set(n, t), t = se(f(n), f(t), e, u, i, o), o.delete(n), t);
                    case "[object Symbol]":
                      if (to) return to.call(n) == to.call(t)
                  }
                  return !1
                }

                function pe(n) {
                  return xo(Ue(n, T, Ze), n + "")
                }

                function _e(n) {
                  return St(n, Wu, po)
                }

                function ve(n) {
                  return St(n, Uu, _o)
                }

                function ge(n) {
                  for (var t = n.name + "", r = Gi[t], e = oi.call(Gi, t) ? r.length : 0; e--;) {
                    var u = r[e],
                      i = u.func;
                    if (null == i || i == n) return u.name
                  }
                  return t
                }

                function de(n) {
                  return (oi.call(An, "placeholder") ? An : n).placeholder
                }

                function ye() {
                  var n = An.iteratee || Fu,
                    n = n === Fu ? qt : n;
                  return arguments.length ? n(arguments[0], arguments[1]) : n
                }

                function be(n, t) {
                  var r = n.__data__,
                    e = typeof t;
                  return ("string" == e || "number" == e || "symbol" == e || "boolean" == e ? "__proto__" !== t : null === t) ? r[typeof t == "string" ? "string" : "hash"] : r.map
                }

                function xe(n) {
                  for (var t = Wu(n), r = t.length; r--;) {
                    var e = t[r],
                      u = n[e];
                    t[r] = [e, u, u === u && !du(u)]
                  }
                  return t
                }

                function je(n, t) {
                  var r = null == n ? T : n[t];
                  return Ft(r) ? r : T
                }

                function we(n, t, r) {
                  t = Sr(t, n);
                  for (var e = -1, u = t.length, i = !1; ++e < u;) {
                    var o = Me(t[e]);
                    if (!(i = null != n && r(n, o))) break;
                    n = n[o]
                  }
                  return i || ++e != u ? i : (u = null == n ? 0 : n.length, !!u && gu(u) && Se(o, u) && (ff(n) || of(n)))
                }

                function me(n) {
                  var t = n.length,
                    r = new n.constructor(t);
                  return t && "string" == typeof n[0] && oi.call(n, "index") && (r.index = n.index, r.input = n.input), r
                }

                function Ae(n) {
                  return typeof n.constructor != "function" || ze(n) ? {} : eo(di(n))
                }

                function ke(n, t, r) {
                  var e = n.constructor;
                  switch (t) {
                    case "[object ArrayBuffer]":
                      return Rr(n);
                    case "[object Boolean]":
                    case "[object Date]":
                      return new e(+n);
                    case "[object DataView]":
                      return t = r ? Rr(n.buffer) : n.buffer, new n.constructor(t, n.byteOffset, n.byteLength);
                    case "[object Float32Array]":
                    case "[object Float64Array]":
                    case "[object Int8Array]":
                    case "[object Int16Array]":
                    case "[object Int32Array]":
                    case "[object Uint8Array]":
                    case "[object Uint8ClampedArray]":
                    case "[object Uint16Array]":
                    case "[object Uint32Array]":
                      return zr(n, r);
                    case "[object Map]":
                      return new e;
                    case "[object Number]":
                    case "[object String]":
                      return new e(n);
                    case "[object RegExp]":
                      return t = new n.constructor(n.source, _n.exec(n)), t.lastIndex = n.lastIndex, t;
                    case "[object Set]":
                      return new e;
                    case "[object Symbol]":
                      return to ? Qu(to.call(n)) : {}
                  }
                }

                function Ee(n) {
                  return ff(n) || of(n) || !!(ji && n && n[ji])
                }

                function Se(n, t) {
                  var r = typeof n;
                  return t = null == t ? 9007199254740991 : t, !!t && ("number" == r || "symbol" != r && bn.test(n)) && -1 < n && 0 == n % 1 && n < t
                }

                function Oe(n, t, r) {
                  if (!du(r)) return !1;
                  var e = typeof t;
                  return !!("number" == e ? su(r) && Se(t, r.length) : "string" == e && t in r) && lu(r[t], n)
                }

                function Ie(n, t) {
                  if (ff(n)) return !1;
                  var r = typeof n;
                  return !("number" != r && "symbol" != r && "boolean" != r && null != n && !wu(n)) || (nn.test(n) || !X.test(n) || null != t && n in Qu(t))
                }

                function Re(n) {
                  var t = ge(n),
                    r = An[t];
                  return typeof r == "function" && t in Ln.prototype && (n === r || (t = ho(r), !!t && n === t[0]))
                }

                function ze(n) {
                  var t = n && n.constructor;
                  return n === (typeof t == "function" && t.prototype || ei)
                }

                function We(n, t) {
                  return function(r) {
                    return null != r && (r[n] === t && (t !== T || n in Qu(r)))
                  }
                }

                function Ue(t, r, e) {
                  return r = Li(r === T ? t.length - 1 : r, 0),
                    function() {
                      for (var u = arguments, i = -1, o = Li(u.length - r, 0), f = Ku(o); ++i < o;) f[i] = u[r + i];
                      for (i = -1, o = Ku(r + 1); ++i < r;) o[i] = u[i];
                      return o[r] = e(f), n(t, this, o)
                    }
                }

                function Be(n, t) {
                  if ("__proto__" != t) return n[t]
                }

                function Le(n, t, r) {
                  var e = t + "";
                  t = xo;
                  var u, i = $e;
                  return u = (u = e.match(an)) ? u[1].split(ln) : [], r = i(u, r), (i = r.length) && (u = i - 1, r[u] = (1 < i ? "& " : "") + r[u], r = r.join(2 < i ? ", " : " "), e = e.replace(cn, "{\n/* [wrapped with " + r + "] */\n")), t(n, e)
                }

                function Ce(n) {
                  var t = 0,
                    r = 0;
                  return function() {
                    var e = Di(),
                      u = 16 - (e - r);
                    if (r = e, 0 < u) {
                      if (800 <= ++t) return arguments[0]
                    } else t = 0;
                    return n.apply(T, arguments)
                  }
                }

                function De(n, t) {
                  var r = -1,
                    e = n.length,
                    u = e - 1;
                  for (t = t === T ? e : t; ++r < t;) {
                    var e = ir(r, u),
                      i = n[e];
                    n[e] = n[r], n[r] = i
                  }
                  return n.length = t, n
                }

                function Me(n) {
                  if (typeof n == "string" || wu(n)) return n;
                  var t = n + "";
                  return "0" == t && 1 / n == -$ ? "-0" : t
                }

                function Te(n) {
                  if (null != n) {
                    try {
                      return ii.call(n)
                    } catch (n) {}
                    return n + ""
                  }
                  return ""
                }

                function $e(n, t) {
                  return r(N, function(r) {
                    var e = "_." + r[0];
                    t & r[1] && !o(n, e) && n.push(e)
                  }), n.sort()
                }

                function Fe(n) {
                  if (n instanceof Ln) return n.clone();
                  var t = new On(n.__wrapped__, n.__chain__);
                  return t.__actions__ = Lr(n.__actions__), t.__index__ = n.__index__, t.__values__ = n.__values__, t
                }

                function Ne(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  return e ? (r = null == r ? 0 : ku(r), 0 > r && (r = Li(e + r, 0)), _(n, ye(t, 3), r)) : -1
                }

                function Pe(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  if (!e) return -1;
                  var u = e - 1;
                  return r !== T && (u = ku(r), u = 0 > r ? Li(e + u, 0) : Ci(u, e - 1)), _(n, ye(t, 3), u, !0)
                }

                function Ze(n) {
                  return (null == n ? 0 : n.length) ? wt(n, 1) : []
                }

                function qe(n) {
                  return n && n.length ? n[0] : T
                }

                function Ve(n) {
                  var t = null == n ? 0 : n.length;
                  return t ? n[t - 1] : T
                }

                function Ke(n, t) {
                  return n && n.length && t && t.length ? er(n, t) : n
                }

                function Ge(n) {
                  return null == n ? n : $i.call(n)
                }

                function He(n) {
                  if (!n || !n.length) return [];
                  var t = 0;
                  return n = i(n, function(n) {
                    if (hu(n)) return t = Li(n.length, t), !0
                  }), A(t, function(t) {
                    return c(n, b(t))
                  })
                }

                function Je(t, r) {
                  if (!t || !t.length) return [];
                  var e = He(t);
                  return null == r ? e : c(e, function(t) {
                    return n(r, T, t)
                  })
                }

                function Ye(n) {
                  return n = An(n), n.__chain__ = !0, n
                }

                function Qe(n, t) {
                  return t(n)
                }

                function Xe() {
                  return this
                }

                function nu(n, t) {
                  return (ff(n) ? r : uo)(n, ye(t, 3))
                }

                function tu(n, t) {
                  return (ff(n) ? e : io)(n, ye(t, 3))
                }

                function ru(n, t) {
                  return (ff(n) ? c : Gt)(n, ye(t, 3))
                }

                function eu(n, t, r) {
                  return t = r ? T : t, t = n && null == t ? n.length : t, fe(n, 128, T, T, T, T, t)
                }

                function uu(n, t) {
                  var r;
                  if (typeof t != "function") throw new ti("Expected a function");
                  return n = ku(n),
                    function() {
                      return 0 < --n && (r = t.apply(this, arguments)), 1 >= n && (t = T), r
                    }
                }

                function iu(n, t, r) {
                  return t = r ? T : t, n = fe(n, 8, T, T, T, T, T, t), n.placeholder = iu.placeholder, n
                }

                function ou(n, t, r) {
                  return t = r ? T : t, n = fe(n, 16, T, T, T, T, T, t), n.placeholder = ou.placeholder, n
                }

                function fu(n, t, r) {
                  function e(t) {
                    var r = c,
                      e = a;
                    return c = a = T, _ = t, s = n.apply(e, r)
                  }

                  function u(n) {
                    var r = n - p;
                    return n -= _, p === T || r >= t || 0 > r || g && n >= l
                  }

                  function i() {
                    var n = Go();
                    if (u(n)) return o(n);
                    var r, e = bo;
                    r = n - _, n = t - (n - p), r = g ? Ci(n, l - r) : n, h = e(i, r)
                  }

                  function o(n) {
                    return h = T, d && c ? e(n) : (c = a = T, s)
                  }

                  function f() {
                    var n = Go(),
                      r = u(n);
                    if (c = arguments, a = this, p = n, r) {
                      if (h === T) return _ = n = p, h = bo(i, t), v ? e(n) : s;
                      if (g) return h = bo(i, t), e(p)
                    }
                    return h === T && (h = bo(i, t)), s
                  }
                  var c, a, l, s, h, p, _ = 0,
                    v = !1,
                    g = !1,
                    d = !0;
                  if (typeof n != "function") throw new ti("Expected a function");
                  return t = Su(t) || 0, du(r) && (v = !!r.leading, l = (g = "maxWait" in r) ? Li(Su(r.maxWait) || 0, t) : l, d = "trailing" in r ? !!r.trailing : d), f.cancel = function() {
                    h !== T && lo(h), _ = 0, c = p = a = h = T
                  }, f.flush = function() {
                    return h === T ? s : o(Go())
                  }, f
                }

                function cu(n, t) {
                  if (typeof n != "function" || null != t && typeof t != "function") throw new ti("Expected a function");
                  var r = function() {
                    var e = arguments,
                      u = t ? t.apply(this, e) : e[0],
                      i = r.cache;
                    return i.has(u) ? i.get(u) : (e = n.apply(this, e), r.cache = i.set(u, e) || i, e)
                  };
                  return r.cache = new(cu.Cache || Fn), r
                }

                function au(n) {
                  if (typeof n != "function") throw new ti("Expected a function");
                  return function() {
                    var t = arguments;
                    switch (t.length) {
                      case 0:
                        return !n.call(this);
                      case 1:
                        return !n.call(this, t[0]);
                      case 2:
                        return !n.call(this, t[0], t[1]);
                      case 3:
                        return !n.call(this, t[0], t[1], t[2])
                    }
                    return !n.apply(this, t)
                  }
                }

                function lu(n, t) {
                  return n === t || n !== n && t !== t
                }

                function su(n) {
                  return null != n && gu(n.length) && !_u(n)
                }

                function hu(n) {
                  return yu(n) && su(n)
                }

                function pu(n) {
                  if (!yu(n)) return !1;
                  var t = Ot(n);
                  return "[object Error]" == t || "[object DOMException]" == t || typeof n.message == "string" && typeof n.name == "string" && !xu(n)
                }

                function _u(n) {
                  return !!du(n) && (n = Ot(n), "[object Function]" == n || "[object GeneratorFunction]" == n || "[object AsyncFunction]" == n || "[object Proxy]" == n)
                }

                function vu(n) {
                  return typeof n == "number" && n == ku(n)
                }

                function gu(n) {
                  return typeof n == "number" && -1 < n && 0 == n % 1 && 9007199254740991 >= n
                }

                function du(n) {
                  var t = typeof n;
                  return null != n && ("object" == t || "function" == t)
                }

                function yu(n) {
                  return null != n && typeof n == "object"
                }

                function bu(n) {
                  return typeof n == "number" || yu(n) && "[object Number]" == Ot(n)
                }

                function xu(n) {
                  return !(!yu(n) || "[object Object]" != Ot(n)) && (n = di(n), null === n || (n = oi.call(n, "constructor") && n.constructor, typeof n == "function" && n instanceof n && ii.call(n) == li))
                }

                function ju(n) {
                  return typeof n == "string" || !ff(n) && yu(n) && "[object String]" == Ot(n)
                }

                function wu(n) {
                  return typeof n == "symbol" || yu(n) && "[object Symbol]" == Ot(n)
                }

                function mu(n) {
                  if (!n) return [];
                  if (su(n)) return ju(n) ? M(n) : Lr(n);
                  if (wi && n[wi]) {
                    n = n[wi]();
                    for (var t, r = []; !(t = n.next()).done;) r.push(t.value);
                    return r
                  }
                  return t = vo(n), ("[object Map]" == t ? W : "[object Set]" == t ? L : Lu)(n)
                }

                function Au(n) {
                  return n ? (n = Su(n), n === $ || n === -$ ? 1.7976931348623157e308 * (0 > n ? -1 : 1) : n === n ? n : 0) : 0 === n ? n : 0
                }

                function ku(n) {
                  n = Au(n);
                  var t = n % 1;
                  return n === n ? t ? n - t : n : 0
                }

                function Eu(n) {
                  return n ? pt(ku(n), 0, 4294967295) : 0
                }

                function Su(n) {
                  if (typeof n == "number") return n;
                  if (wu(n)) return F;
                  if (du(n) && (n = typeof n.valueOf == "function" ? n.valueOf() : n, n = du(n) ? n + "" : n), typeof n != "string") return 0 === n ? n : +n;
                  n = n.replace(un, "");
                  var t = gn.test(n);
                  return t || yn.test(n) ? Dn(n.slice(2), t ? 2 : 8) : vn.test(n) ? F : +n
                }

                function Ou(n) {
                  return Cr(n, Uu(n))
                }

                function Iu(n) {
                  return null == n ? "" : yr(n)
                }

                function Ru(n, t, r) {
                  return n = null == n ? T : Et(n, t), n === T ? r : n
                }

                function zu(n, t) {
                  return null != n && we(n, t, zt)
                }

                function Wu(n) {
                  return su(n) ? qn(n) : Vt(n)
                }

                function Uu(n) {
                  if (su(n)) n = qn(n, !0);
                  else if (du(n)) {
                    var t, r = ze(n),
                      e = [];
                    for (t in n)("constructor" != t || !r && oi.call(n, t)) && e.push(t);
                    n = e
                  } else {
                    if (t = [], null != n)
                      for (r in Qu(n)) t.push(r);
                    n = t
                  }
                  return n
                }

                function Bu(n, t) {
                  if (null == n) return {};
                  var r = c(ve(n), function(n) {
                    return [n]
                  });
                  return t = ye(t), tr(n, r, function(n, r) {
                    return t(n, r[0])
                  })
                }

                function Lu(n) {
                  return null == n ? [] : S(n, Wu(n))
                }

                function Cu(n) {
                  return $f(Iu(n).toLowerCase())
                }

                function Du(n) {
                  return (n = Iu(n)) && n.replace(xn, Xn).replace(Sn, "")
                }

                function Mu(n, t, r) {
                  return n = Iu(n), t = r ? T : t, t === T ? zn.test(n) ? n.match(In) || [] : n.match(sn) || [] : n.match(t) || []
                }

                function Tu(n) {
                  return function() {
                    return n
                  }
                }

                function $u(n) {
                  return n
                }

                function Fu(n) {
                  return qt(typeof n == "function" ? n : _t(n, 1))
                }

                function Nu(n, t, e) {
                  var u = Wu(t),
                    i = kt(t, u);
                  null != e || du(t) && (i.length || !u.length) || (e = t, t = n, n = this, i = kt(t, Wu(t)));
                  var o = !(du(e) && "chain" in e && !e.chain),
                    f = _u(n);
                  return r(i, function(r) {
                    var e = t[r];
                    n[r] = e, f && (n.prototype[r] = function() {
                      var t = this.__chain__;
                      if (o || t) {
                        var r = n(this.__wrapped__);
                        return (r.__actions__ = Lr(this.__actions__)).push({
                          func: e,
                          args: arguments,
                          thisArg: n
                        }), r.__chain__ = t, r
                      }
                      return e.apply(n, a([this.value()], arguments))
                    })
                  }), n
                }

                function Pu() {}

                function Zu(n) {
                  return Ie(n) ? b(Me(n)) : rr(n)
                }

                function qu() {
                  return []
                }

                function Vu() {
                  return !1
                }
                mn = null == mn ? $n : rt.defaults($n.Object(), mn, rt.pick($n, Wn));
                var Ku = mn.Array,
                  Gu = mn.Date,
                  Hu = mn.Error,
                  Ju = mn.Function,
                  Yu = mn.Math,
                  Qu = mn.Object,
                  Xu = mn.RegExp,
                  ni = mn.String,
                  ti = mn.TypeError,
                  ri = Ku.prototype,
                  ei = Qu.prototype,
                  ui = mn["__core-js_shared__"],
                  ii = Ju.prototype.toString,
                  oi = ei.hasOwnProperty,
                  fi = 0,
                  ci = function() {
                    var n = /[^.]+$/.exec(ui && ui.keys && ui.keys.IE_PROTO || "");
                    return n ? "Symbol(src)_1." + n : ""
                  }(),
                  ai = ei.toString,
                  li = ii.call(Qu),
                  si = $n._,
                  hi = Xu("^" + ii.call(oi).replace(rn, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"),
                  pi = Pn ? mn.Buffer : T,
                  _i = mn.Symbol,
                  vi = mn.Uint8Array,
                  gi = pi ? pi.allocUnsafe : T,
                  di = U(Qu.getPrototypeOf, Qu),
                  yi = Qu.create,
                  bi = ei.propertyIsEnumerable,
                  xi = ri.splice,
                  ji = _i ? _i.isConcatSpreadable : T,
                  wi = _i ? _i.iterator : T,
                  mi = _i ? _i.toStringTag : T,
                  Ai = function() {
                    try {
                      var n = je(Qu, "defineProperty");
                      return n({}, "", {}), n
                    } catch (n) {}
                  }(),
                  ki = mn.clearTimeout !== $n.clearTimeout && mn.clearTimeout,
                  Ei = Gu && Gu.now !== $n.Date.now && Gu.now,
                  Si = mn.setTimeout !== $n.setTimeout && mn.setTimeout,
                  Oi = Yu.ceil,
                  Ii = Yu.floor,
                  Ri = Qu.getOwnPropertySymbols,
                  zi = pi ? pi.isBuffer : T,
                  Wi = mn.isFinite,
                  Ui = ri.join,
                  Bi = U(Qu.keys, Qu),
                  Li = Yu.max,
                  Ci = Yu.min,
                  Di = Gu.now,
                  Mi = mn.parseInt,
                  Ti = Yu.random,
                  $i = ri.reverse,
                  Fi = je(mn, "DataView"),
                  Ni = je(mn, "Map"),
                  Pi = je(mn, "Promise"),
                  Zi = je(mn, "Set"),
                  qi = je(mn, "WeakMap"),
                  Vi = je(Qu, "create"),
                  Ki = qi && new qi,
                  Gi = {},
                  Hi = Te(Fi),
                  Ji = Te(Ni),
                  Yi = Te(Pi),
                  Qi = Te(Zi),
                  Xi = Te(qi),
                  no = _i ? _i.prototype : T,
                  to = no ? no.valueOf : T,
                  ro = no ? no.toString : T,
                  eo = function() {
                    function n() {}
                    return function(t) {
                      return du(t) ? yi ? yi(t) : (n.prototype = t, t = new n, n.prototype = T, t) : {}
                    }
                  }();
                An.templateSettings = {
                  escape: J,
                  evaluate: Y,
                  interpolate: Q,
                  variable: "",
                  imports: {
                    _: An
                  }
                }, An.prototype = kn.prototype, An.prototype.constructor = An, On.prototype = eo(kn.prototype), On.prototype.constructor = On, Ln.prototype = eo(kn.prototype), Ln.prototype.constructor = Ln, Mn.prototype.clear = function() {
                  this.__data__ = Vi ? Vi(null) : {}, this.size = 0
                }, Mn.prototype.delete = function(n) {
                  return n = this.has(n) && delete this.__data__[n], this.size -= n ? 1 : 0, n
                }, Mn.prototype.get = function(n) {
                  var t = this.__data__;
                  return Vi ? (n = t[n], "__lodash_hash_undefined__" === n ? T : n) : oi.call(t, n) ? t[n] : T
                }, Mn.prototype.has = function(n) {
                  var t = this.__data__;
                  return Vi ? t[n] !== T : oi.call(t, n)
                }, Mn.prototype.set = function(n, t) {
                  var r = this.__data__;
                  return this.size += this.has(n) ? 0 : 1, r[n] = Vi && t === T ? "__lodash_hash_undefined__" : t, this
                }, Tn.prototype.clear = function() {
                  this.__data__ = [], this.size = 0
                }, Tn.prototype.delete = function(n) {
                  var t = this.__data__;
                  return n = ft(t, n), !(0 > n) && (n == t.length - 1 ? t.pop() : xi.call(t, n, 1), --this.size, !0)
                }, Tn.prototype.get = function(n) {
                  var t = this.__data__;
                  return n = ft(t, n), 0 > n ? T : t[n][1]
                }, Tn.prototype.has = function(n) {
                  return -1 < ft(this.__data__, n)
                }, Tn.prototype.set = function(n, t) {
                  var r = this.__data__,
                    e = ft(r, n);
                  return 0 > e ? (++this.size, r.push([n, t])) : r[e][1] = t, this
                }, Fn.prototype.clear = function() {
                  this.size = 0, this.__data__ = {
                    hash: new Mn,
                    map: new(Ni || Tn),
                    string: new Mn
                  }
                }, Fn.prototype.delete = function(n) {
                  return n = be(this, n).delete(n), this.size -= n ? 1 : 0, n
                }, Fn.prototype.get = function(n) {
                  return be(this, n).get(n)
                }, Fn.prototype.has = function(n) {
                  return be(this, n).has(n)
                }, Fn.prototype.set = function(n, t) {
                  var r = be(this, n),
                    e = r.size;
                  return r.set(n, t), this.size += r.size == e ? 0 : 1, this
                }, Nn.prototype.add = Nn.prototype.push = function(n) {
                  return this.__data__.set(n, "__lodash_hash_undefined__"), this
                }, Nn.prototype.has = function(n) {
                  return this.__data__.has(n)
                }, Zn.prototype.clear = function() {
                  this.__data__ = new Tn, this.size = 0
                }, Zn.prototype.delete = function(n) {
                  var t = this.__data__;
                  return n = t.delete(n), this.size = t.size, n
                }, Zn.prototype.get = function(n) {
                  return this.__data__.get(n)
                }, Zn.prototype.has = function(n) {
                  return this.__data__.has(n)
                }, Zn.prototype.set = function(n, t) {
                  var r = this.__data__;
                  if (r instanceof Tn) {
                    var e = r.__data__;
                    if (!Ni || 199 > e.length) return e.push([n, t]), this.size = ++r.size, this;
                    r = this.__data__ = new Fn(e)
                  }
                  return r.set(n, t), this.size = r.size, this
                };
                var uo = Fr(mt),
                  io = Fr(At, !0),
                  oo = Nr(),
                  fo = Nr(!0),
                  co = Ki ? function(n, t) {
                    return Ki.set(n, t), n
                  } : $u,
                  ao = Ai ? function(n, t) {
                    return Ai(n, "toString", {
                      configurable: !0,
                      enumerable: !1,
                      value: Tu(t),
                      writable: !0
                    })
                  } : $u,
                  lo = ki || function(n) {
                    return $n.clearTimeout(n)
                  },
                  so = Zi && 1 / L(new Zi([, -0]))[1] == $ ? function(n) {
                    return new Zi(n)
                  } : Pu,
                  ho = Ki ? function(n) {
                    return Ki.get(n)
                  } : Pu,
                  po = Ri ? function(n) {
                    return null == n ? [] : (n = Qu(n), i(Ri(n), function(t) {
                      return bi.call(n, t)
                    }))
                  } : qu,
                  _o = Ri ? function(n) {
                    for (var t = []; n;) a(t, po(n)), n = di(n);
                    return t
                  } : qu,
                  vo = Ot;
                (Fi && "[object DataView]" != vo(new Fi(new ArrayBuffer(1))) || Ni && "[object Map]" != vo(new Ni) || Pi && "[object Promise]" != vo(Pi.resolve()) || Zi && "[object Set]" != vo(new Zi) || qi && "[object WeakMap]" != vo(new qi)) && (
                  vo = function(n) {
                    var t = Ot(n);
                    if (n = (n = "[object Object]" == t ? n.constructor : T) ? Te(n) : "") switch (n) {
                      case Hi:
                        return "[object DataView]";
                      case Ji:
                        return "[object Map]";
                      case Yi:
                        return "[object Promise]";
                      case Qi:
                        return "[object Set]";
                      case Xi:
                        return "[object WeakMap]"
                    }
                    return t
                  });
                var go = ui ? _u : Vu,
                  yo = Ce(co),
                  bo = Si || function(n, t) {
                    return $n.setTimeout(n, t)
                  },
                  xo = Ce(ao),
                  jo = function(n) {
                    n = cu(n, function(n) {
                      return 500 === t.size && t.clear(), n
                    });
                    var t = n.cache;
                    return n
                  }(function(n) {
                    var t = [];
                    return 46 === n.charCodeAt(0) && t.push(""), n.replace(tn, function(n, r, e, u) {
                      t.push(e ? u.replace(hn, "$1") : r || n)
                    }), t
                  }),
                  wo = fr(function(n, t) {
                    return hu(n) ? yt(n, wt(t, 1, hu, !0)) : []
                  }),
                  mo = fr(function(n, t) {
                    var r = Ve(t);
                    return hu(r) && (r = T), hu(n) ? yt(n, wt(t, 1, hu, !0), ye(r, 2)) : []
                  }),
                  Ao = fr(function(n, t) {
                    var r = Ve(t);
                    return hu(r) && (r = T), hu(n) ? yt(n, wt(t, 1, hu, !0), T, r) : []
                  }),
                  ko = fr(function(n) {
                    var t = c(n, kr);
                    return t.length && t[0] === n[0] ? Wt(t) : []
                  }),
                  Eo = fr(function(n) {
                    var t = Ve(n),
                      r = c(n, kr);
                    return t === Ve(r) ? t = T : r.pop(), r.length && r[0] === n[0] ? Wt(r, ye(t, 2)) : []
                  }),
                  So = fr(function(n) {
                    var t = Ve(n),
                      r = c(n, kr);
                    return (t = typeof t == "function" ? t : T) && r.pop(), r.length && r[0] === n[0] ? Wt(r, T, t) : []
                  }),
                  Oo = fr(Ke),
                  Io = pe(function(n, t) {
                    var r = null == n ? 0 : n.length,
                      e = ht(n, t);
                    return ur(n, c(t, function(n) {
                      return Se(n, r) ? +n : n
                    }).sort(Wr)), e
                  }),
                  Ro = fr(function(n) {
                    return br(wt(n, 1, hu, !0))
                  }),
                  zo = fr(function(n) {
                    var t = Ve(n);
                    return hu(t) && (t = T), br(wt(n, 1, hu, !0), ye(t, 2))
                  }),
                  Wo = fr(function(n) {
                    var t = Ve(n),
                      t = typeof t == "function" ? t : T;
                    return br(wt(n, 1, hu, !0), T, t)
                  }),
                  Uo = fr(function(n, t) {
                    return hu(n) ? yt(n, t) : []
                  }),
                  Bo = fr(function(n) {
                    return mr(i(n, hu))
                  }),
                  Lo = fr(function(n) {
                    var t = Ve(n);
                    return hu(t) && (t = T), mr(i(n, hu), ye(t, 2))
                  }),
                  Co = fr(function(n) {
                    var t = Ve(n),
                      t = typeof t == "function" ? t : T;
                    return mr(i(n, hu), T, t)
                  }),
                  Do = fr(He),
                  Mo = fr(function(n) {
                    var t = n.length,
                      t = 1 < t ? n[t - 1] : T,
                      t = typeof t == "function" ? (n.pop(), t) : T;
                    return Je(n, t)
                  }),
                  To = pe(function(n) {
                    var t = n.length,
                      r = t ? n[0] : 0,
                      e = this.__wrapped__,
                      u = function(t) {
                        return ht(t, n)
                      };
                    return !(1 < t || this.__actions__.length) && e instanceof Ln && Se(r) ? (e = e.slice(r, +r + (t ? 1 : 0)), e.__actions__.push({
                      func: Qe,
                      args: [u],
                      thisArg: T
                    }), new On(e, this.__chain__).thru(function(n) {
                      return t && !n.length && n.push(T), n
                    })) : this.thru(u)
                  }),
                  $o = Tr(function(n, t, r) {
                    oi.call(n, r) ? ++n[r] : st(n, r, 1)
                  }),
                  Fo = Gr(Ne),
                  No = Gr(Pe),
                  Po = Tr(function(n, t, r) {
                    oi.call(n, r) ? n[r].push(t) : st(n, r, [t])
                  }),
                  Zo = fr(function(t, r, e) {
                    var u = -1,
                      i = typeof r == "function",
                      o = su(t) ? Ku(t.length) : [];
                    return uo(t, function(t) {
                      o[++u] = i ? n(r, t, e) : Bt(t, r, e)
                    }), o
                  }),
                  qo = Tr(function(n, t, r) {
                    st(n, r, t)
                  }),
                  Vo = Tr(function(n, t, r) {
                    n[r ? 0 : 1].push(t)
                  }, function() {
                    return [
                      [],
                      []
                    ]
                  }),
                  Ko = fr(function(n, t) {
                    if (null == n) return [];
                    var r = t.length;
                    return 1 < r && Oe(n, t[0], t[1]) ? t = [] : 2 < r && Oe(t[0], t[1], t[2]) && (t = [t[0]]), Xt(n, wt(t, 1), [])
                  }),
                  Go = Ei || function() {
                    return $n.Date.now()
                  },
                  Ho = fr(function(n, t, r) {
                    var e = 1;
                    if (r.length) var u = B(r, de(Ho)),
                      e = 32 | e;
                    return fe(n, e, t, r, u)
                  }),
                  Jo = fr(function(n, t, r) {
                    var e = 3;
                    if (r.length) var u = B(r, de(Jo)),
                      e = 32 | e;
                    return fe(t, e, n, r, u)
                  }),
                  Yo = fr(function(n, t) {
                    return dt(n, 1, t)
                  }),
                  Qo = fr(function(n, t, r) {
                    return dt(n, Su(t) || 0, r)
                  });
                cu.Cache = Fn;
                var Xo = fr(function(t, r) {
                    r = 1 == r.length && ff(r[0]) ? c(r[0], E(ye())) : c(wt(r, 1), E(ye()));
                    var e = r.length;
                    return fr(function(u) {
                      for (var i = -1, o = Ci(u.length, e); ++i < o;) u[i] = r[i].call(this, u[i]);
                      return n(t, this, u)
                    })
                  }),
                  nf = fr(function(n, t) {
                    return fe(n, 32, T, t, B(t, de(nf)))
                  }),
                  tf = fr(function(n, t) {
                    return fe(n, 64, T, t, B(t, de(tf)))
                  }),
                  rf = pe(function(n, t) {
                    return fe(n, 256, T, T, T, t)
                  }),
                  ef = ee(It),
                  uf = ee(function(n, t) {
                    return n >= t
                  }),
                  of = Lt(function() {
                    return arguments
                  }()) ? Lt : function(n) {
                    return yu(n) && oi.call(n, "callee") && !bi.call(n, "callee")
                  },
                  ff = Ku.isArray,
                  cf = Vn ? E(Vn) : Ct,
                  af = zi || Vu,
                  lf = Kn ? E(Kn) : Dt,
                  sf = Gn ? E(Gn) : Tt,
                  hf = Hn ? E(Hn) : Nt,
                  pf = Jn ? E(Jn) : Pt,
                  _f = Yn ? E(Yn) : Zt,
                  vf = ee(Kt),
                  gf = ee(function(n, t) {
                    return n <= t
                  }),
                  df = $r(function(n, t) {
                    if (ze(t) || su(t)) Cr(t, Wu(t), n);
                    else
                      for (var r in t) oi.call(t, r) && ot(n, r, t[r])
                  }),
                  yf = $r(function(n, t) {
                    Cr(t, Uu(t), n)
                  }),
                  bf = $r(function(n, t, r, e) {
                    Cr(t, Uu(t), n, e)
                  }),
                  xf = $r(function(n, t, r, e) {
                    Cr(t, Wu(t), n, e)
                  }),
                  jf = pe(ht),
                  wf = fr(function(n, t) {
                    n = Qu(n);
                    var r = -1,
                      e = t.length,
                      u = 2 < e ? t[2] : T;
                    for (u && Oe(t[0], t[1], u) && (e = 1); ++r < e;)
                      for (var u = t[r], i = Uu(u), o = -1, f = i.length; ++o < f;) {
                        var c = i[o],
                          a = n[c];
                        (a === T || lu(a, ei[c]) && !oi.call(n, c)) && (n[c] = u[c])
                      }
                    return n
                  }),
                  mf = fr(function(t) {
                    return t.push(T, ae), n(Of, T, t)
                  }),
                  Af = Yr(function(n, t, r) {
                    null != t && typeof t.toString != "function" && (t = ai.call(t)), n[t] = r
                  }, Tu($u)),
                  kf = Yr(function(n, t, r) {
                    null != t && typeof t.toString != "function" && (t = ai.call(t)), oi.call(n, t) ? n[t].push(r) : n[t] = [r]
                  }, ye),
                  Ef = fr(Bt),
                  Sf = $r(function(n, t, r) {
                    Yt(n, t, r)
                  }),
                  Of = $r(function(n, t, r, e) {
                    Yt(n, t, r, e)
                  }),
                  If = pe(function(n, t) {
                    var r = {};
                    if (null == n) return r;
                    var e = !1;
                    t = c(t, function(t) {
                      return t = Sr(t, n), e || (e = 1 < t.length), t
                    }), Cr(n, ve(n), r), e && (r = _t(r, 7, le));
                    for (var u = t.length; u--;) xr(r, t[u]);
                    return r
                  }),
                  Rf = pe(function(n, t) {
                    return null == n ? {} : nr(n, t)
                  }),
                  zf = oe(Wu),
                  Wf = oe(Uu),
                  Uf = qr(function(n, t, r) {
                    return t = t.toLowerCase(), n + (r ? Cu(t) : t)
                  }),
                  Bf = qr(function(n, t, r) {
                    return n + (r ? "-" : "") + t.toLowerCase()
                  }),
                  Lf = qr(function(n, t, r) {
                    return n + (r ? " " : "") + t.toLowerCase()
                  }),
                  Cf = Zr("toLowerCase"),
                  Df = qr(function(n, t, r) {
                    return n + (r ? "_" : "") + t.toLowerCase()
                  }),
                  Mf = qr(function(n, t, r) {
                    return n + (r ? " " : "") + $f(t)
                  }),
                  Tf = qr(function(n, t, r) {
                    return n + (r ? " " : "") + t.toUpperCase()
                  }),
                  $f = Zr("toUpperCase"),
                  Ff = fr(function(t, r) {
                    try {
                      return n(t, T, r)
                    } catch (n) {
                      return pu(n) ? n : new Hu(n)
                    }
                  }),
                  Nf = pe(function(n, t) {
                    return r(t, function(t) {
                      t = Me(t), st(n, t, Ho(n[t], n))
                    }), n
                  }),
                  Pf = Hr(),
                  Zf = Hr(!0),
                  qf = fr(function(n, t) {
                    return function(r) {
                      return Bt(r, n, t)
                    }
                  }),
                  Vf = fr(function(n, t) {
                    return function(r) {
                      return Bt(n, r, t)
                    }
                  }),
                  Kf = Xr(c),
                  Gf = Xr(u),
                  Hf = Xr(h),
                  Jf = re(),
                  Yf = re(!0),
                  Qf = Qr(function(n, t) {
                    return n + t
                  }, 0),
                  Xf = ie("ceil"),
                  nc = Qr(function(n, t) {
                    return n / t
                  }, 1),
                  tc = ie("floor"),
                  rc = Qr(function(n, t) {
                    return n * t
                  }, 1),
                  ec = ie("round"),
                  uc = Qr(function(n, t) {
                    return n - t
                  }, 0);
                return An.after = function(n, t) {
                  if (typeof t != "function") throw new ti("Expected a function");
                  return n = ku(n),
                    function() {
                      if (1 > --n) return t.apply(this, arguments)
                    }
                }, An.ary = eu, An.assign = df, An.assignIn = yf, An.assignInWith = bf, An.assignWith = xf, An.at = jf, An.before = uu, An.bind = Ho, An.bindAll = Nf, An.bindKey = Jo, An.castArray = function() {
                  if (!arguments.length) return [];
                  var n = arguments[0];
                  return ff(n) ? n : [n]
                }, An.chain = Ye, An.chunk = function(n, t, r) {
                  if (t = (r ? Oe(n, t, r) : t === T) ? 1 : Li(ku(t), 0), r = null == n ? 0 : n.length, !r || 1 > t) return [];
                  for (var e = 0, u = 0, i = Ku(Oi(r / t)); e < r;) i[u++] = hr(n, e, e += t);
                  return i
                }, An.compact = function(n) {
                  for (var t = -1, r = null == n ? 0 : n.length, e = 0, u = []; ++t < r;) {
                    var i = n[t];
                    i && (u[e++] = i)
                  }
                  return u
                }, An.concat = function() {
                  var n = arguments.length;
                  if (!n) return [];
                  for (var t = Ku(n - 1), r = arguments[0]; n--;) t[n - 1] = arguments[n];
                  return a(ff(r) ? Lr(r) : [r], wt(t, 1))
                }, An.cond = function(t) {
                  var r = null == t ? 0 : t.length,
                    e = ye();
                  return t = r ? c(t, function(n) {
                    if ("function" != typeof n[1]) throw new ti("Expected a function");
                    return [e(n[0]), n[1]]
                  }) : [], fr(function(e) {
                    for (var u = -1; ++u < r;) {
                      var i = t[u];
                      if (n(i[0], this, e)) return n(i[1], this, e)
                    }
                  })
                }, An.conforms = function(n) {
                  return vt(_t(n, 1))
                }, An.constant = Tu, An.countBy = $o, An.create = function(n, t) {
                  var r = eo(n);
                  return null == t ? r : at(r, t)
                }, An.curry = iu, An.curryRight = ou, An.debounce = fu, An.defaults = wf, An.defaultsDeep = mf, An.defer = Yo, An.delay = Qo, An.difference = wo, An.differenceBy = mo, An.differenceWith = Ao, An.drop = function(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  return e ? (t = r || t === T ? 1 : ku(t), hr(n, 0 > t ? 0 : t, e)) : []
                }, An.dropRight = function(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  return e ? (t = r || t === T ? 1 : ku(t), t = e - t, hr(n, 0, 0 > t ? 0 : t)) : []
                }, An.dropRightWhile = function(n, t) {
                  return n && n.length ? jr(n, ye(t, 3), !0, !0) : []
                }, An.dropWhile = function(n, t) {
                  return n && n.length ? jr(n, ye(t, 3), !0) : []
                }, An.fill = function(n, t, r, e) {
                  var u = null == n ? 0 : n.length;
                  if (!u) return [];
                  for (r && typeof r != "number" && Oe(n, t, r) && (r = 0, e = u), u = n.length, r = ku(r), 0 > r && (r = -r > u ? 0 : u + r), e = e === T || e > u ? u : ku(e), 0 > e && (e += u), e = r > e ? 0 : Eu(e); r < e;) n[r++] = t;
                  return n
                }, An.filter = function(n, t) {
                  return (ff(n) ? i : jt)(n, ye(t, 3))
                }, An.flatMap = function(n, t) {
                  return wt(ru(n, t), 1)
                }, An.flatMapDeep = function(n, t) {
                  return wt(ru(n, t), $)
                }, An.flatMapDepth = function(n, t, r) {
                  return r = r === T ? 1 : ku(r), wt(ru(n, t), r)
                }, An.flatten = Ze, An.flattenDeep = function(n) {
                  return (null == n ? 0 : n.length) ? wt(n, $) : []
                }, An.flattenDepth = function(n, t) {
                  return null != n && n.length ? (t = t === T ? 1 : ku(t), wt(n, t)) : []
                }, An.flip = function(n) {
                  return fe(n, 512)
                }, An.flow = Pf, An.flowRight = Zf, An.fromPairs = function(n) {
                  for (var t = -1, r = null == n ? 0 : n.length, e = {}; ++t < r;) {
                    var u = n[t];
                    e[u[0]] = u[1]
                  }
                  return e
                }, An.functions = function(n) {
                  return null == n ? [] : kt(n, Wu(n))
                }, An.functionsIn = function(n) {
                  return null == n ? [] : kt(n, Uu(n))
                }, An.groupBy = Po, An.initial = function(n) {
                  return (null == n ? 0 : n.length) ? hr(n, 0, -1) : []
                }, An.intersection = ko, An.intersectionBy = Eo, An.intersectionWith = So, An.invert = Af, An.invertBy = kf, An.invokeMap = Zo, An.iteratee = Fu, An.keyBy = qo, An.keys = Wu, An.keysIn = Uu, An.map = ru, An.mapKeys = function(n,
                  t) {
                  var r = {};
                  return t = ye(t, 3), mt(n, function(n, e, u) {
                    st(r, t(n, e, u), n)
                  }), r
                }, An.mapValues = function(n, t) {
                  var r = {};
                  return t = ye(t, 3), mt(n, function(n, e, u) {
                    st(r, e, t(n, e, u))
                  }), r
                }, An.matches = function(n) {
                  return Ht(_t(n, 1))
                }, An.matchesProperty = function(n, t) {
                  return Jt(n, _t(t, 1))
                }, An.memoize = cu, An.merge = Sf, An.mergeWith = Of, An.method = qf, An.methodOf = Vf, An.mixin = Nu, An.negate = au, An.nthArg = function(n) {
                  return n = ku(n), fr(function(t) {
                    return Qt(t, n)
                  })
                }, An.omit = If, An.omitBy = function(n, t) {
                  return Bu(n, au(ye(t)))
                }, An.once = function(n) {
                  return uu(2, n)
                }, An.orderBy = function(n, t, r, e) {
                  return null == n ? [] : (ff(t) || (t = null == t ? [] : [t]), r = e ? T : r, ff(r) || (r = null == r ? [] : [r]), Xt(n, t, r))
                }, An.over = Kf, An.overArgs = Xo, An.overEvery = Gf, An.overSome = Hf, An.partial = nf, An.partialRight = tf, An.partition = Vo, An.pick = Rf, An.pickBy = Bu, An.property = Zu, An.propertyOf = function(n) {
                  return function(t) {
                    return null == n ? T : Et(n, t)
                  }
                }, An.pull = Oo, An.pullAll = Ke, An.pullAllBy = function(n, t, r) {
                  return n && n.length && t && t.length ? er(n, t, ye(r, 2)) : n
                }, An.pullAllWith = function(n, t, r) {
                  return n && n.length && t && t.length ? er(n, t, T, r) : n
                }, An.pullAt = Io, An.range = Jf, An.rangeRight = Yf, An.rearg = rf, An.reject = function(n, t) {
                  return (ff(n) ? i : jt)(n, au(ye(t, 3)))
                }, An.remove = function(n, t) {
                  var r = [];
                  if (!n || !n.length) return r;
                  var e = -1,
                    u = [],
                    i = n.length;
                  for (t = ye(t, 3); ++e < i;) {
                    var o = n[e];
                    t(o, e, n) && (r.push(o), u.push(e))
                  }
                  return ur(n, u), r
                }, An.rest = function(n, t) {
                  if (typeof n != "function") throw new ti("Expected a function");
                  return t = t === T ? t : ku(t), fr(n, t)
                }, An.reverse = Ge, An.sampleSize = function(n, t, r) {
                  return t = (r ? Oe(n, t, r) : t === T) ? 1 : ku(t), (ff(n) ? et : ar)(n, t)
                }, An.set = function(n, t, r) {
                  return null == n ? n : lr(n, t, r)
                }, An.setWith = function(n, t, r, e) {
                  return e = typeof e == "function" ? e : T, null == n ? n : lr(n, t, r, e)
                }, An.shuffle = function(n) {
                  return (ff(n) ? ut : sr)(n)
                }, An.slice = function(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  return e ? (r && typeof r != "number" && Oe(n, t, r) ? (t = 0, r = e) : (t = null == t ? 0 : ku(t), r = r === T ? e : ku(r)), hr(n, t, r)) : []
                }, An.sortBy = Ko, An.sortedUniq = function(n) {
                  return n && n.length ? gr(n) : []
                }, An.sortedUniqBy = function(n, t) {
                  return n && n.length ? gr(n, ye(t, 2)) : []
                }, An.split = function(n, t, r) {
                  return r && typeof r != "number" && Oe(n, t, r) && (t = r = T), r = r === T ? 4294967295 : r >>> 0, r ? (n = Iu(n)) && (typeof t == "string" || null != t && !hf(t)) && (t = yr(t), !t && Rn.test(n)) ? Or(M(n), 0, r) : n.split(t,
                    r) : []
                }, An.spread = function(t, r) {
                  if (typeof t != "function") throw new ti("Expected a function");
                  return r = null == r ? 0 : Li(ku(r), 0), fr(function(e) {
                    var u = e[r];
                    return e = Or(e, 0, r), u && a(e, u), n(t, this, e)
                  })
                }, An.tail = function(n) {
                  var t = null == n ? 0 : n.length;
                  return t ? hr(n, 1, t) : []
                }, An.take = function(n, t, r) {
                  return n && n.length ? (t = r || t === T ? 1 : ku(t), hr(n, 0, 0 > t ? 0 : t)) : []
                }, An.takeRight = function(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  return e ? (t = r || t === T ? 1 : ku(t), t = e - t, hr(n, 0 > t ? 0 : t, e)) : []
                }, An.takeRightWhile = function(n, t) {
                  return n && n.length ? jr(n, ye(t, 3), !1, !0) : []
                }, An.takeWhile = function(n, t) {
                  return n && n.length ? jr(n, ye(t, 3)) : []
                }, An.tap = function(n, t) {
                  return t(n), n
                }, An.throttle = function(n, t, r) {
                  var e = !0,
                    u = !0;
                  if (typeof n != "function") throw new ti("Expected a function");
                  return du(r) && (e = "leading" in r ? !!r.leading : e, u = "trailing" in r ? !!r.trailing : u), fu(n, t, {
                    leading: e,
                    maxWait: t,
                    trailing: u
                  })
                }, An.thru = Qe, An.toArray = mu, An.toPairs = zf, An.toPairsIn = Wf, An.toPath = function(n) {
                  return ff(n) ? c(n, Me) : wu(n) ? [n] : Lr(jo(Iu(n)))
                }, An.toPlainObject = Ou, An.transform = function(n, t, e) {
                  var u = ff(n),
                    i = u || af(n) || _f(n);
                  if (t = ye(t, 4), null == e) {
                    var o = n && n.constructor;
                    e = i ? u ? new o : [] : du(n) && _u(o) ? eo(di(n)) : {}
                  }
                  return (i ? r : mt)(n, function(n, r, u) {
                    return t(e, n, r, u)
                  }), e
                }, An.unary = function(n) {
                  return eu(n, 1)
                }, An.union = Ro, An.unionBy = zo, An.unionWith = Wo, An.uniq = function(n) {
                  return n && n.length ? br(n) : []
                }, An.uniqBy = function(n, t) {
                  return n && n.length ? br(n, ye(t, 2)) : []
                }, An.uniqWith = function(n, t) {
                  return t = typeof t == "function" ? t : T, n && n.length ? br(n, T, t) : []
                }, An.unset = function(n, t) {
                  return null == n || xr(n, t)
                }, An.unzip = He, An.unzipWith = Je, An.update = function(n, t, r) {
                  return null != n && (r = Er(r), n = lr(n, t, r(Et(n, t)), void 0)), n
                }, An.updateWith = function(n, t, r, e) {
                  return e = typeof e == "function" ? e : T, null != n && (r = Er(r), n = lr(n, t, r(Et(n, t)), e)), n
                }, An.values = Lu, An.valuesIn = function(n) {
                  return null == n ? [] : S(n, Uu(n))
                }, An.without = Uo, An.words = Mu, An.wrap = function(n, t) {
                  return nf(Er(t), n)
                }, An.xor = Bo, An.xorBy = Lo, An.xorWith = Co, An.zip = Do, An.zipObject = function(n, t) {
                  return Ar(n || [], t || [], ot)
                }, An.zipObjectDeep = function(n, t) {
                  return Ar(n || [], t || [], lr)
                }, An.zipWith = Mo, An.entries = zf, An.entriesIn = Wf, An.extend = yf, An.extendWith = bf, Nu(An, An), An.add = Qf, An.attempt = Ff, An.camelCase = Uf, An.capitalize = Cu, An.ceil = Xf, An.clamp = function(n, t, r) {
                  return r === T && (r = t, t = T), r !== T && (r = Su(r), r = r === r ? r : 0), t !== T && (t = Su(t), t = t === t ? t : 0), pt(Su(n), t, r)
                }, An.clone = function(n) {
                  return _t(n, 4)
                }, An.cloneDeep = function(n) {
                  return _t(n, 5)
                }, An.cloneDeepWith = function(n, t) {
                  return t = typeof t == "function" ? t : T, _t(n, 5, t)
                }, An.cloneWith = function(n, t) {
                  return t = typeof t == "function" ? t : T, _t(n, 4, t)
                }, An.conformsTo = function(n, t) {
                  return null == t || gt(n, t, Wu(t))
                }, An.deburr = Du, An.defaultTo = function(n, t) {
                  return null == n || n !== n ? t : n
                }, An.divide = nc, An.endsWith = function(n, t, r) {
                  n = Iu(n), t = yr(t);
                  var e = n.length,
                    e = r = r === T ? e : pt(ku(r), 0, e);
                  return r -= t.length, 0 <= r && n.slice(r, e) == t
                }, An.eq = lu, An.escape = function(n) {
                  return (n = Iu(n)) && H.test(n) ? n.replace(K, nt) : n
                }, An.escapeRegExp = function(n) {
                  return (n = Iu(n)) && en.test(n) ? n.replace(rn, "\\$&") : n
                }, An.every = function(n, t, r) {
                  var e = ff(n) ? u : bt;
                  return r && Oe(n, t, r) && (t = T), e(n, ye(t, 3))
                }, An.find = Fo, An.findIndex = Ne, An.findKey = function(n, t) {
                  return p(n, ye(t, 3), mt)
                }, An.findLast = No, An.findLastIndex = Pe, An.findLastKey = function(n, t) {
                  return p(n, ye(t, 3), At)
                }, An.floor = tc, An.forEach = nu, An.forEachRight = tu, An.forIn = function(n, t) {
                  return null == n ? n : oo(n, ye(t, 3), Uu)
                }, An.forInRight = function(n, t) {
                  return null == n ? n : fo(n, ye(t, 3), Uu)
                }, An.forOwn = function(n, t) {
                  return n && mt(n, ye(t, 3))
                }, An.forOwnRight = function(n, t) {
                  return n && At(n, ye(t, 3))
                }, An.get = Ru, An.gt = ef, An.gte = uf, An.has = function(n, t) {
                  return null != n && we(n, t, Rt)
                }, An.hasIn = zu, An.head = qe, An.identity = $u, An.includes = function(n, t, r, e) {
                  return n = su(n) ? n : Lu(n), r = r && !e ? ku(r) : 0, e = n.length, 0 > r && (r = Li(e + r, 0)), ju(n) ? r <= e && -1 < n.indexOf(t, r) : !!e && -1 < v(n, t, r)
                }, An.indexOf = function(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  return e ? (r = null == r ? 0 : ku(r), 0 > r && (r = Li(e + r, 0)), v(n, t, r)) : -1
                }, An.inRange = function(n, t, r) {
                  return t = Au(t), r === T ? (r = t, t = 0) : r = Au(r), n = Su(n), n >= Ci(t, r) && n < Li(t, r)
                }, An.invoke = Ef, An.isArguments = of, An.isArray = ff, An.isArrayBuffer = cf, An.isArrayLike = su, An.isArrayLikeObject = hu, An.isBoolean = function(n) {
                  return !0 === n || !1 === n || yu(n) && "[object Boolean]" == Ot(n)
                }, An.isBuffer = af, An.isDate = lf, An.isElement = function(n) {
                  return yu(n) && 1 === n.nodeType && !xu(n)
                }, An.isEmpty = function(n) {
                  if (null == n) return !0;
                  if (su(n) && (ff(n) || typeof n == "string" || typeof n.splice == "function" || af(n) || _f(n) || of(n))) return !n.length;
                  var t = vo(n);
                  if ("[object Map]" == t || "[object Set]" == t) return !n.size;
                  if (ze(n)) return !Vt(n).length;
                  for (var r in n)
                    if (oi.call(n, r)) return !1;
                  return !0
                }, An.isEqual = function(n, t) {
                  return Mt(n, t)
                }, An.isEqualWith = function(n, t, r) {
                  var e = (r = typeof r == "function" ? r : T) ? r(n, t) : T;
                  return e === T ? Mt(n, t, T, r) : !!e
                }, An.isError = pu, An.isFinite = function(n) {
                  return typeof n == "number" && Wi(n)
                }, An.isFunction = _u, An.isInteger = vu, An.isLength = gu, An.isMap = sf, An.isMatch = function(n, t) {
                  return n === t || $t(n, t, xe(t))
                }, An.isMatchWith = function(n, t, r) {
                  return r = typeof r == "function" ? r : T, $t(n, t, xe(t), r)
                }, An.isNaN = function(n) {
                  return bu(n) && n != +n
                }, An.isNative = function(n) {
                  if (go(n)) throw new Hu("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");
                  return Ft(n)
                }, An.isNil = function(n) {
                  return null == n
                }, An.isNull = function(n) {
                  return null === n
                }, An.isNumber = bu, An.isObject = du, An.isObjectLike = yu, An.isPlainObject = xu, An.isRegExp = hf, An.isSafeInteger = function(n) {
                  return vu(n) && -9007199254740991 <= n && 9007199254740991 >= n
                }, An.isSet = pf, An.isString = ju, An.isSymbol = wu, An.isTypedArray = _f, An.isUndefined = function(n) {
                  return n === T
                }, An.isWeakMap = function(n) {
                  return yu(n) && "[object WeakMap]" == vo(n)
                }, An.isWeakSet = function(n) {
                  return yu(n) && "[object WeakSet]" == Ot(n)
                }, An.join = function(n, t) {
                  return null == n ? "" : Ui.call(n, t)
                }, An.kebabCase = Bf, An.last = Ve, An.lastIndexOf = function(n, t, r) {
                  var e = null == n ? 0 : n.length;
                  if (!e) return -1;
                  var u = e;
                  if (r !== T && (u = ku(r), u = 0 > u ? Li(e + u, 0) : Ci(u, e - 1)), t === t) n: {
                    for (r = u + 1; r--;)
                      if (n[r] === t) {
                        n = r;
                        break n
                      } n = r
                  }
                  else n = _(n, d, u, !0);
                  return n
                }, An.lowerCase = Lf, An.lowerFirst = Cf, An.lt = vf, An.lte = gf, An.max = function(n) {
                  return n && n.length ? xt(n, $u, It) : T
                }, An.maxBy = function(n, t) {
                  return n && n.length ? xt(n, ye(t, 2), It) : T
                }, An.mean = function(n) {
                  return y(n, $u)
                }, An.meanBy = function(n, t) {
                  return y(n, ye(t, 2))
                }, An.min = function(n) {
                  return n && n.length ? xt(n, $u, Kt) : T
                }, An.minBy = function(n, t) {
                  return n && n.length ? xt(n, ye(t, 2), Kt) : T
                }, An.stubArray = qu, An.stubFalse = Vu, An.stubObject = function() {
                  return {}
                }, An.stubString = function() {
                  return ""
                }, An.stubTrue = function() {
                  return !0
                }, An.multiply = rc, An.nth = function(n, t) {
                  return n && n.length ? Qt(n, ku(t)) : T
                }, An.noConflict = function() {
                  return $n._ === this && ($n._ = si), this
                }, An.noop = Pu, An.now = Go, An.pad = function(n, t, r) {
                  n = Iu(n);
                  var e = (t = ku(t)) ? D(n) : 0;
                  return !t || e >= t ? n : (t = (t - e) / 2, ne(Ii(t), r) + n + ne(Oi(t), r))
                }, An.padEnd = function(n, t, r) {
                  n = Iu(n);
                  var e = (t = ku(t)) ? D(n) : 0;
                  return t && e < t ? n + ne(t - e, r) : n
                }, An.padStart = function(n, t, r) {
                  n = Iu(n);
                  var e = (t = ku(t)) ? D(n) : 0;
                  return t && e < t ? ne(t - e, r) + n : n
                }, An.parseInt = function(n, t, r) {
                  return r || null == t ? t = 0 : t && (t = +t), Mi(Iu(n).replace(on, ""), t || 0)
                }, An.random = function(n, t, r) {
                  if (r && typeof r != "boolean" && Oe(n, t, r) && (t = r = T), r === T && (typeof t == "boolean" ? (r = t, t = T) : typeof n == "boolean" && (r = n, n = T)), n === T && t === T ? (n = 0, t = 1) : (n = Au(n), t === T ? (t = n, n =
                      0) : t = Au(t)), n > t) {
                    var e = n;
                    n = t, t = e
                  }
                  return r || n % 1 || t % 1 ? (r = Ti(), Ci(n + r * (t - n + Cn("1e-" + ((r + "").length - 1))), t)) : ir(n, t)
                }, An.reduce = function(n, t, r) {
                  var e = ff(n) ? l : j,
                    u = 3 > arguments.length;
                  return e(n, ye(t, 4), r, u, uo)
                }, An.reduceRight = function(n, t, r) {
                  var e = ff(n) ? s : j,
                    u = 3 > arguments.length;
                  return e(n, ye(t, 4), r, u, io)
                }, An.repeat = function(n, t, r) {
                  return t = (r ? Oe(n, t, r) : t === T) ? 1 : ku(t), or(Iu(n), t)
                }, An.replace = function() {
                  var n = arguments,
                    t = Iu(n[0]);
                  return 3 > n.length ? t : t.replace(n[1], n[2])
                }, An.result = function(n, t, r) {
                  t = Sr(t, n);
                  var e = -1,
                    u = t.length;
                  for (u || (u = 1, n = T); ++e < u;) {
                    var i = null == n ? T : n[Me(t[e])];
                    i === T && (e = u, i = r), n = _u(i) ? i.call(n) : i
                  }
                  return n
                }, An.round = ec, An.runInContext = x, An.sample = function(n) {
                  return (ff(n) ? Qn : cr)(n)
                }, An.size = function(n) {
                  if (null == n) return 0;
                  if (su(n)) return ju(n) ? D(n) : n.length;
                  var t = vo(n);
                  return "[object Map]" == t || "[object Set]" == t ? n.size : Vt(n).length
                }, An.snakeCase = Df, An.some = function(n, t, r) {
                  var e = ff(n) ? h : pr;
                  return r && Oe(n, t, r) && (t = T), e(n, ye(t, 3))
                }, An.sortedIndex = function(n, t) {
                  return _r(n, t)
                }, An.sortedIndexBy = function(n, t, r) {
                  return vr(n, t, ye(r, 2))
                }, An.sortedIndexOf = function(n, t) {
                  var r = null == n ? 0 : n.length;
                  if (r) {
                    var e = _r(n, t);
                    if (e < r && lu(n[e], t)) return e
                  }
                  return -1
                }, An.sortedLastIndex = function(n, t) {
                  return _r(n, t, !0)
                }, An.sortedLastIndexBy = function(n, t, r) {
                  return vr(n, t, ye(r, 2), !0)
                }, An.sortedLastIndexOf = function(n, t) {
                  if (null == n ? 0 : n.length) {
                    var r = _r(n, t, !0) - 1;
                    if (lu(n[r], t)) return r
                  }
                  return -1
                }, An.startCase = Mf, An.startsWith = function(n, t, r) {
                  return n = Iu(n), r = null == r ? 0 : pt(ku(r), 0, n.length), t = yr(t), n.slice(r, r + t.length) == t
                }, An.subtract = uc, An.sum = function(n) {
                  return n && n.length ? m(n, $u) : 0
                }, An.sumBy = function(n, t) {
                  return n && n.length ? m(n, ye(t, 2)) : 0
                }, An.template = function(n, t, r) {
                  var e = An.templateSettings;
                  r && Oe(n, t, r) && (t = T), n = Iu(n), t = bf({}, t, e, ce), r = bf({}, t.imports, e.imports, ce);
                  var u, i, o = Wu(r),
                    f = S(r, o),
                    c = 0;
                  r = t.interpolate || jn;
                  var a = "__p+='";
                  r = Xu((t.escape || jn).source + "|" + r.source + "|" + (r === Q ? pn : jn).source + "|" + (t.evaluate || jn).source + "|$", "g");
                  var l = "sourceURL" in t ? "//# sourceURL=" + t.sourceURL + "\n" : "";
                  if (n.replace(r, function(t, r, e, o, f, l) {
                      return e || (e = o), a += n.slice(c, l).replace(wn, z), r && (u = !0, a += "'+__e(" + r + ")+'"), f && (i = !0, a += "';" + f + ";\n__p+='"), e && (a += "'+((__t=(" + e + "))==null?'':__t)+'"), c = l + t.length, t
                    }), a += "';", (t = t.variable) || (a = "with(obj){" + a + "}"), a = (i ? a.replace(P, "") : a).replace(Z, "$1").replace(q, "$1;"), a = "function(" + (t || "obj") + "){" + (t ? "" : "obj||(obj={});") + "var __t,__p=''" + (u ?
                      ",__e=_.escape" : "") + (i ? ",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}" : ";") + a + "return __p}", t = Ff(function() {
                      return Ju(o, l + "return " + a).apply(T, f)
                    }), t.source = a, pu(t)) throw t;
                  return t
                }, An.times = function(n, t) {
                  if (n = ku(n), 1 > n || 9007199254740991 < n) return [];
                  var r = 4294967295,
                    e = Ci(n, 4294967295);
                  for (t = ye(t), n -= 4294967295, e = A(e, t); ++r < n;) t(r);
                  return e
                }, An.toFinite = Au, An.toInteger = ku, An.toLength = Eu, An.toLower = function(n) {
                  return Iu(n).toLowerCase()
                }, An.toNumber = Su, An.toSafeInteger = function(n) {
                  return n ? pt(ku(n), -9007199254740991, 9007199254740991) : 0 === n ? n : 0
                }, An.toString = Iu, An.toUpper = function(n) {
                  return Iu(n).toUpperCase()
                }, An.trim = function(n, t, r) {
                  return (n = Iu(n)) && (r || t === T) ? n.replace(un, "") : n && (t = yr(t)) ? (n = M(n), r = M(t), t = I(n, r), r = R(n, r) + 1, Or(n, t, r).join("")) : n
                }, An.trimEnd = function(n, t, r) {
                  return (n = Iu(n)) && (r || t === T) ? n.replace(fn, "") : n && (t = yr(t)) ? (n = M(n), t = R(n, M(t)) + 1, Or(n, 0, t).join("")) : n
                }, An.trimStart = function(n, t, r) {
                  return (n = Iu(n)) && (r || t === T) ? n.replace(on, "") : n && (t = yr(t)) ? (n = M(n), t = I(n, M(t)), Or(n, t).join("")) : n
                }, An.truncate = function(n, t) {
                  var r = 30,
                    e = "...";
                  if (du(t)) var u = "separator" in t ? t.separator : u,
                    r = "length" in t ? ku(t.length) : r,
                    e = "omission" in t ? yr(t.omission) : e;
                  n = Iu(n);
                  var i = n.length;
                  if (Rn.test(n)) var o = M(n),
                    i = o.length;
                  if (r >= i) return n;
                  if (i = r - D(e), 1 > i) return e;
                  if (r = o ? Or(o, 0, i).join("") : n.slice(0, i), u === T) return r + e;
                  if (o && (i += r.length - i), hf(u)) {
                    if (n.slice(i).search(u)) {
                      var f = r;
                      for (u.global || (u = Xu(u.source, Iu(_n.exec(u)) + "g")), u.lastIndex = 0; o = u.exec(f);) var c = o.index;
                      r = r.slice(0, c === T ? i : c)
                    }
                  } else n.indexOf(yr(u), i) != i && (u = r.lastIndexOf(u), -1 < u && (r = r.slice(0, u)));
                  return r + e
                }, An.unescape = function(n) {
                  return (n = Iu(n)) && G.test(n) ? n.replace(V, tt) : n
                }, An.uniqueId = function(n) {
                  var t = ++fi;
                  return Iu(n) + t
                }, An.upperCase = Tf, An.upperFirst = $f, An.each = nu, An.eachRight = tu, An.first = qe, Nu(An, function() {
                  var n = {};
                  return mt(An, function(t, r) {
                    oi.call(An.prototype, r) || (n[r] = t)
                  }), n
                }(), {
                  chain: !1
                }), An.VERSION = "4.17.11", r("bind bindKey curry curryRight partial partialRight".split(" "), function(n) {
                  An[n].placeholder = An
                }), r(["drop", "take"], function(n, t) {
                  Ln.prototype[n] = function(r) {
                    r = r === T ? 1 : Li(ku(r), 0);
                    var e = this.__filtered__ && !t ? new Ln(this) : this.clone();
                    return e.__filtered__ ? e.__takeCount__ = Ci(r, e.__takeCount__) : e.__views__.push({
                      size: Ci(r, 4294967295),
                      type: n + (0 > e.__dir__ ? "Right" : "")
                    }), e
                  }, Ln.prototype[n + "Right"] = function(t) {
                    return this.reverse()[n](t).reverse()
                  }
                }), r(["filter", "map", "takeWhile"], function(n, t) {
                  var r = t + 1,
                    e = 1 == r || 3 == r;
                  Ln.prototype[n] = function(n) {
                    var t = this.clone();
                    return t.__iteratees__.push({
                      iteratee: ye(n, 3),
                      type: r
                    }), t.__filtered__ = t.__filtered__ || e, t
                  }
                }), r(["head", "last"], function(n, t) {
                  var r = "take" + (t ? "Right" : "");
                  Ln.prototype[n] = function() {
                    return this[r](1).value()[0]
                  }
                }), r(["initial", "tail"], function(n, t) {
                  var r = "drop" + (t ? "" : "Right");
                  Ln.prototype[n] = function() {
                    return this.__filtered__ ? new Ln(this) : this[r](1)
                  }
                }), Ln.prototype.compact = function() {
                  return this.filter($u)
                }, Ln.prototype.find = function(n) {
                  return this.filter(n).head()
                }, Ln.prototype.findLast = function(n) {
                  return this.reverse().find(n)
                }, Ln.prototype.invokeMap = fr(function(n, t) {
                  return typeof n == "function" ? new Ln(this) : this.map(function(r) {
                    return Bt(r, n, t)
                  })
                }), Ln.prototype.reject = function(n) {
                  return this.filter(au(ye(n)))
                }, Ln.prototype.slice = function(n, t) {
                  n = ku(n);
                  var r = this;
                  return r.__filtered__ && (0 < n || 0 > t) ? new Ln(r) : (0 > n ? r = r.takeRight(-n) : n && (r = r.drop(n)), t !== T && (t = ku(t), r = 0 > t ? r.dropRight(-t) : r.take(t - n)), r)
                }, Ln.prototype.takeRightWhile = function(n) {
                  return this.reverse().takeWhile(n).reverse()
                }, Ln.prototype.toArray = function() {
                  return this.take(4294967295)
                }, mt(Ln.prototype, function(n, t) {
                  var r = /^(?:filter|find|map|reject)|While$/.test(t),
                    e = /^(?:head|last)$/.test(t),
                    u = An[e ? "take" + ("last" == t ? "Right" : "") : t],
                    i = e || /^find/.test(t);
                  u && (An.prototype[t] = function() {
                    var t = this.__wrapped__,
                      o = e ? [1] : arguments,
                      f = t instanceof Ln,
                      c = o[0],
                      l = f || ff(t),
                      s = function(n) {
                        return n = u.apply(An, a([n], o)), e && h ? n[0] : n
                      };
                    l && r && typeof c == "function" && 1 != c.length && (f = l = !1);
                    var h = this.__chain__,
                      p = !!this.__actions__.length,
                      c = i && !h,
                      f = f && !p;
                    return !i && l ? (t = f ? t : new Ln(this), t = n.apply(t, o), t.__actions__.push({
                      func: Qe,
                      args: [s],
                      thisArg: T
                    }), new On(t, h)) : c && f ? n.apply(this, o) : (t = this.thru(s), c ? e ? t.value()[0] : t.value() : t)
                  })
                }), r("pop push shift sort splice unshift".split(" "), function(n) {
                  var t = ri[n],
                    r = /^(?:push|sort|unshift)$/.test(n) ? "tap" : "thru",
                    e = /^(?:pop|shift)$/.test(n);
                  An.prototype[n] = function() {
                    var n = arguments;
                    if (e && !this.__chain__) {
                      var u = this.value();
                      return t.apply(ff(u) ? u : [], n)
                    }
                    return this[r](function(r) {
                      return t.apply(ff(r) ? r : [], n)
                    })
                  }
                }), mt(Ln.prototype, function(n, t) {
                  var r = An[t];
                  if (r) {
                    var e = r.name + "";
                    (Gi[e] || (Gi[e] = [])).push({
                      name: t,
                      func: r
                    })
                  }
                }), Gi[Jr(T, 2).name] = [{
                  name: "wrapper",
                  func: T
                }], Ln.prototype.clone = function() {
                  var n = new Ln(this.__wrapped__);
                  return n.__actions__ = Lr(this.__actions__), n.__dir__ = this.__dir__, n.__filtered__ = this.__filtered__, n.__iteratees__ = Lr(this.__iteratees__), n.__takeCount__ = this.__takeCount__, n.__views__ = Lr(this.__views__), n
                }, Ln.prototype.reverse = function() {
                  if (this.__filtered__) {
                    var n = new Ln(this);
                    n.__dir__ = -1, n.__filtered__ = !0
                  } else n = this.clone(), n.__dir__ *= -1;
                  return n
                }, Ln.prototype.value = function() {
                  var n, t = this.__wrapped__.value(),
                    r = this.__dir__,
                    e = ff(t),
                    u = 0 > r,
                    i = e ? t.length : 0;
                  n = 0;
                  for (var o = i, f = this.__views__, c = -1, a = f.length; ++c < a;) {
                    var l = f[c],
                      s = l.size;
                    switch (l.type) {
                      case "drop":
                        n += s;
                        break;
                      case "dropRight":
                        o -= s;
                        break;
                      case "take":
                        o = Ci(o, n + s);
                        break;
                      case "takeRight":
                        n = Li(n, o - s)
                    }
                  }
                  if (n = {
                      start: n,
                      end: o
                    }, o = n.start, f = n.end, n = f - o, o = u ? f : o - 1, f = this.__iteratees__, c = f.length, a = 0, l = Ci(n, this.__takeCount__), !e || !u && i == n && l == n) return wr(t, this.__actions__);
                  e = [];
                  n: for (; n-- && a < l;) {
                    for (o += r, u = -1, i = t[o]; ++u < c;) {
                      var h = f[u],
                        s = h.type,
                        h = (0, h.iteratee)(i);
                      if (2 == s) i = h;
                      else if (!h) {
                        if (1 == s) continue n;
                        break n
                      }
                    }
                    e[a++] = i
                  }
                  return e
                }, An.prototype.at = To, An.prototype.chain = function() {
                  return Ye(this)
                }, An.prototype.commit = function() {
                  return new On(this.value(), this.__chain__)
                }, An.prototype.next = function() {
                  this.__values__ === T && (this.__values__ = mu(this.value()));
                  var n = this.__index__ >= this.__values__.length;
                  return {
                    done: n,
                    value: n ? T : this.__values__[this.__index__++]
                  }
                }, An.prototype.plant = function(n) {
                  for (var t, r = this; r instanceof kn;) {
                    var e = Fe(r);
                    e.__index__ = 0, e.__values__ = T, t ? u.__wrapped__ = e : t = e;
                    var u = e,
                      r = r.__wrapped__
                  }
                  return u.__wrapped__ = n, t
                }, An.prototype.reverse = function() {
                  var n = this.__wrapped__;
                  return n instanceof Ln ? (this.__actions__.length && (n = new Ln(this)), n = n.reverse(), n.__actions__.push({
                    func: Qe,
                    args: [Ge],
                    thisArg: T
                  }), new On(n, this.__chain__)) : this.thru(Ge)
                }, An.prototype.toJSON = An.prototype.valueOf = An.prototype.value = function() {
                  return wr(this.__wrapped__, this.__actions__)
                }, An.prototype.first = An.prototype.head, wi && (An.prototype[wi] = Xe), An
              }();
            typeof define == "function" && typeof define.amd == "object" && define.amd ? ($n._ = rt, define(function() {
              return rt
            })) : Nn ? ((Nn.exports = rt)._ = rt, Fn._ = rt) : $n._ = rt
          }).call(this);
          /*!
           * VERSION: 2.1.2
           * DATE: 2019-03-01
           * UPDATES AND DOCS AT: http://greensock.com
           * 
           * Includes all of the following: TweenLite, TweenMax, TimelineLite, TimelineMax, EasePack, CSSPlugin, RoundPropsPlugin, BezierPlugin, AttrPlugin, DirectionalRotationPlugin
           *
           * @license Copyright (c) 2008-2019, GreenSock. All rights reserved.
           * This work is subject to the terms at http://greensock.com/standard-license or for
           * Club GreenSock members, the software agreement that was issued with your membership.
           * 
           * @author: Jack Doyle, jack@greensock.com
           **/
          var _gsScope = "undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window;
          (_gsScope._gsQueue || (_gsScope._gsQueue = [])).push(function() {
              "use strict";
              _gsScope._gsDefine("TweenMax", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(a, b, c) {
                  var d = function(a) {
                      var b, c = [],
                        d = a.length;
                      for (b = 0; b !== d; c.push(a[b++]));
                      return c
                    },
                    e = function(a, b, c) {
                      var d, e, f = a.cycle;
                      for (d in f) e = f[d], a[d] = "function" == typeof e ? e(c, b[c], b) : e[c % e.length];
                      delete a.cycle
                    },
                    f = function(a) {
                      if ("function" == typeof a) return a;
                      var b = "object" == typeof a ? a : {
                          each: a
                        },
                        c = b.ease,
                        d = b.from || 0,
                        e = b.base || 0,
                        f = {},
                        g = isNaN(d),
                        h = b.axis,
                        i = {
                          center: .5,
                          end: 1
                        } [d] || 0;
                      return function(a, j, k) {
                        var l, m, n, o, p, q, r, s, t, u = (k || b).length,
                          v = f[u];
                        if (!v) {
                          if (t = "auto" === b.grid ? 0 : (b.grid || [1 / 0])[0], !t) {
                            for (r = -(1 / 0); r < (r = k[t++].getBoundingClientRect().left) && u > t;);
                            t--
                          }
                          for (v = f[u] = [], l = g ? Math.min(t, u) * i - .5 : d % t, m = g ? u * i / t - .5 : d / t | 0, r = 0, s = 1 / 0, q = 0; u > q; q++) n = q % t - l, o = m - (q / t | 0), v[q] = p = h ? Math.abs("y" === h ? o : n) :
                            Math.sqrt(n * n + o * o), p > r && (r = p), s > p && (s = p);
                          v.max = r - s, v.min = s, v.v = u = b.amount || b.each * (t > u ? u : h ? "y" === h ? u / t : t : Math.max(t, u / t)) || 0, v.b = 0 > u ? e - u : e
                        }
                        return u = (v[a] - v.min) / v.max, v.b + (c ? c.getRatio(u) : u) * v.v
                      }
                    },
                    g = function(a, b, d) {
                      c.call(this, a, b, d), this._cycle = 0, this._yoyo = this.vars.yoyo === !0 || !!this.vars.yoyoEase, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._repeat && this._uncache(!0),
                        this.render = g.prototype.render
                    },
                    h = 1e-8,
                    i = c._internals,
                    j = i.isSelector,
                    k = i.isArray,
                    l = g.prototype = c.to({}, .1, {}),
                    m = [];
                  g.version = "2.1.2", l.constructor = g, l.kill()._gc = !1, g.killTweensOf = g.killDelayedCallsTo = c.killTweensOf, g.getTweensOf = c.getTweensOf, g.lagSmoothing = c.lagSmoothing, g.ticker = c.ticker, g.render = c.render, g
                    .distribute = f, l.invalidate = function() {
                      return this._yoyo = this.vars.yoyo === !0 || !!this.vars.yoyoEase, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._yoyoEase = null, this._uncache(!0), c.prototype.invalidate.call(
                        this)
                    }, l.updateTo = function(a, b) {
                      var d, e = this,
                        f = e.ratio,
                        g = e.vars.immediateRender || a.immediateRender;
                      b && e._startTime < e._timeline._time && (e._startTime = e._timeline._time, e._uncache(!1), e._gc ? e._enabled(!0, !1) : e._timeline.insert(e, e._startTime - e._delay));
                      for (d in a) e.vars[d] = a[d];
                      if (e._initted || g)
                        if (b) e._initted = !1, g && e.render(0, !0, !0);
                        else if (e._gc && e._enabled(!0, !1), e._notifyPluginsOfEnabled && e._firstPT && c._onPluginEvent("_onDisable", e), e._time / e._duration > .998) {
                        var h = e._totalTime;
                        e.render(0, !0, !1), e._initted = !1, e.render(h, !0, !1)
                      } else if (e._initted = !1, e._init(), e._time > 0 || g)
                        for (var i, j = 1 / (1 - f), k = e._firstPT; k;) i = k.s + k.c, k.c *= j, k.s = i - k.c, k = k._next;
                      return e
                    }, l.render = function(a, b, d) {
                      this._initted || 0 === this._duration && this.vars.repeat && this.invalidate();
                      var e, f, g, j, k, l, m, n, o, p = this,
                        q = p._dirty ? p.totalDuration() : p._totalDuration,
                        r = p._time,
                        s = p._totalTime,
                        t = p._cycle,
                        u = p._duration,
                        v = p._rawPrevTime;
                      if (a >= q - h && a >= 0 ? (p._totalTime = q, p._cycle = p._repeat, p._yoyo && 0 !== (1 & p._cycle) ? (p._time = 0, p.ratio = p._ease._calcEnd ? p._ease.getRatio(0) : 0) : (p._time = u, p.ratio = p._ease._calcEnd ? p._ease
                          .getRatio(1) : 1), p._reversed || (e = !0, f = "onComplete", d = d || p._timeline.autoRemoveChildren), 0 === u && (p._initted || !p.vars.lazy || d) && (p._startTime === p._timeline._duration && (a = 0), (0 > v || 0 >=
                          a && a >= -h || v === h && "isPause" !== p.data) && v !== a && (d = !0, v > h && (f = "onReverseComplete")), p._rawPrevTime = n = !b || a || v === a ? a : h)) : h > a ? (p._totalTime = p._time = p._cycle = 0, p.ratio = p
                          ._ease._calcEnd ? p._ease.getRatio(0) : 0, (0 !== s || 0 === u && v > 0) && (f = "onReverseComplete", e = p._reversed), a > -h ? a = 0 : 0 > a && (p._active = !1, 0 === u && (p._initted || !p.vars.lazy || d) && (v >=
                            0 && (d = !0), p._rawPrevTime = n = !b || a || v === a ? a : h)), p._initted || (d = !0)) : (p._totalTime = p._time = a, 0 !== p._repeat && (j = u + p._repeatDelay, p._cycle = p._totalTime / j >> 0, 0 !== p._cycle && p
                          ._cycle === p._totalTime / j && a >= s && p._cycle--, p._time = p._totalTime - p._cycle * j, p._yoyo && 0 !== (1 & p._cycle) && (p._time = u - p._time, o = p._yoyoEase || p.vars.yoyoEase, o && (p._yoyoEase || (o !== !
                            0 || p._initted ? p._yoyoEase = o = o === !0 ? p._ease : o instanceof Ease ? o : Ease.map[o] : (o = p.vars.ease, p._yoyoEase = o = o ? o instanceof Ease ? o : "function" == typeof o ? new Ease(o, p.vars
                              .easeParams) : Ease.map[o] || c.defaultEase : c.defaultEase)), p.ratio = o ? 1 - o.getRatio((u - p._time) / u) : 0)), p._time > u ? p._time = u : p._time < 0 && (p._time = 0)), p._easeType && !o ? (k = p._time / u,
                          l = p._easeType, m = p._easePower, (1 === l || 3 === l && k >= .5) && (k = 1 - k), 3 === l && (k *= 2), 1 === m ? k *= k : 2 === m ? k *= k * k : 3 === m ? k *= k * k * k : 4 === m && (k *= k * k * k * k), p.ratio =
                          1 === l ? 1 - k : 2 === l ? k : p._time / u < .5 ? k / 2 : 1 - k / 2) : o || (p.ratio = p._ease.getRatio(p._time / u))), r === p._time && !d && t === p._cycle) return void(s !== p._totalTime && p._onUpdate && (b || p
                        ._callback("onUpdate")));
                      if (!p._initted) {
                        if (p._init(), !p._initted || p._gc) return;
                        if (!d && p._firstPT && (p.vars.lazy !== !1 && p._duration || p.vars.lazy && !p._duration)) return p._time = r, p._totalTime = s, p._rawPrevTime = v, p._cycle = t, i.lazyTweens.push(p), void(p._lazy = [a, b]);
                        !p._time || e || o ? e && this._ease._calcEnd && !o && (p.ratio = p._ease.getRatio(0 === p._time ? 0 : 1)) : p.ratio = p._ease.getRatio(p._time / u)
                      }
                      for (p._lazy !== !1 && (p._lazy = !1), p._active || !p._paused && p._time !== r && a >= 0 && (p._active = !0), 0 === s && (2 === p._initted && a > 0 && p._init(), p._startAt && (a >= 0 ? p._startAt.render(a, !0, d) : f || (
                          f = "_dummyGS")), p.vars.onStart && (0 !== p._totalTime || 0 === u) && (b || p._callback("onStart"))), g = p._firstPT; g;) g.f ? g.t[g.p](g.c * p.ratio + g.s) : g.t[g.p] = g.c * p.ratio + g.s, g = g._next;
                      p._onUpdate && (0 > a && p._startAt && p._startTime && p._startAt.render(a, !0, d), b || (p._totalTime !== s || f) && p._callback("onUpdate")), p._cycle !== t && (b || p._gc || p.vars.onRepeat && p._callback("onRepeat")),
                        f && (!p._gc || d) && (0 > a && p._startAt && !p._onUpdate && p._startTime && p._startAt.render(a, !0, d), e && (p._timeline.autoRemoveChildren && p._enabled(!1, !1), p._active = !1), !b && p.vars[f] && p._callback(f),
                          0 === u && p._rawPrevTime === h && n !== h && (p._rawPrevTime = 0))
                    }, g.to = function(a, b, c) {
                      return new g(a, b, c)
                    }, g.from = function(a, b, c) {
                      return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, new g(a, b, c)
                    }, g.fromTo = function(a, b, c, d) {
                      return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, new g(a, b, d)
                    }, g.staggerTo = g.allTo = function(a, b, h, i, l, n, o) {
                      var p, q, r, s, t = [],
                        u = f(h.stagger || i),
                        v = h.cycle,
                        w = (h.startAt || m).cycle;
                      for (k(a) || ("string" == typeof a && (a = c.selector(a) || a), j(a) && (a = d(a))), a = a || [], p = a.length - 1, r = 0; p >= r; r++) {
                        q = {};
                        for (s in h) q[s] = h[s];
                        if (v && (e(q, a, r), null != q.duration && (b = q.duration, delete q.duration)), w) {
                          w = q.startAt = {};
                          for (s in h.startAt) w[s] = h.startAt[s];
                          e(q.startAt, a, r)
                        }
                        q.delay = u(r, a[r], a) + (q.delay || 0), r === p && l && (q.onComplete = function() {
                          h.onComplete && h.onComplete.apply(h.onCompleteScope || this, arguments), l.apply(o || h.callbackScope || this, n || m)
                        }), t[r] = new g(a[r], b, q)
                      }
                      return t
                    }, g.staggerFrom = g.allFrom = function(a, b, c, d, e, f, h) {
                      return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, g.staggerTo(a, b, c, d, e, f, h)
                    }, g.staggerFromTo = g.allFromTo = function(a, b, c, d, e, f, h, i) {
                      return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, g.staggerTo(a, b, d, e, f, h, i)
                    }, g.delayedCall = function(a, b, c, d, e) {
                      return new g(b, 0, {
                        delay: a,
                        onComplete: b,
                        onCompleteParams: c,
                        callbackScope: d,
                        onReverseComplete: b,
                        onReverseCompleteParams: c,
                        immediateRender: !1,
                        useFrames: e,
                        overwrite: 0
                      })
                    }, g.set = function(a, b) {
                      return new g(a, 0, b)
                    }, g.isTweening = function(a) {
                      return c.getTweensOf(a, !0).length > 0
                    };
                  var n = function(a, b) {
                      for (var d = [], e = 0, f = a._first; f;) f instanceof c ? d[e++] = f : (b && (d[e++] = f), d = d.concat(n(f, b)), e = d.length), f = f._next;
                      return d
                    },
                    o = g.getAllTweens = function(b) {
                      return n(a._rootTimeline, b).concat(n(a._rootFramesTimeline, b))
                    };
                  g.killAll = function(a, c, d, e) {
                    null == c && (c = !0), null == d && (d = !0);
                    var f, g, h, i = o(0 != e),
                      j = i.length,
                      k = c && d && e;
                    for (h = 0; j > h; h++) g = i[h], (k || g instanceof b || (f = g.target === g.vars.onComplete) && d || c && !f) && (a ? g.totalTime(g._reversed ? 0 : g.totalDuration()) : g._enabled(!1, !1))
                  }, g.killChildTweensOf = function(a, b) {
                    if (null != a) {
                      var e, f, h, l, m, n = i.tweenLookup;
                      if ("string" == typeof a && (a = c.selector(a) || a), j(a) && (a = d(a)), k(a))
                        for (l = a.length; --l > -1;) g.killChildTweensOf(a[l], b);
                      else {
                        e = [];
                        for (h in n)
                          for (f = n[h].target.parentNode; f;) f === a && (e = e.concat(n[h].tweens)), f = f.parentNode;
                        for (m = e.length, l = 0; m > l; l++) b && e[l].totalTime(e[l].totalDuration()), e[l]._enabled(!1, !1)
                      }
                    }
                  };
                  var p = function(a, c, d, e) {
                    c = c !== !1, d = d !== !1, e = e !== !1;
                    for (var f, g, h = o(e), i = c && d && e, j = h.length; --j > -1;) g = h[j], (i || g instanceof b || (f = g.target === g.vars.onComplete) && d || c && !f) && g.paused(a)
                  };
                  return g.pauseAll = function(a, b, c) {
                    p(!0, a, b, c)
                  }, g.resumeAll = function(a, b, c) {
                    p(!1, a, b, c)
                  }, g.globalTimeScale = function(b) {
                    var d = a._rootTimeline,
                      e = c.ticker.time;
                    return arguments.length ? (b = b || h, d._startTime = e - (e - d._startTime) * d._timeScale / b, d = a._rootFramesTimeline, e = c.ticker.frame, d._startTime = e - (e - d._startTime) * d._timeScale / b, d._timeScale = a
                      ._rootTimeline._timeScale = b, b) : d._timeScale
                  }, l.progress = function(a, b) {
                    return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - a : a) + this._cycle * (this._duration + this._repeatDelay), b) : this._time / this.duration()
                  }, l.totalProgress = function(a, b) {
                    return arguments.length ? this.totalTime(this.totalDuration() * a, b) : this._totalTime / this.totalDuration()
                  }, l.time = function(a, b) {
                    if (!arguments.length) return this._time;
                    this._dirty && this.totalDuration();
                    var c = this._duration,
                      d = this._cycle,
                      e = d * (c + this._repeatDelay);
                    return a > c && (a = c), this.totalTime(this._yoyo && 1 & d ? c - a + e : this._repeat ? a + e : a, b)
                  }, l.duration = function(b) {
                    return arguments.length ? a.prototype.duration.call(this, b) : this._duration
                  }, l.totalDuration = function(a) {
                    return arguments.length ? -1 === this._repeat ? this : this.duration((a - this._repeat * this._repeatDelay) / (this._repeat + 1)) : (this._dirty && (this._totalDuration = -1 === this._repeat ? 999999999999 : this._duration *
                      (this._repeat + 1) + this._repeatDelay * this._repeat, this._dirty = !1), this._totalDuration)
                  }, l.repeat = function(a) {
                    return arguments.length ? (this._repeat = a, this._uncache(!0)) : this._repeat
                  }, l.repeatDelay = function(a) {
                    return arguments.length ? (this._repeatDelay = a, this._uncache(!0)) : this._repeatDelay
                  }, l.yoyo = function(a) {
                    return arguments.length ? (this._yoyo = a, this) : this._yoyo
                  }, g
                }, !0), _gsScope._gsDefine("TimelineLite", ["core.Animation", "core.SimpleTimeline", "TweenLite"], function(a, b, c) {
                  var d = function(a) {
                      b.call(this, a);
                      var c, d, e = this,
                        f = e.vars;
                      e._labels = {}, e.autoRemoveChildren = !!f.autoRemoveChildren, e.smoothChildTiming = !!f.smoothChildTiming, e._sortChildren = !0, e._onUpdate = f.onUpdate;
                      for (d in f) c = f[d], i(c) && -1 !== c.join("").indexOf("{self}") && (f[d] = e._swapSelfInParams(c));
                      i(f.tweens) && e.add(f.tweens, 0, f.align, f.stagger)
                    },
                    e = 1e-8,
                    f = c._internals,
                    g = d._internals = {},
                    h = f.isSelector,
                    i = f.isArray,
                    j = f.lazyTweens,
                    k = f.lazyRender,
                    l = _gsScope._gsDefine.globals,
                    m = function(a) {
                      var b, c = {};
                      for (b in a) c[b] = a[b];
                      return c
                    },
                    n = function(a, b, c) {
                      var d, e, f = a.cycle;
                      for (d in f) e = f[d], a[d] = "function" == typeof e ? e(c, b[c], b) : e[c % e.length];
                      delete a.cycle
                    },
                    o = g.pauseCallback = function() {},
                    p = function(a) {
                      var b, c = [],
                        d = a.length;
                      for (b = 0; b !== d; c.push(a[b++]));
                      return c
                    },
                    q = function(a, b, c, d) {
                      var e = "immediateRender";
                      return e in b || (b[e] = !(c && c[e] === !1 || d)), b
                    },
                    r = function(a) {
                      if ("function" == typeof a) return a;
                      var b = "object" == typeof a ? a : {
                          each: a
                        },
                        c = b.ease,
                        d = b.from || 0,
                        e = b.base || 0,
                        f = {},
                        g = isNaN(d),
                        h = b.axis,
                        i = {
                          center: .5,
                          end: 1
                        } [d] || 0;
                      return function(a, j, k) {
                        var l, m, n, o, p, q, r, s, t, u = (k || b).length,
                          v = f[u];
                        if (!v) {
                          if (t = "auto" === b.grid ? 0 : (b.grid || [1 / 0])[0], !t) {
                            for (r = -(1 / 0); r < (r = k[t++].getBoundingClientRect().left) && u > t;);
                            t--
                          }
                          for (v = f[u] = [], l = g ? Math.min(t, u) * i - .5 : d % t, m = g ? u * i / t - .5 : d / t | 0, r = 0, s = 1 / 0, q = 0; u > q; q++) n = q % t - l, o = m - (q / t | 0), v[q] = p = h ? Math.abs("y" === h ? o : n) :
                            Math.sqrt(n * n + o * o), p > r && (r = p), s > p && (s = p);
                          v.max = r - s, v.min = s, v.v = u = b.amount || b.each * (t > u ? u : h ? "y" === h ? u / t : t : Math.max(t, u / t)) || 0, v.b = 0 > u ? e - u : e
                        }
                        return u = (v[a] - v.min) / v.max, v.b + (c ? c.getRatio(u) : u) * v.v
                      }
                    },
                    s = d.prototype = new b;
                  return d.version = "2.1.2", d.distribute = r, s.constructor = d, s.kill()._gc = s._forcingPlayhead = s._hasPause = !1, s.to = function(a, b, d, e) {
                    var f = d.repeat && l.TweenMax || c;
                    return b ? this.add(new f(a, b, d), e) : this.set(a, d, e)
                  }, s.from = function(a, b, d, e) {
                    return this.add((d.repeat && l.TweenMax || c).from(a, b, q(this, d)), e)
                  }, s.fromTo = function(a, b, d, e, f) {
                    var g = e.repeat && l.TweenMax || c;
                    return e = q(this, e, d), b ? this.add(g.fromTo(a, b, d, e), f) : this.set(a, e, f)
                  }, s.staggerTo = function(a, b, e, f, g, i, j, k) {
                    var l, o, q = new d({
                        onComplete: i,
                        onCompleteParams: j,
                        callbackScope: k,
                        smoothChildTiming: this.smoothChildTiming
                      }),
                      s = r(e.stagger || f),
                      t = e.startAt,
                      u = e.cycle;
                    for ("string" == typeof a && (a = c.selector(a) || a), a = a || [], h(a) && (a = p(a)), o = 0; o < a.length; o++) l = m(e), t && (l.startAt = m(t), t.cycle && n(l.startAt, a, o)), u && (n(l, a, o), null != l.duration && (b =
                      l.duration, delete l.duration)), q.to(a[o], b, l, s(o, a[o], a));
                    return this.add(q, g)
                  }, s.staggerFrom = function(a, b, c, d, e, f, g, h) {
                    return c.runBackwards = !0, this.staggerTo(a, b, q(this, c), d, e, f, g, h)
                  }, s.staggerFromTo = function(a, b, c, d, e, f, g, h, i) {
                    return d.startAt = c, this.staggerTo(a, b, q(this, d, c), e, f, g, h, i)
                  }, s.call = function(a, b, d, e) {
                    return this.add(c.delayedCall(0, a, b, d), e)
                  }, s.set = function(a, b, d) {
                    return this.add(new c(a, 0, q(this, b, null, !0)), d)
                  }, d.exportRoot = function(a, b) {
                    a = a || {}, null == a.smoothChildTiming && (a.smoothChildTiming = !0);
                    var e, f, g, h, i = new d(a),
                      j = i._timeline;
                    for (null == b && (b = !0), j._remove(i, !0), i._startTime = 0, i._rawPrevTime = i._time = i._totalTime = j._time, g = j._first; g;) h = g._next, b && g instanceof c && g.target === g.vars.onComplete || (f = g._startTime - g
                      ._delay, 0 > f && (e = 1), i.add(g, f)), g = h;
                    return j.add(i, 0), e && i.totalDuration(), i
                  }, s.add = function(e, f, g, h) {
                    var j, k, l, m, n, o, p = this;
                    if ("number" != typeof f && (f = p._parseTimeOrLabel(f, 0, !0, e)), !(e instanceof a)) {
                      if (e instanceof Array || e && e.push && i(e)) {
                        for (g = g || "normal", h = h || 0, j = f, k = e.length, l = 0; k > l; l++) i(m = e[l]) && (m = new d({
                          tweens: m
                        })), p.add(m, j), "string" != typeof m && "function" != typeof m && ("sequence" === g ? j = m._startTime + m.totalDuration() / m._timeScale : "start" === g && (m._startTime -= m.delay())), j += h;
                        return p._uncache(!0)
                      }
                      if ("string" == typeof e) return p.addLabel(e, f);
                      if ("function" != typeof e) throw "Cannot add " + e + " into the timeline; it is not a tween, timeline, function, or string.";
                      e = c.delayedCall(0, e)
                    }
                    if (b.prototype.add.call(p, e, f), (e._time || !e._duration && e._initted) && (j = (p.rawTime() - e._startTime) * e._timeScale, (!e._duration || Math.abs(Math.max(0, Math.min(e.totalDuration(), j))) - e._totalTime > 1e-5) &&
                        e.render(j, !1, !1)), (p._gc || p._time === p._duration) && !p._paused && p._duration < p.duration())
                      for (n = p, o = n.rawTime() > e._startTime; n._timeline;) o && n._timeline.smoothChildTiming ? n.totalTime(n._totalTime, !0) : n._gc && n._enabled(!0, !1), n = n._timeline;
                    return p
                  }, s.remove = function(b) {
                    if (b instanceof a) {
                      this._remove(b, !1);
                      var c = b._timeline = b.vars.useFrames ? a._rootFramesTimeline : a._rootTimeline;
                      return b._startTime = (b._paused ? b._pauseTime : c._time) - (b._reversed ? b.totalDuration() - b._totalTime : b._totalTime) / b._timeScale, this
                    }
                    if (b instanceof Array || b && b.push && i(b)) {
                      for (var d = b.length; --d > -1;) this.remove(b[d]);
                      return this
                    }
                    return "string" == typeof b ? this.removeLabel(b) : this.kill(null, b)
                  }, s._remove = function(a, c) {
                    b.prototype._remove.call(this, a, c);
                    var d = this._last;
                    return d ? this._time > this.duration() && (this._time = this._duration, this._totalTime = this._totalDuration) : this._time = this._totalTime = this._duration = this._totalDuration = 0, this
                  }, s.append = function(a, b) {
                    return this.add(a, this._parseTimeOrLabel(null, b, !0, a))
                  }, s.insert = s.insertMultiple = function(a, b, c, d) {
                    return this.add(a, b || 0, c, d)
                  }, s.appendMultiple = function(a, b, c, d) {
                    return this.add(a, this._parseTimeOrLabel(null, b, !0, a), c, d)
                  }, s.addLabel = function(a, b) {
                    return this._labels[a] = this._parseTimeOrLabel(b), this
                  }, s.addPause = function(a, b, d, e) {
                    var f = c.delayedCall(0, o, d, e || this);
                    return f.vars.onComplete = f.vars.onReverseComplete = b, f.data = "isPause", this._hasPause = !0, this.add(f, a)
                  }, s.removeLabel = function(a) {
                    return delete this._labels[a], this
                  }, s.getLabelTime = function(a) {
                    return null != this._labels[a] ? this._labels[a] : -1
                  }, s._parseTimeOrLabel = function(b, c, d, e) {
                    var f, g;
                    if (e instanceof a && e.timeline === this) this.remove(e);
                    else if (e && (e instanceof Array || e.push && i(e)))
                      for (g = e.length; --g > -1;) e[g] instanceof a && e[g].timeline === this && this.remove(e[g]);
                    if (f = "number" != typeof b || c ? this.duration() > 99999999999 ? this.recent().endTime(!1) : this._duration : 0, "string" == typeof c) return this._parseTimeOrLabel(c, d && "number" == typeof b && null == this._labels[
                      c] ? b - f : 0, d);
                    if (c = c || 0, "string" != typeof b || !isNaN(b) && null == this._labels[b]) null == b && (b = f);
                    else {
                      if (g = b.indexOf("="), -1 === g) return null == this._labels[b] ? d ? this._labels[b] = f + c : c : this._labels[b] + c;
                      c = parseInt(b.charAt(g - 1) + "1", 10) * Number(b.substr(g + 1)), b = g > 1 ? this._parseTimeOrLabel(b.substr(0, g - 1), 0, d) : f
                    }
                    return Number(b) + c
                  }, s.seek = function(a, b) {
                    return this.totalTime("number" == typeof a ? a : this._parseTimeOrLabel(a), b !== !1)
                  }, s.stop = function() {
                    return this.paused(!0)
                  }, s.gotoAndPlay = function(a, b) {
                    return this.play(a, b)
                  }, s.gotoAndStop = function(a, b) {
                    return this.pause(a, b)
                  }, s.render = function(a, b, c) {
                    this._gc && this._enabled(!0, !1);
                    var d, f, g, h, i, l, m, n, o = this,
                      p = o._time,
                      q = o._dirty ? o.totalDuration() : o._totalDuration,
                      r = o._startTime,
                      s = o._timeScale,
                      t = o._paused;
                    if (p !== o._time && (a += o._time - p), a >= q - e && a >= 0) o._totalTime = o._time = q, o._reversed || o._hasPausedChild() || (f = !0, h = "onComplete", i = !!o._timeline.autoRemoveChildren, 0 === o._duration && (0 >=
                        a && a >= -e || o._rawPrevTime < 0 || o._rawPrevTime === e) && o._rawPrevTime !== a && o._first && (i = !0, o._rawPrevTime > e && (h = "onReverseComplete"))), o._rawPrevTime = o._duration || !b || a || o._rawPrevTime ===
                      a ? a : e, a = q + 1e-4;
                    else if (e > a)
                      if (o._totalTime = o._time = 0, a > -e && (a = 0), (0 !== p || 0 === o._duration && o._rawPrevTime !== e && (o._rawPrevTime > 0 || 0 > a && o._rawPrevTime >= 0)) && (h = "onReverseComplete", f = o._reversed), 0 > a) o
                        ._active = !1, o._timeline.autoRemoveChildren && o._reversed ? (i = f = !0, h = "onReverseComplete") : o._rawPrevTime >= 0 && o._first && (i = !0), o._rawPrevTime = a;
                      else {
                        if (o._rawPrevTime = o._duration || !b || a || o._rawPrevTime === a ? a : e, 0 === a && f)
                          for (d = o._first; d && 0 === d._startTime;) d._duration || (f = !1), d = d._next;
                        a = 0, o._initted || (i = !0)
                      }
                    else {
                      if (o._hasPause && !o._forcingPlayhead && !b) {
                        if (a >= p)
                          for (d = o._first; d && d._startTime <= a && !l;) d._duration || "isPause" !== d.data || d.ratio || 0 === d._startTime && 0 === o._rawPrevTime || (l = d), d = d._next;
                        else
                          for (d = o._last; d && d._startTime >= a && !l;) d._duration || "isPause" === d.data && d._rawPrevTime > 0 && (l = d), d = d._prev;
                        l && (o._time = o._totalTime = a = l._startTime, n = o._startTime + a / o._timeScale)
                      }
                      o._totalTime = o._time = o._rawPrevTime = a
                    }
                    if (o._time !== p && o._first || c || i || l) {
                      if (o._initted || (o._initted = !0), o._active || !o._paused && o._time !== p && a > 0 && (o._active = !0), 0 === p && o.vars.onStart && (0 === o._time && o._duration || b || o._callback("onStart")), m = o._time, m >= p)
                        for (d = o._first; d && (g = d._next, m === o._time && (!o._paused || t));)(d._active || d._startTime <= m && !d._paused && !d._gc) && (l === d && (o.pause(), o._pauseTime = n), d._reversed ? d.render((d._dirty ? d
                          .totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)), d = g;
                      else
                        for (d = o._last; d && (g = d._prev, m === o._time && (!o._paused || t));) {
                          if (d._active || d._startTime <= p && !d._paused && !d._gc) {
                            if (l === d) {
                              for (l = d._prev; l && l.endTime() > o._time;) l.render(l._reversed ? l.totalDuration() - (a - l._startTime) * l._timeScale : (a - l._startTime) * l._timeScale, b, c), l = l._prev;
                              l = null, o.pause(), o._pauseTime = n
                            }
                            d._reversed ? d.render((d._dirty ? d.totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)
                          }
                          d = g
                        }
                      o._onUpdate && (b || (j.length && k(), o._callback("onUpdate"))), h && (o._gc || (r === o._startTime || s !== o._timeScale) && (0 === o._time || q >= o.totalDuration()) && (f && (j.length && k(), o._timeline
                        .autoRemoveChildren && o._enabled(!1, !1), o._active = !1), !b && o.vars[h] && o._callback(h)))
                    }
                  }, s._hasPausedChild = function() {
                    for (var a = this._first; a;) {
                      if (a._paused || a instanceof d && a._hasPausedChild()) return !0;
                      a = a._next
                    }
                    return !1
                  }, s.getChildren = function(a, b, d, e) {
                    e = e || -9999999999;
                    for (var f = [], g = this._first, h = 0; g;) g._startTime < e || (g instanceof c ? b !== !1 && (f[h++] = g) : (d !== !1 && (f[h++] = g), a !== !1 && (f = f.concat(g.getChildren(!0, b, d)), h = f.length))), g = g._next;
                    return f
                  }, s.getTweensOf = function(a, b) {
                    var d, e, f = this._gc,
                      g = [],
                      h = 0;
                    for (f && this._enabled(!0, !0), d = c.getTweensOf(a), e = d.length; --e > -1;)(d[e].timeline === this || b && this._contains(d[e])) && (g[h++] = d[e]);
                    return f && this._enabled(!1, !0), g
                  }, s.recent = function() {
                    return this._recent
                  }, s._contains = function(a) {
                    for (var b = a.timeline; b;) {
                      if (b === this) return !0;
                      b = b.timeline
                    }
                    return !1
                  }, s.shiftChildren = function(a, b, c) {
                    c = c || 0;
                    for (var d, e = this._first, f = this._labels; e;) e._startTime >= c && (e._startTime += a), e = e._next;
                    if (b)
                      for (d in f) f[d] >= c && (f[d] += a);
                    return this._uncache(!0)
                  }, s._kill = function(a, b) {
                    if (!a && !b) return this._enabled(!1, !1);
                    for (var c = b ? this.getTweensOf(b) : this.getChildren(!0, !0, !1), d = c.length, e = !1; --d > -1;) c[d]._kill(a, b) && (e = !0);
                    return e
                  }, s.clear = function(a) {
                    var b = this.getChildren(!1, !0, !0),
                      c = b.length;
                    for (this._time = this._totalTime = 0; --c > -1;) b[c]._enabled(!1, !1);
                    return a !== !1 && (this._labels = {}), this._uncache(!0)
                  }, s.invalidate = function() {
                    for (var b = this._first; b;) b.invalidate(), b = b._next;
                    return a.prototype.invalidate.call(this)
                  }, s._enabled = function(a, c) {
                    if (a === this._gc)
                      for (var d = this._first; d;) d._enabled(a, !0), d = d._next;
                    return b.prototype._enabled.call(this, a, c)
                  }, s.totalTime = function(b, c, d) {
                    this._forcingPlayhead = !0;
                    var e = a.prototype.totalTime.apply(this, arguments);
                    return this._forcingPlayhead = !1, e
                  }, s.duration = function(a) {
                    return arguments.length ? (0 !== this.duration() && 0 !== a && this.timeScale(this._duration / a), this) : (this._dirty && this.totalDuration(), this._duration)
                  }, s.totalDuration = function(a) {
                    if (!arguments.length) {
                      if (this._dirty) {
                        for (var b, c, d = 0, e = this, f = e._last, g = 999999999999; f;) b = f._prev, f._dirty && f.totalDuration(), f._startTime > g && e._sortChildren && !f._paused && !e._calculatingDuration ? (e._calculatingDuration = 1, e
                            .add(f, f._startTime - f._delay), e._calculatingDuration = 0) : g = f._startTime, f._startTime < 0 && !f._paused && (d -= f._startTime, e._timeline.smoothChildTiming && (e._startTime += f._startTime / e._timeScale, e
                            ._time -= f._startTime, e._totalTime -= f._startTime, e._rawPrevTime -= f._startTime), e.shiftChildren(-f._startTime, !1, -9999999999), g = 0), c = f._startTime + f._totalDuration / f._timeScale, c > d && (d = c),
                          f = b;
                        e._duration = e._totalDuration = d, e._dirty = !1
                      }
                      return this._totalDuration
                    }
                    return a && this.totalDuration() ? this.timeScale(this._totalDuration / a) : this
                  }, s.paused = function(b) {
                    if (b === !1 && this._paused)
                      for (var c = this._first; c;) c._startTime === this._time && "isPause" === c.data && (c._rawPrevTime = 0), c = c._next;
                    return a.prototype.paused.apply(this, arguments)
                  }, s.usesFrames = function() {
                    for (var b = this._timeline; b._timeline;) b = b._timeline;
                    return b === a._rootFramesTimeline
                  }, s.rawTime = function(a) {
                    return a && (this._paused || this._repeat && this.time() > 0 && this.totalProgress() < 1) ? this._totalTime % (this._duration + this._repeatDelay) : this._paused ? this._totalTime : (this._timeline.rawTime(a) - this
                      ._startTime) * this._timeScale
                  }, d
                }, !0), _gsScope._gsDefine("TimelineMax", ["TimelineLite", "TweenLite", "easing.Ease"], function(a, b, c) {
                  var d = function(b) {
                      a.call(this, b), this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._cycle = 0, this._yoyo = !!this.vars.yoyo, this._dirty = !0
                    },
                    e = 1e-8,
                    f = b._internals,
                    g = f.lazyTweens,
                    h = f.lazyRender,
                    i = _gsScope._gsDefine.globals,
                    j = new c(null, null, 1, 0),
                    k = d.prototype = new a;
                  return k.constructor = d, k.kill()._gc = !1, d.version = "2.1.2", k.invalidate = function() {
                    return this._yoyo = !!this.vars.yoyo, this._repeat = this.vars.repeat || 0, this._repeatDelay = this.vars.repeatDelay || 0, this._uncache(!0), a.prototype.invalidate.call(this)
                  }, k.addCallback = function(a, c, d, e) {
                    return this.add(b.delayedCall(0, a, d, e), c)
                  }, k.removeCallback = function(a, b) {
                    if (a)
                      if (null == b) this._kill(null, a);
                      else
                        for (var c = this.getTweensOf(a, !1), d = c.length, e = this._parseTimeOrLabel(b); --d > -1;) c[d]._startTime === e && c[d]._enabled(!1, !1);
                    return this
                  }, k.removePause = function(b) {
                    return this.removeCallback(a._internals.pauseCallback, b)
                  }, k.tweenTo = function(a, c) {
                    c = c || {};
                    var d, e, f, g = {
                        ease: j,
                        useFrames: this.usesFrames(),
                        immediateRender: !1,
                        lazy: !1
                      },
                      h = c.repeat && i.TweenMax || b;
                    for (e in c) g[e] = c[e];
                    return g.time = this._parseTimeOrLabel(a), d = Math.abs(Number(g.time) - this._time) / this._timeScale || .001, f = new h(this, d, g), g.onStart = function() {
                      f.target.paused(!0), f.vars.time === f.target.time() || d !== f.duration() || f.isFromTo || f.duration(Math.abs(f.vars.time - f.target.time()) / f.target._timeScale).render(f.time(), !0, !0), c.onStart && c.onStart
                        .apply(c.onStartScope || c.callbackScope || f, c.onStartParams || [])
                    }, f
                  }, k.tweenFromTo = function(a, b, c) {
                    c = c || {}, a = this._parseTimeOrLabel(a), c.startAt = {
                      onComplete: this.seek,
                      onCompleteParams: [a],
                      callbackScope: this
                    }, c.immediateRender = c.immediateRender !== !1;
                    var d = this.tweenTo(b, c);
                    return d.isFromTo = 1, d.duration(Math.abs(d.vars.time - a) / this._timeScale || .001)
                  }, k.render = function(a, b, c) {
                    this._gc && this._enabled(!0, !1);
                    var d, f, i, j, k, l, m, n, o, p = this,
                      q = p._time,
                      r = p._dirty ? p.totalDuration() : p._totalDuration,
                      s = p._duration,
                      t = p._totalTime,
                      u = p._startTime,
                      v = p._timeScale,
                      w = p._rawPrevTime,
                      x = p._paused,
                      y = p._cycle;
                    if (q !== p._time && (a += p._time - q), a >= r - e && a >= 0) p._locked || (p._totalTime = r, p._cycle = p._repeat), p._reversed || p._hasPausedChild() || (f = !0, j = "onComplete", k = !!p._timeline.autoRemoveChildren,
                        0 === p._duration && (0 >= a && a >= -e || 0 > w || w === e) && w !== a && p._first && (k = !0, w > e && (j = "onReverseComplete"))), p._rawPrevTime = p._duration || !b || a || p._rawPrevTime === a ? a : e, p._yoyo &&
                      1 & p._cycle ? p._time = a = 0 : (p._time = s, a = s + 1e-4);
                    else if (e > a)
                      if (p._locked || (p._totalTime = p._cycle = 0), p._time = 0, a > -e && (a = 0), (0 !== q || 0 === s && w !== e && (w > 0 || 0 > a && w >= 0) && !p._locked) && (j = "onReverseComplete", f = p._reversed), 0 > a) p
                        ._active = !1, p._timeline.autoRemoveChildren && p._reversed ? (k = f = !0, j = "onReverseComplete") : w >= 0 && p._first && (k = !0), p._rawPrevTime = a;
                      else {
                        if (p._rawPrevTime = s || !b || a || p._rawPrevTime === a ? a : e, 0 === a && f)
                          for (d = p._first; d && 0 === d._startTime;) d._duration || (f = !1), d = d._next;
                        a = 0, p._initted || (k = !0)
                      }
                    else if (0 === s && 0 > w && (k = !0), p._time = p._rawPrevTime = a, p._locked || (p._totalTime = a, 0 !== p._repeat && (l = s + p._repeatDelay, p._cycle = p._totalTime / l >> 0, p._cycle && p._cycle === p._totalTime / l &&
                        a >= t && p._cycle--, p._time = p._totalTime - p._cycle * l, p._yoyo && 1 & p._cycle && (p._time = s - p._time), p._time > s ? (p._time = s, a = s + 1e-4) : p._time < 0 ? p._time = a = 0 : a = p._time)), p._hasPause && !
                      p._forcingPlayhead && !b) {
                      if (a = p._time, a >= q || p._repeat && y !== p._cycle)
                        for (d = p._first; d && d._startTime <= a && !m;) d._duration || "isPause" !== d.data || d.ratio || 0 === d._startTime && 0 === p._rawPrevTime || (m = d), d = d._next;
                      else
                        for (d = p._last; d && d._startTime >= a && !m;) d._duration || "isPause" === d.data && d._rawPrevTime > 0 && (m = d), d = d._prev;
                      m && (o = p._startTime + m._startTime / p._timeScale, m._startTime < s && (p._time = p._rawPrevTime = a = m._startTime, p._totalTime = a + p._cycle * (p._totalDuration + p._repeatDelay)))
                    }
                    if (p._cycle !== y && !p._locked) {
                      var z = p._yoyo && 0 !== (1 & y),
                        A = z === (p._yoyo && 0 !== (1 & p._cycle)),
                        B = p._totalTime,
                        C = p._cycle,
                        D = p._rawPrevTime,
                        E = p._time;
                      if (p._totalTime = y * s, p._cycle < y ? z = !z : p._totalTime += s, p._time = q, p._rawPrevTime = 0 === s ? w - 1e-4 : w, p._cycle = y, p._locked = !0, q = z ? 0 : s, p.render(q, b, 0 === s), b || p._gc || p.vars
                        .onRepeat && (p._cycle = C, p._locked = !1, p._callback("onRepeat")), q !== p._time) return;
                      if (A && (p._cycle = y, p._locked = !0, q = z ? s + 1e-4 : -1e-4, p.render(q, !0, !1)), p._locked = !1, p._paused && !x) return;
                      p._time = E, p._totalTime = B, p._cycle = C, p._rawPrevTime = D
                    }
                    if (!(p._time !== q && p._first || c || k || m)) return void(t !== p._totalTime && p._onUpdate && (b || p._callback("onUpdate")));
                    if (p._initted || (p._initted = !0), p._active || !p._paused && p._totalTime !== t && a > 0 && (p._active = !0), 0 === t && p.vars.onStart && (0 === p._totalTime && p._totalDuration || b || p._callback("onStart")), n = p
                      ._time, n >= q)
                      for (d = p._first; d && (i = d._next, n === p._time && (!p._paused || x));)(d._active || d._startTime <= p._time && !d._paused && !d._gc) && (m === d && (p.pause(), p._pauseTime = o), d._reversed ? d.render((d._dirty ? d
                        .totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)), d = i;
                    else
                      for (d = p._last; d && (i = d._prev, n === p._time && (!p._paused || x));) {
                        if (d._active || d._startTime <= q && !d._paused && !d._gc) {
                          if (m === d) {
                            for (m = d._prev; m && m.endTime() > p._time;) m.render(m._reversed ? m.totalDuration() - (a - m._startTime) * m._timeScale : (a - m._startTime) * m._timeScale, b, c), m = m._prev;
                            m = null, p.pause(), p._pauseTime = o
                          }
                          d._reversed ? d.render((d._dirty ? d.totalDuration() : d._totalDuration) - (a - d._startTime) * d._timeScale, b, c) : d.render((a - d._startTime) * d._timeScale, b, c)
                        }
                        d = i
                      }
                    p._onUpdate && (b || (g.length && h(), p._callback("onUpdate"))), j && (p._locked || p._gc || (u === p._startTime || v !== p._timeScale) && (0 === p._time || r >= p.totalDuration()) && (f && (g.length && h(), p._timeline
                      .autoRemoveChildren && p._enabled(!1, !1), p._active = !1), !b && p.vars[j] && p._callback(j)))
                  }, k.getActive = function(a, b, c) {
                    var d, e, f = [],
                      g = this.getChildren(a || null == a, b || null == a, !!c),
                      h = 0,
                      i = g.length;
                    for (d = 0; i > d; d++) e = g[d], e.isActive() && (f[h++] = e);
                    return f
                  }, k.getLabelAfter = function(a) {
                    a || 0 !== a && (a = this._time);
                    var b, c = this.getLabelsArray(),
                      d = c.length;
                    for (b = 0; d > b; b++)
                      if (c[b].time > a) return c[b].name;
                    return null
                  }, k.getLabelBefore = function(a) {
                    null == a && (a = this._time);
                    for (var b = this.getLabelsArray(), c = b.length; --c > -1;)
                      if (b[c].time < a) return b[c].name;
                    return null
                  }, k.getLabelsArray = function() {
                    var a, b = [],
                      c = 0;
                    for (a in this._labels) b[c++] = {
                      time: this._labels[a],
                      name: a
                    };
                    return b.sort(function(a, b) {
                      return a.time - b.time
                    }), b
                  }, k.invalidate = function() {
                    return this._locked = !1, a.prototype.invalidate.call(this)
                  }, k.progress = function(a, b) {
                    return arguments.length ? this.totalTime(this.duration() * (this._yoyo && 0 !== (1 & this._cycle) ? 1 - a : a) + this._cycle * (this._duration + this._repeatDelay), b) : this._time / this.duration() || 0
                  }, k.totalProgress = function(a, b) {
                    return arguments.length ? this.totalTime(this.totalDuration() * a, b) : this._totalTime / this.totalDuration() || 0
                  }, k.totalDuration = function(b) {
                    return arguments.length ? -1 !== this._repeat && b ? this.timeScale(this.totalDuration() / b) : this : (this._dirty && (a.prototype.totalDuration.call(this), this._totalDuration = -1 === this._repeat ? 999999999999 : this
                      ._duration * (this._repeat + 1) + this._repeatDelay * this._repeat), this._totalDuration)
                  }, k.time = function(a, b) {
                    if (!arguments.length) return this._time;
                    this._dirty && this.totalDuration();
                    var c = this._duration,
                      d = this._cycle,
                      e = d * (c + this._repeatDelay);
                    return a > c && (a = c), this.totalTime(this._yoyo && 1 & d ? c - a + e : this._repeat ? a + e : a, b)
                  }, k.repeat = function(a) {
                    return arguments.length ? (this._repeat = a, this._uncache(!0)) : this._repeat
                  }, k.repeatDelay = function(a) {
                    return arguments.length ? (this._repeatDelay = a, this._uncache(!0)) : this._repeatDelay
                  }, k.yoyo = function(a) {
                    return arguments.length ? (this._yoyo = a, this) : this._yoyo
                  }, k.currentLabel = function(a) {
                    return arguments.length ? this.seek(a, !0) : this.getLabelBefore(this._time + e)
                  }, d
                }, !0),
                function() {
                  var a = 180 / Math.PI,
                    b = [],
                    c = [],
                    d = [],
                    e = {},
                    f = _gsScope._gsDefine.globals,
                    g = function(a, b, c, d) {
                      c === d && (c = d - (d - b) / 1e6), a === b && (b = a + (c - a) / 1e6), this.a = a, this.b = b, this.c = c, this.d = d, this.da = d - a, this.ca = c - a, this.ba = b - a
                    },
                    h = ",x,y,z,left,top,right,bottom,marginTop,marginLeft,marginRight,marginBottom,paddingLeft,paddingTop,paddingRight,paddingBottom,backgroundPosition,backgroundPosition_y,",
                    i = function(a, b, c, d) {
                      var e = {
                          a: a
                        },
                        f = {},
                        g = {},
                        h = {
                          c: d
                        },
                        i = (a + b) / 2,
                        j = (b + c) / 2,
                        k = (c + d) / 2,
                        l = (i + j) / 2,
                        m = (j + k) / 2,
                        n = (m - l) / 8;
                      return e.b = i + (a - i) / 4, f.b = l + n, e.c = f.a = (e.b + f.b) / 2, f.c = g.a = (l + m) / 2, g.b = m - n, h.b = k + (d - k) / 4, g.c = h.a = (g.b + h.b) / 2, [e, f, g, h]
                    },
                    j = function(a, e, f, g, h) {
                      var j, k, l, m, n, o, p, q, r, s, t, u, v, w = a.length - 1,
                        x = 0,
                        y = a[0].a;
                      for (j = 0; w > j; j++) n = a[x], k = n.a, l = n.d, m = a[x + 1].d, h ? (t = b[j], u = c[j], v = (u + t) * e * .25 / (g ? .5 : d[j] || .5), o = l - (l - k) * (g ? .5 * e : 0 !== t ? v / t : 0), p = l + (m - l) * (g ? .5 * e :
                          0 !== u ? v / u : 0), q = l - (o + ((p - o) * (3 * t / (t + u) + .5) / 4 || 0))) : (o = l - (l - k) * e * .5, p = l + (m - l) * e * .5, q = l - (o + p) / 2), o += q, p += q, n.c = r = o, 0 !== j ? n.b = y : n.b = y = n.a +
                        .6 * (n.c - n.a), n.da = l - k, n.ca = r - k, n.ba = y - k, f ? (s = i(k, y, r, l), a.splice(x, 1, s[0], s[1], s[2], s[3]), x += 4) : x++, y = p;
                      n = a[x], n.b = y, n.c = y + .4 * (n.d - y), n.da = n.d - n.a, n.ca = n.c - n.a, n.ba = y - n.a, f && (s = i(n.a, y, n.c, n.d), a.splice(x, 1, s[0], s[1], s[2], s[3]))
                    },
                    k = function(a, d, e, f) {
                      var h, i, j, k, l, m, n = [];
                      if (f)
                        for (a = [f].concat(a), i = a.length; --i > -1;) "string" == typeof(m = a[i][d]) && "=" === m.charAt(1) && (a[i][d] = f[d] + Number(m.charAt(0) + m.substr(2)));
                      if (h = a.length - 2, 0 > h) return n[0] = new g(a[0][d], 0, 0, a[0][d]), n;
                      for (i = 0; h > i; i++) j = a[i][d], k = a[i + 1][d], n[i] = new g(j, 0, 0, k), e && (l = a[i + 2][d], b[i] = (b[i] || 0) + (k - j) * (k - j), c[i] = (c[i] || 0) + (l - k) * (l - k));
                      return n[i] = new g(a[i][d], 0, 0, a[i + 1][d]), n
                    },
                    l = function(a, f, g, i, l, m) {
                      var n, o, p, q, r, s, t, u, v = {},
                        w = [],
                        x = m || a[0];
                      l = "string" == typeof l ? "," + l + "," : h, null == f && (f = 1);
                      for (o in a[0]) w.push(o);
                      if (a.length > 1) {
                        for (u = a[a.length - 1], t = !0, n = w.length; --n > -1;)
                          if (o = w[n], Math.abs(x[o] - u[o]) > .05) {
                            t = !1;
                            break
                          } t && (a = a.concat(), m && a.unshift(m), a.push(a[1]), m = a[a.length - 3])
                      }
                      for (b.length = c.length = d.length = 0, n = w.length; --n > -1;) o = w[n], e[o] = -1 !== l.indexOf("," + o + ","), v[o] = k(a, o, e[o], m);
                      for (n = b.length; --n > -1;) b[n] = Math.sqrt(b[n]), c[n] = Math.sqrt(c[n]);
                      if (!i) {
                        for (n = w.length; --n > -1;)
                          if (e[o])
                            for (p = v[w[n]], s = p.length - 1, q = 0; s > q; q++) r = p[q + 1].da / c[q] + p[q].da / b[q] || 0, d[q] = (d[q] || 0) + r * r;
                        for (n = d.length; --n > -1;) d[n] = Math.sqrt(d[n]);
                      }
                      for (n = w.length, q = g ? 4 : 1; --n > -1;) o = w[n], p = v[o], j(p, f, g, i, e[o]), t && (p.splice(0, q), p.splice(p.length - q, q));
                      return v
                    },
                    m = function(a, b, c) {
                      b = b || "soft";
                      var d, e, f, h, i, j, k, l, m, n, o, p = {},
                        q = "cubic" === b ? 3 : 2,
                        r = "soft" === b,
                        s = [];
                      if (r && c && (a = [c].concat(a)), null == a || a.length < q + 1) throw "invalid Bezier data";
                      for (m in a[0]) s.push(m);
                      for (j = s.length; --j > -1;) {
                        for (m = s[j], p[m] = i = [], n = 0, l = a.length, k = 0; l > k; k++) d = null == c ? a[k][m] : "string" == typeof(o = a[k][m]) && "=" === o.charAt(1) ? c[m] + Number(o.charAt(0) + o.substr(2)) : Number(o), r && k > 1 && l -
                          1 > k && (i[n++] = (d + i[n - 2]) / 2), i[n++] = d;
                        for (l = n - q + 1, n = 0, k = 0; l > k; k += q) d = i[k], e = i[k + 1], f = i[k + 2], h = 2 === q ? 0 : i[k + 3], i[n++] = o = 3 === q ? new g(d, e, f, h) : new g(d, (2 * e + d) / 3, (2 * e + f) / 3, f);
                        i.length = n
                      }
                      return p
                    },
                    n = function(a, b, c) {
                      for (var d, e, f, g, h, i, j, k, l, m, n, o = 1 / c, p = a.length; --p > -1;)
                        for (m = a[p], f = m.a, g = m.d - f, h = m.c - f, i = m.b - f, d = e = 0, k = 1; c >= k; k++) j = o * k, l = 1 - j, d = e - (e = (j * j * g + 3 * l * (j * h + l * i)) * j), n = p * c + k - 1, b[n] = (b[n] || 0) + d * d
                    },
                    o = function(a, b) {
                      b = b >> 0 || 6;
                      var c, d, e, f, g = [],
                        h = [],
                        i = 0,
                        j = 0,
                        k = b - 1,
                        l = [],
                        m = [];
                      for (c in a) n(a[c], g, b);
                      for (e = g.length, d = 0; e > d; d++) i += Math.sqrt(g[d]), f = d % b, m[f] = i, f === k && (j += i, f = d / b >> 0, l[f] = m, h[f] = j, i = 0, m = []);
                      return {
                        length: j,
                        lengths: h,
                        segments: l
                      }
                    },
                    p = _gsScope._gsDefine.plugin({
                      propName: "bezier",
                      priority: -1,
                      version: "1.3.8",
                      API: 2,
                      global: !0,
                      init: function(a, b, c) {
                        this._target = a, b instanceof Array && (b = {
                          values: b
                        }), this._func = {}, this._mod = {}, this._props = [], this._timeRes = null == b.timeResolution ? 6 : parseInt(b.timeResolution, 10);
                        var d, e, f, g, h, i = b.values || [],
                          j = {},
                          k = i[0],
                          n = b.autoRotate || c.vars.orientToBezier;
                        this._autoRotate = n ? n instanceof Array ? n : [
                          ["x", "y", "rotation", n === !0 ? 0 : Number(n) || 0]
                        ] : null;
                        for (d in k) this._props.push(d);
                        for (f = this._props.length; --f > -1;) d = this._props[f], this._overwriteProps.push(d), e = this._func[d] = "function" == typeof a[d], j[d] = e ? a[d.indexOf("set") || "function" != typeof a["get" + d.substr(3)] ? d :
                          "get" + d.substr(3)]() : parseFloat(a[d]), h || j[d] !== i[0][d] && (h = j);
                        if (this._beziers = "cubic" !== b.type && "quadratic" !== b.type && "soft" !== b.type ? l(i, isNaN(b.curviness) ? 1 : b.curviness, !1, "thruBasic" === b.type, b.correlate, h) : m(i, b.type, j), this._segCount = this
                          ._beziers[d].length, this._timeRes) {
                          var p = o(this._beziers, this._timeRes);
                          this._length = p.length, this._lengths = p.lengths, this._segments = p.segments, this._l1 = this._li = this._s1 = this._si = 0, this._l2 = this._lengths[0], this._curSeg = this._segments[0], this._s2 = this._curSeg[0],
                            this._prec = 1 / this._curSeg.length
                        }
                        if (n = this._autoRotate)
                          for (this._initialRotations = [], n[0] instanceof Array || (this._autoRotate = n = [n]), f = n.length; --f > -1;) {
                            for (g = 0; 3 > g; g++) d = n[f][g], this._func[d] = "function" == typeof a[d] ? a[d.indexOf("set") || "function" != typeof a["get" + d.substr(3)] ? d : "get" + d.substr(3)] : !1;
                            d = n[f][2], this._initialRotations[f] = (this._func[d] ? this._func[d].call(this._target) : this._target[d]) || 0, this._overwriteProps.push(d)
                          }
                        return this._startRatio = c.vars.runBackwards ? 1 : 0, !0
                      },
                      set: function(b) {
                        var c, d, e, f, g, h, i, j, k, l, m = this._segCount,
                          n = this._func,
                          o = this._target,
                          p = b !== this._startRatio;
                        if (this._timeRes) {
                          if (k = this._lengths, l = this._curSeg, b *= this._length, e = this._li, b > this._l2 && m - 1 > e) {
                            for (j = m - 1; j > e && (this._l2 = k[++e]) <= b;);
                            this._l1 = k[e - 1], this._li = e, this._curSeg = l = this._segments[e], this._s2 = l[this._s1 = this._si = 0]
                          } else if (b < this._l1 && e > 0) {
                            for (; e > 0 && (this._l1 = k[--e]) >= b;);
                            0 === e && b < this._l1 ? this._l1 = 0 : e++, this._l2 = k[e], this._li = e, this._curSeg = l = this._segments[e], this._s1 = l[(this._si = l.length - 1) - 1] || 0, this._s2 = l[this._si]
                          }
                          if (c = e, b -= this._l1, e = this._si, b > this._s2 && e < l.length - 1) {
                            for (j = l.length - 1; j > e && (this._s2 = l[++e]) <= b;);
                            this._s1 = l[e - 1], this._si = e
                          } else if (b < this._s1 && e > 0) {
                            for (; e > 0 && (this._s1 = l[--e]) >= b;);
                            0 === e && b < this._s1 ? this._s1 = 0 : e++, this._s2 = l[e], this._si = e
                          }
                          h = (e + (b - this._s1) / (this._s2 - this._s1)) * this._prec || 0
                        } else c = 0 > b ? 0 : b >= 1 ? m - 1 : m * b >> 0, h = (b - c * (1 / m)) * m;
                        for (d = 1 - h, e = this._props.length; --e > -1;) f = this._props[e], g = this._beziers[f][c], i = (h * h * g.da + 3 * d * (h * g.ca + d * g.ba)) * h + g.a, this._mod[f] && (i = this._mod[f](i, o)), n[f] ? o[f](i) : o[
                          f] = i;
                        if (this._autoRotate) {
                          var q, r, s, t, u, v, w, x = this._autoRotate;
                          for (e = x.length; --e > -1;) f = x[e][2], v = x[e][3] || 0, w = x[e][4] === !0 ? 1 : a, g = this._beziers[x[e][0]], q = this._beziers[x[e][1]], g && q && (g = g[c], q = q[c], r = g.a + (g.b - g.a) * h, t = g.b + (g
                            .c - g.b) * h, r += (t - r) * h, t += (g.c + (g.d - g.c) * h - t) * h, s = q.a + (q.b - q.a) * h, u = q.b + (q.c - q.b) * h, s += (u - s) * h, u += (q.c + (q.d - q.c) * h - u) * h, i = p ? Math.atan2(u - s, t -
                            r) * w + v : this._initialRotations[e], this._mod[f] && (i = this._mod[f](i, o)), n[f] ? o[f](i) : o[f] = i)
                        }
                      }
                    }),
                    q = p.prototype;
                  p.bezierThrough = l, p.cubicToQuadratic = i, p._autoCSS = !0, p.quadraticToCubic = function(a, b, c) {
                    return new g(a, (2 * b + a) / 3, (2 * b + c) / 3, c)
                  }, p._cssRegister = function() {
                    var a = f.CSSPlugin;
                    if (a) {
                      var b = a._internals,
                        c = b._parseToProxy,
                        d = b._setPluginRatio,
                        e = b.CSSPropTween;
                      b._registerComplexSpecialProp("bezier", {
                        parser: function(a, b, f, g, h, i) {
                          b instanceof Array && (b = {
                            values: b
                          }), i = new p;
                          var j, k, l, m = b.values,
                            n = m.length - 1,
                            o = [],
                            q = {};
                          if (0 > n) return h;
                          for (j = 0; n >= j; j++) l = c(a, m[j], g, h, i, n !== j), o[j] = l.end;
                          for (k in b) q[k] = b[k];
                          return q.values = o, h = new e(a, "bezier", 0, 0, l.pt, 2), h.data = l, h.plugin = i, h.setRatio = d, 0 === q.autoRotate && (q.autoRotate = !0), !q.autoRotate || q.autoRotate instanceof Array || (j = q
                            .autoRotate === !0 ? 0 : Number(q.autoRotate), q.autoRotate = null != l.end.left ? [
                              ["left", "top", "rotation", j, !1]
                            ] : null != l.end.x ? [
                              ["x", "y", "rotation", j, !1]
                            ] : !1), q.autoRotate && (g._transform || g._enableTransforms(!1), l.autoRotate = g._target._gsTransform, l.proxy.rotation = l.autoRotate.rotation || 0, g._overwriteProps.push("rotation")), i._onInitTween(l
                            .proxy, q, g._tween), h
                        }
                      })
                    }
                  }, q._mod = function(a) {
                    for (var b, c = this._overwriteProps, d = c.length; --d > -1;) b = a[c[d]], b && "function" == typeof b && (this._mod[c[d]] = b)
                  }, q._kill = function(a) {
                    var b, c, d = this._props;
                    for (b in this._beziers)
                      if (b in a)
                        for (delete this._beziers[b], delete this._func[b], c = d.length; --c > -1;) d[c] === b && d.splice(c, 1);
                    if (d = this._autoRotate)
                      for (c = d.length; --c > -1;) a[d[c][2]] && d.splice(c, 1);
                    return this._super._kill.call(this, a)
                  }
                }(), _gsScope._gsDefine("plugins.CSSPlugin", ["plugins.TweenPlugin", "TweenLite"], function(a, b) {
                  var c, d, e, f, g = function() {
                      a.call(this, "css"), this._overwriteProps.length = 0, this.setRatio = g.prototype.setRatio
                    },
                    h = _gsScope._gsDefine.globals,
                    i = {},
                    j = g.prototype = new a("css");
                  j.constructor = g, g.version = "2.1.0", g.API = 2, g.defaultTransformPerspective = 0, g.defaultSkewType = "compensated", g.defaultSmoothOrigin = !0, j = "px", g.suffixMap = {
                    top: j,
                    right: j,
                    bottom: j,
                    left: j,
                    width: j,
                    height: j,
                    fontSize: j,
                    padding: j,
                    margin: j,
                    perspective: j,
                    lineHeight: ""
                  };
                  var k, l, m, n, o, p, q, r, s = /(?:\-|\.|\b)(\d|\.|e\-)+/g,
                    t = /(?:\d|\-\d|\.\d|\-\.\d|\+=\d|\-=\d|\+=.\d|\-=\.\d)+/g,
                    u = /(?:\+=|\-=|\-|\b)[\d\-\.]+[a-zA-Z0-9]*(?:%|\b)/gi,
                    v = /(?![+-]?\d*\.?\d+|[+-]|e[+-]\d+)[^0-9]/g,
                    w = /(?:\d|\-|\+|=|#|\.)*/g,
                    x = /opacity *= *([^)]*)/i,
                    y = /opacity:([^;]*)/i,
                    z = /alpha\(opacity *=.+?\)/i,
                    A = /^(rgb|hsl)/,
                    B = /([A-Z])/g,
                    C = /-([a-z])/gi,
                    D = /(^(?:url\(\"|url\())|(?:(\"\))$|\)$)/gi,
                    E = function(a, b) {
                      return b.toUpperCase()
                    },
                    F = /(?:Left|Right|Width)/i,
                    G = /(M11|M12|M21|M22)=[\d\-\.e]+/gi,
                    H = /progid\:DXImageTransform\.Microsoft\.Matrix\(.+?\)/i,
                    I = /,(?=[^\)]*(?:\(|$))/gi,
                    J = /[\s,\(]/i,
                    K = Math.PI / 180,
                    L = 180 / Math.PI,
                    M = {},
                    N = {
                      style: {}
                    },
                    O = _gsScope.document || {
                      createElement: function() {
                        return N
                      }
                    },
                    P = function(a, b) {
                      return b && O.createElementNS ? O.createElementNS(b, a) : O.createElement(a)
                    },
                    Q = P("div"),
                    R = P("img"),
                    S = g._internals = {
                      _specialProps: i
                    },
                    T = (_gsScope.navigator || {}).userAgent || "",
                    U = function() {
                      var a = T.indexOf("Android"),
                        b = P("a");
                      return m = -1 !== T.indexOf("Safari") && -1 === T.indexOf("Chrome") && (-1 === a || parseFloat(T.substr(a + 8, 2)) > 3), o = m && parseFloat(T.substr(T.indexOf("Version/") + 8, 2)) < 6, n = -1 !== T.indexOf("Firefox"), (
                        /MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(T) || /Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(T)) && (p = parseFloat(RegExp.$1)), b ? (b.style.cssText = "top:1px;opacity:.55;", /^0.55/.test(b.style.opacity)) : !1
                    }(),
                    V = function(a) {
                      return x.test("string" == typeof a ? a : (a.currentStyle ? a.currentStyle.filter : a.style.filter) || "") ? parseFloat(RegExp.$1) / 100 : 1
                    },
                    W = function(a) {
                      _gsScope.console && console.log(a)
                    },
                    X = "",
                    Y = "",
                    Z = function(a, b) {
                      b = b || Q;
                      var c, d, e = b.style;
                      if (void 0 !== e[a]) return a;
                      for (a = a.charAt(0).toUpperCase() + a.substr(1), c = ["O", "Moz", "ms", "Ms", "Webkit"], d = 5; --d > -1 && void 0 === e[c[d] + a];);
                      return d >= 0 ? (Y = 3 === d ? "ms" : c[d], X = "-" + Y.toLowerCase() + "-", Y + a) : null
                    },
                    $ = "undefined" != typeof window ? window : O.defaultView || {
                      getComputedStyle: function() {}
                    },
                    _ = function(a) {
                      return $.getComputedStyle(a)
                    },
                    aa = g.getStyle = function(a, b, c, d, e) {
                      var f;
                      return U || "opacity" !== b ? (!d && a.style[b] ? f = a.style[b] : (c = c || _(a)) ? f = c[b] || c.getPropertyValue(b) || c.getPropertyValue(b.replace(B, "-$1").toLowerCase()) : a.currentStyle && (f = a.currentStyle[b]),
                        null == e || f && "none" !== f && "auto" !== f && "auto auto" !== f ? f : e) : V(a)
                    },
                    ba = S.convertToPixels = function(a, c, d, e, f) {
                      if ("px" === e || !e && "lineHeight" !== c) return d;
                      if ("auto" === e || !d) return 0;
                      var h, i, j, k = F.test(c),
                        l = a,
                        m = Q.style,
                        n = 0 > d,
                        o = 1 === d;
                      if (n && (d = -d), o && (d *= 100), "lineHeight" !== c || e)
                        if ("%" === e && -1 !== c.indexOf("border")) h = d / 100 * (k ? a.clientWidth : a.clientHeight);
                        else {
                          if (m.cssText = "border:0 solid red;position:" + aa(a, "position") + ";line-height:0;", "%" !== e && l.appendChild && "v" !== e.charAt(0) && "rem" !== e) m[k ? "borderLeftWidth" : "borderTopWidth"] = d + e;
                          else {
                            if (l = a.parentNode || O.body, -1 !== aa(l, "display").indexOf("flex") && (m.position = "absolute"), i = l._gsCache, j = b.ticker.frame, i && k && i.time === j) return i.width * d / 100;
                            m[k ? "width" : "height"] = d + e
                          }
                          l.appendChild(Q), h = parseFloat(Q[k ? "offsetWidth" : "offsetHeight"]), l.removeChild(Q), k && "%" === e && g.cacheWidths !== !1 && (i = l._gsCache = l._gsCache || {}, i.time = j, i.width = h / d * 100), 0 !== h || f ||
                            (h = ba(a, c, d, e, !0))
                        }
                      else i = _(a).lineHeight, a.style.lineHeight = d, h = parseFloat(_(a).lineHeight), a.style.lineHeight = i;
                      return o && (h /= 100), n ? -h : h
                    },
                    ca = S.calculateOffset = function(a, b, c) {
                      if ("absolute" !== aa(a, "position", c)) return 0;
                      var d = "left" === b ? "Left" : "Top",
                        e = aa(a, "margin" + d, c);
                      return a["offset" + d] - (ba(a, b, parseFloat(e), e.replace(w, "")) || 0)
                    },
                    da = function(a, b) {
                      var c, d, e, f = {};
                      if (b = b || _(a, null))
                        if (c = b.length)
                          for (; --c > -1;) e = b[c], (-1 === e.indexOf("-transform") || Ea === e) && (f[e.replace(C, E)] = b.getPropertyValue(e));
                        else
                          for (c in b)(-1 === c.indexOf("Transform") || Da === c) && (f[c] = b[c]);
                      else if (b = a.currentStyle || a.style)
                        for (c in b) "string" == typeof c && void 0 === f[c] && (f[c.replace(C, E)] = b[c]);
                      return U || (f.opacity = V(a)), d = Sa(a, b, !1), f.rotation = d.rotation, f.skewX = d.skewX, f.scaleX = d.scaleX, f.scaleY = d.scaleY, f.x = d.x, f.y = d.y, Ga && (f.z = d.z, f.rotationX = d.rotationX, f.rotationY = d
                        .rotationY, f.scaleZ = d.scaleZ), f.filters && delete f.filters, f
                    },
                    ea = function(a, b, c, d, e) {
                      var f, g, h, i = {},
                        j = a.style;
                      for (g in c) "cssText" !== g && "length" !== g && isNaN(g) && (b[g] !== (f = c[g]) || e && e[g]) && -1 === g.indexOf("Origin") && ("number" == typeof f || "string" == typeof f) && (i[g] = "auto" !== f || "left" !== g &&
                        "top" !== g ? "" !== f && "auto" !== f && "none" !== f || "string" != typeof b[g] || "" === b[g].replace(v, "") ? f : 0 : ca(a, g), void 0 !== j[g] && (h = new ta(j, g, j[g], h)));
                      if (d)
                        for (g in d) "className" !== g && (i[g] = d[g]);
                      return {
                        difs: i,
                        firstMPT: h
                      }
                    },
                    fa = {
                      width: ["Left", "Right"],
                      height: ["Top", "Bottom"]
                    },
                    ga = ["marginLeft", "marginRight", "marginTop", "marginBottom"],
                    ha = function(a, b, c) {
                      if ("svg" === (a.nodeName + "").toLowerCase()) return (c || _(a))[b] || 0;
                      if (a.getCTM && Pa(a)) return a.getBBox()[b] || 0;
                      var d = parseFloat("width" === b ? a.offsetWidth : a.offsetHeight),
                        e = fa[b],
                        f = e.length;
                      for (c = c || _(a, null); --f > -1;) d -= parseFloat(aa(a, "padding" + e[f], c, !0)) || 0, d -= parseFloat(aa(a, "border" + e[f] + "Width", c, !0)) || 0;
                      return d
                    },
                    ia = function(a, b) {
                      if ("contain" === a || "auto" === a || "auto auto" === a) return a + " ";
                      (null == a || "" === a) && (a = "0 0");
                      var c, d = a.split(" "),
                        e = -1 !== a.indexOf("left") ? "0%" : -1 !== a.indexOf("right") ? "100%" : d[0],
                        f = -1 !== a.indexOf("top") ? "0%" : -1 !== a.indexOf("bottom") ? "100%" : d[1];
                      if (d.length > 3 && !b) {
                        for (d = a.split(", ").join(",").split(","), a = [], c = 0; c < d.length; c++) a.push(ia(d[c]));
                        return a.join(",")
                      }
                      return null == f ? f = "center" === e ? "50%" : "0" : "center" === f && (f = "50%"), ("center" === e || isNaN(parseFloat(e)) && -1 === (e + "").indexOf("=")) && (e = "50%"), a = e + " " + f + (d.length > 2 ? " " + d[2] :
                        ""), b && (b.oxp = -1 !== e.indexOf("%"), b.oyp = -1 !== f.indexOf("%"), b.oxr = "=" === e.charAt(1), b.oyr = "=" === f.charAt(1), b.ox = parseFloat(e.replace(v, "")), b.oy = parseFloat(f.replace(v, "")), b.v = a), b || a
                    },
                    ja = function(a, b) {
                      return "function" == typeof a && (a = a(r, q)), "string" == typeof a && "=" === a.charAt(1) ? parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) : parseFloat(a) - parseFloat(b) || 0
                    },
                    ka = function(a, b) {
                      "function" == typeof a && (a = a(r, q));
                      var c = "string" == typeof a && "=" === a.charAt(1);
                      return "string" == typeof a && "v" === a.charAt(a.length - 2) && (a = (c ? a.substr(0, 2) : 0) + window["inner" + ("vh" === a.substr(-2) ? "Height" : "Width")] * (parseFloat(c ? a.substr(2) : a) / 100)), null == a ? b : c ?
                        parseInt(a.charAt(0) + "1", 10) * parseFloat(a.substr(2)) + b : parseFloat(a) || 0
                    },
                    la = function(a, b, c, d) {
                      var e, f, g, h, i, j = 1e-6;
                      return "function" == typeof a && (a = a(r, q)), null == a ? h = b : "number" == typeof a ? h = a : (e = 360, f = a.split("_"), i = "=" === a.charAt(1), g = (i ? parseInt(a.charAt(0) + "1", 10) * parseFloat(f[0].substr(2)) :
                        parseFloat(f[0])) * (-1 === a.indexOf("rad") ? 1 : L) - (i ? 0 : b), f.length && (d && (d[c] = b + g), -1 !== a.indexOf("short") && (g %= e, g !== g % (e / 2) && (g = 0 > g ? g + e : g - e)), -1 !== a.indexOf("_cw") &&
                        0 > g ? g = (g + 9999999999 * e) % e - (g / e | 0) * e : -1 !== a.indexOf("ccw") && g > 0 && (g = (g - 9999999999 * e) % e - (g / e | 0) * e)), h = b + g), j > h && h > -j && (h = 0), h
                    },
                    ma = {
                      aqua: [0, 255, 255],
                      lime: [0, 255, 0],
                      silver: [192, 192, 192],
                      black: [0, 0, 0],
                      maroon: [128, 0, 0],
                      teal: [0, 128, 128],
                      blue: [0, 0, 255],
                      navy: [0, 0, 128],
                      white: [255, 255, 255],
                      fuchsia: [255, 0, 255],
                      olive: [128, 128, 0],
                      yellow: [255, 255, 0],
                      orange: [255, 165, 0],
                      gray: [128, 128, 128],
                      purple: [128, 0, 128],
                      green: [0, 128, 0],
                      red: [255, 0, 0],
                      pink: [255, 192, 203],
                      cyan: [0, 255, 255],
                      transparent: [255, 255, 255, 0]
                    },
                    na = function(a, b, c) {
                      return a = 0 > a ? a + 1 : a > 1 ? a - 1 : a, 255 * (1 > 6 * a ? b + (c - b) * a * 6 : .5 > a ? c : 2 > 3 * a ? b + (c - b) * (2 / 3 - a) * 6 : b) + .5 | 0
                    },
                    oa = g.parseColor = function(a, b) {
                      var c, d, e, f, g, h, i, j, k, l, m;
                      if (a)
                        if ("number" == typeof a) c = [a >> 16, a >> 8 & 255, 255 & a];
                        else {
                          if ("," === a.charAt(a.length - 1) && (a = a.substr(0, a.length - 1)), ma[a]) c = ma[a];
                          else if ("#" === a.charAt(0)) 4 === a.length && (d = a.charAt(1), e = a.charAt(2), f = a.charAt(3), a = "#" + d + d + e + e + f + f), a = parseInt(a.substr(1), 16), c = [a >> 16, a >> 8 & 255, 255 & a];
                          else if ("hsl" === a.substr(0, 3))
                            if (c = m = a.match(s), b) {
                              if (-1 !== a.indexOf("=")) return a.match(t)
                            } else g = Number(c[0]) % 360 / 360, h = Number(c[1]) / 100, i = Number(c[2]) / 100, e = .5 >= i ? i * (h + 1) : i + h - i * h, d = 2 * i - e, c.length > 3 && (c[3] = Number(c[3])), c[0] = na(g + 1 / 3, d, e), c[1] =
                              na(g, d, e), c[2] = na(g - 1 / 3, d, e);
                          else c = a.match(s) || ma.transparent;
                          c[0] = Number(c[0]), c[1] = Number(c[1]), c[2] = Number(c[2]), c.length > 3 && (c[3] = Number(c[3]))
                        }
                      else c = ma.black;
                      return b && !m && (d = c[0] / 255, e = c[1] / 255, f = c[2] / 255, j = Math.max(d, e, f), k = Math.min(d, e, f), i = (j + k) / 2, j === k ? g = h = 0 : (l = j - k, h = i > .5 ? l / (2 - j - k) : l / (j + k), g = j === d ? (
                        e - f) / l + (f > e ? 6 : 0) : j === e ? (f - d) / l + 2 : (d - e) / l + 4, g *= 60), c[0] = g + .5 | 0, c[1] = 100 * h + .5 | 0, c[2] = 100 * i + .5 | 0), c
                    },
                    pa = function(a, b) {
                      var c, d, e, f = a.match(qa) || [],
                        g = 0,
                        h = "";
                      if (!f.length) return a;
                      for (c = 0; c < f.length; c++) d = f[c], e = a.substr(g, a.indexOf(d, g) - g), g += e.length + d.length, d = oa(d, b), 3 === d.length && d.push(1), h += e + (b ? "hsla(" + d[0] + "," + d[1] + "%," + d[2] + "%," + d[3] :
                        "rgba(" + d.join(",")) + ")";
                      return h + a.substr(g)
                    },
                    qa = "(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3}){1,2}\\b";
                  for (j in ma) qa += "|" + j + "\\b";
                  qa = new RegExp(qa + ")", "gi"), g.colorStringFilter = function(a) {
                    var b, c = a[0] + " " + a[1];
                    qa.test(c) && (b = -1 !== c.indexOf("hsl(") || -1 !== c.indexOf("hsla("), a[0] = pa(a[0], b), a[1] = pa(a[1], b)), qa.lastIndex = 0
                  }, b.defaultStringFilter || (b.defaultStringFilter = g.colorStringFilter);
                  var ra = function(a, b, c, d) {
                      if (null == a) return function(a) {
                        return a
                      };
                      var e, f = b ? (a.match(qa) || [""])[0] : "",
                        g = a.split(f).join("").match(u) || [],
                        h = a.substr(0, a.indexOf(g[0])),
                        i = ")" === a.charAt(a.length - 1) ? ")" : "",
                        j = -1 !== a.indexOf(" ") ? " " : ",",
                        k = g.length,
                        l = k > 0 ? g[0].replace(s, "") : "";
                      return k ? e = b ? function(a) {
                        var b, m, n, o;
                        if ("number" == typeof a) a += l;
                        else if (d && I.test(a)) {
                          for (o = a.replace(I, "|").split("|"), n = 0; n < o.length; n++) o[n] = e(o[n]);
                          return o.join(",")
                        }
                        if (b = (a.match(qa) || [f])[0], m = a.split(b).join("").match(u) || [], n = m.length, k > n--)
                          for (; ++n < k;) m[n] = c ? m[(n - 1) / 2 | 0] : g[n];
                        return h + m.join(j) + j + b + i + (-1 !== a.indexOf("inset") ? " inset" : "")
                      } : function(a) {
                        var b, f, m;
                        if ("number" == typeof a) a += l;
                        else if (d && I.test(a)) {
                          for (f = a.replace(I, "|").split("|"), m = 0; m < f.length; m++) f[m] = e(f[m]);
                          return f.join(",")
                        }
                        if (b = a.match(u) || [], m = b.length, k > m--)
                          for (; ++m < k;) b[m] = c ? b[(m - 1) / 2 | 0] : g[m];
                        return h + b.join(j) + i
                      } : function(a) {
                        return a
                      }
                    },
                    sa = function(a) {
                      return a = a.split(","),
                        function(b, c, d, e, f, g, h) {
                          var i, j = (c + "").split(" ");
                          for (h = {}, i = 0; 4 > i; i++) h[a[i]] = j[i] = j[i] || j[(i - 1) / 2 >> 0];
                          return e.parse(b, h, f, g)
                        }
                    },
                    ta = (S._setPluginRatio = function(a) {
                      this.plugin.setRatio(a);
                      for (var b, c, d, e, f, g = this.data, h = g.proxy, i = g.firstMPT, j = 1e-6; i;) b = h[i.v], i.r ? b = i.r(b) : j > b && b > -j && (b = 0), i.t[i.p] = b, i = i._next;
                      if (g.autoRotate && (g.autoRotate.rotation = g.mod ? g.mod.call(this._tween, h.rotation, this.t, this._tween) : h.rotation), 1 === a || 0 === a)
                        for (i = g.firstMPT, f = 1 === a ? "e" : "b"; i;) {
                          if (c = i.t, c.type) {
                            if (1 === c.type) {
                              for (e = c.xs0 + c.s + c.xs1, d = 1; d < c.l; d++) e += c["xn" + d] + c["xs" + (d + 1)];
                              c[f] = e
                            }
                          } else c[f] = c.s + c.xs0;
                          i = i._next
                        }
                    }, function(a, b, c, d, e) {
                      this.t = a, this.p = b, this.v = c, this.r = e, d && (d._prev = this, this._next = d)
                    }),
                    ua = (S._parseToProxy = function(a, b, c, d, e, f) {
                      var g, h, i, j, k, l = d,
                        m = {},
                        n = {},
                        o = c._transform,
                        p = M;
                      for (c._transform = null, M = b, d = k = c.parse(a, b, d, e), M = p, f && (c._transform = o, l && (l._prev = null, l._prev && (l._prev._next = null))); d && d !== l;) {
                        if (d.type <= 1 && (h = d.p, n[h] = d.s + d.c, m[h] = d.s, f || (j = new ta(d, "s", h, j, d.r), d.c = 0), 1 === d.type))
                          for (g = d.l; --g > 0;) i = "xn" + g, h = d.p + "_" + i, n[h] = d.data[i], m[h] = d[i], f || (j = new ta(d, i, h, j, d.rxp[i]));
                        d = d._next
                      }
                      return {
                        proxy: m,
                        end: n,
                        firstMPT: j,
                        pt: k
                      }
                    }, S.CSSPropTween = function(a, b, d, e, g, h, i, j, k, l, m) {
                      this.t = a, this.p = b, this.s = d, this.c = e, this.n = i || b, a instanceof ua || f.push(this.n), this.r = j ? "function" == typeof j ? j : Math.round : j, this.type = h || 0, k && (this.pr = k, c = !0), this.b =
                        void 0 === l ? d : l, this.e = void 0 === m ? d + e : m, g && (this._next = g, g._prev = this)
                    }),
                    va = function(a, b, c, d, e, f) {
                      var g = new ua(a, b, c, d - c, e, -1, f);
                      return g.b = c, g.e = g.xs0 = d, g
                    },
                    wa = g.parseComplex = function(a, b, c, d, e, f, h, i, j, l) {
                      c = c || f || "", "function" == typeof d && (d = d(r, q)), h = new ua(a, b, 0, 0, h, l ? 2 : 1, null, !1, i, c, d), d += "", e && qa.test(d + c) && (d = [c, d], g.colorStringFilter(d), c = d[0], d = d[1]);
                      var m, n, o, p, u, v, w, x, y, z, A, B, C, D = c.split(", ").join(",").split(" "),
                        E = d.split(", ").join(",").split(" "),
                        F = D.length,
                        G = k !== !1;
                      for ((-1 !== d.indexOf(",") || -1 !== c.indexOf(",")) && (-1 !== (d + c).indexOf("rgb") || -1 !== (d + c).indexOf("hsl") ? (D = D.join(" ").replace(I, ", ").split(" "), E = E.join(" ").replace(I, ", ").split(" ")) : (D = D
                          .join(" ").split(",").join(", ").split(" "), E = E.join(" ").split(",").join(", ").split(" ")), F = D.length), F !== E.length && (D = (f || "").split(" "), F = D.length), h.plugin = j, h.setRatio = l, qa.lastIndex = 0,
                        m = 0; F > m; m++)
                        if (p = D[m], u = E[m] + "", x = parseFloat(p), x || 0 === x) h.appendXtra("", x, ja(u, x), u.replace(t, ""), G && -1 !== u.indexOf("px") ? Math.round : !1, !0);
                        else if (e && qa.test(p)) B = u.indexOf(")") + 1, B = ")" + (B ? u.substr(B) : ""), C = -1 !== u.indexOf("hsl") && U, z = u, p = oa(p, C), u = oa(u, C), y = p.length + u.length > 6, y && !U && 0 === u[3] ? (h["xs" + h
                          .l] += h.l ? " transparent" : "transparent", h.e = h.e.split(E[m]).join("transparent")) : (U || (y = !1), C ? h.appendXtra(z.substr(0, z.indexOf("hsl")) + (y ? "hsla(" : "hsl("), p[0], ja(u[0], p[0]), ",", !1, !0)
                          .appendXtra("", p[1], ja(u[1], p[1]), "%,", !1).appendXtra("", p[2], ja(u[2], p[2]), y ? "%," : "%" + B, !1) : h.appendXtra(z.substr(0, z.indexOf("rgb")) + (y ? "rgba(" : "rgb("), p[0], u[0] - p[0], ",", Math.round, !0)
                          .appendXtra("", p[1], u[1] - p[1], ",", Math.round).appendXtra("", p[2], u[2] - p[2], y ? "," : B, Math.round), y && (p = p.length < 4 ? 1 : p[3], h.appendXtra("", p, (u.length < 4 ? 1 : u[3]) - p, B, !1))), qa
                        .lastIndex = 0;
                      else if (v = p.match(s)) {
                        if (w = u.match(t), !w || w.length !== v.length) return h;
                        for (o = 0, n = 0; n < v.length; n++) A = v[n], z = p.indexOf(A, o), h.appendXtra(p.substr(o, z - o), Number(A), ja(w[n], A), "", G && "px" === p.substr(z + A.length, 2) ? Math.round : !1, 0 === n), o = z + A.length;
                        h["xs" + h.l] += p.substr(o)
                      } else h["xs" + h.l] += h.l || h["xs" + h.l] ? " " + u : u;
                      if (-1 !== d.indexOf("=") && h.data) {
                        for (B = h.xs0 + h.data.s, m = 1; m < h.l; m++) B += h["xs" + m] + h.data["xn" + m];
                        h.e = B + h["xs" + m]
                      }
                      return h.l || (h.type = -1, h.xs0 = h.e), h.xfirst || h
                    },
                    xa = 9;
                  for (j = ua.prototype, j.l = j.pr = 0; --xa > 0;) j["xn" + xa] = 0, j["xs" + xa] = "";
                  j.xs0 = "", j._next = j._prev = j.xfirst = j.data = j.plugin = j.setRatio = j.rxp = null, j.appendXtra = function(a, b, c, d, e, f) {
                    var g = this,
                      h = g.l;
                    return g["xs" + h] += f && (h || g["xs" + h]) ? " " + a : a || "", c || 0 === h || g.plugin ? (g.l++, g.type = g.setRatio ? 2 : 1, g["xs" + g.l] = d || "", h > 0 ? (g.data["xn" + h] = b + c, g.rxp["xn" + h] = e, g["xn" +
                      h] = b, g.plugin || (g.xfirst = new ua(g, "xn" + h, b, c, g.xfirst || g, 0, g.n, e, g.pr), g.xfirst.xs0 = 0), g) : (g.data = {
                      s: b + c
                    }, g.rxp = {}, g.s = b, g.c = c, g.r = e, g)) : (g["xs" + h] += b + (d || ""), g)
                  };
                  var ya = function(a, b) {
                      b = b || {}, this.p = b.prefix ? Z(a) || a : a, i[a] = i[this.p] = this, this.format = b.formatter || ra(b.defaultValue, b.color, b.collapsible, b.multi), b.parser && (this.parse = b.parser), this.clrs = b.color, this
                        .multi = b.multi, this.keyword = b.keyword, this.dflt = b.defaultValue, this.allowFunc = b.allowFunc, this.pr = b.priority || 0
                    },
                    za = S._registerComplexSpecialProp = function(a, b, c) {
                      "object" != typeof b && (b = {
                        parser: c
                      });
                      var d, e, f = a.split(","),
                        g = b.defaultValue;
                      for (c = c || [g], d = 0; d < f.length; d++) b.prefix = 0 === d && b.prefix, b.defaultValue = c[d] || g, e = new ya(f[d], b)
                    },
                    Aa = S._registerPluginProp = function(a) {
                      if (!i[a]) {
                        var b = a.charAt(0).toUpperCase() + a.substr(1) + "Plugin";
                        za(a, {
                          parser: function(a, c, d, e, f, g, j) {
                            var k = h.com.greensock.plugins[b];
                            return k ? (k._cssRegister(), i[d].parse(a, c, d, e, f, g, j)) : (W("Error: " + b + " js file not loaded."), f)
                          }
                        })
                      }
                    };
                  j = ya.prototype, j.parseComplex = function(a, b, c, d, e, f) {
                    var g, h, i, j, k, l, m = this.keyword;
                    if (this.multi && (I.test(c) || I.test(b) ? (h = b.replace(I, "|").split("|"), i = c.replace(I, "|").split("|")) : m && (h = [b], i = [c])), i) {
                      for (j = i.length > h.length ? i.length : h.length, g = 0; j > g; g++) b = h[g] = h[g] || this.dflt, c = i[g] = i[g] || this.dflt, m && (k = b.indexOf(m), l = c.indexOf(m), k !== l && (-1 === l ? h[g] = h[g].split(m).join(
                        "") : -1 === k && (h[g] += " " + m)));
                      b = h.join(", "), c = i.join(", ")
                    }
                    return wa(a, this.p, b, c, this.clrs, this.dflt, d, this.pr, e, f)
                  }, j.parse = function(a, b, c, d, f, g, h) {
                    return this.parseComplex(a.style, this.format(aa(a, this.p, e, !1, this.dflt)), this.format(b), f, g)
                  }, g.registerSpecialProp = function(a, b, c) {
                    za(a, {
                      parser: function(a, d, e, f, g, h, i) {
                        var j = new ua(a, e, 0, 0, g, 2, e, !1, c);
                        return j.plugin = h, j.setRatio = b(a, d, f._tween, e), j
                      },
                      priority: c
                    })
                  }, g.useSVGTransformAttr = !0;
                  var Ba, Ca = "scaleX,scaleY,scaleZ,x,y,z,skewX,skewY,rotation,rotationX,rotationY,perspective,xPercent,yPercent".split(","),
                    Da = Z("transform"),
                    Ea = X + "transform",
                    Fa = Z("transformOrigin"),
                    Ga = null !== Z("perspective"),
                    Ha = S.Transform = function() {
                      this.perspective = parseFloat(g.defaultTransformPerspective) || 0, this.force3D = g.defaultForce3D !== !1 && Ga ? g.defaultForce3D || "auto" : !1
                    },
                    Ia = _gsScope.SVGElement,
                    Ja = function(a, b, c) {
                      var d, e = O.createElementNS("http://www.w3.org/2000/svg", a),
                        f = /([a-z])([A-Z])/g;
                      for (d in c) e.setAttributeNS(null, d.replace(f, "$1-$2").toLowerCase(), c[d]);
                      return b.appendChild(e), e
                    },
                    Ka = O.documentElement || {},
                    La = function() {
                      var a, b, c, d = p || /Android/i.test(T) && !_gsScope.chrome;
                      return O.createElementNS && !d && (a = Ja("svg", Ka), b = Ja("rect", a, {
                        width: 100,
                        height: 50,
                        x: 100
                      }), c = b.getBoundingClientRect().width, b.style[Fa] = "50% 50%", b.style[Da] = "scaleX(0.5)", d = c === b.getBoundingClientRect().width && !(n && Ga), Ka.removeChild(a)), d
                    }(),
                    Ma = function(a, b, c, d, e, f) {
                      var h, i, j, k, l, m, n, o, p, q, r, s, t, u, v = a._gsTransform,
                        w = Ra(a, !0);
                      v && (t = v.xOrigin, u = v.yOrigin), (!d || (h = d.split(" ")).length < 2) && (n = a.getBBox(), 0 === n.x && 0 === n.y && n.width + n.height === 0 && (n = {
                          x: parseFloat(a.hasAttribute("x") ? a.getAttribute("x") : a.hasAttribute("cx") ? a.getAttribute("cx") : 0) || 0,
                          y: parseFloat(a.hasAttribute("y") ? a.getAttribute("y") : a.hasAttribute("cy") ? a.getAttribute("cy") : 0) || 0,
                          width: 0,
                          height: 0
                        }), b = ia(b).split(" "), h = [(-1 !== b[0].indexOf("%") ? parseFloat(b[0]) / 100 * n.width : parseFloat(b[0])) + n.x, (-1 !== b[1].indexOf("%") ? parseFloat(b[1]) / 100 * n.height : parseFloat(b[1])) + n.y]), c.xOrigin =
                        k = parseFloat(h[0]), c.yOrigin = l = parseFloat(h[1]), d && w !== Qa && (m = w[0], n = w[1], o = w[2], p = w[3], q = w[4], r = w[5], s = m * p - n * o, s && (i = k * (p / s) + l * (-o / s) + (o * r - p * q) / s, j = k * (
                          -n / s) + l * (m / s) - (m * r - n * q) / s, k = c.xOrigin = h[0] = i, l = c.yOrigin = h[1] = j)), v && (f && (c.xOffset = v.xOffset, c.yOffset = v.yOffset, v = c), e || e !== !1 && g.defaultSmoothOrigin !== !1 ? (i =
                          k - t, j = l - u, v.xOffset += i * w[0] + j * w[2] - i, v.yOffset += i * w[1] + j * w[3] - j) : v.xOffset = v.yOffset = 0), f || a.setAttribute("data-svg-origin", h.join(" "))
                    },
                    Na = function(a) {
                      var b, c = P("svg", this.ownerSVGElement && this.ownerSVGElement.getAttribute("xmlns") || "http://www.w3.org/2000/svg"),
                        d = this.parentNode,
                        e = this.nextSibling,
                        f = this.style.cssText;
                      if (Ka.appendChild(c), c.appendChild(this), this.style.display = "block", a) try {
                        b = this.getBBox(), this._originalGetBBox = this.getBBox, this.getBBox = Na
                      } catch (g) {} else this._originalGetBBox && (b = this._originalGetBBox());
                      return e ? d.insertBefore(this, e) : d.appendChild(this), Ka.removeChild(c), this.style.cssText = f, b
                    },
                    Oa = function(a) {
                      try {
                        return a.getBBox()
                      } catch (b) {
                        return Na.call(a, !0)
                      }
                    },
                    Pa = function(a) {
                      return !(!Ia || !a.getCTM || a.parentNode && !a.ownerSVGElement || !Oa(a))
                    },
                    Qa = [1, 0, 0, 1, 0, 0],
                    Ra = function(a, b) {
                      var c, d, e, f, g, h, i, j = a._gsTransform || new Ha,
                        k = 1e5,
                        l = a.style;
                      if (Da ? d = aa(a, Ea, null, !0) : a.currentStyle && (d = a.currentStyle.filter.match(G), d = d && 4 === d.length ? [d[0].substr(4), Number(d[2].substr(4)), Number(d[1].substr(4)), d[3].substr(4), j.x || 0, j.y || 0].join(
                          ",") : ""), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, Da && c && !a.offsetParent && (f = l.display, l.display = "block", i = a.parentNode, i && a.offsetParent || (g = 1, h = a.nextSibling, Ka
                          .appendChild(a)), d = aa(a, Ea, null, !0), c = !d || "none" === d || "matrix(1, 0, 0, 1, 0, 0)" === d, f ? l.display = f : Wa(l, "display"), g && (h ? i.insertBefore(a, h) : i ? i.appendChild(a) : Ka.removeChild(a))), (j
                          .svg || a.getCTM && Pa(a)) && (c && -1 !== (l[Da] + "").indexOf("matrix") && (d = l[Da], c = 0), e = a.getAttribute("transform"), c && e && (e = a.transform.baseVal.consolidate().matrix, d = "matrix(" + e.a + "," + e.b +
                          "," + e.c + "," + e.d + "," + e.e + "," + e.f + ")", c = 0)), c) return Qa;
                      for (e = (d || "").match(s) || [], xa = e.length; --xa > -1;) f = Number(e[xa]), e[xa] = (g = f - (f |= 0)) ? (g * k + (0 > g ? -.5 : .5) | 0) / k + f : f;
                      return b && e.length > 6 ? [e[0], e[1], e[4], e[5], e[12], e[13]] : e
                    },
                    Sa = S.getTransform = function(a, c, d, e) {
                      if (a._gsTransform && d && !e) return a._gsTransform;
                      var f, h, i, j, k, l, m = d ? a._gsTransform || new Ha : new Ha,
                        n = m.scaleX < 0,
                        o = 2e-5,
                        p = 1e5,
                        q = Ga ? parseFloat(aa(a, Fa, c, !1, "0 0 0").split(" ")[2]) || m.zOrigin || 0 : 0,
                        r = parseFloat(g.defaultTransformPerspective) || 0;
                      if (m.svg = !(!a.getCTM || !Pa(a)), m.svg && (Ma(a, aa(a, Fa, c, !1, "50% 50%") + "", m, a.getAttribute("data-svg-origin")), Ba = g.useSVGTransformAttr || La), f = Ra(a), f !== Qa) {
                        if (16 === f.length) {
                          var s, t, u, v, w, x = f[0],
                            y = f[1],
                            z = f[2],
                            A = f[3],
                            B = f[4],
                            C = f[5],
                            D = f[6],
                            E = f[7],
                            F = f[8],
                            G = f[9],
                            H = f[10],
                            I = f[12],
                            J = f[13],
                            K = f[14],
                            M = f[11],
                            N = Math.atan2(D, H);
                          m.zOrigin && (K = -m.zOrigin, I = F * K - f[12], J = G * K - f[13], K = H * K + m.zOrigin - f[14]), m.rotationX = N * L, N && (v = Math.cos(-N), w = Math.sin(-N), s = B * v + F * w, t = C * v + G * w, u = D * v + H * w,
                              F = B * -w + F * v, G = C * -w + G * v, H = D * -w + H * v, M = E * -w + M * v, B = s, C = t, D = u), N = Math.atan2(-z, H), m.rotationY = N * L, N && (v = Math.cos(-N), w = Math.sin(-N), s = x * v - F * w, t = y *
                              v - G * w, u = z * v - H * w, G = y * w + G * v, H = z * w + H * v, M = A * w + M * v, x = s, y = t, z = u), N = Math.atan2(y, x), m.rotation = N * L, N && (v = Math.cos(N), w = Math.sin(N), s = x * v + y * w, t =
                              B * v + C * w, u = F * v + G * w, y = y * v - x * w, C = C * v - B * w, G = G * v - F * w, x = s, B = t, F = u), m.rotationX && Math.abs(m.rotationX) + Math.abs(m.rotation) > 359.9 && (m.rotationX = m.rotation = 0, m
                              .rotationY = 180 - m.rotationY), N = Math.atan2(B, C), m.scaleX = (Math.sqrt(x * x + y * y + z * z) * p + .5 | 0) / p, m.scaleY = (Math.sqrt(C * C + D * D) * p + .5 | 0) / p, m.scaleZ = (Math.sqrt(F * F + G * G + H *
                              H) * p + .5 | 0) / p, x /= m.scaleX, B /= m.scaleY, y /= m.scaleX, C /= m.scaleY, Math.abs(N) > o ? (m.skewX = N * L, B = 0, "simple" !== m.skewType && (m.scaleY *= 1 / Math.cos(N))) : m.skewX = 0, m.perspective =
                            M ? 1 / (0 > M ? -M : M) : 0, m.x = I, m.y = J, m.z = K, m.svg && (m.x -= m.xOrigin - (m.xOrigin * x - m.yOrigin * B), m.y -= m.yOrigin - (m.yOrigin * y - m.xOrigin * C))
                        } else if (!Ga || e || !f.length || m.x !== f[4] || m.y !== f[5] || !m.rotationX && !m.rotationY) {
                          var O = f.length >= 6,
                            P = O ? f[0] : 1,
                            Q = f[1] || 0,
                            R = f[2] || 0,
                            S = O ? f[3] : 1;
                          m.x = f[4] || 0, m.y = f[5] || 0, i = Math.sqrt(P * P + Q * Q), j = Math.sqrt(S * S + R * R), k = P || Q ? Math.atan2(Q, P) * L : m.rotation || 0, l = R || S ? Math.atan2(R, S) * L + k : m.skewX || 0, m.scaleX = i, m
                            .scaleY = j, m.rotation = k, m.skewX = l, Ga && (m.rotationX = m.rotationY = m.z = 0, m.perspective = r, m.scaleZ = 1), m.svg && (m.x -= m.xOrigin - (m.xOrigin * P + m.yOrigin * R), m.y -= m.yOrigin - (m.xOrigin * Q +
                              m.yOrigin * S))
                        }
                        Math.abs(m.skewX) > 90 && Math.abs(m.skewX) < 270 && (n ? (m.scaleX *= -1, m.skewX += m.rotation <= 0 ? 180 : -180, m.rotation += m.rotation <= 0 ? 180 : -180) : (m.scaleY *= -1, m.skewX += m.skewX <= 0 ? 180 : -180)), m
                          .zOrigin = q;
                        for (h in m) m[h] < o && m[h] > -o && (m[h] = 0)
                      }
                      return d && (a._gsTransform = m, m.svg && (Ba && a.style[Da] ? b.delayedCall(.001, function() {
                        Wa(a.style, Da)
                      }) : !Ba && a.getAttribute("transform") && b.delayedCall(.001, function() {
                        a.removeAttribute("transform")
                      }))), m
                    },
                    Ta = function(a) {
                      var b, c, d = this.data,
                        e = -d.rotation * K,
                        f = e + d.skewX * K,
                        g = 1e5,
                        h = (Math.cos(e) * d.scaleX * g | 0) / g,
                        i = (Math.sin(e) * d.scaleX * g | 0) / g,
                        j = (Math.sin(f) * -d.scaleY * g | 0) / g,
                        k = (Math.cos(f) * d.scaleY * g | 0) / g,
                        l = this.t.style,
                        m = this.t.currentStyle;
                      if (m) {
                        c = i, i = -j, j = -c, b = m.filter, l.filter = "";
                        var n, o, q = this.t.offsetWidth,
                          r = this.t.offsetHeight,
                          s = "absolute" !== m.position,
                          t = "progid:DXImageTransform.Microsoft.Matrix(M11=" + h + ", M12=" + i + ", M21=" + j + ", M22=" + k,
                          u = d.x + q * d.xPercent / 100,
                          v = d.y + r * d.yPercent / 100;
                        if (null != d.ox && (n = (d.oxp ? q * d.ox * .01 : d.ox) - q / 2, o = (d.oyp ? r * d.oy * .01 : d.oy) - r / 2, u += n - (n * h + o * i), v += o - (n * j + o * k)), s ? (n = q / 2, o = r / 2, t += ", Dx=" + (n - (n * h +
                            o * i) + u) + ", Dy=" + (o - (n * j + o * k) + v) + ")") : t += ", sizingMethod='auto expand')", -1 !== b.indexOf("DXImageTransform.Microsoft.Matrix(") ? l.filter = b.replace(H, t) : l.filter = t + " " + b, (0 === a ||
                            1 === a) && 1 === h && 0 === i && 0 === j && 1 === k && (s && -1 === t.indexOf("Dx=0, Dy=0") || x.test(b) && 100 !== parseFloat(RegExp.$1) || -1 === b.indexOf(b.indexOf("Alpha")) && l.removeAttribute("filter")), !s) {
                          var y, z, A, B = 8 > p ? 1 : -1;
                          for (n = d.ieOffsetX || 0, o = d.ieOffsetY || 0, d.ieOffsetX = Math.round((q - ((0 > h ? -h : h) * q + (0 > i ? -i : i) * r)) / 2 + u), d.ieOffsetY = Math.round((r - ((0 > k ? -k : k) * r + (0 > j ? -j : j) * q)) / 2 +
                              v), xa = 0; 4 > xa; xa++) z = ga[xa], y = m[z], c = -1 !== y.indexOf("px") ? parseFloat(y) : ba(this.t, z, parseFloat(y), y.replace(w, "")) || 0, A = c !== d[z] ? 2 > xa ? -d.ieOffsetX : -d.ieOffsetY : 2 > xa ? n - d
                            .ieOffsetX : o - d.ieOffsetY, l[z] = (d[z] = Math.round(c - A * (0 === xa || 2 === xa ? 1 : B))) + "px"
                        }
                      }
                    },
                    Ua = S.set3DTransformRatio = S.setTransformRatio = function(a) {
                      var b, c, d, e, f, g, h, i, j, k, l, m, o, p, q, r, s, t, u, v, w, x, y, z = this.data,
                        A = this.t.style,
                        B = z.rotation,
                        C = z.rotationX,
                        D = z.rotationY,
                        E = z.scaleX,
                        F = z.scaleY,
                        G = z.scaleZ,
                        H = z.x,
                        I = z.y,
                        J = z.z,
                        L = z.svg,
                        M = z.perspective,
                        N = z.force3D,
                        O = z.skewY,
                        P = z.skewX;
                      if (O && (P += O, B += O), ((1 === a || 0 === a) && "auto" === N && (this.tween._totalTime === this.tween._totalDuration || !this.tween._totalTime) || !N) && !J && !M && !D && !C && 1 === G || Ba && L || !Ga) return void(
                        B || P || L ? (B *= K, x = P * K, y = 1e5, c = Math.cos(B) * E, f = Math.sin(B) * E, d = Math.sin(B - x) * -F, g = Math.cos(B - x) * F, x && "simple" === z.skewType && (b = Math.tan(x - O * K), b = Math.sqrt(1 + b *
                          b), d *= b, g *= b, O && (b = Math.tan(O * K), b = Math.sqrt(1 + b * b), c *= b, f *= b)), L && (H += z.xOrigin - (z.xOrigin * c + z.yOrigin * d) + z.xOffset, I += z.yOrigin - (z.xOrigin * f + z.yOrigin * g) + z
                          .yOffset, Ba && (z.xPercent || z.yPercent) && (q = this.t.getBBox(), H += .01 * z.xPercent * q.width, I += .01 * z.yPercent * q.height), q = 1e-6, q > H && H > -q && (H = 0), q > I && I > -q && (I = 0)), u = (c *
                          y | 0) / y + "," + (f * y | 0) / y + "," + (d * y | 0) / y + "," + (g * y | 0) / y + "," + H + "," + I + ")", L && Ba ? this.t.setAttribute("transform", "matrix(" + u) : A[Da] = (z.xPercent || z.yPercent ?
                          "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + u) : A[Da] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) matrix(" : "matrix(") + E + ",0,0," + F + "," +
                        H + "," + I + ")");
                      if (n && (q = 1e-4, q > E && E > -q && (E = G = 2e-5), q > F && F > -q && (F = G = 2e-5), !M || z.z || z.rotationX || z.rotationY || (M = 0)), B || P) B *= K, r = c = Math.cos(B), s = f = Math.sin(B), P && (B -= P * K, r =
                        Math.cos(B), s = Math.sin(B), "simple" === z.skewType && (b = Math.tan((P - O) * K), b = Math.sqrt(1 + b * b), r *= b, s *= b, z.skewY && (b = Math.tan(O * K), b = Math.sqrt(1 + b * b), c *= b, f *= b))), d = -s, g = r;
                      else {
                        if (!(D || C || 1 !== G || M || L)) return void(A[Da] = (z.xPercent || z.yPercent ? "translate(" + z.xPercent + "%," + z.yPercent + "%) translate3d(" : "translate3d(") + H + "px," + I + "px," + J + "px)" + (1 !== E ||
                          1 !== F ? " scale(" + E + "," + F + ")" : ""));
                        c = g = 1, d = f = 0
                      }
                      k = 1, e = h = i = j = l = m = 0, o = M ? -1 / M : 0, p = z.zOrigin, q = 1e-6, v = ",", w = "0", B = D * K, B && (r = Math.cos(B), s = Math.sin(B), i = -s, l = o * -s, e = c * s, h = f * s, k = r, o *= r, c *= r, f *= r),
                        B = C * K, B && (r = Math.cos(B), s = Math.sin(B), b = d * r + e * s, t = g * r + h * s, j = k * s, m = o * s, e = d * -s + e * r, h = g * -s + h * r, k *= r, o *= r, d = b, g = t), 1 !== G && (e *= G, h *= G, k *= G, o *=
                          G), 1 !== F && (d *= F, g *= F, j *= F, m *= F), 1 !== E && (c *= E, f *= E, i *= E, l *= E), (p || L) && (p && (H += e * -p, I += h * -p, J += k * -p + p), L && (H += z.xOrigin - (z.xOrigin * c + z.yOrigin * d) + z
                          .xOffset, I += z.yOrigin - (z.xOrigin * f + z.yOrigin * g) + z.yOffset), q > H && H > -q && (H = w), q > I && I > -q && (I = w), q > J && J > -q && (J = 0)), u = z.xPercent || z.yPercent ? "translate(" + z.xPercent +
                        "%," + z.yPercent + "%) matrix3d(" : "matrix3d(", u += (q > c && c > -q ? w : c) + v + (q > f && f > -q ? w : f) + v + (q > i && i > -q ? w : i), u += v + (q > l && l > -q ? w : l) + v + (q > d && d > -q ? w : d) + v + (
                          q > g && g > -q ? w : g), C || D || 1 !== G ? (u += v + (q > j && j > -q ? w : j) + v + (q > m && m > -q ? w : m) + v + (q > e && e > -q ? w : e), u += v + (q > h && h > -q ? w : h) + v + (q > k && k > -q ? w : k) + v +
                          (q > o && o > -q ? w : o) + v) : u += ",0,0,0,0,1,0,", u += H + v + I + v + J + v + (M ? 1 + -J / M : 1) + ")", A[Da] = u
                    };
                  j = Ha.prototype, j.x = j.y = j.z = j.skewX = j.skewY = j.rotation = j.rotationX = j.rotationY = j.zOrigin = j.xPercent = j.yPercent = j.xOffset = j.yOffset = 0, j.scaleX = j.scaleY = j.scaleZ = 1, za(
                    "transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,svgOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType,xPercent,yPercent,smoothOrigin", {
                      parser: function(a, b, c, d, f, h, i) {
                        if (d._lastParsedTransform === i) return f;
                        d._lastParsedTransform = i;
                        var j = i.scale && "function" == typeof i.scale ? i.scale : 0;
                        j && (i.scale = j(r, a));
                        var k, l, m, n, o, p, s, t, u, v = a._gsTransform,
                          w = a.style,
                          x = 1e-6,
                          y = Ca.length,
                          z = i,
                          A = {},
                          B = "transformOrigin",
                          C = Sa(a, e, !0, z.parseTransform),
                          D = z.transform && ("function" == typeof z.transform ? z.transform(r, q) : z.transform);
                        if (C.skewType = z.skewType || C.skewType || g.defaultSkewType, d._transform = C, "rotationZ" in z && (z.rotation = z.rotationZ), D && "string" == typeof D && Da) l = Q.style, l[Da] = D, l.display = "block", l
                          .position = "absolute", -1 !== D.indexOf("%") && (l.width = aa(a, "width"), l.height = aa(a, "height")), O.body.appendChild(Q), k = Sa(Q, null, !1), "simple" === C.skewType && (k.scaleY *= Math.cos(k.skewX * K)), C
                          .svg && (p = C.xOrigin, s = C.yOrigin, k.x -= C.xOffset, k.y -= C.yOffset, (z.transformOrigin || z.svgOrigin) && (D = {}, Ma(a, ia(z.transformOrigin), D, z.svgOrigin, z.smoothOrigin, !0), p = D.xOrigin, s = D
                            .yOrigin, k.x -= D.xOffset - C.xOffset, k.y -= D.yOffset - C.yOffset), (p || s) && (t = Ra(Q, !0), k.x -= p - (p * t[0] + s * t[2]), k.y -= s - (p * t[1] + s * t[3]))), O.body.removeChild(Q), k.perspective || (k
                            .perspective = C.perspective), null != z.xPercent && (k.xPercent = ka(z.xPercent, C.xPercent)), null != z.yPercent && (k.yPercent = ka(z.yPercent, C.yPercent));
                        else if ("object" == typeof z) {
                          if (k = {
                              scaleX: ka(null != z.scaleX ? z.scaleX : z.scale, C.scaleX),
                              scaleY: ka(null != z.scaleY ? z.scaleY : z.scale, C.scaleY),
                              scaleZ: ka(z.scaleZ, C.scaleZ),
                              x: ka(z.x, C.x),
                              y: ka(z.y, C.y),
                              z: ka(z.z, C.z),
                              xPercent: ka(z.xPercent, C.xPercent),
                              yPercent: ka(z.yPercent, C.yPercent),
                              perspective: ka(z.transformPerspective, C.perspective)
                            }, o = z.directionalRotation, null != o)
                            if ("object" == typeof o)
                              for (l in o) z[l] = o[l];
                            else z.rotation = o;
                          "string" == typeof z.x && -1 !== z.x.indexOf("%") && (k.x = 0, k.xPercent = ka(z.x, C.xPercent)), "string" == typeof z.y && -1 !== z.y.indexOf("%") && (k.y = 0, k.yPercent = ka(z.y, C.yPercent)), k.rotation = la(
                            "rotation" in z ? z.rotation : "shortRotation" in z ? z.shortRotation + "_short" : C.rotation, C.rotation, "rotation", A), Ga && (k.rotationX = la("rotationX" in z ? z.rotationX : "shortRotationX" in z ? z
                            .shortRotationX + "_short" : C.rotationX || 0, C.rotationX, "rotationX", A), k.rotationY = la("rotationY" in z ? z.rotationY : "shortRotationY" in z ? z.shortRotationY + "_short" : C.rotationY || 0, C
                            .rotationY, "rotationY", A)), k.skewX = la(z.skewX, C.skewX), k.skewY = la(z.skewY, C.skewY)
                        }
                        for (Ga && null != z.force3D && (C.force3D = z.force3D, n = !0), m = C.force3D || C.z || C.rotationX || C.rotationY || k.z || k.rotationX || k.rotationY || k.perspective, m || null == z.scale || (k.scaleZ = 1); --y > -
                          1;) u = Ca[y], D = k[u] - C[u], (D > x || -x > D || null != z[u] || null != M[u]) && (n = !0, f = new ua(C, u, C[u], D, f), u in A && (f.e = A[u]), f.xs0 = 0, f.plugin = h, d._overwriteProps.push(f.n));
                        return D = "function" == typeof z.transformOrigin ? z.transformOrigin(r, q) : z.transformOrigin, C.svg && (D || z.svgOrigin) && (p = C.xOffset, s = C.yOffset, Ma(a, ia(D), k, z.svgOrigin, z.smoothOrigin), f = va(C,
                          "xOrigin", (v ? C : k).xOrigin, k.xOrigin, f, B), f = va(C, "yOrigin", (v ? C : k).yOrigin, k.yOrigin, f, B), (p !== C.xOffset || s !== C.yOffset) && (f = va(C, "xOffset", v ? p : C.xOffset, C.xOffset, f, B), f =
                          va(C, "yOffset", v ? s : C.yOffset, C.yOffset, f, B)), D = "0px 0px"), (D || Ga && m && C.zOrigin) && (Da ? (n = !0, u = Fa, D || (D = (aa(a, u, e, !1, "50% 50%") + "").split(" "), D = D[0] + " " + D[1] + " " + C
                          .zOrigin + "px"), D += "", f = new ua(w, u, 0, 0, f, -1, B), f.b = w[u], f.plugin = h, Ga ? (l = C.zOrigin, D = D.split(" "), C.zOrigin = (D.length > 2 ? parseFloat(D[2]) : l) || 0, f.xs0 = f.e = D[0] + " " + (
                          D[1] || "50%") + " 0px", f = new ua(C, "zOrigin", 0, 0, f, -1, f.n), f.b = l, f.xs0 = f.e = C.zOrigin) : f.xs0 = f.e = D) : ia(D + "", C)), n && (d._transformType = C.svg && Ba || !m && 3 !== this._transformType ?
                          2 : 3), j && (i.scale = j), f
                      },
                      allowFunc: !0,
                      prefix: !0
                    }), za("boxShadow", {
                    defaultValue: "0px 0px 0px 0px #999",
                    prefix: !0,
                    color: !0,
                    multi: !0,
                    keyword: "inset"
                  }), za("clipPath", {
                    defaultValue: "inset(0px)",
                    prefix: !0,
                    multi: !0,
                    formatter: ra("inset(0px 0px 0px 0px)", !1, !0)
                  }), za("borderRadius", {
                    defaultValue: "0px",
                    parser: function(a, b, c, f, g, h) {
                      b = this.format(b);
                      var i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y = ["borderTopLeftRadius", "borderTopRightRadius", "borderBottomRightRadius", "borderBottomLeftRadius"],
                        z = a.style;
                      for (q = parseFloat(a.offsetWidth), r = parseFloat(a.offsetHeight), i = b.split(" "), j = 0; j < y.length; j++) this.p.indexOf("border") && (y[j] = Z(y[j])), m = l = aa(a, y[j], e, !1, "0px"), -1 !== m.indexOf(" ") &&
                        (l = m.split(" "), m = l[0], l = l[1]), n = k = i[j], o = parseFloat(m), t = m.substr((o + "").length), u = "=" === n.charAt(1), u ? (p = parseInt(n.charAt(0) + "1", 10), n = n.substr(2), p *= parseFloat(n), s = n
                          .substr((p + "").length - (0 > p ? 1 : 0)) || "") : (p = parseFloat(n), s = n.substr((p + "").length)), "" === s && (s = d[c] || t), s !== t && (v = ba(a, "borderLeft", o, t), w = ba(a, "borderTop", o, t), "%" ===
                          s ? (m = v / q * 100 + "%", l = w / r * 100 + "%") : "em" === s ? (x = ba(a, "borderLeft", 1, "em"), m = v / x + "em", l = w / x + "em") : (m = v + "px", l = w + "px"), u && (n = parseFloat(m) + p + s, k =
                            parseFloat(l) + p + s)), g = wa(z, y[j], m + " " + l, n + " " + k, !1, "0px", g);
                      return g
                    },
                    prefix: !0,
                    formatter: ra("0px 0px 0px 0px", !1, !0)
                  }), za("borderBottomLeftRadius,borderBottomRightRadius,borderTopLeftRadius,borderTopRightRadius", {
                    defaultValue: "0px",
                    parser: function(a, b, c, d, f, g) {
                      return wa(a.style, c, this.format(aa(a, c, e, !1, "0px 0px")), this.format(b), !1, "0px", f)
                    },
                    prefix: !0,
                    formatter: ra("0px 0px", !1, !0)
                  }), za("backgroundPosition", {
                    defaultValue: "0 0",
                    parser: function(a, b, c, d, f, g) {
                      var h, i, j, k, l, m, n = "background-position",
                        o = e || _(a, null),
                        q = this.format((o ? p ? o.getPropertyValue(n + "-x") + " " + o.getPropertyValue(n + "-y") : o.getPropertyValue(n) : a.currentStyle.backgroundPositionX + " " + a.currentStyle.backgroundPositionY) || "0 0"),
                        r = this.format(b);
                      if (-1 !== q.indexOf("%") != (-1 !== r.indexOf("%")) && r.split(",").length < 2 && (m = aa(a, "backgroundImage").replace(D, ""), m && "none" !== m)) {
                        for (h = q.split(" "), i = r.split(" "), R.setAttribute("src", m), j = 2; --j > -1;) q = h[j], k = -1 !== q.indexOf("%"), k !== (-1 !== i[j].indexOf("%")) && (l = 0 === j ? a.offsetWidth - R.width : a.offsetHeight -
                          R.height, h[j] = k ? parseFloat(q) / 100 * l + "px" : parseFloat(q) / l * 100 + "%");
                        q = h.join(" ")
                      }
                      return this.parseComplex(a.style, q, r, f, g)
                    },
                    formatter: ia
                  }), za("backgroundSize", {
                    defaultValue: "0 0",
                    formatter: function(a) {
                      return a += "", "co" === a.substr(0, 2) ? a : ia(-1 === a.indexOf(" ") ? a + " " + a : a)
                    }
                  }), za("perspective", {
                    defaultValue: "0px",
                    prefix: !0
                  }), za("perspectiveOrigin", {
                    defaultValue: "50% 50%",
                    prefix: !0
                  }), za("transformStyle", {
                    prefix: !0
                  }), za("backfaceVisibility", {
                    prefix: !0
                  }), za("userSelect", {
                    prefix: !0
                  }), za("margin", {
                    parser: sa("marginTop,marginRight,marginBottom,marginLeft")
                  }), za("padding", {
                    parser: sa("paddingTop,paddingRight,paddingBottom,paddingLeft")
                  }), za("clip", {
                    defaultValue: "rect(0px,0px,0px,0px)",
                    parser: function(a, b, c, d, f, g) {
                      var h, i, j;
                      return 9 > p ? (i = a.currentStyle, j = 8 > p ? " " : ",", h = "rect(" + i.clipTop + j + i.clipRight + j + i.clipBottom + j + i.clipLeft + ")", b = this.format(b).split(",").join(j)) : (h = this.format(aa(a, this.p, e,
                        !1, this.dflt)), b = this.format(b)), this.parseComplex(a.style, h, b, f, g)
                    }
                  }), za("textShadow", {
                    defaultValue: "0px 0px 0px #999",
                    color: !0,
                    multi: !0
                  }), za("autoRound,strictUnits", {
                    parser: function(a, b, c, d, e) {
                      return e
                    }
                  }), za("border", {
                    defaultValue: "0px solid #000",
                    parser: function(a, b, c, d, f, g) {
                      var h = aa(a, "borderTopWidth", e, !1, "0px"),
                        i = this.format(b).split(" "),
                        j = i[0].replace(w, "");
                      return "px" !== j && (h = parseFloat(h) / ba(a, "borderTopWidth", 1, j) + j), this.parseComplex(a.style, this.format(h + " " + aa(a, "borderTopStyle", e, !1, "solid") + " " + aa(a, "borderTopColor", e, !1, "#000")), i
                        .join(" "), f, g)
                    },
                    color: !0,
                    formatter: function(a) {
                      var b = a.split(" ");
                      return b[0] + " " + (b[1] || "solid") + " " + (a.match(qa) || ["#000"])[0]
                    }
                  }), za("borderWidth", {
                    parser: sa("borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth")
                  }), za("float,cssFloat,styleFloat", {
                    parser: function(a, b, c, d, e, f) {
                      var g = a.style,
                        h = "cssFloat" in g ? "cssFloat" : "styleFloat";
                      return new ua(g, h, 0, 0, e, -1, c, !1, 0, g[h], b)
                    }
                  });
                  var Va = function(a) {
                    var b, c = this.t,
                      d = c.filter || aa(this.data, "filter") || "",
                      e = this.s + this.c * a | 0;
                    100 === e && (-1 === d.indexOf("atrix(") && -1 === d.indexOf("radient(") && -1 === d.indexOf("oader(") ? (c.removeAttribute("filter"), b = !aa(this.data, "filter")) : (c.filter = d.replace(z, ""), b = !0)), b || (this.xn1 &&
                      (c.filter = d = d || "alpha(opacity=" + e + ")"), -1 === d.indexOf("pacity") ? 0 === e && this.xn1 || (c.filter = d + " alpha(opacity=" + e + ")") : c.filter = d.replace(x, "opacity=" + e))
                  };
                  za("opacity,alpha,autoAlpha", {
                    defaultValue: "1",
                    parser: function(a, b, c, d, f, g) {
                      var h = parseFloat(aa(a, "opacity", e, !1, "1")),
                        i = a.style,
                        j = "autoAlpha" === c;
                      return "string" == typeof b && "=" === b.charAt(1) && (b = ("-" === b.charAt(0) ? -1 : 1) * parseFloat(b.substr(2)) + h), j && 1 === h && "hidden" === aa(a, "visibility", e) && 0 !== b && (h = 0), U ? f = new ua(i,
                        "opacity", h, b - h, f) : (f = new ua(i, "opacity", 100 * h, 100 * (b - h), f), f.xn1 = j ? 1 : 0, i.zoom = 1, f.type = 2, f.b = "alpha(opacity=" + f.s + ")", f.e = "alpha(opacity=" + (f.s + f.c) + ")", f.data = a,
                        f.plugin = g, f.setRatio = Va), j && (f = new ua(i, "visibility", 0, 0, f, -1, null, !1, 0, 0 !== h ? "inherit" : "hidden", 0 === b ? "hidden" : "inherit"), f.xs0 = "inherit", d._overwriteProps.push(f.n), d
                        ._overwriteProps.push(c)), f
                    }
                  });
                  var Wa = function(a, b) {
                      b && (a.removeProperty ? (("ms" === b.substr(0, 2) || "webkit" === b.substr(0, 6)) && (b = "-" + b), a.removeProperty(b.replace(B, "-$1").toLowerCase())) : a.removeAttribute(b))
                    },
                    Xa = function(a) {
                      if (this.t._gsClassPT = this, 1 === a || 0 === a) {
                        this.t.setAttribute("class", 0 === a ? this.b : this.e);
                        for (var b = this.data, c = this.t.style; b;) b.v ? c[b.p] = b.v : Wa(c, b.p), b = b._next;
                        1 === a && this.t._gsClassPT === this && (this.t._gsClassPT = null)
                      } else this.t.getAttribute("class") !== this.e && this.t.setAttribute("class", this.e)
                    };
                  za("className", {
                    parser: function(a, b, d, f, g, h, i) {
                      var j, k, l, m, n, o = a.getAttribute("class") || "",
                        p = a.style.cssText;
                      if (g = f._classNamePT = new ua(a, d, 0, 0, g, 2), g.setRatio = Xa, g.pr = -11, c = !0, g.b = o, k = da(a, e), l = a._gsClassPT) {
                        for (m = {}, n = l.data; n;) m[n.p] = 1, n = n._next;
                        l.setRatio(1)
                      }
                      return a._gsClassPT = g, g.e = "=" !== b.charAt(1) ? b : o.replace(new RegExp("(?:\\s|^)" + b.substr(2) + "(?![\\w-])"), "") + ("+" === b.charAt(0) ? " " + b.substr(2) : ""), a.setAttribute("class", g.e), j = ea(a, k,
                        da(a), i, m), a.setAttribute("class", o), g.data = j.firstMPT, a.style.cssText = p, g = g.xfirst = f.parse(a, j.difs, g, h)
                    }
                  });
                  var Ya = function(a) {
                    if ((1 === a || 0 === a) && this.data._totalTime === this.data._totalDuration && "isFromStart" !== this.data.data) {
                      var b, c, d, e, f, g = this.t.style,
                        h = i.transform.parse;
                      if ("all" === this.e) g.cssText = "", e = !0;
                      else
                        for (b = this.e.split(" ").join("").split(","), d = b.length; --d > -1;) c = b[d], i[c] && (i[c].parse === h ? e = !0 : c = "transformOrigin" === c ? Fa : i[c].p), Wa(g, c);
                      e && (Wa(g, Da), f = this.t._gsTransform, f && (f.svg && (this.t.removeAttribute("data-svg-origin"), this.t.removeAttribute("transform")), delete this.t._gsTransform))
                    }
                  };
                  for (za("clearProps", {
                      parser: function(a, b, d, e, f) {
                        return f = new ua(a, d, 0, 0, f, 2), f.setRatio = Ya, f.e = b, f.pr = -10, f.data = e._tween, c = !0, f
                      }
                    }), j = "bezier,throwProps,physicsProps,physics2D".split(","), xa = j.length; xa--;) Aa(j[xa]);
                  j = g.prototype, j._firstPT = j._lastParsedTransform = j._transform = null, j._onInitTween = function(a, b, h, j) {
                    if (!a.nodeType) return !1;
                    this._target = q = a, this._tween = h, this._vars = b, r = j, k = b.autoRound, c = !1, d = b.suffixMap || g.suffixMap, e = _(a, ""), f = this._overwriteProps;
                    var n, p, s, t, u, v, w, x, z, A = a.style;
                    if (l && "" === A.zIndex && (n = aa(a, "zIndex", e), ("auto" === n || "" === n) && this._addLazySet(A, "zIndex", 0)), "string" == typeof b && (t = A.cssText, n = da(a, e), A.cssText = t + ";" + b, n = ea(a, n, da(a)).difs, !
                        U && y.test(b) && (n.opacity = parseFloat(RegExp.$1)), b = n, A.cssText = t), b.className ? this._firstPT = p = i.className.parse(a, b.className, "className", this, null, null, b) : this._firstPT = p = this.parse(a, b,
                        null), this._transformType) {
                      for (z = 3 === this._transformType, Da ? m && (l = !0, "" === A.zIndex && (w = aa(a, "zIndex", e), ("auto" === w || "" === w) && this._addLazySet(A, "zIndex", 0)), o && this._addLazySet(A, "WebkitBackfaceVisibility", this
                          ._vars.WebkitBackfaceVisibility || (z ? "visible" : "hidden"))) : A.zoom = 1, s = p; s && s._next;) s = s._next;
                      x = new ua(a, "transform", 0, 0, null, 2), this._linkCSSP(x, null, s), x.setRatio = Da ? Ua : Ta, x.data = this._transform || Sa(a, e, !0), x.tween = h, x.pr = -1, f.pop()
                    }
                    if (c) {
                      for (; p;) {
                        for (v = p._next, s = t; s && s.pr > p.pr;) s = s._next;
                        (p._prev = s ? s._prev : u) ? p._prev._next = p: t = p, (p._next = s) ? s._prev = p : u = p, p = v
                      }
                      this._firstPT = t
                    }
                    return !0
                  }, j.parse = function(a, b, c, f) {
                    var g, h, j, l, m, n, o, p, s, t, u = a.style;
                    for (g in b) {
                      if (n = b[g], h = i[g], "function" != typeof n || h && h.allowFunc || (n = n(r, q)), h) c = h.parse(a, n, g, this, c, f, b);
                      else {
                        if ("--" === g.substr(0, 2)) {
                          this._tween._propLookup[g] = this._addTween.call(this._tween, a.style, "setProperty", _(a).getPropertyValue(g) + "", n + "", g, !1, g);
                          continue
                        }
                        m = aa(a, g, e) + "", s = "string" == typeof n, "color" === g || "fill" === g || "stroke" === g || -1 !== g.indexOf("Color") || s && A.test(n) ? (s || (n = oa(n), n = (n.length > 3 ? "rgba(" : "rgb(") + n.join(",") +
                          ")"), c = wa(u, g, m, n, !0, "transparent", c, 0, f)) : s && J.test(n) ? c = wa(u, g, m, n, !0, null, c, 0, f) : (j = parseFloat(m), o = j || 0 === j ? m.substr((j + "").length) : "", ("" === m || "auto" === m) && (
                            "width" === g || "height" === g ? (j = ha(a, g, e), o = "px") : "left" === g || "top" === g ? (j = ca(a, g, e), o = "px") : (j = "opacity" !== g ? 0 : 1, o = "")), t = s && "=" === n.charAt(1), t ? (l = parseInt(n
                            .charAt(0) + "1", 10), n = n.substr(2), l *= parseFloat(n), p = n.replace(w, "")) : (l = parseFloat(n), p = s ? n.replace(w, "") : ""), "" === p && (p = g in d ? d[g] : o), n = l || 0 === l ? (t ? l + j : l) + p :
                          b[g], o !== p && ("" !== p || "lineHeight" === g) && (l || 0 === l) && j && (j = ba(a, g, j, o), "%" === p ? (j /= ba(a, g, 100, "%") / 100, b.strictUnits !== !0 && (m = j + "%")) : "em" === p || "rem" === p ||
                            "vw" === p || "vh" === p ? j /= ba(a, g, 1, p) : "px" !== p && (l = ba(a, g, l, p), p = "px"), t && (l || 0 === l) && (n = l + j + p)), t && (l += j), !j && 0 !== j || !l && 0 !== l ? void 0 !== u[g] && (n || n +
                            "" != "NaN" && null != n) ? (c = new ua(u, g, l || j || 0, 0, c, -1, g, !1, 0, m, n), c.xs0 = "none" !== n || "display" !== g && -1 === g.indexOf("Style") ? n : m) : W("invalid " + g + " tween value: " + b[g]) : (
                            c = new ua(u, g, j, l - j, c, 0, g, k !== !1 && ("px" === p || "zIndex" === g), 0, m, n), c.xs0 = p))
                      }
                      f && c && !c.plugin && (c.plugin = f)
                    }
                    return c
                  }, j.setRatio = function(a) {
                    var b, c, d, e = this._firstPT,
                      f = 1e-6;
                    if (1 !== a || this._tween._time !== this._tween._duration && 0 !== this._tween._time)
                      if (a || this._tween._time !== this._tween._duration && 0 !== this._tween._time || this._tween._rawPrevTime === -1e-6)
                        for (; e;) {
                          if (b = e.c * a + e.s, e.r ? b = e.r(b) : f > b && b > -f && (b = 0), e.type)
                            if (1 === e.type)
                              if (d = e.l, 2 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2;
                              else if (3 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3;
                          else if (4 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4;
                          else if (5 === d) e.t[e.p] = e.xs0 + b + e.xs1 + e.xn1 + e.xs2 + e.xn2 + e.xs3 + e.xn3 + e.xs4 + e.xn4 + e.xs5;
                          else {
                            for (c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) c += e["xn" + d] + e["xs" + (d + 1)];
                            e.t[e.p] = c
                          } else - 1 === e.type ? e.t[e.p] = e.xs0 : e.setRatio && e.setRatio(a);
                          else e.t[e.p] = b + e.xs0;
                          e = e._next
                        } else
                          for (; e;) 2 !== e.type ? e.t[e.p] = e.b : e.setRatio(a), e = e._next;
                      else
                        for (; e;) {
                          if (2 !== e.type)
                            if (e.r && -1 !== e.type)
                              if (b = e.r(e.s + e.c), e.type) {
                                if (1 === e.type) {
                                  for (d = e.l, c = e.xs0 + b + e.xs1, d = 1; d < e.l; d++) c += e["xn" + d] + e["xs" + (d + 1)];
                                  e.t[e.p] = c
                                }
                              } else e.t[e.p] = b + e.xs0;
                          else e.t[e.p] = e.e;
                          else e.setRatio(a);
                          e = e._next
                        }
                  }, j._enableTransforms = function(a) {
                    this._transform = this._transform || Sa(this._target, e, !0), this._transformType = this._transform.svg && Ba || !a && 3 !== this._transformType ? 2 : 3
                  };
                  var Za = function(a) {
                    this.t[this.p] = this.e, this.data._linkCSSP(this, this._next, null, !0)
                  };
                  j._addLazySet = function(a, b, c) {
                    var d = this._firstPT = new ua(a, b, 0, 0, this._firstPT, 2);
                    d.e = c, d.setRatio = Za, d.data = this
                  }, j._linkCSSP = function(a, b, c, d) {
                    return a && (b && (b._prev = a), a._next && (a._next._prev = a._prev), a._prev ? a._prev._next = a._next : this._firstPT === a && (this._firstPT = a._next, d = !0), c ? c._next = a : d || null !== this._firstPT || (this
                      ._firstPT = a), a._next = b, a._prev = c), a
                  }, j._mod = function(a) {
                    for (var b = this._firstPT; b;) "function" == typeof a[b.p] && (b.r = a[b.p]), b = b._next
                  }, j._kill = function(b) {
                    var c, d, e, f = b;
                    if (b.autoAlpha || b.alpha) {
                      f = {};
                      for (d in b) f[d] = b[d];
                      f.opacity = 1, f.autoAlpha && (f.visibility = 1)
                    }
                    for (b.className && (c = this._classNamePT) && (e = c.xfirst, e && e._prev ? this._linkCSSP(e._prev, c._next, e._prev._prev) : e === this._firstPT && (this._firstPT = c._next), c._next && this._linkCSSP(c._next, c._next
                        ._next, e._prev), this._classNamePT = null), c = this._firstPT; c;) c.plugin && c.plugin !== d && c.plugin._kill && (c.plugin._kill(b), d = c.plugin), c = c._next;
                    return a.prototype._kill.call(this, f)
                  };
                  var $a = function(a, b, c) {
                    var d, e, f, g;
                    if (a.slice)
                      for (e = a.length; --e > -1;) $a(a[e], b, c);
                    else
                      for (d = a.childNodes, e = d.length; --e > -1;) f = d[e], g = f.type, f.style && (b.push(da(f)), c && c.push(f)), 1 !== g && 9 !== g && 11 !== g || !f.childNodes.length || $a(f, b, c)
                  };
                  return g.cascadeTo = function(a, c, d) {
                    var e, f, g, h, i = b.to(a, c, d),
                      j = [i],
                      k = [],
                      l = [],
                      m = [],
                      n = b._internals.reservedProps;
                    for (a = i._targets || i.target, $a(a, k, m), i.render(c, !0, !0), $a(a, l), i.render(0, !0, !0), i._enabled(!0), e = m.length; --e > -1;)
                      if (f = ea(m[e], k[e], l[e]), f.firstMPT) {
                        f = f.difs;
                        for (g in d) n[g] && (f[g] = d[g]);
                        h = {};
                        for (g in f) h[g] = k[e][g];
                        j.push(b.fromTo(m[e], c, h, f))
                      } return j
                  }, a.activate([g]), g
                }, !0),
                function() {
                  var a = _gsScope._gsDefine.plugin({
                      propName: "roundProps",
                      version: "1.7.0",
                      priority: -1,
                      API: 2,
                      init: function(a, b, c) {
                        return this._tween = c, !0
                      }
                    }),
                    b = function(a) {
                      var b = 1 > a ? Math.pow(10, (a + "").length - 2) : 1;
                      return function(c) {
                        return (Math.round(c / a) * a * b | 0) / b
                      }
                    },
                    c = function(a, b) {
                      for (; a;) a.f || a.blob || (a.m = b || Math.round), a = a._next
                    },
                    d = a.prototype;
                  d._onInitAllProps = function() {
                    var a, d, e, f, g = this._tween,
                      h = g.vars.roundProps,
                      i = {},
                      j = g._propLookup.roundProps;
                    if ("object" != typeof h || h.push)
                      for ("string" == typeof h && (h = h.split(",")), e = h.length; --e > -1;) i[h[e]] = Math.round;
                    else
                      for (f in h) i[f] = b(h[f]);
                    for (f in i)
                      for (a = g._firstPT; a;) d = a._next, a.pg ? a.t._mod(i) : a.n === f && (2 === a.f && a.t ? c(a.t._firstPT, i[f]) : (this._add(a.t, f, a.s, a.c, i[f]), d && (d._prev = a._prev), a._prev ? a._prev._next = d : g._firstPT ===
                        a && (g._firstPT = d), a._next = a._prev = null, g._propLookup[f] = j)), a = d;
                    return !1
                  }, d._add = function(a, b, c, d, e) {
                    this._addTween(a, b, c, c + d, b, e || Math.round), this._overwriteProps.push(b)
                  }
                }(),
                function() {
                  _gsScope._gsDefine.plugin({
                    propName: "attr",
                    API: 2,
                    version: "0.6.1",
                    init: function(a, b, c, d) {
                      var e, f;
                      if ("function" != typeof a.setAttribute) return !1;
                      for (e in b) f = b[e], "function" == typeof f && (f = f(d, a)), this._addTween(a, "setAttribute", a.getAttribute(e) + "", f + "", e, !1, e), this._overwriteProps.push(e);
                      return !0
                    }
                  })
                }(), _gsScope._gsDefine.plugin({
                  propName: "directionalRotation",
                  version: "0.3.1",
                  API: 2,
                  init: function(a, b, c, d) {
                    "object" != typeof b && (b = {
                      rotation: b
                    }), this.finals = {};
                    var e, f, g, h, i, j, k = b.useRadians === !0 ? 2 * Math.PI : 360,
                      l = 1e-6;
                    for (e in b) "useRadians" !== e && (h = b[e], "function" == typeof h && (h = h(d, a)), j = (h + "").split("_"), f = j[0], g = parseFloat("function" != typeof a[e] ? a[e] : a[e.indexOf("set") || "function" != typeof a["get" +
                      e.substr(3)] ? e : "get" + e.substr(3)]()), h = this.finals[e] = "string" == typeof f && "=" === f.charAt(1) ? g + parseInt(f.charAt(0) + "1", 10) * Number(f.substr(2)) : Number(f) || 0, i = h - g, j.length && (f = j
                      .join("_"), -1 !== f.indexOf("short") && (i %= k, i !== i % (k / 2) && (i = 0 > i ? i + k : i - k)), -1 !== f.indexOf("_cw") && 0 > i ? i = (i + 9999999999 * k) % k - (i / k | 0) * k : -1 !== f.indexOf("ccw") && i >
                      0 && (i = (i - 9999999999 * k) % k - (i / k | 0) * k)), (i > l || -l > i) && (this._addTween(a, e, g, g + i, e), this._overwriteProps.push(e)));
                    return !0
                  },
                  set: function(a) {
                    var b;
                    if (1 !== a) this._super.setRatio.call(this, a);
                    else
                      for (b = this._firstPT; b;) b.f ? b.t[b.p](this.finals[b.p]) : b.t[b.p] = this.finals[b.p], b = b._next
                  }
                })._autoCSS = !0, _gsScope._gsDefine("easing.Back", ["easing.Ease"], function(a) {
                  var b, c, d, e, f = _gsScope.GreenSockGlobals || _gsScope,
                    g = f.com.greensock,
                    h = 2 * Math.PI,
                    i = Math.PI / 2,
                    j = g._class,
                    k = function(b, c) {
                      var d = j("easing." + b, function() {}, !0),
                        e = d.prototype = new a;
                      return e.constructor = d, e.getRatio = c, d
                    },
                    l = a.register || function() {},
                    m = function(a, b, c, d, e) {
                      var f = j("easing." + a, {
                        easeOut: new b,
                        easeIn: new c,
                        easeInOut: new d
                      }, !0);
                      return l(f, a), f
                    },
                    n = function(a, b, c) {
                      this.t = a, this.v = b, c && (this.next = c, c.prev = this, this.c = c.v - b, this.gap = c.t - a)
                    },
                    o = function(b, c) {
                      var d = j("easing." + b, function(a) {
                          this._p1 = a || 0 === a ? a : 1.70158, this._p2 = 1.525 * this._p1
                        }, !0),
                        e = d.prototype = new a;
                      return e.constructor = d, e.getRatio = c, e.config = function(a) {
                        return new d(a)
                      }, d
                    },
                    p = m("Back", o("BackOut", function(a) {
                      return (a -= 1) * a * ((this._p1 + 1) * a + this._p1) + 1
                    }), o("BackIn", function(a) {
                      return a * a * ((this._p1 + 1) * a - this._p1)
                    }), o("BackInOut", function(a) {
                      return (a *= 2) < 1 ? .5 * a * a * ((this._p2 + 1) * a - this._p2) : .5 * ((a -= 2) * a * ((this._p2 + 1) * a + this._p2) + 2)
                    })),
                    q = j("easing.SlowMo", function(a, b, c) {
                      b = b || 0 === b ? b : .7, null == a ? a = .7 : a > 1 && (a = 1), this._p = 1 !== a ? b : 0, this._p1 = (1 - a) / 2, this._p2 = a, this._p3 = this._p1 + this._p2, this._calcEnd = c === !0
                    }, !0),
                    r = q.prototype = new a;
                  return r.constructor = q, r.getRatio = function(a) {
                    var b = a + (.5 - a) * this._p;
                    return a < this._p1 ? this._calcEnd ? 1 - (a = 1 - a / this._p1) * a : b - (a = 1 - a / this._p1) * a * a * a * b : a > this._p3 ? this._calcEnd ? 1 === a ? 0 : 1 - (a = (a - this._p3) / this._p1) * a : b + (a - b) * (a = (
                      a - this._p3) / this._p1) * a * a * a : this._calcEnd ? 1 : b
                  }, q.ease = new q(.7, .7), r.config = q.config = function(a, b, c) {
                    return new q(a, b, c)
                  }, b = j("easing.SteppedEase", function(a, b) {
                    a = a || 1, this._p1 = 1 / a, this._p2 = a + (b ? 0 : 1), this._p3 = b ? 1 : 0
                  }, !0), r = b.prototype = new a, r.constructor = b, r.getRatio = function(a) {
                    return 0 > a ? a = 0 : a >= 1 && (a = .999999999), ((this._p2 * a | 0) + this._p3) * this._p1
                  }, r.config = b.config = function(a, c) {
                    return new b(a, c)
                  }, c = j("easing.ExpoScaleEase", function(a, b, c) {
                    this._p1 = Math.log(b / a), this._p2 = b - a, this._p3 = a, this._ease = c
                  }, !0), r = c.prototype = new a, r.constructor = c, r.getRatio = function(a) {
                    return this._ease && (a = this._ease.getRatio(a)), (this._p3 * Math.exp(this._p1 * a) - this._p3) / this._p2
                  }, r.config = c.config = function(a, b, d) {
                    return new c(a, b, d)
                  }, d = j("easing.RoughEase", function(b) {
                    b = b || {};
                    for (var c, d, e, f, g, h, i = b.taper || "none", j = [], k = 0, l = 0 | (b.points || 20), m = l, o = b.randomize !== !1, p = b.clamp === !0, q = b.template instanceof a ? b.template : null, r = "number" == typeof b
                        .strength ? .4 * b.strength : .4; --m > -1;) c = o ? Math.random() : 1 / l * m, d = q ? q.getRatio(c) : c, "none" === i ? e = r : "out" === i ? (f = 1 - c, e = f * f * r) : "in" === i ? e = c * c * r : .5 > c ? (f =
                      2 * c, e = f * f * .5 * r) : (f = 2 * (1 - c), e = f * f * .5 * r), o ? d += Math.random() * e - .5 * e : m % 2 ? d += .5 * e : d -= .5 * e, p && (d > 1 ? d = 1 : 0 > d && (d = 0)), j[k++] = {
                      x: c,
                      y: d
                    };
                    for (j.sort(function(a, b) {
                        return a.x - b.x
                      }), h = new n(1, 1, null), m = l; --m > -1;) g = j[m], h = new n(g.x, g.y, h);
                    this._prev = new n(0, 0, 0 !== h.t ? h : h.next)
                  }, !0), r = d.prototype = new a, r.constructor = d, r.getRatio = function(a) {
                    var b = this._prev;
                    if (a > b.t) {
                      for (; b.next && a >= b.t;) b = b.next;
                      b = b.prev
                    } else
                      for (; b.prev && a <= b.t;) b = b.prev;
                    return this._prev = b, b.v + (a - b.t) / b.gap * b.c
                  }, r.config = function(a) {
                    return new d(a)
                  }, d.ease = new d, m("Bounce", k("BounceOut", function(a) {
                    return 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) * a + .984375
                  }), k("BounceIn", function(a) {
                    return (a = 1 - a) < 1 / 2.75 ? 1 - 7.5625 * a * a : 2 / 2.75 > a ? 1 - (7.5625 * (a -= 1.5 / 2.75) * a + .75) : 2.5 / 2.75 > a ? 1 - (7.5625 * (a -= 2.25 / 2.75) * a + .9375) : 1 - (7.5625 * (a -= 2.625 / 2.75) * a +
                      .984375)
                  }), k("BounceInOut", function(a) {
                    var b = .5 > a;
                    return a = b ? 1 - 2 * a : 2 * a - 1, a = 1 / 2.75 > a ? 7.5625 * a * a : 2 / 2.75 > a ? 7.5625 * (a -= 1.5 / 2.75) * a + .75 : 2.5 / 2.75 > a ? 7.5625 * (a -= 2.25 / 2.75) * a + .9375 : 7.5625 * (a -= 2.625 / 2.75) *
                      a + .984375, b ? .5 * (1 - a) : .5 * a + .5
                  })), m("Circ", k("CircOut", function(a) {
                    return Math.sqrt(1 - (a -= 1) * a)
                  }), k("CircIn", function(a) {
                    return -(Math.sqrt(1 - a * a) - 1)
                  }), k("CircInOut", function(a) {
                    return (a *= 2) < 1 ? -.5 * (Math.sqrt(1 - a * a) - 1) : .5 * (Math.sqrt(1 - (a -= 2) * a) + 1)
                  })), e = function(b, c, d) {
                    var e = j("easing." + b, function(a, b) {
                        this._p1 = a >= 1 ? a : 1, this._p2 = (b || d) / (1 > a ? a : 1), this._p3 = this._p2 / h * (Math.asin(1 / this._p1) || 0), this._p2 = h / this._p2
                      }, !0),
                      f = e.prototype = new a;
                    return f.constructor = e, f.getRatio = c, f.config = function(a, b) {
                      return new e(a, b)
                    }, e
                  }, m("Elastic", e("ElasticOut", function(a) {
                    return this._p1 * Math.pow(2, -10 * a) * Math.sin((a - this._p3) * this._p2) + 1
                  }, .3), e("ElasticIn", function(a) {
                    return -(this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2))
                  }, .3), e("ElasticInOut", function(a) {
                    return (a *= 2) < 1 ? -.5 * (this._p1 * Math.pow(2, 10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2)) : this._p1 * Math.pow(2, -10 * (a -= 1)) * Math.sin((a - this._p3) * this._p2) * .5 + 1
                  }, .45)), m("Expo", k("ExpoOut", function(a) {
                    return 1 - Math.pow(2, -10 * a)
                  }), k("ExpoIn", function(a) {
                    return Math.pow(2, 10 * (a - 1)) - .001
                  }), k("ExpoInOut", function(a) {
                    return (a *= 2) < 1 ? .5 * Math.pow(2, 10 * (a - 1)) : .5 * (2 - Math.pow(2, -10 * (a - 1)))
                  })), m("Sine", k("SineOut", function(a) {
                    return Math.sin(a * i)
                  }), k("SineIn", function(a) {
                    return -Math.cos(a * i) + 1
                  }), k("SineInOut", function(a) {
                    return -.5 * (Math.cos(Math.PI * a) - 1)
                  })), j("easing.EaseLookup", {
                    find: function(b) {
                      return a.map[b]
                    }
                  }, !0), l(f.SlowMo, "SlowMo", "ease,"), l(d, "RoughEase", "ease,"), l(b, "SteppedEase", "ease,"), p
                }, !0)
            }), _gsScope._gsDefine && _gsScope._gsQueue.pop()(),
            function(a, b) {
              "use strict";
              var c = {},
                d = a.document,
                e = a.GreenSockGlobals = a.GreenSockGlobals || a,
                f = e[b];
              if (f) return "undefined" != typeof module && module.exports && (module.exports = f), f;
              var g, h, i, j, k, l = function(a) {
                  var b, c = a.split("."),
                    d = e;
                  for (b = 0; b < c.length; b++) d[c[b]] = d = d[c[b]] || {};
                  return d
                },
                m = l("com.greensock"),
                n = 1e-8,
                o = function(a) {
                  var b, c = [],
                    d = a.length;
                  for (b = 0; b !== d; c.push(a[b++]));
                  return c
                },
                p = function() {},
                q = function() {
                  var a = Object.prototype.toString,
                    b = a.call([]);
                  return function(c) {
                    return null != c && (c instanceof Array || "object" == typeof c && !!c.push && a.call(c) === b)
                  }
                }(),
                r = {},
                s = function(d, f, g, h) {
                  this.sc = r[d] ? r[d].sc : [], r[d] = this, this.gsClass = null, this.func = g;
                  var i = [];
                  this.check = function(j) {
                    for (var k, m, n, o, p = f.length, q = p; --p > -1;)(k = r[f[p]] || new s(f[p], [])).gsClass ? (i[p] = k.gsClass, q--) : j && k.sc.push(this);
                    if (0 === q && g) {
                      if (m = ("com.greensock." + d).split("."), n = m.pop(), o = l(m.join("."))[n] = this.gsClass = g.apply(g, i), h)
                        if (e[n] = c[n] = o, "undefined" != typeof module && module.exports)
                          if (d === b) {
                            module.exports = c[b] = o;
                            for (p in c) o[p] = c[p]
                          } else c[b] && (c[b][n] = o);
                      else "function" == typeof define && define.amd && define((a.GreenSockAMDPath ? a.GreenSockAMDPath + "/" : "") + d.split(".").pop(), [], function() {
                        return o
                      });
                      for (p = 0; p < this.sc.length; p++) this.sc[p].check()
                    }
                  }, this.check(!0)
                },
                t = a._gsDefine = function(a, b, c, d) {
                  return new s(a, b, c, d)
                },
                u = m._class = function(a, b, c) {
                  return b = b || function() {}, t(a, [], function() {
                    return b
                  }, c), b
                };
              t.globals = e;
              var v = [0, 0, 1, 1],
                w = u("easing.Ease", function(a, b, c, d) {
                  this._func = a, this._type = c || 0, this._power = d || 0, this._params = b ? v.concat(b) : v
                }, !0),
                x = w.map = {},
                y = w.register = function(a, b, c, d) {
                  for (var e, f, g, h, i = b.split(","), j = i.length, k = (c || "easeIn,easeOut,easeInOut").split(","); --j > -1;)
                    for (f = i[j], e = d ? u("easing." + f, null, !0) : m.easing[f] || {}, g = k.length; --g > -1;) h = k[g], x[f + "." + h] = x[h + f] = e[h] = a.getRatio ? a : a[h] || new a
                };
              for (i = w.prototype, i._calcEnd = !1, i.getRatio = function(a) {
                  if (this._func) return this._params[0] = a, this._func.apply(null, this._params);
                  var b = this._type,
                    c = this._power,
                    d = 1 === b ? 1 - a : 2 === b ? a : .5 > a ? 2 * a : 2 * (1 - a);
                  return 1 === c ? d *= d : 2 === c ? d *= d * d : 3 === c ? d *= d * d * d : 4 === c && (d *= d * d * d * d), 1 === b ? 1 - d : 2 === b ? d : .5 > a ? d / 2 : 1 - d / 2
                }, g = ["Linear", "Quad", "Cubic", "Quart", "Quint,Strong"], h = g.length; --h > -1;) i = g[h] + ",Power" + h, y(new w(null, null, 1, h), i, "easeOut", !0), y(new w(null, null, 2, h), i, "easeIn" + (0 === h ? ",easeNone" : "")), y(
                new w(null, null, 3, h), i, "easeInOut");
              x.linear = m.easing.Linear.easeIn, x.swing = m.easing.Quad.easeInOut;
              var z = u("events.EventDispatcher", function(a) {
                this._listeners = {}, this._eventTarget = a || this
              });
              i = z.prototype, i.addEventListener = function(a, b, c, d, e) {
                e = e || 0;
                var f, g, h = this._listeners[a],
                  i = 0;
                for (this !== j || k || j.wake(), null == h && (this._listeners[a] = h = []), g = h.length; --g > -1;) f = h[g], f.c === b && f.s === c ? h.splice(g, 1) : 0 === i && f.pr < e && (i = g + 1);
                h.splice(i, 0, {
                  c: b,
                  s: c,
                  up: d,
                  pr: e
                })
              }, i.removeEventListener = function(a, b) {
                var c, d = this._listeners[a];
                if (d)
                  for (c = d.length; --c > -1;)
                    if (d[c].c === b) return void d.splice(c, 1)
              }, i.dispatchEvent = function(a) {
                var b, c, d, e = this._listeners[a];
                if (e)
                  for (b = e.length, b > 1 && (e = e.slice(0)), c = this._eventTarget; --b > -1;) d = e[b], d && (d.up ? d.c.call(d.s || c, {
                    type: a,
                    target: c
                  }) : d.c.call(d.s || c))
              };
              var A = a.requestAnimationFrame,
                B = a.cancelAnimationFrame,
                C = Date.now || function() {
                  return (new Date).getTime()
                },
                D = C();
              for (g = ["ms", "moz", "webkit", "o"], h = g.length; --h > -1 && !A;) A = a[g[h] + "RequestAnimationFrame"], B = a[g[h] + "CancelAnimationFrame"] || a[g[h] + "CancelRequestAnimationFrame"];
              u("Ticker", function(a, b) {
                var c, e, f, g, h, i = this,
                  l = C(),
                  m = b !== !1 && A ? "auto" : !1,
                  o = 500,
                  q = 33,
                  r = "tick",
                  s = function(a) {
                    var b, d, j = C() - D;
                    j > o && (l += j - q), D += j, i.time = (D - l) / 1e3, b = i.time - h, (!c || b > 0 || a === !0) && (i.frame++, h += b + (b >= g ? .004 : g - b), d = !0), a !== !0 && (f = e(s)), d && i.dispatchEvent(r)
                  };
                z.call(i), i.time = i.frame = 0, i.tick = function() {
                  s(!0)
                }, i.lagSmoothing = function(a, b) {
                  return arguments.length ? (o = a || 1 / n, void(q = Math.min(b, o, 0))) : 1 / n > o
                }, i.sleep = function() {
                  null != f && (m && B ? B(f) : clearTimeout(f), e = p, f = null, i === j && (k = !1))
                }, i.wake = function(a) {
                  null !== f ? i.sleep() : a ? l += -D + (D = C()) : i.frame > 10 && (D = C() - o + 5), e = 0 === c ? p : m && A ? A : function(a) {
                    return setTimeout(a, 1e3 * (h - i.time) + 1 | 0)
                  }, i === j && (k = !0), s(2)
                }, i.fps = function(a) {
                  return arguments.length ? (c = a, g = 1 / (c || 60), h = this.time + g, void i.wake()) : c
                }, i.useRAF = function(a) {
                  return arguments.length ? (i.sleep(), m = a, void i.fps(c)) : m
                }, i.fps(a), setTimeout(function() {
                  "auto" === m && i.frame < 5 && "hidden" !== (d || {}).visibilityState && i.useRAF(!1)
                }, 1500)
              }), i = m.Ticker.prototype = new m.events.EventDispatcher, i.constructor = m.Ticker;
              var E = u("core.Animation", function(a, b) {
                if (this.vars = b = b || {}, this._duration = this._totalDuration = a || 0, this._delay = Number(b.delay) || 0, this._timeScale = 1, this._active = !!b.immediateRender, this.data = b.data, this._reversed = !!b.reversed, Z) {
                  k || j.wake();
                  var c = this.vars.useFrames ? Y : Z;
                  c.add(this, c._time), this.vars.paused && this.paused(!0)
                }
              });
              j = E.ticker = new m.Ticker, i = E.prototype, i._dirty = i._gc = i._initted = i._paused = !1, i._totalTime = i._time = 0, i._rawPrevTime = -1, i._next = i._last = i._onUpdate = i._timeline = i.timeline = null, i._paused = !1;
              var F = function() {
                k && C() - D > 2e3 && ("hidden" !== (d || {}).visibilityState || !j.lagSmoothing()) && j.wake();
                var a = setTimeout(F, 2e3);
                a.unref && a.unref()
              };
              F(), i.play = function(a, b) {
                return null != a && this.seek(a, b), this.reversed(!1).paused(!1)
              }, i.pause = function(a, b) {
                return null != a && this.seek(a, b), this.paused(!0)
              }, i.resume = function(a, b) {
                return null != a && this.seek(a, b), this.paused(!1)
              }, i.seek = function(a, b) {
                return this.totalTime(Number(a), b !== !1)
              }, i.restart = function(a, b) {
                return this.reversed(!1).paused(!1).totalTime(a ? -this._delay : 0, b !== !1, !0)
              }, i.reverse = function(a, b) {
                return null != a && this.seek(a || this.totalDuration(), b), this.reversed(!0).paused(!1)
              }, i.render = function(a, b, c) {}, i.invalidate = function() {
                return this._time = this._totalTime = 0, this._initted = this._gc = !1, this._rawPrevTime = -1, (this._gc || !this.timeline) && this._enabled(!0), this
              }, i.isActive = function() {
                var a, b = this._timeline,
                  c = this._startTime;
                return !b || !this._gc && !this._paused && b.isActive() && (a = b.rawTime(!0)) >= c && a < c + this.totalDuration() / this._timeScale - n
              }, i._enabled = function(a, b) {
                return k || j.wake(), this._gc = !a, this._active = this.isActive(), b !== !0 && (a && !this.timeline ? this._timeline.add(this, this._startTime - this._delay) : !a && this.timeline && this._timeline._remove(this, !0)), !1
              }, i._kill = function(a, b) {
                return this._enabled(!1, !1)
              }, i.kill = function(a, b) {
                return this._kill(a, b), this
              }, i._uncache = function(a) {
                for (var b = a ? this : this.timeline; b;) b._dirty = !0, b = b.timeline;
                return this
              }, i._swapSelfInParams = function(a) {
                for (var b = a.length, c = a.concat(); --b > -1;) "{self}" === a[b] && (c[b] = this);
                return c
              }, i._callback = function(a) {
                var b = this.vars,
                  c = b[a],
                  d = b[a + "Params"],
                  e = b[a + "Scope"] || b.callbackScope || this,
                  f = d ? d.length : 0;
                switch (f) {
                  case 0:
                    c.call(e);
                    break;
                  case 1:
                    c.call(e, d[0]);
                    break;
                  case 2:
                    c.call(e, d[0], d[1]);
                    break;
                  default:
                    c.apply(e, d)
                }
              }, i.eventCallback = function(a, b, c, d) {
                if ("on" === (a || "").substr(0, 2)) {
                  var e = this.vars;
                  if (1 === arguments.length) return e[a];
                  null == b ? delete e[a] : (e[a] = b, e[a + "Params"] = q(c) && -1 !== c.join("").indexOf("{self}") ? this._swapSelfInParams(c) : c, e[a + "Scope"] = d), "onUpdate" === a && (this._onUpdate = b)
                }
                return this
              }, i.delay = function(a) {
                return arguments.length ? (this._timeline.smoothChildTiming && this.startTime(this._startTime + a - this._delay), this._delay = a, this) : this._delay
              }, i.duration = function(a) {
                return arguments.length ? (this._duration = this._totalDuration = a, this._uncache(!0), this._timeline.smoothChildTiming && this._time > 0 && this._time < this._duration && 0 !== a && this.totalTime(this._totalTime * (a / this
                  ._duration), !0), this) : (this._dirty = !1, this._duration)
              }, i.totalDuration = function(a) {
                return this._dirty = !1, arguments.length ? this.duration(a) : this._totalDuration
              }, i.time = function(a, b) {
                return arguments.length ? (this._dirty && this.totalDuration(), this.totalTime(a > this._duration ? this._duration : a, b)) : this._time
              }, i.totalTime = function(a, b, c) {
                if (k || j.wake(), !arguments.length) return this._totalTime;
                if (this._timeline) {
                  if (0 > a && !c && (a += this.totalDuration()), this._timeline.smoothChildTiming) {
                    this._dirty && this.totalDuration();
                    var d = this._totalDuration,
                      e = this._timeline;
                    if (a > d && !c && (a = d), this._startTime = (this._paused ? this._pauseTime : e._time) - (this._reversed ? d - a : a) / this._timeScale, e._dirty || this._uncache(!1), e._timeline)
                      for (; e._timeline;) e._timeline._time !== (e._startTime + e._totalTime) / e._timeScale && e.totalTime(e._totalTime, !0), e = e._timeline
                  }
                  this._gc && this._enabled(!0, !1), (this._totalTime !== a || 0 === this._duration) && (K.length && _(), this.render(a, b, !1), K.length && _())
                }
                return this
              }, i.progress = i.totalProgress = function(a, b) {
                var c = this.duration();
                return arguments.length ? this.totalTime(c * a, b) : c ? this._time / c : this.ratio
              }, i.startTime = function(a) {
                return arguments.length ? (a !== this._startTime && (this._startTime = a, this.timeline && this.timeline._sortChildren && this.timeline.add(this, a - this._delay)), this) : this._startTime
              }, i.endTime = function(a) {
                return this._startTime + (0 != a ? this.totalDuration() : this.duration()) / this._timeScale
              }, i.timeScale = function(a) {
                if (!arguments.length) return this._timeScale;
                var b, c;
                for (a = a || n, this._timeline && this._timeline.smoothChildTiming && (b = this._pauseTime, c = b || 0 === b ? b : this._timeline.totalTime(), this._startTime = c - (c - this._startTime) * this._timeScale / a), this._timeScale = a,
                  c = this.timeline; c && c.timeline;) c._dirty = !0, c.totalDuration(), c = c.timeline;
                return this
              }, i.reversed = function(a) {
                return arguments.length ? (a != this._reversed && (this._reversed = a, this.totalTime(this._timeline && !this._timeline.smoothChildTiming ? this.totalDuration() - this._totalTime : this._totalTime, !0)), this) : this._reversed
              }, i.paused = function(a) {
                if (!arguments.length) return this._paused;
                var b, c, d = this._timeline;
                return a != this._paused && d && (k || a || j.wake(), b = d.rawTime(), c = b - this._pauseTime, !a && d.smoothChildTiming && (this._startTime += c, this._uncache(!1)), this._pauseTime = a ? b : null, this._paused = a, this._active =
                    this.isActive(), !a && 0 !== c && this._initted && this.duration() && (b = d.smoothChildTiming ? this._totalTime : (b - this._startTime) / this._timeScale, this.render(b, b === this._totalTime, !0))), this._gc && !a && this
                  ._enabled(!0, !1), this
              };
              var G = u("core.SimpleTimeline", function(a) {
                E.call(this, 0, a), this.autoRemoveChildren = this.smoothChildTiming = !0
              });
              i = G.prototype = new E, i.constructor = G, i.kill()._gc = !1, i._first = i._last = i._recent = null, i._sortChildren = !1, i.add = i.insert = function(a, b, c, d) {
                var e, f;
                if (a._startTime = Number(b || 0) + a._delay, a._paused && this !== a._timeline && (a._pauseTime = this.rawTime() - (a._timeline.rawTime() - a._pauseTime)), a.timeline && a.timeline._remove(a, !0), a.timeline = a._timeline = this, a
                  ._gc && a._enabled(!0, !0), e = this._last, this._sortChildren)
                  for (f = a._startTime; e && e._startTime > f;) e = e._prev;
                return e ? (a._next = e._next, e._next = a) : (a._next = this._first, this._first = a), a._next ? a._next._prev = a : this._last = a, a._prev = e, this._recent = a, this._timeline && this._uncache(!0), this
              }, i._remove = function(a, b) {
                return a.timeline === this && (b || a._enabled(!1, !0), a._prev ? a._prev._next = a._next : this._first === a && (this._first = a._next), a._next ? a._next._prev = a._prev : this._last === a && (this._last = a._prev), a._next = a
                  ._prev = a.timeline = null, a === this._recent && (this._recent = this._last), this._timeline && this._uncache(!0)), this
              }, i.render = function(a, b, c) {
                var d, e = this._first;
                for (this._totalTime = this._time = this._rawPrevTime = a; e;) d = e._next, (e._active || a >= e._startTime && !e._paused && !e._gc) && (e._reversed ? e.render((e._dirty ? e.totalDuration() : e._totalDuration) - (a - e._startTime) *
                  e._timeScale, b, c) : e.render((a - e._startTime) * e._timeScale, b, c)), e = d
              }, i.rawTime = function() {
                return k || j.wake(), this._totalTime
              };
              var H = u("TweenLite", function(b, c, d) {
                  if (E.call(this, c, d), this.render = H.prototype.render, null == b) throw "Cannot tween a null target.";
                  this.target = b = "string" != typeof b ? b : H.selector(b) || b;
                  var e, f, g, h = b.jquery || b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType),
                    i = this.vars.overwrite;
                  if (this._overwrite = i = null == i ? X[H.defaultOverwrite] : "number" == typeof i ? i >> 0 : X[i], (h || b instanceof Array || b.push && q(b)) && "number" != typeof b[0])
                    for (this._targets = g = o(b), this._propLookup = [], this._siblings = [], e = 0; e < g.length; e++) f = g[e], f ? "string" != typeof f ? f.length && f !== a && f[0] && (f[0] === a || f[0].nodeType && f[0].style && !f
                      .nodeType) ? (g.splice(e--, 1), this._targets = g = g.concat(o(f))) : (this._siblings[e] = aa(f, this, !1), 1 === i && this._siblings[e].length > 1 && ca(f, this, null, 1, this._siblings[e])) : (f = g[e--] = H.selector(f),
                        "string" == typeof f && g.splice(e + 1, 1)) : g.splice(e--, 1);
                  else this._propLookup = {}, this._siblings = aa(b, this, !1), 1 === i && this._siblings.length > 1 && ca(b, this, null, 1, this._siblings);
                  (this.vars.immediateRender || 0 === c && 0 === this._delay && this.vars.immediateRender !== !1) && (this._time = -n, this.render(Math.min(0, -this._delay)))
                }, !0),
                I = function(b) {
                  return b && b.length && b !== a && b[0] && (b[0] === a || b[0].nodeType && b[0].style && !b.nodeType)
                },
                J = function(a, b) {
                  var c, d = {};
                  for (c in a) W[c] || c in b && "transform" !== c && "x" !== c && "y" !== c && "width" !== c && "height" !== c && "className" !== c && "border" !== c || !(!T[c] || T[c] && T[c]._autoCSS) || (d[c] = a[c], delete a[c]);
                  a.css = d
                };
              i = H.prototype = new E, i.constructor = H, i.kill()._gc = !1, i.ratio = 0, i._firstPT = i._targets = i._overwrittenProps = i._startAt = null, i._notifyPluginsOfEnabled = i._lazy = !1, H.version = "2.1.2", H.defaultEase = i._ease =
                new w(null, null, 1, 1), H.defaultOverwrite = "auto", H.ticker = j, H.autoSleep = 120, H.lagSmoothing = function(a, b) {
                  j.lagSmoothing(a, b)
                }, H.selector = a.$ || a.jQuery || function(b) {
                  var c = a.$ || a.jQuery;
                  return c ? (H.selector = c, c(b)) : (d || (d = a.document), d ? d.querySelectorAll ? d.querySelectorAll(b) : d.getElementById("#" === b.charAt(0) ? b.substr(1) : b) : b)
                };
              var K = [],
                L = {},
                M = /(?:(-|-=|\+=)?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,
                N = /[\+-]=-?[\.\d]/,
                O = function(a) {
                  for (var b, c = this._firstPT, d = 1e-6; c;) b = c.blob ? 1 === a && null != this.end ? this.end : a ? this.join("") : this.start : c.c * a + c.s, c.m ? b = c.m.call(this._tween, b, this._target || c.t, this._tween) : d > b && b > -
                    d && !c.blob && (b = 0), c.f ? c.fp ? c.t[c.p](c.fp, b) : c.t[c.p](b) : c.t[c.p] = b, c = c._next
                },
                P = function(a) {
                  return (1e3 * a | 0) / 1e3 + ""
                },
                Q = function(a, b, c, d) {
                  var e, f, g, h, i, j, k, l = [],
                    m = 0,
                    n = "",
                    o = 0;
                  for (l.start = a, l.end = b, a = l[0] = a + "", b = l[1] = b + "", c && (c(l), a = l[0], b = l[1]), l.length = 0, e = a.match(M) || [], f = b.match(M) || [], d && (d._next = null, d.blob = 1, l._firstPT = l._applyPT = d), i = f
                    .length, h = 0; i > h; h++) k = f[h], j = b.substr(m, b.indexOf(k, m) - m), n += j || !h ? j : ",", m += j.length, o ? o = (o + 1) % 5 : "rgba(" === j.substr(-5) && (o = 1), k === e[h] || e.length <= h ? n += k : (n && (l.push(n),
                    n = ""), g = parseFloat(e[h]), l.push(g), l._firstPT = {
                    _next: l._firstPT,
                    t: l,
                    p: l.length - 1,
                    s: g,
                    c: ("=" === k.charAt(1) ? parseInt(k.charAt(0) + "1", 10) * parseFloat(k.substr(2)) : parseFloat(k) - g) || 0,
                    f: 0,
                    m: o && 4 > o ? Math.round : P
                  }), m += k.length;
                  return n += b.substr(m), n && l.push(n), l.setRatio = O, N.test(b) && (l.end = null), l
                },
                R = function(a, b, c, d, e, f, g, h, i) {
                  "function" == typeof d && (d = d(i || 0, a));
                  var j, k = typeof a[b],
                    l = "function" !== k ? "" : b.indexOf("set") || "function" != typeof a["get" + b.substr(3)] ? b : "get" + b.substr(3),
                    m = "get" !== c ? c : l ? g ? a[l](g) : a[l]() : a[b],
                    n = "string" == typeof d && "=" === d.charAt(1),
                    o = {
                      t: a,
                      p: b,
                      s: m,
                      f: "function" === k,
                      pg: 0,
                      n: e || b,
                      m: f ? "function" == typeof f ? f : Math.round : 0,
                      pr: 0,
                      c: n ? parseInt(d.charAt(0) + "1", 10) * parseFloat(d.substr(2)) : parseFloat(d) - m || 0
                    };
                  return ("number" != typeof m || "number" != typeof d && !n) && (g || isNaN(m) || !n && isNaN(d) || "boolean" == typeof m || "boolean" == typeof d ? (o.fp = g, j = Q(m, n ? parseFloat(o.s) + o.c + (o.s + "").replace(/[0-9\-\.]/g,
                    "") : d, h || H.defaultStringFilter, o), o = {
                    t: j,
                    p: "setRatio",
                    s: 0,
                    c: 1,
                    f: 2,
                    pg: 0,
                    n: e || b,
                    pr: 0,
                    m: 0
                  }) : (o.s = parseFloat(m), n || (o.c = parseFloat(d) - o.s || 0))), o.c ? ((o._next = this._firstPT) && (o._next._prev = o), this._firstPT = o, o) : void 0
                },
                S = H._internals = {
                  isArray: q,
                  isSelector: I,
                  lazyTweens: K,
                  blobDif: Q
                },
                T = H._plugins = {},
                U = S.tweenLookup = {},
                V = 0,
                W = S.reservedProps = {
                  ease: 1,
                  delay: 1,
                  overwrite: 1,
                  onComplete: 1,
                  onCompleteParams: 1,
                  onCompleteScope: 1,
                  useFrames: 1,
                  runBackwards: 1,
                  startAt: 1,
                  onUpdate: 1,
                  onUpdateParams: 1,
                  onUpdateScope: 1,
                  onStart: 1,
                  onStartParams: 1,
                  onStartScope: 1,
                  onReverseComplete: 1,
                  onReverseCompleteParams: 1,
                  onReverseCompleteScope: 1,
                  onRepeat: 1,
                  onRepeatParams: 1,
                  onRepeatScope: 1,
                  easeParams: 1,
                  yoyo: 1,
                  immediateRender: 1,
                  repeat: 1,
                  repeatDelay: 1,
                  data: 1,
                  paused: 1,
                  reversed: 1,
                  autoCSS: 1,
                  lazy: 1,
                  onOverwrite: 1,
                  callbackScope: 1,
                  stringFilter: 1,
                  id: 1,
                  yoyoEase: 1,
                  stagger: 1
                },
                X = {
                  none: 0,
                  all: 1,
                  auto: 2,
                  concurrent: 3,
                  allOnStart: 4,
                  preexisting: 5,
                  "true": 1,
                  "false": 0
                },
                Y = E._rootFramesTimeline = new G,
                Z = E._rootTimeline = new G,
                $ = 30,
                _ = S.lazyRender = function() {
                  var a, b, c = K.length;
                  for (L = {}, a = 0; c > a; a++) b = K[a], b && b._lazy !== !1 && (b.render(b._lazy[0], b._lazy[1], !0), b._lazy = !1);
                  K.length = 0
                };
              Z._startTime = j.time, Y._startTime = j.frame, Z._active = Y._active = !0, setTimeout(_, 1), E._updateRoot = H.render = function() {
                var a, b, c;
                if (K.length && _(), Z.render((j.time - Z._startTime) * Z._timeScale, !1, !1), Y.render((j.frame - Y._startTime) * Y._timeScale, !1, !1), K.length && _(), j.frame >= $) {
                  $ = j.frame + (parseInt(H.autoSleep, 10) || 120);
                  for (c in U) {
                    for (b = U[c].tweens, a = b.length; --a > -1;) b[a]._gc && b.splice(a, 1);
                    0 === b.length && delete U[c]
                  }
                  if (c = Z._first, (!c || c._paused) && H.autoSleep && !Y._first && 1 === j._listeners.tick.length) {
                    for (; c && c._paused;) c = c._next;
                    c || j.sleep()
                  }
                }
              }, j.addEventListener("tick", E._updateRoot);
              var aa = function(a, b, c) {
                  var d, e, f = a._gsTweenID;
                  if (U[f || (a._gsTweenID = f = "t" + V++)] || (U[f] = {
                      target: a,
                      tweens: []
                    }), b && (d = U[f].tweens, d[e = d.length] = b, c))
                    for (; --e > -1;) d[e] === b && d.splice(e, 1);
                  return U[f].tweens
                },
                ba = function(a, b, c, d) {
                  var e, f, g = a.vars.onOverwrite;
                  return g && (e = g(a, b, c, d)), g = H.onOverwrite, g && (f = g(a, b, c, d)), e !== !1 && f !== !1
                },
                ca = function(a, b, c, d, e) {
                  var f, g, h, i;
                  if (1 === d || d >= 4) {
                    for (i = e.length, f = 0; i > f; f++)
                      if ((h = e[f]) !== b) h._gc || h._kill(null, a, b) && (g = !0);
                      else if (5 === d) break;
                    return g
                  }
                  var j, k = b._startTime + n,
                    l = [],
                    m = 0,
                    o = 0 === b._duration;
                  for (f = e.length; --f > -1;)(h = e[f]) === b || h._gc || h._paused || (h._timeline !== b._timeline ? (j = j || da(b, 0, o), 0 === da(h, j, o) && (l[m++] = h)) : h._startTime <= k && h._startTime + h.totalDuration() / h._timeScale >
                    k && ((o || !h._initted) && k - h._startTime <= 2 * n || (l[m++] = h)));
                  for (f = m; --f > -1;)
                    if (h = l[f], i = h._firstPT, 2 === d && h._kill(c, a, b) && (g = !0), 2 !== d || !h._firstPT && h._initted && i) {
                      if (2 !== d && !ba(h, b)) continue;
                      h._enabled(!1, !1) && (g = !0)
                    } return g
                },
                da = function(a, b, c) {
                  for (var d = a._timeline, e = d._timeScale, f = a._startTime; d._timeline;) {
                    if (f += d._startTime, e *= d._timeScale, d._paused) return -100;
                    d = d._timeline
                  }
                  return f /= e, f > b ? f - b : c && f === b || !a._initted && 2 * n > f - b ? n : (f += a.totalDuration() / a._timeScale / e) > b + n ? 0 : f - b - n
                };
              i._init = function() {
                var a, b, c, d, e, f, g = this.vars,
                  h = this._overwrittenProps,
                  i = this._duration,
                  j = !!g.immediateRender,
                  k = g.ease,
                  l = this._startAt;
                if (g.startAt) {
                  l && (l.render(-1, !0), l.kill()), e = {};
                  for (d in g.startAt) e[d] = g.startAt[d];
                  if (e.data = "isStart", e.overwrite = !1, e.immediateRender = !0, e.lazy = j && g.lazy !== !1, e.startAt = e.delay = null, e.onUpdate = g.onUpdate, e.onUpdateParams = g.onUpdateParams, e.onUpdateScope = g.onUpdateScope || g
                    .callbackScope || this, this._startAt = H.to(this.target || {}, 0, e), j)
                    if (this._time > 0) this._startAt = null;
                    else if (0 !== i) return
                } else if (g.runBackwards && 0 !== i)
                  if (l) l.render(-1, !0), l.kill(), this._startAt = null;
                  else {
                    0 !== this._time && (j = !1), c = {};
                    for (d in g) W[d] && "autoCSS" !== d || (c[d] = g[d]);
                    if (c.overwrite = 0, c.data = "isFromStart", c.lazy = j && g.lazy !== !1, c.immediateRender = j, this._startAt = H.to(this.target, 0, c), j) {
                      if (0 === this._time) return
                    } else this._startAt._init(), this._startAt._enabled(!1), this.vars.immediateRender && (this._startAt = null)
                  } if (this._ease = k = k ? k instanceof w ? k : "function" == typeof k ? new w(k, g.easeParams) : x[k] || H.defaultEase : H.defaultEase, g.easeParams instanceof Array && k.config && (this._ease = k.config.apply(k, g.easeParams)),
                  this._easeType = this._ease._type, this._easePower = this._ease._power, this._firstPT = null, this._targets)
                  for (f = this._targets.length, a = 0; f > a; a++) this._initProps(this._targets[a], this._propLookup[a] = {}, this._siblings[a], h ? h[a] : null, a) && (b = !0);
                else b = this._initProps(this.target, this._propLookup, this._siblings, h, 0);
                if (b && H._onPluginEvent("_onInitAllProps", this), h && (this._firstPT || "function" != typeof this.target && this._enabled(!1, !1)), g.runBackwards)
                  for (c = this._firstPT; c;) c.s += c.c, c.c = -c.c, c = c._next;
                this._onUpdate = g.onUpdate, this._initted = !0
              }, i._initProps = function(b, c, d, e, f) {
                var g, h, i, j, k, l;
                if (null == b) return !1;
                L[b._gsTweenID] && _(), this.vars.css || b.style && b !== a && b.nodeType && T.css && this.vars.autoCSS !== !1 && J(this.vars, b);
                for (g in this.vars)
                  if (l = this.vars[g], W[g]) l && (l instanceof Array || l.push && q(l)) && -1 !== l.join("").indexOf("{self}") && (this.vars[g] = l = this._swapSelfInParams(l, this));
                  else if (T[g] && (j = new T[g])._onInitTween(b, this.vars[g], this, f)) {
                  for (this._firstPT = k = {
                      _next: this._firstPT,
                      t: j,
                      p: "setRatio",
                      s: 0,
                      c: 1,
                      f: 1,
                      n: g,
                      pg: 1,
                      pr: j._priority,
                      m: 0
                    }, h = j._overwriteProps.length; --h > -1;) c[j._overwriteProps[h]] = this._firstPT;
                  (j._priority || j._onInitAllProps) && (i = !0), (j._onDisable || j._onEnable) && (this._notifyPluginsOfEnabled = !0), k._next && (k._next._prev = k)
                } else c[g] = R.call(this, b, g, "get", l, g, 0, null, this.vars.stringFilter, f);
                return e && this._kill(e, b) ? this._initProps(b, c, d, e, f) : this._overwrite > 1 && this._firstPT && d.length > 1 && ca(b, this, c, this._overwrite, d) ? (this._kill(c, b), this._initProps(b, c, d, e, f)) : (this._firstPT && (
                  this.vars.lazy !== !1 && this._duration || this.vars.lazy && !this._duration) && (L[b._gsTweenID] = !0), i)
              }, i.render = function(a, b, c) {
                var d, e, f, g, h = this,
                  i = h._time,
                  j = h._duration,
                  k = h._rawPrevTime;
                if (a >= j - n && a >= 0) h._totalTime = h._time = j, h.ratio = h._ease._calcEnd ? h._ease.getRatio(1) : 1, h._reversed || (d = !0, e = "onComplete", c = c || h._timeline.autoRemoveChildren), 0 === j && (h._initted || !h.vars
                  .lazy || c) && (h._startTime === h._timeline._duration && (a = 0), (0 > k || 0 >= a && a >= -n || k === n && "isPause" !== h.data) && k !== a && (c = !0, k > n && (e = "onReverseComplete")), h._rawPrevTime = g = !b || a || k ===
                  a ? a : n);
                else if (n > a) h._totalTime = h._time = 0, h.ratio = h._ease._calcEnd ? h._ease.getRatio(0) : 0, (0 !== i || 0 === j && k > 0) && (e = "onReverseComplete", d = h._reversed), a > -n ? a = 0 : 0 > a && (h._active = !1, 0 === j && (h
                  ._initted || !h.vars.lazy || c) && (k >= 0 && (k !== n || "isPause" !== h.data) && (c = !0), h._rawPrevTime = g = !b || a || k === a ? a : n)), (!h._initted || h._startAt && h._startAt.progress()) && (c = !0);
                else if (h._totalTime = h._time = a, h._easeType) {
                  var l = a / j,
                    m = h._easeType,
                    o = h._easePower;
                  (1 === m || 3 === m && l >= .5) && (l = 1 - l), 3 === m && (l *= 2), 1 === o ? l *= l : 2 === o ? l *= l * l : 3 === o ? l *= l * l * l : 4 === o && (l *= l * l * l * l), h.ratio = 1 === m ? 1 - l : 2 === m ? l : .5 > a / j ? l /
                    2 : 1 - l / 2
                } else h.ratio = h._ease.getRatio(a / j);
                if (h._time !== i || c) {
                  if (!h._initted) {
                    if (h._init(), !h._initted || h._gc) return;
                    if (!c && h._firstPT && (h.vars.lazy !== !1 && h._duration || h.vars.lazy && !h._duration)) return h._time = h._totalTime = i, h._rawPrevTime = k, K.push(h), void(h._lazy = [a, b]);
                    h._time && !d ? h.ratio = h._ease.getRatio(h._time / j) : d && h._ease._calcEnd && (h.ratio = h._ease.getRatio(0 === h._time ? 0 : 1))
                  }
                  for (h._lazy !== !1 && (h._lazy = !1), h._active || !h._paused && h._time !== i && a >= 0 && (h._active = !0), 0 === i && (h._startAt && (a >= 0 ? h._startAt.render(a, !0, c) : e || (e = "_dummyGS")), h.vars.onStart && (0 !== h
                      ._time || 0 === j) && (b || h._callback("onStart"))), f = h._firstPT; f;) f.f ? f.t[f.p](f.c * h.ratio + f.s) : f.t[f.p] = f.c * h.ratio + f.s, f = f._next;
                  h._onUpdate && (0 > a && h._startAt && a !== -1e-4 && h._startAt.render(a, !0, c), b || (h._time !== i || d || c) && h._callback("onUpdate")), e && (!h._gc || c) && (0 > a && h._startAt && !h._onUpdate && a !== -1e-4 && h._startAt
                    .render(a, !0, c), d && (h._timeline.autoRemoveChildren && h._enabled(!1, !1), h._active = !1), !b && h.vars[e] && h._callback(e), 0 === j && h._rawPrevTime === n && g !== n && (h._rawPrevTime = 0))
                }
              }, i._kill = function(a, b, c) {
                if ("all" === a && (a = null), null == a && (null == b || b === this.target)) return this._lazy = !1, this._enabled(!1, !1);
                b = "string" != typeof b ? b || this._targets || this.target : H.selector(b) || b;
                var d, e, f, g, h, i, j, k, l, m = c && this._time && c._startTime === this._startTime && this._timeline === c._timeline,
                  n = this._firstPT;
                if ((q(b) || I(b)) && "number" != typeof b[0])
                  for (d = b.length; --d > -1;) this._kill(a, b[d], c) && (i = !0);
                else {
                  if (this._targets) {
                    for (d = this._targets.length; --d > -1;)
                      if (b === this._targets[d]) {
                        h = this._propLookup[d] || {}, this._overwrittenProps = this._overwrittenProps || [], e = this._overwrittenProps[d] = a ? this._overwrittenProps[d] || {} : "all";
                        break
                      }
                  } else {
                    if (b !== this.target) return !1;
                    h = this._propLookup, e = this._overwrittenProps = a ? this._overwrittenProps || {} : "all"
                  }
                  if (h) {
                    if (j = a || h, k = a !== e && "all" !== e && a !== h && ("object" != typeof a || !a._tempKill), c && (H.onOverwrite || this.vars.onOverwrite)) {
                      for (f in j) h[f] && (l || (l = []), l.push(f));
                      if ((l || !a) && !ba(this, c, b, l)) return !1
                    }
                    for (f in j)(g = h[f]) && (m && (g.f ? g.t[g.p](g.s) : g.t[g.p] = g.s, i = !0), g.pg && g.t._kill(j) && (i = !0), g.pg && 0 !== g.t._overwriteProps.length || (g._prev ? g._prev._next = g._next : g === this._firstPT && (this
                      ._firstPT = g._next), g._next && (g._next._prev = g._prev), g._next = g._prev = null), delete h[f]), k && (e[f] = 1);
                    !this._firstPT && this._initted && n && this._enabled(!1, !1)
                  }
                }
                return i
              }, i.invalidate = function() {
                this._notifyPluginsOfEnabled && H._onPluginEvent("_onDisable", this);
                var a = this._time;
                return this._firstPT = this._overwrittenProps = this._startAt = this._onUpdate = null, this._notifyPluginsOfEnabled = this._active = this._lazy = !1, this._propLookup = this._targets ? {} : [], E.prototype.invalidate.call(this),
                  this.vars.immediateRender && (this._time = -n, this.render(a, !1, this.vars.lazy !== !1)), this
              }, i._enabled = function(a, b) {
                if (k || j.wake(), a && this._gc) {
                  var c, d = this._targets;
                  if (d)
                    for (c = d.length; --c > -1;) this._siblings[c] = aa(d[c], this, !0);
                  else this._siblings = aa(this.target, this, !0)
                }
                return E.prototype._enabled.call(this, a, b), this._notifyPluginsOfEnabled && this._firstPT ? H._onPluginEvent(a ? "_onEnable" : "_onDisable", this) : !1
              }, H.to = function(a, b, c) {
                return new H(a, b, c)
              }, H.from = function(a, b, c) {
                return c.runBackwards = !0, c.immediateRender = 0 != c.immediateRender, new H(a, b, c)
              }, H.fromTo = function(a, b, c, d) {
                return d.startAt = c, d.immediateRender = 0 != d.immediateRender && 0 != c.immediateRender, new H(a, b, d)
              }, H.delayedCall = function(a, b, c, d, e) {
                return new H(b, 0, {
                  delay: a,
                  onComplete: b,
                  onCompleteParams: c,
                  callbackScope: d,
                  onReverseComplete: b,
                  onReverseCompleteParams: c,
                  immediateRender: !1,
                  lazy: !1,
                  useFrames: e,
                  overwrite: 0
                })
              }, H.set = function(a, b) {
                return new H(a, 0, b)
              }, H.getTweensOf = function(a, b) {
                if (null == a) return [];
                a = "string" != typeof a ? a : H.selector(a) || a;
                var c, d, e, f;
                if ((q(a) || I(a)) && "number" != typeof a[0]) {
                  for (c = a.length, d = []; --c > -1;) d = d.concat(H.getTweensOf(a[c], b));
                  for (c = d.length; --c > -1;)
                    for (f = d[c], e = c; --e > -1;) f === d[e] && d.splice(c, 1)
                } else if (a._gsTweenID)
                  for (d = aa(a).concat(), c = d.length; --c > -1;)(d[c]._gc || b && !d[c].isActive()) && d.splice(c, 1);
                return d || []
              }, H.killTweensOf = H.killDelayedCallsTo = function(a, b, c) {
                "object" == typeof b && (c = b, b = !1);
                for (var d = H.getTweensOf(a, b), e = d.length; --e > -1;) d[e]._kill(c, a)
              };
              var ea = u("plugins.TweenPlugin", function(a, b) {
                this._overwriteProps = (a || "").split(","), this._propName = this._overwriteProps[0], this._priority = b || 0, this._super = ea.prototype
              }, !0);
              if (i = ea.prototype, ea.version = "1.19.0", ea.API = 2, i._firstPT = null, i._addTween = R, i.setRatio = O, i._kill = function(a) {
                  var b, c = this._overwriteProps,
                    d = this._firstPT;
                  if (null != a[this._propName]) this._overwriteProps = [];
                  else
                    for (b = c.length; --b > -1;) null != a[c[b]] && c.splice(b, 1);
                  for (; d;) null != a[d.n] && (d._next && (d._next._prev = d._prev), d._prev ? (d._prev._next = d._next, d._prev = null) : this._firstPT === d && (this._firstPT = d._next)), d = d._next;
                  return !1
                }, i._mod = i._roundProps = function(a) {
                  for (var b, c = this._firstPT; c;) b = a[this._propName] || null != c.n && a[c.n.split(this._propName + "_").join("")], b && "function" == typeof b && (2 === c.f ? c.t._applyPT.m = b : c.m = b), c = c._next
                }, H._onPluginEvent = function(a, b) {
                  var c, d, e, f, g, h = b._firstPT;
                  if ("_onInitAllProps" === a) {
                    for (; h;) {
                      for (g = h._next, d = e; d && d.pr > h.pr;) d = d._next;
                      (h._prev = d ? d._prev : f) ? h._prev._next = h: e = h, (h._next = d) ? d._prev = h : f = h, h = g
                    }
                    h = b._firstPT = e
                  }
                  for (; h;) h.pg && "function" == typeof h.t[a] && h.t[a]() && (c = !0), h = h._next;
                  return c
                }, ea.activate = function(a) {
                  for (var b = a.length; --b > -1;) a[b].API === ea.API && (T[(new a[b])._propName] = a[b]);
                  return !0
                }, t.plugin = function(a) {
                  if (!(a && a.propName && a.init && a.API)) throw "illegal plugin definition.";
                  var b, c = a.propName,
                    d = a.priority || 0,
                    e = a.overwriteProps,
                    f = {
                      init: "_onInitTween",
                      set: "setRatio",
                      kill: "_kill",
                      round: "_mod",
                      mod: "_mod",
                      initAll: "_onInitAllProps"
                    },
                    g = u("plugins." + c.charAt(0).toUpperCase() + c.substr(1) + "Plugin", function() {
                      ea.call(this, c, d), this._overwriteProps = e || []
                    }, a.global === !0),
                    h = g.prototype = new ea(c);
                  h.constructor = g, g.API = a.API;
                  for (b in f) "function" == typeof a[b] && (h[f[b]] = a[b]);
                  return g.version = a.version, ea.activate([g]), g
                }, g = a._gsQueue) {
                for (h = 0; h < g.length; h++) g[h]();
                for (i in r) r[i].func || a.console.log("GSAP encountered missing dependency: " + i)
              }
              k = !1
            }("undefined" != typeof module && module.exports && "undefined" != typeof global ? global : this || window, "TweenMax");

          function _extends() {
            return (_extends = Object.assign || function(t) {
              for (var e = 1; e < arguments.length; e++) {
                var n = arguments[e];
                for (var o in n) Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o])
              }
              return t
            }).apply(this, arguments)
          }

          function _typeof(t) {
            return (_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
              return typeof t
            } : function(t) {
              return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
            })(t)
          }! function(t, e) {
            "object" === ("undefined" == typeof exports ? "undefined" : _typeof(exports)) && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : t.LazyLoad = e()
          }(this, function() {
            "use strict";
            var t = "undefined" != typeof window,
              e = t && !("onscroll" in window) || "undefined" != typeof navigator && /(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),
              n = t && "IntersectionObserver" in window,
              o = t && "classList" in document.createElement("p"),
              r = {
                elements_selector: "img",
                container: e || t ? document : null,
                threshold: 300,
                thresholds: null,
                data_src: "src",
                data_srcset: "srcset",
                data_sizes: "sizes",
                data_bg: "bg",
                class_loading: "loading",
                class_loaded: "loaded",
                class_error: "error",
                load_delay: 0,
                auto_unobserve: !0,
                callback_enter: null,
                callback_exit: null,
                callback_reveal: null,
                callback_loaded: null,
                callback_error: null,
                callback_finish: null,
                use_native: !1
              },
              a = function(t, e) {
                var n, o = new t(e);
                try {
                  n = new CustomEvent("LazyLoad::Initialized", {
                    detail: {
                      instance: o
                    }
                  })
                } catch (t) {
                  (n = document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized", !1, !1, {
                    instance: o
                  })
                }
                window.dispatchEvent(n)
              };
            var i = function(t, e) {
                return t.getAttribute("data-" + e)
              },
              s = function(t, e, n) {
                var o = "data-" + e;
                null !== n ? t.setAttribute(o, n) : t.removeAttribute(o)
              },
              c = function(t) {
                return "true" === i(t, "was-processed")
              },
              l = function(t, e) {
                return s(t, "ll-timeout", e)
              },
              u = function(t) {
                return i(t, "ll-timeout")
              },
              d = function(t, e) {
                t && t(e)
              },
              f = function(t, e) {
                t._loadingCount += e, 0 === t._elements.length && 0 === t._loadingCount && d(t._settings.callback_finish)
              },
              _ = function(t) {
                for (var e, n = [], o = 0; e = t.children[o]; o += 1) "SOURCE" === e.tagName && n.push(e);
                return n
              },
              v = function(t, e, n) {
                n && t.setAttribute(e, n)
              },
              g = function(t, e) {
                v(t, "sizes", i(t, e.data_sizes)), v(t, "srcset", i(t, e.data_srcset)), v(t, "src", i(t, e.data_src))
              },
              m = {
                IMG: function(t, e) {
                  var n = t.parentNode;
                  n && "PICTURE" === n.tagName && _(n).forEach(function(t) {
                    g(t, e)
                  });
                  g(t, e)
                },
                IFRAME: function(t, e) {
                  v(t, "src", i(t, e.data_src))
                },
                VIDEO: function(t, e) {
                  _(t).forEach(function(t) {
                    v(t, "src", i(t, e.data_src))
                  }), v(t, "src", i(t, e.data_src)), t.load()
                }
              },
              b = function(t, e) {
                var n, o, r = e._settings,
                  a = t.tagName,
                  s = m[a];
                if (s) return s(t, r), f(e, 1), void(e._elements = (n = e._elements, o = t, n.filter(function(t) {
                  return t !== o
                })));
                ! function(t, e) {
                  var n = i(t, e.data_src),
                    o = i(t, e.data_bg);
                  n && (t.style.backgroundImage = 'url("'.concat(n, '")')), o && (t.style.backgroundImage = o)
                }(t, r)
              },
              h = function(t, e) {
                o ? t.classList.add(e) : t.className += (t.className ? " " : "") + e
              },
              p = function(t, e, n) {
                t.addEventListener(e, n)
              },
              y = function(t, e, n) {
                t.removeEventListener(e, n)
              },
              E = function(t, e, n) {
                y(t, "load", e), y(t, "loadeddata", e), y(t, "error", n)
              },
              w = function(t, e, n) {
                var r = n._settings,
                  a = e ? r.class_loaded : r.class_error,
                  i = e ? r.callback_loaded : r.callback_error,
                  s = t.target;
                ! function(t, e) {
                  o ? t.classList.remove(e) : t.className = t.className.replace(new RegExp("(^|\\s+)" + e + "(\\s+|$)"), " ").replace(/^\s+/, "").replace(/\s+$/, "")
                }(s, r.class_loading), h(s, a), d(i, s), f(n, -1)
              },
              I = function(t, e) {
                var n = function n(r) {
                    w(r, !0, e), E(t, n, o)
                  },
                  o = function o(r) {
                    w(r, !1, e), E(t, n, o)
                  };
                ! function(t, e, n) {
                  p(t, "load", e), p(t, "loadeddata", e), p(t, "error", n)
                }(t, n, o)
              },
              k = ["IMG", "IFRAME", "VIDEO"],
              A = function(t, e) {
                var n = e._observer;
                z(t, e), n && e._settings.auto_unobserve && n.unobserve(t)
              },
              L = function(t) {
                var e = u(t);
                e && (clearTimeout(e), l(t, null))
              },
              x = function(t, e) {
                var n = e._settings.load_delay,
                  o = u(t);
                o || (o = setTimeout(function() {
                  A(t, e), L(t)
                }, n), l(t, o))
              },
              z = function(t, e, n) {
                var o = e._settings;
                !n && c(t) || (k.indexOf(t.tagName) > -1 && (I(t, e), h(t, o.class_loading)), b(t, e), function(t) {
                  s(t, "was-processed", "true")
                }(t), d(o.callback_reveal, t), d(o.callback_set, t))
              },
              O = function(t) {
                return !!n && (t._observer = new IntersectionObserver(function(e) {
                  e.forEach(function(e) {
                    return function(t) {
                      return t.isIntersecting || t.intersectionRatio > 0
                    }(e) ? function(t, e) {
                      var n = e._settings;
                      d(n.callback_enter, t), n.load_delay ? x(t, e) : A(t, e)
                    }(e.target, t) : function(t, e) {
                      var n = e._settings;
                      d(n.callback_exit, t), n.load_delay && L(t)
                    }(e.target, t)
                  })
                }, {
                  root: (e = t._settings).container === document ? null : e.container,
                  rootMargin: e.thresholds || e.threshold + "px"
                }), !0);
                var e
              },
              N = ["IMG", "IFRAME"],
              C = function(t, e) {
                return function(t) {
                  return t.filter(function(t) {
                    return !c(t)
                  })
                }((n = t || function(t) {
                  return t.container.querySelectorAll(t.elements_selector)
                }(e), Array.prototype.slice.call(n)));
                var n
              },
              M = function(t, e) {
                this._settings = function(t) {
                  return _extends({}, r, t)
                }(t), this._loadingCount = 0, O(this), this.update(e)
              };
            return M.prototype = {
              update: function(t) {
                var n, o = this,
                  r = this._settings;
                (this._elements = C(t, r), !e && this._observer) ? (function(t) {
                  return t.use_native && "loading" in HTMLImageElement.prototype
                }(r) && ((n = this)._elements.forEach(function(t) {
                  -1 !== N.indexOf(t.tagName) && (t.setAttribute("loading", "lazy"), z(t, n))
                }), this._elements = C(t, r)), this._elements.forEach(function(t) {
                  o._observer.observe(t)
                })) : this.loadAll()
              },
              destroy: function() {
                var t = this;
                this._observer && (this._elements.forEach(function(e) {
                  t._observer.unobserve(e)
                }), this._observer = null), this._elements = null, this._settings = null
              },
              load: function(t, e) {
                z(t, this, e)
              },
              loadAll: function() {
                var t = this;
                this._elements.forEach(function(e) {
                  A(e, t)
                })
              }
            }, t && function(t, e) {
              if (e)
                if (e.length)
                  for (var n, o = 0; n = e[o]; o += 1) a(t, n);
                else a(t, e)
            }(M, window.lazyLoadOptions), M
          });
          /*!
          Waypoints - 4.0.0
          Copyright © 2011-2015 Caleb Troughton
          Licensed under the MIT license.
          https://github.com/imakewebthings/waypoints/blob/master/licenses.txt
          */
          ! function() {
            "use strict";

            function t(o) {
              if (!o) throw new Error("No options passed to Waypoint constructor");
              if (!o.element) throw new Error("No element option passed to Waypoint constructor");
              if (!o.handler) throw new Error("No handler option passed to Waypoint constructor");
              this.key = "waypoint-" + e, this.options = t.Adapter.extend({}, t.defaults, o), this.element = this.options.element, this.adapter = new t.Adapter(this.element), this.callback = o.handler, this.axis = this.options.horizontal ?
                "horizontal" : "vertical", this.enabled = this.options.enabled, this.triggerPoint = null, this.group = t.Group.findOrCreate({
                  name: this.options.group,
                  axis: this.axis
                }), this.context = t.Context.findOrCreateByElement(this.options.context), t.offsetAliases[this.options.offset] && (this.options.offset = t.offsetAliases[this.options.offset]), this.group.add(this), this.context.add(this), i[this
                .key] = this, e += 1
            }
            var e = 0,
              i = {};
            t.prototype.queueTrigger = function(t) {
              this.group.queueTrigger(this, t)
            }, t.prototype.trigger = function(t) {
              this.enabled && this.callback && this.callback.apply(this, t)
            }, t.prototype.destroy = function() {
              this.context.remove(this), this.group.remove(this), delete i[this.key]
            }, t.prototype.disable = function() {
              return this.enabled = !1, this
            }, t.prototype.enable = function() {
              return this.context.refresh(), this.enabled = !0, this
            }, t.prototype.next = function() {
              return this.group.next(this)
            }, t.prototype.previous = function() {
              return this.group.previous(this)
            }, t.invokeAll = function(t) {
              var e = [];
              for (var o in i) e.push(i[o]);
              for (var n = 0, r = e.length; r > n; n++) e[n][t]()
            }, t.destroyAll = function() {
              t.invokeAll("destroy")
            }, t.disableAll = function() {
              t.invokeAll("disable")
            }, t.enableAll = function() {
              t.invokeAll("enable")
            }, t.refreshAll = function() {
              t.Context.refreshAll()
            }, t.viewportHeight = function() {
              return window.innerHeight || document.documentElement.clientHeight
            }, t.viewportWidth = function() {
              return document.documentElement.clientWidth
            }, t.adapters = [], t.defaults = {
              context: window,
              continuous: !0,
              enabled: !0,
              group: "default",
              horizontal: !1,
              offset: 0
            }, t.offsetAliases = {
              "bottom-in-view": function() {
                return this.context.innerHeight() - this.adapter.outerHeight()
              },
              "right-in-view": function() {
                return this.context.innerWidth() - this.adapter.outerWidth()
              }
            }, window.Waypoint = t
          }(),
          function() {
            "use strict";

            function t(t) {
              window.setTimeout(t, 1e3 / 60)
            }

            function e(t) {
              this.element = t, this.Adapter = n.Adapter, this.adapter = new this.Adapter(t), this.key = "waypoint-context-" + i, this.didScroll = !1, this.didResize = !1, this.oldScroll = {
                x: this.adapter.scrollLeft(),
                y: this.adapter.scrollTop()
              }, this.waypoints = {
                vertical: {},
                horizontal: {}
              }, t.waypointContextKey = this.key, o[t.waypointContextKey] = this, i += 1, this.createThrottledScrollHandler(), this.createThrottledResizeHandler()
            }
            var i = 0,
              o = {},
              n = window.Waypoint,
              r = window.onload;
            e.prototype.add = function(t) {
              var e = t.options.horizontal ? "horizontal" : "vertical";
              this.waypoints[e][t.key] = t, this.refresh()
            }, e.prototype.checkEmpty = function() {
              var t = this.Adapter.isEmptyObject(this.waypoints.horizontal),
                e = this.Adapter.isEmptyObject(this.waypoints.vertical);
              t && e && (this.adapter.off(".waypoints"), delete o[this.key])
            }, e.prototype.createThrottledResizeHandler = function() {
              function t() {
                e.handleResize(), e.didResize = !1
              }
              var e = this;
              this.adapter.on("resize.waypoints", function() {
                e.didResize || (e.didResize = !0, n.requestAnimationFrame(t))
              })
            }, e.prototype.createThrottledScrollHandler = function() {
              function t() {
                e.handleScroll(), e.didScroll = !1
              }
              var e = this;
              this.adapter.on("scroll.waypoints", function() {
                (!e.didScroll || n.isTouch) && (e.didScroll = !0, n.requestAnimationFrame(t))
              })
            }, e.prototype.handleResize = function() {
              n.Context.refreshAll()
            }, e.prototype.handleScroll = function() {
              var t = {},
                e = {
                  horizontal: {
                    newScroll: this.adapter.scrollLeft(),
                    oldScroll: this.oldScroll.x,
                    forward: "right",
                    backward: "left"
                  },
                  vertical: {
                    newScroll: this.adapter.scrollTop(),
                    oldScroll: this.oldScroll.y,
                    forward: "down",
                    backward: "up"
                  }
                };
              for (var i in e) {
                var o = e[i],
                  n = o.newScroll > o.oldScroll,
                  r = n ? o.forward : o.backward;
                for (var s in this.waypoints[i]) {
                  var a = this.waypoints[i][s],
                    l = o.oldScroll < a.triggerPoint,
                    h = o.newScroll >= a.triggerPoint,
                    p = l && h,
                    u = !l && !h;
                  (p || u) && (a.queueTrigger(r), t[a.group.id] = a.group)
                }
              }
              for (var c in t) t[c].flushTriggers();
              this.oldScroll = {
                x: e.horizontal.newScroll,
                y: e.vertical.newScroll
              }
            }, e.prototype.innerHeight = function() {
              return this.element == this.element.window ? n.viewportHeight() : this.adapter.innerHeight()
            }, e.prototype.remove = function(t) {
              delete this.waypoints[t.axis][t.key], this.checkEmpty()
            }, e.prototype.innerWidth = function() {
              return this.element == this.element.window ? n.viewportWidth() : this.adapter.innerWidth()
            }, e.prototype.destroy = function() {
              var t = [];
              for (var e in this.waypoints)
                for (var i in this.waypoints[e]) t.push(this.waypoints[e][i]);
              for (var o = 0, n = t.length; n > o; o++) t[o].destroy()
            }, e.prototype.refresh = function() {
              var t, e = this.element == this.element.window,
                i = e ? void 0 : this.adapter.offset(),
                o = {};
              this.handleScroll(), t = {
                horizontal: {
                  contextOffset: e ? 0 : i.left,
                  contextScroll: e ? 0 : this.oldScroll.x,
                  contextDimension: this.innerWidth(),
                  oldScroll: this.oldScroll.x,
                  forward: "right",
                  backward: "left",
                  offsetProp: "left"
                },
                vertical: {
                  contextOffset: e ? 0 : i.top,
                  contextScroll: e ? 0 : this.oldScroll.y,
                  contextDimension: this.innerHeight(),
                  oldScroll: this.oldScroll.y,
                  forward: "down",
                  backward: "up",
                  offsetProp: "top"
                }
              };
              for (var r in t) {
                var s = t[r];
                for (var a in this.waypoints[r]) {
                  var l, h, p, u, c, d = this.waypoints[r][a],
                    f = d.options.offset,
                    w = d.triggerPoint,
                    y = 0,
                    g = null == w;
                  d.element !== d.element.window && (y = d.adapter.offset()[s.offsetProp]), "function" == typeof f ? f = f.apply(d) : "string" == typeof f && (f = parseFloat(f), d.options.offset.indexOf("%") > -1 && (f = Math.ceil(s
                    .contextDimension * f / 100))), l = s.contextScroll - s.contextOffset, d.triggerPoint = y + l - f, h = w < s.oldScroll, p = d.triggerPoint >= s.oldScroll, u = h && p, c = !h && !p, !g && u ? (d.queueTrigger(s.backward), o[d
                    .group.id] = d.group) : !g && c ? (d.queueTrigger(s.forward), o[d.group.id] = d.group) : g && s.oldScroll >= d.triggerPoint && (d.queueTrigger(s.forward), o[d.group.id] = d.group)
                }
              }
              return n.requestAnimationFrame(function() {
                for (var t in o) o[t].flushTriggers()
              }), this
            }, e.findOrCreateByElement = function(t) {
              return e.findByElement(t) || new e(t)
            }, e.refreshAll = function() {
              for (var t in o) o[t].refresh()
            }, e.findByElement = function(t) {
              return o[t.waypointContextKey]
            }, window.onload = function() {
              r && r(), e.refreshAll()
            }, n.requestAnimationFrame = function(e) {
              var i = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || t;
              i.call(window, e)
            }, n.Context = e
          }(),
          function() {
            "use strict";

            function t(t, e) {
              return t.triggerPoint - e.triggerPoint
            }

            function e(t, e) {
              return e.triggerPoint - t.triggerPoint
            }

            function i(t) {
              this.name = t.name, this.axis = t.axis, this.id = this.name + "-" + this.axis, this.waypoints = [], this.clearTriggerQueues(), o[this.axis][this.name] = this
            }
            var o = {
                vertical: {},
                horizontal: {}
              },
              n = window.Waypoint;
            i.prototype.add = function(t) {
              this.waypoints.push(t)
            }, i.prototype.clearTriggerQueues = function() {
              this.triggerQueues = {
                up: [],
                down: [],
                left: [],
                right: []
              }
            }, i.prototype.flushTriggers = function() {
              for (var i in this.triggerQueues) {
                var o = this.triggerQueues[i],
                  n = "up" === i || "left" === i;
                o.sort(n ? e : t);
                for (var r = 0, s = o.length; s > r; r += 1) {
                  var a = o[r];
                  (a.options.continuous || r === o.length - 1) && a.trigger([i])
                }
              }
              this.clearTriggerQueues()
            }, i.prototype.next = function(e) {
              this.waypoints.sort(t);
              var i = n.Adapter.inArray(e, this.waypoints),
                o = i === this.waypoints.length - 1;
              return o ? null : this.waypoints[i + 1]
            }, i.prototype.previous = function(e) {
              this.waypoints.sort(t);
              var i = n.Adapter.inArray(e, this.waypoints);
              return i ? this.waypoints[i - 1] : null
            }, i.prototype.queueTrigger = function(t, e) {
              this.triggerQueues[e].push(t)
            }, i.prototype.remove = function(t) {
              var e = n.Adapter.inArray(t, this.waypoints);
              e > -1 && this.waypoints.splice(e, 1)
            }, i.prototype.first = function() {
              return this.waypoints[0]
            }, i.prototype.last = function() {
              return this.waypoints[this.waypoints.length - 1]
            }, i.findOrCreate = function(t) {
              return o[t.axis][t.name] || new i(t)
            }, n.Group = i
          }(),
          function() {
            "use strict";

            function t(t) {
              this.$element = e(t)
            }
            var e = window.jQuery,
              i = window.Waypoint;
            e.each(["innerHeight", "innerWidth", "off", "offset", "on", "outerHeight", "outerWidth", "scrollLeft", "scrollTop"], function(e, i) {
              t.prototype[i] = function() {
                var t = Array.prototype.slice.call(arguments);
                return this.$element[i].apply(this.$element, t)
              }
            }), e.each(["extend", "inArray", "isEmptyObject"], function(i, o) {
              t[o] = e[o]
            }), i.adapters.push({
              name: "jquery",
              Adapter: t
            }), i.Adapter = t
          }(),
          function() {
            "use strict";

            function t(t) {
              return function() {
                var i = [],
                  o = arguments[0];
                return t.isFunction(arguments[0]) && (o = t.extend({}, arguments[1]), o.handler = arguments[0]), this.each(function() {
                  var n = t.extend({}, o, {
                    element: this
                  });
                  "string" == typeof n.context && (n.context = t(this).closest(n.context)[0]), i.push(new e(n))
                }), i
              }
            }
            var e = window.Waypoint;
            window.jQuery && (window.jQuery.fn.waypoint = t(window.jQuery)), window.Zepto && (window.Zepto.fn.waypoint = t(window.Zepto))
          }();
          ! function(e) {
            var t = {};

            function n(i) {
              if (t[i]) return t[i].exports;
              var a = t[i] = {
                i: i,
                l: !1,
                exports: {}
              };
              return e[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports
            }
            n.m = e, n.c = t, n.d = function(e, t, i) {
              n.o(e, t) || Object.defineProperty(e, t, {
                enumerable: !0,
                get: i
              })
            }, n.r = function(e) {
              "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
                value: "Module"
              }), Object.defineProperty(e, "__esModule", {
                value: !0
              })
            }, n.t = function(e, t) {
              if (1 & t && (e = n(e)), 8 & t) return e;
              if (4 & t && "object" == typeof e && e && e.__esModule) return e;
              var i = Object.create(null);
              if (n.r(i), Object.defineProperty(i, "default", {
                  enumerable: !0,
                  value: e
                }), 2 & t && "string" != typeof e)
                for (var a in e) n.d(i, a, function(t) {
                  return e[t]
                }.bind(null, a));
              return i
            }, n.n = function(e) {
              var t = e && e.__esModule ? function() {
                return e.default
              } : function() {
                return e
              };
              return n.d(t, "a", t), t
            }, n.o = function(e, t) {
              return Object.prototype.hasOwnProperty.call(e, t)
            }, n.p = "", n(n.s = 7)
          }([, , , , , function(e, t) {
            window.NodeList && !NodeList.prototype.forEach && (console.info("NodeList.forEach polyfill"), NodeList.prototype.forEach = function(e, t) {
                t = t || window;
                for (var n = 0; n < this.length; n++) e.call(t, this[n], n, this)
              }), Array.prototype.find || (console.info("Array.find polyfill"), Object.defineProperty(Array.prototype, "find", {
                value: function(e) {
                  if (null == this) throw new TypeError('"this" is null or not defined');
                  var t = Object(this),
                    n = t.length >>> 0;
                  if ("function" != typeof e) throw new TypeError("predicate must be a function");
                  for (var i = arguments[1], a = 0; a < n;) {
                    var o = t[a];
                    if (e.call(i, o, a, t)) return o;
                    a++
                  }
                },
                configurable: !0,
                writable: !0
              })), Object.assign || Object.defineProperty(Object, "assign", {
                enumerable: !1,
                configurable: !0,
                writable: !0,
                value: function(e) {
                  "use strict";
                  if (null == e) throw new TypeError("Cannot convert first argument to object");
                  for (var t = Object(e), n = 1; n < arguments.length; n++) {
                    var i = arguments[n];
                    if (null != i) {
                      i = Object(i);
                      for (var a = Object.keys(Object(i)), o = 0, r = a.length; o < r; o++) {
                        var s = a[o],
                          c = Object.getOwnPropertyDescriptor(i, s);
                        void 0 !== c && c.enumerable && (t[s] = i[s])
                      }
                    }
                  }
                  return t
                }
              }), Number.isNaN = Number.isNaN || function(e) {
                return e != e
              }, Array.prototype.forEach || (console.info("Array.forEach polyfill"), Array.prototype.forEach = function(e) {
                var t, n;
                if (null == this) throw new TypeError("this is null or not defined");
                var i = Object(this),
                  a = i.length >>> 0;
                if ("function" != typeof e) throw new TypeError(e + " is not a function");
                for (arguments.length > 1 && (t = arguments[1]), n = 0; n < a;) {
                  var o;
                  n in i && (o = i[n], e.call(t, o, n, i)), n++
                }
              }), String.prototype.includes || (console.info("String.prototype.includes polyfill"), String.prototype.includes = function(e, t) {
                "use strict";
                return "number" != typeof t && (t = 0), !(t + e.length > this.length) && -1 !== this.indexOf(e, t)
              }), Array.prototype.includes || (console.info("Array.prototype.includes polyfill"), Array.prototype.includes = function(e) {
                "use strict";
                var t = Object(this),
                  n = parseInt(t.length) || 0;
                if (0 === n) return !1;
                var i, a, o = parseInt(arguments[1]) || 0;
                for (o >= 0 ? i = o : (i = n + o) < 0 && (i = 0); i < n;) {
                  if (e === (a = t[i]) || e != e && a != a) return !0;
                  i++
                }
                return !1
              }), "function" == typeof Event ? new Event("submit") : document.createEvent("Event").initEvent("submit", !0, !0),
              function() {
                if ("function" == typeof window.CustomEvent) return !1;
                window.CustomEvent = function(e, t) {
                  t = t || {
                    bubbles: !1,
                    cancelable: !1,
                    detail: null
                  };
                  var n = document.createEvent("CustomEvent");
                  return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n
                }
              }()
          }, function(e) {
            e.exports = JSON.parse(
              '{"name":"ognam","version":"1.0.0","author":"Vasava","license":"MIT","private":true,"scripts":{"dev":"webpack-dev-server --mode=development --config webpack.config.js","prod":"webpack --mode=production --config webpack.config.js","test":"jest","lint":"eslint app"},"dependencies":{"hls.js":"^0.13.2","jquery":"^3.5.1","node-sass":"^7.0.1"},"devDependencies":{"@babel/core":"^7.4.0","@babel/plugin-syntax-dynamic-import":"^7.2.0","@babel/preset-env":"^7.4.1","autoprefixer":"^9.5.0","babel-core":"^6.26.3","babel-loader":"^8.0.5","babel-preset-env":"^1.7.0","clean-webpack-plugin":"^2.0.1","compression-webpack-plugin":"^3.1.0","copy-webpack-plugin":"^5.1.1","css-loader":"^2.1.1","cssnano":"^4.1.10","eslint":"^5.16.0","eslint-config-airbnb":"^17.1.0","eslint-config-airbnb-base":"^13.1.0","eslint-plugin-import":"^2.17.1","html-webpack-plugin":"^3.2.0","jest":"^24.5.0","mini-css-extract-plugin":"^0.5.0","postcss-loader":"^3.0.0","sass-loader":"^7.1.0","style-loader":"^0.23.1","uglifyjs-webpack-plugin":"^2.1.2","webpack":"^4.29.6","webpack-cli":"^3.3.0","webpack-dev-server":"^3.11.0","webpack-md5-hash":"^0.0.6","whatwg-fetch":"^3.0.0"}}'
              )
          }, function(e, t, n) {
            "use strict";
            n.r(t);
            n(5);
            var i = {
              loadedLibraries: ["clipboard", "waypoints"],
              isMobileDevice: Boolean(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) || navigator.maxTouchPoints > 1,
              tiendaID: window.dataLayerV2Json ? "multimarca" === window.dataLayerV2Json.page.brand ? "multimarca" : window.dataLayerV2Json.page.brandID : "she",
              paisID: window.dataLayerV2Json ? window.dataLayerV2Json.shop.countryID : "001",
              idiomaID: window.dataLayerV2Json ? window.dataLayerV2Json.shop.languageID : "ES",
              brandID: window.dataLayerV2Json ? window.dataLayerV2Json.page.brandID : "she",
              brand: window.dataLayerV2Json ? window.dataLayerV2Json.page.brand : "Mango",
              responsiveElement: "data-responsive-element",
              responsiveSrc: {
                desktop: "data-desktop-src",
                tablet: "data-tablet-src",
                mobile: "data-mobile-src"
              },
              responsiveCntn: {
                desktop: "data-desktop-content",
                tablet: "data-tablet-content",
                mobile: "data-mobile-content"
              },
              responsiveContent: "data-responsive-content",
              bannerElement: ".vsv-bannercontainer",
              dataBackground: "data-fullviewport",
              ctaElement: "data-cta",
              changeIndexElementClass: ".vsv-index-image",
              resizeToFixTextElement: "data-resize-text",
              waypointsImages: ".vsv-waypoint-image",
              waypointsImagesBackground: ".vsv-waypoint-imageBackground",
              waypointsBlock: ".vsv-waypoint-block",
              waypointsStager: ".vsv-waypoint-stagger",
              bodyMovinElements: ".vsv-bodymovin",
              dataLineGAElement: "data-line",
              clipboardElement: ".vsv-copy-link",
              sameFont: "data-samefont"
            };

            function a(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var o = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.action(), window.onload = this._resizeText()
              }
              var t, n, o;
              return t = e, (n = [{
                key: "_resizeText",
                value: function() {
                  var e, t, n = document.querySelectorAll("[".concat(i.resizeToFixTextElement, "]")),
                    a = document.querySelectorAll(".vsvSameFontContainer"),
                    o = 0,
                    r = "",
                    s = "",
                    c = "";
                  n.forEach((function(n) {
                    $(n).removeAttr("style");
                    var i = $(n).parent(),
                      a = $(n)[0],
                      o = i[0];
                    if ($(a).width() >= $(o).width()) {
                      t = $(n).text().length * parseFloat($(n).css("letterSpacing"));
                      var r = $(o).width() / ($(a).width() + Math.abs(t));
                      e = $(n).css("font-size");
                      var s = parseFloat(e) * r;
                      $(n).css("fontSize", s), $(n).css("lineHeight", s + "px")
                    }
                  })), a.forEach((function(e) {
                    r = $(e).find("[".concat(i.sameFont, "]")), o = 0, $(r).each((function() {
                      c = parseFloat(window.getComputedStyle(this, null).getPropertyValue("font-size")), 1 === o ? c < s && (s = c) : s = c, o = 1
                    })), $(r).each((function() {
                      this.style.fontSize = "".concat(s, "px"), this.style.lineHeight = "".concat(s, "px")
                    }))
                  }))
                }
              }, {
                key: "action",
                value: function() {
                  this._resizeText()
                }
              }]) && a(t.prototype, n), o && a(t, o), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function r(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var s = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.action()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "action",
                value: function() {
                  var e = document.querySelectorAll("".concat(i.bannerElement)),
                    t = 0,
                    n = 0,
                    a = 0;
                  e.forEach((function(e) {
                    if ($(e).height("auto"), $(e).find("[data-gap]").length > 0) {
                      var i = $(e).find("[data-gap]").attr("data-gap").split("|");
                      a = "px" === i[1] ? parseInt(i[0]) : parseInt(i[0]) / 100 * $(window).height()
                    } else a = 0;
                    $("#headerMNG").length > 0 ? $("body").hasClass("outletMNG") ? Config.isMobile ? (t = $(e).find("with-menu") ? $("#headerMobile").height() : 0, n = $(e).find("with-menu") ? $("#headerMNG #benefits").height() :
                        0) : $(e).find("[data-fullMenu]").length > 0 ? (t = $(e).find("with-menu") ? $("#navMain").height() : 0, n = $(e).find("with-menu") ? $("#headerMNG #benefits").height() : 0) : (t = $(e).find("with-menu") ?
                        $(".menu-section-brands").height() : 0, n = 0) : (t = Config.isMobile ? $(e).find("with-menu") ? $("#headerMobile").height() : 0 : $(e).find("with-menu") ? $("#navMain").height() : 0, 0 !== $(".mm-section")
                        .length && (t = $(e).find("with-menu") ? $("#menuContainer").height() : 0), n = $(e).find("with-menu") ? $("#headerMNG #benefits").height() : 0) : (t = 0, n = 0), $(e).hasClass("fullviewport") && $(e)
                      .height($(window).height() - (t + n + a)), $(e).find(".fullviewport").each((function() {
                        $(this).height($(window).height() - (t + n + a))
                      }))
                  }));
                  var o = new CustomEvent("fullviewport-ready", {
                    detail: {
                      fullviewport: !0
                    }
                  });
                  document.body.dispatchEvent(o)
                }
              }]) && r(t.prototype, n), a && r(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function c(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var l = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.action()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "action",
                value: function() {
                  var e = this;
                  document.querySelectorAll("[".concat(i.dataBackground, "]")).forEach((function(t) {
                    var n = t.getAttribute("data-fullviewport").split(" ");
                    n.length < 5 && console.warn("background behaviour requires five params > ".concat(e.attr("data-fullviewport")));
                    var i = n[0],
                      a = n[1],
                      o = n[3],
                      r = n[4],
                      s = t.parentNode,
                      c = Math.max(s.offsetWidth / parseInt(i), s.offsetHeight / parseInt(a)),
                      l = i * c,
                      d = a * c,
                      u = "top" === r ? 0 : "center" === r ? s.offsetHeight - d >> 1 : s.offsetHeight - d,
                      v = "left" === o ? 0 : "center" === o ? s.offsetWidth - l >> 1 : s.offsetWidth - l;
                    Object.assign(t.style, {
                      top: "".concat(u, "px"),
                      left: isNaN(parseInt(o)) ? "".concat(v, "px") : o,
                      width: "".concat(l, "px"),
                      height: "".concat(d, "px"),
                      position: "relative"
                    })
                  }))
                }
              }]) && c(t.prototype, n), a && c(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function d(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var u = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.init()
              }
              var t, n, i;
              return t = e, (n = [{
                key: "init",
                value: function() {
                  document.querySelectorAll(".vsv-bannercontainer").forEach((function(e) {
                    if ($(e).find("[data-resizeProp]").length > 0) {
                      var t = $(e).find("[data-resizeProp]").attr("data-resizeProp").split("|"),
                        n = $(e).find("[data-resizeProp]").width(),
                        i = $(e).find("[data-resizeProp]");
                      $("[data-targetResizeProp]").length > 0 && (i = $(e).find("[data-targetResizeProp]"), n = $(e).find("[data-targetResizeProp]").width()), $(i).css("height", t[1] / t[0] * n)
                    }
                  }))
                }
              }]) && d(t.prototype, n), i && d(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function v(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var f = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.action()
              }
              var t, n, i;
              return t = e, (n = [{
                key: "action",
                value: function() {
                  $(".vsvCleanEmptyText").each((function() {
                    0 === $.trim($(this).text()).length && $(this).css("display", "none")
                  }))
                }
              }]) && v(t.prototype, n), i && v(t, i), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function p(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var w = function() {
                function e() {
                  ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                  }(this, e), this.action()
                }
                var t, n, i;
                return t = e, (n = [{
                  key: "action",
                  value: function() {
                    !0 !== window.matchMedia("(prefers-reduced-motion: reduce)") && !0 !== window.matchMedia("(prefers-reduced-motion: reduce)").matches || (console.log("[*] ReduceMotion is activated, will pause every video on banner"),
                      document.querySelector("#vsvhome").setAttribute("data-reduced-motion", !0), document.querySelectorAll(".vsv-bannercontainer").forEach((function(e) {
                        e.querySelectorAll("video").forEach((function(e) {
                          e.pause()
                        }))
                      })))
                  }
                }]) && p(t.prototype, n), i && p(t, i), Object.defineProperty(t, "prototype", {
                  writable: !1
                }), e
              }(),
              h = [{
                name: "FullViewport",
                selector: ".fullviewport",
                activate: function() {
                  new s
                }
              }, {
                name: "ResizeDivProp",
                selector: "[data-resizeProp]",
                activate: function() {
                  new u
                }
              }, {
                name: "ResizeToFit",
                selector: ".vsv-data-resize",
                activate: function() {
                  new o
                }
              }, {
                name: "Background",
                selector: "[data-fullviewport]",
                activate: function() {
                  new l
                }
              }, {
                name: "CleanEmptyText",
                selector: ".vsvCleanEmptyText",
                activate: function() {
                  new f
                }
              }, {
                name: "ReduceMotion",
                activate: function() {
                  new w
                }
              }];

            function g(e, t) {
              var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
              if (!n) {
                if (Array.isArray(e) || (n = function(e, t) {
                    if (!e) return;
                    if ("string" == typeof e) return b(e, t);
                    var n = Object.prototype.toString.call(e).slice(8, -1);
                    "Object" === n && e.constructor && (n = e.constructor.name);
                    if ("Map" === n || "Set" === n) return Array.from(e);
                    if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return b(e, t)
                  }(e)) || t && e && "number" == typeof e.length) {
                  n && (e = n);
                  var i = 0,
                    a = function() {};
                  return {
                    s: a,
                    n: function() {
                      return i >= e.length ? {
                        done: !0
                      } : {
                        done: !1,
                        value: e[i++]
                      }
                    },
                    e: function(e) {
                      throw e
                    },
                    f: a
                  }
                }
                throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
              }
              var o, r = !0,
                s = !1;
              return {
                s: function() {
                  n = n.call(e)
                },
                n: function() {
                  var e = n.next();
                  return r = e.done, e
                },
                e: function(e) {
                  s = !0, o = e
                },
                f: function() {
                  try {
                    r || null == n.return || n.return()
                  } finally {
                    if (s) throw o
                  }
                }
              }
            }

            function b(e, t) {
              (null == t || t > e.length) && (t = e.length);
              for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n];
              return i
            }

            function m(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var y = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.init()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "init",
                value: function() {
                  var e = this,
                    t = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,
                    n = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight,
                    a = {
                      isMobile: t < 767 && i.isMobileDevice,
                      isTablet: t > 767 && t < n && i.isMobileDevice,
                      isTabletLandscape: t > n && i.isMobileDevice,
                      isDesktop: !i.isMobileDevice,
                      pais: i.paisID,
                      idioma: i.idiomaID,
                      brand: i.brandID
                    };
                  window.Config = a, this.noLinks(), this.nodeRemovesNewNow(), this.filterGroup(), this.filterGroupV2(), this.GaParser(), this.parser(), this.parseImg(), this.handleResize(), window.addEventListener("resize", (
                function() {
                    return e.handleResize()
                  })), document.addEventListener("DOMContentLoaded", (function(t) {
                    e.handleResize()
                  })), document.body.addEventListener("ognam-reload", (function(t) {
                    var n = t.selectors;
                    e.handleResize(n)
                  }))
                }
              }, {
                key: "filterGroup",
                value: function() {
                  for (var e = document.querySelectorAll('[class*="vsv-home-group_dest"]'), t = 0; t < e.length; t++) {
                    var n = e[t],
                      i = n.children.length;
                    if (n.children.length > 6)
                      for (var a = n.children.length - 1; a > 0; a--) {
                        var o = n.children[a];
                        a + 1 > 6 && (o.parentElement.removeChild(o), i -= 1)
                      }
                    n.classList.add("vsv-home-group_".concat(i))
                  }
                }
              }, {
                key: "filterGroupV2",
                value: function() {
                  for (var e = document.querySelectorAll('[class*="vsv-home-group-visual_dest"]'), t = 0; t < e.length; t++) {
                    var n = e[t],
                      i = n.children.length;
                    if (n.children.length > 6)
                      for (var a = n.children.length - 1; a > 0; a--) {
                        var o = n.children[a];
                        a + 1 > 6 && (o.parentElement.removeChild(o), i -= 1)
                      }
                    n.classList.add("vsv-home-group-visual_".concat(i))
                  }
                }
              }, {
                key: "noLinks",
                value: function() {
                  for (var e = document.querySelectorAll('[data-islinkable="#nolink"]'), t = 0; t < e.length; t++) e[t].parentElement.classList.contains("vsv-bannercontainer") && (e[t].parentElement.parentElement.classList.contains(
                      "vsv-home-group-visual") && e[t].parentElement.classList.add("vsv-missing-banner"), e[t].parentElement.parentElement.removeChild(e[t].parentElement)), e[t].parentElement.classList.contains(
                    "vsv-home-group-visual") && e[t].parentElement.classList.add("vsv-missing-banner"), e[t].parentElement.removeChild(e[t])
                }
              }, {
                key: "nodeRemovesNewNow",
                value: function() {
                  var e, t = document.querySelector("[data-newnowmain]"),
                    n = g(document.querySelectorAll("#vsv-newnow"));
                  try {
                    for (n.s(); !(e = n.n()).done;) {
                      var i = e.value;
                      !i.dataset.newnowmain && t && i.parentElement.parentElement.removeChild(i.parentElement)
                    }
                  } catch (e) {
                    n.e(e)
                  } finally {
                    n.f()
                  }
                }
              }, {
                key: "GaParser",
                value: function() {
                  document.querySelectorAll(".vsv-bannercontainer").forEach((function(e) {
                    var t = {},
                      n = 1;
                    e.querySelectorAll('[data-ga-cr][data-cta]:not([data-cta="#nolink"])').forEach((function(e) {
                      var i = $(e).attr("data-cta");
                      t[i] ? $(e).attr("data-IdCreative", t[i]) : ($(e).attr("data-IdCreative", n), t[i] = n, n++)
                    }))
                  }))
                }
              }, {
                key: "handleResize",
                value: function(e) {
                  h.forEach((function(t) {
                    var n = $(t.selector);
                    e ? e.includes(t.name) && n.length > 0 && t.activate() : n.length > 0 && t.activate()
                  }));
                  var t = new CustomEvent("ognam-ready", {
                    detail: {
                      ready: !0
                    }
                  });
                  document.body.dispatchEvent(t)
                }
              }, {
                key: "deleteNodes",
                value: function(e, t) {
                  return t.filter((function(t) {
                    return !e.includes(t)
                  })).forEach((function(e) {
                    e.parentNode.removeChild(e)
                  }))
                }
              }, {
                key: "parser",
                value: function() {
                  var e = this,
                    t = [],
                    n = [],
                    i = [],
                    a = [],
                    o = [];
                  document.querySelectorAll("[data-device]").forEach((function(e) {
                    e.dataset.device.split(",").forEach((function(r) {
                      switch (r) {
                        default:
                          o.push(e);
                          break;
                        case "mobile":
                          t.push(e);
                          break;
                        case "tablet":
                          n.push(e);
                          break;
                        case "tabletlandscape":
                          i.push(e);
                          break;
                        case "desktop":
                          a.push(e)
                      }
                    })), o.push(e)
                  })), Object.keys(window.Config).forEach((function(r) {
                    if (window.Config[r]) switch (r) {
                      case "isDesktop":
                        e.deleteNodes(a, o);
                        break;
                      case "isTablet":
                        e.deleteNodes(n, o);
                        break;
                      case "isTabletLandscape":
                        e.deleteNodes(i, o);
                        break;
                      case "isMobile":
                        e.deleteNodes(t, o)
                    }
                  }))
                }
              }, {
                key: "generateImageSrc",
                value: function(e) {
                  var t = e.src,
                    n = e.width,
                    i = (e.retina, e.imakaset),
                    a = t;
                  return t.includes("?") ? a += "&" : a += "?", a += "imwidth=" + n + "&imdensity=2", i && (a += "&impolicy=" + i), a
                }
              }, {
                key: "determineBgDataWidth",
                value: function(e) {
                  var t = e.banner,
                    n = e.bgImage,
                    i = t.getBoundingClientRect().width,
                    a = parseInt(100 * i) / window.innerWidth;
                  return a >= 68 ? (n.classList.add("data-vsvbg-100"), {
                    width: window.Config.isMobile ? parseInt(150 * window.innerWidth / 100) : parseInt(100 * window.innerWidth / 100),
                    type: 100
                  }) : a >= 49 && a < 68 ? (n.classList.add("data-vsvbg-66"), {
                    width: parseInt(66 * window.innerWidth / 100),
                    type: 66
                  }) : (n.classList.add("data-vsvbg-50"), {
                    width: parseInt(50 * window.innerWidth / 100),
                    type: 50
                  })
                }
              }, {
                key: "parseImg",
                value: function() {
                  var e = this;
                  document.getElementById("vsvhome").querySelectorAll("img").forEach((function(t) {
                    var n = t.getAttribute("data-width"),
                      i = t.getAttribute("data-retina");
                    if (null === n && (n = 100), null === i && (i = (i = window.devicePixelRatio) < 2 ? 1 : 2), n = parseInt(n * $(window).width() / 100), t.getAttribute("src") && !t.getAttribute("src").match("imwidth")) {
                      var a = t.getAttribute("src");
                      t.setAttribute("src", e.generateImageSrc({
                        src: a,
                        width: n,
                        retina: i
                      }))
                    }
                    if (t.getAttribute("data-src") && !t.getAttribute("data-src").match("imwidth")) {
                      var o = t.getAttribute("data-src");
                      t.setAttribute("data-src", e.generateImageSrc({
                        src: o,
                        width: n,
                        retina: i
                      }))
                    }
                  })), document.querySelectorAll(".vsv-bannercontainer").forEach((function(t, n) {
                    var i = t.querySelectorAll("[data-vsvbg]"),
                      a = t.querySelectorAll("img"),
                      o = [],
                      r = [];
                    a.forEach((function(e) {
                      e.getAttribute("data-width") || (o.push(e), r.push(e))
                    }));
                    var s = new IntersectionObserver((function(e) {
                      e.forEach((function(e) {
                        if (e.isIntersecting) {
                          var t = new Image,
                            n = e.target.getAttribute("data-vsv-bg-processed");
                          t.onload = function() {
                            e.target.style.cssText = "\n                background-image: url(".concat(n, ");\n                transition: opacity 0.5s;\n                opacity: 1;\n              ")
                          }, t.setAttribute("src", n), s.unobserve(e.target)
                        }
                      }))
                    }), {
                      rootMargin: "0px",
                      threshold: 0
                    });
                    i.forEach((function(n) {
                      var i = n.getAttribute("data-retina"),
                        a = n.getAttribute("data-width"),
                        r = function(e) {
                          var t = 0;
                          if (e.hasAttribute("data-akaset")) {
                            var n = e.offsetWidth,
                              i = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
                            return t = n < .26 * i ? "set_14" : n < .45 * i ? "set_13" : n < .67 * i ? "set_23" : "set_33", window.Config.isMobile && (t = "set_mobile", e.offsetHeight / n < .6 && (t = "set_14_mobile")), t
                          }
                          return !1
                        }(n),
                        c = null;
                      if (!(a = parseInt(a * $(window).width() / 100))) {
                        o.push(n);
                        var l = e.determineBgDataWidth({
                          banner: t,
                          bgImage: n
                        });
                        a = l.width, c = l.type
                      }
                      r && (a = n.offsetWidth), null === i && (i = (i = window.devicePixelRatio) < 2 ? 1 : 2);
                      var d = null;
                      100 === c && n.getAttribute("data-vsvbg-100") && !window.Config.isMobile ? (d = n.getAttribute("data-vsvbg-100"), n.classList.add("data-bg-replace-".concat(c))) : 66 === c && n.getAttribute(
                          "data-vsvbg-66") && !window.Config.isMobile ? (d = n.getAttribute("data-vsvbg-66"), n.classList.add("data-bg-replace-".concat(c))) : 50 === c && n.getAttribute("data-vsvbg-50") && !window.Config
                        .isMobile ? (d = n.getAttribute("data-vsvbg-50"), n.classList.add("data-bg-replace-".concat(c))) : d = n.getAttribute("data-vsvbg"), n.setAttribute("data-vsv-bg-processed", e.generateImageSrc({
                          src: d,
                          width: a,
                          retina: i,
                          imakaset: r
                        })), s.observe(n), n.style.opacity = 0
                    }))
                  }))
                }
              }]) && m(t.prototype, n), a && m(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function k(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var E = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.parseCTAs()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "callbackDoCTAs",
                value: function(e) {
                  var t = e.currentTarget;
                  if (window.ga = window.ga || function() {}, window.dataLayer = window.dataLayer || [], function() {
                      for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n];
                      console.log.apply(console, t)
                    }(e.target), t.getAttribute("data-cta") && t.getAttribute("data-cta").length > 0) return e.preventDefault(), window.open(t.getAttribute("data-cta"), null !== t.getAttribute("target") ? t.getAttribute("target") :
                    "_self"), !1
                }
              }, {
                key: "parseCTAs",
                value: function() {
                  $(document).on("click", "[".concat(i.ctaElement, "]:not([").concat(i.ctaElement, '="#nolink"])'), this.callbackDoCTAs)
                }
              }]) && k(t.prototype, n), a && k(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function A(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var O = function() {
                function e() {
                  ! function(e, t) {
                    if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                  }(this, e), window.index = 1, window.dataLayer = window.dataLayer || [], this.action()
                }
                var t, n, a;
                return t = e, (n = [{
                  key: "clickToGa",
                  value: function(e) {
                    if (window.verne) {
                      var t = e.data("ga_promo");
                      if (t) {
                        var n = {
                          id: t[0].id,
                          name: t[0].name,
                          creative: t[0].creative,
                          slot: t[0].position
                        };
                        window.verne.eec.promoClick(n)
                      }
                    }
                  }
                }, {
                  key: "inview",
                  value: function() {
                    var e, t, n, i, a, o = this;
                    document.querySelectorAll("div[data-vsvanalytics]").forEach((function(r, s) {
                      var c = o;
                      if (!$(r).data("inview")) {
                        var l = r.getBoundingClientRect();
                        if (l.top - $(window).height() < 0 && Math.abs(l.top - $(window).height()) / $(r).height() > .5) {
                          if (window.currentPosition = $(r).offset().top, window.currentPosition > window.oldPosition && (window.vsvPosition++, window.oldPosition = window.currentPosition), n = window.vsvPosition, $(r).children()
                            .attr("id"), (e = $(r).attr("data-bannerid")) || (e = "".concat(r.parentElement.dataset.id, "-").concat(r.dataset.vsvanalytics)), $(r).data("inview", !0), a = 1 === n && window.vsvOutlet ? "banner-" : "",
                            i = r.dataset.vsvanalytics, t = $(r).find("[data-vsvbg]").length + $(r).find("img").length > 1 ? "multiples imagenes" : $(r).find("[data-vsvbg]").length + $(r).find("img").length < 1 ? "ninguna imagen" :
                            "una imagen", r.querySelectorAll(".swiper-slide").length > 0) {
                            window.vsvSwiperHomeGroup = i, window.vsvSwiperBannerId = $(r).children().attr("id");
                            var d, u = r.querySelector(".swiper-container").getBoundingClientRect(),
                              v = r.querySelectorAll(".swiper-slide");
                            v.forEach((function(e) {
                              var t = e.getBoundingClientRect();
                              t.left >= u.left && t.left <= u.right && ($(e).addClass("swiper-slide-analytics"), d = $(e).attr("data-swiper-slide-index"), $(r).find("[data-swiper-slide-index=" + d + "]").data("inview", !0))
                            }));
                            var f = new MutationObserver((function(i) {
                                i.forEach((function(i) {
                                  v.forEach((function(i) {
                                    var o = i.getBoundingClientRect();
                                    if (o.left >= u.left && o.left <= u.right && !$(i).data("inview")) {
                                      $(i).addClass("swiper-slide-analytics"), d = $(i).attr("data-swiper-slide-index"), $(r).find("[data-swiper-slide-index=" + d + "]").data("inview", !0);
                                      var s = c.getCreativities(r, c.getGAPromo(e, n, t, window.vsvSwiperHomeGroup, a), t, window.vsvSwiperHomeGroup, !0);
                                      window.verne && s.impressions.length > 0 && s.impressions.forEach((function(e) {
                                        window.verne.eec.impression(e)
                                      }))
                                    }
                                  }))
                                }))
                              })),
                              p = r.querySelector(".swiper-wrapper");
                            f.observe(p, {
                              attributes: !0,
                              attributeFilter: ["style"]
                            })
                          }
                          var w = c.getCreativities(r, c.getGAPromo(e, n, t, i, a), t, i, !1);
                          window.verne && (window.verne.eec.promoView(w.promotions), w.impressions.length > 0 && w.impressions.forEach((function(e) {
                            window.verne.eec.impression(e)
                          })))
                        }
                      }
                    }))
                  }
                }, {
                  key: "getGAPromo",
                  value: function(e, t, n, a, o) {
                    return {
                      id: "".concat(e, "_V"),
                      name: "home-".concat(i.tiendaID, "-").concat(o).concat(a),
                      creative: "".concat(n),
                      position: "".concat(t)
                    }
                  }
                }, {
                  key: "getCreativities",
                  value: function(e, t, n, a, o) {
                    var r = [],
                      s = [];
                    if ($(e).find(".swiper-slide").length > 0) {
                      var c = $(e).find('.swiper-slide-analytics [data-cta]:visible:not([data-cta="#nolink"])').addBack("[data-cta]");
                      $(e).find(".swiper-slide-analytics").removeClass("swiper-slide-analytics")
                    } else c = $(e).find('[data-cta]:visible:not([data-cta="#nolink"])').addBack("[data-cta]");
                    var l = [],
                      d = {};
                    if (c.each((function(e, i) {
                        var o = $(i).attr("data-cta"),
                          s = $(i).parent().find(".vsv-box-description");
                        if (s.length > 0 && l.push(s), d[o]) $(i).data("ga_promo", d[o]);
                        else {
                          var c, u = _.clone(t),
                            v = $(i).attr("data-ga-cr");
                          if (void 0 !== $(i).attr("data-familia")) $(i).attr("data-familia");
                          else if (void 0 !== v) {
                            var f = (v = $(i).attr("data-IdCreative") + "_" + v).split("_");
                            f[0], f.length > 1 && (c = f[1])
                          }
                          var p = $(i).find("[data-family]").attr("data-family");
                          p = p ? "_" + p : "", a[3], u.creative = n + (void 0 !== c ? "_" + c : ""), r.push(u), $(i).data("ga_promo", [u]), d[o] = [u]
                        }
                      })), 0 === r.length) r = t;
                    else if (r.length > 1 || o) {
                      if (r.length > 1) {
                        var u = r[0],
                          v = u.creative.split("_");
                        u.creative = v[0], r = u
                      } else r = r[0];
                      l.length > 0 && l.forEach((function(e) {
                        var t = e.find(".price-rebajado").length > 0 ? e.find(".price-rebajado") : e.find(".price").length > 0 ? e.find(".price") : e.find(".price-original"),
                          n = t.find(".vsv-opi-description .vsv-opi-decimal").length ? "." + t.find(".vsv-opi-description .vsv-opi-decimal").text() : "";
                        t = t.find(".vsv-opi-description .vsv-opi-interger").text().replace(/\D/, "") + n;
                        var o = e.find(".price-descripcion a");
                        e.parents(".vsv-bannercontainer"), s.push({
                          brand: i.brand,
                          id: o.attr("data-reference"),
                          colorId: o.attr("data-color"),
                          list: a,
                          name: o.find(".vsv-opi-prenda").text(),
                          price: parseFloat(t)
                        })
                      }))
                    } else r = r[0];
                    return {
                      promotions: r,
                      impressions: s
                    }
                  }
                }, {
                  key: "action",
                  value: function() {
                    var e = this;
                    switch (window.tracking = "", window.seeModules = "", window.vsvPosition = 0, window.currentPosition = 0, window.oldPosition = -1, window.vsvOutlet = !1, i.tiendaID) {
                      default:
                        window.tracking = "loadLandingWoman", window.seeModules = "landingWoman";
                      case "multimarca":
                        window.tracking = "loadHome", window.seeModules = "home";
                        break;
                      case "she":
                        window.tracking = "loadLandingWoman", window.seeModules = "landingWoman";
                        break;
                      case "he":
                        window.tracking = "loadLandingMan", window.seeModules = "landingMan";
                        break;
                      case "kids":
                      case "nina":
                      case "nino":
                        window.tracking = "loadLandingKids", window.seeModules = "landingKids";
                        break;
                      case "home":
                        window.tracking = "loadLandingHome", window.seeModules = "landingHome";
                        break;
                      case "violeta":
                        window.tracking = "loadLandingVioleta", window.seeModules = "landingVioleta";
                        break;
                      case "outlet":
                        window.tracking = "loadLandingOutletWoman", window.seeModules = "landingOutletWoman", window.vsvOutlet = !0;
                        break;
                      case "outletH":
                        window.tracking = "loadLandingOutletMan", window.seeModules = "landingOutletMan", window.vsvOutlet = !0;
                        break;
                      case "outletA":
                      case "outletO":
                        window.tracking = "loadLandingOutletKids", window.seeModules = "landingOutletKids", window.vsvOutlet = !0;
                        break;
                      case "outletV":
                        window.tracking = "loadLandingOutletVioleta", window.seeModules = "landingOutletVioleta", window.vsvOutlet = !0
                    }
                    1 === window.index && window.verne && (window.verne.analytics.push((function() {
                      return {
                        event: window.tracking
                      }
                    })), window.index = 2), this.inview(), $(window).on("scroll", (function() {
                      e.inview()
                    })), $("[data-cta]").on("click", (function(t) {
                      e.clickToGa($(t.currentTarget))
                    }))
                  }
                }]) && A(t.prototype, n), a && A(t, a), Object.defineProperty(t, "prototype", {
                  writable: !1
                }), e
              }(),
              C = {
                vsv_paises_nohe: ["448", "528", "508", "484", "078", "740", "612", "083", "684", "743", "676", "669", "608", "736", "044", "095", "074", "090", "602", "208", "284", "236", "302", "322", "372", "276", "216", "373", "288", "248",
                  "388", "212"
                ],
                vsv_paises_nokids: ["413", "448", "528", "516", "508", "512", "520", "504", "492", "484", "809", "077", "624", "083", "684", "743", "676", "669", "608", "736", "680", "073", "044", "074", "602", "208", "284", "236", "302", "322",
                  "372", "216", "288", "248", "388", "212"
                ],
                vsv_paises_nonina: ["413", "448", "528", "516", "508", "512", "520", "504", "492", "484", "809", "077", "624", "083", "684", "743", "676", "669", "608", "736", "680", "073", "044", "074", "602", "208", "284", "236", "302", "322",
                  "372", "216", "288", "248", "388", "212"
                ],
                vsv_paises_nonino: ["078", "413", "448", "528", "516", "508", "512", "520", "504", "492", "484", "809", "077", "624", "083", "684", "743", "676", "669", "608", "736", "680", "073", "044", "074", "602", "208", "284", "236", "302",
                  "322", "372", "216", "288", "248", "388", "212"
                ],
                vsv_paises_nobabynina: ["413", "448", "456", "528", "516", "508", "512", "504", "492", "484", "800", "809", "077", "696", "720", "740", "616", "612", "079", "083", "684", "743", "716", "676", "662", "728", "669", "608", "736",
                  "680", "690", "073", "044", "095", "096", "074", "090", "602", "208", "330", "204", "284", "236", "302", "272", "322", "372", "276", "346", "216", "373", "288", "248", "388", "212", "700", "708"
                ],
                vsv_paises_nobabynino: ["078", "413", "448", "456", "528", "516", "508", "512", "504", "492", "484", "800", "809", "077", "696", "720", "740", "616", "612", "079", "083", "684", "743", "716", "676", "662", "728", "669", "608",
                  "736", "680", "690", "073", "044", "095", "096", "074", "090", "602", "208", "330", "204", "284", "236", "302", "272", "322", "372", "276", "346", "216", "373", "288", "248", "388", "212", "700", "708"
                ],
                vsv_paises_nochica: ["690", "095", "528", "508", "492", "484", "413", "448", "809", "077", "083", "684", "743", "676", "669", "608", "736", "680", "073", "044", "096", "074", "602", "284", "236", "302", "322", "372", "216", "288",
                  "248", "388"
                ],
                vsv_paises_nochico: ["690", "095", "078", "528", "508", "492", "484", "413", "448", "809", "077", "083", "684", "743", "676", "669", "608", "736", "680", "073", "044", "096", "074", "602", "284", "236", "302", "322", "372", "216",
                  "288", "248", "388"
                ],
                vsv_paises_nohome: ["690", "528", "516", "508", "512", "480", "500", "475", "496", "432", "520", "504", "492", "524", "484", "474", "413", "404", "436", "448", "478", "456", "428", "458", "416", "412", "442", "800", "809", "077",
                  "078", "640", "696", "720", "076", "740", "664", "700", "616", "612", "624", "628", "079", "636", "083", "684", "604", "743", "701", "667", "716", "676", "649", "662", "708", "644", "632", "706", "728", "669", "608", "736",
                  "680", "052", "647", "081", "690", "070", "043", "073", "093", "053", "044", "024", "095", "054", "037", "055", "096", "046", "074", "015", "090", "602", "075", "094", "022", "023", "072", "019", "330", "204", "284", "236",
                  "302", "272", "322", "220", "372", "276", "346", "216", "373", "288", "248", "388", "212"
                ],
                vsv_paises_novioleta: ["413", "448", "528", "508", "480", "500", "520", "492", "484", "809", "077", "078", "696", "720", "076", "740", "612", "624", "083", "684", "743", "716", "676", "662", "728", "669", "608", "736", "680",
                  "690", "073", "044", "095", "096", "074", "090", "602", "208", "330", "204", "284", "236", "302", "272", "322", "372", "276", "346", "216", "373", "288", "248", "212", "708"
                ],
                vsv_paises_sinventaonline: ["044", "074", "076", "077", "078", "083", "090", "095", "096", "212", "216", "236", "272", "288", "322", "330", "204", "372", "373", "448", "484", "492", "500", "504", "512", "516", "520", "528", "602",
                  "608", "612", "662", "676", "684", "690", "716", "736", "809"
                ],
                vsv_paises_sinproductos: ["322", "448", "484", "504", "512", "516", "520", "528", "676", "684"],
                vsv_paises_shopbycategory_sheonly: ["044", "074", "083", "208", "216", "236", "288", "372", "388", "448", "484", "602", "608", "732", "743", "684", "676", "736", "528"],
                vsv_paises_withkids: ["516", "512", "520", "504", "624"]
              };

            function S(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var x = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.cookieFilter(), this.action()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "cookieFilter",
                value: function() {
                  switch (window.cookiesTienda) {
                    default:
                      window.cookiesTienda = "she";
                      break;
                    case "nino":
                      window.cookiesTienda = "nino";
                      break;
                    case "violeta":
                      window.cookiesTienda = "violeta"
                  }
                  $("body.shopMNG").length > 0 && (window.cookiesTienda = i.brandID)
                }
              }, {
                key: "countryFilter",
                value: function(e) {
                  var t = window.location.href.replace(/&/g, "&"),
                    n = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"),
                    i = "[\\?&]".concat(n, "=([^&#]*)"),
                    a = new RegExp(i).exec(t);
                  return a ? a[1] : null
                }
              }, {
                key: "declarations",
                value: function() {
                  var e = this.countryFilter("pais") ? this.countryFilter("pais") : window.shopJson.country.code,
                    t = function(t) {
                      return t === e
                    };
                  return {
                    noStdShops: [{
                      find: C.vsv_paises_nohe.find(t),
                      selector: ".vsv-paises-nohe"
                    }, {
                      find: C.vsv_paises_nokids.find(t),
                      selector: ".vsv-paises-nokids"
                    }, {
                      find: C.vsv_paises_nonina.find(t),
                      selector: ".vsv-paises-nonina"
                    }, {
                      find: C.vsv_paises_nonino.find(t),
                      selector: ".vsv-paises-nonino"
                    }, {
                      find: C.vsv_paises_nobabynina.find(t),
                      selector: ".vsv-paises-nobabynina"
                    }, {
                      find: C.vsv_paises_nobabynino.find(t),
                      selector: ".vsv-paises-nobabynino"
                    }, {
                      find: C.vsv_paises_nochica.find(t),
                      selector: ".vsv-paises-nochica"
                    }, {
                      find: C.vsv_paises_nochico.find(t),
                      selector: ".vsv-paises-nochico"
                    }, {
                      find: C.vsv_paises_nohome.find(t),
                      selector: ".vsv-paises-nohome"
                    }, {
                      find: C.vsv_paises_novioleta.find(t),
                      selector: ".vsv-paises-novioleta"
                    }],
                    withNoOnlineShop: [{
                      find: C.vsv_paises_sinventaonline.find(t),
                      selectors: [".vsv-venta-online", ".vsv-no-venta-online"]
                    }],
                    withNoProd: [{
                      find: C.vsv_paises_sinproductos.find(t),
                      selector: ".vsv-paises-sinproductos"
                    }],
                    sheOnly: {
                      find: C.vsv_paises_shopbycategory_sheonly.find(t),
                      selector: ".vsv-paises-single"
                    },
                    withKids: [{
                      find: C.vsv_paises_withkids.find(t),
                      selector: ".vsv-paises-withKids"
                    }]
                  }
                }
              }, {
                key: "domNodeCleaner",
                value: function(e, t, n, i, a) {
                  e.forEach((function(e) {
                    void 0 !== e.find && $(e.selector).remove()
                  })), void 0 !== t[0].find ? $(t[0].selectors[0]).remove() : $(t[0].selectors[1]).remove(), void 0 !== n[0].find && $(n[0].selector).remove(), void 0 !== i.find && $(i.selector).remove(), void 0 === a[0].find && $(a[
                    0].selector).remove()
                }
              }, {
                key: "action",
                value: function() {
                  this.domNodeCleaner(this.declarations().noStdShops, this.declarations().withNoOnlineShop, this.declarations().withNoProd, this.declarations().sheOnly, this.declarations().withKids)
                }
              }]) && S(t.prototype, n), a && S(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();

            function L(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var P = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), this.action()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "action",
                value: function() {
                  var e = document.querySelectorAll("".concat(i.waypointsBlock)),
                    t = document.querySelectorAll("".concat(i.waypointsStager)),
                    n = document.querySelectorAll("".concat(i.waypointsImagesBackground));
                  $("#vsvhome .swiper-slide").each((function() {
                    $(this).find("img").addClass("vsv-no-fade")
                  })), document.querySelectorAll(".vsv-bannercontainer img:not(.vsv-no-fade)").forEach((function(e) {
                    TweenLite.set(e, {
                      autoAlpha: .2
                    }), new Waypoint({
                      element: e,
                      handler: function() {
                        TweenLite.to(e, 2, {
                          autoAlpha: 1,
                          delay: .1
                        })
                      },
                      offset: "100%"
                    })
                  })), e.forEach((function(e) {
                    TweenMax.set($(e), {
                      y: 50,
                      autoAlpha: 0
                    }), new Waypoint({
                      element: e,
                      handler: function(e) {
                        "down" === e && TweenMax.to($(this.element), 1, {
                          y: 0,
                          autoAlpha: 1
                        })
                      },
                      offset: "95%"
                    })
                  })), t.forEach((function(e) {
                    TweenMax.killTweensOf($(e).find("img")), TweenMax.set($(e).find("img"), {
                      autoAlpha: 0
                    }), new Waypoint({
                      element: e,
                      handler: function(e) {
                        "down" === e && TweenMax.staggerTo($(this.element).find("img"), 2, {
                          autoAlpha: 1,
                          delay: .3
                        }, .2)
                      },
                      offset: "100%"
                    })
                  })), n.forEach((function(e) {
                    TweenLite.set($(e), {
                      autoAlpha: .2
                    }), new Waypoint({
                      element: e,
                      handler: function() {
                        TweenLite.to($(this.element), 2, {
                          autoAlpha: 1,
                          delay: .1
                        })
                      },
                      offset: "100%"
                    })
                  }))
                }
              }]) && L(t.prototype, n), a && L(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();
            var I = function() {
              0 !== $("[data-imgload]").length && "undefined" !== $("[data-imgload]")[0] || $("#vsv_loader").remove();
              var e = $("#vsvhome img[data-src]"),
                t = $("#vsvhome video[data-src]");
              e.length || t.length ? (e.on("load", (function() {
                $("#vsv_loader").remove()
              })), e.on("loadstart", (function() {
                $("#vsv_loader").remove()
              })), t.on("load", (function() {
                $("#vsv_loader").remove()
              })), t.on("loadstart", (function() {
                $("#vsv_loader").remove()
              }))) : $("#vsv_loader").remove(), document.body.addEventListener("vsvLoadImg", (function(e) {
                $("#vsv_loader").remove()
              })), setTimeout((function() {
                $("#vsv_loader").remove()
              }), 1e3)
            };

            function M(e, t) {
              for (var n = 0; n < t.length; n++) {
                var i = t[n];
                i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(e, i.key, i)
              }
            }
            var T, j = function() {
              function e() {
                ! function(e, t) {
                  if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
                }(this, e), I(), new y, new x, this.changeIndexImages(), new O, new E, new P, new w, window.ognamLazyload = new LazyLoad({
                  elements_selector: "[data-src]"
                });
                document.querySelectorAll("[data-first]").forEach((function(e) {
                  var t = e.getAttribute("data-src");
                  e.setAttribute("src", t)
                })), window.emitOgnamEvent = function(e) {
                  var t = new CustomEvent("ognam-reload", {
                    detail: {
                      selectors: e
                    }
                  });
                  document.body.dispatchEvent(t)
                }, vsv_ognam(OgnamSwiper, window.ognamLazyload), window.ognamLazyload.update()
              }
              var t, n, a;
              return t = e, (n = [{
                key: "changeIndexImages",
                value: function() {
                  var e = this;
                  document.querySelectorAll("".concat(i.changeIndexElementClass)).forEach((function(t) {
                    $(t).on("click", e.callbackChangeIndexImages.bind(e)), $(t).on("hover", e.callbackChangeIndexImages.bind(e))
                  }))
                }
              }, {
                key: "callbackChangeIndexImages",
                value: function() {
                  $("*").parent().find(".vsv-index-image").removeClass("zindexsup"), $(this).addClass("zindexsup")
                }
              }]) && M(t.prototype, n), a && M(t, a), Object.defineProperty(t, "prototype", {
                writable: !1
              }), e
            }();
            n(6).version;
            window.Ognam = j, T = function() {
              window.xtrLibraries = [], new window.Ognam
            }, (document.attachEvent ? "complete" === document.readyState : "loading" !== document.readyState) ? T() : document.addEventListener("DOMContentLoaded", T)
          }]);

          function vsv_ognam(Swiper, lazyload) {}
        </script>
        <!-- MNGSGNT-NB5-SH36-BI12838%12943%12840%12841%12856-MNGSGNT -->
        <noscript><img src="https://shop.mango.com/akam/13/pixel_452c668f?a=dD00MTAzZWFjMjBiMWY5ZjM1MDhjZDUwYTVhNmRiY2JmZDc4ZjNkYmQ0JmpzPW9mZg==" style="visibility: hidden; position: absolute; left: -999px; top: -999px;"></noscript>
        <script type="text/javascript" src="/nbi1xqNa/KzG3P8h/-gEpmSu/X0/EOc3hzNV4f/dzojDwE/dhJUA/EVHIAwB"></script>
      </div>
    </div>
    <div id="Form:SVQL:panelQuickLook"></div>
    <div id="Form:SVLoading:popupLoading" style="z-index: 302; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background-color: #ffffff; opacity: 0.9; display: none; "></div>
    <div id="Form:SVLoading:popupLoading_t" style="z-index: 303; position: absolute; left: 50%; margin-left: -125px; width: 250px; height: 130px; text-align: center; vertical-align: middle; background-color: #ffffff; display: none; "
      class="panelLoadingMobile">
      <div class="panel_loading" style="text-align: center; height: 100%;">
        <div style="display: block; margin: 0 auto; height:100%;">
          <img class="gifLoadingMobile she" src="//st.mngbcn.com/images/imgWar/loadingGif/she.gif">
        </div>
      </div><input type="hidden" name="_mng_dialogVisible_popupLoading" id="_mng_dialogVisible_popupLoading" value="false">
    </div>
    <div id="Form:SVPAviso:avisoPopup" class="max_stock">
      <span id="_panel_visiblepopupAviso"><input type="hidden" id="Form:SVPAviso:popupAviso:j_id_6a" name="Form:SVPAviso:popupAviso:j_id_6a" value="false">
      </span>
      <div id="popupAviso" class="_mng_panel alertBanner _mng_panel_fixed" style="z-index: 201; display: none; width: 300px; left: 40%; top: 40%;">
        <div id="popupAviso_header" class="_mng_panel_header alertBanner__header _mng_panel_move " onmousedown="if (true) _mng_activatePanelMove(event, 'popupAviso');"><a href="#" onclick="jsf.util.chain(document.getElementById('Form:SVPAviso:popupAviso:closePanel'), event,'hideAviso()', 'jsf.ajax.request(\'Form:SVPAviso:popupAviso:closePanel\',event,{\'javax.faces.behavior.event\':\'action\'})'); return false;" id="Form:SVPAviso:popupAviso:closePanel" name="Form:SVPAviso:popupAviso:closePanel" class="_mng_panel_close">
		    			<span class="icon" style="text-decoration:none">C</span></a>
        </div>
        <div id="popupAviso_body" class="_mng_panel_body ">
          <div class="aviso_popup alertBanner__info"><span class="txt8 texto_limite_prendas alertBanner__text">We remind you that the limit on purchases is a maximum of £1,000 and/or 40 items, as indicated in the purchasing conditions.</span>
            <div class="aviso_boton alertBanner__button"><span id="Form:SVPAviso:popupAviso:j_id_6l"
                onclick="_mng_preSubmit('_mng_hidde_valuej_id_6l','j_id_6l','Form');jsf.util.chain(document.getElementById('Form:SVPAviso:popupAviso:j_id_6l'), event,'hideAviso();; hideBolsa();', 'jsf.ajax.request(\'Form:SVPAviso:popupAviso:j_id_6l\',event,{render:\'Form:SVPAviso:avisoPopup \',\'javax.faces.behavior.event\':\'click\'})'); return false;"
                style="cursor: pointer;" class="txt7B txtLink limite_prendas_aceptar">Accept</span>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id="Form:SVPTCNodisp:avisoColorTalla" class="popup_talla_color">
      <div id="Form:SVPTCNodisp:popupcolorTalla" style="z-index: 261; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background-color: #dedede; opacity: 0.35; display: none; "></div>
      <div id="Form:SVPTCNodisp:popupcolorTalla_t"
        style="z-index: 262; position: absolute; left: 50%; margin-left: -175px; width: 350px; height: 110px; text-align: center; vertical-align: middle; background-color: #ffffff; border: 1px solid #999999;display: none; ">
        <div class="talla_color_no"><span class="txtGris8">Select the colour and size available before adding it to the shopping bag.</span><span id="Form:SVPTCNodisp:j_id_6x"
            onclick="_mng_preSubmit('_mng_hidde_valuej_id_6x','j_id_6x','Form');jsf.util.chain(document.getElementById('Form:SVPTCNodisp:j_id_6x'), event,'jsf.ajax.request(\'Form:SVPTCNodisp:j_id_6x\',event,{execute:\'@form \',render:\'Form:SVPTCNodisp:avisoColorTalla \',onevent:function(e) {if (e.status==\'success\') {hideAvisoColorTalla();;}},\'javax.faces.behavior.event\':\'click\'})'); return false;"
            class="txt7">Accept</span>
        </div><input type="hidden" name="_mng_dialogVisible_popupcolorTalla" id="_mng_dialogVisible_popupcolorTalla" value="false">
      </div>
    </div>
    <div id="Form:SVWishlistPanelMaxItems:avisoMaxItems">
      <div id="Form:SVWishlistPanelMaxItems:popupmaxItems" style="z-index: 251; position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background-color: #dedede; opacity: 0.35; display: none; "></div>
      <div id="Form:SVWishlistPanelMaxItems:popupmaxItems_t"
        style="z-index: 252; position: absolute; left: 50%; margin-left: -20px; width: 40px; height: 110px; text-align: center; vertical-align: middle; background-color: #ffffff; border: 1px solid #999999;display: none; ">
        <div class="panel_standard">
          <img src="//st.mngbcn.com/images/imgWar/iconos/alert50_she.png" width="50" height="50"><span class="txt8">We remind you that you can add up to </span><span class="txt8">40 </span><span class="txt8">items to the Wish List.</span>
          <div class="panel_inside_button clearfix"><span id="Form:SVWishlistPanelMaxItems:j_id_77" onclick="hideAvisoMaxItems(); hideBolsa();" style="cursor: pointer;" class="txt7">Accept</span>
          </div>
        </div><input type="hidden" name="_mng_dialogVisible_popupmaxItems" id="_mng_dialogVisible_popupmaxItems" value="false">
      </div>
    </div>
    <div id="Form:SVPRegWL:identificateWishListPanel" class="identificateWishListPanel">
      <span id="_panel_visibleidentificateWishListPopup"><input type="hidden" id="Form:SVPRegWL:identificateWishListPopup:j_id_7d" name="Form:SVPRegWL:identificateWishListPopup:j_id_7d" value="false">
      </span>
      <div id="identificateWishListPopup" class="_mng_panel  _mng_panel_fixed" style="z-index: 201; display: none; width: 300px; left: 25%; top: 40%;">
        <div id="identificateWishListPopup_header" class="_mng_panel_header alertBanner__header _mng_panel_move " onmousedown="if (true) _mng_activatePanelMove(event, 'identificateWishListPopup');">
          <div id="closePanel" class="_mng_panel_close" onclick="hideAvisoIdentWishList()">
          </div>
        </div>
        <div id="identificateWishListPopup_body" class="_mng_panel_body ">
          <div class="panel_standard"><span class="txt8">To create your WishList, you must be registered.</span>
            <br><span class="txt8"> If you are already registered, log in.</span>
          </div>
          <div class="panel_standard">
            <div id="Form:SVPRegWL:identificateWishListPopup:j_id_7q"
              onclick="_mng_preSubmit('_mng_hidde_valuej_id_7q','j_id_7q','Form');return jsf.util.chain(document.getElementById('Form:SVPRegWL:identificateWishListPopup:j_id_7q'), event,'hideAvisoIdentWishList();', 'return myfaces.oam.submitForm(\'Form\',\'Form:SVPRegWL:identificateWishListPopup:j_id_7q\');');"
              style="cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; " onmouseover="_mng_ButtonTRender(this, 'null', '#cccccc', 'null', 'null')"
              onmousedown="_mng_ButtonTRender(this, 'null', '#333333', 'null', 'null')"
              onmouseup="_mng_ButtonTRender(this, 'null', '#ffffff', 'cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; ', 'txt7 login')"
              onmouseout="_mng_ButtonTRender(this, 'null', '#ffffff', 'cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; ', 'txt7 login')" class="txt7 login">
              Sign in</div>
            <div id="Form:SVPRegWL:identificateWishListPopup:j_id_7s" onclick="window.open('https://shop.mango.com/registroExterno.faces?op=alta','_self')"
              style="cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; " onmouseover="_mng_ButtonTRender(this, 'null', '#cccccc', 'null', 'null')"
              onmousedown="_mng_ButtonTRender(this, 'null', '#333333', 'null', 'null')"
              onmouseup="_mng_ButtonTRender(this, 'null', '#ffffff', 'cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; ', 'txt7 registro')"
              onmouseout="_mng_ButtonTRender(this, 'null', '#ffffff', 'cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; ', 'txt7 registro')"
              class="txt7 registro">Register</div>
            <div id="Form:SVPRegWL:identificateWishListPopup:j_id_7u" onclick="hideAvisoIdentWishList();"
              style="cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; " onmouseover="_mng_ButtonTRender(this, 'null', '#cccccc', 'null', 'null')"
              onmousedown="_mng_ButtonTRender(this, 'null', '#333333', 'null', 'null')"
              onmouseup="_mng_ButtonTRender(this, 'null', '#ffffff', 'cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; ', 'txt7 cerrar')"
              onmouseout="_mng_ButtonTRender(this, 'null', '#ffffff', 'cursor: pointer;color: #ffffff; height: 18px; line-height: 18px; vertical-align: middle; width: 150px; display: block; text-align: center; ', 'txt7 cerrar')" class="txt7 cerrar">
              Close</div>
          </div>
        </div>
      </div>
    </div><span id="Form:SVResumenModalNoStock:modalNoStock" class="modal-component modal-no-stock ">
      <div class="modalBlockBack"></div>
      <div class="modalNoStock catalogModalNoStock">
        <div class="modal-header-block"><span id="Form:SVResumenModalNoStock:close"
            onclick="_mng_preSubmit('_mng_hidde_valueclose','close','Form');jsf.util.chain(document.getElementById('Form:SVResumenModalNoStock:close'), event,'mostrarInfoPopup();;', 'jsf.ajax.request(\'Form:SVResumenModalNoStock:close\',event,{execute:\'@this \',render:\'Form:SVResumenModalNoStock:modalNoStock \',onevent:function(e) {if (e.status == \'complete\'){ocultarInfoPopup();;        if (window.ShoppingBag) {         window.ShoppingBag.refresh();        }       }      },\'javax.faces.behavior.event\':\'click\'})'); return false;"
            style="cursor: pointer;" class="icon closeModal icon__close">q</span>
          <span class="title">NOTE</span>
        </div>
        <div class="modal-body-block">
          <span class="descripcion"></span>
          <div class="itemsBlock">
          </div>
        </div>
        <div class="modal-footer-block"><span id="Form:SVResumenModalNoStock:modalFormContinuar"
            onclick="_mng_preSubmit('_mng_hidde_valuemodalFormContinuar','modalFormContinuar','Form');jsf.util.chain(document.getElementById('Form:SVResumenModalNoStock:modalFormContinuar'), event,'mostrarInfoPopup();;', 'jsf.ajax.request(\'Form:SVResumenModalNoStock:modalFormContinuar\',event,{execute:\'@this \',render:\'Form:SVResumenModalNoStock:modalNoStock \',onevent:function(e) {if (e.status == \'complete\'){ocultarInfoPopup();;        if (window.ShoppingBag) {         window.ShoppingBag.refresh();        }       }      },\'javax.faces.behavior.event\':\'click\'})'); return false;"
            style="cursor: pointer;" class="botonNew modalContinuar">CONTINUE</span>
        </div>
      </div>
    </span><span id="Form:SVEnvioTienda:wishListManagement" class="wishlist_popup_init row-fluid">
      <span id="_panel_visiblepanelWishList"><input type="hidden" id="Form:SVEnvioTienda:panelWishList:j_id_8o" name="Form:SVEnvioTienda:panelWishList:j_id_8o" value="false">
      </span>
      <div id="panelWishList" class="_mng_panel  _mng_panel_fixed" style="z-index: 201; display: none; width: 300px; left: 35%; top: 50%;">
        <div id="panelWishList_header" class="_mng_panel_header alertBanner__header _mng_panel_move " onmousedown="if (true) _mng_activatePanelMove(event, 'panelWishList');"><a href="#" onclick="jsf.util.chain(document.getElementById('Form:SVEnvioTienda:panelWishList:closePanel'), event,'hidePanelWishLista()', 'jsf.ajax.request(\'Form:SVEnvioTienda:panelWishList:closePanel\',event,{\'javax.faces.behavior.event\':\'action\'})'); return false;" id="Form:SVEnvioTienda:panelWishList:closePanel" name="Form:SVEnvioTienda:panelWishList:closePanel" class="_mng_panel_close">
		    			<span class="icon" style="text-decoration:none">C</span></a>
        </div>
        <div id="panelWishList_body" class="_mng_panel_body ">
          <h3 class="wishlist_tittle row-fluid">Wishlist</h3>
          <div class="row-fluid"><span class="wishlist_main_text span9">Select the Wishlist you wish to add your garment to:</span>
            <div class="wishlist_input_reg1 span3">
            </div>
          </div>
          <div id="crearWLBoton" class="wishlist_create row-fluid"><span id="Form:SVEnvioTienda:panelWishList:j_id_93" onclick="document.getElementById('crearWLBoton').style.display='none';document.getElementById('crearWL').style.display='block';"
              style="cursor: pointer;" class="wishlist_create_new span5">Create a new WishList &gt;&gt;</span>
          </div>
          <div id="crearWL" class="wishlist_create crearWLText row-fluid"><span style="color: #333333;" class="span5">Name</span><input id="Form:SVEnvioTienda:panelWishList:nombre" name="Form:SVEnvioTienda:panelWishList:nombre" type="text" value=""
              maxlength="50" size="37" class="inputReg1 span3"><span id="Form:SVEnvioTienda:panelWishList:j_id_97"
              onclick="_mng_preSubmit('_mng_hidde_valuej_id_97','j_id_97','Form');jsf.util.chain(document.getElementById('Form:SVEnvioTienda:panelWishList:j_id_97'), event,'mostrarInfoPopup();', 'jsf.ajax.request(\'Form:SVEnvioTienda:panelWishList:j_id_97\',event,{execute:\'@form \',render:\'Form:SVEnvioTienda:wishListManagement \',onevent:function(e) {if (e.status==\'success\') {ocultarInfoPopup();;window.scrollTo(0,0);showBocataProducto(event);}},\'javax.faces.behavior.event\':\'click\'})'); return false;"
              style="cursor: pointer;" class="span4 wishlist_anadir crear_wish">Create the WishList</span>
          </div>
          <div class="crearWLText create_wishlist row-fluid">
          </div>
          <div class="wishlist_add row-fluid">
          </div>
        </div>
      </div>
    </span><input type="hidden" name="Form_SUBMIT" value="1"><input type="hidden" name="javax.faces.ViewState" id="j_id__v_0:javax.faces.ViewState:3" value="mkvxZ0xxzsR0jxJLKDvt/mKJySmFNhxAoi0cA4DJDM5R45vE
">
    <div id="mainDivBody2" class="main-vertical-body main-body-wrapper">
    </div>
  </div>
</form>

Name: SVFichaAvisame:FAvisamePOST https://shop.mango.com/homeMarcas.faces?state=she_006_IN&ts=1695022173991

<form id="SVFichaAvisame:FAvisame" name="SVFichaAvisame:FAvisame" method="post" action="https://shop.mango.com/homeMarcas.faces?state=she_006_IN&amp;ts=1695022173991" onkeypress="return event.keyCode != 13;" style="margin: 0px; padding: 0px;"
  enctype="application/x-www-form-urlencoded">
  <div class="headerAvisame">
    <div id="SVFichaAvisame:FAvisame:close"
      onclick="_mng_preSubmit('_mng_hidde_valueclose','close','SVFichaAvisame:FAvisame');jsf.util.chain(document.getElementById('SVFichaAvisame:FAvisame:close'), event,'if (typeof ProductDetailSubscriber !== \'undefined\') { ProductDetailSubscriber.emitter(\'closeModalNoStock\'); }', 'jsf.ajax.request(\'SVFichaAvisame:FAvisame:close\',event,{execute:\'@form \',render:\'SVFichaAvisame:avisameAll \',onevent:function(e) {if (e.status==\'success\') {avisameController.hideAvisamePopup();}},\'javax.faces.behavior.event\':\'click\'})'); return false;"
      style="cursor: pointer;margin-top:13px;height: 11px; line-height: 11px; vertical-align: middle; width: 10px; display: block; text-align: center; " class="icon botonCerrarAvisame">c</div><span id="SVFichaAvisame:FAvisame:closeMobil"
      onclick="_mng_preSubmit('_mng_hidde_valuecloseMobil','closeMobil','SVFichaAvisame:FAvisame');jsf.util.chain(document.getElementById('SVFichaAvisame:FAvisame:closeMobil'), event,'jsf.ajax.request(\'SVFichaAvisame:FAvisame:closeMobil\',event,{execute:\'@form \',render:\'SVFichaAvisame:avisameAll \',onevent:function(e) {if (e.status==\'success\') {avisameController.hideAvisamePopup();}},\'javax.faces.behavior.event\':\'click\'})'); return false;"
      style="cursor: pointer;margin-top:13px;" class="icono cerrarAvisame">k</span><span id="SVFichaAvisame:FAvisame:nombreProductoAvisame" class="tituloProductoAvisame"></span>
  </div>
  <div class="avisameIntroduceMail">Enter your e-mail address and we will notify you if the item becomes available again. </div>
  <div class="formAvisame"><span class="emailLabel">E-mail</span><input id="SVFichaAvisame:FAvisame:avisameMail" name="SVFichaAvisame:FAvisame:avisameMail" type="text" value="Enter your e-mail address"
      onfocus="if (this.value == 'Enter your e-mail address') { this.value=''; }" onblur="if (this.value == '') { this.value = 'Enter your e-mail address'; }" maxlength="120" class="inputReg1  ">
    <div id="divError">
    </div>
    <div id="SVFichaAvisame:FAvisame:botonEnviar"
      onclick="_mng_preSubmit('_mng_hidde_valuebotonEnviar','botonEnviar','SVFichaAvisame:FAvisame');jsf.util.chain(document.getElementById('SVFichaAvisame:FAvisame:botonEnviar'), event,'avisameController.handleAvisameSubscribe()', 'jsf.ajax.request(\'SVFichaAvisame:FAvisame:botonEnviar\',event,{execute:\'@form \',render:\'SVFichaAvisame:avisameAll \',\'javax.faces.behavior.event\':\'click\'})'); return false;"
      style="cursor: pointer;width: 166px; display: block; text-align: center; " class="buttonBlack ">Receive notification</div>
  </div>
  <div class="footerAvisame">
    <div class="gdpr">
      <p class="gdpr-text gdpr-data-protection">BASIC INFORMATION REGARDING DATA PROTECTION. DATA CONTROLLER: Punto Fa, SL.&nbsp; PURPOSE: Management of service to notify availability of Mango garments. AUTHORISATION: Consent of the interested party.
        ADDRESSEES: MANGO Group companies and companies responsible for data processing. International transfers may occur. RIGHTS: You may, at any time, exercise your rights of access, rectification, cancellation, opposition and other
        legally-established rights via the following e-mail address: personaldata@mango.com. ADDITIONAL INFORMATION: You may consult more detailed information regarding data protection <span id="SVFichaAvisame:FAvisame:SVFichaAvisame:j_id_an"
          onclick="window.open('https://shop.mango.com/gb/privacy-policy','_blank','menubar=no,resizable=yes,scrollbars=yes,width=970,height=750');" style="cursor: pointer;" class="gdpr-link">here</span>.</p>
    </div>
  </div><input type="hidden" id="SVFichaAvisame:FAvisame:hiddenTalla" name="SVFichaAvisame:FAvisame:hiddenTalla" value=""><input type="hidden" id="SVFichaAvisame:FAvisame:hiddenColor" name="SVFichaAvisame:FAvisame:hiddenColor" value=""><input
    type="hidden" id="SVFichaAvisame:FAvisame:hiddenIdProd" name="SVFichaAvisame:FAvisame:hiddenIdProd" value=""><input type="hidden" name="SVFichaAvisame:FAvisame_SUBMIT" value="1"><input type="hidden" name="javax.faces.ViewState"
    id="j_id__v_0:javax.faces.ViewState:4" value="mkvxZ0xxzsR0jxJLKDvt/mKJySmFNhxAoi0cA4DJDM5R45vE
">
</form>

Name: j_id_bo:shoppingCartCheckoutButtonPOST https://shop.mango.com/homeMarcas.faces?state=she_006_IN&ts=1695022173991

<form id="j_id_bo:shoppingCartCheckoutButton" name="j_id_bo:shoppingCartCheckoutButton" method="post" action="https://shop.mango.com/homeMarcas.faces?state=she_006_IN&amp;ts=1695022173991" enctype="application/x-www-form-urlencoded"><span
    id="shopping-cart-to-checkout"
    onclick="_mng_preSubmit('_mng_hidde_valueshopping-cart-to-checkout','shopping-cart-to-checkout','j_id_bo:shoppingCartCheckoutButton');return myfaces.oam.submitForm('j_id_bo:shoppingCartCheckoutButton','shopping-cart-to-checkout');"
    style="cursor: pointer;display:none;"></span><input type="hidden" name="j_id_bo:shoppingCartCheckoutButton_SUBMIT" value="1"><input type="hidden" name="javax.faces.ViewState" id="j_id__v_0:javax.faces.ViewState:5" value="mkvxZ0xxzsR0jxJLKDvt/mKJySmFNhxAoi0cA4DJDM5R45vE
"></form>

<form class="I5Usi">
  <div class="ISJdB">
    <div role="none" class="etZkZ y7Vqq   text-body-s"><label class="text-uppercase-s _9ykC
             rQAoK
          " for="input-simple">Address</label><input class="text-body-l ncggn joOo2 fwZRz" id="input-simple" name="input-simple" placeholder="Enter an address, postcode or city" micro="fukku" data-testid="search-input" value="United Kingdom"><button
        aria-expanded="true" aria-label="Delete address" class="WUeVk icon-outline-close-m" type="button" data-testid="clearInput"></button></div><span class="sr-only">Enter an address, postcode or city</span>
    <p class="text-body-s w74TP " id="input-simple-error" aria-live="polite"></p>
  </div>
  <div class="fMV2x Zzzlb">
    <div class="BLdvo wXwPb" aria-expanded="false" aria-haspopup="listbox" aria-labelledby="undefined.label" role="combobox" data-testid="brand-selector" aria-disabled="false" tabindex="0"><label id="undefined.label"
        class="TiqFN FhCfZ text-uppercase-s">Stores</label>
      <div class="Y_j3h"><img src="https://shop.mango.com/fukku-icons/down-s1.svg?v=1.0.1" alt="" width="24" height="24" class="GEXNM"></div>
      <p class="AAgQd text-body-m" aria-label="All the stores" aria-live="assertive">All the stores</p>
    </div>
    <div id="undefined.listbox" data-testid="brand-selector.listbox" role="listbox" tabindex="-1" class="t1GeB PFTun" aria-labelledby="undefined.label">
      <div class="f9XPM" data-value="she" role="option" aria-selected="false" tabindex="-1" name="Women" value="she">
        <p class="VpNTC text-body-m" data-value="she" data-label="Women">Women</p>
      </div>
      <div class="f9XPM" data-value="he" role="option" aria-selected="false" tabindex="-1" name="Men" value="he">
        <p class="VpNTC text-body-m" data-value="he" data-label="Men">Men</p>
      </div>
      <div class="f9XPM" data-value="kids" role="option" aria-selected="false" tabindex="-1" name="Kids" value="kids">
        <p class="VpNTC text-body-m" data-value="kids" data-label="Kids">Kids</p>
      </div>
      <div class="f9XPM" data-value="allShops" role="option" aria-selected="true" tabindex="-1" name="All the stores" value="allShops">
        <p class="VpNTC text-body-m" data-value="allShops" data-label="All the stores">All the stores</p>
      </div>
    </div>
    <p class="text-body-s CIP9W" id="undefined-error"></p>
  </div>
</form>

Name: j_id_cn:modalRGPDFormPOST https://shop.mango.com/homeMarcas.faces?state=she_006_IN&ts=1695022173991

<form id="j_id_cn:modalRGPDForm" name="j_id_cn:modalRGPDForm" method="post" action="https://shop.mango.com/homeMarcas.faces?state=she_006_IN&amp;ts=1695022173991" enctype="application/x-www-form-urlencoded"><span
    id="j_id_cn:modalRGPDForm:modalRGPD"></span><input type="hidden" name="j_id_cn:modalRGPDForm_SUBMIT" value="1"><input type="hidden" name="javax.faces.ViewState" id="j_id__v_0:javax.faces.ViewState:6" value="mkvxZ0xxzsR0jxJLKDvt/mKJySmFNhxAoi0cA4DJDM5R45vE
"></form>

Text Content

Free delivery from £30 - Pay in 3 months interest free
 * Women
   
 * Men
   
 * Teen
   
 * Kids
   
 * Home
   

MANGO
Search

Sign inWishlistShopping bag

Sign in for a personalised experience









http://staticpages.mngbcn.com/homes/006/0/IN/index.html
Women
Men
Teen
Kids
Home



C
We remind you that the limit on purchases is a maximum of £1,000 and/or 40
items, as indicated in the purchasing conditions.
Accept
Select the colour and size available before adding it to the shopping bag.Accept
We remind you that you can add up to 40 items to the Wish List.
Accept
To create your WishList, you must be registered.
If you are already registered, log in.
Sign in
Register
Close

q NOTE

CONTINUE
C


WISHLIST

Select the Wishlist you wish to add your garment to:

Create a new WishList >>
NameCreate the WishList



United Kingdom
 * Help
 * My purchases
 * Returns
 * Shops
 * Gift voucher
 * Apps
 * Company
 * Franchises
 * Affiliates
 * Work for Mango
 * Press
 * Mango Outlet
 * Site map
 * Special days
 * Sustainability
 * Live Shopping
 * Complaints and code of ethics

f t i p 2 y F
© 2023 MANGO All rights reserved Privacy Policy and Cookies | Terms & Conditions


c
k
Enter your e-mail address and we will notify you if the item becomes available
again.
E-mail

Receive notification

BASIC INFORMATION REGARDING DATA PROTECTION. DATA CONTROLLER: Punto Fa, SL. 
PURPOSE: Management of service to notify availability of Mango garments.
AUTHORISATION: Consent of the interested party. ADDRESSEES: MANGO Group
companies and companies responsible for data processing. International transfers
may occur. RIGHTS: You may, at any time, exercise your rights of access,
rectification, cancellation, opposition and other legally-established rights via
the following e-mail address: personaldata@mango.com. ADDITIONAL INFORMATION:
You may consult more detailed information regarding data protection here.



Need help?





LOCATE YOUR STORE

Enter an address, postcode or town to find your nearest MANGO store:



Address
Enter an address, postcode or city



Stores


All the stores

Women

Men

Kids

All the stores



   8-12 Neal StLONDON WC2H 9LY02072402935Collections: Women
 * Opening hours

   229-235 Oxford St, LondonLONDON W1D 2LP02072874936Collections: Women, Men,
   Kids
 * Opening hours

   2 New ChangeLONDON EC4M 9AD02072361807Collections: Women
 * Opening hours

   Ground Floor - Turbine Hall - Circus Road SouthLONDON SW11
   8BU7437373377Collections: Women
 * Opening hours

   Ariel Way, London W12 7GFLONDON W12 7GF2087352833Collections: Women
 * Opening hours

   1 Canada Square (Placecanary Wharflondon)LONDON E14
   5AB02075132776Collections: Women
 * Opening hours

   2 Stratford place Montfichet Road, Olympic ParkLONDON E20
   1EJ00000Collections: Women
 * Opening hours

   Brent Cross SC, Prince Charles DrLONDON NW4 3FN02084571354Collections:
   WomenReturns of purchases made in Mango stores or online are not accepted
 * Opening hours

   Brent Cross SC, Prince Charles DrLONDON NW4 3FN02084571354Collections:
   KidsReturns of purchases made in Mango stores or online are not accepted
 * Opening hours

   Prince Charles Drive. D8-D9LONDON NW43FP02082034116Collections: Women
 * Opening hours

   16 St Georges Rd (Wimbledon)LONDON SW19 4DP02089474395Collections:
   WomenReturns of purchases made in Mango stores or online are not accepted
 * Opening hours

   House of Fraser, Centrale SC, North EndCROYDON CR0 1TY02086670746Collections:
   WomenReturns of purchases made in Mango stores or online are not accepted
 * Opening hours

   Wood Street Kingston Upon Thames KT1 1TP02085468421Collections: Women
 * Opening hours

   Queen's Rd - Local unit B, Lower MallWatford WD17 2UB01923246586Collections:
   Women
 * Opening hours

   Bluewater Pkwy,U130 U131Dartford DA9 9ST00000000000Collections: Women
 * Opening hours

   200 Thurrock Lakeside SC (West Thurrock)Grays RM20 2ZQ01708862923Collections:
   WomenReturns of purchases made in Mango stores or online are not accepted
 * Opening hours

   North StreetGUILDFORD GU1 4YT01483457026Collections: Women
 * Opening hours

   ST ANDREW'S ST-LOCAL SU14Cambridge CB2 3BJ1223314025Collections: Women, Kids
 * Opening hours

   Queen st Oxford OX1 1PE01865790659Collections: Women, Kids
 * Opening hours

   14 Crescent Arcade,Unit 59/60SOLIHULL B91 3SW00Collections: Women
 * Opening hours

   Unit MSU1, Core 11BIRMINGHAM B5 4BE01216333640Collections: Women, Men, Kids
 * Opening hours

   24 Chapel WalkWORCESTER WR1 3LD03439092059Collections: WomenReturns of
   purchases made in Mango stores or online are not accepted
 * Opening hours

   Anchor Rd (Unit DS1 The Circus)BRISTOL BS1 5DB01179293809Collections:
   WomenReturns of purchases made in Mango stores or online are not accepted
 * Opening hours

   Unit S1 27 Cabot CircusBRISTOL BS1 3BX01179330994Collections: Women
 * Opening hours

   The Mall at Cribbs CausewayBRISTOL BS34 4AS000Collections: Women
 * Opening hours

   Brierley Hill Rd,Merryhill DY5 1QX01384486517Collections: Women
 * Opening hours

   2 Union RdNOTTINGHAM NG1 3HF01159418521Collections: WomenReturns of purchases
   made in Mango stores or online are not accepted
 * Opening hours

   LONDON RD, DERBYDerby DE1 2PL01332341858Collections: Women
 * Opening hours

   90-100 Market StMANCHESTER M1 1PB01618322882Collections: Women, Men
 * Opening hours

   27 Albion StLEEDS LS1 5AT0000000000Collections: Women
 * Opening hours

   6 Coney StYORK YO1 9NA01904633019Collections: Women
 * Opening hours

   P O BOX 64 Fenwick, Northumberland St (Fenwick)Newcastle Upon Tyne NE99
   1AR01912314104Collections: WomenReturns of purchases made in Mango stores or
   online are not accepted
 * Opening hours

   UNITS SU19 SU20, Percy StreetNEWCASTLE NE1 7JB0Collections: Women
 * Opening hours

   1 Victoria Square (Ug02 Ug03)BELFAST BT1 4QG02890328357Collections: Women,
   Kids
 * Opening hours

   UNIT SU2-29, ST JAMES SQUAREEDINBURGH EH1 3AY01315602824Collections: Women
 * Opening hours

   Junction 10, M8GLASGOW G34 9DL1417716736Collections: Women
 * Opening hours

   220 Buchanan StGLASGOW G1 2GF01413329260Collections: Women
 * Opening hours



Zum Verschieben drückst du die Pfeiltasten entsprechend.









































←Nach links→Nach rechts↑Nach oben↓Nach unten+Heranzoomen-HerauszoomenPos1Um 75 %
nach linksEndeUm 75 % nach rechtsBild aufUm 75 % nach obenBild abUm 75 % nach
unten














Kurzbefehle
KartendatenKartendaten © 2023
Kartendaten © 2023

1 km 

Klicken, um zwischen metrischen und angloamerikanischen Maßeinheiten zu wechseln
Nutzungsbedingungen
Fehler bei Google Maps melden


We use our own and third-party cookies for analytical purposes and to show you
advertising and personalised content based on a profile prepared from your
browsing habits. You can accept all the cookies or manage your preferences in
the settings panel. For more information, consult the Cookies Policy.

Set cookiesAccept all