{"css":"*#dm *.dmBody a.span.textonly\n{\n\tcolor:rgb(255,255,255) !important;\n}\n*#dm *.dmBody div.u_1694205906\n{\n\tbackground-color:rgba(0,0,0,0) !important;\n}\n*#dm *.dmBody div.dmPopupInner\n{\n\tbackground-color:rgb(255,255,255) !important;\n\tborder-style:solid !important;\n\tborder-width:0 !important;\n\t-webkit-box-shadow:0 0 10px rgba(0,0,0,0.30) !important;\n\tbox-shadow:0 0 10px rgba(0,0,0,0.30) !important;\n\t-moz-box-shadow:0 0 10px rgba(0,0,0,0.30) !important;\n\tborder-radius:10px !important;\n\t-moz-border-radius:10px !important;\n\t-webkit-border-radius:10px !important;\n\tbackground-image:none !important;\n\tbackground-repeat:no-repeat !important;\n\tbackground-size:cover !important;\n\tbackground-position:top right !important;\n}\n*#dm *.dmBody div.u_dm_content\n{\n\tbackground-image:none !important;\n}\n*#dm *.dmBody *.allWrapper .dmPopupInner\n{\n\tborder-radius:0 !important;\n\t-moz-border-radius:0 !important;\n\t-webkit-border-radius:0 !important;\n\tbox-shadow:none !important;\n\t-moz-box-shadow:none !important;\n\t-webkit-box-shadow:none !important;\n}\n*#dm *.dmBody nav.u_1144820115\n{\n\tcolor:black !important;\n}\n*#dm *.dmBody *.u_1623780494\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1781852049\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1193617582\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1928439966\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1617825856\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1625097643\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1237416060\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1743996373\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1033143591\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1551411254\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1655844913\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1599055422\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1482877175\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1927262901\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1667075217\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1489070546\n{\n\tdisplay:none !important;\n}\n*#dm *.dmBody *.u_1775144007 .dmformsubmit\n{\n\ttext-align:CENTER !important;\n\tfloat:none !important;\n\tdisplay:block !important;\n\tmargin-left:auto !important;\n\tmargin-right:auto !important;\n}\n","additionalWidgetCss":"/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}\n.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}\n[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}\n.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/.dmLargeBody #dm .dmRespRow .dmRespCol.large-11 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget,.dmLargeBody #dm .dmRespRow .dmRespCol.large-12 .dmform[data-layout=layout-2] .dmform-wrapper .dmformsubmit.dmWidget{width:fit-content}\n#dm .dmformsubmit input[type=submit]{text-align:inherit}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable),#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput label:not(.for-checkable){width:75px;vertical-align:top;white-space:normal}\n#dm .dmBody div.dmform[data-layout=layout-2] .dmforminput:not(.g-recaptcha):not(.frc-captcha){justify-content:flex-start!important}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput{display:block}\n#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-1] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:2px solid #000;display:inline-block}\n#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput{-js-display:flex;display:flex}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput input:not([type=checkbox]):not([type=radio]),#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-2] .dmforminput textarea,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>input,#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>textarea{width:calc(100% - 80px)}\n#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput>.resizeHandler{height:100%;bottom:0}#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput,#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput{margin-top:20px}\n#dm .dm-layout-sec div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner),#dm div.dmInner .dmform[data-layout=layout-3] .dmforminput>:not(label):not(div):not(small):not(.frc-banner){background:0;border:0;border-radius:0;-webkit-appearance:none;border-bottom:1px solid;height:30px}\n#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol{border:0}#dm div.dmInner .frc-captcha.dmforminput.dmRespDesignCol .frc-banner{border:0;position:inherit}#dm div.dmInner .dmform .dmforminput .radiowrapper span{line-height:normal}\n#dm div.dmInner .dmform .dmforminput .checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .optinwrapper div{vertical-align:text-bottom;line-height:normal;display:inline}#dm div.dmInner .dmform .dmforminput .optinwrapper div p.rteBlock{display:inline}\n#dm div.dmInner .dmform .dmforminput .horizontal.checkboxwrapper span,#dm div.dmInner .dmform .dmforminput .horizontal.optinwrapper div div,#dm div.dmInner .dmform .dmforminput .horizontal.radiowrapper span{margin:0 15px 0 3px}\n#dm div.dmInner .dmform .dmforminput .horizontal{-js-display:flex;display:flex;flex-wrap:wrap}#dm div.dmInner .dmform[data-layout=layout-2] .dmforminput .horizontal{-js-display:inline-flex;display:inline-flex}\n#dm div.dmInner .dmform .dmforminput .horizontal div{-js-display:flex;display:flex}#dm div.dmInner .dmform .dmforminput .horizontal input{flex-shrink:0;margin-top:.2em}#dm div.dmInner .dmform .dmforminput label[hide=true],#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=checkbox].checkable-input+span,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input,#dm div.dmInner .native-inputs .hide-contact-input .contact-checkable-container input[type=radio].checkable-input+span,.dmform .dmforminput[data-skip-in-editor=true]{display:none}\n.dmform .dmform-field-error{display:none;color:#b00020;background-color:#fef5f5;font-size:12px;padding:6px 12px;margin-top:4px;border-radius:4px}.dmform .dmform-field-error::before{content:\"\";display:inline-block;width:16px;height:16px;margin-right:4px;vertical-align:text-top;background:url('data:image/svg+xml,') no-repeat center/contain;background-repeat:no-repeat;background-position:center;background-size:contain}\n.dmform .inputError{outline:1px solid red!important}.dmform.required-asterisk .required>label::after{content:\"*\";display:inline-block;margin-inline-start:5px;color:#f11111}\n.dmform .dmforminput label{display:block;overflow:hidden;text-overflow:ellipsis}.dmforminput.newLine{clear:both}.dmform .dmWidgetClear{clear:both;display:block}#dm .dmform.form-rtl-direction .dmform-title{text-align:right}\n#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .dmforminput input,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper,#dm .dmform.form-rtl-direction label,#dm .dmform.form-rtl-direction textarea{direction:rtl;text-align:right}\n#dm .dmform.form-rtl-direction .checkboxwrapper,#dm .dmform.form-rtl-direction .fileUploadLink,#dm .dmform.form-rtl-direction .optinwrapper,#dm .dmform.form-rtl-direction .radiowrapper{float:right;clear:both}\n#dm .dmform.form-rtl-direction .dmRespDesignRow .dmRespDesignCol{float:right;text-align:right}#dm .dmform.form-rtl-direction .dmWidget.R{float:left}.u_dm .dmform a.fileUploadLink{text-decoration:underline;cursor:pointer}\n.dmform .fileUploadLink{cursor:pointer}.dmform[data-layout=layout-2] .checkboxwrapper,.dmform[data-layout=layout-2] .optinwrapper,.dmform[data-layout=layout-2] .radiowrapper{justify-content:flex-start!important;text-align:left!important;text-overflow:unset}\n.dmform[data-layout=layout-2] .dmforminput label{margin-right:5px}#dmRoot.dmLargeBody #dm .dmWidget.dmformsubmit{max-width:100%;padding:0}.dmLargeBody #dm .large-3 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-4 .dmformsubmit.dmWidget{width:150px}\n.dmLargeBody #dm .large-10 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-5 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-6 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-7 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-8 .dmformsubmit.dmWidget,.dmLargeBody #dm .large-9 .dmformsubmit.dmWidget{width:200px}\n.dmLargeBody #dm .large-11 .dmformsubmit.dmformsubmit,.dmLargeBody #dm .large-12 .dmformsubmit.dmformsubmit{width:280px}.dmMobileBody #dm .dmRespRow .dmRespCol.small-12 .dmform-wrapper .dmformsubmit{width:91%;max-width:91%;padding:0 10px;float:left}\n.inFormLayoutMode .dmform.inlineEditorFormSelected .dmforminput{transition:all .1s linear}.dmMobileBody .dmform .dmforminput label{white-space:normal}.dmform .newLineButton,.dmform .resizeHandler,.dmform.inlineEditorFormSelected .large-1 .resizeHandler span.dm-icon-chevron-left,.dmform.inlineEditorFormSelected .large-12 .resizeHandler span.dm-icon-chevron-right{visibility:hidden}\n.dmform.inlineEditorFormSelected .resizeHandler{visibility:visible;height:calc(100% - 30px);position:absolute;bottom:5px;right:10px;cursor:col-resize;z-index:999}.dmform.inlineEditorFormSelected .newLineButton{visibility:visible;position:absolute;left:24px;bottom:calc(50% - 22px);padding:4px;cursor:pointer}\n.dmform.inlineEditorFormSelected .newLineButton:before{display:inline-block}.dmform.inlineEditorFormSelected .newLine .newLineButton:before{-webkit-transform:rotateZ(180deg)}.dmform.inlineEditorFormSelected .resizeHandler span{font-size:9px;position:relative;top:50%;margin-top:-4px;color:#666}\n.dmform.inlineEditorFormSelected .resizeHandler span.dm-icon-chevron-right{margin-left:4px}.dmform.inlineEditorFormSelected .resizeHandler .handle{background-color:#666;height:100%;background:url(/editor/nee/images/common/2ColumnsArrows.png) no-repeat center 50%,url(/editor/nee/images/common/bluePic.png) repeat-y center;border-right:0;right:-5px;width:12px}\n.dmform .m-recaptcha{margin-top:0;margin-bottom:10px}.dmform .grecaptcha-badge[data-style=bottomleft],.dmform .grecaptcha-badge[data-style=bottomright]{z-index:999;opacity:0}.dmform.active .grecaptcha-badge[data-style=bottomleft],.dmform.active .grecaptcha-badge[data-style=bottomright]{opacity:1}\n[data-captcha-position=bottomleft] .g-recaptcha,[data-captcha-position=bottomright] .g-recaptcha{padding:0;margin:0}div.dmInner input[type=date],div.dmInner input[type=time]{font-size:16px;background-color:rgba(102,102,102,.15);border:2px solid #fff;width:100%;margin:3px 0;height:40px;padding:0 10px}\n#dm div.dmInner .native-inputs .contact-checkable-container label.for-checkable{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;overflow:visible}#dm div.dmInner .native-inputs .contact-checkable-container .contact-checkable-img{margin-left:0;margin-bottom:0}\n#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input{display:initial;width:1em;height:1em;margin:8px .3em 8px 0;order:1}\n#dm div.dmInner .native-inputs .contact-checkable-container input[type=checkbox].checkable-input:checked~span.img-wrapper>img,#dm div.dmInner .native-inputs .contact-checkable-container input[type=radio].checkable-input:checked~span.img-wrapper>img{border:3px solid transparent}\n#dm div.dmInner .native-inputs .contact-checkable-container div,#dm div.dmInner .native-inputs .contact-checkable-container span:not(.img-wrapper){order:2}#dm div.dmInner .native-inputs .contact-checkable-container span.img-wrapper{order:0;width:100%}\n#dm .dmform:has(.spacing-container) .dmform-wrapper{overflow:clip}#dm .dmform:has(.spacing-container) .dmform-title.dmwidget-title{padding-inline:0;margin-block-start:0}#dm .dmform:has(.spacing-container) .spacing-container{margin:-7.5px;border:1px solid transparent;overflow:hidden}\n#dm .dmform:has(.spacing-container) .spacing-container .dmforminput{margin-top:0;padding:7.5px}#dm .dmform:has(.spacing-container) .spacing-container textarea{display:block}#dm .dmform:has(.spacing-container) .spacing-container .m-recaptcha{margin-bottom:0}\n#dm .dmform:has(.spacing-container) .spacing-container .g-recaptcha:has(.grecaptcha-badge:not([data-style=inline])){position:absolute}#dm .dmform:has(.spacing-container) form.dmRespDesignRow{padding:0}\n#dm .dmform:has(.spacing-container) form.dmRespDesignRow .dmformsubmit{margin:0;margin-block-start:20px}#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow{display:flex;flex-direction:row;align-items:flex-end}\n#dm .dmform:is(.horizontal-alignment) form.dmRespDesignRow .dmformsubmit{margin-block-end:5px}#dm .dmform:is(.horizontal-alignment).form-rtl-direction form{flex-direction:row-reverse}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}\n.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}\n.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}\n.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}\n.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}\n.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}\n.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}\n.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}\n.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}\n.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:\"○\"}\n.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:\"■\"}\n.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}\n.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}\n.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}\n.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:\"•\";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"○\";transform:scale(1);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"★\";transform:scale(.7);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"➞\";transform:scale(.8);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"+\";transform:scale(.7);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"-\";transform:scale(.7);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"✓\";transform:scale(.8);transform-origin:center right}\n.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=\" ql-indent-\"]):before{content:\"✗\";transform:scale(.8);transform-origin:center right}\n.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}\n.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal) \". \"}\n.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal) \". \"}\n.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}\n.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}\n.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}\n}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}/**/#dm .dmSocialHub:not(.gapSpacing) .socialHubInnerDiv a:not(:last-child){margin-right:5px}.socialHubIcon{display:flex!important;align-items:center;justify-content:center}.socialHubIcon svg{fill:currentColor;width:80%;height:80%}\n.socialHubIcon.style1,.socialHubIcon.style4,.socialHubIcon.style6,.socialHubIcon.style7{background:#617379}.socialHubIcon.style7{box-shadow:0 5px 0 0 #475459}.style1.dmSocialTiktok,.style4.dmSocialTiktok{background:#000}\n.style1.dmSocialFacebook,.style4.dmSocialFacebook{background:#1877f2}.style1.dmSocialTwitter,.style4.dmSocialTwitter{background:#0f1419}.style1.dmSocialGooglePlus,.style4.dmSocialGooglePlus{background:#da4835}\n.style1.dmSocialInstagram,.style4.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style1.dmSocialYoutube,.style4.dmSocialYoutube{background:red}\n.style1.dmSocialLinkedin,.style4.dmSocialLinkedin{background:#2867b2}.style1.dmSocialYelp,.style4.dmSocialYelp{background:#e43340}.style1.dmSocialPinterest,.style4.dmSocialPinterest{background:#c8232c}\n.style1.dmSocialVimeo,.style4.dmSocialVimeo{background:#1ab7ea}.style1.dmSocialPicasa,.style4.dmSocialPicasa{background:#be81d1}.style1.dmSocialFoursquare,.style4.dmSocialFoursquare{background:#ef4b78}\n.style1.dmSocialRss,.style4.dmSocialRss{background:#f39200}.style1.dmSocialReddit,.style4.dmSocialReddit{background:#ff4500}.style1.dmSocialEmail,.style4.dmSocialEmail{background:#617379}.style1.dmSocialSnapchat,.style4.dmSocialSnapchat{background:#fffc00}\n.style1.dmSocialTripadvisor,.style4.dmSocialTripadvisor{background:#589442}.style1.dmSocialWaze,.style4.dmSocialWaze{background:#56cbe7}.style1.dmSocialGoogleMyBusiness,.style4.dmSocialGoogleMyBusiness{background:#477cdf}\n.style1.dmSocialWhatsapp,.style4.dmSocialWhatsapp{background:#25d366}.style1.dmSocialPhone,.style4.dmSocialPhone{background:#616c79}.style1:after{content:\"\";width:44px;height:28px;display:block;position:absolute;top:0;left:0;z-index:-1;border-radius:10px}\n.style1.dmSocialEmail:after,.style1.dmSocialFacebook:after,.style1.dmSocialFoursquare:after,.style1.dmSocialGoogleMyBusiness:after,.style1.dmSocialGooglePlus:after,.style1.dmSocialInstagram:after,.style1.dmSocialLinkedin:after,.style1.dmSocialPhone:after,.style1.dmSocialPicasa:after,.style1.dmSocialPinterest:after,.style1.dmSocialReddit:after,.style1.dmSocialRss:after,.style1.dmSocialSnapchat:after,.style1.dmSocialTripadvisor:after,.style1.dmSocialTwitter:after,.style1.dmSocialVimeo:after,.style1.dmSocialYelp:after,.style1.dmSocialYoutube:after{background:#fff;opacity:.2}\n.style2.dmSocialTiktok{color:#000}.style2.dmSocialFacebook{color:#1877f2}.style2.dmSocialTwitter{color:#0f1419}.style2.dmSocialGooglePlus{color:#da4835}.style2.dmSocialInstagram:before{background-image:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important;-webkit-background-clip:text;-webkit-text-fill-color:transparent}\n.style2.dmSocialYoutube{color:red}.style2.dmSocialLinkedin{color:#2867b2}.style2.dmSocialYelp{color:#e43340}.style2.dmSocialPinterest{color:#c8232c}.style2.dmSocialVimeo{color:#1ab7ea}.style2.dmSocialPicasa{color:#be81d1}\n.style2.dmSocialFoursquare{color:#ef4b78}.style2.dmSocialRss{color:#f39200}.style2.dmSocialReddit{color:#ff4500}.style2.dmSocialEmail{color:#617379}.style2.dmSocialSnapchat{color:#fffc00}.style2.dmSocialTripadvisor{color:#589442}\n.style2.dmSocialGoogleMyBusiness:before{color:#477cdf}.style2.dmSocialWaze:before{color:#56cbe7}.style2.dmSocialWhatsapp:before{color:#25d366}.style2.dmSocialPhone{color:#616c79}.style6.dmSocialTiktok{background:#000}\n.style6.dmSocialFacebook{background:#1877f2}.style6.dmSocialTwitter{background:#0f1419}.style6.dmSocialGooglePlus{background:#da4835}.style6.dmSocialInstagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}\n.style6.dmSocialYoutube{background:red}.style6.dmSocialLinkedin{background:#2867b2}.style6.dmSocialYelp{background:#e43340}.style6.dmSocialPinterest{background:#c8232c}.style6.dmSocialVimeo{background:#1ab7ea}\n.style6.dmSocialPicasa{background:#be81d1}.style6.dmSocialFoursquare{background:#ef4b78}.style6.dmSocialRss{background:#f39200}.style6.dmSocialReddit{background:#ff4500}.style6.dmSocialEmail{background:#617379}\n.style6.dmSocialSnapchat{background:#fffc00}.style6.dmSocialTripadvisor{background:#589442}.style6.dmSocialWaze{background:#56cbe7}.style6.dmSocialGoogleMyBusiness{background:#477cdf}.style6.dmSocialWhatsapp{background:#25d366}\n.style6.dmSocialPhone{background:#616c79}.style7.dmSocialTiktok{background:#000}.style7.dmSocialFacebook{background:#1877f2;box-shadow:0 5px 0 0 #4b68a5}.style7.dmSocialTwitter{background:#0f1419}.style7.dmSocialGooglePlus{background:#da4835;box-shadow:0 5px 0 0 #c44130}\n.style7.dmSocialInstagram{box-shadow:0 5px 0 0 #ad2271;background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285aeb 90%)!important}.style7.dmSocialYoutube{background:red;box-shadow:0 5px 0 0 #b3392c}\n.style7.dmSocialLinkedin{background:#2867b2;box-shadow:0 5px 0 0 #1278b1}.style7.dmSocialYelp{background:#e43340;box-shadow:0 5px 0 0 #b62933}.style7.dmSocialPinterest{background:#c8232c;box-shadow:0 5px 0 0 #a21a2d}\n.style7.dmSocialVimeo{background:#1ab7ea;box-shadow:0 5px 0 0 #1592bb}.style7.dmSocialPicasa{background:#be81d1;box-shadow:0 5px 0 0 #9867a7}.style7.dmSocialFoursquare{background:#ef4b78;box-shadow:0 5px 0 0 #da3b67}\n.style7.dmSocialRss{background:#f39200;box-shadow:0 5px 0 0 #c27500}.style7.dmSocialReddit{background:#ff4500;box-shadow:0 5px 0 0 #ae5534}.style7.dmSocialEmail{background:#617379;box-shadow:0 5px 0 0 #475459}\n.style7.dmSocialSnapchat{background:#fffc00;box-shadow:0 5px 0 0 #d1d05d}.style7.dmSocialTripadvisor{background:#589442;box-shadow:0 5px 0 0 #4e7b3e}.style7.dmSocialWaze{background:#56cbe7;box-shadow:0 5px 0 0 #475459}\n.style7.dmSocialGoogleMyBusiness{background:#477cdf;box-shadow:0 5px 0 0 #475459}.style7.dmSocialWhatsapp{background:#25d366;box-shadow:0 5px 0 0 #475459}.style7.dmSocialPhone{background:#616c79;box-shadow:0 5px 0 0 #4a5458}/**/@media(max-width:767px){body.dmRoot div[dmtemplateid]:not([dmtemplateid=SlideRightTopFloatM]) .dmHeader .multilingualWidget{position:absolute;top:14px;left:13px;margin-top:0}body.dmRoot div[dmtemplateid][dmtemplateid=SlideRightTopFloatM] .dmHeader .multilingualWidget{position:absolute;top:5px;right:17px}\n}@media(min-width:768px) and (max-width:1024px){body:not(.responsiveTablet) #dm div[dmtemplateid=StandardLayoutMultiT] .dmHeader .multilingualWidget{position:absolute!important;top:5px!important;right:17px!important;left:initial!important}\n}@media(max-width:767px){body.dmRoot .dmHeader .displayHidden-inner .multilingualWidget{top:0!important}}#dm_content div.dmRespCol div.multilingualWidget,#hcontainer div.dmRespCol div.multilingualWidget{width:auto!important;display:table!important}\n.multilingualWidget.displayNone{display:none!important}.multilingualWidget>div{position:relative}.multilingualWidget{clear:both;margin:0;vertical-align:top;display:table!important;font-size:0;font-family:sans-serif}\n.multilingualWidget .language{color:#888;display:inline-block}.multilingualWidget .language a{text-align:center;display:inline-block;color:inherit;border:#dadada 1px solid;background-color:#fff}.multilingualWidget .language a img{width:24px;height:26px;min-width:24px;min-height:26px}\n.multilingualWidget .language a span{display:none;line-height:initial}.multilingualWidget .language a span.name{margin-top:5px;margin-left:7px;font-size:12px;font-weight:400;text-transform:capitalize}\n.multilingualWidget .language a span.short-label{font-size:12px}.multilingualWidget .language a:after{line-height:initial}.multilingualWidget.open .current-language a:after{transform:rotate(-180deg)}.multilingualWidget .current-language a:after{transition:transform .2s}\n.multilingualWidget.dropdown .language{width:100%}.multilingualWidget.dropdown .language a{display:block;padding:1px 5px}.multilingualWidget.dropdown .language.other-languages{position:absolute;z-index:800;max-height:0;overflow:hidden;transition:max-height .1s ease-in-out}\n.multilingualWidget.dropdown .language.other-languages a{border-top:0!important}.multilingualWidget.dropdown .current-language{position:relative}.multilingualWidget.dropdown .current-language span.name{padding-right:25px}\n.multilingualWidget.dropdown .dm-icon{font-size:9px;display:inline-block;position:absolute;top:46%;transform:translateY(-50%);transition:transform .2s;right:8px}.multilingualWidget.dropdown.open .dm-icon{transform:rotate(-180deg) translateY(50%)}\n.multilingualWidget.dropdown.open .other-languages{display:block;max-height:300px}.multilingualWidget.dropdown .other-languages,.multilingualWidget.dropdown.flag-only .dm-icon,.multilingualWidget.inline span,.multilingualWidget.no-flag a img{display:none}\n.multilingualWidget.dropdown.flag-only a{border:transparent 1px solid;background-color:transparent}.multilingualWidget.dropdown.flag-only.open .language a{background-color:rgba(0,0,0,.3);border:#dadada 1px solid}\n.multilingualWidget.dropdown.long-label a{text-align:left;padding:2px 0 2px 5px;position:relative;box-sizing:border-box}.multilingualWidget.dropdown.long-label a span.name,.multilingualWidget.inline.flag-only .language,.multilingualWidget.inline.short-label.no-flag span.short-label{display:inline-block}\n.multilingualWidget.dropdown.long-label.no-flag a{padding:7px 10px 9px}.multilingualWidget.dropdown.long-label.no-flag a span.name,.multilingualWidget.dropdown.short-label.no-flag a span.short-label{margin:0;display:inline-block}\n.multilingualWidget.dropdown.short-label.no-flag a{padding:8px 22px 9px 10px;font-size:12px;min-height:32px;height:auto;box-sizing:border-box}.multilingualWidget.dropdown.short-label.no-flag .current-language a:after{top:12px}\n.multilingualWidget.short-label span.short-label{text-transform:uppercase}.multilingualWidget.inline.flag-only a{padding:2px 5px;height:32px;box-sizing:border-box}.multilingualWidget.inline.flag-only .current-language a{box-shadow:inset 0 0 8px 0 rgba(0,0,0,.6);border-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}\n.multilingualWidget.inline.flag-only .other-languages a:not(:last-child){border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.flag-only .dm-icon,.multilingualWidget.inline.short-label.no-flag .dm-icon{display:none}\n.multilingualWidget.inline.short-label.no-flag .current-language a{padding-right:0;border-right-width:0!important;border-right-color:transparent!important;border-right-style:none!important}.multilingualWidget.inline.short-label.no-flag .current-language a span.short-label{font-weight:700}\n.multilingualWidget.inline.short-label.no-flag .other-languages a{border-left-color:transparent!important;border-left-width:0!important;border-left-style:none!important}.multilingualWidget.inline.short-label.no-flag .other-languages a:not(:last-child){padding-right:0;border-right-color:transparent!important;border-right-width:0!important;border-right-style:none!important}\n.multilingualWidget.inline.short-label.no-flag a{position:relative;padding:8px 10px;font-size:12px;min-height:32px;height:auto;text-decoration:none}.multilingualWidget.inline.short-label.no-flag a:after{content:\"/\";position:absolute;top:8px;right:-7px;z-index:1;pointer-events:none}\n.multilingualWidget.inline.short-label.no-flag a:hover .short-label{text-decoration:underline}.multilingualWidget.inline.short-label.no-flag .other-languages a:last-child:after{content:\"\"}/**/.flex-container a:active,.flex-container a:focus,.flexslider a:active,.flexslider a:focus{outline:0}.flex-control-nav,.flex-direction-nav,.slides{margin:0;padding:0;list-style:none}.flexslider,.flexslider .slides>li{height:100%;overflow:hidden;position:relative}\n.flexslider{padding:0;-webkit-transform:translateZ(0);direction:ltr;margin:0;zoom:1;opacity:1!important}.flexslider .slides{height:100%;zoom:1}.flexslider .slides>li{display:none;text-align:center}.flexslider .slides>li a{display:block;width:100%;height:100%}\n.flexslider .slides img{width:100%;display:block;margin:auto}.flexslider .slides>li a img{opacity:0}.flex-pauseplay span{text-transform:capitalize}.slides:after{content:\" \";display:block;clear:both;visibility:hidden;line-height:0;height:0}\nhtml[xmlns] .slides{display:block}* html .slides{height:1%}.no-js .slides>li:first-child{display:block}.flex-viewport{height:100%;transition:all 1s ease}.carousel li{margin-right:5px}.flex-direction-nav{*height:0}\n.flex-direction-nav a,.flex-pauseplay a{display:block;position:absolute;z-index:10;overflow:hidden;cursor:pointer}.flex-direction-nav a{text-decoration:none;margin:-15px 0 0;top:50%;color:rgba(255,255,255,.8)!important;text-shadow:1px 1px 0 rgba(0,0,0,.3);transition:all .3s ease;width:30px;height:30px;opacity:0}\n.flex-direction-nav .flex-prev{left:-50px}.flex-direction-nav .flex-next{right:-50px;text-align:right}.flexslider.arrows-visible .flex-prev,.flexslider.hover .flex-prev,.flexslider:hover .flex-prev{opacity:.7;left:10px}\n.flexslider.arrows-visible .flex-next,.flexslider.hover .flex-next,.flexslider:hover .flex-next{opacity:.7;right:10px}.flex-control-thumbs img:hover,.flex-pauseplay a:hover,.flexslider:hover .flex-next:hover,.flexslider:hover .flex-prev:hover{opacity:1}\n.flex-direction-nav .flex-disabled{filter:alpha(opacity=0);cursor:default}.flex-direction-nav a:before{font-family:\"flexslider-icon\";font-size:30px;line-height:30px;display:inline-block;content:\"\\f001\"}\n.flex-direction-nav a.flex-next:before{content:\"\\f002\"}.nav-layout-2 .flex-direction-nav a:before{font-family:FontAwesome;content:\"\\f104\"}.nav-layout-2 .flex-direction-nav a.flex-next:before{content:\"\\f105\"}\n.nav-layout-3 .flex-direction-nav a:before{font-family:FontAwesome;content:\"\\f100\"}.nav-layout-3 .flex-direction-nav a.flex-next:before{content:\"\\f101\"}\n.flex-pauseplay a{width:20px;height:20px;bottom:5px;left:10px;opacity:.8;color:#000}.flex-pauseplay a:before{font-family:\"flexslider-icon\";font-size:20px;display:inline-block;content:\"\\f004\"}\n.flex-pauseplay a.flex-play:before{content:\"\\f003\"}.flex-control-nav{width:100%;position:absolute;bottom:-40px;text-align:center}.flex-control-nav li{margin:0 6px;display:inline-block;zoom:1;*display:inline}\n.flex-control-paging li a{width:11px;height:11px;display:block;background:#666;background:rgba(0,0,0,.5);cursor:pointer;text-indent:-9999px;border-radius:20px;-o-box-shadow:inset 0 0 3px rgba(0,0,0,.3);box-shadow:inset 0 0 3px rgba(0,0,0,.3)}\n.flex-control-paging li a:hover{background:#333;background:rgba(0,0,0,.7)}.flex-control-paging li a.flex-active{background:#000;background:rgba(0,0,0,.9);cursor:default}.flex-control-thumbs{margin:5px 0 0;position:static;overflow:hidden}\n.flex-control-thumbs li{width:25%;float:left;margin:0}.flex-control-thumbs img{width:100%;display:block;opacity:.7;cursor:pointer}.flex-control-thumbs .flex-active{opacity:1;cursor:default}.flex-caption{background:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = #4C000000,endColorstr = #4C000000);zoom:1;width:100%;padding-top:7px;position:absolute;background-color:#000;font-size:16px;line-height:20px;bottom:0;margin-bottom:0;color:#fff;padding-bottom:7px;opacity:.65}\n@media screen and (max-width:860px){.flex-direction-nav .flex-prev{opacity:1;left:10px}.flex-direction-nav .flex-next{opacity:1;right:10px}}.flexslider .color-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.25);display:block}\n.flexslider .slides>li .slide-inner{font-weight:700;color:#fff;position:absolute;z-index:1;visibility:hidden}.flexslider .slides>li .slide-inner *{line-height:normal}.flexslider .slides>li .slide-inner.animated{visibility:visible}\n.flexslider .slides>li .slide-inner .slide-title{margin:0}.flexslider .slides>li .slide-inner .slide-text{margin:0;font-size:19px;font-weight:400}#dm .dmInner .flexslider .slides>li .slide-inner .slide-button{margin-top:20px;margin-left:auto;margin-right:auto}\n.flexslider .slides [show-content=false] .color-overlay,.flexslider .slides [show-content=false] .slide-inner,.flexslider[hide-content=true] .slides .color-overlay,.flexslider[hide-content=true] .slides .slide-inner{visibility:hidden!important}\n.flexslider a[href]+.color-overlay{cursor:pointer}.flexslider .slides>li[layout=center] .slide-inner{max-width:70%;max-height:80%}#dm .flexslider .slides .dmWidget .text{max-width:100%;width:100%;padding:10px 20px!important}\n.flexslider:not([layout]):not([position]) .slides>li[layout=bottom][position=left] .slide-inner{text-align:left!important}.flexslider:not([layout]):not([position]) .slides>li[layout=bottom][position=center] .slide-inner{text-align:center!important}\n.flexslider:not([layout]):not([position]) .slides>li[layout=bottom][position=right] .slide-inner{text-align:right!important}.flexslider:not([layout]):not([position]) .slides>li[layout^=bottom] .slide-inner{background-color:inherit}\n.flexslider:not([layout]):not([position]) .slides>li[layout^=bottom] .slide-button,.flexslider:not([layout]):not([position]) .slides>li[layout^=bottom] .slide-title{display:none!important}.flexslider:not([layout]):not([position]) .slides>li[layout^=bottom] .color-overlay{visibility:hidden!important}\n#dm .dmInner .flexslider.ed-version .slide-button{-js-display:inline-flex;display:inline-flex;justify-content:center;align-items:center}.flexslider:not([position]):not([layout]) .slides>li[layout=center][position=center] .slide-inner{right:auto!important;bottom:auto!important;text-align:center}\n.flexslider:not([position]) .slides>li[layout=bottom]{position:relative;background-color:rgba(0,0,0,.5)}.flexslider:not([position]) .slides>li[layout=bottom] .slide-inner{width:100%;margin-left:0!important;margin-top:0!important;max-height:100%;padding:15px 30px;top:auto!important;bottom:0!important;left:0!important}\n.flexslider:not([position]) .slides>li[layout=center][position=right] .slide-inner{right:10%!important;margin-left:0!important;left:auto!important;text-align:left}.flexslider:not([position]) .slides>li[layout=center][position=left] .slide-inner h3,.flexslider:not([position]) .slides>li[layout=center][position=right] .slide-inner h3{text-align:left}\n.flexslider:not([position]) .slides>li[layout=center][position=left] .slide-inner{left:10%!important;margin-right:0!important;right:auto!important;text-align:left}.flexslider.ed-version .color-overlay,.flexslider.ed-version .text-wrapper{pointer-events:none}\n.flexslider.ed-version .slides img{display:none}.flexslider.ed-version:not([layout]) .slides>li[layout=center] .slide-inner,.flexslider.ed-version[layout=center] .slides>li .slide-inner{position:static!important;top:auto!important;left:auto!important;margin:0!important}\n.flexslider.ed-version:not([layout]) .slides>li[layout=center] .slide-inner .slide-button.slide-button-visible,.flexslider.ed-version[layout=center] .slides>li .slide-inner .slide-button.slide-button-visible{display:inline-flex!important}\n.flexslider.ed-version:not([layout]) .slides>li[layout=center] .slide-inner .slide-button.slide-button-invisible,.flexslider.ed-version[layout=center] .slides>li .slide-inner .slide-button.slide-button-invisible{display:none!important}\n.flexslider.ed-version:not([layout]) .slides>li[layout=center] a,.flexslider.ed-version[layout=center] .slides>li a{position:absolute;left:0;top:0}.flexslider.ed-version:not([layout]) .slides>li[layout=center],.flexslider.ed-version[layout=center] .slides>li{display:-ms-flexbox!important;-ms-flex-pack:center;-ms-flex-align:center;display:flex!important;justify-content:center;align-items:center}\n.flexslider.ed-version:not([layout]) .slide-inner,.flexslider.ed-version[layout=center] .slide-inner{max-width:70%;max-height:80%;background-color:transparent;top:50%!important;left:50%!important;right:auto!important;width:auto}\n.flexslider.ed-version:not([layout]) .slide-inner .slide-title,.flexslider.ed-version[layout=center] .slide-inner .slide-title{display:block!important;text-align:center!important}.flexslider.ed-version:not([layout])[position=right] .slides>li,.flexslider.ed-version[layout=center][position=right] .slides>li{justify-content:flex-end}\n.flexslider.ed-version:not([layout])[position=right] .slides>li .slide-inner,.flexslider.ed-version[layout=center][position=right] .slides>li .slide-inner{margin-right:10%!important}.flexslider.ed-version:not([layout])[position=right] .slides>li .slide-inner .slide-button,.flexslider.ed-version[layout=center][position=right] .slides>li .slide-inner .slide-button{float:right}\n.flexslider.ed-version:not([layout])[position=right] .slides>li .slide-inner .slide-text,.flexslider.ed-version:not([layout])[position=right] .slides>li .slide-inner .slide-text p,.flexslider.ed-version:not([layout])[position=right] .slides>li .slide-inner .slide-title,.flexslider.ed-version:not([layout])[position=right] .slides>li .slide-inner .slide-title p,.flexslider.ed-version[layout=center][position=right] .slides>li .slide-inner .slide-text,.flexslider.ed-version[layout=center][position=right] .slides>li .slide-inner .slide-text p,.flexslider.ed-version[layout=center][position=right] .slides>li .slide-inner .slide-title,.flexslider.ed-version[layout=center][position=right] .slides>li .slide-inner .slide-title p{text-align:right!important}\n.flexslider.ed-version:not([layout])[position=left] .slides>li,.flexslider.ed-version[layout=center][position=left] .slides>li{justify-content:flex-start}.flexslider.ed-version:not([layout])[position=left] .slides>li .slide-inner,.flexslider.ed-version[layout=center][position=left] .slides>li .slide-inner{margin-left:10%!important}\n.flexslider.ed-version:not([layout])[position=left] .slides>li .slide-inner .slide-button,.flexslider.ed-version[layout=center][position=left] .slides>li .slide-inner .slide-button{float:left}.flexslider.ed-version:not([layout])[position=left] .slides>li .slide-inner .slide-text,.flexslider.ed-version:not([layout])[position=left] .slides>li .slide-inner .slide-text p,.flexslider.ed-version:not([layout])[position=left] .slides>li .slide-inner .slide-title,.flexslider.ed-version:not([layout])[position=left] .slides>li .slide-inner .slide-title p,.flexslider.ed-version[layout=center][position=left] .slides>li .slide-inner .slide-text,.flexslider.ed-version[layout=center][position=left] .slides>li .slide-inner .slide-text p,.flexslider.ed-version[layout=center][position=left] .slides>li .slide-inner .slide-title,.flexslider.ed-version[layout=center][position=left] .slides>li .slide-inner .slide-title p{text-align:left!important}\n.flexslider.ed-version:not([layout])[position=center] .slides>li .slide-inner .slide-text,.flexslider.ed-version:not([layout])[position=center] .slides>li .slide-inner .slide-text p,.flexslider.ed-version:not([layout])[position=center] .slides>li .slide-inner .slide-title,.flexslider.ed-version:not([layout])[position=center] .slides>li .slide-inner .slide-title p,.flexslider.ed-version[layout=center][position=center] .slides>li .slide-inner .slide-text,.flexslider.ed-version[layout=center][position=center] .slides>li .slide-inner .slide-text p,.flexslider.ed-version[layout=center][position=center] .slides>li .slide-inner .slide-title,.flexslider.ed-version[layout=center][position=center] .slides>li .slide-inner .slide-title p{text-align:center!important}\n.flexslider.ed-version[layout=bottom] .slides>li[show-caption=false] .slide-inner{visibility:hidden!important}.flexslider.ed-version .flex-direction-nav>li a,.flexslider.ed-version[layout=bottom] .slides>li{position:relative}\n.flexslider.ed-version[layout=bottom] .slides>li .slide-inner{width:100%;max-width:100%;background-color:rgba(0,0,0,.5);margin-left:0!important;margin-top:0!important;max-height:100%;padding:15px 30px;top:auto!important;bottom:0!important;left:0!important}\n.flexslider.ed-version[layout=bottom] .slides>li .slide-inner .slide-button,.flexslider.ed-version[layout=bottom] .slides>li .slide-inner .slide-title,.flexslider.ed-version[layout=empty] .slide-inner{display:none!important}\n.flexslider.ed-version[layout=bottom][position=right] .slide-inner{text-align:right}.flexslider.ed-version[layout=bottom][position=left] .slide-inner{text-align:left}.flexslider.ed-version .flex-direction-nav>li{position:absolute;z-index:10000;top:50%;line-height:0;transform:translateY(-50%)}\n.flexslider.ed-version .flex-direction-nav>li a:before{width:100%;text-align:center;position:relative;top:50%;line-height:40px;transform:translateY(-50%)}.flexslider.ed-version .flex-direction-nav>li:first-child{left:0}\n.flexslider.ed-version .flex-direction-nav>li:not(:first-child){right:0}[data-buttonstyle=BIG_BASIC] .flexslider .slide-button .iconBg.hidden+.text,[data-buttonstyle=BIG_BASIC] .flexslider .slide-button.hidden .text,[data-buttonstyle=CONTRAST_ICON] .flexslider .slide-button .iconBg.hidden+.text,[data-buttonstyle=CONTRAST_ICON] .flexslider .slide-button.hidden .text,[data-buttonstyle=FLAT_ICON] .flexslider .slide-button .iconBg.hidden+.text,[data-buttonstyle=FLAT_ICON] .flexslider .slide-button.hidden .text,[data-buttonstyle=FLAT_ROUND_ICON] .flexslider .slide-button .iconBg.hidden+.text,[data-buttonstyle=FLAT_ROUND_ICON] .flexslider .slide-button.hidden .text,[data-buttonstyle=TWO_COLORS] .flexslider .slide-button .iconBg.hidden+.text,[data-buttonstyle=TWO_COLORS] .flexslider .slide-button.hidden .text{margin-left:-40px;box-sizing:content-box}","isHomePage":false,"customwidgetsdata":[{"widgetId":"b82dbf0dd7fc467dbfe978a9baa7e714","version":7,"js":"dmFyIGFkZHJlc3MgPSBkYXRhLmNvbmZpZy5hZGRyZXNzCgpjb25zdCBlbXB0eUxpc3RQbGFjZUhvbGRlciA9ICJUaGlzIGlzIGEgcGxhY2Vob2xkZXIgYW5kIHdvbid0IGFwcGVhciBvbiB0aGUgbGl2ZSBzaXRlLiI7CgphZGRyZXNzID0gYWRkcmVzcy5yZXBsYWNlKC88cC4qPz4vZywgJycpCmFkZHJlc3MgPSBhZGRyZXNzLnJlcGxhY2UoLyZxdW90Oy9nLCAnIicpCmFkZHJlc3MgPSBhZGRyZXNzLnJlcGxhY2UoL1w8XC9wXD4vZywgJycpCmFkZHJlc3MgPSBhZGRyZXNzLnJlcGxhY2UoL1w8YnJcPi9nLCAnJykKCmlmICghZGF0YS5pbkVkaXRvciAmJiBhZGRyZXNzID09PSAnJykgewogICAgJChlbGVtZW50KS5maW5kKCcueWV4dEFkZHJlc3MnKS5jc3MoICJkaXNwbGF5IiwgIm5vbmUiICkKICAgIHZhciBwcmV2U2liID0gJChlbGVtZW50KS5wcmV2KClbMF0KICAgICAgICAgICAgICAgaWYocHJldlNpYi5jaGlsZHJlbiAmJiBwcmV2U2liLmNoaWxkcmVuWzBdLnRhZ05hbWUuc3RhcnRzV2l0aCgiSCIpKXsKICAgICAgICAgICAgICAgICAgIHByZXZTaWIuc3R5bGUuZGlzcGxheSA9ICdub25lJwogICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgIH0KfWVsc2UgaWYgKGFkZHJlc3MgIT0gJycpewogICAgYWRkcmVzcyA9IEpTT04ucGFyc2UoYWRkcmVzcykKfSBlbHNlIGlmIChkYXRhLmluRWRpdG9yICYmIGFkZHJlc3MgPT09ICcnKXsKICAgICQoZWxlbWVudCkuaHRtbChlbXB0eUxpc3RQbGFjZUhvbGRlcik7Cn0KCmlmIChkYXRhLmNvbmZpZy5hZGRyZXNzMSl7CiAgICAkKGVsZW1lbnQpLmZpbmQoJy5hZGRyZXNzMScpLnRleHQoYWRkcmVzcy5saW5lMSkKfQoKaWYgKGRhdGEuY29uZmlnLmFkZHJlc3MxKXsKICAgICQoZWxlbWVudCkuZmluZCgnLmFkZHJlc3MyJykudGV4dChhZGRyZXNzLmxpbmUyKQp9CgppZiAoZGF0YS5jb25maWcuY2l0eSl7CiAgICAkKGVsZW1lbnQpLmZpbmQoJy5jaXR5JykudGV4dChhZGRyZXNzLmNpdHkpCn0KCmlmIChkYXRhLmNvbmZpZy5zdGF0ZSl7CiAgICAkKGVsZW1lbnQpLmZpbmQoJy5zdGF0ZScpLnRleHQoYWRkcmVzcy5yZWdpb24pCn0KCmlmIChkYXRhLmNvbmZpZy56aXApewogICAgJChlbGVtZW50KS5maW5kKCcuemlwJykudGV4dChhZGRyZXNzLnBvc3RhbENvZGUpCn0KICAgIA==","css":".yextAddress{\n text-align: left;\n}\n","strings":{}},{"widgetId":"9015bcbf1ace437aa6f0e66d5bb2e7d3","version":25,"js":"JChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICAgICQuZ2V0U2NyaXB0KCdodHRwczovL3dpZGdldC5oaWJ1LnVzL3N0YXRpYy9qcy9pbmRleC5qcycpCiAgICAvLyQuZ2V0U2NyaXB0KCcvL3N1cnZseXdpZGdldC11YXQuZmlyZWJhc2VhcHAuY29tL3N0YXRpYy9qcy9pbmRleC5qcycpCiAgICAuZG9uZShmdW5jdGlvbigpewogICAgICAgIGRtQVBJLnJ1bk9uUmVhZHkoJ2hpYnVfaGVhZGVyX3Jldmlld3MnLGZ1bmN0aW9uKCl7CiAgICAgICAgICAgIHdpbmRvdy5yZW5kZXJBcHAoKTsKICAgICAgICB9KTsKICAgICAgICAKICAgIH0pCiAgICAuZmFpbChmdW5jdGlvbigpewogICAgICAgIGNvbnNvbGUubG9nKCJmYWlsZWQgdG8gbG9hZCBoZWFkZXIgcmV2aWV3cyBqcyBmaWxlIikKICAgIH0pOwogICAgCiAgICBlbGVtZW50LmNoaWxkcmVuWzBdLnJlbW92ZUF0dHJpYnV0ZShgcnRlYmxvY2siYCkKICAgIHZhciBtZXJjaGFudElkID0gZGF0YS5jb25maWcubWVyY2hhbnRJZAogICAgbWVyY2hhbnRJZCA9IG1lcmNoYW50SWQucmVwbGFjZSgvPHAuKj8+L2csICcnKQogICAgbWVyY2hhbnRJZCA9IG1lcmNoYW50SWQucmVwbGFjZSgvJnF1b3Q7L2csICciJykKICAgIG1lcmNoYW50SWQgPSBtZXJjaGFudElkLnJlcGxhY2UoL1w8XC9wXD4vZywgJycpCiAgICAKICAgIGVsZW1lbnQuY2hpbGRyZW5bMF0uc2V0QXR0cmlidXRlKCdkYXRhLW1lcmNoYW50JywgbWVyY2hhbnRJZCkKfSkKCg==","css":".headerWidget {\n min-height: 10px;\n}\n\n.headerWidget .reviews-header .link {\n margin-top: 4px;\n}\n\n.headerWidget .button .dmWidget {\n width: 280px;\n margin-top: 0px;\n}\n","strings":{}},{"widgetId":"ca4188fe92024514a23a858f63ab6658","version":18,"js":null,"css":".vidWrapper {\n width: 100%;\n padding: 0;\n position: relative;\n background-image: url(\"\");\n background-repeat: no-repeat;\n background-size: cover;\n background-position: 50% 50%;\n}\n\n.vidWrapper:before {\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n background-color: #000;\n opacity: 0.7;\n z-index: 0;\n}\n\n.vidInner {\n position: relative;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n margin: auto;\n width: 100%;\n padding: 10% 0;\n z-index: 0;\n}\n\n.vidTitle1 {\n padding: 0;\n margin: 0 auto;\n font-size: 24px;\n text-align: center !important;\n color: #fff;\n position: relative;\n display: block;\n z-index: 2;\n line-height: 28px;\n}\n\n.vidTitle2 {\n padding: 0;\n margin: 0 auto;\n font-size: 32px;\n text-align: center !important;\n color: #fff;\n position: relative;\n display: block;\n z-index: 2;\n line-height: 40px;\n}\n\n.playIcon {\n fill: #fff;\n display: block;\n position: relative;\n margin-top: 30px;\n width: 110px;\n height: 110px;\n z-index: 2;\n}\n\n.videoWrapper {\n /*Set default width on desktop/tablet*/\n width: 350px;\n}\n","strings":{}},{"widgetId":"afd4bc7f907140298e111130d715031d","version":100,"js":"bGV0IEhhc09wZW5lZE1lbnUgPSBmYWxzZTsNCg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7DQogICBkaXNwbGF5VHlwZSgpOw0KfSk7DQoNCmZ1bmN0aW9uIGRpc3BsYXlUeXBlKCkgew0KICAgIGlmKGlzTW9iaWxlKCkpIHsNCiAgICAgICAgZGlzcGxheU1vYmlsZSgpOw0KICAgIH0gZWxzZSB7DQogICAgICAgIGRpc3BsYXlEZXNrdG9wKCk7DQogICAgfQ0KfQ0KDQpmdW5jdGlvbiBkaXNwbGF5TW9iaWxlKCkgew0KICAgIHZhciBtYXN0ZXJGYWJFbGUgPSAkKGVsZW1lbnQpLmZpbmQoJyNtYXN0ZXJmYWInKTsNCiAgICAkKCcjbWFpbi1jb250YWluZXInKS5lbXB0eSgpLmFwcGVuZChnZXRTdmcoZGF0YS5jb25maWcuTW9iaWxlTWFpbikpOw0KICAgIA0KICAgICQobWFzdGVyRmFiRWxlKS5hdHRyKCdjbGFzcycsICdmYWIgbWFzdGVyLW1vYmlsZScpOy8vIGFkZCBtb2JpbGUgY2xhc3MgZm9yIGN1c3RvbSBzdHlsZQ0KICAgIA0KICAgICQobWFzdGVyRmFiRWxlKS5jc3MoJ2Rpc3BsYXknLCAnZmxleCcpOyAvL3NpbmNlIGVsZW1lbnQgaXMgaGlkZGVuIGJ5IGRlZmF1bHQsIHNob3cgaW5zdGVhZA0KICAgIA0KICAgIC8vIHNldCB0aGUgdGV4dCBhbGlnbm1lbnQgdmFyIGhlcmUgZm9yIHVzZSBiZWxvdyAodXBkYXRlIEJTUjoyMDIwMDQyMSkNCiAgICB2YXIgbW9UZXh0ID0gKGRhdGEuY29uZmlnLk1vYmlsZU9yaWVudGF0aW9uID09PSAnbGVmdCcpID8gJ2JzclJpZ2h0VGV4dCcgOiAnbGVmdFRleHQnOw0KICAgIA0KICAgIC8vIGFkZCBpdGVtcyB3aXRoIG9yIHdpdGhvdXQgb3ZlcmxheSBhbmQgbGFiZWwgdGV4dA0KICAgIGlmKGRhdGEuY29uZmlnLk1vYmlsZUxheW91dCA9PT0gJ0Z1bGwnKSB7DQogICAgICAgICQoJy5tb2JpbGUtYmcnKS5hZnRlcihnZXRJdGVtcyhtb1RleHQpKTsNCiAgICB9DQogICAgZWxzZSB7DQogICAgICAgICQoJy5tb2JpbGUtYmcnKS5hZnRlcihnZXRJdGVtcygpKTsNCiAgICB9DQogICAgDQogICAgbW9iaWxlVGhlbWUoKTsgIC8vIGFkZCBsaWdodCBvciBkYXJrIHRoZW1lDQogICAgYnNySWNvblJlc2l6ZSgpOyAvLyBtYWtlcyBhIGN1c3RvbSBpY29uIHJlc2l6YWJsZSAodXBkYXRlIEJTUjoyMDIwMDUyOSkNCiAgICBic3JNb2JpbGVPcmllbnRhdGlvbigpOyAvLyBwb3NpdGlvbnMgbWVudSBsZWZ0IG9yIHJpZ2h0ICh1cGRhdGUgQlNSOjIwMjAwNDIxKQ0KICAgIGFkZExpc3RlbmVyKCk7DQogICAgDQogICAgaWYgKHR5cGVvZiBmYnEgPT09ICJmdW5jdGlvbiIpIHsgLy8gdGhpcyBtYWtlcyBzdXJlIHRoYXQgZmJxIGlzIG9uIHRoZSBwYWdlDQogICAgICAgIGFkZFBpeGVsTGlzdGVuZXIoKTsgLy8gRmFjZWJvb2sgUGl4ZWwgY29udmVyc2lvbiB0cmFja2luZyAodXBkYXRlIEJTUjoyMDIwMDQyMikNCiAgICB9DQogICAgYWRkQ2hhdExpc3RlbmVyKCk7IC8vIEFkZCBjaGF0IHNjcmlwdCBpbmplY3Rpb24gKHVwZGF0ZSBCU1I6MjAyMDA1MjYpDQogICAgDQogICAgLy8gYWRkIGZvY3VzIGFuaW1hdGlvbg0KICAgIGlmKGRhdGEuY29uZmlnLkZvY3VzQW5pKSBhbmltYXRlRm9jdXMoKTsNCn0NCmZ1bmN0aW9uIGRpc3BsYXlEZXNrdG9wKCkgew0KICAgIHZhciBtYXN0ZXJGYWJFbGUgPSAkKGVsZW1lbnQpLmZpbmQoJyNtYXN0ZXJmYWInKTsNCiAgICAkKG1hc3RlckZhYkVsZSkuY3NzKCdkaXNwbGF5JywgJ2ZsZXgnKTsgLy9zaW5jZSBlbGVtZW50IGlzIGhpZGRlbiBieSBkZWZhdWx0LCBzaG93IGluc3RlYWQNCiAgICBpZihkYXRhLmNvbmZpZy5EZXNrdG9wTGF5b3V0ID09PSAnQmFyJykgew0KICAgICAgICAkKCcjbWFpbi1jb250YWluZXInKS5lbXB0eSgpLmFwcGVuZChnZXRTdmcoZGF0YS5jb25maWcuRGVza01haW4pKTsNCiAgICAgICAgJChtYXN0ZXJGYWJFbGUpLmFwcGVuZChnZXRJdGVtcygncmlnaHRUZXh0JykpOw0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgICAgJCgnI2Zsb2F0LWNvbnRhaW5lcicpLmVtcHR5KCkuYXBwZW5kKGdldEl0ZW1zKCdyaWdodFRleHQnLCB0cnVlKSk7DQogICAgfQ0KICAgIGRlc2t0b3BUeXBlKCk7DQogICAgYnNySWNvblJlc2l6ZSgpOyAvLyBtYWtlcyBhIGN1c3RvbSBpY29uIHJlc2l6YWJsZSAodXBkYXRlIEJTUjoyMDIwMDUyOSkNCiAgICBhZGRMaXN0ZW5lcigpOw0KICAgIA0KICAgIGlmICh0eXBlb2YgZmJxID09PSAiZnVuY3Rpb24iKSB7IC8vIHRoaXMgbWFrZXMgc3VyZSB0aGF0IGZicSBpcyBvbiB0aGUgcGFnZQ0KICAgICAgICBhZGRQaXhlbExpc3RlbmVyKCk7IC8vIEZhY2Vib29rIFBpeGVsIGNvbnZlcnNpb24gdHJhY2tpbmcgKHVwZGF0ZSBCU1I6MjAyMDA0MjIpDQogICAgfQ0KICAgIGFkZENoYXRMaXN0ZW5lcigpOyAvLyBBZGQgY2hhdCBzY3JpcHQgaW5qZWN0aW9uICh1cGRhdGUgQlNSOjIwMjAwNTI2KQ0KICAgIA0KICAgIC8vIGFkZCBmb2N1cyBhbmltYXRpb24NCiAgICBpZihkYXRhLmNvbmZpZy5Gb2N1c0FuaSkgYW5pbWF0ZUZvY3VzKCk7DQp9DQovLyBoYW5kbGVzIHN0eWxlIGNoYW5nZXMgZm9yIGRlc2t0b3AgdHlwZXMNCmZ1bmN0aW9uIGRlc2t0b3BUeXBlKCkgew0KICAgICQoJyNtYXN0ZXJmYWInKS5hdHRyKCdjbGFzcycsICdmYWIgbWFzdGVyLWRlc2t0b3AnKTsgLy8gYWRkIGRlc2t0b3AgY2xhc3MgZm9yIHN0eWxpbmcNCiAgICAkKCcuaWNvbi1jb250YWluZXInKS5hZGRDbGFzcygnZGVza3RvcCcpOw0KICAgIGlmKGRhdGEuY29uZmlnLkRlc2t0b3BMYXlvdXQgPT09ICdCYXInKSB7DQogICAgICAgICQoJy5tZW51LWxpbmsnKS5hZGRDbGFzcygnZGVzay1iYXInKTsgICAgICAgLy8gYWRkIGNsYXNzIGZvciBmaXhlZCBiYXIgdGV4dA0KICAgICAgICAkKCcuY2hpbGQnKS5hdHRyKCdjbGFzcycsICdmYWIgY2hpbGQgY2hpbGQtZGVza3RvcC1iYXInKTsNCiAgICAgICAgDQogICAgICAgIGNvbnN0IG1hc3RlckxhYmVsID0gJzxzcGFuIGlkPSJtYXN0ZXItbGFiZWwiPicrZGF0YS5jb25maWcuTWFpbkxhYmVsKyc8L3NwYW4+JzsNCiAgICAgICAgJCgnI21hc3Rlci1sYWJlbCcpLnJlbW92ZSgpOw0KICAgICAgICAkKCcjbWFzdGVyZmFiJykuYXBwZW5kKG1hc3RlckxhYmVsKTsNCiAgICAgICAgDQogICAgICAgICQoJyNtYXN0ZXJmYWInKS5hZGRDbGFzcygnbWFzdGVyLWJhcicpOw0KICAgIH0gZWxzZSBpZihkYXRhLmNvbmZpZy5EZXNrdG9wTGF5b3V0ID09PSAnRmxvYXQnKSB7DQogICAgICAgICQoJyNtYXN0ZXJmYWInKS5oaWRlKCk7DQogICAgfQ0KfQ0KLy8gc3R5bGVzIGxpZ2h0IGFuZCBkYXJrIG1vYmlsZSB0aGVtZXMNCmZ1bmN0aW9uIG1vYmlsZVRoZW1lKCkgew0KICAgICQoJy5jaGlsZCcpLmF0dHIoJ2NsYXNzJywgJ2ZhYiBjaGlsZCBjaGlsZC1tb2JpbGUnKTsNCiAgICBpZihkYXRhLmNvbmZpZy5Nb2JpbGVUaGVtZSA9PT0gJ0xpZ2h0Jykgew0KICAgICAgICAkKCcub3ZlcmxheSwgLmNoaWxkLCAuc29jaWFsLWljb24sIC5pY29uLWNvbnRhaW5lciwgLm1vYmlsZS1iZywgc29jaWFsLWJnLCAubWVudS1saW5rJykuYWRkQ2xhc3MoJ21vYmlsZSBsaWdodCcpOw0KICAgIH0NCiAgICBlbHNlIGlmKGRhdGEuY29uZmlnLk1vYmlsZVRoZW1lID09PSAnRGFyaycpIHsNCiAgICAgICAgJCgnLm92ZXJsYXksIC5jaGlsZCwgLnNvY2lhbC1pY29uLCAuaWNvbi1jb250YWluZXIsIC5tb2JpbGUtYmcsIHNvY2lhbC1iZywgLm1lbnUtbGluaycpLmFkZENsYXNzKCdtb2JpbGUgZGFyaycpOw0KICAgIH0NCn0NCi8vIGFkZHMgdGhlIG1lbnUgdG8gdGhlIGxlZnQgb3IgcmlnaHQgb2YgdGhlIG1vYmlsZSBzY3JlZW4gKHVwZGF0ZSBCU1I6MjAyMDA0MjEpDQpmdW5jdGlvbiBic3JNb2JpbGVPcmllbnRhdGlvbigpIHsNCiAgICBpZihkYXRhLmNvbmZpZy5Nb2JpbGVPcmllbnRhdGlvbiA9PT0gJ2xlZnQnKSB7DQogICAgICAgICQoJy5mYWIubWFzdGVyLW1vYmlsZSwgLmNoaWxkLm1vYmlsZScpLmFkZENsYXNzKCdic3ItbGVmdCcpOw0KICAgIH0NCiAgICBlbHNlIHsNCiAgICAgICAgJCgnLmZhYi5tYXN0ZXItbW9iaWxlLCAuY2hpbGQubW9iaWxlJykucmVtb3ZlQ2xhc3MoJ2Jzci1sZWZ0Jyk7DQogICAgfQ0KfQ0KDQovKiAgDQogICAgUHJldmlvdXMgaW1wbGVtZW50YXRpb24gcGxhY2VzIGN1c3RvbSBpY29ucyBpbiBhIG5ldyA8ZGl2Pg0KICAgIEkgZm91bmQgdGhpcyB0byBiZSBpbmNvbnNpc3RlbnQgaW4gcmVzaXppbmcgc28gdGhlIGZ1bmN0aW9uDQogICAgYWRkcyB0aGUgYXBwcm9wcmlhdGUgY2xhc3MgZGlyZWN0bHkgdG8gdGhlIHN2ZyBlbGVtZW50DQogICAgKHVwZGF0ZSBCU1I6MjAyMDA1MjkpDQoqLw0KZnVuY3Rpb24gYnNySWNvblJlc2l6ZSgpIHsNCiAgICBjdXN0b21JY29ucyA9ICQoZWxlbWVudCkuZmluZCgnLmN1c3RvbS11c2VyLWljb24nKTsNCiAgICBpZihjdXN0b21JY29ucy5sZW5ndGggPiAwKSB7DQogICAgICAgICQuZWFjaChjdXN0b21JY29ucywgZnVuY3Rpb24oaSwgY2ljb24pIHsNCiAgICAgICAgICAgIHZhciBjbGFzc0xpc3QgPSAkKGNpY29uKS5hdHRyKCdjbGFzcycpLnNwbGl0KC9ccysvKTsNCiAgICAgICAgICAgICQuZWFjaChjbGFzc0xpc3QsIGZ1bmN0aW9uKGluZGV4LCBpdGVtKSB7DQogICAgICAgICAgICAgICAgaWYoaXRlbSAhPSAnY3VzdG9tLXVzZXItaWNvbicpIHsNCiAgICAgICAgICAgICAgICAgICAkKCAiLiIgKyBpdGVtICsgIiA+IHN2ZyIgKS5hZGRDbGFzcyhpdGVtKTsgLy8gYWRkIHRoZSBjYWxsaW5nIGNsYXNzIHRvIHRoZSBjaGlsZCBzdmcgZWxlbWVudCBkaXJlY3RseQ0KICAgICAgICAgICAgICAgICAgICQoICIuIiArIGl0ZW0gKyAiID4gc3ZnIiApLnVud3JhcCgpOyAvLyByZW1vdmUgdGhlIHBhcmVudCBkaXYNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSk7DQogICAgfQ0KfQ0KDQoNCi8vIGFkZHMgY2xpY2sgb3IgaG92ZXIgbGlzdGVuZXJzDQpmdW5jdGlvbiBhZGRMaXN0ZW5lcigpIHsNCiAgICAvLyBhZGQgbGlzdGVuZXIgYW5kIGFuaW1hdGlvbiBmb3IgZmxvYXRpbmcgaWNvbnMgaG92ZXIgYW5pbWF0aW9uDQogICAgaWYoIWlzTW9iaWxlKCkgJiYgZGF0YS5jb25maWcuRGVza3RvcExheW91dCA9PT0gJ0Zsb2F0JykgYW5pbWF0ZUZsb2F0KCcuZmxvYXQtY29udGFpbmVyJywgMzAwKTsNCiAgICAvLyBjbGljayBoYW5kbGVycyBmb3IgZGVza3RvcCBiYXIgYW5kIG1vYmlsZSBvcHRpb25zDQogICAgZWxzZSB7DQogICAgICAgICQoIiNjb252ZXJzaW9uLW1lbnUtY29udGFpbmVyIikub2ZmKCdjbGljaycsICcuZmFiLC5vdmVybGF5Jyk7DQogICAgICAgICQoIiNjb252ZXJzaW9uLW1lbnUtY29udGFpbmVyIikub24oJ2NsaWNrJywgJy5mYWIsLm92ZXJsYXknLCBmdW5jdGlvbigpew0KICAgICAgICAgICAgSGFzT3BlbmVkTWVudSA9IHRydWU7DQogICAgICAgICAgICAkKCcuYW5pbWF0aW9uJykucmVtb3ZlKCk7ICAgLy8gcmVtb3ZlIGFueSBhbmltYXRpb25zIHdlIGhhdmUNCiAgICAgICAgICAgIGlmKGlzTW9iaWxlKCkpIHsNCiAgICAgICAgICAgICAgICBhbmltYXRlSWNvbnMoJ292ZXJsYXknKTsNCiAgICAgICAgICAgICAgICBkYXRhLmNvbmZpZy5Nb2JpbGVMYXlvdXQgPT09ICdGdWxsJz8gYW5pbWF0ZUJnKCcubW9iaWxlLWJnJykgOiAnJzsNCiAgICAgICAgICAgIH0gZWxzZSB7ICAgIC8vIGJhciBkZXNrdG9wDQogICAgICAgICAgICAgICAgYW5pbWF0ZUljb25zKCdoZWxwVGV4dCcpOw0KICAgICAgICAgICAgICAgIGFuaW1hdGVCZygnLmRlc2t0b3AtYmcnKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfQ0KfQ0KDQovLyBsaXN0ZW5zIGZvciBzaGFyZSBidXR0b24gY2xpY2sgYW5kIHRyaWdnZXJzIHJlc3BvbnNlDQpmdW5jdGlvbiBhZGRTaGFyZUxpc3RlbmVyKCkgew0KICAgICQoIiNjb252ZXJzaW9uLW1lbnUtY29udGFpbmVyIikub2ZmKCdjbGljaycsICcuc2hhcmUnKTsNCiAgICAkKCIuc2hhcmUiKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICAgICAgLy8gY29uc29sZS5sb2coJ3NoYXJlIGNsaWNrZWQgbW9kYWwgc2hvdWxkIG9wZW4nKTsNCiAgICAgICAgTWljcm9Nb2RhbC5zaG93KCdzb2NpYWwtbW9kYWwtbWVudScpOyANCiAgICB9KTsNCn0NCmZ1bmN0aW9uIGFkZFBpeGVsTGlzdGVuZXIoKSB7DQogICAgJCgnLmJzci1tZW51bGluaycpLmNsaWNrKGZ1bmN0aW9uKCkgew0KICAgICAgICB2YXIgZXZlbnROYW1lID0gJCh0aGlzKS5kYXRhKCdldmVudG5hbWUnKTsNCiAgICAgICAgaWYoIWV2ZW50TmFtZSkgew0KICAgICAgICAgICAgZmJxKCd0cmFjaycsICdDb250YWN0Jyk7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBmYnEoJ3RyYWNrQ3VzdG9tJywgZXZlbnROYW1lKTsNCiAgICAgICAgfQ0KICAgIH0pOw0KfQ0KZnVuY3Rpb24gYWRkQ2hhdExpc3RlbmVyKCkgew0KICAgICQoIi5ic3ItY2hhdCIpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgICAgICAkKCIjY2hhdC1zY3JpcHQiKS5yZW1vdmUoKTsgLy8gR2V0IHJpZCBvZiBhbnkgY2hhdC1zY3JpcHQgb24gdGhlIHBhZ2UNCiAgICAgICAgJC5lYWNoKGRhdGEuY29uZmlnLkljb25MaXN0LCBmdW5jdGlvbihpbmRleCx2YWx1ZSl7DQogICAgICAgICAgICBpZih2YWx1ZS5oYXNPd25Qcm9wZXJ0eSgnQ2hhdFNjcmlwdCcpKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgIHZhciBjc2NyaXB0ID0gdmFsdWUuQ2hhdFNjcmlwdDsNCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgc2NyaXB0IGlzIGEgc3JjIG9yIHJhdyBzY3JpcHQNCiAgICAgICAgICAgICAgICAvLyBDaGFuZ2VkIG1pbmQgYW5kIHdhbnRlZCB0byBpbnB1dCA8c2NyaXB0PiB0YWdzIHNvIHRoaXMgaXMgc2F2ZWQgZm9yIHBvc3Rlcml0eQ0KICAgICAgICAgICAgICAgIC8qDQogICAgICAgICAgICAgICAgdmFyIHJlID0gbmV3IFJlZ0V4cCgnXig/OlthLXpdKzopPy8vJywgJ2knKTsgLy8gbm9uIGNhc2Utc2Vuc2l0aXZlLCBwcm90b2NvbC1hZ25vc3RpYyANCiAgICAgICAgICAgICAgICBpZiAocmUudGVzdChjc2NyaXB0KSkgew0KICAgICAgICAgICAgICAgICAgICAkKCdib2R5JykuYXBwZW5kKCc8c2NyaXB0IGFzeW5jPSJhc3luYyIgc3JjPSInICsgY3NjcmlwdCArICciIHR5cGU9InRleHQvamF2YXNjcmlwdCIgaWQ9ImNoYXQtc2NyaXB0Ij48XC9zY3JpcHQ+Jyk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gYnJlYWsgb3V0IG9mIHRoZSAkLmVhY2goKSBvbiBmaXJzdCBvY2N1cmVuY2UNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAkKCdib2R5JykuYXBwZW5kKCc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgaWQ9ImNoYXQtc2NyaXB0Ij4nICsgY3NjcmlwdCArICc8XC9zY3JpcHQ+Jyk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gYnJlYWsgb3V0IG9mIHRoZSAkLmVhY2goKSBvbiBmaXJzdCBvY2N1cmVuY2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgKi8NCiAgICAgICAgICAgICAgICAkKCdib2R5JykuYXBwZW5kKGNzY3JpcHQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICB9KTsNCn0NCi8vDQovLyBBTklNQVRJT05TDQovLw0KZnVuY3Rpb24gYW5pbWF0ZUZvY3VzKCkgew0KICAgICQoJy5hbmltYXRpb24nKS5yZW1vdmUoKTsgICAvL2luIGNhc2UgYWxyZWFkeSBpbiBET00NCiAgICBpZighSGFzT3BlbmVkTWVudSkgew0KICAgICAgICBpZihpc01vYmlsZSgpKSB7DQogICAgICAgICAgICBjb25zdCBwdWxzZSA9ICc8ZGl2IGNsYXNzPSJwdWxzZTIgYW5pbWF0aW9uIi8+PGRpdiBjbGFzcz0icHVsc2UgYW5pbWF0aW9uIi8+JzsNCiAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCgnI21hc3RlcmZhYicpLmFwcGVuZChwdWxzZSk7DQogICAgICAgICAgICB9LCArZGF0YS5jb25maWcuRm9jdXNEZWxheSk7DQogICAgICAgIH0NCiAgICAgICAgLy8gZGVza3RvcA0KICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgIGRhdGEuY29uZmlnLkRlc2t0b3BMYXlvdXQgPT09ICdGbG9hdCc/DQogICAgICAgICAgICAgICAgYW5pbWF0ZUZsb2F0Rm9jdXMoKSA6IGFuaW1hdGVCYXJGb2N1cygpOw0KICAgICAgICB9DQogICAgfQ0KfQ0KZnVuY3Rpb24gYW5pbWF0ZUZsb2F0Rm9jdXMoKSB7DQogICAgaWYoJCgnLmZvY3VzJylbMF0pIHsNCiAgICAgICAgY29uc3QgaWQgPSAkKCcuZm9jdXMnKVswXS5pZDsNCiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoJyMnK2lkKS5jc3MoJ21heC13aWR0aCcsICcnKTsNCiAgICAgICAgICAgICQoJyMnK2lkKS5hZGRDbGFzcygnc2xpZGUtcHVsc2UnKTsNCiAgICAgICAgfSwgK2RhdGEuY29uZmlnLkZvY3VzRGVsYXkpOw0KICAgIH0NCn0NCi8vIG9wZW5zIGZpeGVkIGJhciBvbiBkZXNrdG9wIGFmdGVyIHNldCBpbnRlcnZhbA0KZnVuY3Rpb24gYW5pbWF0ZUJhckZvY3VzKCkgew0KICAgIGlmKCEkKCIuZGVza3RvcC1iZyIpLmlzKCI6dmlzaWJsZSIpKSB7DQogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBhbmltYXRlSWNvbnMoJ2hlbHBUZXh0Jyk7DQogICAgICAgICAgICBhbmltYXRlQmcoJy5kZXNrdG9wLWJnJyk7DQogICAgICAgIH0sICtkYXRhLmNvbmZpZy5Gb2N1c0RlbGF5KTsNCiAgICB9DQp9DQovLyBhZGRzIGhvdmVyIGxpc3RlbmVycyBhbmQgYW5pbWF0ZXMgZmxvYXRpbmcgaWNvbnMgb24gZGVza3RvcA0KZnVuY3Rpb24gYW5pbWF0ZUZsb2F0KHNlbGVjdG9yLCBkdXIpIHsNCiAgICAkKCIjZmxvYXQtY29udGFpbmVyIikub2ZmKCJtb3VzZWVudGVyIiwgc2VsZWN0b3IpOw0KICAgICQoIiNmbG9hdC1jb250YWluZXIiKS5vbigibW91c2VlbnRlciIsIHNlbGVjdG9yLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAvLyBjb25zb2xlLmxvZygnZmxvYXQgbW91c2UgZW50ZXInKTsNCiAgICAgICAgSGFzT3BlbmVkTWVudSA9IHRydWU7DQogICAgICAgIHZhciBpZCA9ICQodGhpcylbMF0uaWQ7DQogICAgICAgIC8vIGNhbmNlbCBhbmltYXRpb24gb24gaG92ZXINCiAgICAgICAgZGF0YS5jb25maWcuRm9jdXNBbmk/ICQoJyMnK2lkKS5yZW1vdmVDbGFzcygnc2xpZGUtcHVsc2UnKSA6IDA7DQogICAgICAgIA0KICAgICAgICAkKCcjdGV4dC0nK2lkKS5mYWRlSW4oKTsNCiAgICAgICAgJCgnI2Zsb2F0LXRleHQtJytpZCkuZmFkZUluKGR1cikuY3NzKCJkaXNwbGF5IiwiaW5saW5lLWZsZXgiKTsNCiAgICAgICAgJCgnIycraWQpLnN0b3AoKS5hbmltYXRlKHsNCiAgICAgICAgICAgICJtYXgtd2lkdGgiOiAiMjAwcHgiLA0KICAgICAgICB9LCBkdXIpOw0KICAgIH0pOw0KICAgIA0KICAgICQoIiNmbG9hdC1jb250YWluZXIiKS5vZmYoIm1vdXNlbGVhdmUiLCBzZWxlY3Rvcik7DQogICAgJCgiI2Zsb2F0LWNvbnRhaW5lciIpLm9uKCJtb3VzZWxlYXZlIiwgc2VsZWN0b3IsIGZ1bmN0aW9uKGV2ZW50KSB7DQogICAgICAgIC8vIGNvbnNvbGUubG9nKCdmbG9hdCBtb3VzZSBsZWF2ZScpOw0KICAgICAgICB2YXIgaWQgPSAkKHRoaXMpWzBdLmlkOw0KICAgICAgICAkKCcjdGV4dC0nK2lkKS5mYWRlT3V0KGR1cik7DQogICAgICAgICQoJyMnK2lkKS5zdG9wKCkuYW5pbWF0ZSh7DQogICAgICAgICAgICAibWF4LXdpZHRoIjogIjQyLjY2NnB4IiwNCiAgICAgICAgfSwgZHVyKTsNCiAgICB9KTsNCn0NCi8vIGFuaW1hdGVzIGljb25zIHNsaWRlIHVwIGFuZCB0cmFuc3BhcmVudCBvdmVybGF5KGRlcGVuZGluZyBvbiBzaG93VHlwZSkNCmZ1bmN0aW9uIGFuaW1hdGVJY29ucyhzaG93VHlwZSkgew0KICAgIGlmKCQoIi5vdmVybGF5IikuaXMoIjp2aXNpYmxlIikgfHwgJCgiLmRlc2t0b3AtYmciKS5pcygiOnZpc2libGUiKSkgew0KICAgICAgICBpZihzaG93VHlwZSA9PT0gJ292ZXJsYXknKSAgICAgICAgICAkKCcub3ZlcmxheScpLmZhZGVPdXQoMTI1KTsNCiAgICAgICAgZWxzZSBpZihzaG93VHlwZSA9PT0gJ2hlbHBUZXh0JykgICAgJCgnI2hlbHAtdGV4dCcpLmZhZGVPdXQoMTI1KTsNCiAgICAgICAgDQogICAgICAgIC8vIGFkZCBwbHVzIGljb24gYmFjaw0KICAgICAgICAkKCcjbWFpbi1jb250YWluZXInKS5lbXB0eSgpLmFwcGVuZChnZXRTdmcoZGF0YS5jb25maWcuTW9iaWxlTWFpbikpOw0KDQogICAgICAgICQoJy5mYWIuY2hpbGQnKS5zdG9wKCkuYW5pbWF0ZSh7DQogICAgICAgICAgICBib3R0b20gIDogJCgnI21hc3RlcmZhYicpLmNzcygnYm90dG9tJyksDQogICAgICAgICAgICBvcGFjaXR5IDogMA0KICAgICAgICB9LCAxMjUsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCh0aGlzKS5oaWRlKCk7DQogICAgICAgIH0pOw0KICAgIH0gZWxzZSB7DQogICAgICAgIGlmKHNob3dUeXBlID09PSAnb3ZlcmxheScpICAgICAgICAgICQoJy5vdmVybGF5JykuZmFkZUluKDEyNSk7DQogICAgICAgIGVsc2UgaWYoc2hvd1R5cGUgPT09ICdoZWxwVGV4dCcpICAgICQoJyNoZWxwLXRleHQnKS5mYWRlSW4oMTI1KTsNCiAgICAgICAgDQogICAgICAgIC8vIGFkZCBjbG9zZSBpY29uIG9uIG1vYmlsZSBvbmx5DQogICAgICAgIGlmKGlzTW9iaWxlKCkpICQoJyNtYWluLWNvbnRhaW5lcicpLmVtcHR5KCkuYXBwZW5kKGdldFN2ZygnY2xvc2UnKSk7DQogICAgICAgICQoIi5mYWIuY2hpbGQiKS5lYWNoKGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAkKHRoaXMpLnN0b3AoKS5zaG93KCkuYW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgYm90dG9tICA6IChwYXJzZUludCgkKCIjbWFzdGVyZmFiIikuY3NzKCJib3R0b20iKSkgKyBwYXJzZUludCgkKCIjbWFzdGVyZmFiIikub3V0ZXJIZWlnaHQoKSArIDIwKSArIDU2ICogJCh0aGlzKS5kYXRhKCJzdWJpdGVtIikgLSAkKCIuZmFiLmNoaWxkIikub3V0ZXJIZWlnaHQoKSkgKyAicHgiLA0KICAgICAgICAgICAgICAgIG9wYWNpdHkgOiAxDQogICAgICAgICAgICB9LCAxMjUpOw0KICAgICAgICB9KTsNCiAgICB9DQp9DQovLyBhZGRzIG92ZXJsYXkgdGhhdCBzbGlkZXMgdXANCmZ1bmN0aW9uIGFuaW1hdGVCZyhzZWxlY3Rvcikgew0KICAgIGlmKCQoc2VsZWN0b3IpLmlzKCI6dmlzaWJsZSIpKSB7DQogICAgICAgICQoJyNtYWluLWNvbnRhaW5lcicpLnJlbW92ZUNsYXNzKCdvcGVuJyk7DQogICAgICAgICQoIiNtYXN0ZXJmYWIuZmFiLm1hc3Rlci1tb2JpbGUiKS5yZW1vdmVDbGFzcygnbW9iaWxlLW9wZW4nKQ0KICAgICAgICB2YXIgbWFpbkljb24gPSBkYXRhLmNvbmZpZy5EZXNrTWFpbg0KICAgICAgICAvLyByZXZlcnQgdG8gZGVmYXVsdCBtYWluIGljb24gc3R5bGUNCiAgICAgICAgaWYoaXNNb2JpbGUoKSkgew0KICAgICAgICAgICAgbWFpbkljb24gPSBkYXRhLmNvbmZpZy5Nb2JpbGVNYWluOw0KICAgICAgICAgICAgJCgnI21hc3RlcmZhYicpLmNzcyh7J2JhY2tncm91bmQnOiAnJywgJ2JveC1zaGFkb3cnOiAnJ30pOyAgLy8gcmVzdG9yZSBkZWZhdWx0DQogICAgICAgIH0NCiAgICAgICAgJCgnI21haW4tY29udGFpbmVyJykuZW1wdHkoKS5hcHBlbmQoZ2V0U3ZnKG1haW5JY29uKSk7DQogICAgICAgIA0KICAgICAgICAkKCcubWVudS1saW5rLCAuY2hpbGQnKS5oaWRlKCk7DQogICAgICAgIC8vIHNsaWRlIGRvd24gdG8gY2xvZXMNCiAgICAgICAgJChzZWxlY3Rvcikuc3RvcCgpLmFuaW1hdGUoew0KICAgICAgICAgICAgaGVpZ2h0ICA6IDAsDQogICAgICAgICAgICBvcGFjaXR5IDogMA0KICAgICAgICB9LCAxMjUsIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAkKHRoaXMpLmhpZGUoKTsNCiAgICAgICAgfSk7DQogICAgfSBlbHNlIHsNCiAgICAgICAgJCgnI21haW4tY29udGFpbmVyJykuYWRkQ2xhc3MoJ29wZW4nKTsNCiAgICAgICAgJCgiI21hc3RlcmZhYi5mYWIubWFzdGVyLW1vYmlsZSIpLmFkZENsYXNzKCdtb2JpbGUtb3BlbicpDQogICAgICAgIHZhciB0b3BBcmVhID0gMTAwOw0KICAgICAgICBpZihpc01vYmlsZSgpKSB7DQogICAgICAgICAgICAkKCcjbWFzdGVyZmFiJykuY3NzKHsnYmFja2dyb3VuZCc6ICdub25lJywgJ2JveC1zaGFkb3cnOiAnbm9uZSd9KTsgIC8vIG1ha2UgaWNvbiBmbGF0DQogICAgICAgICAgICAkKCcjbWFpbi1jb250YWluZXInKS5lbXB0eSgpLmFwcGVuZChnZXRTdmcoJ2Nsb3NlJykpOyAgIC8vIGFkZCB4IGljb24NCiAgICAgICAgfQ0KICAgICAgICBlbHNlIGlmKGRhdGEuY29uZmlnLkRlc2t0b3BMYXlvdXQgPT09ICdCYXInKSB7DQogICAgICAgICAgICAvLyBoYWNrIHRvIGdldCBoZWlnaHQgb2YgYmFyIGhlbHAgdGV4dCBiZWZvcmUgaXQncyB2aXNpYmxlDQogICAgICAgICAgICAkKHNlbGVjdG9yKS5jc3Moeydwb3NpdGlvbic6J2Fic29sdXRlJywndmlzaWJpbGl0eSc6J2hpZGRlbicsICdkaXNwbGF5JzonYmxvY2snfSk7DQogICAgICAgICAgICB0b3BBcmVhID0gJCgiI2hlbHAtdGV4dCIpLmhlaWdodCgpPyAkKCIjaGVscC10ZXh0IikuaGVpZ2h0KCkgKyA2MCA6IDQwOw0KICAgICAgICAgICAgJChzZWxlY3RvcikucmVtb3ZlQXR0cignc3R5bGUnKTsNCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgLy8gc2xpZGUgdXAgdG8gb3Blbg0KICAgICAgICAkKHNlbGVjdG9yKS5zdG9wKCkuc2hvdygpLmFuaW1hdGUoew0KICAgICAgICAgICAgaGVpZ2h0ICA6ICgoKGRhdGEuY29uZmlnLkljb25MaXN0Lmxlbmd0aCsxKSAqIDU2KSArIHRvcEFyZWEpICsgInB4IiwNCiAgICAgICAgICAgIG9wYWNpdHkgOiAxDQogICAgICAgIH0sMTI1LCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoJy5tZW51LWxpbmsnKS5mYWRlSW4oMTI1KTsNCiAgICAgICAgICAgICQoc2VsZWN0b3IpLmNzcygiZGlzcGxheSIsImZsZXgiKQ0KICAgICAgICB9KTsNCiAgICB9DQp9DQpmdW5jdGlvbiBnZXRJdGVtcyh0eXBlLCBmbG9hdCkgew0KICAgICQoJy5jaGlsZCcpLnJlbW92ZSgpOyAgIC8vIHJlbW92ZSBhbnkgaXRlbXMgYWxyZWFkeSBpbiBET00NCiAgICB2YXIgaHRtbCA9ICcnLCBsYWJlbCA9ICcnLCBpY29uID0gJycsIHRleHQgPSAnJzsNCiAgICB2YXIgaXRlbXMgPSBmbG9hdD8gZGF0YS5jb25maWcuSWNvbkxpc3QgOiBkYXRhLmNvbmZpZy5JY29uTGlzdC5yZXZlcnNlKCk7DQogICAgaXRlbXMuZm9yRWFjaChmdW5jdGlvbihpdGVtLCBpbmRleCkgew0KICAgICAgICANCiAgICAgICAgaWYoaXRlbS5zaG93b25tb2JpbGU9PXRydWUgJiYgZGF0YS5kZXZpY2UgPT09ICdtb2JpbGUnKXsNCiAgICAgICAgICAgIGluZGV4ID0gaW5kZXgrMTsNCiAgICAgICAgICAgaWYodHlwZSA9PT0gJ3JpZ2h0VGV4dCcpeyANCiAgICAgICAgICAgICAgIGxhYmVsID0gJzxzcGFuIGNsYXNzPSJyaWdodC10ZXh0Ij4nICsgaXRlbS5MYWJlbCArICc8L3NwYW4+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdsZWZ0VGV4dCcpIHsNCiAgICAgICAgICAgICAgICBsYWJlbCA9ICc8c3BhbiBjbGFzcz0ibGVmdC10ZXh0Ij4nICsgaXRlbS5MYWJlbCArICc8L3NwYW4+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmKHR5cGUgPT09ICdic3JSaWdodFRleHQnKSB7DQogICAgICAgICAgICAgICAgbGFiZWwgPSAnPHNwYW4gY2xhc3M9ImJzci1yaWdodC10ZXh0Ij4nICsgaXRlbS5MYWJlbCArICc8L3NwYW4+JzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICANCiAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgIGljb24gPSAnPHNwYW4gY2xhc3M9Imljb24tY29udGFpbmVyIj4nK2dldEl0ZW1JY29uKGl0ZW0pKyc8L3NwYW4+JzsNCiAgICAgICAgICAgICAgICBodG1sICs9IA0KICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFiIGNoaWxkIiBpZD0iY2hpbGQtJytpbmRleCsnIiBkYXRhLXN1Yml0ZW09IicraW5kZXgrJyI+IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICcrZ2V0SXRlbUFjdGlvbihpdGVtLCBpY29uK2xhYmVsKSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+JzsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYoaXRlbS5BY3Rpb24gPT09ICdTaGFyZScpIHsNCiAgICAgICAgICAgICAgICAkLmdldFNjcmlwdCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9taWNyb21vZGFsL2Rpc3QvbWljcm9tb2RhbC5taW4uanMnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgTWljcm9Nb2RhbC5pbml0KCk7DQogICAgICAgICAgICAgICAgICAgICQoJy5zaGFyZS1jb250YWluZXInKS5odG1sKGdldFNvY2lhbEl0ZW1zKGl0ZW0pKTsgICAvLyBhZGQgc29jaWFsIGljb25zIHRvIG1vZGFsDQogICAgICAgICAgICAgICAgICAgIGFkZFNoYXJlTGlzdGVuZXIoKTsgICAvLyBpZiBzb2NpYWwgc2hhcmluZyBlbmFibGVkIGFkZCBjbGljayBoYW5kbGVyDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIGVsc2UgaWYoaXRlbS5zaG93b25kZXNrdG9wPT10cnVlICYmIChkYXRhLmRldmljZSA9PT0gJ2Rlc2t0b3AnIHx8IGRhdGEuZGV2aWNlID09PSAndGFibGV0JykgKXsNCiAgICAgICAgICAgIA0KICAgICAgICAgICBpZih0eXBlID09PSAncmlnaHRUZXh0Jyl7IA0KICAgICAgICAgICBsYWJlbCA9ICc8c3BhbiBjbGFzcz0icmlnaHQtdGV4dCI+JyArIGl0ZW0uTGFiZWwgKyAnPC9zcGFuPic7DQogICAgICAgIH0NCiAgICAgICAgaWYodHlwZSA9PT0gJ2xlZnRUZXh0Jykgew0KICAgICAgICAgICAgbGFiZWwgPSAnPHNwYW4gY2xhc3M9ImxlZnQtdGV4dCI+JyArIGl0ZW0uTGFiZWwgKyAnPC9zcGFuPic7DQogICAgICAgIH0NCiAgICAgICAgaWYoIWZsb2F0KSB7DQogICAgICAgICAgICBpY29uID0gJzxzcGFuIGNsYXNzPSJpY29uLWNvbnRhaW5lciI+JytnZXRJdGVtSWNvbihpdGVtKSsnPC9zcGFuPic7DQogICAgICAgICAgICBodG1sICs9IA0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYWIgY2hpbGQiIGlkPSJjaGlsZC0nK2luZGV4KyciIGRhdGEtc3ViaXRlbT0iJytpbmRleCsnIj4gXA0KICAgICAgICAgICAgICAgICAgICAnK2dldEl0ZW1BY3Rpb24oaXRlbSwgaWNvbitsYWJlbCkrJyBcDQogICAgICAgICAgICAgICAgPC9kaXY+JzsNCiAgICAgICAgfQ0KICAgICAgICAvLyBmbG9hdGluZyBpY29ucyBvbiBkZXNrdG9wIG9ubHkNCiAgICAgICAgZWxzZSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vIGFkZCBmb2N1cyBjbGFzcyBmb3IgZm9jdXMgYW5pbWF0aW9uDQogICAgICAgICAgICBsYWJlbCA9IGl0ZW0uTGFiZWw7DQogICAgICAgICAgICB2YXIgZm9jdXNDbGFzcyA9IGl0ZW0uQW5pbWF0ZT8gJ2ZvY3VzJyA6ICcnOw0KICAgICAgICAgICAgaWNvbiA9ICc8c3BhbiBjbGFzcz0iaWNvbi1jb250YWluZXIiPicrZ2V0SXRlbUljb24oaXRlbSkrJzwvc3Bhbj4nOw0KICAgICAgICAgICAgdGV4dCA9ICc8c3BhbiBjbGFzcz0iZmxvYXQtdGV4dCIgaWQ9InRleHQtJytpbmRleCsnIj4nK2xhYmVsKyc8L3NwYW4+JzsNCiAgICAgICAgICAgIGh0bWwgKz0gDQogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZsb2F0LWNvbnRhaW5lciAnK2ZvY3VzQ2xhc3MrJyIgaWQ9IicraW5kZXgrJyI+IFwNCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZhYiBjaGlsZCBmbG9hdCIgaWQ9ImNoaWxkLScraW5kZXgrJyIgZGF0YS1zdWJpdGVtPSInK2luZGV4KyciIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtZmxleDsiPiBcDQogICAgICAgICAgICAgICAgICAgICAgICAnK2dldEl0ZW1BY3Rpb24oaXRlbSwgaWNvbikrJyBcDQogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4gXA0KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmxvYXQtdGV4dC1jb250YWluZXIiIGlkPSJmbG9hdC10ZXh0LScraW5kZXgrJyI+IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICcrZ2V0SXRlbUFjdGlvbihpdGVtLCB0ZXh0KSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPiBcDQogICAgICAgICAgICAgICAgPC9kaXY+JzsNCiAgICAgICAgfQ0KICAgICAgICAvLyBpZiBhY3Rpb24gaXMgc2hhcmUgYWRkIHNoYXJlIGl0ZW1zIHRvIG1vZGFsDQogICAgICAgIGlmKGl0ZW0uQWN0aW9uID09PSAnU2hhcmUnKSB7DQogICAgICAgICAgICAkLmdldFNjcmlwdCgnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9taWNyb21vZGFsL2Rpc3QvbWljcm9tb2RhbC5taW4uanMnLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBNaWNyb01vZGFsLmluaXQoKTsNCiAgICAgICAgICAgICAgICAkKCcuc2hhcmUtY29udGFpbmVyJykuaHRtbChnZXRTb2NpYWxJdGVtcyhpdGVtKSk7ICAgLy8gYWRkIHNvY2lhbCBpY29ucyB0byBtb2RhbA0KICAgICAgICAgICAgICAgIGFkZFNoYXJlTGlzdGVuZXIoKTsgICAvLyBpZiBzb2NpYWwgc2hhcmluZyBlbmFibGVkIGFkZCBjbGljayBoYW5kbGVyDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQogICAgcmV0dXJuIGh0bWw7DQp9DQpmdW5jdGlvbiBnZXRTb2NpYWxJdGVtcyhpdGVtKSB7DQogICAgbGV0IGh0bWwgPSAnJzsNCiAgICBjb25zdCBjb250ZW50ID0gZ2V0U2hhcmVDb250ZW50KGl0ZW0pOw0KICAgIGlmKGl0ZW0uRW1haWwpICAgICAgaHRtbCArPSBnZXRTaGFyZUh0bWwoJ0VtYWlsJywgY29udGVudC5saW5rLCBjb250ZW50LnRpdGxlLCAnVGFiJywgJ3NvY2lhbCcpOw0KICAgIGlmKGl0ZW0uRmFjZWJvb2spICAgaHRtbCArPSBnZXRTaGFyZUh0bWwoJ0ZhY2Vib29rJywgY29udGVudC5saW5rLCBjb250ZW50LnRpdGxlLCAnVGFiJywgJ3NvY2lhbCcpOw0KICAgIGlmKGl0ZW0uVHVtYmxyKSAgICAgaHRtbCArPSBnZXRTaGFyZUh0bWwoJ1R1bWJscicsIGNvbnRlbnQubGluaywgY29udGVudC50aXRsZSwgJ1RhYicsICdzb2NpYWwnKTsNCiAgICBpZihpdGVtLkxpbmtlZEluKSAgIGh0bWwgKz0gZ2V0U2hhcmVIdG1sKCdMaW5rZWRJbicsIGNvbnRlbnQubGluaywgY29udGVudC50aXRsZSwgJ1RhYicsICdzb2NpYWwnKTsNCiAgICBpZihpdGVtLlR3aXR0ZXIpICAgIGh0bWwgKz0gZ2V0U2hhcmVIdG1sKCdUd2l0dGVyJywgY29udGVudC5saW5rLCBjb250ZW50LnRpdGxlLCAnVGFiJywgJ3NvY2lhbCcpOw0KICAgIGlmKGl0ZW0uUmVkZGl0KSAgICAgaHRtbCArPSBnZXRTaGFyZUh0bWwoJ1JlZGRpdCcsIGNvbnRlbnQubGluaywgY29udGVudC50aXRsZSwgJ1RhYicsICdzb2NpYWwnKTsNCiAgICAvL2lmKGl0ZW0uR29vZ2xlUGx1cykgaHRtbCArPSBnZXRTaGFyZUh0bWwoJ0dvb2dsZVBsdXMnLCBjb250ZW50LmxpbmssIGNvbnRlbnQudGl0bGUsICdUYWInLCAnc29jaWFsJyk7DQogICAgaWYoaXRlbS5QaW50ZXJlc3QpICBodG1sICs9IGdldFNoYXJlSHRtbCgnUGludGVyZXN0JywgY29udGVudC5saW5rLCBjb250ZW50LnRpdGxlLCAnVGFiJywgJ3NvY2lhbCcpOw0KICAgIHJldHVybiBodG1sOw0KfQ0KDQovLw0KLy8gU29jaWFsIFNoYXJlIEZ1bmN0aW9ucw0KLy8NCmZ1bmN0aW9uIGdldFNoYXJlQ29udGVudChpdGVtKSB7DQogICAgLy8gc2V0IGxpbmsgdG8gdGhlIGN1cnJlbnQgcGFnZSB1cmwNCiAgICBsZXQgbGluayA9IGl0ZW0uU2hhcmVMaW5rPyBpdGVtLkxpbmsuaHJlZiA6IHdpbmRvdy50b3AubG9jYXRpb24uaHJlZjsNCiAgICBsaW5rID0gZW5jb2RlVVJJKGxpbmspOw0KICAgIA0KICAgIC8vIGdldCBkZWZhdWx0IHBhZ2UgdGl0bGUgZnJvbSB0aGUgYWN0dWFsIHBhZ2UgdGl0bGUNCiAgICBjb25zdCBwYWdlVGl0bGUgPSBpdGVtLlNoYXJlVGl0bGU/IGl0ZW0uU2hhcmVUaXRsZSA6IGRvY3VtZW50LnRpdGxlOw0KICAgIGNvbnN0IGVuY29kZWRUaXRsZSA9IGVuY29kZVVSSShwYWdlVGl0bGUpOw0KICAgIA0KICAgIHJldHVybiB7bGluazogbGluaywgdGl0bGU6IGVuY29kZWRUaXRsZX07DQp9DQpmdW5jdGlvbiBnZXRTaGFyZUh0bWwoc2l0ZSwgbGluaywgZW5jb2RlZFRpdGxlLCBhY3Rpb24sIGxpbmtDbGFzcykgew0KICAgIGxldCBocmVmID0gJyc7DQogICAgc3dpdGNoKHNpdGUpIHsNCiAgICAgICAgY2FzZSAnRW1haWwnOg0KICAgICAgICAgICAgaHJlZiA9ICJtYWlsdG86P1N1YmplY3Q9IitlbmNvZGVkVGl0bGUrIiZib2R5PUNoZWNrIG91dCB0aGlzIHNpdGU6ICIrd2luZG93LmxvY2F0aW9uLmhyZWY7DQogICAgICAgICAgICANCiAgICAgICAgICAgIHN0YXRzRXZlbnROYW1lID0gJ0NNX1NIQVJFX0VNQUlMJzsNCiAgICAgICAgICAgIHJldHVybiAoDQogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InNvY2lhbC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3JleTsiPiBcDQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IicraHJlZisnIiBjbGFzcz0iJytsaW5rQ2xhc3MrJyIgb25jbGljaz0iX3RyYWNrQ29udldpZGdldENsaWNrRXZlbnQoXCcnK3N0YXRzRXZlbnROYW1lKydcJyk7OyI+IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICcrZ2V0U3ZnKCdzaGFyZWVudmVsb3BlJykrJyBcDQogICAgICAgICAgICAgICAgICAgIDwvYT4gXA0KICAgICAgICAgICAgICAgIDwvZGl2PicpOw0KICAgICAgICBjYXNlICdGYWNlYm9vayc6DQogICAgICAgICAgICBocmVmID0gJ2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9zaGFyZXIvc2hhcmVyLnBocD91PScrbGluazsNCiAgICAgICAgICAgIHN0YXRzRXZlbnROYW1lID0gJ0NNX1NIQVJFX0ZCJzsNCiAgICAgICAgICAgIHJldHVybiAoDQogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9InNvY2lhbC1pY29uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODsiPiBcDQogICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9IicraHJlZisnIiBjbGFzcz0iJytsaW5rQ2xhc3MrJyIgdGFyZ2V0PSJfYmxhbmsiIG9uY2xpY2s9Il90cmFja0NvbnZXaWRnZXRDbGlja0V2ZW50KFwnJytzdGF0c0V2ZW50TmFtZSsnXCcpOyI+IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICcrZ2V0U3ZnKCdmYWNlYm9vaycpKycgXA0KICAgICAgICAgICAgICAgICAgICA8L2E+IFwNCiAgICAgICAgICAgICAgICA8L2Rpdj4nKTsNCiAgICAgICAgY2FzZSAnVHVtYmxyJzoNCiAgICAgICAgICAgIGhyZWYgPSAnaHR0cDovL3R1bWJsci5jb20vc2hhcmUvbGluaz91cmw9JytsaW5rKycmbmFtZT0nK2VuY29kZWRUaXRsZTsNCiAgICAgICAgICAgIHJldHVybiAoIA0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICMzNTQ2NWM7Ij4gXA0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSInK2hyZWYrJyIgY2xhc3M9IicrbGlua0NsYXNzKyciIHRhcmdldD0iX2JsYW5rIiA+IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICcrZ2V0U3ZnKCd0dW1ibHInKSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9hPiBcDQogICAgICAgICAgICAgICAgPC9kaXY+Jyk7DQogICAgICAgIGNhc2UgJ0xpbmtlZEluJzoNCiAgICAgICAgICAgIGhyZWYgPSAnaHR0cDovL3d3dy5saW5rZWRpbi5jb20vc2hhcmVBcnRpY2xlP21pbmk9dHJ1ZSZhbXA7dXJsPScrbGluaysnJmFtcDt0aXRsZT0nK2VuY29kZWRUaXRsZTsNCiAgICAgICAgICAgIHN0YXRzRXZlbnROYW1lID0gJ0NNX1NIQVJFX0xJTktFRElOJzsNCiAgICAgICAgICAgIHJldHVybiAoIA0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICM0ODc1QjQ7Ij4gXA0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSInK2hyZWYrJyIgY2xhc3M9IicrbGlua0NsYXNzKyciIHRhcmdldD0iX2JsYW5rIiBvbmNsaWNrPSJfdHJhY2tDb252V2lkZ2V0Q2xpY2tFdmVudChcJycrc3RhdHNFdmVudE5hbWUrJ1wnKTsiPiBcDQogICAgICAgICAgICAgICAgICAgICAgICAnK2dldFN2ZygnbGlua2VkSW4nKSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9hPiBcDQogICAgICAgICAgICAgICAgPC9kaXY+Jyk7DQogICAgICAgIGNhc2UgJ1R3aXR0ZXInOg0KICAgICAgICAgICAgaHJlZiA9ICdodHRwczovL3R3aXR0ZXIuY29tL2ludGVudC90d2VldD90ZXh0PScrbGluazsNCiAgICAgICAgICAgIHN0YXRzRXZlbnROYW1lID0gJ0NNX1NIQVJFX1RXSVRURVInOw0KICAgICAgICAgICAgcmV0dXJuICgNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic29jaWFsLWljb24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyI+IFwNCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJytocmVmKyciIGNsYXNzPSInK2xpbmtDbGFzcysnIiB0YXJnZXQ9Il9ibGFuayIgb25jbGljaz0iX3RyYWNrQ29udldpZGdldENsaWNrRXZlbnQoXCcnK3N0YXRzRXZlbnROYW1lKydcJyk7Ij4gXA0KICAgICAgICAgICAgICAgICAgICAgICAgJytnZXRTdmcoJ3R3aXR0ZXInKSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9hPiBcDQogICAgICAgICAgICAgICAgPC9kaXY+Jyk7DQogICAgICAgIGNhc2UgJ1JlZGRpdCc6DQogICAgICAgICAgICBocmVmID0gJ2h0dHA6Ly93d3cucmVkZGl0LmNvbS9zdWJtaXQ/dXJsPScrbGluaysnJnRpdGxlPScrZW5jb2RlZFRpdGxlKycmdGV4dD0nK2VuY29kZWRUaXRsZTsNCiAgICAgICAgICAgIHJldHVybiAoIA0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZjQ1MDA7Ij4gXA0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSInK2hyZWYrJyIgY2xhc3M9IicrbGlua0NsYXNzKyciIHRhcmdldD0iX2JsYW5rIj4gXA0KICAgICAgICAgICAgICAgICAgICAgICAgJytnZXRTdmcoJ3JlZGRpdCcpKycgXA0KICAgICAgICAgICAgICAgICAgICA8L2E+IFwNCiAgICAgICAgICAgICAgICA8L2Rpdj4nKTsNCiAgICAgICAvKiBjYXNlICdHb29nbGVQbHVzJzoNCiAgICAgICAgICAgIGhyZWYgPSAnaHR0cHM6Ly9wbHVzLmdvb2dsZS5jb20vc2hhcmU/dXJsPScrbGluazsNCiAgICAgICAgICAgIHN0YXRzRXZlbnROYW1lID0gJ0NNX1NIQVJFX0dPT0dMRV9QTFVTJzsNCiAgICAgICAgICAgIHJldHVybiAoIA0KICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJzb2NpYWwtaWNvbiIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNkMzQ4MzY7Ij4gXA0KICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSInK2hyZWYrJyIgY2xhc3M9IicrbGlua0NsYXNzKyciIHRhcmdldD0iX2JsYW5rIiBvbmNsaWNrPSJfdHJhY2tDb252V2lkZ2V0Q2xpY2tFdmVudChcJycrc3RhdHNFdmVudE5hbWUrJ1wnKTsiPiBcDQogICAgICAgICAgICAgICAgICAgICAgICAnK2dldFN2ZygnZ1BsdXMnKSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9hPiBcDQogICAgICAgICAgICAgICAgPC9kaXY+Jyk7ICovDQogICAgICAgIGNhc2UgJ1BpbnRlcmVzdCc6DQogICAgICAgICAgICBocmVmID0gJ2h0dHA6Ly9waW50ZXJlc3QuY29tL3Bpbi9jcmVhdGUvYnV0dG9uLz91cmw9JytsaW5rKycmYW1wO2Rlc2NyaXB0aW9uPScrZW5jb2RlZFRpdGxlOw0KICAgICAgICAgICAgcmV0dXJuICgNCiAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0ic29jaWFsLWljb24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjY2IyMDI3OyI+IFwNCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iJytocmVmKyciIGNsYXNzPSInK2xpbmtDbGFzcysnIiB0YXJnZXQ9Il9ibGFuayI+IFwNCiAgICAgICAgICAgICAgICAgICAgICAgICcrZ2V0U3ZnKCdwaW50ZXJlc3QnKSsnIFwNCiAgICAgICAgICAgICAgICAgICAgPC9hPiBcDQogICAgICAgICAgICAgICAgPC9kaXY+Jyk7DQogICAgICAgIGRlZmF1bHQ6IA0KICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgIH0NCn0NCg0KLy8NCi8vIEhlbHBlcnMNCi8vDQovLyBjaGVjayBkaXNwbGF5IHR5cGUNCmZ1bmN0aW9uIGlzTW9iaWxlKCkgew0KICAgIHJldHVybiBkYXRhLmRldmljZSA9PT0gJ21vYmlsZSc7DQp9DQpmdW5jdGlvbiBnZXRJdGVtQWN0aW9uKGl0ZW0sIGVsZW0pIHsNCiAgICB2YXIgc3RhdHNFdmVudE5hbWU9Jyc7DQogICAgc3dpdGNoKGl0ZW0uQWN0aW9uKSB7DQogICAgICAgIGNhc2UgJ0xpbmsnOg0KICAgICAgICAgICAgaWYoIWl0ZW0uTGluaykge2l0ZW0uTGluayA9IHsgdGFyZ2V0OiAndGFyZ2V0PSJfYmxhbmsiJywgaHJlZjogJ2h0dHA6Ly93d3cuZ29vZ2xlLmNvbScgfX0gIC8vIGRlZmF1bHQgbGluaw0KICAgICAgICAgICAgdmFyIHRhcmdldCA9IGl0ZW0uTGluay50YXJnZXQ/IGB0YXJnZXQ9IiR7aXRlbS5MaW5rLnRhcmdldH0iYCA6ICcnOw0KICAgICAgICAgICAgdmFyIHN0YXRzRXZlbnROYW1lID0gJ0NNX0xJTktfQ0xJQ0snOw0KICAgICAgICAgICAgcmV0dXJuICc8YSAnK3RhcmdldCsnIGhyZWY9IicraXRlbS5MaW5rLmhyZWYrJyIgY2xhc3M9Im1lbnUtbGluayBic3ItbWVudWxpbmsiIG9uY2xpY2s9Il90cmFja0NvbnZXaWRnZXRDbGlja0V2ZW50KFwnJytzdGF0c0V2ZW50TmFtZSsnXCcpOyI+JytlbGVtKyc8L2E+JzsNCiAgICAgICAgY2FzZSAnQ2FsbCc6DQogICAgICAgICAgICBzdGF0c0V2ZW50TmFtZSA9ICdDTV9DTElDS19UT19DQUxMJzsNCiAgICAgICAgICAgIHJldHVybiAnPGEgaHJlZj0idGVsOicraXRlbS5DYWxsTnVtKyciIGNsYXNzPSJtZW51LWxpbmsgYnNyLW1lbnVsaW5rIiBvbmNsaWNrPSJfdHJhY2tDb252V2lkZ2V0Q2xpY2tFdmVudChcJycrc3RhdHNFdmVudE5hbWUrJ1wnKTsiPicrZWxlbSsnPC9hPic7DQogICAgICAgIGNhc2UgJ1Ntcyc6DQogICAgICAgICAgICBzdGF0c0V2ZW50TmFtZSA9ICdDTV9DTElDS19UT19TTVMnOw0KICAgICAgICAgICAgcmV0dXJuICc8YSBocmVmPSJzbXM6JytpdGVtLlNtc051bSsnIiBjbGFzcz0ibWVudS1saW5rIGJzci1tZW51bGluayIgb25jbGljaz0iX3RyYWNrQ29udldpZGdldENsaWNrRXZlbnQoXCcnK3N0YXRzRXZlbnROYW1lKydcJyk7Ij4nK2VsZW0rJzwvYT4nOw0KICAgICAgICBjYXNlICdFbWFpbCc6DQogICAgICAgICAgICBzdGF0c0V2ZW50TmFtZSA9ICdDTV9DTElDS19UT19FTUFJTCc7DQogICAgICAgICAgICByZXR1cm4gJzxhIGhyZWY9Im1haWx0bzonK2l0ZW0uRW1haWxBZGRyKyc/c3ViamVjdD0nK2l0ZW0uZW1haWxEZWZTdWJqZWN0ICsgJyZib2R5PScgKyBpdGVtLmRlZkVtYWlsQm9keSArICciIHRhcmdldD0iX2JsYW5rIiBjbGFzcz0ibWVudS1saW5rIGJzci1tZW51bGluayIgb25jbGljaz0iX3RyYWNrQ29udldpZGdldENsaWNrRXZlbnQoXCcnK3N0YXRzRXZlbnROYW1lKydcJyk7Ij4nK2VsZW0rJzwvYT4nOw0KICAgICAgICBjYXNlICdNYXAnOg0KICAgICAgICAgICAgc3RhdHNFdmVudE5hbWUgPSAnQ01fRElSRUNUSU9OJzsNCiAgICAgICAgICAgIHJldHVybiAnPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcz9xPScraXRlbS5RdWVyeSsnIiBjbGFzcz0ibWVudS1saW5rIGJzci1tZW51bGluayIgb25jbGljaz0iX3RyYWNrQ29udldpZGdldENsaWNrRXZlbnQoXCcnK3N0YXRzRXZlbnROYW1lKydcJyk7IiBkYXRhLWV2ZW50bmFtZT0iRmluZCBMb2NhdGlvbiI+JytlbGVtKyc8L2E+JzsNCiAgICAgICAgY2FzZSAnTWVzcyc6DQogICAgICAgICAgICBzdGF0c0V2ZW50TmFtZSA9ICdDTV9GQl9NRVNTQUdFJzsNCiAgICAgICAgICAgIHJldHVybiAnPGEgaHJlZj0iaHR0cDovL20ubWUvJytpdGVtLkZiVXNlcisnIiBjbGFzcz0ibWVudS1saW5rIGJzci1tZW51bGluayIgdGFyZ2V0PSJfYmxhbmsiIG9uY2xpY2s9Il90cmFja0NvbnZXaWRnZXRDbGlja0V2ZW50KFwnJytzdGF0c0V2ZW50TmFtZSsnXCcpOyI+JytlbGVtKyc8L2E+JzsNCiAgICAgICAgY2FzZSAnU2hhcmUnOg0KICAgICAgICAgICAgcmV0dXJuICc8YSBocmVmPSIjIiBjbGFzcz0ibWVudS1saW5rIHNoYXJlIGJzci1tZW51bGluayI+JytlbGVtKyc8L2E+JzsNCiAgICAgICAgY2FzZSAnQ2hhdCc6DQogICAgICAgICAgICByZXR1cm4gJzxhIGhyZWY9IiMiIGNsYXNzPSJtZW51LWxpbmsgYnNyLWNoYXQgYnNyLW1lbnVsaW5rIj4nK2VsZW0rJzwvYT4nOw0KICAgICAgICBkZWZhdWx0OiANCiAgICAgICAgICAgIHJldHVybiAnJzsNCiAgICB9DQp9DQovLyByZXR1cm5zIG5ldyBkZWZhdWx0IGljb24gb25seSBpZiBpY29uIGlzIGRlZmF1bHQgKGlkZW50aWZpZWQgYnkgcGF0aCBkYXRhIGluIGRlZmF1bHQgc3ZnIE1VU1QgQ0hBTkdFIEZPUiBESUZGRVJFTlQgREVGQVVUTCkNCmZ1bmN0aW9uIHhnZXRJdGVtSWNvbihpdGVtKSB7DQogICAgLy8gaWNvbiBpcyBkZWZhdWx0DQogICAgaWYoaXRlbS5DdXN0b21JY29uKSB7DQogICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9Im5ldy1jb250YWluZXIiPicraXRlbS5JY29uKyc8L2Rpdj4nOw0KICAgIH0gZWxzZSB7DQogICAgICAgIHN3aXRjaChpdGVtLkFjdGlvbikgew0KICAgICAgICAgICAgY2FzZSAnTGluayc6DQogICAgICAgICAgICAgICAgcmV0dXJuIGdldFN2ZygnbGluaycpOw0KICAgICAgICAgICAgY2FzZSAnQ2FsbCc6DQogICAgICAgICAgICAgICAgcmV0dXJuIGdldFN2ZygncGhvbmUnKTsNCiAgICAgICAgICAgIGNhc2UgJ1Ntcyc6DQogICAgICAgICAgICAgICAgcmV0dXJuIGdldFN2Zygnc21zJyk7DQogICAgICAgICAgICBjYXNlICdFbWFpbCc6DQogICAgICAgICAgICAgICAgcmV0dXJuIGdldFN2ZygnZW52ZWxvcGUnKTsNCiAgICAgICAgICAgIGNhc2UgJ01lc3MnOg0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdmcoJ21lc3NlbmdlcicpOw0KICAgICAgICAgICAgY2FzZSAnTWFwJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U3ZnKCdtYXAnKTsNCiAgICAgICAgICAgIGNhc2UgJ1NoYXJlJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U3ZnKCdzaGFyZScpOw0KICAgICAgICB9DQogICAgfQ0KfQ0KDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCmZ1bmN0aW9uIGdldEl0ZW1JY29uKGl0ZW0pIHsNCiAgICB2YXIgbGNhc2UgPSBpdGVtLkFjdGlvbi50b0xvd2VyQ2FzZSgpOw0KDQogICAgaWYoaXRlbS5DdXN0b21JY29uKSB7DQogICAgICAgIHN3aXRjaChpdGVtLkN1c3RvbUljb25fU2VsZWN0KSB7DQogICAgICAgICAgICBjYXNlICdjdXN0b21faWNvbjEnOg0KICAgICAgICAgICAgICAgIC8vIHJldHVybiAnPGRpdiBjbGFzcz0iJytsY2FzZSsnLWljb24tcHJldiBjdXN0b20tdXNlci1pY29uICcgKyBpdGVtLkN1c3RvbUljb25fU2VsZWN0ICsgJyI+JyArIGRhdGEuY29uZmlnLmN1c3RvbV9pY29uMSArICc8L2Rpdj4nOw0KICAgICAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0iY3VzdG9tLXVzZXItaWNvbiAnICsgaXRlbS5DdXN0b21JY29uX1NlbGVjdCArICciPicgKyBkYXRhLmNvbmZpZy5jdXN0b21faWNvbjEgKyAnPC9kaXY+JzsNCiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbV9pY29uMic6DQogICAgICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJjdXN0b20tdXNlci1pY29uICcgKyBpdGVtLkN1c3RvbUljb25fU2VsZWN0ICsgJyI+JyArIGRhdGEuY29uZmlnLmN1c3RvbV9pY29uMiArICc8L2Rpdj4nOw0KICAgICAgICAgICAgY2FzZSAnY3VzdG9tX2ljb24zJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImN1c3RvbS11c2VyLWljb24gJyArIGl0ZW0uQ3VzdG9tSWNvbl9TZWxlY3QgKyAnIj4nICsgZGF0YS5jb25maWcuY3VzdG9tX2ljb24zICsgJzwvZGl2Pic7DQogICAgICAgICAgICBjYXNlICdjdXN0b21faWNvbjQnOg0KICAgICAgICAgICAgICAgIHJldHVybiAnPGRpdiBjbGFzcz0iY3VzdG9tLXVzZXItaWNvbiAnICsgaXRlbS5DdXN0b21JY29uX1NlbGVjdCArICciPicgKyBkYXRhLmNvbmZpZy5jdXN0b21faWNvbjQgKyAnPC9kaXY+JzsNCiAgICAgICAgICAgIGNhc2UgJ2N1c3RvbV9pY29uNSc6DQogICAgICAgICAgICAgICAgcmV0dXJuICc8ZGl2IGNsYXNzPSJjdXN0b20tdXNlci1pY29uICcgKyBpdGVtLkN1c3RvbUljb25fU2VsZWN0ICsgJyI+JyArIGRhdGEuY29uZmlnLmN1c3RvbV9pY29uNSArICc8L2Rpdj4nOw0KICAgICAgICAgICAgY2FzZSAnY3VzdG9tX2ljb242JzoNCiAgICAgICAgICAgICAgICByZXR1cm4gJzxkaXYgY2xhc3M9ImN1c3RvbS11c2VyLWljb24gJyArIGl0ZW0uQ3VzdG9tSWNvbl9TZWxlY3QgKyAnIj4nICsgZGF0YS5jb25maWcuY3VzdG9tX2ljb242ICsgJzwvZGl2Pic7DQogICAgICAgIH0NCiAgICB9IGVsc2Ugew0KICAgICAgICBzd2l0Y2goaXRlbS5BY3Rpb24pIHsNCiAgICAgICAgICAgIGNhc2UgJ0xpbmsnOg0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdmcoJ2xpbmsnKTsNCiAgICAgICAgICAgIGNhc2UgJ0NhbGwnOg0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdmcoJ3Bob25lJyk7DQogICAgICAgICAgICBjYXNlICdTbXMnOg0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdmcoJ3NtcycpOw0KICAgICAgICAgICAgY2FzZSAnRW1haWwnOg0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdmcoJ2VudmVsb3BlJyk7DQogICAgICAgICAgICBjYXNlICdNZXNzJzoNCiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U3ZnKCdtZXNzZW5nZXInKTsNCiAgICAgICAgICAgIGNhc2UgJ01hcCc6DQogICAgICAgICAgICAgICAgcmV0dXJuIGdldFN2ZygnbWFwJyk7DQogICAgICAgICAgICBjYXNlICdTaGFyZSc6DQogICAgICAgICAgICAgICAgcmV0dXJuIGdldFN2Zygnc2hhcmUnKTsNCiAgICAgICAgICAgIGNhc2UgJ0NoYXQnOg0KICAgICAgICAgICAgICAgIHJldHVybiBnZXRTdmcoJ2NoYXQnKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQp3aW5kb3cuX3RyYWNrQ29udldpZGdldENsaWNrRXZlbnQgPSBmdW5jdGlvbihldmVudE5hbWUpIHsNCiAgICBpZih0eXBlb2YoSEFGKT09PSJvYmplY3QiKXsNCiAgICAgICAgSEFGLk9tVHJhY2tpbmcub25DTUNsaWNrKGV2ZW50TmFtZSkgDQogICAgfQ0KICAgIHJldHVybjsNCn0NCg0KZnVuY3Rpb24gZHVkYWljb24oaWNvbil7DQogICAgcmV0dXJuICc8c3BhbiBjbGFzcz0ibmV3LWNvbnRhaW5lciI+JytpY29uKyc8L3NwYW4+Jw0KICAgIA0KICAgIA0KfQ0KZnVuY3Rpb24geGdldFN2ZyhuYW1lKSB7DQogICAgY29uc3QgdHlwZSA9IG5hbWU/IG5hbWUgOiBkYXRhLmNvbmZpZy5EZXNrTWFpbjsNCiAgICBzd2l0Y2godHlwZSkgew0KICAgICAgICBjYXNlICd2RWxsaXBzaXMnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5MiA1MTIiPjx0aXRsZT5Nb3JlPC90aXRsZT48cGF0aCBkPSJNOTYgMTg0YzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcyLTcyLTMyLjItNzItNzIgMzIuMi03MiA3Mi03MnpNMjQgODBjMCAzOS44IDMyLjIgNzIgNzIgNzJzNzItMzIuMiA3Mi03MlMxMzUuOCA4IDk2IDggMjQgNDAuMiAyNCA4MHptMCAzNTJjMCAzOS44IDMyLjIgNzIgNzIgNzJzNzItMzIuMiA3Mi03Mi0zMi4yLTcyLTcyLTcyLTcyIDMyLjItNzIgNzJ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnbWFwJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z21hcCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzg0IDUxMiIgZGF0YS1kZWZhdWx0PSJ0cnVlIj48cGF0aCBkPSJNMTcyLjI2OCA1MDEuNjdDMjYuOTcgMjkxLjAzMSAwIDI2OS40MTMgMCAxOTIgMCA4NS45NjEgODUuOTYxIDAgMTkyIDBzMTkyIDg1Ljk2MSAxOTIgMTkyYzAgNzcuNDEzLTI2Ljk3IDk5LjAzMS0xNzIuMjY4IDMwOS42Ny05LjUzNSAxMy43NzQtMjkuOTMgMTMuNzczLTM5LjQ2NCAwek0xOTIgMjcyYzQ0LjE4MyAwIDgwLTM1LjgxNyA4MC04MHMtMzUuODE3LTgwLTgwLTgwLTgwIDM1LjgxNy04MCA4MCAzNS44MTcgODAgODAgODB6Ii8+PC9zdmc+Jw0KICAgICAgICBjYXNlICdoRWxsaXBzaXMnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjx0aXRsZT5Nb3JlPC90aXRsZT48cGF0aCBkPSJNMzI4IDI1NmMwIDM5LjgtMzIuMiA3Mi03MiA3MnMtNzItMzIuMi03Mi03MiAzMi4yLTcyIDcyLTcyIDcyIDMyLjIgNzIgNzJ6bTEwNC03MmMtMzkuOCAwLTcyIDMyLjItNzIgNzJzMzIuMiA3MiA3MiA3MiA3Mi0zMi4yIDcyLTcyLTMyLjItNzItNzItNzJ6bS0zNTIgMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJzMzIuMiA3MiA3MiA3MiA3Mi0zMi4yIDcyLTcyLTMyLjItNzItNzItNzJ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAncGx1cyc6DQogICAgICAgICAgICByZXR1cm4gJzxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQyIDQyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA0MiA0MjsgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHRpdGxlPk1vcmU8L3RpdGxlPjxwb2x5Z29uIHBvaW50cz0iNDIsMjAgMjIsMjAgMjIsMCAyMCwwIDIwLDIwIDAsMjAgMCwyMiAyMCwyMiAyMCw0MiAyMiw0MiAyMiwyMiA0MiwyMiAiLz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48L3N2Zz4nOw0KICAgICAgICBjYXNlICdiYXJzJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48dGl0bGU+TW9yZTwvdGl0bGU+PHBhdGggZD0iTTE2IDEzMmg0MTZjOC44MzcgMCAxNi03LjE2MyAxNi0xNlY3NmMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2QzcuMTYzIDYwIDAgNjcuMTYzIDAgNzZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnptMCAxNjBoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZ2LTQwYzAtOC44MzctNy4xNjMtMTYtMTYtMTZIMTZjLTguODM3IDAtMTYgNy4xNjMtMTYgMTZ2NDBjMCA4LjgzNyA3LjE2MyAxNiAxNiAxNnoiLz48L3N2Zz4nOw0KICAgICAgICBjYXNlICdlbnZlbG9wZSc6DQogICAgICAgICAgICByZXR1cm4gJzxzdmcgY2xhc3M9Imljb25zdmdlbWFpbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPkVtYWlsPC90aXRsZT48cGF0aCBkPSJNNDY0IDY0SDQ4QzIxLjQ5IDY0IDAgODUuNDkgMCAxMTJ2Mjg4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDE2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMTEyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bTAgNDh2NDAuODA1Yy0yMi40MjIgMTguMjU5LTU4LjE2OCA0Ni42NTEtMTM0LjU4NyAxMDYuNDktMTYuODQxIDEzLjI0Ny01MC4yMDEgNDUuMDcyLTczLjQxMyA0NC43MDEtMjMuMjA4LjM3NS01Ni41NzktMzEuNDU5LTczLjQxMy00NC43MDFDMTA2LjE4IDE5OS40NjUgNzAuNDI1IDE3MS4wNjcgNDggMTUyLjgwNVYxMTJoNDE2ek00OCA0MDBWMjE0LjM5OGMyMi45MTQgMTguMjUxIDU1LjQwOSA0My44NjIgMTA0LjkzOCA4Mi42NDYgMjEuODU3IDE3LjIwNSA2MC4xMzQgNTUuMTg2IDEwMy4wNjIgNTQuOTU1IDQyLjcxNy4yMzEgODAuNTA5LTM3LjE5OSAxMDMuMDUzLTU0Ljk0NyA0OS41MjgtMzguNzgzIDgyLjAzMi02NC40MDEgMTA0Ljk0Ny04Mi42NTNWNDAwSDQ4eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ3NoYXJlZW52ZWxvcGUnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJpY29uc3Znc2hhcmVlbWFpbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPkVtYWlsPC90aXRsZT48cGF0aCBkPSJNNDY0IDY0SDQ4QzIxLjQ5IDY0IDAgODUuNDkgMCAxMTJ2Mjg4YzAgMjYuNTEgMjEuNDkgNDggNDggNDhoNDE2YzI2LjUxIDAgNDgtMjEuNDkgNDgtNDhWMTEyYzAtMjYuNTEtMjEuNDktNDgtNDgtNDh6bTAgNDh2NDAuODA1Yy0yMi40MjIgMTguMjU5LTU4LjE2OCA0Ni42NTEtMTM0LjU4NyAxMDYuNDktMTYuODQxIDEzLjI0Ny01MC4yMDEgNDUuMDcyLTczLjQxMyA0NC43MDEtMjMuMjA4LjM3NS01Ni41NzktMzEuNDU5LTczLjQxMy00NC43MDFDMTA2LjE4IDE5OS40NjUgNzAuNDI1IDE3MS4wNjcgNDggMTUyLjgwNVYxMTJoNDE2ek00OCA0MDBWMjE0LjM5OGMyMi45MTQgMTguMjUxIDU1LjQwOSA0My44NjIgMTA0LjkzOCA4Mi42NDYgMjEuODU3IDE3LjIwNSA2MC4xMzQgNTUuMTg2IDEwMy4wNjIgNTQuOTU1IDQyLjcxNy4yMzEgODAuNTA5LTM3LjE5OSAxMDMuMDUzLTU0Ljk0NyA0OS41MjgtMzguNzgzIDgyLjAzMi02NC40MDEgMTA0Ljk0Ny04Mi42NTNWNDAwSDQ4eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ3Bob25lJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3Bob25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBkYXRhLWRlZmF1bHQ+PHRpdGxlPlBob25lPC90aXRsZT48cGF0aCBkPSJNNDkzLjQgMjQuNmwtMTA0LTI0Yy0xMS4zLTIuNi0yMi45IDMuMy0yNy41IDEzLjlsLTQ4IDExMmMtNC4yIDkuOC0xLjQgMjEuMyA2LjkgMjhsNjAuNiA0OS42Yy0zNiA3Ni43LTk4LjkgMTQwLjUtMTc3LjIgMTc3LjJsLTQ5LjYtNjAuNmMtNi44LTguMy0xOC4yLTExLjEtMjgtNi45bC0xMTIgNDhDMy45IDM2Ni41LTIgMzc4LjEuNiAzODkuNGwyNCAxMDRDMjcuMSA1MDQuMiAzNi43IDUxMiA0OCA1MTJjMjU2LjEgMCA0NjQtMjA3LjUgNDY0LTQ2NCAwLTExLjItNy43LTIwLjktMTguNi0yMy40eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ2Nsb3NlJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z2Nsb3NlIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4InZpZXdCb3g9IjAgMCAyMjQuNTEyIDIyNC41MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyNC41MTIgMjI0LjUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPjx0aXRsZT5DbG9zZTwvdGl0bGU+PGc+PHBvbHlnb24gcG9pbnRzPSIyMjQuNTA3LDYuOTk3IDIxNy41MjEsMCAxMTIuMjU2LDEwNS4yNTggNi45OTgsMCAwLjAwNSw2Ljk5NyAxMDUuMjYzLDExMi4yNTQgMC4wMDUsMjE3LjUxMiA2Ljk5OCwyMjQuNTEyIDExMi4yNTYsMTE5LjI0IDIxNy41MjEsMjI0LjUxMiAyMjQuNTA3LDIxNy41MTIgMTE5LjI0OSwxMTIuMjU0Ii8+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ2ZhY2Vib29rJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z2ZiIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNjQgNTEyIj48dGl0bGU+RmFjZWJvb2s8L3RpdGxlPjxwYXRoIGQ9Ik03Ni43IDUxMlYyODNIMHYtOTFoNzYuN3YtNzEuN0M3Ni43IDQyLjQgMTI0LjMgMCAxOTMuOCAwYzMzLjMgMCA2MS45IDIuNSA3MC4yIDMuNlY4NWgtNDguMmMtMzcuOCAwLTQ1LjEgMTgtNDUuMSA0NC4zVjE5MkgyNTZsLTExLjcgOTFoLTczLjZ2MjI5Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnbWVzc2VuZ2VyJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z21lc2ciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiPjx0aXRsZT5GYWNlYm9vayBNZXNzZW5nZXI8L3RpdGxlPjxwYXRoIGQ9Ik0yMjQgMzJDMTUuOSAzMi03Ny41IDI3OCA4NC42IDQwMC42VjQ4MGw3NS43LTQyYzE0Mi4yIDM5LjggMjg1LjQtNTkuOSAyODUuNC0xOTguN0M0NDUuOCAxMjQuOCAzNDYuNSAzMiAyMjQgMzJ6bTIzLjQgMjc4LjFMMTkwIDI1MC41IDc5LjYgMzExLjZsMTIxLjEtMTI4LjUgNTcuNCA1OS42IDExMC40LTYxLjEtMTIxLjEgMTI4LjV6Ii8+PC9zdmc+Jw0KICAgICAgICBjYXNlICd0dW1ibHInOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJpY29uc3ZndG1iIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIj48dGl0bGU+VHVtYmxyPC90aXRsZT48cGF0aCBkPSJNMzA5LjggNDgwLjNjLTEzLjYgMTQuNS01MCAzMS43LTk3LjQgMzEuNy0xMjAuOCAwLTE0Ny04OC44LTE0Ny0xNDAuNnYtMTQ0SDE3LjljLTUuNSAwLTEwLTQuNS0xMC0xMHYtNjhjMC03LjIgNC41LTEzLjYgMTEuMy0xNiA2Mi0yMS44IDgxLjUtNzYgODQuMy0xMTcuMS44LTExIDYuNS0xNi4zIDE2LjEtMTYuM2g3MC45YzUuNSAwIDEwIDQuNSAxMCAxMHYxMTUuMmg4M2M1LjUgMCAxMCA0LjQgMTAgOS45djgxLjdjMCA1LjUtNC41IDEwLTEwIDEwaC04My40VjM2MGMwIDM0LjIgMjMuNyA1My42IDY4IDM1LjggNC44LTEuOSA5LTMuMiAxMi43LTIuMiAzLjUuOSA1LjggMy40IDcuNCA3LjlsMjIgNjQuM2MxLjggNSAzLjMgMTAuNi0uNCAxNC41eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ2xpbmtlZEluJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z2xpIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48dGl0bGU+TGlua2VkSW48L3RpdGxlPjxwYXRoIGQ9Ik0xMDAuMyA0ODBINy40VjE4MC45aDkyLjlWNDgwek01My44IDE0MC4xQzI0LjEgMTQwLjEgMCAxMTUuNSAwIDg1LjggMCA1Ni4xIDI0LjEgMzIgNTMuOCAzMmMyOS43IDAgNTMuOCAyNC4xIDUzLjggNTMuOCAwIDI5LjctMjQuMSA1NC4zLTUzLjggNTQuM3pNNDQ4IDQ4MGgtOTIuN1YzMzQuNGMwLTM0LjctLjctNzkuMi00OC4zLTc5LjItNDguMyAwLTU1LjcgMzcuNy01NS43IDc2LjdWNDgwaC05Mi44VjE4MC45aDg5LjF2NDAuOGgxLjNjMTIuNC0yMy41IDQyLjctNDguMyA4Ny45LTQ4LjMgOTQgMCAxMTEuMyA2MS45IDExMS4zIDE0Mi4zVjQ4MHoiLz48L3N2Zz4nOw0KICAgICAgICBjYXNlICd0d2l0dGVyJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3R3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHRpdGxlPlR3aXR0ZXI8L3RpdGxlPjxwYXRoIGQ9Ik0xMi42Ljc1aDIuNDU0bC01LjM2IDYuMTQyTDE2IDE1LjI1aC00LjkzN2wtMy44NjctNS4wNy00LjQyNSA1LjA3SC4zMTZsNS43MzMtNi41N0wwIC43NWg1LjA2M2wzLjQ5NSA0LjYzM0wxMi42MDEuNzVabS0uODYgMTMuMDI4aDEuMzZMNC4zMjMgMi4xNDVIMi44NjV6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAncmVkZGl0JzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3JlZCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPlJlZGRpdDwvdGl0bGU+PHBhdGggZD0iTTQ0MC4zIDIwMy41Yy0xNSAwLTI4LjIgNi4yLTM3LjkgMTUuOS0zNS43LTI0LjctODMuOC00MC42LTEzNy4xLTQyLjNMMjkzIDUyLjNsODguMiAxOS44YzAgMjEuNiAxNy42IDM5LjIgMzkuMiAzOS4yIDIyIDAgMzkuNy0xOC4xIDM5LjctMzkuN3MtMTcuNi0zOS43LTM5LjctMzkuN2MtMTUuNCAwLTI4LjcgOS4zLTM1LjMgMjJsLTk3LjQtMjEuNmMtNC45LTEuMy05LjcgMi4yLTExIDcuMUwyNDYuMyAxNzdjLTUyLjkgMi4yLTEwMC41IDE4LjEtMTM2LjMgNDIuOC05LjctMTAuMS0yMy40LTE2LjMtMzguNC0xNi4zLTU1LjYgMC03My44IDc0LjYtMjIuOSAxMDAuMS0xLjggNy45LTIuNiAxNi4zLTIuNiAyNC43IDAgODMuOCA5NC40IDE1MS43IDIxMC4zIDE1MS43IDExNi40IDAgMjEwLjgtNjcuOSAyMTAuOC0xNTEuNyAwLTguNC0uOS0xNy4yLTMuMS0yNS4xIDQ5LjktMjUuNiAzMS41LTk5LjctMjMuOC05OS43ek0xMjkuNCAzMDguOWMwLTIyIDE3LjYtMzkuNyAzOS43LTM5LjcgMjEuNiAwIDM5LjIgMTcuNiAzOS4yIDM5LjcgMCAyMS42LTE3LjYgMzkuMi0zOS4yIDM5LjItMjIgLjEtMzkuNy0xNy42LTM5LjctMzkuMnptMjE0LjMgOTMuNWMtMzYuNCAzNi40LTEzOS4xIDM2LjQtMTc1LjUgMC00LTMuNS00LTkuNyAwLTEzLjcgMy41LTMuNSA5LjctMy41IDEzLjIgMCAyNy44IDI4LjUgMTIwIDI5IDE0OSAwIDMuNS0zLjUgOS43LTMuNSAxMy4yIDAgNC4xIDQgNC4xIDEwLjIuMSAxMy43em0tLjgtNTQuMmMtMjEuNiAwLTM5LjItMTcuNi0zOS4yLTM5LjIgMC0yMiAxNy42LTM5LjcgMzkuMi0zOS43IDIyIDAgMzkuNyAxNy42IDM5LjcgMzkuNy0uMSAyMS41LTE3LjcgMzkuMi0zOS43IDM5LjJ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAncGludGVyZXN0JzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3BpbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzg0IDUxMiI+PHRpdGxlPlBpbnRlcmVzdDwvdGl0bGU+PHBhdGggZD0iTTIwNCA2LjVDMTAxLjQgNi41IDAgNzQuOSAwIDE4NS42IDAgMjU2IDM5LjYgMjk2IDYzLjYgMjk2YzkuOSAwIDE1LjYtMjcuNiAxNS42LTM1LjQgMC05LjMtMjMuNy0yOS4xLTIzLjctNjcuOCAwLTgwLjQgNjEuMi0xMzcuNCAxNDAuNC0xMzcuNCA2OC4xIDAgMTE4LjUgMzguNyAxMTguNSAxMDkuOCAwIDUzLjEtMjEuMyAxNTIuNy05MC4zIDE1Mi43LTI0LjkgMC00Ni4yLTE4LTQ2LjItNDMuOCAwLTM3LjggMjYuNC03NC40IDI2LjQtMTEzLjQgMC02Ni4yLTkzLjktNTQuMi05My45IDI1LjggMCAxNi44IDIuMSAzNS40IDkuNiA1MC43LTEzLjggNTkuNC00MiAxNDcuOS00MiAyMDkuMSAwIDE4LjkgMi43IDM3LjUgNC41IDU2LjQgMy40IDMuOCAxLjcgMy40IDYuOSAxLjUgNTAuNC02OSA0OC42LTgyLjUgNzEuNC0xNzIuOCAxMi4zIDIzLjQgNDQuMSAzNiA2OS4zIDM2IDEwNi4yIDAgMTUzLjktMTAzLjUgMTUzLjktMTk2LjhDMzg0IDcxLjMgMjk4LjIgNi41IDIwNCA2LjV6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnc2hhcmUnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJpY29uc3Znc2hhcmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE1MzYgMTc5MiI+PHRpdGxlPlNoYXJlPC90aXRsZT48cGF0aCBkPSJNMTIxNiAxMDI0cTEzMyAwIDIyNi41IDkzLjV0OTMuNSAyMjYuNS05My41IDIyNi41LTIyNi41IDkzLjUtMjI2LjUtOTMuNS05My41LTIyNi41cTAtMTIgMi0zNGwtMzYwLTE4MHEtOTIgODYtMjE4IDg2LTEzMyAwLTIyNi41LTkzLjV0LTkzLjUtMjI2LjUgOTMuNS0yMjYuNSAyMjYuNS05My41cTEyNiAwIDIxOCA4NmwzNjAtMTgwcS0yLTIyLTItMzQgMC0xMzMgOTMuNS0yMjYuNXQyMjYuNS05My41IDIyNi41IDkzLjUgOTMuNSAyMjYuNS05My41IDIyNi41LTIyNi41IDkzLjVxLTEyNiAwLTIxOC04NmwtMzYwIDE4MHEyIDIyIDIgMzR0LTIgMzRsMzYwIDE4MHE5Mi04NiAyMTgtODZ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnc21zJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3NtcyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPlNNUyBUZXh0PC90aXRsZT48cGF0aCBkPSJNNDQ4IDBINjRDMjguNyAwIDAgMjguNyAwIDY0djI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NGg5NnY4NGMwIDkuOCAxMS4yIDE1LjUgMTkuMSA5LjdMMzA0IDQxNmgxNDRjMzUuMyAwIDY0LTI4LjcgNjQtNjRWNjRjMC0zNS4zLTI4LjctNjQtNjQtNjR6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnbGluayc6DQogICAgICAgICAgICByZXR1cm4gJzxzdmcgY2xhc3M9Imljb25zdmdsaW5rIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMzI2LjYxMiAxODUuMzkxYzU5Ljc0NyA1OS44MDkgNTguOTI3IDE1NS42OTguMzYgMjE0LjU5LS4xMS4xMi0uMjQuMjUtLjM2LjM3bC02Ny4yIDY3LjJjLTU5LjI3IDU5LjI3LTE1NS42OTkgNTkuMjYyLTIxNC45NiAwLTU5LjI3LTU5LjI2LTU5LjI3LTE1NS43IDAtMjE0Ljk2bDM3LjEwNi0zNy4xMDZjOS44NC05Ljg0IDI2Ljc4Ni0zLjMgMjcuMjk0IDEwLjYwNi42NDggMTcuNzIyIDMuODI2IDM1LjUyNyA5LjY5IDUyLjcyMSAxLjk4NiA1LjgyMi41NjcgMTIuMjYyLTMuNzgzIDE2LjYxMmwtMTMuMDg3IDEzLjA4N2MtMjguMDI2IDI4LjAyNi0yOC45MDUgNzMuNjYtMS4xNTUgMTAxLjk2IDI4LjAyNCAyOC41NzkgNzQuMDg2IDI4Ljc0OSAxMDIuMzI1LjUxbDY3LjItNjcuMTljMjguMTkxLTI4LjE5MSAyOC4wNzMtNzMuNzU3IDAtMTAxLjgzLTMuNzAxLTMuNjk0LTcuNDI5LTYuNTY0LTEwLjM0MS04LjU2OWExNi4wMzcgMTYuMDM3IDAgMCAxLTYuOTQ3LTEyLjYwNmMtLjM5Ni0xMC41NjcgMy4zNDgtMjEuNDU2IDExLjY5OC0yOS44MDZsMjEuMDU0LTIxLjA1NWM1LjUyMS01LjUyMSAxNC4xODItNi4xOTkgMjAuNTg0LTEuNzMxYTE1Mi40ODIgMTUyLjQ4MiAwIDAgMSAyMC41MjIgMTcuMTk3ek00NjcuNTQ3IDQ0LjQ0OWMtNTkuMjYxLTU5LjI2Mi0xNTUuNjktNTkuMjctMjE0Ljk2IDBsLTY3LjIgNjcuMmMtLjEyLjEyLS4yNS4yNS0uMzYuMzctNTguNTY2IDU4Ljg5Mi01OS4zODcgMTU0Ljc4MS4zNiAyMTQuNTlhMTUyLjQ1NCAxNTIuNDU0IDAgMCAwIDIwLjUyMSAxNy4xOTZjNi40MDIgNC40NjggMTUuMDY0IDMuNzg5IDIwLjU4NC0xLjczMWwyMS4wNTQtMjEuMDU1YzguMzUtOC4zNSAxMi4wOTQtMTkuMjM5IDExLjY5OC0yOS44MDZhMTYuMDM3IDE2LjAzNyAwIDAgMC02Ljk0Ny0xMi42MDZjLTIuOTEyLTIuMDA1LTYuNjQtNC44NzUtMTAuMzQxLTguNTY5LTI4LjA3My0yOC4wNzMtMjguMTkxLTczLjYzOSAwLTEwMS44M2w2Ny4yLTY3LjE5YzI4LjIzOS0yOC4yMzkgNzQuMy0yOC4wNjkgMTAyLjMyNS41MSAyNy43NSAyOC4zIDI2Ljg3MiA3My45MzQtMS4xNTUgMTAxLjk2bC0xMy4wODcgMTMuMDg3Yy00LjM1IDQuMzUtNS43NjkgMTAuNzktMy43ODMgMTYuNjEyIDUuODY0IDE3LjE5NCA5LjA0MiAzNC45OTkgOS42OSA1Mi43MjEuNTA5IDEzLjkwNiAxNy40NTQgMjAuNDQ2IDI3LjI5NCAxMC42MDZsMzcuMTA2LTM3LjEwNmM1OS4yNzEtNTkuMjU5IDU5LjI3MS0xNTUuNjk5LjAwMS0yMTQuOTU5eiIvPjwvc3ZnPic7DQogICAgICAgIGRlZmF1bHQ6IA0KICAgICAgICAgICAgcmV0dXJuICcnOw0KICAgIH0NCn0NCmZ1bmN0aW9uIGdldFN2ZyhuYW1lKSB7DQogICAgY29uc3QgdHlwZSA9IG5hbWU/IG5hbWUgOiBkYXRhLmNvbmZpZy5EZXNrTWFpbjsNCiAgICBzd2l0Y2godHlwZSkgew0KICAgICAgICBjYXNlICd2RWxsaXBzaXMnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE5MiA1MTIiPjx0aXRsZT5Nb3JlPC90aXRsZT48cGF0aCBkPSJNOTYgMTg0YzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcyLTcyLTMyLjItNzItNzIgMzIuMi03MiA3Mi03MnpNMjQgODBjMCAzOS44IDMyLjIgNzIgNzIgNzJzNzItMzIuMiA3Mi03MlMxMzUuOCA4IDk2IDggMjQgNDAuMiAyNCA4MHptMCAzNTJjMCAzOS44IDMyLjIgNzIgNzIgNzJzNzItMzIuMiA3Mi03Mi0zMi4yLTcyLTcyLTcyLTcyIDMyLjItNzIgNzJ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnbWFwJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0ibWFwLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM4NCA1MTIiIGRhdGEtZGVmYXVsdD0idHJ1ZSI+PHBhdGggZD0iTTE3Mi4yNjggNTAxLjY3QzI2Ljk3IDI5MS4wMzEgMCAyNjkuNDEzIDAgMTkyIDAgODUuOTYxIDg1Ljk2MSAwIDE5MiAwczE5MiA4NS45NjEgMTkyIDE5MmMwIDc3LjQxMy0yNi45NyA5OS4wMzEtMTcyLjI2OCAzMDkuNjctOS41MzUgMTMuNzc0LTI5LjkzIDEzLjc3My0zOS40NjQgMHpNMTkyIDI3MmM0NC4xODMgMCA4MC0zNS44MTcgODAtODBzLTM1LjgxNy04MC04MC04MC04MCAzNS44MTctODAgODAgMzUuODE3IDgwIDgwIDgweiIvPjwvc3ZnPicNCiAgICAgICAgY2FzZSAnaEVsbGlwc2lzJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48dGl0bGU+TW9yZTwvdGl0bGU+PHBhdGggZD0iTTMyOCAyNTZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzIgMzIuMi03MiA3Mi03MiA3MiAzMi4yIDcyIDcyem0xMDQtNzJjLTM5LjggMC03MiAzMi4yLTcyIDcyczMyLjIgNzIgNzIgNzIgNzItMzIuMiA3Mi03Mi0zMi4yLTcyLTcyLTcyem0tMzUyIDBjLTM5LjggMC03MiAzMi4yLTcyIDcyczMyLjIgNzIgNzIgNzIgNzItMzIuMiA3Mi03Mi0zMi4yLTcyLTcyLTcyeiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ3BsdXMnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA0MiA0MiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDIgNDI7IHhtbDpzcGFjZT0icHJlc2VydmUiPjx0aXRsZT5Nb3JlPC90aXRsZT48cG9seWdvbiBwb2ludHM9IjQyLDIwIDIyLDIwIDIyLDAgMjAsMCAyMCwyMCAwLDIwIDAsMjIgMjAsMjIgMjAsNDIgMjIsNDIgMjIsMjIgNDIsMjIgIi8+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnYmFycyc6DQogICAgICAgICAgICByZXR1cm4gJzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNDQ4IDUxMiI+PHRpdGxlPk1vcmU8L3RpdGxlPjxwYXRoIGQ9Ik0xNiAxMzJoNDE2YzguODM3IDAgMTYtNy4xNjMgMTYtMTZWNzZjMC04LjgzNy03LjE2My0xNi0xNi0xNkgxNkM3LjE2MyA2MCAwIDY3LjE2MyAwIDc2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMTYwaDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6bTAgMTYwaDQxNmM4LjgzNyAwIDE2LTcuMTYzIDE2LTE2di00MGMwLTguODM3LTcuMTYzLTE2LTE2LTE2SDE2Yy04LjgzNyAwLTE2IDcuMTYzLTE2IDE2djQwYzAgOC44MzcgNy4xNjMgMTYgMTYgMTZ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnZW52ZWxvcGUnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJlbWFpbC1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48dGl0bGU+RW1haWw8L3RpdGxlPjxwYXRoIGQ9Ik00NjQgNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0OHY0MC44MDVjLTIyLjQyMiAxOC4yNTktNTguMTY4IDQ2LjY1MS0xMzQuNTg3IDEwNi40OS0xNi44NDEgMTMuMjQ3LTUwLjIwMSA0NS4wNzItNzMuNDEzIDQ0LjcwMS0yMy4yMDguMzc1LTU2LjU3OS0zMS40NTktNzMuNDEzLTQ0LjcwMUMxMDYuMTggMTk5LjQ2NSA3MC40MjUgMTcxLjA2NyA0OCAxNTIuODA1VjExMmg0MTZ6TTQ4IDQwMFYyMTQuMzk4YzIyLjkxNCAxOC4yNTEgNTUuNDA5IDQzLjg2MiAxMDQuOTM4IDgyLjY0NiAyMS44NTcgMTcuMjA1IDYwLjEzNCA1NS4xODYgMTAzLjA2MiA1NC45NTUgNDIuNzE3LjIzMSA4MC41MDktMzcuMTk5IDEwMy4wNTMtNTQuOTQ3IDQ5LjUyOC0zOC43ODMgODIuMDMyLTY0LjQwMSAxMDQuOTQ3LTgyLjY1M1Y0MDBINDh6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnc2hhcmVlbnZlbG9wZSc6DQogICAgICAgICAgICByZXR1cm4gJzxzdmcgY2xhc3M9Imljb25zdmdzaGFyZWVtYWlsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48dGl0bGU+RW1haWw8L3RpdGxlPjxwYXRoIGQ9Ik00NjQgNjRINDhDMjEuNDkgNjQgMCA4NS40OSAwIDExMnYyODhjMCAyNi41MSAyMS40OSA0OCA0OCA0OGg0MTZjMjYuNTEgMCA0OC0yMS40OSA0OC00OFYxMTJjMC0yNi41MS0yMS40OS00OC00OC00OHptMCA0OHY0MC44MDVjLTIyLjQyMiAxOC4yNTktNTguMTY4IDQ2LjY1MS0xMzQuNTg3IDEwNi40OS0xNi44NDEgMTMuMjQ3LTUwLjIwMSA0NS4wNzItNzMuNDEzIDQ0LjcwMS0yMy4yMDguMzc1LTU2LjU3OS0zMS40NTktNzMuNDEzLTQ0LjcwMUMxMDYuMTggMTk5LjQ2NSA3MC40MjUgMTcxLjA2NyA0OCAxNTIuODA1VjExMmg0MTZ6TTQ4IDQwMFYyMTQuMzk4YzIyLjkxNCAxOC4yNTEgNTUuNDA5IDQzLjg2MiAxMDQuOTM4IDgyLjY0NiAyMS44NTcgMTcuMjA1IDYwLjEzNCA1NS4xODYgMTAzLjA2MiA1NC45NTUgNDIuNzE3LjIzMSA4MC41MDktMzcuMTk5IDEwMy4wNTMtNTQuOTQ3IDQ5LjUyOC0zOC43ODMgODIuMDMyLTY0LjQwMSAxMDQuOTQ3LTgyLjY1M1Y0MDBINDh6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAncGhvbmUnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJjYWxsLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGRhdGEtZGVmYXVsdD48dGl0bGU+UGhvbmU8L3RpdGxlPjxwYXRoIGQ9Ik00OTMuNCAyNC42bC0xMDQtMjRjLTExLjMtMi42LTIyLjkgMy4zLTI3LjUgMTMuOWwtNDggMTEyYy00LjIgOS44LTEuNCAyMS4zIDYuOSAyOGw2MC42IDQ5LjZjLTM2IDc2LjctOTguOSAxNDAuNS0xNzcuMiAxNzcuMmwtNDkuNi02MC42Yy02LjgtOC4zLTE4LjItMTEuMS0yOC02LjlsLTExMiA0OEMzLjkgMzY2LjUtMiAzNzguMS42IDM4OS40bDI0IDEwNEMyNy4xIDUwNC4yIDM2LjcgNTEyIDQ4IDUxMmMyNTYuMSAwIDQ2NC0yMDcuNSA0NjQtNDY0IDAtMTEuMi03LjctMjAuOS0xOC42LTIzLjR6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnY2xvc2UnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJpY29uc3ZnY2xvc2UiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgidmlld0JveD0iMCAwIDIyNC41MTIgMjI0LjUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjI0LjUxMiAyMjQuNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHRpdGxlPkNsb3NlPC90aXRsZT48Zz48cG9seWdvbiBwb2ludHM9IjIyNC41MDcsNi45OTcgMjE3LjUyMSwwIDExMi4yNTYsMTA1LjI1OCA2Ljk5OCwwIDAuMDA1LDYuOTk3IDEwNS4yNjMsMTEyLjI1NCAwLjAwNSwyMTcuNTEyIDYuOTk4LDIyNC41MTIgMTEyLjI1NiwxMTkuMjQgMjE3LjUyMSwyMjQuNTEyIDIyNC41MDcsMjE3LjUxMiAxMTkuMjQ5LDExMi4yNTQiLz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PGc+PC9nPjxnPjwvZz48Zz48L2c+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnZmFjZWJvb2snOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJpY29uc3ZnZmIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDI2NCA1MTIiPjx0aXRsZT5GYWNlYm9vazwvdGl0bGU+PHBhdGggZD0iTTc2LjcgNTEyVjI4M0gwdi05MWg3Ni43di03MS43Qzc2LjcgNDIuNCAxMjQuMyAwIDE5My44IDBjMzMuMyAwIDYxLjkgMi41IDcwLjIgMy42Vjg1aC00OC4yYy0zNy44IDAtNDUuMSAxOC00NS4xIDQ0LjNWMTkySDI1NmwtMTEuNyA5MWgtNzMuNnYyMjkiLz48L3N2Zz4nOw0KICAgICAgICBjYXNlICdtZXNzZW5nZXInOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJtZXNzLWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQ0OCA1MTIiPjx0aXRsZT5GYWNlYm9vayBNZXNzZW5nZXI8L3RpdGxlPjxwYXRoIGQ9Ik0yMjQgMzJDMTUuOSAzMi03Ny41IDI3OCA4NC42IDQwMC42VjQ4MGw3NS43LTQyYzE0Mi4yIDM5LjggMjg1LjQtNTkuOSAyODUuNC0xOTguN0M0NDUuOCAxMjQuOCAzNDYuNSAzMiAyMjQgMzJ6bTIzLjQgMjc4LjFMMTkwIDI1MC41IDc5LjYgMzExLjZsMTIxLjEtMTI4LjUgNTcuNCA1OS42IDExMC40LTYxLjEtMTIxLjEgMTI4LjV6Ii8+PC9zdmc+Jw0KICAgICAgICBjYXNlICd0dW1ibHInOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJpY29uc3ZndG1iIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIj48dGl0bGU+VHVtYmxyPC90aXRsZT48cGF0aCBkPSJNMzA5LjggNDgwLjNjLTEzLjYgMTQuNS01MCAzMS43LTk3LjQgMzEuNy0xMjAuOCAwLTE0Ny04OC44LTE0Ny0xNDAuNnYtMTQ0SDE3LjljLTUuNSAwLTEwLTQuNS0xMC0xMHYtNjhjMC03LjIgNC41LTEzLjYgMTEuMy0xNiA2Mi0yMS44IDgxLjUtNzYgODQuMy0xMTcuMS44LTExIDYuNS0xNi4zIDE2LjEtMTYuM2g3MC45YzUuNSAwIDEwIDQuNSAxMCAxMHYxMTUuMmg4M2M1LjUgMCAxMCA0LjQgMTAgOS45djgxLjdjMCA1LjUtNC41IDEwLTEwIDEwaC04My40VjM2MGMwIDM0LjIgMjMuNyA1My42IDY4IDM1LjggNC44LTEuOSA5LTMuMiAxMi43LTIuMiAzLjUuOSA1LjggMy40IDcuNCA3LjlsMjIgNjQuM2MxLjggNSAzLjMgMTAuNi0uNCAxNC41eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ2xpbmtlZEluJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z2xpIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48dGl0bGU+TGlua2VkSW48L3RpdGxlPjxwYXRoIGQ9Ik0xMDAuMyA0ODBINy40VjE4MC45aDkyLjlWNDgwek01My44IDE0MC4xQzI0LjEgMTQwLjEgMCAxMTUuNSAwIDg1LjggMCA1Ni4xIDI0LjEgMzIgNTMuOCAzMmMyOS43IDAgNTMuOCAyNC4xIDUzLjggNTMuOCAwIDI5LjctMjQuMSA1NC4zLTUzLjggNTQuM3pNNDQ4IDQ4MGgtOTIuN1YzMzQuNGMwLTM0LjctLjctNzkuMi00OC4zLTc5LjItNDguMyAwLTU1LjcgMzcuNy01NS43IDc2LjdWNDgwaC05Mi44VjE4MC45aDg5LjF2NDAuOGgxLjNjMTIuNC0yMy41IDQyLjctNDguMyA4Ny45LTQ4LjMgOTQgMCAxMTEuMyA2MS45IDExMS4zIDE0Mi4zVjQ4MHoiLz48L3N2Zz4nOw0KICAgICAgICBjYXNlICd0d2l0dGVyJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3R3IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHRpdGxlPlR3aXR0ZXI8L3RpdGxlPjxwYXRoIGQ9Ik0xMi42Ljc1aDIuNDU0bC01LjM2IDYuMTQyTDE2IDE1LjI1aC00LjkzN2wtMy44NjctNS4wNy00LjQyNSA1LjA3SC4zMTZsNS43MzMtNi41N0wwIC43NWg1LjA2M2wzLjQ5NSA0LjYzM0wxMi42MDEuNzVabS0uODYgMTMuMDI4aDEuMzZMNC4zMjMgMi4xNDVIMi44NjV6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAncmVkZGl0JzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3JlZCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PHRpdGxlPlJlZGRpdDwvdGl0bGU+PHBhdGggZD0iTTQ0MC4zIDIwMy41Yy0xNSAwLTI4LjIgNi4yLTM3LjkgMTUuOS0zNS43LTI0LjctODMuOC00MC42LTEzNy4xLTQyLjNMMjkzIDUyLjNsODguMiAxOS44YzAgMjEuNiAxNy42IDM5LjIgMzkuMiAzOS4yIDIyIDAgMzkuNy0xOC4xIDM5LjctMzkuN3MtMTcuNi0zOS43LTM5LjctMzkuN2MtMTUuNCAwLTI4LjcgOS4zLTM1LjMgMjJsLTk3LjQtMjEuNmMtNC45LTEuMy05LjcgMi4yLTExIDcuMUwyNDYuMyAxNzdjLTUyLjkgMi4yLTEwMC41IDE4LjEtMTM2LjMgNDIuOC05LjctMTAuMS0yMy40LTE2LjMtMzguNC0xNi4zLTU1LjYgMC03My44IDc0LjYtMjIuOSAxMDAuMS0xLjggNy45LTIuNiAxNi4zLTIuNiAyNC43IDAgODMuOCA5NC40IDE1MS43IDIxMC4zIDE1MS43IDExNi40IDAgMjEwLjgtNjcuOSAyMTAuOC0xNTEuNyAwLTguNC0uOS0xNy4yLTMuMS0yNS4xIDQ5LjktMjUuNiAzMS41LTk5LjctMjMuOC05OS43ek0xMjkuNCAzMDguOWMwLTIyIDE3LjYtMzkuNyAzOS43LTM5LjcgMjEuNiAwIDM5LjIgMTcuNiAzOS4yIDM5LjcgMCAyMS42LTE3LjYgMzkuMi0zOS4yIDM5LjItMjIgLjEtMzkuNy0xNy42LTM5LjctMzkuMnptMjE0LjMgOTMuNWMtMzYuNCAzNi40LTEzOS4xIDM2LjQtMTc1LjUgMC00LTMuNS00LTkuNyAwLTEzLjcgMy41LTMuNSA5LjctMy41IDEzLjIgMCAyNy44IDI4LjUgMTIwIDI5IDE0OSAwIDMuNS0zLjUgOS43LTMuNSAxMy4yIDAgNC4xIDQgNC4xIDEwLjIuMSAxMy43em0tLjgtNTQuMmMtMjEuNiAwLTM5LjItMTcuNi0zOS4yLTM5LjIgMC0yMiAxNy42LTM5LjcgMzkuMi0zOS43IDIyIDAgMzkuNyAxNy42IDM5LjcgMzkuNy0uMSAyMS41LTE3LjcgMzkuMi0zOS43IDM5LjJ6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAncGludGVyZXN0JzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0iaWNvbnN2Z3BpbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzg0IDUxMiI+PHRpdGxlPlBpbnRlcmVzdDwvdGl0bGU+PHBhdGggZD0iTTIwNCA2LjVDMTAxLjQgNi41IDAgNzQuOSAwIDE4NS42IDAgMjU2IDM5LjYgMjk2IDYzLjYgMjk2YzkuOSAwIDE1LjYtMjcuNiAxNS42LTM1LjQgMC05LjMtMjMuNy0yOS4xLTIzLjctNjcuOCAwLTgwLjQgNjEuMi0xMzcuNCAxNDAuNC0xMzcuNCA2OC4xIDAgMTE4LjUgMzguNyAxMTguNSAxMDkuOCAwIDUzLjEtMjEuMyAxNTIuNy05MC4zIDE1Mi43LTI0LjkgMC00Ni4yLTE4LTQ2LjItNDMuOCAwLTM3LjggMjYuNC03NC40IDI2LjQtMTEzLjQgMC02Ni4yLTkzLjktNTQuMi05My45IDI1LjggMCAxNi44IDIuMSAzNS40IDkuNiA1MC43LTEzLjggNTkuNC00MiAxNDcuOS00MiAyMDkuMSAwIDE4LjkgMi43IDM3LjUgNC41IDU2LjQgMy40IDMuOCAxLjcgMy40IDYuOSAxLjUgNTAuNC02OSA0OC42LTgyLjUgNzEuNC0xNzIuOCAxMi4zIDIzLjQgNDQuMSAzNiA2OS4zIDM2IDEwNi4yIDAgMTUzLjktMTAzLjUgMTUzLjktMTk2LjhDMzg0IDcxLjMgMjk4LjIgNi41IDIwNCA2LjV6Ii8+PC9zdmc+JzsNCiAgICAgICAgY2FzZSAnc2hhcmUnOg0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJzaGFyZS1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNTM2IDE3OTIiPjx0aXRsZT5TaGFyZTwvdGl0bGU+PHBhdGggZD0iTTEyMTYgMTAyNHExMzMgMCAyMjYuNSA5My41dDkzLjUgMjI2LjUtOTMuNSAyMjYuNS0yMjYuNSA5My41LTIyNi41LTkzLjUtOTMuNS0yMjYuNXEwLTEyIDItMzRsLTM2MC0xODBxLTkyIDg2LTIxOCA4Ni0xMzMgMC0yMjYuNS05My41dC05My41LTIyNi41IDkzLjUtMjI2LjUgMjI2LjUtOTMuNXExMjYgMCAyMTggODZsMzYwLTE4MHEtMi0yMi0yLTM0IDAtMTMzIDkzLjUtMjI2LjV0MjI2LjUtOTMuNSAyMjYuNSA5My41IDkzLjUgMjI2LjUtOTMuNSAyMjYuNS0yMjYuNSA5My41cS0xMjYgMC0yMTgtODZsLTM2MCAxODBxMiAyMiAyIDM0dC0yIDM0bDM2MCAxODBxOTItODYgMjE4LTg2eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ3Ntcyc6DQogICAgICAgICAgICByZXR1cm4gJzxzdmcgY2xhc3M9InNtcy1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48dGl0bGU+U01TIFRleHQ8L3RpdGxlPjxwYXRoIGQ9Ik00NDggMEg2NEMyOC43IDAgMCAyOC43IDAgNjR2Mjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0aDk2djg0YzAgOS44IDExLjIgMTUuNSAxOS4xIDkuN0wzMDQgNDE2aDE0NGMzNS4zIDAgNjQtMjguNyA2NC02NFY2NGMwLTM1LjMtMjguNy02NC02NC02NHoiLz48L3N2Zz4nOw0KICAgICAgICBjYXNlICdsaW5rJzoNCiAgICAgICAgICAgIHJldHVybiAnPHN2ZyBjbGFzcz0ibGluay1pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48cGF0aCBkPSJNMzI2LjYxMiAxODUuMzkxYzU5Ljc0NyA1OS44MDkgNTguOTI3IDE1NS42OTguMzYgMjE0LjU5LS4xMS4xMi0uMjQuMjUtLjM2LjM3bC02Ny4yIDY3LjJjLTU5LjI3IDU5LjI3LTE1NS42OTkgNTkuMjYyLTIxNC45NiAwLTU5LjI3LTU5LjI2LTU5LjI3LTE1NS43IDAtMjE0Ljk2bDM3LjEwNi0zNy4xMDZjOS44NC05Ljg0IDI2Ljc4Ni0zLjMgMjcuMjk0IDEwLjYwNi42NDggMTcuNzIyIDMuODI2IDM1LjUyNyA5LjY5IDUyLjcyMSAxLjk4NiA1LjgyMi41NjcgMTIuMjYyLTMuNzgzIDE2LjYxMmwtMTMuMDg3IDEzLjA4N2MtMjguMDI2IDI4LjAyNi0yOC45MDUgNzMuNjYtMS4xNTUgMTAxLjk2IDI4LjAyNCAyOC41NzkgNzQuMDg2IDI4Ljc0OSAxMDIuMzI1LjUxbDY3LjItNjcuMTljMjguMTkxLTI4LjE5MSAyOC4wNzMtNzMuNzU3IDAtMTAxLjgzLTMuNzAxLTMuNjk0LTcuNDI5LTYuNTY0LTEwLjM0MS04LjU2OWExNi4wMzcgMTYuMDM3IDAgMCAxLTYuOTQ3LTEyLjYwNmMtLjM5Ni0xMC41NjcgMy4zNDgtMjEuNDU2IDExLjY5OC0yOS44MDZsMjEuMDU0LTIxLjA1NWM1LjUyMS01LjUyMSAxNC4xODItNi4xOTkgMjAuNTg0LTEuNzMxYTE1Mi40ODIgMTUyLjQ4MiAwIDAgMSAyMC41MjIgMTcuMTk3ek00NjcuNTQ3IDQ0LjQ0OWMtNTkuMjYxLTU5LjI2Mi0xNTUuNjktNTkuMjctMjE0Ljk2IDBsLTY3LjIgNjcuMmMtLjEyLjEyLS4yNS4yNS0uMzYuMzctNTguNTY2IDU4Ljg5Mi01OS4zODcgMTU0Ljc4MS4zNiAyMTQuNTlhMTUyLjQ1NCAxNTIuNDU0IDAgMCAwIDIwLjUyMSAxNy4xOTZjNi40MDIgNC40NjggMTUuMDY0IDMuNzg5IDIwLjU4NC0xLjczMWwyMS4wNTQtMjEuMDU1YzguMzUtOC4zNSAxMi4wOTQtMTkuMjM5IDExLjY5OC0yOS44MDZhMTYuMDM3IDE2LjAzNyAwIDAgMC02Ljk0Ny0xMi42MDZjLTIuOTEyLTIuMDA1LTYuNjQtNC44NzUtMTAuMzQxLTguNTY5LTI4LjA3My0yOC4wNzMtMjguMTkxLTczLjYzOSAwLTEwMS44M2w2Ny4yLTY3LjE5YzI4LjIzOS0yOC4yMzkgNzQuMy0yOC4wNjkgMTAyLjMyNS41MSAyNy43NSAyOC4zIDI2Ljg3MiA3My45MzQtMS4xNTUgMTAxLjk2bC0xMy4wODcgMTMuMDg3Yy00LjM1IDQuMzUtNS43NjkgMTAuNzktMy43ODMgMTYuNjEyIDUuODY0IDE3LjE5NCA5LjA0MiAzNC45OTkgOS42OSA1Mi43MjEuNTA5IDEzLjkwNiAxNy40NTQgMjAuNDQ2IDI3LjI5NCAxMC42MDZsMzcuMTA2LTM3LjEwNmM1OS4yNzEtNTkuMjU5IDU5LjI3MS0xNTUuNjk5LjAwMS0yMTQuOTU5eiIvPjwvc3ZnPic7DQogICAgICAgIGNhc2UgJ2NoYXQnOg0KICAgICAgICAgICAgLy8gcmV0dXJuICc8c3ZnIGNsYXNzPSJjaGF0LWljb24iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDUxMiA1MTIiPjx0aXRsZT5FbWFpbDwvdGl0bGU+PHBhdGggZD0iTTQ2NCA2NEg0OEMyMS40OSA2NCAwIDg1LjQ5IDAgMTEydjI4OGMwIDI2LjUxIDIxLjQ5IDQ4IDQ4IDQ4aDQxNmMyNi41MSAwIDQ4LTIxLjQ5IDQ4LTQ4VjExMmMwLTI2LjUxLTIxLjQ5LTQ4LTQ4LTQ4em0wIDQ4djQwLjgwNWMtMjIuNDIyIDE4LjI1OS01OC4xNjggNDYuNjUxLTEzNC41ODcgMTA2LjQ5LTE2Ljg0MSAxMy4yNDctNTAuMjAxIDQ1LjA3Mi03My40MTMgNDQuNzAxLTIzLjIwOC4zNzUtNTYuNTc5LTMxLjQ1OS03My40MTMtNDQuNzAxQzEwNi4xOCAxOTkuNDY1IDcwLjQyNSAxNzEuMDY3IDQ4IDE1Mi44MDVWMTEyaDQxNnpNNDggNDAwVjIxNC4zOThjMjIuOTE0IDE4LjI1MSA1NS40MDkgNDMuODYyIDEwNC45MzggODIuNjQ2IDIxLjg1NyAxNy4yMDUgNjAuMTM0IDU1LjE4NiAxMDMuMDYyIDU0Ljk1NSA0Mi43MTcuMjMxIDgwLjUwOS0zNy4xOTkgMTAzLjA1My01NC45NDcgNDkuNTI4LTM4Ljc4MyA4Mi4wMzItNjQuNDAxIDEwNC45NDctODIuNjUzVjQwMEg0OHoiLz48L3N2Zz4nOw0KICAgICAgICAgICAgcmV0dXJuICc8c3ZnIGNsYXNzPSJjaGF0LWljb24iIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnPjxwYXRoIGQ9Im00NjAuNzQ3IDQzOS4xNjNjODkuMTE5LTEwMi43OTEgNTguMTExLTI2Mi41OTItNjMuMDk0LTMyNC45My0zNS4wMDQtNjcuNzg0LTEwNS43NTQtMTE0LjIzMy0xODcuMTUzLTExNC4yMzMtMTE2LjA2NCAwLTIxMC40ODggOTQuNDMtMjEwLjQ4OCAyMTAuNSAwIDUxLjA5OSAxOC4wODggOTkuNDI3IDUxLjIzNyAxMzcuNjYzbC00Ni43NzQgNDYuMTZjLTkuNDggOS4zNTctMi45MTMgMjUuNjEyIDEwLjQ2NSAyNS42NzdsMTEyLjk1Ni41MzhjMzguOTI1IDU2LjY0MSAxMDMuMjI4IDkxLjQ2MiAxNzMuNiA5MS40NjIuMTQ0IDAgMTk1LjQ0Ni0uOTk5IDE5NS41NjEtMSAxMy4zMzMtLjA2NCAxOS45NzUtMTYuMjkgMTAuNDY0LTI1LjY3N3ptLTM3Ny45ODUtMTAxLjE0NmMtMzQuMDE3LTM0LjA4LTUyLjc1Mi03OS4zNjctNTIuNzUyLTEyNy41MTcgMC05OS41MjggODAuOTY4LTE4MC41IDE4MC40OS0xODAuNXMxODAuNDkgODAuOTcyIDE4MC40OSAxODAuNWMwIDk1LjM3My03NS40NzMgMTgxLjI2OS0xODYuMzQzIDE4MC40MDNsLTE1My4yNTgtLjczIDMxLjI5My0zMC44ODJjNS45MTgtNS44NDIgNS45NTMtMTUuMzg5LjA4LTIxLjI3NHptMjE4LjczNCAxNDMuOTgzYy01Mi42MzQgMC0xMDEuNTU3LTIyLjQ4OS0xMzUuNTY1LTYxLjI4MSA1Ny4xMDQuMzc2IDQxLjk0NS4yODEgNDQuNTY5LjI4MSAxMzUuNDAyIDAgMjM2LjUwNi0xMjcuMDA5IDIwNC42ODktMjU5LjYxNyA4Mi45NjYgNjcuNzc0IDg5Ljc2MSAxOTEuNzc5IDE0LjA0NSAyNjcuNjM0LTUuODc0IDUuODg1LTUuODM4IDE1LjQzMy4wOCAyMS4yNzRsMzEuMjkzIDMwLjg4MmMtLjExOSAwLTE1OC45OTUuODI3LTE1OS4xMTEuODI3eiIvPjxwYXRoIGQ9Im0xMjEuMDA1IDE2NmgxNzkuOTljOC4yODQgMCAxNC45OTktNi43MTYgMTQuOTk5LTE1cy02LjcxNS0xNS0xNC45OTktMTVoLTE3OS45OWMtOC4yODQgMC0xNC45OTkgNi43MTYtMTQuOTk5IDE1czYuNzE2IDE1IDE0Ljk5OSAxNXoiLz48cGF0aCBkPSJtMTIxLjAwNSAyMjZoMTc5Ljk5YzguMjg0IDAgMTQuOTk5LTYuNzE2IDE0Ljk5OS0xNXMtNi43MTUtMTUtMTQuOTk5LTE1aC0xNzkuOTljLTguMjg0IDAtMTQuOTk5IDYuNzE2LTE0Ljk5OSAxNXM2LjcxNiAxNSAxNC45OTkgMTV6Ii8+PHBhdGggZD0ibTEyMS4wMDUgMjg2aDE3OS45OWM4LjI4NCAwIDE0Ljk5OS02LjcxNiAxNC45OTktMTVzLTYuNzE1LTE1LTE0Ljk5OS0xNWgtMTc5Ljk5Yy04LjI4NCAwLTE0Ljk5OSA2LjcxNi0xNC45OTkgMTVzNi43MTYgMTUgMTQuOTk5IDE1eiIvPjwvZz48L3N2Zz4nOw0KICAgICAgICBkZWZhdWx0OiANCiAgICAgICAgICAgIHJldHVybiAnJzsNCiAgICB9DQp9DQo=","css":"#main-container.open > svg {\n fill: #333333 !important;\n}\n\n#main-container {\n display: inline-block;\n margin: 0 auto;\n}\n\n.master-bar > #main-container {\n margin: 0;\n width: 40px;\n max-height: 60px;\n}\n\n#close-bar {\n width: 42.666px;\n z-index: 10000006;\n position: absolute;\n bottom: 0.5em;\n right: 0.5em;\n}\n\n#close-bar svg {\n fill: #fff !important;\n}\n\n.share-container .iconsvgshareemail {\n padding: 0 !important;\n margin: 0 auto !important;\n display: block;\n width: 60%;\n}\n\n.fab {\n background: #fff;\n width: 64px;\n height: 64px;\n border-radius: 50%;\n text-align: center;\n color: #333333;\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5), 3px 3px 3px rgba(0, 0, 0, 0.25);\n position: fixed;\n bottom: 0px;\n right: 0px;\n font-size: 2.6667em;\n display: inline-block;\n cursor: default;\n}\n\n.fab.master-mobile, .child.mobile {\n bottom: 15px;\n right: 15px;\n}\n\n.fab.bsr-left {\n bottom: 15px !important;\n left: 15px !important;\n}\n\n.fab, .social-icon span {\n vertical-align: middle;\n}\n\n.fab.child {\n width: 42.66666667px;\n height: 42.66666667px;\n display: none;\n opacity: 0;\n font-size: 2em;\n background-color: #ffffff;\n z-index: 10000007;\n margin: 0 10px;\n /* Aligns icon in center */\n display: flex;\n align-items: center;\n}\n\n.fab.child.child-desktop-bar {\n position: absolute;\n left: 10px;\n background-color: black;\n background-color: rgba(0, 0, 0, 0);\n border: 2px solid #cccccc;\n box-shadow: none;\n display: none;\n}\n\n.fab.child.dark {\n background-color: #fff;\n}\n\n.fab.child.float {\n border-radius: 0px;\n background-color: #fff;\n box-shadow: none;\n margin: auto;\n position: relative;\n opacity: 1;\n min-width: 42.666px;\n top: 0;\n}\n\n.social-icon {\n width: 42.66666667px;\n height: 42.66666667px;\n font-size: 2em;\n z-index: 10000007;\n margin: 10px auto;\n display: flex;\n align-items: center;\n border-radius: 50%;\n}\n\n.social {\n width: inherit;\n height: inherit;\n}\n\n.social-icon svg {\n width: inherit;\n height: inherit;\n padding: 8px;\n fill: white;\n}\n\n.social-icon.light svg {\n fill: white;\n}\n\n.social-icon.dark svg {\n fill: black;\n}\n\n.overlay {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #ECECEC;\n opacity: 0.9;\n display: none;\n z-index: 10000001;\n}\n\n.overlay.dark {\n background: #000;\n opacity: 0.6;\n}\n\n.icon-container svg {\n fill: #CCCCCC;\n margin: 0 auto;\n display: block;\n width: 50%;\n height: 100%;\n}\n\n.icon-container.mobile.dark svg {\n fill: #000;\n}\n\n.mobile-bg, .social-bg {\n position: fixed;\n width: 100%;\n bottom: 0px;\n left: 0px;\n z-index: 10000002;\n display: none;\n}\n\n.social-bg {\n z-index: 10000005;\n}\n\n.mobile-bg.dark, .social-bg.dark {\n background: #000;\n}\n\n.mobile-bg.light, .social-bg.light {\n background: #fff;\n}\n\n.desktop-bg {\n position: absolute;\n min-width: 200px;\n bottom: 0px;\n left: 0px;\n z-index: 10000004;\n display: none;\n background: #ffffff;\n border-bottom: 6px solid #333333;\n box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5), 3px 3px 3px rgba(0, 0, 0, 0.25);\n}\n\n.left-text {\n text-align: right;\n position: absolute;\n right: 4rem;\n width: 300px;\n top: 49%;\n transform: translateY(-49%);\n}\n\n.bsr-right-text {\n text-align: left;\n position: absolute;\n left: 4rem;\n width: 300px;\n top: 49%;\n transform: translateY(-49%);\n}\n\n.menu-link {\n text-decoration: none;\n align-self: center;\n}\n\n.menu-link.dark {\n color: white;\n}\n\n.menu-link.light {\n color: black;\n}\n\n.menu-link.desk-bar {\n color: #333333;\n font-size: 24px;\n}\n\n.right-text {\n position: absolute;\n text-align: left;\n font-size: 20px;\n width: 200px;\n left: 50px;\n top: 50%;\n transform: translateY(-50%);\n}\n\n#float-container {\n position: fixed;\n right: 0px;\n top: 50%;\n transform: translateY(-50%);\n white-space: nowrap;\n z-index: 10000005;\n}\n\n.float-container {\n display: flex;\n height: 42.666px;\n max-width: 42.666px;\n background-color: white;\n margin-left: auto;\n margin-right: 0;\n float: right;\n clear: right;\n}\n\n.float-text-container {\n display: none;\n opacity: 1 !important;\n max-width: 100%;\n}\n\n.float-text {\n font-size: 20px;\n color: #333333;\n padding-left: 0.5em;\n padding-right: 44px;\n display: none;\n}\n\n.master-bar {\n border-radius: 0px;\n height: 50px;\n bottom: 0px;\n right: 50px;\n width: 200px;\n padding: 0 0.5em;\n}\n\n#help-text {\n display: none;\n position: absolute;\n margin: 20px;\n color: #333333;\n font-size: 24px;\n text-align: left;\n}\n\n#master-label {\n font-size: 16px;\n}\n\n#masterfab {\n z-index: 10000006;\n display: none;\n align-items: center;\n}\n\n#masterfab svg {\n fill: #cccccc;\n margin: 0 auto;\n display: block;\n width: 60%;\n max-width: 70px;\n max-height: 50px;\n}\n\n/* Pulse animation */\n.pulse {\n border: 3px solid #cccccc;\n -webkit-border-radius: 50px;\n height: 100px;\n width: 100px;\n position: absolute;\n /* trick to center, left margin half of width */\n margin: 0 0 0 -50px;\n left: 50%;\n -webkit-animation: pulsate 1s ease-out;\n -moz-animation: pulsate 1s ease-out;\n -o-animation: pulsate 1s ease-out;\n animation: pulsate 1s ease-out;\n opacity: 0;\n}\n\n@-webkit-keyframes pulsate {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n@-moz-keyframes pulsate {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n@-o-keyframes pulsate {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n@keyframes pulsate {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n.pulse2 {\n border: 3px solid #cccccc;\n -webkit-border-radius: 40px;\n height: 80px;\n width: 80px;\n position: absolute;\n /* trick to center, left margin half of width */\n margin: 0 0 0 -40px;\n left: 50%;\n -webkit-animation: pulsate2 1s ease-out;\n -moz-animation: pulsate2 1s ease-out;\n -o-animation: pulsate2 1s ease-out;\n animation: pulsate2 1s ease-out;\n opacity: 0;\n}\n\n@-webkit-keyframes pulsate2 {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n@-moz-keyframes pulsate2 {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n@-o-keyframes pulsate2 {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n@keyframes pulsate2 {\n 0% {\n -webkit-transform: scale(0.8, 0.8);\n opacity: 0;\n }\n 50% {\n opacity: 1;\n }\n 100% {\n -webkit-transform: scale(1.4, 1.4);\n opacity: 0;\n }\n}\n.slide-pulse {\n -webkit-animation: slide 1s ease;\n -moz-animation: slide 1s ease;\n -o-animation: slide 1s ease;\n animation: slide 1s ease;\n}\n\n@-webkit-keyframes slide {\n 0% {\n max-width: 42.6667px;\n width: 42.667px;\n }\n 50% {\n max-width: 50px;\n width: 50px;\n }\n 100% {\n max-width: 50px;\n width: 42.667px;\n }\n}\n@-moz-keyframes slide {\n 0% {\n max-width: 42.6667px;\n width: 42.667px;\n }\n 50% {\n max-width: 50px;\n width: 50px;\n }\n 100% {\n max-width: 50px;\n width: 42.667px;\n }\n}\n@-o-keyframes slide {\n 0% {\n max-width: 42.6667px;\n width: 42.667px;\n }\n 50% {\n max-width: 50px;\n width: 50px;\n }\n 100% {\n max-width: 50px;\n width: 42.667px;\n }\n}\n@keyframes slide {\n 0% {\n max-width: 42.6667px;\n width: 42.667px;\n }\n 50% {\n max-width: 50px;\n width: 50px;\n }\n 100% {\n max-width: 50px;\n width: 42.667px;\n }\n}\n/* Modal Styles */\n.modal__overlay {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n height: 100%;\n width: 100%;\n}\n\n.modal__container {\n background-color: #fff;\n padding: 30px;\n max-width: 500px;\n min-width: 200px;\n max-height: 100vh;\n border-radius: 4px;\n overflow-y: auto;\n box-sizing: border-box;\n}\n\n.modal__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.modal__title {\n margin: 0 auto;\n color: black;\n font-weight: 600;\n font-size: 1.25rem;\n line-height: 1.25;\n box-sizing: border-box;\n}\n\n.modal__close {\n background: transparent;\n border: 0;\n position: absolute;\n top: 14px;\n right: 14px;\n}\n\n.modal__close, .modal__close svg {\n width: 20px;\n height: 20px;\n outline: none !important;\n}\n\n.modal__close svg {\n position: absolute;\n left: 0px;\n top: 0px;\n}\n\n.modal__content {\n margin-top: 2rem;\n margin-bottom: 2rem;\n line-height: 1.5;\n color: rgba(0, 0, 0, 0.8);\n}\n\n.modal__btn {\n font-size: 0.875rem;\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n background-color: #e6e6e6;\n color: rgba(0, 0, 0, 0.8);\n border-radius: 0.25rem;\n border-style: none;\n border-width: 0;\n cursor: pointer;\n -webkit-appearance: button;\n text-transform: none;\n overflow: visible;\n line-height: 1.15;\n margin: 0;\n will-change: transform;\n -moz-osx-font-smoothing: grayscale;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform: translateZ(0);\n transform: translateZ(0);\n transition: -webkit-transform 0.25s ease-out;\n transition: transform 0.25s ease-out;\n transition: transform 0.25s ease-out, -webkit-transform 0.25s ease-out;\n}\n\n.modal__btn:focus, .modal__btn:hover {\n -webkit-transform: scale(1.05);\n transform: scale(1.05);\n}\n\n.modal__btn-primary {\n background-color: #00449e;\n color: #fff;\n}\n\n/* Modal animation */\n@keyframes mmfadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes mmfadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n@keyframes mmslideIn {\n from {\n transform: translateY(15%);\n }\n to {\n transform: translateY(0);\n }\n}\n@keyframes mmslideOut {\n from {\n transform: translateY(0);\n }\n to {\n transform: translateY(-10%);\n }\n}\n.micromodal-slide {\n display: none;\n}\n\n.micromodal-slide.is-open {\n display: block;\n}\n\n.micromodal-slide[aria-hidden=false] .modal__overlay {\n animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.micromodal-slide[aria-hidden=false] .modal__container {\n animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.micromodal-slide[aria-hidden=true] .modal__overlay {\n animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.micromodal-slide[aria-hidden=true] .modal__container {\n animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);\n}\n\n.micromodal-slide .modal__container,\n.micromodal-slide .modal__overlay {\n will-change: transform;\n}\n\n.micromodal-slide.is-open {\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n z-index: 999;\n}\n","strings":{}}],"page_title":"Build your own","flexstyles":[],"popups":[{"title":"Hibu Video Splash","url":"/hibu-video-splash","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"574.0152499999999","overlayColor":"rgba(0, 0, 0, 0.5)","height":"538.82825","animation":"fadeIn"},"name":"hibu-video-splash"},{"title":"Call or Text Pop","url":"/call-or-text-pop","options":{"backgroundColor":"#FFFFFF","borderRadius":"5","width":"357","overlayColor":"rgba(0, 0, 0, 0.5)","height":"396","animation":"fadeIn"},"name":"call-or-text-pop"}],"title":"Build your own","uuid":"b1541770cabf4ad2bf493a08a81dc0f3","devicecss":"*#dm *.dmBody div.u_dm_content\n{\n\tpadding-top:20px !important;\n\tpadding-bottom:20px !important;\n\tpadding-left:20px !important;\n\tpadding-right:20px !important;\n}\n*#dm *.dmBody div.u_1594819959\n{\n\tmargin-left:0 !important;\n\tpadding-top:0 !important;\n\tpadding-left:0 !important;\n\tpadding-bottom:0 !important;\n\tmargin-top:0 !important;\n\tmargin-bottom:0 !important;\n\tmargin-right:0 !important;\n\tpadding-right:0 !important;\n}\n*#dm *.dmBody div.u_1694205906\n{\n\tpadding-top:30px !important;\n\tpadding-left:0px !important;\n\tpadding-bottom:30px !important;\n\tfloat:none !important;\n\tmargin-right:0px !important;\n\tmargin-left:0px !important;\n\ttop:auto !important;\n\tmax-width:none !important;\n\tleft:0 !important;\n\twidth:auto !important;\n\tmargin-top:0px !important;\n\tposition:relative !important;\n\tmargin-bottom:0px !important;\n\tpadding-right:0px !important;\n\tmin-width:0 !important;\n\ttext-align:center !important;\n\theight:auto !important;\n}\n*#dm *.dmBody div.allWrapper .dmPopupInner\n{\n\tmargin-left:0px !important;\n\tpadding-top:50px !important;\n\tpadding-left:20px !important;\n\tpadding-bottom:40px !important;\n\tmargin-top:0px !important;\n\tmargin-bottom:0px !important;\n\tmargin-right:0px !important;\n\tpadding-right:20px !important;\n}\n*#dm *.dmBody div.u_1699018429\n{\n\tfloat:none !important;\n\ttop:0px !important;\n\tleft:0 !important;\n\twidth:calc(100% - 0px) !important;\n\tposition:relative !important;\n\theight:auto !important;\n\tpadding-top:2px !important;\n\tpadding-left:0px !important;\n\tpadding-bottom:2px !important;\n\tmargin-right:auto !important;\n\tmargin-left:auto !important;\n\tmax-width:100% !important;\n\tmargin-top:22px !important;\n\tmargin-bottom:8px !important;\n\tpadding-right:0px !important;\n\tmin-width:25px !important;\n}\n*#dm *.dmBody div.u_1784629093\n{\n\tfloat:none !important;\n\ttop:0px !important;\n\tleft:0 !important;\n\twidth:calc(100% - 83px) !important;\n\tposition:relative !important;\n\theight:203px !important;\n\tpadding-top:0px !important;\n\tpadding-left:0px !important;\n\tpadding-bottom:0px !important;\n\tmin-height:auto !important;\n\tmargin-right:auto !important;\n\tmargin-left:auto !important;\n\tmax-width:401.2px !important;\n\tmargin-top:0px !important;\n\tmargin-bottom:0px !important;\n\tpadding-right:0px !important;\n\tmin-width:25px !important;\n\ttext-align:center !important;\n}\n","seometatags":"","content":"
\n
\n
\n
\n
\n
\n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
  • \n

    Slide title

    \n
    Write your caption here
    \n
    \n
    \n \n Button \n
    \n
    \n
  • \n
\n
\n
\n

🎉Get Exclusive Discounts!🎉

Enter your email below to receive special promo codes, sales alerts, and exclusive offers straight to your inbox!


\n
\n

Contact Us

\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
Thank you for contacting us.
We will get back to you as soon as possible.
\n
Oops, there was an error sending your message.
Please try again later.
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n","ssr_script":"","headsection":"\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","current_url":"","collections":"e30=","sidebarPosition":"NA","pageFontSizeStyle":"","alias":"build-your-own","relAlternateLanguageLinksMarkup":"","extensionsToRender":{"1648133620":"
\n","1448178944":"
\n","1648910732":" \n","1485704525":" \n","1473458467":" \n","1378986738":" \n"},"parameters":{"InitialPageAlias":"build-your-own","InitialDynamicItem":null,"IsCurrentHomePage":false,"pageType":"POPUP","CurrentPageUrl":""},"insite_scripts":""}