react-js-banner 0.6.0-beta3 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.babelrc CHANGED
@@ -1,13 +1,10 @@
1
1
  {
2
-
3
- "presets":[
4
- "@babel/preset-env",
5
- [
6
- "@babel/preset-react",
7
- {
8
- "runtime": "automatic"
9
- }
10
- ]
2
+ "presets": [
3
+ "@babel/preset-env",
4
+ "@babel/preset-react",
5
+ ],
6
+ "plugins": [
7
+ "@babel/plugin-transform-object-rest-spread",
8
+ "@babel/plugin-transform-react-jsx",
11
9
  ]
12
-
13
10
  }
package/README.md CHANGED
@@ -109,10 +109,23 @@ Props available:
109
109
  | transitionTime | number | N| time for the transition to take |
110
110
  | showBanner | bool | N| force the banner to show or hide, this will override the `visibleTime` variable |
111
111
 
112
+ # Donations
112
113
 
114
+ If you think that any information you obtained here is useful and worth of some money and are willing to pay for it, feel free to send any amount through Paypal :)
115
+
116
+
117
+ [![](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2MSMEVFF9P33N)
118
+
119
+ You can also follow me on Patreon:
120
+
121
+ https://patreon.com/Jacware?utm_medium=unknown&utm_source=join_link&utm_campaign=creatorshare_creator&utm_content=copyLink
113
122
 
114
123
  # Changelog
115
124
 
125
+ ### v0.6.0
126
+ * Bug fixes
127
+ * Dependencies updated
128
+
116
129
  ### v0.5.2
117
130
  * Removed polyfill as dependency
118
131
 
package/build/index.js CHANGED
@@ -1,3 +1,2 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- (()=>{var e={545:(e,t,r)=>{"use strict";r.d(t,{Z:()=>u});var n=r(15),o=r.n(n),i=r(645),a=r.n(i)()(o());a.push([e.id,".banner{\r\n background-color: orange;\r\n text-align: center;\r\n padding: 10px 10px;\r\n font-size: 16px;\r\n font-weight: bold;\r\n display: flex;\r\n margin-bottom: 10px;\r\n text-align: center;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.banner-transition-appear {\r\n opacity: 0.01;\r\n}\r\n\r\n.banner-transition-appear.banner-transition-appear-active {\r\n opacity: 1;\r\n transition: opacity 2s ease;\r\n}\r\n\r\n.banner-transition-leave {\r\n opacity: 1;\r\n}\r\n\r\n.banner-transition-leave.banner-transition-leave-active {\r\n opacity: 0.01;\r\n transition: opacity 2s ease;\r\n}\r\n","",{version:3,sources:["webpack://./src/banner.css"],names:[],mappings:"AAAA;EACE,wBAAwB;EACxB,kBAAkB;EAClB,kBAAkB;EAClB,eAAe;EACf,iBAAiB;EACjB,aAAa;EACb,mBAAmB;EACnB,kBAAkB;EAClB,mBAAmB;EACnB,uBAAuB;AACzB;;AAEA;EACE,aAAa;AACf;;AAEA;EACE,UAAU;EACV,2BAA2B;AAC7B;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,aAAa;EACb,2BAA2B;AAC7B",sourcesContent:[".banner{\r\n background-color: orange;\r\n text-align: center;\r\n padding: 10px 10px;\r\n font-size: 16px;\r\n font-weight: bold;\r\n display: flex;\r\n margin-bottom: 10px;\r\n text-align: center;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n\r\n.banner-transition-appear {\r\n opacity: 0.01;\r\n}\r\n\r\n.banner-transition-appear.banner-transition-appear-active {\r\n opacity: 1;\r\n transition: opacity 2s ease;\r\n}\r\n\r\n.banner-transition-leave {\r\n opacity: 1;\r\n}\r\n\r\n.banner-transition-leave.banner-transition-leave-active {\r\n opacity: 0.01;\r\n transition: opacity 2s ease;\r\n}\r\n"],sourceRoot:""}]);const u=a},645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=e(t);return t[2]?"@media ".concat(t[2]," {").concat(r,"}"):r})).join("")},t.i=function(e,r,n){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(n)for(var i=0;i<this.length;i++){var a=this[i][0];null!=a&&(o[a]=!0)}for(var u=0;u<e.length;u++){var c=[].concat(e[u]);n&&o[c[0]]||(r&&(c[2]?c[2]="".concat(r," and ").concat(c[2]):c[2]=r),t.push(c))}},t}},15:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}e.exports=function(e){var r,n,o=(n=4,function(e){if(Array.isArray(e))return e}(r=e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}}(r,n)||function(e,r){if(e){if("string"==typeof e)return t(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(e,r):void 0}}(r,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),i=o[1],a=o[3];if("function"==typeof btoa){var u=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(u),s="/*# ".concat(c," */"),l=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[i].concat(l).concat([s]).join("\n")}return[i].join("\n")}},418:e=>{"use strict";var t=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,i){for(var a,u,c=o(e),s=1;s<arguments.length;s++){for(var l in a=Object(arguments[s]))r.call(a,l)&&(c[l]=a[l]);if(t){u=t(a);for(var f=0;f<u.length;f++)n.call(a,u[f])&&(c[u[f]]=a[u[f]])}}return c}},703:(e,t,r)=>{"use strict";var n=r(414);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},697:(e,t,r)=>{e.exports=r(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},251:(e,t,r)=>{"use strict";var n=r(294),o=60103;if("function"==typeof Symbol&&Symbol.for){var i=Symbol.for;o=i("react.element"),i("react.fragment")}var a=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u=Object.prototype.hasOwnProperty,c={key:!0,ref:!0,__self:!0,__source:!0};function s(e,t,r){var n,i={},s=null,l=null;for(n in void 0!==r&&(s=""+r),void 0!==t.key&&(s=""+t.key),void 0!==t.ref&&(l=t.ref),t)u.call(t,n)&&!c.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps)void 0===i[n]&&(i[n]=t[n]);return{$$typeof:o,type:e,key:s,ref:l,props:i,_owner:a.current}}t.jsx=s,t.jsxs=s},408:(e,t,r)=>{"use strict";var n=r(418),o="function"==typeof Symbol&&Symbol.for,i=o?Symbol.for("react.element"):60103,a=o?Symbol.for("react.portal"):60106,u=o?Symbol.for("react.fragment"):60107,c=o?Symbol.for("react.strict_mode"):60108,s=o?Symbol.for("react.profiler"):60114,l=o?Symbol.for("react.provider"):60109,f=o?Symbol.for("react.context"):60110,p=o?Symbol.for("react.forward_ref"):60112,y=o?Symbol.for("react.suspense"):60113,d=o?Symbol.for("react.memo"):60115,h=o?Symbol.for("react.lazy"):60116,v="function"==typeof Symbol&&Symbol.iterator;function m(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var b={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g={};function A(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||b}function w(){}function S(e,t,r){this.props=e,this.context=t,this.refs=g,this.updater=r||b}A.prototype.isReactComponent={},A.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(m(85));this.updater.enqueueSetState(this,e,t,"setState")},A.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=A.prototype;var _=S.prototype=new w;_.constructor=S,n(_,A.prototype),_.isPureReactComponent=!0;var j={current:null},C=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function O(e,t,r){var n,o={},a=null,u=null;if(null!=t)for(n in void 0!==t.ref&&(u=t.ref),void 0!==t.key&&(a=""+t.key),t)C.call(t,n)&&!E.hasOwnProperty(n)&&(o[n]=t[n]);var c=arguments.length-2;if(1===c)o.children=r;else if(1<c){for(var s=Array(c),l=0;l<c;l++)s[l]=arguments[l+2];o.children=s}if(e&&e.defaultProps)for(n in c=e.defaultProps)void 0===o[n]&&(o[n]=c[n]);return{$$typeof:i,type:e,key:a,ref:u,props:o,_owner:j.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===i}var k=/\/+/g,T=[];function B(e,t,r,n){if(T.length){var o=T.pop();return o.result=e,o.keyPrefix=t,o.func=r,o.context=n,o.count=0,o}return{result:e,keyPrefix:t,func:r,context:n,count:0}}function P(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,e.count=0,10>T.length&&T.push(e)}function R(e,t,r,n){var o=typeof e;"undefined"!==o&&"boolean"!==o||(e=null);var u=!1;if(null===e)u=!0;else switch(o){case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case i:case a:u=!0}}if(u)return r(n,e,""===t?"."+I(e,0):t),1;if(u=0,t=""===t?".":t+":",Array.isArray(e))for(var c=0;c<e.length;c++){var s=t+I(o=e[c],c);u+=R(o,s,r,n)}else if("function"==typeof(s=null===e||"object"!=typeof e?null:"function"==typeof(s=v&&e[v]||e["@@iterator"])?s:null))for(e=s.call(e),c=0;!(o=e.next()).done;)u+=R(o=o.value,s=t+I(o,c++),r,n);else if("object"===o)throw r=""+e,Error(m(31,"[object Object]"===r?"object with keys {"+Object.keys(e).join(", ")+"}":r,""));return u}function $(e,t,r){return null==e?0:R(e,"",t,r)}function I(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,(function(e){return t[e]}))}(e.key):t.toString(36)}function U(e,t){e.func.call(e.context,t,e.count++)}function M(e,t,r){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,t,e.count++),Array.isArray(e)?N(e,n,r,(function(e){return e})):null!=e&&(x(e)&&(e=function(e,t){return{$$typeof:i,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(e,o+(!e.key||t&&t.key===e.key?"":(""+e.key).replace(k,"$&/")+"/")+r)),n.push(e))}function N(e,t,r,n,o){var i="";null!=r&&(i=(""+r).replace(k,"$&/")+"/"),$(e,M,t=B(t,i,n,o)),P(t)}var L={current:null};function D(){var e=L.current;if(null===e)throw Error(m(321));return e}var F={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:{suspense:null},ReactCurrentOwner:j,IsSomeRendererActing:{current:!1},assign:n};t.Children={map:function(e,t,r){if(null==e)return e;var n=[];return N(e,n,null,t,r),n},forEach:function(e,t,r){if(null==e)return e;$(e,U,t=B(null,null,t,r)),P(t)},count:function(e){return $(e,(function(){return null}),null)},toArray:function(e){var t=[];return N(e,t,null,(function(e){return e})),t},only:function(e){if(!x(e))throw Error(m(143));return e}},t.Component=A,t.Fragment=u,t.Profiler=s,t.PureComponent=S,t.StrictMode=c,t.Suspense=y,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=F,t.cloneElement=function(e,t,r){if(null==e)throw Error(m(267,e));var o=n({},e.props),a=e.key,u=e.ref,c=e._owner;if(null!=t){if(void 0!==t.ref&&(u=t.ref,c=j.current),void 0!==t.key&&(a=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)C.call(t,l)&&!E.hasOwnProperty(l)&&(o[l]=void 0===t[l]&&void 0!==s?s[l]:t[l])}var l=arguments.length-2;if(1===l)o.children=r;else if(1<l){s=Array(l);for(var f=0;f<l;f++)s[f]=arguments[f+2];o.children=s}return{$$typeof:i,type:e.type,key:a,ref:u,props:o,_owner:c}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:f,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:l,_context:e},e.Consumer=e},t.createElement=O,t.createFactory=function(e){var t=O.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:p,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:h,_ctor:e,_status:-1,_result:null}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return D().useCallback(e,t)},t.useContext=function(e,t){return D().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return D().useEffect(e,t)},t.useImperativeHandle=function(e,t,r){return D().useImperativeHandle(e,t,r)},t.useLayoutEffect=function(e,t){return D().useLayoutEffect(e,t)},t.useMemo=function(e,t){return D().useMemo(e,t)},t.useReducer=function(e,t,r){return D().useReducer(e,t,r)},t.useRef=function(e){return D().useRef(e)},t.useState=function(e){return D().useState(e)},t.version="16.14.0"},294:(e,t,r)=>{"use strict";e.exports=r(408)},893:(e,t,r)=>{"use strict";e.exports=r(251)},379:(e,t,r)=>{"use strict";var n,o=function(){var e={};return function(t){if(void 0===e[t]){var r=document.querySelector(t);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}e[t]=r}return e[t]}}(),i=[];function a(e){for(var t=-1,r=0;r<i.length;r++)if(i[r].identifier===e){t=r;break}return t}function u(e,t){for(var r={},n=[],o=0;o<e.length;o++){var u=e[o],c=t.base?u[0]+t.base:u[0],s=r[c]||0,l="".concat(c," ").concat(s);r[c]=s+1;var f=a(l),p={css:u[1],media:u[2],sourceMap:u[3]};-1!==f?(i[f].references++,i[f].updater(p)):i.push({identifier:l,updater:h(p,t),references:1}),n.push(l)}return n}function c(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var i=r.nc;i&&(n.nonce=i)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var a=o(e.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(t)}return t}var s,l=(s=[],function(e,t){return s[e]=t,s.filter(Boolean).join("\n")});function f(e,t,r,n){var o=r?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=l(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}function p(e,t,r){var n=r.css,o=r.media,i=r.sourceMap;if(o?e.setAttribute("media",o):e.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var y=null,d=0;function h(e,t){var r,n,o;if(t.singleton){var i=d++;r=y||(y=c(t)),n=f.bind(null,r,i,!1),o=f.bind(null,r,i,!0)}else r=c(t),n=p.bind(null,r,t),o=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(r)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=(void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n));var r=u(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<r.length;n++){var o=a(r[n]);i[o].references--}for(var c=u(e,t),s=0;s<r.length;s++){var l=a(r[s]);0===i[l].references&&(i[l].updater(),i.splice(l,1))}r=c}}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n](i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};(()=>{"use strict";r.r(n),r.d(n,{default:()=>v});var e=r(294),t=r(697),o=r.n(t),i=r(379),a=r.n(i),u=r(545);a()(u.Z,{insert:"head",singleton:!1}),u.Z.locals;var c=r(893);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e,t,r,n,o,i,a){try{var u=e[i](a),c=u.value}catch(e){return void r(e)}u.done?t(c):Promise.resolve(c).then(n,o)}function f(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e,t){return!t||"object"!==s(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var h=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p(e,t)}(h,e);var t,r,n,o,i,a,u,s=(a=h,u=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,t=d(a);if(u){var r=d(this).constructor;e=Reflect.construct(t,arguments,r)}else e=t.apply(this,arguments);return y(this,e)});function h(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,h),(t=s.call(this,e)).state={visibleTime:0,show:void 0},t}return t=h,n=[{key:"getDerivedStateFromProps",value:function(e,t){return void 0!==e.visibleTime&&e.visibleTime>0?{bannerMessage:e.bannerMessage,visibleTime:e.visibleTime}:null}}],(r=[{key:"render",value:function(){return this.props.transitionAppearTime&&this.props.transitionAppearTime,this.props.transitionTime&&this.props.transitionTime,this.renderBanner()}},{key:"renderImage",value:function(){return this.props.image&&this.props.imageClass?(0,c.jsx)("img",{src:this.props.image,className:this.props.imageClass}):this.props.image?(0,c.jsx)("img",{src:this.props.image}):null}},{key:"hideBanner",value:(o=regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(void 0!==this.props.visibleTime&&this.props.visibleTime>0)){e.next=5;break}return e.next=3,this.timeout(1e3+this.props.visibleTime);case 3:return e.next=5,this.setState({show:!1});case 5:case"end":return e.stop()}}),e,this)})),i=function(){var e=this,t=arguments;return new Promise((function(r,n){var i=o.apply(e,t);function a(e){l(i,r,n,a,u,"next",e)}function u(e){l(i,r,n,a,u,"throw",e)}a(void 0)}))},function(){return i.apply(this,arguments)})},{key:"renderBanner",value:function(){return void 0===this.props.showBanner||this.props.showBanner?this.props.title&&(void 0===this.state.show||this.state.show)?(this.hideBanner(),(0,c.jsxs)("div",{className:"banner",style:this.props.css,children:[this.renderImage(),this.renderTitle()]},"banner")):this.props.children?(0,c.jsx)("div",{className:"banner",style:this.props.css,children:this.props.children},"banner"):null:null}},{key:"renderTitle",value:function(){return(0,c.jsx)("div",{children:this.props.title})}},{key:"timeout",value:function(e){return new Promise((function(t){return setTimeout(t,e)}))}}])&&f(t.prototype,r),n&&f(t,n),h}(e.Component);h.propTypes={title:o().node,css:o().object,visibleTime:o().number,image:o().string,imageClass:o().string,transitionAppearTime:o().number,transitionTime:o().number,showBanner:o().bool,children:o().node};const v=h})(),module.exports=n})();
3
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9zcmMvYmFubmVyLmNzcyIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzIiwid2VicGFjazovL3JlYWN0LWpzLWJhbm5lci8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzIiwid2VicGFjazovL3JlYWN0LWpzLWJhbm5lci8uL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwid2VicGFjazovL3JlYWN0LWpzLWJhbm5lci8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcy5qcyIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9pbmRleC5qcyIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanMiLCJ3ZWJwYWNrOi8vcmVhY3QtanMtYmFubmVyLy4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC1qc3gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qcyIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LnByb2R1Y3Rpb24ubWluLmpzIiwid2VicGFjazovL3JlYWN0LWpzLWJhbm5lci8uL25vZGVfbW9kdWxlcy9yZWFjdC9pbmRleC5qcyIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9ub2RlX21vZHVsZXMvcmVhY3QvanN4LXJ1bnRpbWUuanMiLCJ3ZWJwYWNrOi8vcmVhY3QtanMtYmFubmVyLy4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzIiwid2VicGFjazovL3JlYWN0LWpzLWJhbm5lci93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvd2VicGFjay9ydW50aW1lL2NvbXBhdCBnZXQgZGVmYXVsdCBleHBvcnQiLCJ3ZWJwYWNrOi8vcmVhY3QtanMtYmFubmVyL3dlYnBhY2svcnVudGltZS9kZWZpbmUgcHJvcGVydHkgZ2V0dGVycyIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvd2VicGFjay9ydW50aW1lL2hhc093blByb3BlcnR5IHNob3J0aGFuZCIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvd2VicGFjay9ydW50aW1lL21ha2UgbmFtZXNwYWNlIG9iamVjdCIsIndlYnBhY2s6Ly9yZWFjdC1qcy1iYW5uZXIvLi9zcmMvYmFubmVyLmNzcz85ZTVkIiwid2VicGFjazovL3JlYWN0LWpzLWJhbm5lci8uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJfX19DU1NfTE9BREVSX0VYUE9SVF9fXyIsInB1c2giLCJtb2R1bGUiLCJpZCIsImV4cG9ydHMiLCJjc3NXaXRoTWFwcGluZ1RvU3RyaW5nIiwibGlzdCIsInRvU3RyaW5nIiwidGhpcyIsIm1hcCIsIml0ZW0iLCJjb250ZW50IiwiY29uY2F0Iiwiam9pbiIsImkiLCJtb2R1bGVzIiwibWVkaWFRdWVyeSIsImRlZHVwZSIsImFscmVhZHlJbXBvcnRlZE1vZHVsZXMiLCJsZW5ndGgiLCJfaSIsIl9hcnJheUxpa2VUb0FycmF5IiwiYXJyIiwibGVuIiwiYXJyMiIsIkFycmF5IiwiX2l0ZW0iLCJpc0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJPYmplY3QiLCJfYXJyIiwiX24iLCJfZCIsIl9lIiwidW5kZWZpbmVkIiwiX3MiLCJuZXh0IiwiZG9uZSIsInZhbHVlIiwiZXJyIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwibyIsIm1pbkxlbiIsIm4iLCJwcm90b3R5cGUiLCJjYWxsIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJmcm9tIiwidGVzdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIlR5cGVFcnJvciIsIl9ub25JdGVyYWJsZVJlc3QiLCJjc3NNYXBwaW5nIiwiYnRvYSIsImJhc2U2NCIsInVuZXNjYXBlIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsImRhdGEiLCJzb3VyY2VNYXBwaW5nIiwic291cmNlVVJMcyIsInNvdXJjZXMiLCJzb3VyY2UiLCJzb3VyY2VSb290IiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaGFzT3duUHJvcGVydHkiLCJwcm9wSXNFbnVtZXJhYmxlIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJ0b09iamVjdCIsInZhbCIsImFzc2lnbiIsInRlc3QxIiwiU3RyaW5nIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsInRlc3QyIiwiZnJvbUNoYXJDb2RlIiwidGVzdDMiLCJzcGxpdCIsImZvckVhY2giLCJsZXR0ZXIiLCJrZXlzIiwic2hvdWxkVXNlTmF0aXZlIiwidGFyZ2V0Iiwic3ltYm9scyIsInRvIiwicyIsImFyZ3VtZW50cyIsImtleSIsIlJlYWN0UHJvcFR5cGVzU2VjcmV0IiwiZW1wdHlGdW5jdGlvbiIsImVtcHR5RnVuY3Rpb25XaXRoUmVzZXQiLCJyZXNldFdhcm5pbmdDYWNoZSIsInNoaW0iLCJwcm9wcyIsInByb3BOYW1lIiwiY29tcG9uZW50TmFtZSIsImxvY2F0aW9uIiwicHJvcEZ1bGxOYW1lIiwic2VjcmV0IiwiRXJyb3IiLCJnZXRTaGltIiwiaXNSZXF1aXJlZCIsIlJlYWN0UHJvcFR5cGVzIiwiYXJyYXkiLCJib29sIiwiZnVuYyIsIm51bWJlciIsIm9iamVjdCIsInN0cmluZyIsInN5bWJvbCIsImFueSIsImFycmF5T2YiLCJlbGVtZW50IiwiZWxlbWVudFR5cGUiLCJpbnN0YW5jZU9mIiwibm9kZSIsIm9iamVjdE9mIiwib25lT2YiLCJvbmVPZlR5cGUiLCJzaGFwZSIsImV4YWN0IiwiY2hlY2tQcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJmIiwiZyIsImZvciIsImgiLCJtIiwiX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQiLCJSZWFjdEN1cnJlbnRPd25lciIsInAiLCJyZWYiLCJfX3NlbGYiLCJfX3NvdXJjZSIsInEiLCJjIiwiYSIsImsiLCJiIiwiZCIsImUiLCJsIiwiZGVmYXVsdFByb3BzIiwiJCR0eXBlb2YiLCJ0eXBlIiwiX293bmVyIiwiY3VycmVudCIsImpzeCIsImpzeHMiLCJyIiwidCIsInUiLCJ2IiwidyIsIngiLCJ5IiwieiIsIkEiLCJCIiwiQyIsIkQiLCJpc01vdW50ZWQiLCJlbnF1ZXVlRm9yY2VVcGRhdGUiLCJlbnF1ZXVlUmVwbGFjZVN0YXRlIiwiZW5xdWV1ZVNldFN0YXRlIiwiRSIsIkYiLCJjb250ZXh0IiwicmVmcyIsInVwZGF0ZXIiLCJHIiwiSCIsImlzUmVhY3RDb21wb25lbnQiLCJzZXRTdGF0ZSIsImZvcmNlVXBkYXRlIiwiSSIsImlzUHVyZVJlYWN0Q29tcG9uZW50IiwiSiIsIksiLCJMIiwiTSIsImNoaWxkcmVuIiwiTyIsIlAiLCJRIiwiUiIsInBvcCIsInJlc3VsdCIsImtleVByZWZpeCIsImNvdW50IiwiUyIsIlQiLCJVIiwiViIsInJlcGxhY2UiLCJlc2NhcGUiLCJXIiwiYWEiLCJYIiwiTiIsIlkiLCJaIiwiYmEiLCJSZWFjdEN1cnJlbnREaXNwYXRjaGVyIiwiUmVhY3RDdXJyZW50QmF0Y2hDb25maWciLCJzdXNwZW5zZSIsIklzU29tZVJlbmRlcmVyQWN0aW5nIiwiQ2hpbGRyZW4iLCJ0b0FycmF5Iiwib25seSIsIkNvbXBvbmVudCIsIkZyYWdtZW50IiwiUHJvZmlsZXIiLCJQdXJlQ29tcG9uZW50IiwiU3RyaWN0TW9kZSIsIlN1c3BlbnNlIiwiY2xvbmVFbGVtZW50IiwiY3JlYXRlQ29udGV4dCIsIl9jYWxjdWxhdGVDaGFuZ2VkQml0cyIsIl9jdXJyZW50VmFsdWUiLCJfY3VycmVudFZhbHVlMiIsIl90aHJlYWRDb3VudCIsIlByb3ZpZGVyIiwiQ29uc3VtZXIiLCJfY29udGV4dCIsImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVGYWN0b3J5IiwiYmluZCIsImNyZWF0ZVJlZiIsImZvcndhcmRSZWYiLCJyZW5kZXIiLCJpc1ZhbGlkRWxlbWVudCIsImxhenkiLCJfY3RvciIsIl9zdGF0dXMiLCJfcmVzdWx0IiwibWVtbyIsImNvbXBhcmUiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VEZWJ1Z1ZhbHVlIiwidXNlRWZmZWN0IiwidXNlSW1wZXJhdGl2ZUhhbmRsZSIsInVzZUxheW91dEVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWR1Y2VyIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ2ZXJzaW9uIiwiZ2V0VGFyZ2V0Iiwic3R5bGVUYXJnZXQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJ3aW5kb3ciLCJIVE1MSUZyYW1lRWxlbWVudCIsImNvbnRlbnREb2N1bWVudCIsImhlYWQiLCJzdHlsZXNJbkRvbSIsImdldEluZGV4QnlJZGVudGlmaWVyIiwiaWRlbnRpZmllciIsIm1vZHVsZXNUb0RvbSIsIm9wdGlvbnMiLCJpZENvdW50TWFwIiwiaWRlbnRpZmllcnMiLCJiYXNlIiwiaW5kZXgiLCJvYmoiLCJjc3MiLCJtZWRpYSIsInNvdXJjZU1hcCIsInJlZmVyZW5jZXMiLCJhZGRTdHlsZSIsImluc2VydFN0eWxlRWxlbWVudCIsInN0eWxlIiwiYXR0cmlidXRlcyIsIm5vbmNlIiwic2V0QXR0cmlidXRlIiwiaW5zZXJ0IiwiYXBwZW5kQ2hpbGQiLCJ0ZXh0U3RvcmUiLCJyZXBsYWNlVGV4dCIsInJlcGxhY2VtZW50IiwiZmlsdGVyIiwiQm9vbGVhbiIsImFwcGx5VG9TaW5nbGV0b25UYWciLCJyZW1vdmUiLCJzdHlsZVNoZWV0IiwiY3NzVGV4dCIsImNzc05vZGUiLCJjcmVhdGVUZXh0Tm9kZSIsImNoaWxkTm9kZXMiLCJyZW1vdmVDaGlsZCIsImluc2VydEJlZm9yZSIsImFwcGx5VG9UYWciLCJyZW1vdmVBdHRyaWJ1dGUiLCJmaXJzdENoaWxkIiwic2luZ2xldG9uIiwic2luZ2xldG9uQ291bnRlciIsInVwZGF0ZSIsInN0eWxlSW5kZXgiLCJwYXJlbnROb2RlIiwicmVtb3ZlU3R5bGVFbGVtZW50IiwibmV3T2JqIiwiYWxsIiwiYXRvYiIsImxhc3RJZGVudGlmaWVycyIsIm5ld0xpc3QiLCJuZXdMYXN0SWRlbnRpZmllcnMiLCJfaW5kZXgiLCJzcGxpY2UiLCJfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJjYWNoZWRNb2R1bGUiLCJfX3dlYnBhY2tfbW9kdWxlc19fIiwiZ2V0dGVyIiwiX19lc01vZHVsZSIsImRlZmluaXRpb24iLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJwcm9wIiwidG9TdHJpbmdUYWciLCJCYW5uZXIiLCJzdGF0ZSIsInZpc2libGVUaW1lIiwic2hvdyIsIm5leHRQcm9wcyIsInByZXZTdGF0ZSIsImJhbm5lck1lc3NhZ2UiLCJ0cmFuc2l0aW9uQXBwZWFyVGltZSIsInRyYW5zaXRpb25UaW1lIiwicmVuZGVyQmFubmVyIiwiaW1hZ2UiLCJpbWFnZUNsYXNzIiwic3JjIiwiY2xhc3NOYW1lIiwidGltZW91dCIsInNob3dCYW5uZXIiLCJ0aXRsZSIsImhpZGVCYW5uZXIiLCJyZW5kZXJJbWFnZSIsInJlbmRlclRpdGxlIiwibXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJwcm9wVHlwZXMiXSwibWFwcGluZ3MiOiI7dUZBR0lBLEUsTUFBMEIsR0FBNEIsS0FFMURBLEVBQXdCQyxLQUFLLENBQUNDLEVBQU9DLEdBQUksNm5CQUE4bkIsR0FBRyxDQUFDLFFBQVUsRUFBRSxRQUFVLENBQUMsOEJBQThCLE1BQVEsR0FBRyxTQUFXLHNQQUFzUCxlQUFpQixDQUFDLDhuQkFBOG5CLFdBQWEsTUFFem9ELFcscUJDQ0FELEVBQU9FLFFBQVUsU0FBVUMsR0FDekIsSUFB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QUFwQjVCLEtBQUtpVSxNQUFNRSxNQUFzQm5VLEtBQUtpVSxNQUFNRSxPQUNsRW5VLEtBQUtpVixjQUVKLGlCQUFrQkosVUFBVSxTQUFTL0QsTUFBTzlRLEtBQUswRixNQUFNOEssSUFBdkQsVUFDR3hRLEtBQUtrVixjQUNMbFYsS0FBS21WLGdCQUZDLFdBTUpuVixLQUFLMEYsTUFBTXdGLFVBRWhCLGdCQUFrQjJKLFVBQVUsU0FBUy9ELE1BQU85USxLQUFLMEYsTUFBTThLLElBQXZELFNBQ0d4USxLQUFLMEYsTUFBTXdGLFVBREwsVUFNSixLQUdKLE8seUJBR1QsV0FDRSxPQUFPLHlCQUFNbEwsS0FBSzBGLE1BQU1zUCxVLHFCQUcxQixTQUFRSSxHQUNOLE9BQU8sSUFBSUMsU0FBUSxTQUFBQyxHQUFPLE9BQUlDLFdBQVdELEVBQVNGLFcsOEJBeEZqQ3JJLGFBNkZyQmlILEVBQU93QixVQUFZLENBQ2pCUixNQUFPek4sU0FDUGlKLElBQUtqSixXQUNMMk0sWUFBYTNNLFdBQ2JtTixNQUFPbk4sV0FDUG9OLFdBQVlwTixXQUNaZ04scUJBQXNCaE4sV0FDdEJpTixlQUFnQmpOLFdBQ2hCd04sV0FBWXhOLFNBQ1oyRCxTQUFVM0QsVUFHWixXIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSW1wb3J0c1xuaW1wb3J0IF9fX0NTU19MT0FERVJfQVBJX1NPVVJDRU1BUF9JTVBPUlRfX18gZnJvbSBcIi4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9jc3NXaXRoTWFwcGluZ1RvU3RyaW5nLmpzXCI7XG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfSU1QT1JUX19fIGZyb20gXCIuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L3J1bnRpbWUvYXBpLmpzXCI7XG52YXIgX19fQ1NTX0xPQURFUl9FWFBPUlRfX18gPSBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18oX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyk7XG4vLyBNb2R1bGVcbl9fX0NTU19MT0FERVJfRVhQT1JUX19fLnB1c2goW21vZHVsZS5pZCwgXCIuYmFubmVye1xcclxcbiAgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlO1xcclxcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcclxcbiAgcGFkZGluZzogMTBweCAxMHB4O1xcclxcbiAgZm9udC1zaXplOiAxNnB4O1xcclxcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxyXFxuICBkaXNwbGF5OiBmbGV4O1xcclxcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXHJcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxyXFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXHJcXG59XFxyXFxuXFxyXFxuLmJhbm5lci10cmFuc2l0aW9uLWFwcGVhciB7XFxyXFxuICBvcGFjaXR5OiAwLjAxO1xcclxcbn1cXHJcXG5cXHJcXG4uYmFubmVyLXRyYW5zaXRpb24tYXBwZWFyLmJhbm5lci10cmFuc2l0aW9uLWFwcGVhci1hY3RpdmUge1xcclxcbiAgb3BhY2l0eTogMTtcXHJcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMnMgZWFzZTtcXHJcXG59XFxyXFxuXFxyXFxuLmJhbm5lci10cmFuc2l0aW9uLWxlYXZlIHtcXHJcXG4gIG9wYWNpdHk6IDE7XFxyXFxufVxcclxcblxcclxcbi5iYW5uZXItdHJhbnNpdGlvbi1sZWF2ZS5iYW5uZXItdHJhbnNpdGlvbi1sZWF2ZS1hY3RpdmUge1xcclxcbiAgb3BhY2l0eTogMC4wMTtcXHJcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMnMgZWFzZTtcXHJcXG59XFxyXFxuXCIsIFwiXCIse1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wid2VicGFjazovLy4vc3JjL2Jhbm5lci5jc3NcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIkFBQUE7RUFDRSx3QkFBd0I7RUFDeEIsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7RUFDRSxVQUFVO0VBQ1YsMkJBQTJCO0FBQzdCOztBQUVBO0VBQ0UsVUFBVTtBQUNaOztBQUVBO0VBQ0UsYUFBYTtFQUNiLDJCQUEyQjtBQUM3QlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCIuYmFubmVye1xcclxcbiAgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlO1xcclxcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcclxcbiAgcGFkZGluZzogMTBweCAxMHB4O1xcclxcbiAgZm9udC1zaXplOiAxNnB4O1xcclxcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxyXFxuICBkaXNwbGF5OiBmbGV4O1xcclxcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcXHJcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXHJcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxyXFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXHJcXG59XFxyXFxuXFxyXFxuLmJhbm5lci10cmFuc2l0aW9uLWFwcGVhciB7XFxyXFxuICBvcGFjaXR5OiAwLjAxO1xcclxcbn1cXHJcXG5cXHJcXG4uYmFubmVyLXRyYW5zaXRpb24tYXBwZWFyLmJhbm5lci10cmFuc2l0aW9uLWFwcGVhci1hY3RpdmUge1xcclxcbiAgb3BhY2l0eTogMTtcXHJcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMnMgZWFzZTtcXHJcXG59XFxyXFxuXFxyXFxuLmJhbm5lci10cmFuc2l0aW9uLWxlYXZlIHtcXHJcXG4gIG9wYWNpdHk6IDE7XFxyXFxufVxcclxcblxcclxcbi5iYW5uZXItdHJhbnNpdGlvbi1sZWF2ZS5iYW5uZXItdHJhbnNpdGlvbi1sZWF2ZS1hY3RpdmUge1xcclxcbiAgb3BhY2l0eTogMC4wMTtcXHJcXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMnMgZWFzZTtcXHJcXG59XFxyXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG4vLyBFeHBvcnRzXG5leHBvcnQgZGVmYXVsdCBfX19DU1NfTE9BREVSX0VYUE9SVF9fXztcbiIsIlwidXNlIHN0cmljdFwiO1xuXG4vKlxuICBNSVQgTGljZW5zZSBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocFxuICBBdXRob3IgVG9iaWFzIEtvcHBlcnMgQHNva3JhXG4qL1xuLy8gY3NzIGJhc2UgY29kZSwgaW5qZWN0ZWQgYnkgdGhlIGNzcy1sb2FkZXJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBmdW5jLW5hbWVzXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKSB7XG4gIHZhciBsaXN0ID0gW107IC8vIHJldHVybiB0aGUgbGlzdCBvZiBtb2R1bGVzIGFzIGNzcyBzdHJpbmdcblxuICBsaXN0LnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICB2YXIgY29udGVudCA9IGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSk7XG5cbiAgICAgIGlmIChpdGVtWzJdKSB7XG4gICAgICAgIHJldHVybiBcIkBtZWRpYSBcIi5jb25jYXQoaXRlbVsyXSwgXCIge1wiKS5jb25jYXQoY29udGVudCwgXCJ9XCIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9KS5qb2luKFwiXCIpO1xuICB9OyAvLyBpbXBvcnQgYSBsaXN0IG9mIG1vZHVsZXMgaW50byB0aGUgbGlzdFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xuXG5cbiAgbGlzdC5pID0gZnVuY3Rpb24gKG1vZHVsZXMsIG1lZGlhUXVlcnksIGRlZHVwZSkge1xuICAgIGlmICh0eXBlb2YgbW9kdWxlcyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICBtb2R1bGVzID0gW1tudWxsLCBtb2R1bGVzLCBcIlwiXV07XG4gICAgfVxuXG4gICAgdmFyIGFscmVhZHlJbXBvcnRlZE1vZHVsZXMgPSB7fTtcblxuICAgIGlmIChkZWR1cGUpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgdmFyIGlkID0gdGhpc1tpXVswXTtcblxuICAgICAgICBpZiAoaWQgIT0gbnVsbCkge1xuICAgICAgICAgIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaWRdID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBtb2R1bGVzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGl0ZW0gPSBbXS5jb25jYXQobW9kdWxlc1tfaV0pO1xuXG4gICAgICBpZiAoZGVkdXBlICYmIGFscmVhZHlJbXBvcnRlZE1vZHVsZXNbaXRlbVswXV0pIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVkaWFRdWVyeSkge1xuICAgICAgICBpZiAoIWl0ZW1bMl0pIHtcbiAgICAgICAgICBpdGVtWzJdID0gbWVkaWFRdWVyeTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtWzJdID0gXCJcIi5jb25jYXQobWVkaWFRdWVyeSwgXCIgYW5kIFwiKS5jb25jYXQoaXRlbVsyXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKGl0ZW0pO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gbGlzdDtcbn07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkgeyByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpOyB9XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7IH1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikgeyBpZiAoIW8pIHJldHVybjsgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpOyBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lOyBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTsgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pOyB9XG5cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7IGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoOyBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIHsgYXJyMltpXSA9IGFycltpXTsgfSByZXR1cm4gYXJyMjsgfVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7IGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuOyB2YXIgX2FyciA9IFtdOyB2YXIgX24gPSB0cnVlOyB2YXIgX2QgPSBmYWxzZTsgdmFyIF9lID0gdW5kZWZpbmVkOyB0cnkgeyBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7IF9hcnIucHVzaChfcy52YWx1ZSk7IGlmIChpICYmIF9hcnIubGVuZ3RoID09PSBpKSBicmVhazsgfSB9IGNhdGNoIChlcnIpIHsgX2QgPSB0cnVlOyBfZSA9IGVycjsgfSBmaW5hbGx5IHsgdHJ5IHsgaWYgKCFfbiAmJiBfaVtcInJldHVyblwiXSAhPSBudWxsKSBfaVtcInJldHVyblwiXSgpOyB9IGZpbmFsbHkgeyBpZiAoX2QpIHRocm93IF9lOyB9IH0gcmV0dXJuIF9hcnI7IH1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikgeyBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyOyB9XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY3NzV2l0aE1hcHBpbmdUb1N0cmluZyhpdGVtKSB7XG4gIHZhciBfaXRlbSA9IF9zbGljZWRUb0FycmF5KGl0ZW0sIDQpLFxuICAgICAgY29udGVudCA9IF9pdGVtWzFdLFxuICAgICAgY3NzTWFwcGluZyA9IF9pdGVtWzNdO1xuXG4gIGlmICh0eXBlb2YgYnRvYSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gICAgdmFyIGJhc2U2NCA9IGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGNzc01hcHBpbmcpKSkpO1xuICAgIHZhciBkYXRhID0gXCJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxcIi5jb25jYXQoYmFzZTY0KTtcbiAgICB2YXIgc291cmNlTWFwcGluZyA9IFwiLyojIFwiLmNvbmNhdChkYXRhLCBcIiAqL1wiKTtcbiAgICB2YXIgc291cmNlVVJMcyA9IGNzc01hcHBpbmcuc291cmNlcy5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIFwiLyojIHNvdXJjZVVSTD1cIi5jb25jYXQoY3NzTWFwcGluZy5zb3VyY2VSb290IHx8IFwiXCIpLmNvbmNhdChzb3VyY2UsIFwiICovXCIpO1xuICAgIH0pO1xuICAgIHJldHVybiBbY29udGVudF0uY29uY2F0KHNvdXJjZVVSTHMpLmNvbmNhdChbc291cmNlTWFwcGluZ10pLmpvaW4oXCJcXG5cIik7XG4gIH1cblxuICByZXR1cm4gW2NvbnRlbnRdLmpvaW4oXCJcXG5cIik7XG59OyIsIi8qXG5vYmplY3QtYXNzaWduXG4oYykgU2luZHJlIFNvcmh1c1xuQGxpY2Vuc2UgTUlUXG4qL1xuXG4ndXNlIHN0cmljdCc7XG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xudmFyIGdldE93blByb3BlcnR5U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM7XG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIHByb3BJc0VudW1lcmFibGUgPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO1xuXG5mdW5jdGlvbiB0b09iamVjdCh2YWwpIHtcblx0aWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ09iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkJyk7XG5cdH1cblxuXHRyZXR1cm4gT2JqZWN0KHZhbCk7XG59XG5cbmZ1bmN0aW9uIHNob3VsZFVzZU5hdGl2ZSgpIHtcblx0dHJ5IHtcblx0XHRpZiAoIU9iamVjdC5hc3NpZ24pIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBEZXRlY3QgYnVnZ3kgcHJvcGVydHkgZW51bWVyYXRpb24gb3JkZXIgaW4gb2xkZXIgVjggdmVyc2lvbnMuXG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD00MTE4XG5cdFx0dmFyIHRlc3QxID0gbmV3IFN0cmluZygnYWJjJyk7ICAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLW5ldy13cmFwcGVyc1xuXHRcdHRlc3QxWzVdID0gJ2RlJztcblx0XHRpZiAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGVzdDEpWzBdID09PSAnNScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QyID0ge307XG5cdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7XG5cdFx0XHR0ZXN0MlsnXycgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpXSA9IGk7XG5cdFx0fVxuXHRcdHZhciBvcmRlcjIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MikubWFwKGZ1bmN0aW9uIChuKSB7XG5cdFx0XHRyZXR1cm4gdGVzdDJbbl07XG5cdFx0fSk7XG5cdFx0aWYgKG9yZGVyMi5qb2luKCcnKSAhPT0gJzAxMjM0NTY3ODknKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MzA1NlxuXHRcdHZhciB0ZXN0MyA9IHt9O1xuXHRcdCdhYmNkZWZnaGlqa2xtbm9wcXJzdCcuc3BsaXQoJycpLmZvckVhY2goZnVuY3Rpb24gKGxldHRlcikge1xuXHRcdFx0dGVzdDNbbGV0dGVyXSA9IGxldHRlcjtcblx0XHR9KTtcblx0XHRpZiAoT2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSwgdGVzdDMpKS5qb2luKCcnKSAhPT1cblx0XHRcdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiB0cnVlO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHQvLyBXZSBkb24ndCBleHBlY3QgYW55IG9mIHRoZSBhYm92ZSB0byB0aHJvdywgYnV0IGJldHRlciB0byBiZSBzYWZlLlxuXHRcdHJldHVybiBmYWxzZTtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNob3VsZFVzZU5hdGl2ZSgpID8gT2JqZWN0LmFzc2lnbiA6IGZ1bmN0aW9uICh0YXJnZXQsIHNvdXJjZSkge1xuXHR2YXIgZnJvbTtcblx0dmFyIHRvID0gdG9PYmplY3QodGFyZ2V0KTtcblx0dmFyIHN5bWJvbHM7XG5cblx0Zm9yICh2YXIgcyA9IDE7IHMgPCBhcmd1bWVudHMubGVuZ3RoOyBzKyspIHtcblx0XHRmcm9tID0gT2JqZWN0KGFyZ3VtZW50c1tzXSk7XG5cblx0XHRmb3IgKHZhciBrZXkgaW4gZnJvbSkge1xuXHRcdFx0aWYgKGhhc093blByb3BlcnR5LmNhbGwoZnJvbSwga2V5KSkge1xuXHRcdFx0XHR0b1trZXldID0gZnJvbVtrZXldO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChnZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcblx0XHRcdHN5bWJvbHMgPSBnZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZnJvbSk7XG5cdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IHN5bWJvbHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0aWYgKHByb3BJc0VudW1lcmFibGUuY2FsbChmcm9tLCBzeW1ib2xzW2ldKSkge1xuXHRcdFx0XHRcdHRvW3N5bWJvbHNbaV1dID0gZnJvbVtzeW1ib2xzW2ldXTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiB0bztcbn07XG4iLCIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gcmVxdWlyZSgnLi9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQnKTtcblxuZnVuY3Rpb24gZW1wdHlGdW5jdGlvbigpIHt9XG5mdW5jdGlvbiBlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0KCkge31cbmVtcHR5RnVuY3Rpb25XaXRoUmVzZXQucmVzZXRXYXJuaW5nQ2FjaGUgPSBlbXB0eUZ1bmN0aW9uO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICBmdW5jdGlvbiBzaGltKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIHByb3BGdWxsTmFtZSwgc2VjcmV0KSB7XG4gICAgaWYgKHNlY3JldCA9PT0gUmVhY3RQcm9wVHlwZXNTZWNyZXQpIHtcbiAgICAgIC8vIEl0IGlzIHN0aWxsIHNhZmUgd2hlbiBjYWxsZWQgZnJvbSBSZWFjdC5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIGVyciA9IG5ldyBFcnJvcihcbiAgICAgICdDYWxsaW5nIFByb3BUeXBlcyB2YWxpZGF0b3JzIGRpcmVjdGx5IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGBwcm9wLXR5cGVzYCBwYWNrYWdlLiAnICtcbiAgICAgICdVc2UgUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCkgdG8gY2FsbCB0aGVtLiAnICtcbiAgICAgICdSZWFkIG1vcmUgYXQgaHR0cDovL2ZiLm1lL3VzZS1jaGVjay1wcm9wLXR5cGVzJ1xuICAgICk7XG4gICAgZXJyLm5hbWUgPSAnSW52YXJpYW50IFZpb2xhdGlvbic7XG4gICAgdGhyb3cgZXJyO1xuICB9O1xuICBzaGltLmlzUmVxdWlyZWQgPSBzaGltO1xuICBmdW5jdGlvbiBnZXRTaGltKCkge1xuICAgIHJldHVybiBzaGltO1xuICB9O1xuICAvLyBJbXBvcnRhbnQhXG4gIC8vIEtlZXAgdGhpcyBsaXN0IGluIHN5bmMgd2l0aCBwcm9kdWN0aW9uIHZlcnNpb24gaW4gYC4vZmFjdG9yeVdpdGhUeXBlQ2hlY2tlcnMuanNgLlxuICB2YXIgUmVhY3RQcm9wVHlwZXMgPSB7XG4gICAgYXJyYXk6IHNoaW0sXG4gICAgYm9vbDogc2hpbSxcbiAgICBmdW5jOiBzaGltLFxuICAgIG51bWJlcjogc2hpbSxcbiAgICBvYmplY3Q6IHNoaW0sXG4gICAgc3RyaW5nOiBzaGltLFxuICAgIHN5bWJvbDogc2hpbSxcblxuICAgIGFueTogc2hpbSxcbiAgICBhcnJheU9mOiBnZXRTaGltLFxuICAgIGVsZW1lbnQ6IHNoaW0sXG4gICAgZWxlbWVudFR5cGU6IHNoaW0sXG4gICAgaW5zdGFuY2VPZjogZ2V0U2hpbSxcbiAgICBub2RlOiBzaGltLFxuICAgIG9iamVjdE9mOiBnZXRTaGltLFxuICAgIG9uZU9mOiBnZXRTaGltLFxuICAgIG9uZU9mVHlwZTogZ2V0U2hpbSxcbiAgICBzaGFwZTogZ2V0U2hpbSxcbiAgICBleGFjdDogZ2V0U2hpbSxcblxuICAgIGNoZWNrUHJvcFR5cGVzOiBlbXB0eUZ1bmN0aW9uV2l0aFJlc2V0LFxuICAgIHJlc2V0V2FybmluZ0NhY2hlOiBlbXB0eUZ1bmN0aW9uXG4gIH07XG5cbiAgUmVhY3RQcm9wVHlwZXMuUHJvcFR5cGVzID0gUmVhY3RQcm9wVHlwZXM7XG5cbiAgcmV0dXJuIFJlYWN0UHJvcFR5cGVzO1xufTtcbiIsIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgdmFyIFJlYWN0SXMgPSByZXF1aXJlKCdyZWFjdC1pcycpO1xuXG4gIC8vIEJ5IGV4cGxpY2l0bHkgdXNpbmcgYHByb3AtdHlwZXNgIHlvdSBhcmUgb3B0aW5nIGludG8gbmV3IGRldmVsb3BtZW50IGJlaGF2aW9yLlxuICAvLyBodHRwOi8vZmIubWUvcHJvcC10eXBlcy1pbi1wcm9kXG4gIHZhciB0aHJvd09uRGlyZWN0QWNjZXNzID0gdHJ1ZTtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2ZhY3RvcnlXaXRoVHlwZUNoZWNrZXJzJykoUmVhY3RJcy5pc0VsZW1lbnQsIHRocm93T25EaXJlY3RBY2Nlc3MpO1xufSBlbHNlIHtcbiAgLy8gQnkgZXhwbGljaXRseSB1c2luZyBgcHJvcC10eXBlc2AgeW91IGFyZSBvcHRpbmcgaW50byBuZXcgcHJvZHVjdGlvbiBiZWhhdmlvci5cbiAgLy8gaHR0cDovL2ZiLm1lL3Byb3AtdHlwZXMtaW4tcHJvZFxuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vZmFjdG9yeVdpdGhUaHJvd2luZ1NoaW1zJykoKTtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDEzLXByZXNlbnQsIEZhY2Vib29rLCBJbmMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3RQcm9wVHlwZXNTZWNyZXQgPSAnU0VDUkVUX0RPX05PVF9QQVNTX1RISVNfT1JfWU9VX1dJTExfQkVfRklSRUQnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWN0UHJvcFR5cGVzU2VjcmV0O1xuIiwiLyoqIEBsaWNlbnNlIFJlYWN0IHYxNi4xNC4wXG4gKiByZWFjdC1qc3gtcnVudGltZS5wcm9kdWN0aW9uLm1pbi5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG4ndXNlIHN0cmljdCc7dmFyIGY9cmVxdWlyZShcInJlYWN0XCIpLGc9NjAxMDM7ZXhwb3J0cy5GcmFnbWVudD02MDEwNztpZihcImZ1bmN0aW9uXCI9PT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuZm9yKXt2YXIgaD1TeW1ib2wuZm9yO2c9aChcInJlYWN0LmVsZW1lbnRcIik7ZXhwb3J0cy5GcmFnbWVudD1oKFwicmVhY3QuZnJhZ21lbnRcIil9dmFyIG09Zi5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRC5SZWFjdEN1cnJlbnRPd25lcixuPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkscD17a2V5OiEwLHJlZjohMCxfX3NlbGY6ITAsX19zb3VyY2U6ITB9O1xuZnVuY3Rpb24gcShjLGEsayl7dmFyIGIsZD17fSxlPW51bGwsbD1udWxsO3ZvaWQgMCE9PWsmJihlPVwiXCIrayk7dm9pZCAwIT09YS5rZXkmJihlPVwiXCIrYS5rZXkpO3ZvaWQgMCE9PWEucmVmJiYobD1hLnJlZik7Zm9yKGIgaW4gYSluLmNhbGwoYSxiKSYmIXAuaGFzT3duUHJvcGVydHkoYikmJihkW2JdPWFbYl0pO2lmKGMmJmMuZGVmYXVsdFByb3BzKWZvcihiIGluIGE9Yy5kZWZhdWx0UHJvcHMsYSl2b2lkIDA9PT1kW2JdJiYoZFtiXT1hW2JdKTtyZXR1cm57JCR0eXBlb2Y6Zyx0eXBlOmMsa2V5OmUscmVmOmwscHJvcHM6ZCxfb3duZXI6bS5jdXJyZW50fX1leHBvcnRzLmpzeD1xO2V4cG9ydHMuanN4cz1xO1xuIiwiLyoqIEBsaWNlbnNlIFJlYWN0IHYxNi4xNC4wXG4gKiByZWFjdC5wcm9kdWN0aW9uLm1pbi5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0Jzt2YXIgbD1yZXF1aXJlKFwib2JqZWN0LWFzc2lnblwiKSxuPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3IscD1uP1N5bWJvbC5mb3IoXCJyZWFjdC5lbGVtZW50XCIpOjYwMTAzLHE9bj9TeW1ib2wuZm9yKFwicmVhY3QucG9ydGFsXCIpOjYwMTA2LHI9bj9TeW1ib2wuZm9yKFwicmVhY3QuZnJhZ21lbnRcIik6NjAxMDcsdD1uP1N5bWJvbC5mb3IoXCJyZWFjdC5zdHJpY3RfbW9kZVwiKTo2MDEwOCx1PW4/U3ltYm9sLmZvcihcInJlYWN0LnByb2ZpbGVyXCIpOjYwMTE0LHY9bj9TeW1ib2wuZm9yKFwicmVhY3QucHJvdmlkZXJcIik6NjAxMDksdz1uP1N5bWJvbC5mb3IoXCJyZWFjdC5jb250ZXh0XCIpOjYwMTEwLHg9bj9TeW1ib2wuZm9yKFwicmVhY3QuZm9yd2FyZF9yZWZcIik6NjAxMTIseT1uP1N5bWJvbC5mb3IoXCJyZWFjdC5zdXNwZW5zZVwiKTo2MDExMyx6PW4/U3ltYm9sLmZvcihcInJlYWN0Lm1lbW9cIik6NjAxMTUsQT1uP1N5bWJvbC5mb3IoXCJyZWFjdC5sYXp5XCIpOlxuNjAxMTYsQj1cImZ1bmN0aW9uXCI9PT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gQyhhKXtmb3IodmFyIGI9XCJodHRwczovL3JlYWN0anMub3JnL2RvY3MvZXJyb3ItZGVjb2Rlci5odG1sP2ludmFyaWFudD1cIithLGM9MTtjPGFyZ3VtZW50cy5sZW5ndGg7YysrKWIrPVwiJmFyZ3NbXT1cIitlbmNvZGVVUklDb21wb25lbnQoYXJndW1lbnRzW2NdKTtyZXR1cm5cIk1pbmlmaWVkIFJlYWN0IGVycm9yICNcIithK1wiOyB2aXNpdCBcIitiK1wiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy5cIn1cbnZhciBEPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxFPXt9O2Z1bmN0aW9uIEYoYSxiLGMpe3RoaXMucHJvcHM9YTt0aGlzLmNvbnRleHQ9Yjt0aGlzLnJlZnM9RTt0aGlzLnVwZGF0ZXI9Y3x8RH1GLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9O0YucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGEsYil7aWYoXCJvYmplY3RcIiE9PXR5cGVvZiBhJiZcImZ1bmN0aW9uXCIhPT10eXBlb2YgYSYmbnVsbCE9YSl0aHJvdyBFcnJvcihDKDg1KSk7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGEsYixcInNldFN0YXRlXCIpfTtGLnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbihhKXt0aGlzLnVwZGF0ZXIuZW5xdWV1ZUZvcmNlVXBkYXRlKHRoaXMsYSxcImZvcmNlVXBkYXRlXCIpfTtcbmZ1bmN0aW9uIEcoKXt9Ry5wcm90b3R5cGU9Ri5wcm90b3R5cGU7ZnVuY3Rpb24gSChhLGIsYyl7dGhpcy5wcm9wcz1hO3RoaXMuY29udGV4dD1iO3RoaXMucmVmcz1FO3RoaXMudXBkYXRlcj1jfHxEfXZhciBJPUgucHJvdG90eXBlPW5ldyBHO0kuY29uc3RydWN0b3I9SDtsKEksRi5wcm90b3R5cGUpO0kuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIEo9e2N1cnJlbnQ6bnVsbH0sSz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEw9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtcbmZ1bmN0aW9uIE0oYSxiLGMpe3ZhciBlLGQ9e30sZz1udWxsLGs9bnVsbDtpZihudWxsIT1iKWZvcihlIGluIHZvaWQgMCE9PWIucmVmJiYoaz1iLnJlZiksdm9pZCAwIT09Yi5rZXkmJihnPVwiXCIrYi5rZXkpLGIpSy5jYWxsKGIsZSkmJiFMLmhhc093blByb3BlcnR5KGUpJiYoZFtlXT1iW2VdKTt2YXIgZj1hcmd1bWVudHMubGVuZ3RoLTI7aWYoMT09PWYpZC5jaGlsZHJlbj1jO2Vsc2UgaWYoMTxmKXtmb3IodmFyIGg9QXJyYXkoZiksbT0wO208ZjttKyspaFttXT1hcmd1bWVudHNbbSsyXTtkLmNoaWxkcmVuPWh9aWYoYSYmYS5kZWZhdWx0UHJvcHMpZm9yKGUgaW4gZj1hLmRlZmF1bHRQcm9wcyxmKXZvaWQgMD09PWRbZV0mJihkW2VdPWZbZV0pO3JldHVybnskJHR5cGVvZjpwLHR5cGU6YSxrZXk6ZyxyZWY6ayxwcm9wczpkLF9vd25lcjpKLmN1cnJlbnR9fVxuZnVuY3Rpb24gTihhLGIpe3JldHVybnskJHR5cGVvZjpwLHR5cGU6YS50eXBlLGtleTpiLHJlZjphLnJlZixwcm9wczphLnByb3BzLF9vd25lcjphLl9vd25lcn19ZnVuY3Rpb24gTyhhKXtyZXR1cm5cIm9iamVjdFwiPT09dHlwZW9mIGEmJm51bGwhPT1hJiZhLiQkdHlwZW9mPT09cH1mdW5jdGlvbiBlc2NhcGUoYSl7dmFyIGI9e1wiPVwiOlwiPTBcIixcIjpcIjpcIj0yXCJ9O3JldHVyblwiJFwiKyhcIlwiK2EpLnJlcGxhY2UoL1s9Ol0vZyxmdW5jdGlvbihhKXtyZXR1cm4gYlthXX0pfXZhciBQPS9cXC8rL2csUT1bXTtmdW5jdGlvbiBSKGEsYixjLGUpe2lmKFEubGVuZ3RoKXt2YXIgZD1RLnBvcCgpO2QucmVzdWx0PWE7ZC5rZXlQcmVmaXg9YjtkLmZ1bmM9YztkLmNvbnRleHQ9ZTtkLmNvdW50PTA7cmV0dXJuIGR9cmV0dXJue3Jlc3VsdDphLGtleVByZWZpeDpiLGZ1bmM6Yyxjb250ZXh0OmUsY291bnQ6MH19XG5mdW5jdGlvbiBTKGEpe2EucmVzdWx0PW51bGw7YS5rZXlQcmVmaXg9bnVsbDthLmZ1bmM9bnVsbDthLmNvbnRleHQ9bnVsbDthLmNvdW50PTA7MTA+US5sZW5ndGgmJlEucHVzaChhKX1cbmZ1bmN0aW9uIFQoYSxiLGMsZSl7dmFyIGQ9dHlwZW9mIGE7aWYoXCJ1bmRlZmluZWRcIj09PWR8fFwiYm9vbGVhblwiPT09ZClhPW51bGw7dmFyIGc9ITE7aWYobnVsbD09PWEpZz0hMDtlbHNlIHN3aXRjaChkKXtjYXNlIFwic3RyaW5nXCI6Y2FzZSBcIm51bWJlclwiOmc9ITA7YnJlYWs7Y2FzZSBcIm9iamVjdFwiOnN3aXRjaChhLiQkdHlwZW9mKXtjYXNlIHA6Y2FzZSBxOmc9ITB9fWlmKGcpcmV0dXJuIGMoZSxhLFwiXCI9PT1iP1wiLlwiK1UoYSwwKTpiKSwxO2c9MDtiPVwiXCI9PT1iP1wiLlwiOmIrXCI6XCI7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGs9MDtrPGEubGVuZ3RoO2srKyl7ZD1hW2tdO3ZhciBmPWIrVShkLGspO2crPVQoZCxmLGMsZSl9ZWxzZSBpZihudWxsPT09YXx8XCJvYmplY3RcIiE9PXR5cGVvZiBhP2Y9bnVsbDooZj1CJiZhW0JdfHxhW1wiQEBpdGVyYXRvclwiXSxmPVwiZnVuY3Rpb25cIj09PXR5cGVvZiBmP2Y6bnVsbCksXCJmdW5jdGlvblwiPT09dHlwZW9mIGYpZm9yKGE9Zi5jYWxsKGEpLGs9XG4wOyEoZD1hLm5leHQoKSkuZG9uZTspZD1kLnZhbHVlLGY9YitVKGQsaysrKSxnKz1UKGQsZixjLGUpO2Vsc2UgaWYoXCJvYmplY3RcIj09PWQpdGhyb3cgYz1cIlwiK2EsRXJyb3IoQygzMSxcIltvYmplY3QgT2JqZWN0XVwiPT09Yz9cIm9iamVjdCB3aXRoIGtleXMge1wiK09iamVjdC5rZXlzKGEpLmpvaW4oXCIsIFwiKStcIn1cIjpjLFwiXCIpKTtyZXR1cm4gZ31mdW5jdGlvbiBWKGEsYixjKXtyZXR1cm4gbnVsbD09YT8wOlQoYSxcIlwiLGIsYyl9ZnVuY3Rpb24gVShhLGIpe3JldHVyblwib2JqZWN0XCI9PT10eXBlb2YgYSYmbnVsbCE9PWEmJm51bGwhPWEua2V5P2VzY2FwZShhLmtleSk6Yi50b1N0cmluZygzNil9ZnVuY3Rpb24gVyhhLGIpe2EuZnVuYy5jYWxsKGEuY29udGV4dCxiLGEuY291bnQrKyl9XG5mdW5jdGlvbiBhYShhLGIsYyl7dmFyIGU9YS5yZXN1bHQsZD1hLmtleVByZWZpeDthPWEuZnVuYy5jYWxsKGEuY29udGV4dCxiLGEuY291bnQrKyk7QXJyYXkuaXNBcnJheShhKT9YKGEsZSxjLGZ1bmN0aW9uKGEpe3JldHVybiBhfSk6bnVsbCE9YSYmKE8oYSkmJihhPU4oYSxkKyghYS5rZXl8fGImJmIua2V5PT09YS5rZXk/XCJcIjooXCJcIithLmtleSkucmVwbGFjZShQLFwiJCYvXCIpK1wiL1wiKStjKSksZS5wdXNoKGEpKX1mdW5jdGlvbiBYKGEsYixjLGUsZCl7dmFyIGc9XCJcIjtudWxsIT1jJiYoZz0oXCJcIitjKS5yZXBsYWNlKFAsXCIkJi9cIikrXCIvXCIpO2I9UihiLGcsZSxkKTtWKGEsYWEsYik7UyhiKX12YXIgWT17Y3VycmVudDpudWxsfTtmdW5jdGlvbiBaKCl7dmFyIGE9WS5jdXJyZW50O2lmKG51bGw9PT1hKXRocm93IEVycm9yKEMoMzIxKSk7cmV0dXJuIGF9XG52YXIgYmE9e1JlYWN0Q3VycmVudERpc3BhdGNoZXI6WSxSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzp7c3VzcGVuc2U6bnVsbH0sUmVhY3RDdXJyZW50T3duZXI6SixJc1NvbWVSZW5kZXJlckFjdGluZzp7Y3VycmVudDohMX0sYXNzaWduOmx9O2V4cG9ydHMuQ2hpbGRyZW49e21hcDpmdW5jdGlvbihhLGIsYyl7aWYobnVsbD09YSlyZXR1cm4gYTt2YXIgZT1bXTtYKGEsZSxudWxsLGIsYyk7cmV0dXJuIGV9LGZvckVhY2g6ZnVuY3Rpb24oYSxiLGMpe2lmKG51bGw9PWEpcmV0dXJuIGE7Yj1SKG51bGwsbnVsbCxiLGMpO1YoYSxXLGIpO1MoYil9LGNvdW50OmZ1bmN0aW9uKGEpe3JldHVybiBWKGEsZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH0sbnVsbCl9LHRvQXJyYXk6ZnVuY3Rpb24oYSl7dmFyIGI9W107WChhLGIsbnVsbCxmdW5jdGlvbihhKXtyZXR1cm4gYX0pO3JldHVybiBifSxvbmx5OmZ1bmN0aW9uKGEpe2lmKCFPKGEpKXRocm93IEVycm9yKEMoMTQzKSk7cmV0dXJuIGF9fTtcbmV4cG9ydHMuQ29tcG9uZW50PUY7ZXhwb3J0cy5GcmFnbWVudD1yO2V4cG9ydHMuUHJvZmlsZXI9dTtleHBvcnRzLlB1cmVDb21wb25lbnQ9SDtleHBvcnRzLlN0cmljdE1vZGU9dDtleHBvcnRzLlN1c3BlbnNlPXk7ZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1iYTtcbmV4cG9ydHMuY2xvbmVFbGVtZW50PWZ1bmN0aW9uKGEsYixjKXtpZihudWxsPT09YXx8dm9pZCAwPT09YSl0aHJvdyBFcnJvcihDKDI2NyxhKSk7dmFyIGU9bCh7fSxhLnByb3BzKSxkPWEua2V5LGc9YS5yZWYsaz1hLl9vd25lcjtpZihudWxsIT1iKXt2b2lkIDAhPT1iLnJlZiYmKGc9Yi5yZWYsaz1KLmN1cnJlbnQpO3ZvaWQgMCE9PWIua2V5JiYoZD1cIlwiK2Iua2V5KTtpZihhLnR5cGUmJmEudHlwZS5kZWZhdWx0UHJvcHMpdmFyIGY9YS50eXBlLmRlZmF1bHRQcm9wcztmb3IoaCBpbiBiKUsuY2FsbChiLGgpJiYhTC5oYXNPd25Qcm9wZXJ0eShoKSYmKGVbaF09dm9pZCAwPT09YltoXSYmdm9pZCAwIT09Zj9mW2hdOmJbaF0pfXZhciBoPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09aCllLmNoaWxkcmVuPWM7ZWxzZSBpZigxPGgpe2Y9QXJyYXkoaCk7Zm9yKHZhciBtPTA7bTxoO20rKylmW21dPWFyZ3VtZW50c1ttKzJdO2UuY2hpbGRyZW49Zn1yZXR1cm57JCR0eXBlb2Y6cCx0eXBlOmEudHlwZSxcbmtleTpkLHJlZjpnLHByb3BzOmUsX293bmVyOmt9fTtleHBvcnRzLmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oYSxiKXt2b2lkIDA9PT1iJiYoYj1udWxsKTthPXskJHR5cGVvZjp3LF9jYWxjdWxhdGVDaGFuZ2VkQml0czpiLF9jdXJyZW50VmFsdWU6YSxfY3VycmVudFZhbHVlMjphLF90aHJlYWRDb3VudDowLFByb3ZpZGVyOm51bGwsQ29uc3VtZXI6bnVsbH07YS5Qcm92aWRlcj17JCR0eXBlb2Y6dixfY29udGV4dDphfTtyZXR1cm4gYS5Db25zdW1lcj1hfTtleHBvcnRzLmNyZWF0ZUVsZW1lbnQ9TTtleHBvcnRzLmNyZWF0ZUZhY3Rvcnk9ZnVuY3Rpb24oYSl7dmFyIGI9TS5iaW5kKG51bGwsYSk7Yi50eXBlPWE7cmV0dXJuIGJ9O2V4cG9ydHMuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19O2V4cG9ydHMuZm9yd2FyZFJlZj1mdW5jdGlvbihhKXtyZXR1cm57JCR0eXBlb2Y6eCxyZW5kZXI6YX19O2V4cG9ydHMuaXNWYWxpZEVsZW1lbnQ9TztcbmV4cG9ydHMubGF6eT1mdW5jdGlvbihhKXtyZXR1cm57JCR0eXBlb2Y6QSxfY3RvcjphLF9zdGF0dXM6LTEsX3Jlc3VsdDpudWxsfX07ZXhwb3J0cy5tZW1vPWZ1bmN0aW9uKGEsYil7cmV0dXJueyQkdHlwZW9mOnosdHlwZTphLGNvbXBhcmU6dm9pZCAwPT09Yj9udWxsOmJ9fTtleHBvcnRzLnVzZUNhbGxiYWNrPWZ1bmN0aW9uKGEsYil7cmV0dXJuIFooKS51c2VDYWxsYmFjayhhLGIpfTtleHBvcnRzLnVzZUNvbnRleHQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gWigpLnVzZUNvbnRleHQoYSxiKX07ZXhwb3J0cy51c2VEZWJ1Z1ZhbHVlPWZ1bmN0aW9uKCl7fTtleHBvcnRzLnVzZUVmZmVjdD1mdW5jdGlvbihhLGIpe3JldHVybiBaKCkudXNlRWZmZWN0KGEsYil9O2V4cG9ydHMudXNlSW1wZXJhdGl2ZUhhbmRsZT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIFooKS51c2VJbXBlcmF0aXZlSGFuZGxlKGEsYixjKX07XG5leHBvcnRzLnVzZUxheW91dEVmZmVjdD1mdW5jdGlvbihhLGIpe3JldHVybiBaKCkudXNlTGF5b3V0RWZmZWN0KGEsYil9O2V4cG9ydHMudXNlTWVtbz1mdW5jdGlvbihhLGIpe3JldHVybiBaKCkudXNlTWVtbyhhLGIpfTtleHBvcnRzLnVzZVJlZHVjZXI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBaKCkudXNlUmVkdWNlcihhLGIsYyl9O2V4cG9ydHMudXNlUmVmPWZ1bmN0aW9uKGEpe3JldHVybiBaKCkudXNlUmVmKGEpfTtleHBvcnRzLnVzZVN0YXRlPWZ1bmN0aW9uKGEpe3JldHVybiBaKCkudXNlU3RhdGUoYSl9O2V4cG9ydHMudmVyc2lvbj1cIjE2LjE0LjBcIjtcbiIsIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcycpO1xufVxuIiwiJ3VzZSBzdHJpY3QnO1xuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJykge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1ydW50aW1lLnByb2R1Y3Rpb24ubWluLmpzJyk7XG59IGVsc2Uge1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWpzeC1ydW50aW1lLmRldmVsb3BtZW50LmpzJyk7XG59XG4iLCJcInVzZSBzdHJpY3RcIjtcblxudmFyIGlzT2xkSUUgPSBmdW5jdGlvbiBpc09sZElFKCkge1xuICB2YXIgbWVtbztcbiAgcmV0dXJuIGZ1bmN0aW9uIG1lbW9yaXplKCkge1xuICAgIGlmICh0eXBlb2YgbWVtbyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIC8vIFRlc3QgZm9yIElFIDw9IDkgYXMgcHJvcG9zZWQgYnkgQnJvd3NlcmhhY2tzXG4gICAgICAvLyBAc2VlIGh0dHA6Ly9icm93c2VyaGFja3MuY29tLyNoYWNrLWU3MWQ4NjkyZjY1MzM0MTczZmVlNzE1YzIyMmNiODA1XG4gICAgICAvLyBUZXN0cyBmb3IgZXhpc3RlbmNlIG9mIHN0YW5kYXJkIGdsb2JhbHMgaXMgdG8gYWxsb3cgc3R5bGUtbG9hZGVyXG4gICAgICAvLyB0byBvcGVyYXRlIGNvcnJlY3RseSBpbnRvIG5vbi1zdGFuZGFyZCBlbnZpcm9ubWVudHNcbiAgICAgIC8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2stY29udHJpYi9zdHlsZS1sb2FkZXIvaXNzdWVzLzE3N1xuICAgICAgbWVtbyA9IEJvb2xlYW4od2luZG93ICYmIGRvY3VtZW50ICYmIGRvY3VtZW50LmFsbCAmJiAhd2luZG93LmF0b2IpO1xuICAgIH1cblxuICAgIHJldHVybiBtZW1vO1xuICB9O1xufSgpO1xuXG52YXIgZ2V0VGFyZ2V0ID0gZnVuY3Rpb24gZ2V0VGFyZ2V0KCkge1xuICB2YXIgbWVtbyA9IHt9O1xuICByZXR1cm4gZnVuY3Rpb24gbWVtb3JpemUodGFyZ2V0KSB7XG4gICAgaWYgKHR5cGVvZiBtZW1vW3RhcmdldF0gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB2YXIgc3R5bGVUYXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldCk7IC8vIFNwZWNpYWwgY2FzZSB0byByZXR1cm4gaGVhZCBvZiBpZnJhbWUgaW5zdGVhZCBvZiBpZnJhbWUgaXRzZWxmXG5cbiAgICAgIGlmICh3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQgJiYgc3R5bGVUYXJnZXQgaW5zdGFuY2VvZiB3aW5kb3cuSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyBUaGlzIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFjY2VzcyB0byBpZnJhbWUgaXMgYmxvY2tlZFxuICAgICAgICAgIC8vIGR1ZSB0byBjcm9zcy1vcmlnaW4gcmVzdHJpY3Rpb25zXG4gICAgICAgICAgc3R5bGVUYXJnZXQgPSBzdHlsZVRhcmdldC5jb250ZW50RG9jdW1lbnQuaGVhZDtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBuZXh0XG4gICAgICAgICAgc3R5bGVUYXJnZXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1lbW9bdGFyZ2V0XSA9IHN0eWxlVGFyZ2V0O1xuICAgIH1cblxuICAgIHJldHVybiBtZW1vW3RhcmdldF07XG4gIH07XG59KCk7XG5cbnZhciBzdHlsZXNJbkRvbSA9IFtdO1xuXG5mdW5jdGlvbiBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKSB7XG4gIHZhciByZXN1bHQgPSAtMTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlc0luRG9tLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0eWxlc0luRG9tW2ldLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcbiAgICAgIHJlc3VsdCA9IGk7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBtb2R1bGVzVG9Eb20obGlzdCwgb3B0aW9ucykge1xuICB2YXIgaWRDb3VudE1hcCA9IHt9O1xuICB2YXIgaWRlbnRpZmllcnMgPSBbXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaXRlbSA9IGxpc3RbaV07XG4gICAgdmFyIGlkID0gb3B0aW9ucy5iYXNlID8gaXRlbVswXSArIG9wdGlvbnMuYmFzZSA6IGl0ZW1bMF07XG4gICAgdmFyIGNvdW50ID0gaWRDb3VudE1hcFtpZF0gfHwgMDtcbiAgICB2YXIgaWRlbnRpZmllciA9IFwiXCIuY29uY2F0KGlkLCBcIiBcIikuY29uY2F0KGNvdW50KTtcbiAgICBpZENvdW50TWFwW2lkXSA9IGNvdW50ICsgMTtcbiAgICB2YXIgaW5kZXggPSBnZXRJbmRleEJ5SWRlbnRpZmllcihpZGVudGlmaWVyKTtcbiAgICB2YXIgb2JqID0ge1xuICAgICAgY3NzOiBpdGVtWzFdLFxuICAgICAgbWVkaWE6IGl0ZW1bMl0sXG4gICAgICBzb3VyY2VNYXA6IGl0ZW1bM11cbiAgICB9O1xuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgc3R5bGVzSW5Eb21baW5kZXhdLnJlZmVyZW5jZXMrKztcbiAgICAgIHN0eWxlc0luRG9tW2luZGV4XS51cGRhdGVyKG9iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlc0luRG9tLnB1c2goe1xuICAgICAgICBpZGVudGlmaWVyOiBpZGVudGlmaWVyLFxuICAgICAgICB1cGRhdGVyOiBhZGRTdHlsZShvYmosIG9wdGlvbnMpLFxuICAgICAgICByZWZlcmVuY2VzOiAxXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZGVudGlmaWVycy5wdXNoKGlkZW50aWZpZXIpO1xuICB9XG5cbiAgcmV0dXJuIGlkZW50aWZpZXJzO1xufVxuXG5mdW5jdGlvbiBpbnNlcnRTdHlsZUVsZW1lbnQob3B0aW9ucykge1xuICB2YXIgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICB2YXIgYXR0cmlidXRlcyA9IG9wdGlvbnMuYXR0cmlidXRlcyB8fCB7fTtcblxuICBpZiAodHlwZW9mIGF0dHJpYnV0ZXMubm9uY2UgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgdmFyIG5vbmNlID0gdHlwZW9mIF9fd2VicGFja19ub25jZV9fICE9PSAndW5kZWZpbmVkJyA/IF9fd2VicGFja19ub25jZV9fIDogbnVsbDtcblxuICAgIGlmIChub25jZSkge1xuICAgICAgYXR0cmlidXRlcy5ub25jZSA9IG5vbmNlO1xuICAgIH1cbiAgfVxuXG4gIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgIHN0eWxlLnNldEF0dHJpYnV0ZShrZXksIGF0dHJpYnV0ZXNba2V5XSk7XG4gIH0pO1xuXG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5pbnNlcnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvcHRpb25zLmluc2VydChzdHlsZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHRhcmdldCA9IGdldFRhcmdldChvcHRpb25zLmluc2VydCB8fCAnaGVhZCcpO1xuXG4gICAgaWYgKCF0YXJnZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpbmQgYSBzdHlsZSB0YXJnZXQuIFRoaXMgcHJvYmFibHkgbWVhbnMgdGhhdCB0aGUgdmFsdWUgZm9yIHRoZSAnaW5zZXJ0JyBwYXJhbWV0ZXIgaXMgaW52YWxpZC5cIik7XG4gICAgfVxuXG4gICAgdGFyZ2V0LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgfVxuXG4gIHJldHVybiBzdHlsZTtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKSB7XG4gIC8vIGlzdGFuYnVsIGlnbm9yZSBpZlxuICBpZiAoc3R5bGUucGFyZW50Tm9kZSA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHN0eWxlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc3R5bGUpO1xufVxuLyogaXN0YW5idWwgaWdub3JlIG5leHQgICovXG5cblxudmFyIHJlcGxhY2VUZXh0ID0gZnVuY3Rpb24gcmVwbGFjZVRleHQoKSB7XG4gIHZhciB0ZXh0U3RvcmUgPSBbXTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlcGxhY2UoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAgdGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuICAgIHJldHVybiB0ZXh0U3RvcmUuZmlsdGVyKEJvb2xlYW4pLmpvaW4oJ1xcbicpO1xuICB9O1xufSgpO1xuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnKHN0eWxlLCBpbmRleCwgcmVtb3ZlLCBvYmopIHtcbiAgdmFyIGNzcyA9IHJlbW92ZSA/ICcnIDogb2JqLm1lZGlhID8gXCJAbWVkaWEgXCIuY29uY2F0KG9iai5tZWRpYSwgXCIge1wiKS5jb25jYXQob2JqLmNzcywgXCJ9XCIpIDogb2JqLmNzczsgLy8gRm9yIG9sZCBJRVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAgKi9cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBjc3NOb2RlID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKTtcbiAgICB2YXIgY2hpbGROb2RlcyA9IHN0eWxlLmNoaWxkTm9kZXM7XG5cbiAgICBpZiAoY2hpbGROb2Rlc1tpbmRleF0pIHtcbiAgICAgIHN0eWxlLnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKTtcbiAgICB9XG5cbiAgICBpZiAoY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgIHN0eWxlLmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlLmFwcGVuZENoaWxkKGNzc05vZGUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhcHBseVRvVGFnKHN0eWxlLCBvcHRpb25zLCBvYmopIHtcbiAgdmFyIGNzcyA9IG9iai5jc3M7XG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYTtcbiAgdmFyIHNvdXJjZU1hcCA9IG9iai5zb3VyY2VNYXA7XG5cbiAgaWYgKG1lZGlhKSB7XG4gICAgc3R5bGUuc2V0QXR0cmlidXRlKCdtZWRpYScsIG1lZGlhKTtcbiAgfSBlbHNlIHtcbiAgICBzdHlsZS5yZW1vdmVBdHRyaWJ1dGUoJ21lZGlhJyk7XG4gIH1cblxuICBpZiAoc291cmNlTWFwICYmIHR5cGVvZiBidG9hICE9PSAndW5kZWZpbmVkJykge1xuICAgIGNzcyArPSBcIlxcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsXCIuY29uY2F0KGJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHNvdXJjZU1hcCkpKSksIFwiICovXCIpO1xuICB9IC8vIEZvciBvbGQgSUVcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgICovXG5cblxuICBpZiAoc3R5bGUuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlLnN0eWxlU2hlZXQuY3NzVGV4dCA9IGNzcztcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGUuZmlyc3RDaGlsZCkge1xuICAgICAgc3R5bGUucmVtb3ZlQ2hpbGQoc3R5bGUuZmlyc3RDaGlsZCk7XG4gICAgfVxuXG4gICAgc3R5bGUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY3NzKSk7XG4gIH1cbn1cblxudmFyIHNpbmdsZXRvbiA9IG51bGw7XG52YXIgc2luZ2xldG9uQ291bnRlciA9IDA7XG5cbmZ1bmN0aW9uIGFkZFN0eWxlKG9iaiwgb3B0aW9ucykge1xuICB2YXIgc3R5bGU7XG4gIHZhciB1cGRhdGU7XG4gIHZhciByZW1vdmU7XG5cbiAgaWYgKG9wdGlvbnMuc2luZ2xldG9uKSB7XG4gICAgdmFyIHN0eWxlSW5kZXggPSBzaW5nbGV0b25Db3VudGVyKys7XG4gICAgc3R5bGUgPSBzaW5nbGV0b24gfHwgKHNpbmdsZXRvbiA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKSk7XG4gICAgdXBkYXRlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCBmYWxzZSk7XG4gICAgcmVtb3ZlID0gYXBwbHlUb1NpbmdsZXRvblRhZy5iaW5kKG51bGwsIHN0eWxlLCBzdHlsZUluZGV4LCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBzdHlsZSA9IGluc2VydFN0eWxlRWxlbWVudChvcHRpb25zKTtcbiAgICB1cGRhdGUgPSBhcHBseVRvVGFnLmJpbmQobnVsbCwgc3R5bGUsIG9wdGlvbnMpO1xuXG4gICAgcmVtb3ZlID0gZnVuY3Rpb24gcmVtb3ZlKCkge1xuICAgICAgcmVtb3ZlU3R5bGVFbGVtZW50KHN0eWxlKTtcbiAgICB9O1xuICB9XG5cbiAgdXBkYXRlKG9iaik7XG4gIHJldHVybiBmdW5jdGlvbiB1cGRhdGVTdHlsZShuZXdPYmopIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJiBuZXdPYmoubWVkaWEgPT09IG9iai5tZWRpYSAmJiBuZXdPYmouc291cmNlTWFwID09PSBvYmouc291cmNlTWFwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdXBkYXRlKG9iaiA9IG5ld09iaik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpO1xuICAgIH1cbiAgfTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAobGlzdCwgb3B0aW9ucykge1xuICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTsgLy8gRm9yY2Ugc2luZ2xlLXRhZyBzb2x1dGlvbiBvbiBJRTYtOSwgd2hpY2ggaGFzIGEgaGFyZCBsaW1pdCBvbiB0aGUgIyBvZiA8c3R5bGU+XG4gIC8vIHRhZ3MgaXQgd2lsbCBhbGxvdyBvbiBhIHBhZ2VcblxuICBpZiAoIW9wdGlvbnMuc2luZ2xldG9uICYmIHR5cGVvZiBvcHRpb25zLnNpbmdsZXRvbiAhPT0gJ2Jvb2xlYW4nKSB7XG4gICAgb3B0aW9ucy5zaW5nbGV0b24gPSBpc09sZElFKCk7XG4gIH1cblxuICBsaXN0ID0gbGlzdCB8fCBbXTtcbiAgdmFyIGxhc3RJZGVudGlmaWVycyA9IG1vZHVsZXNUb0RvbShsaXN0LCBvcHRpb25zKTtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZShuZXdMaXN0KSB7XG4gICAgbmV3TGlzdCA9IG5ld0xpc3QgfHwgW107XG5cbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG5ld0xpc3QpICE9PSAnW29iamVjdCBBcnJheV0nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsYXN0SWRlbnRpZmllcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW2ldO1xuICAgICAgdmFyIGluZGV4ID0gZ2V0SW5kZXhCeUlkZW50aWZpZXIoaWRlbnRpZmllcik7XG4gICAgICBzdHlsZXNJbkRvbVtpbmRleF0ucmVmZXJlbmNlcy0tO1xuICAgIH1cblxuICAgIHZhciBuZXdMYXN0SWRlbnRpZmllcnMgPSBtb2R1bGVzVG9Eb20obmV3TGlzdCwgb3B0aW9ucyk7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbGFzdElkZW50aWZpZXJzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIF9pZGVudGlmaWVyID0gbGFzdElkZW50aWZpZXJzW19pXTtcblxuICAgICAgdmFyIF9pbmRleCA9IGdldEluZGV4QnlJZGVudGlmaWVyKF9pZGVudGlmaWVyKTtcblxuICAgICAgaWYgKHN0eWxlc0luRG9tW19pbmRleF0ucmVmZXJlbmNlcyA9PT0gMCkge1xuICAgICAgICBzdHlsZXNJbkRvbVtfaW5kZXhdLnVwZGF0ZXIoKTtcblxuICAgICAgICBzdHlsZXNJbkRvbS5zcGxpY2UoX2luZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0SWRlbnRpZmllcnMgPSBuZXdMYXN0SWRlbnRpZmllcnM7XG4gIH07XG59OyIsIi8vIFRoZSBtb2R1bGUgY2FjaGVcbnZhciBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX18gPSB7fTtcblxuLy8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbmZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG5cdHZhciBjYWNoZWRNb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdO1xuXHRpZiAoY2FjaGVkTW9kdWxlICE9PSB1bmRlZmluZWQpIHtcblx0XHRyZXR1cm4gY2FjaGVkTW9kdWxlLmV4cG9ydHM7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0aWQ6IG1vZHVsZUlkLFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0obW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCIvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuX193ZWJwYWNrX3JlcXVpcmVfXy5uID0gKG1vZHVsZSkgPT4ge1xuXHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cblx0XHQoKSA9PiAobW9kdWxlWydkZWZhdWx0J10pIDpcblx0XHQoKSA9PiAobW9kdWxlKTtcblx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgeyBhOiBnZXR0ZXIgfSk7XG5cdHJldHVybiBnZXR0ZXI7XG59OyIsIi8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb25zIGZvciBoYXJtb255IGV4cG9ydHNcbl9fd2VicGFja19yZXF1aXJlX18uZCA9IChleHBvcnRzLCBkZWZpbml0aW9uKSA9PiB7XG5cdGZvcih2YXIga2V5IGluIGRlZmluaXRpb24pIHtcblx0XHRpZihfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZGVmaW5pdGlvbiwga2V5KSAmJiAhX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIGtleSkpIHtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBkZWZpbml0aW9uW2tleV0gfSk7XG5cdFx0fVxuXHR9XG59OyIsIl9fd2VicGFja19yZXF1aXJlX18ubyA9IChvYmosIHByb3ApID0+IChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBwcm9wKSkiLCIvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSAoZXhwb3J0cykgPT4ge1xuXHRpZih0eXBlb2YgU3ltYm9sICE9PSAndW5kZWZpbmVkJyAmJiBTeW1ib2wudG9TdHJpbmdUYWcpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcblx0fVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xufTsiLCJpbXBvcnQgYXBpIGZyb20gXCIhLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9kaXN0L3J1bnRpbWUvaW5qZWN0U3R5bGVzSW50b1N0eWxlVGFnLmpzXCI7XG4gICAgICAgICAgICBpbXBvcnQgY29udGVudCBmcm9tIFwiISEuLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuL2Jhbm5lci5jc3NcIjtcblxudmFyIG9wdGlvbnMgPSB7fTtcblxub3B0aW9ucy5pbnNlcnQgPSBcImhlYWRcIjtcbm9wdGlvbnMuc2luZ2xldG9uID0gZmFsc2U7XG5cbnZhciB1cGRhdGUgPSBhcGkoY29udGVudCwgb3B0aW9ucyk7XG5cblxuXG5leHBvcnQgZGVmYXVsdCBjb250ZW50LmxvY2FscyB8fCB7fTsiLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSBcInJlYWN0XCI7XHJcblxyXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xyXG5pbXBvcnQgXCIuL2Jhbm5lci5jc3NcIjtcclxuXHJcbi8qKlxyXG4gKiBCYW5uZXIgY29tcG9uZW50XHJcbiAqIEBhdXRob3IgW0pvc2UgQW50b25pbyBDaWNjaW9dKGh0dHBzOi8vZ2l0aHViLmNvbS9qY2ljY2lvKVxyXG4gKi9cclxuXHJcbmNsYXNzIEJhbm5lciBleHRlbmRzIENvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcclxuICAgIHN1cGVyKHByb3BzKTtcclxuICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICB2aXNpYmxlVGltZTogMCxcclxuICAgICAgc2hvdzogdW5kZWZpbmVkXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSkge1xyXG4gICAgaWYgKG5leHRQcm9wcy52aXNpYmxlVGltZSAhPT0gdW5kZWZpbmVkICAmJiBuZXh0UHJvcHMudmlzaWJsZVRpbWUgPiAwKXtcclxuICAgICAgbGV0IG5ld1N0YXRlID0ge1xyXG4gICAgICAgIGJhbm5lck1lc3NhZ2U6IG5leHRQcm9wcy5iYW5uZXJNZXNzYWdlLFxyXG4gICAgICAgIHZpc2libGVUaW1lOiBuZXh0UHJvcHMudmlzaWJsZVRpbWVcclxuICAgICAgfTtcclxuICAgICAgcmV0dXJuIG5ld1N0YXRlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZW5kZXIoKSB7XHJcbiAgICBsZXQgYXBwZWFyVGltZSA9IHRoaXMucHJvcHMudHJhbnNpdGlvbkFwcGVhclRpbWUgPyB0aGlzLnByb3BzLnRyYW5zaXRpb25BcHBlYXJUaW1lOiAxMDAwO1xyXG4gICAgbGV0IHRyYW5zaXRpb25UaW1lID0gdGhpcy5wcm9wcy50cmFuc2l0aW9uVGltZSA/IHRoaXMucHJvcHMudHJhbnNpdGlvblRpbWU6IDEwMDA7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLnJlbmRlckJhbm5lcigpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVuZGVySW1hZ2UoKXtcclxuICAgIGlmICh0aGlzLnByb3BzLmltYWdlICYmIHRoaXMucHJvcHMuaW1hZ2VDbGFzcyl7XHJcbiAgICAgIHJldHVybihcclxuICAgICAgICA8aW1nIFxyXG4gICAgICAgICAgc3JjPXt0aGlzLnByb3BzLmltYWdlfSBcclxuICAgICAgICAgIGNsYXNzTmFtZT17dGhpcy5wcm9wcy5pbWFnZUNsYXNzfVxyXG4gICAgICAgIC8+XHJcbiAgICAgIClcclxuICAgIH1cclxuICAgIGVsc2UgaWYodGhpcy5wcm9wcy5pbWFnZSl7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgPGltZyBcclxuICAgICAgICAgIHNyYz17dGhpcy5wcm9wcy5pbWFnZX0gXHJcbiAgICAgICAgLz5cclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgZWxzZXtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBoaWRlQmFubmVyKCkge1xyXG4gICAgaWYodGhpcy5wcm9wcy52aXNpYmxlVGltZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMucHJvcHMudmlzaWJsZVRpbWUgPiAwKVxyXG4gICAge1xyXG4gICAgICBhd2FpdCB0aGlzLnRpbWVvdXQoMTAwMCArIHRoaXMucHJvcHMudmlzaWJsZVRpbWUpO1xyXG4gICAgICBhd2FpdCB0aGlzLnNldFN0YXRlKHsgc2hvdzogZmFsc2UgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHJlbmRlckJhbm5lcigpIHtcclxuICAgIGxldCBzaG93QmFubmVyID0gdGhpcy5wcm9wcy5zaG93QmFubmVyICE9PSB1bmRlZmluZWQgPyB0aGlzLnByb3BzLnNob3dCYW5uZXIgOiB0cnVlO1xyXG4gICAgaWYoc2hvd0Jhbm5lcil7XHJcbiAgICAgIGlmICh0aGlzLnByb3BzLnRpdGxlICYmICh0aGlzLnN0YXRlLnNob3cgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnN0YXRlLnNob3cpICkge1xyXG4gICAgICAgIHt0aGlzLmhpZGVCYW5uZXIoKX1cclxuICAgICAgICByZXR1cm4gKFxyXG4gICAgICAgICAgPGRpdiBrZXk9XCJiYW5uZXJcIiBjbGFzc05hbWU9XCJiYW5uZXJcIiBzdHlsZT17dGhpcy5wcm9wcy5jc3N9PlxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJJbWFnZSgpfVxyXG4gICAgICAgICAgICB7dGhpcy5yZW5kZXJUaXRsZSgpfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICh0aGlzLnByb3BzLmNoaWxkcmVuKXtcclxuICAgICAgICByZXR1cm4oXHJcbiAgICAgICAgICA8ZGl2IGtleT1cImJhbm5lclwiIGNsYXNzTmFtZT1cImJhbm5lclwiIHN0eWxlPXt0aGlzLnByb3BzLmNzc30+XHJcbiAgICAgICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgKVxyXG4gICAgICB9IFxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICByZW5kZXJUaXRsZSgpe1xyXG4gICAgcmV0dXJuIDxkaXY+e3RoaXMucHJvcHMudGl0bGV9PC9kaXY+XHJcbiAgfVxyXG5cclxuICB0aW1lb3V0KG1zKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuQmFubmVyLnByb3BUeXBlcyA9IHtcclxuICB0aXRsZTogUHJvcFR5cGVzLm5vZGUsXHJcbiAgY3NzOiBQcm9wVHlwZXMub2JqZWN0LFxyXG4gIHZpc2libGVUaW1lOiBQcm9wVHlwZXMubnVtYmVyLFxyXG4gIGltYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxyXG4gIGltYWdlQ2xhc3M6IFByb3BUeXBlcy5zdHJpbmcsXHJcbiAgdHJhbnNpdGlvbkFwcGVhclRpbWU6IFByb3BUeXBlcy5udW1iZXIsXHJcbiAgdHJhbnNpdGlvblRpbWU6IFByb3BUeXBlcy5udW1iZXIsXHJcbiAgc2hvd0Jhbm5lcjogUHJvcFR5cGVzLmJvb2wsXHJcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlXHJcbn07XHJcblxyXG5leHBvcnQgZGVmYXVsdCBCYW5uZXI7XHJcbiJdLCJzb3VyY2VSb290IjoiIn0=
2
+ (()=>{var t={665:(t,e,r)=>{"use strict";r.r(e),r.d(e,{default:()=>c});var n=r(601),o=r.n(n),i=r(314),a=r.n(i)()(o());a.push([t.id,".banner{\n background-color: orange;\n text-align: center;\n padding: 10px 10px;\n font-size: 16px;\n font-weight: bold;\n display: flex;\n margin-bottom: 10px;\n text-align: center;\n align-items: center;\n justify-content: center;\n}\n\n.banner-transition-appear {\n opacity: 0.01;\n}\n\n.banner-transition-appear.banner-transition-appear-active {\n opacity: 1;\n transition: opacity 2s ease;\n}\n\n.banner-transition-leave {\n opacity: 1;\n}\n\n.banner-transition-leave.banner-transition-leave-active {\n opacity: 0.01;\n transition: opacity 2s ease;\n}\n",""]);const c=a},314:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var r="",n=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),n&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,o,i){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(n)for(var c=0;c<this.length;c++){var s=this[c][0];null!=s&&(a[s]=!0)}for(var u=0;u<t.length;u++){var l=[].concat(t[u]);n&&a[l[0]]||(void 0!==i&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=i),r&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=r):l[2]=r),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},601:t=>{"use strict";t.exports=function(t){return t[1]}},694:(t,e,r)=>{"use strict";var n=r(925);function o(){}function i(){}i.resetWarningCache=o,t.exports=function(){function t(t,e,r,o,i,a){if(a!==n){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function e(){return t}t.isRequired=t;var r={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},556:(t,e,r)=>{t.exports=r(694)()},925:t=>{"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},348:(t,e,r)=>{var n=r(72),o=r(665);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[t.id,o,""]]);n(o,{insert:"head",singleton:!1}),t.exports=o.locals||{}},72:(t,e,r)=>{"use strict";var n,o=function(){var t={};return function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(t){r=null}t[e]=r}return t[e]}}(),i=[];function a(t){for(var e=-1,r=0;r<i.length;r++)if(i[r].identifier===t){e=r;break}return e}function c(t,e){for(var r={},n=[],o=0;o<t.length;o++){var c=t[o],s=e.base?c[0]+e.base:c[0],u=r[s]||0,l="".concat(s," ").concat(u);r[s]=u+1;var f=a(l),p={css:c[1],media:c[2],sourceMap:c[3]};-1!==f?(i[f].references++,i[f].updater(p)):i.push({identifier:l,updater:v(p,e),references:1}),n.push(l)}return n}function s(t){var e=document.createElement("style"),n=t.attributes||{};if(void 0===n.nonce){var i=r.nc;i&&(n.nonce=i)}if(Object.keys(n).forEach((function(t){e.setAttribute(t,n[t])})),"function"==typeof t.insert)t.insert(e);else{var a=o(t.insert||"head");if(!a)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");a.appendChild(e)}return e}var u,l=(u=[],function(t,e){return u[t]=e,u.filter(Boolean).join("\n")});function f(t,e,r,n){var o=r?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(t.styleSheet)t.styleSheet.cssText=l(e,o);else{var i=document.createTextNode(o),a=t.childNodes;a[e]&&t.removeChild(a[e]),a.length?t.insertBefore(i,a[e]):t.appendChild(i)}}function p(t,e,r){var n=r.css,o=r.media,i=r.sourceMap;if(o?t.setAttribute("media",o):t.removeAttribute("media"),i&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}var h=null,d=0;function v(t,e){var r,n,o;if(e.singleton){var i=d++;r=h||(h=s(e)),n=f.bind(null,r,i,!1),o=f.bind(null,r,i,!0)}else r=s(e),n=p.bind(null,r,e),o=function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(r)};return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else o()}}t.exports=function(t,e){(e=e||{}).singleton||"boolean"==typeof e.singleton||(e.singleton=(void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n));var r=c(t=t||[],e);return function(t){if(t=t||[],"[object Array]"===Object.prototype.toString.call(t)){for(var n=0;n<r.length;n++){var o=a(r[n]);i[o].references--}for(var s=c(t,e),u=0;u<r.length;u++){var l=a(r[u]);0===i[l].references&&(i[l].updater(),i.splice(l,1))}r=s}}}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={id:n,exports:{}};return t[n](i,i.exports,r),i.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.nc=void 0;var n={};(()=>{"use strict";r.r(n),r.d(n,{default:()=>y});const t=require("react");var e=r.n(t),o=r(556),i=r.n(o);function a(t){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(t)}function c(){c=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",l=i.toStringTag||"@@toStringTag";function f(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{f({},"")}catch(t){f=function(t,e,r){return t[e]=r}}function p(t,e,r,n){var i=e&&e.prototype instanceof g?e:g,a=Object.create(i.prototype),c=new N(n||[]);return o(a,"_invoke",{value:S(t,r,c)}),a}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=p;var d="suspendedStart",v="suspendedYield",y="executing",m="completed",b={};function g(){}function w(){}function x(){}var T={};f(T,s,(function(){return this}));var O=Object.getPrototypeOf,E=O&&O(O(B([])));E&&E!==r&&n.call(E,s)&&(T=E);var j=x.prototype=g.prototype=Object.create(T);function _(t){["next","throw","return"].forEach((function(e){f(t,e,(function(t){return this._invoke(e,t)}))}))}function L(t,e){function r(o,i,c,s){var u=h(t[o],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==a(f)&&n.call(f,"__await")?e.resolve(f.__await).then((function(t){r("next",t,c,s)}),(function(t){r("throw",t,c,s)})):e.resolve(f).then((function(t){l.value=t,c(l)}),(function(t){return r("throw",t,c,s)}))}s(u.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function S(e,r,n){var o=d;return function(i,a){if(o===y)throw Error("Generator is already running");if(o===m){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var s=P(c,n);if(s){if(s===b)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===d)throw o=m,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=y;var u=h(e,r,n);if("normal"===u.type){if(o=n.done?m:v,u.arg===b)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=m,n.method="throw",n.arg=u.arg)}}}function P(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),b;var i=h(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,b;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,b):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,b)}function k(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function C(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function N(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(k,this),this.reset(!0)}function B(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(a(e)+" is not iterable")}return w.prototype=x,o(j,"constructor",{value:x,configurable:!0}),o(x,"constructor",{value:w,configurable:!0}),w.displayName=f(x,l,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===w||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,x):(t.__proto__=x,f(t,l,"GeneratorFunction")),t.prototype=Object.create(j),t},e.awrap=function(t){return{__await:t}},_(L.prototype),f(L.prototype,u,(function(){return this})),e.AsyncIterator=L,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new L(p(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},_(j),f(j,l,"Generator"),f(j,s,(function(){return this})),f(j,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=B,N.prototype={constructor:N,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(C),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return c.type="throw",c.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,b):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),b},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),C(r),b}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;C(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:B(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),b}},e}function s(t,e,r,n,o,i,a){try{var c=t[i](a),s=c.value}catch(t){return void r(t)}c.done?e(s):Promise.resolve(s).then(n,o)}function u(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,l(n.key),n)}}function l(t){var e=function(t,e){if("object"!=a(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=a(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==a(e)?e:e+""}function f(t,e,r){return e=h(e),function(t,e){if(e&&("object"===a(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,p()?Reflect.construct(e,r||[],h(t).constructor):e.apply(t,r))}function p(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(p=function(){return!!t})()}function h(t){return h=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},h(t)}function d(t,e){return d=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},d(t,e)}r(348);var v=function(t){function r(t){var e;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,r),(e=f(this,r,[t])).state={visibleTime:0,show:void 0},e}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&d(t,e)}(r,t),n=r,o=[{key:"render",value:function(){return this.props.transitionAppearTime&&this.props.transitionAppearTime,this.props.transitionTime&&this.props.transitionTime,this.renderBanner()}},{key:"renderImage",value:function(){return this.props.image&&this.props.imageClass?e().createElement("img",{src:this.props.image,className:this.props.imageClass}):this.props.image?e().createElement("img",{src:this.props.image}):null}},{key:"hideBanner",value:(a=c().mark((function t(){return c().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(void 0!==this.props.visibleTime&&this.props.visibleTime>0)){t.next=5;break}return t.next=3,this.timeout(1e3+this.props.visibleTime);case 3:return t.next=5,this.setState({show:!1});case 5:case"end":return t.stop()}}),t,this)})),l=function(){var t=this,e=arguments;return new Promise((function(r,n){var o=a.apply(t,e);function i(t){s(o,r,n,i,c,"next",t)}function c(t){s(o,r,n,i,c,"throw",t)}i(void 0)}))},function(){return l.apply(this,arguments)})},{key:"renderBanner",value:function(){return void 0===this.props.showBanner||this.props.showBanner?this.props.title&&(void 0===this.state.show||this.state.show)?(this.hideBanner(),e().createElement("div",{key:"banner",className:"banner",style:this.props.css},this.renderImage(),this.renderTitle())):this.props.children?e().createElement("div",{key:"banner",className:"banner",style:this.props.css},this.props.children):null:null}},{key:"renderTitle",value:function(){return e().createElement("div",null,this.props.title)}},{key:"timeout",value:function(t){return new Promise((function(e){return setTimeout(e,t)}))}}],i=[{key:"getDerivedStateFromProps",value:function(t,e){return void 0!==t.visibleTime&&t.visibleTime>0?{bannerMessage:t.bannerMessage,visibleTime:t.visibleTime}:null}}],o&&u(n.prototype,o),i&&u(n,i),Object.defineProperty(n,"prototype",{writable:!1}),n;var n,o,i,a,l}(t.Component);v.propTypes={title:i().node,css:i().object,visibleTime:i().number,image:i().string,imageClass:i().string,transitionAppearTime:i().number,transitionTime:i().number,showBanner:i().bool,children:i().node};const y=v})(),module.exports=n})();
@@ -1,23 +1 @@
1
- /*
2
- object-assign
3
- (c) Sindre Sorhus
4
- @license MIT
5
- */
6
-
7
- /** @license React v16.14.0
8
- * react-jsx-runtime.production.min.js
9
- *
10
- * Copyright (c) Facebook, Inc. and its affiliates.
11
- *
12
- * This source code is licensed under the MIT license found in the
13
- * LICENSE file in the root directory of this source tree.
14
- */
15
-
16
- /** @license React v16.14.0
17
- * react.production.min.js
18
- *
19
- * Copyright (c) Facebook, Inc. and its affiliates.
20
- *
21
- * This source code is licensed under the MIT license found in the
22
- * LICENSE file in the root directory of this source tree.
23
- */
1
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
package/package.json CHANGED
@@ -1,12 +1,17 @@
1
1
  {
2
2
  "name": "react-js-banner",
3
- "version": "0.6.0-beta3",
3
+ "version": "0.6.0",
4
4
  "description": "React JS Banner component customizable with auto hide option",
5
5
  "main": "build/index.js",
6
6
  "peerDependencies": {
7
- "react": "^16.8.0"
7
+ "react": "^16.0.0"
8
8
  },
9
9
  "dependencies": {
10
+ "@babel/polyfill": "^7.8.7",
11
+ "babel-preset-react": "^6.24.1",
12
+ "core-js": "^3.36.1",
13
+ "react": "^16.0.0",
14
+ "regenerator-runtime": "^0.14.1"
10
15
  },
11
16
  "scripts": {
12
17
  "start": "webpack --watch",
@@ -17,18 +22,20 @@
17
22
  "email": "jciccio@gmail.com"
18
23
  },
19
24
  "devDependencies": {
20
- "@babel/core": "^7.13.14",
21
- "@babel/plugin-proposal-class-properties": "^7.13.0",
22
- "@babel/preset-env": "^7.13.12",
23
- "@babel/preset-react": "^7.13.13",
24
- "babel-loader": "^8.2.2",
25
- "css-loader": "^5.2.0",
25
+ "@babel/core": "^7.8.7",
26
+ "@babel/plugin-proposal-class-properties": "^7.8.3",
27
+ "@babel/preset-env": "^7.8.7",
28
+ "@babel/preset-react": "^7.24.1",
29
+ "babel-loader": "^9.1.3",
30
+ "css-loader": "^6.10.0",
26
31
  "eslint": "^6.8.0",
27
- "react": "^16.14.0",
28
- "react-dom": "^16.14.0",
29
- "style-loader": "^2.0.0",
30
- "webpack": "^5.30.0",
31
- "webpack-cli": "^4.6.0"
32
+ "eslint-config-airbnb-base": "^14.0.0",
33
+ "eslint-plugin-import": "^2.20.1",
34
+ "eslint-plugin-react": "^7.19.0",
35
+ "react-dom": "^16.6.3",
36
+ "style-loader": "^1.0.1",
37
+ "webpack": "^5.9.0",
38
+ "webpack-cli": "^4.2.0"
32
39
  },
33
40
  "repository": {
34
41
  "type": "git",
package/webpack.config.js CHANGED
@@ -1,10 +1,7 @@
1
- const path = require('path');
2
-
3
- //const HTMLWebpackPlugin = require('html-webpack-plugin');
4
-
1
+ var path = require('path');
5
2
  module.exports = {
6
- entry: './src/index.js',
7
3
  mode: 'production',
4
+ entry: './src/index.js',
8
5
  output: {
9
6
  path: path.resolve(__dirname, 'build'),
10
7
  filename: 'index.js',
@@ -21,14 +18,6 @@ module.exports = {
21
18
  loader: 'babel-loader'
22
19
  }
23
20
  },
24
- {
25
- test:/\.html$/i,
26
- use: [
27
- {
28
- loader: 'html-loader'
29
- }
30
- ]
31
- },
32
21
  {
33
22
  test: /\.css$/,
34
23
  include: path.resolve(__dirname, 'src'),
@@ -37,11 +26,7 @@ module.exports = {
37
26
  }
38
27
  ]
39
28
  },
40
- resolve: {
41
- extensions: [".js",".jsx", '.json']
42
- },
43
- devtool: 'inline-source-map'
44
-
45
-
46
-
29
+ externals: {
30
+ 'react': 'commonjs react' // this line is just to use the React dependency of our parent-testing-project instead of using our own React.
31
+ }
47
32
  };
package/.eslintrc.json DELETED
@@ -1 +0,0 @@
1
- {}