node-red-contrib-chatbot
Version:
REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required
2 lines • 23.3 kB
JavaScript
"use strict";(self.webpackChunknode_red_contrib_chatbot=self.webpackChunknode_red_contrib_chatbot||[]).push([[293],{47293:(e,n,a)=>{a.r(n);var t=a(67294),l=a(18985),o=a(78971),r=a(84197),s=a(46111),i=a(80091),u=a(63792),c=a(71777),m=a(77560),d=a(66352),p=a(89061),g=a(96486),h=a.n(g),y=a(88182);const{StringType:f,ArrayType:b,ObjectType:E,DateType:v}=y.Z.Types,Z=y.Z.Model({openings:b().of(E().shape({start:v().isRequired("Specify starting hour"),end:v().isRequired("Specify ending hour"),range:f().isRequired("Select a range for opening hours")})).addRule((e=>h().isArray(e)&&0!==e.length),"Specify at least an opening hour")});var S=a(50721),w=a(55505),C=a(94973),T=a(45697),k=a.n(T);const O=[{value:"mo",label:"Monday"},{value:"tu",label:"Tuesday"},{value:"we",label:"Wednesday"},{value:"th",label:"Thursday"},{value:"fr",label:"Friday"},{value:"sa",label:"Saturday"},{value:"su",label:"Sunday"},{value:"mo-fr",label:"Monday - Friday"},{value:"mo-sa",label:"Monday - Saturday"},{value:"mo-su",label:"Monday - Sunday"},{value:"sa-su",label:"Saturday - Sunday"}];var H=a(36329);const R=e=>{const n=new Date(e);return(0,H.Z)(n)?n:null},M=({value:e,onChange:n,disabled:a=!1})=>t.createElement("div",null,t.createElement(S.Z,{justify:"space-between"},t.createElement(S.Z.Item,{colspan:7},t.createElement(w.Z,{readOnly:a,format:"HH:mm",value:R(e.start),style:{width:"100%"},onChange:a=>n({...e,start:a})})),t.createElement(S.Z.Item,{colspan:7},t.createElement(w.Z,{readOnly:a,value:R(e.end),format:"HH:mm",style:{width:"100%"},onChange:a=>n({...e,end:a})})),t.createElement(S.Z.Item,{colspan:8},t.createElement(C.Z,{readOnly:a,format:"HH:mm",block:!0,value:e.range,data:O,style:{width:"100%"},onChange:a=>n({...e,range:a})}))));M.propTypes={value:k().shape({start:k().string,end:k().string,range:k().oneOf(["mo","tu","we","th","fr","sa","su","mo-fr","mo-sa","mo-su","sa-su"])})};const N=M,_=[{name:"openings.openWhen",description:"Text shown before the list of opening hours"},{name:"openings.monday"},{name:"openings.tuesday"},{name:"openings.wednesday"},{name:"openings.thursday"},{name:"openings.friday"},{name:"openings.saturday"},{name:"openings.sunday"},{name:"openings.monfri"},{name:"openings.monsat"},{name:"openings.monsun"},{name:"openings.satsun"},{name:"openings.yes"},{name:"openings.no"}],{NodeRedNode:x,SlugHelp:A,TypeCommand:I}=o.AK;(0,l.plug)("sidebar",null,{id:"configuration",label:"Configuration",permission:"configure",icon:"cog",options:[{id:"configuration-hours",label:"Opening hours",url:"/configuration-openings"}]}),(0,l.plug)("pages",(0,o.ln)("shop-openings",(({value:e,onSubmit:n=(()=>{}),disabled:a=!1})=>{const[l,g]=(0,t.useState)(e),[h,y]=(0,t.useState)(null),[f,b]=(0,t.useState)("openings"),E=(0,t.useRef)(null);return t.createElement("div",null,t.createElement(r.Z,{appearance:"tabs",activeKey:f,onSelect:b,style:{marginBottom:"25px"}},t.createElement(r.Z.Item,{eventKey:"openings"},"Openings"),t.createElement(r.Z.Item,{eventKey:"translations"},"Translations")),t.createElement(s.Z,{model:Z,disabled:!0,formValue:l,formError:h,ref:E,checkTrigger:"none",layout:"vertical",fluid:!0,onChange:e=>{g(e),y(null)},onCheck:e=>{y(e)}},"translations"===f&&t.createElement(t.Fragment,null,t.createElement(i.Z,null,t.createElement(u.Z,{name:"translations",accepter:o.Xy,schema:_,disabled:a}))),"openings"===f&&t.createElement(t.Fragment,null,t.createElement(i.Z,null,t.createElement(c.Z,null,"Openings hours"),t.createElement(u.Z,{name:"openings",accepter:o.JX,form:N,labelAdd:"Add opening hour",disabled:a})),t.createElement(i.Z,null,t.createElement(c.Z,null,"Content"),t.createElement(u.Z,{useSlug:!0,readOnly:a,name:"content",accepter:o.MN}),t.createElement(m.Z,null,"Select a ",t.createElement("em",null,"slug")," for a multi-language content to show additional information when a user requests information about opening hours")),t.createElement(i.Z,null,t.createElement(c.Z,null,"Sensitivity"),t.createElement(u.Z,{disabled:a,name:"threshold",accepter:o.nH}),t.createElement(m.Z,null,"The minimum score of an intent to be considered relevant. Lower this value if the NLP doesn't catch any intent of the user input, raise this value if the NLP of this block is interfering with the NLP of other blocks."))),t.createElement(i.Z,{style:{marginTop:"40px"}},t.createElement(d.Z,null,t.createElement(p.Z,{disabled:a,appearance:"primary",onClick:()=>{E.current.check()&&n(l)}},"Save configuration"),t.createElement(p.Z,{disabled:a,appearance:"default",onClick:()=>{confirm("Reset configuration?")&&g(e)}},"Reset")))))}),{Legend:()=>t.createElement("div",null,t.createElement(x,null,"Opening Hours node"),t.createElement("p",null,"Configure the behaviour of this node: customize the opening hours and and some additional content (for example to show extra openings, etc)."),t.createElement(A,null)),title:"Opening Hours"}),{permission:"configure",url:"/configuration-openings",title:"Opening Hours",id:"configuration"})}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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dHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9zaG9wLW9wZW5pbmdzL21vZGVscy5qcyIsIndlYnBhY2s6Ly9ub2RlLXJlZC1jb250cmliLWNoYXRib3QvLi9wbHVnaW5zL3Nob3Atb3BlbmluZ3MvaGVscGVycy9kYXlzLmpzIiwid2VicGFjazovL25vZGUtcmVkLWNvbnRyaWItY2hhdGJvdC8uL3BsdWdpbnMvc2hvcC1vcGVuaW5ncy92aWV3cy9mb3JtLW9wZW5pbmcuanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9zaG9wLW9wZW5pbmdzL3ZpZXdzL2Zvcm0uanMiLCJ3ZWJwYWNrOi8vbm9kZS1yZWQtY29udHJpYi1jaGF0Ym90Ly4vcGx1Z2lucy9zaG9wLW9wZW5pbmdzL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICdyc3VpdGUnO1xuXG5jb25zdCB7IFN0cmluZ1R5cGUsIEFycmF5VHlwZSwgT2JqZWN0VHlwZSwgRGF0ZVR5cGUgfSA9IFNjaGVtYS5UeXBlcztcblxuY29uc3Qgb3BlbmluZyA9IFNjaGVtYS5Nb2RlbCh7XG4gIG9wZW5pbmdzOiBBcnJheVR5cGUoKS5vZihPYmplY3RUeXBlKClcbiAgICAuc2hhcGUoe1xuICAgICAgc3RhcnQ6IERhdGVUeXBlKClcbiAgICAgICAgLmlzUmVxdWlyZWQoJ1NwZWNpZnkgc3RhcnRpbmcgaG91cicpLFxuICAgICAgZW5kOiBEYXRlVHlwZSgpXG4gICAgICAgIC5pc1JlcXVpcmVkKCdTcGVjaWZ5IGVuZGluZyBob3VyJyksXG4gICAgICByYW5nZTogU3RyaW5nVHlwZSgpXG4gICAgICAgIC5pc1JlcXVpcmVkKCdTZWxlY3QgYSByYW5nZSBmb3Igb3BlbmluZyBob3VycycpXG4gICAgfSkpXG4gICAgLmFkZFJ1bGUoXG4gICAgICB2YWx1ZSA9PiBfLmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCAhPT0gMCxcbiAgICAgICdTcGVjaWZ5IGF0IGxlYXN0IGFuIG9wZW5pbmcgaG91cidcbiAgICApXG59KTtcblxuZXhwb3J0IHsgb3BlbmluZyB9OyIsImV4cG9ydCBkZWZhdWx0IFtcbiAgeyB2YWx1ZTogJ21vJywgbGFiZWw6ICdNb25kYXknIH0sXG4gIHsgdmFsdWU6ICd0dScsIGxhYmVsOiAnVHVlc2RheScgfSxcbiAgeyB2YWx1ZTogJ3dlJywgbGFiZWw6ICdXZWRuZXNkYXknIH0sXG4gIHsgdmFsdWU6ICd0aCcsIGxhYmVsOiAnVGh1cnNkYXknIH0sXG4gIHsgdmFsdWU6ICdmcicsIGxhYmVsOiAnRnJpZGF5JyB9LFxuICB7IHZhbHVlOiAnc2EnLCBsYWJlbDogJ1NhdHVyZGF5JyB9LFxuICB7IHZhbHVlOiAnc3UnLCBsYWJlbDogJ1N1bmRheScgfSxcbiAgeyB2YWx1ZTogJ21vLWZyJywgbGFiZWw6ICdNb25kYXkgLSBGcmlkYXknIH0sXG4gIHsgdmFsdWU6ICdtby1zYScsIGxhYmVsOiAnTW9uZGF5IC0gU2F0dXJkYXknIH0sXG4gIHsgdmFsdWU6ICdtby1zdScsIGxhYmVsOiAnTW9uZGF5IC0gU3VuZGF5JyB9LFxuICB7IHZhbHVlOiAnc2Etc3UnLCBsYWJlbDogJ1NhdHVyZGF5IC0gU3VuZGF5JyB9XG5dOyIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBEYXRlUGlja2VyLCBGbGV4Ym94R3JpZCwgU2VsZWN0UGlja2VyIH0gZnJvbSAncnN1aXRlJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmltcG9ydCBTRUxFQ1RfREFZUyBmcm9tICcuLi9oZWxwZXJzL2RheXMnO1xuaW1wb3J0IGlzVmFsaWREYXRlIGZyb20gJy4uLy4uLy4uL3NyYy9oZWxwZXJzL2lzLXZhbGlkLWRhdGUnO1xuXG5jb25zdCBpZkRhdGUgPSBzdHIgPT4ge1xuICBjb25zdCB0ZW1wID0gbmV3IERhdGUoc3RyKTtcbiAgcmV0dXJuIGlzVmFsaWREYXRlKHRlbXApID8gdGVtcCA6IG51bGw7XG59XG5cbmNvbnN0IEZvcm1PcGVuaW5nID0gKHsgdmFsdWUsIG9uQ2hhbmdlLCBkaXNhYmxlZCA9IGZhbHNlIH0pID0+IChcbiAgPGRpdj5cbiAgICA8RmxleGJveEdyaWQganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIj5cbiAgICAgIDxGbGV4Ym94R3JpZC5JdGVtIGNvbHNwYW49ezd9PlxuICAgICAgICA8RGF0ZVBpY2tlciBcbiAgICAgICAgICByZWFkT25seT17ZGlzYWJsZWR9XG4gICAgICAgICAgZm9ybWF0PVwiSEg6bW1cIlxuICAgICAgICAgIHZhbHVlPXtpZkRhdGUodmFsdWUuc3RhcnQpfSBcbiAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgb25DaGFuZ2U9e3N0YXJ0ID0+IG9uQ2hhbmdlKHsgLi4udmFsdWUsIHN0YXJ0IH0pfVxuICAgICAgICAvPlxuICAgICAgPC9GbGV4Ym94R3JpZC5JdGVtPlxuICAgICAgPEZsZXhib3hHcmlkLkl0ZW0gY29sc3Bhbj17N30+XG4gICAgICAgIDxEYXRlUGlja2VyIFxuICAgICAgICAgIHJlYWRPbmx5PXtkaXNhYmxlZH1cbiAgICAgICAgICB2YWx1ZT17aWZEYXRlKHZhbHVlLmVuZCl9IFxuICAgICAgICAgIGZvcm1hdD1cIkhIOm1tXCIgXG4gICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtlbmQgPT4gb25DaGFuZ2UoeyAuLi52YWx1ZSwgZW5kIH0pfVxuICAgICAgICAvPlxuICAgICAgPC9GbGV4Ym94R3JpZC5JdGVtPlxuICAgICAgPEZsZXhib3hHcmlkLkl0ZW0gY29sc3Bhbj17OH0+XG4gICAgICAgIDxTZWxlY3RQaWNrZXIgXG4gICAgICAgICAgcmVhZE9ubHk9e2Rpc2FibGVkfVxuICAgICAgICAgIGZvcm1hdD1cIkhIOm1tXCIgXG4gICAgICAgICAgYmxvY2tcbiAgICAgICAgICB2YWx1ZT17dmFsdWUucmFuZ2V9XG4gICAgICAgICAgZGF0YT17U0VMRUNUX0RBWVN9XG4gICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgIG9uQ2hhbmdlPXtyYW5nZSA9PiBvbkNoYW5nZSh7IC4uLnZhbHVlLCByYW5nZSB9KX1cbiAgICAgICAgLz5cbiAgICAgIDwvRmxleGJveEdyaWQuSXRlbT5cbiAgICA8L0ZsZXhib3hHcmlkPlxuICA8L2Rpdj5cbik7XG5Gb3JtT3BlbmluZy5wcm9wVHlwZXMgPSB7XG4gIHZhbHVlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIHN0YXJ0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGVuZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICByYW5nZTogUHJvcFR5cGVzLm9uZU9mKFsnbW8nLCAndHUnLCAnd2UnLCAndGgnLCAnZnInLCAnc2EnLCAnc3UnLCAnbW8tZnInLCAnbW8tc2EnLCAnbW8tc3UnLCAnc2Etc3UnXSlcbiAgfSlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZvcm1PcGVuaW5nOyIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlUmVmLCBGcmFnbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEJ1dHRvbiwgRm9ybSwgRm9ybUNvbnRyb2wsIEJ1dHRvblRvb2xiYXIsIEZvcm1Hcm91cCwgQ29udHJvbExhYmVsLCBIZWxwQmxvY2ssIE5hdiB9IGZyb20gJ3JzdWl0ZSc7XG5cbmltcG9ydCB7IENvbnRlbnRBdXRvY29tcGxldGUsIENvbGxlY3Rpb25FZGl0b3IsIERpY3Rpb25hcnksIENvbmZpZGVuY2UgfSBmcm9tICcuLi8uLi8uLi9zcmMvY29tcG9uZW50cyc7XG5cbmltcG9ydCB7IG9wZW5pbmcgYXMgb3BlbmluZ01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCBGb3JtT3BlbmluZyBmcm9tICcuL2Zvcm0tb3BlbmluZyc7XG5cblxuLy8gVE9ETyBjaGVjayBtb2RlbHMgYW5kIHNjaGVtYSwgc3RhcnQgPCBlbmQsIG5vIHJlcGV0aXRpb25zIGluIHJhbmdlXG5cblxuY29uc3QgZGljdGlvbmFyeVNjaGVtYSA9IFtcbiAge1xuICAgIG5hbWU6ICdvcGVuaW5ncy5vcGVuV2hlbicsXG4gICAgZGVzY3JpcHRpb246ICdUZXh0IHNob3duIGJlZm9yZSB0aGUgbGlzdCBvZiBvcGVuaW5nIGhvdXJzJ1xuICB9LFxuICB7XG4gICAgbmFtZTogJ29wZW5pbmdzLm1vbmRheSdcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdvcGVuaW5ncy50dWVzZGF5J1xuICB9LFxuICB7XG4gICAgbmFtZTogJ29wZW5pbmdzLndlZG5lc2RheSdcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdvcGVuaW5ncy50aHVyc2RheSdcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdvcGVuaW5ncy5mcmlkYXknXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnb3BlbmluZ3Muc2F0dXJkYXknXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnb3BlbmluZ3Muc3VuZGF5J1xuICB9LFxuICB7XG4gICAgbmFtZTogJ29wZW5pbmdzLm1vbmZyaSdcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdvcGVuaW5ncy5tb25zYXQnXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnb3BlbmluZ3MubW9uc3VuJ1xuICB9LFxuICB7XG4gICAgbmFtZTogJ29wZW5pbmdzLnNhdHN1bidcbiAgfSxcbiAge1xuICAgIG5hbWU6ICdvcGVuaW5ncy55ZXMnXG4gIH0sXG4gIHtcbiAgICBuYW1lOiAnb3BlbmluZ3Mubm8nXG4gIH1cbl07XG5cblxuXG5leHBvcnQgZGVmYXVsdCAoe1xuICB2YWx1ZSxcbiAgb25TdWJtaXQgPSAoKSA9PiB7IH0sXG4gIGRpc2FibGVkID0gZmFsc2Vcbn0pID0+IHtcbiAgY29uc3QgW2Zvcm1WYWx1ZSwgc2V0Rm9ybVZhbHVlXSA9IHVzZVN0YXRlKHZhbHVlKTtcbiAgY29uc3QgW2Zvcm1FcnJvciwgc2V0Rm9ybUVycm9yXSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBbdGFiLCBzZXRUYWJdID0gdXNlU3RhdGUoJ29wZW5pbmdzJyk7XG4gIGNvbnN0IGZvcm0gPSB1c2VSZWYobnVsbCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2PlxuICAgICAgPE5hdiBhcHBlYXJhbmNlPVwidGFic1wiIGFjdGl2ZUtleT17dGFifSBvblNlbGVjdD17c2V0VGFifSBzdHlsZT17eyBtYXJnaW5Cb3R0b206ICcyNXB4JyB9fT5cbiAgICAgICAgPE5hdi5JdGVtIGV2ZW50S2V5PVwib3BlbmluZ3NcIj5PcGVuaW5nczwvTmF2Lkl0ZW0+XG4gICAgICAgIDxOYXYuSXRlbSBldmVudEtleT1cInRyYW5zbGF0aW9uc1wiPlRyYW5zbGF0aW9uczwvTmF2Lkl0ZW0+XG4gICAgICA8L05hdj5cbiAgICAgIDxGb3JtXG4gICAgICAgIG1vZGVsPXtvcGVuaW5nTW9kZWx9XG4gICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICBmb3JtVmFsdWU9e2Zvcm1WYWx1ZX1cbiAgICAgICAgZm9ybUVycm9yPXtmb3JtRXJyb3J9XG4gICAgICAgIHJlZj17Zm9ybX1cbiAgICAgICAgY2hlY2tUcmlnZ2VyPVwibm9uZVwiXG4gICAgICAgIGxheW91dD1cInZlcnRpY2FsXCJcbiAgICAgICAgZmx1aWRcbiAgICAgICAgb25DaGFuZ2U9e2Zvcm1WYWx1ZSA9PiB7XG4gICAgICAgICAgc2V0Rm9ybVZhbHVlKGZvcm1WYWx1ZSk7XG4gICAgICAgICAgc2V0Rm9ybUVycm9yKG51bGwpO1xuICAgICAgICB9fVxuICAgICAgICBvbkNoZWNrPXtlcnJvcnMgPT4ge1xuICAgICAgICAgIHNldEZvcm1FcnJvcihlcnJvcnMpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7dGFiID09PSAndHJhbnNsYXRpb25zJyAmJiAoXG4gICAgICAgICAgPEZyYWdtZW50PlxuICAgICAgICAgICAgPEZvcm1Hcm91cD5cbiAgICAgICAgICAgICAgPEZvcm1Db250cm9sXG4gICAgICAgICAgICAgICAgbmFtZT1cInRyYW5zbGF0aW9uc1wiXG4gICAgICAgICAgICAgICAgYWNjZXB0ZXI9e0RpY3Rpb25hcnl9XG4gICAgICAgICAgICAgICAgc2NoZW1hPXtkaWN0aW9uYXJ5U2NoZW1hfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRm9ybUdyb3VwPlxuICAgICAgICAgIDwvRnJhZ21lbnQ+XG4gICAgICAgICl9XG4gICAgICAgIHt0YWIgPT09ICdvcGVuaW5ncycgJiYgKFxuICAgICAgICAgIDxGcmFnbWVudD5cbiAgICAgICAgICAgIDxGb3JtR3JvdXA+XG4gICAgICAgICAgICAgIDxDb250cm9sTGFiZWw+T3BlbmluZ3MgaG91cnM8L0NvbnRyb2xMYWJlbD5cbiAgICAgICAgICAgICAgPEZvcm1Db250cm9sXG4gICAgICAgICAgICAgICAgbmFtZT1cIm9wZW5pbmdzXCJcbiAgICAgICAgICAgICAgICBhY2NlcHRlcj17Q29sbGVjdGlvbkVkaXRvcn1cbiAgICAgICAgICAgICAgICBmb3JtPXtGb3JtT3BlbmluZ31cbiAgICAgICAgICAgICAgICBsYWJlbEFkZD1cIkFkZCBvcGVuaW5nIGhvdXJcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvRm9ybUdyb3VwPlxuICAgICAgICAgICAgPEZvcm1Hcm91cD5cbiAgICAgICAgICAgICAgPENvbnRyb2xMYWJlbD5Db250ZW50PC9Db250cm9sTGFiZWw+XG4gICAgICAgICAgICAgIDxGb3JtQ29udHJvbFxuICAgICAgICAgICAgICAgIHVzZVNsdWc9e3RydWV9XG4gICAgICAgICAgICAgICAgcmVhZE9ubHk9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICAgIG5hbWU9XCJjb250ZW50XCJcbiAgICAgICAgICAgICAgICBhY2NlcHRlcj17Q29udGVudEF1dG9jb21wbGV0ZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEhlbHBCbG9jaz5cbiAgICAgICAgICAgICAgICBTZWxlY3QgYSA8ZW0+c2x1ZzwvZW0+IGZvciBhIG11bHRpLWxhbmd1YWdlIGNvbnRlbnQgdG8gc2hvdyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHdoZW4gYSB1c2VyIHJlcXVlc3RzXG4gICAgICAgICAgICAgICAgaW5mb3JtYXRpb24gYWJvdXQgb3BlbmluZyBob3Vyc1xuICAgICAgICAgICAgICA8L0hlbHBCbG9jaz5cbiAgICAgICAgICAgIDwvRm9ybUdyb3VwPlxuICAgICAgICAgICAgPEZvcm1Hcm91cD5cbiAgICAgICAgICAgICAgPENvbnRyb2xMYWJlbD5TZW5zaXRpdml0eTwvQ29udHJvbExhYmVsPlxuICAgICAgICAgICAgICA8Rm9ybUNvbnRyb2xcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgbmFtZT1cInRocmVzaG9sZFwiXG4gICAgICAgICAgICAgICAgYWNjZXB0ZXI9e0NvbmZpZGVuY2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxIZWxwQmxvY2s+XG4gICAgICAgICAgICAgICAgVGhlIG1pbmltdW0gc2NvcmUgb2YgYW4gaW50ZW50IHRvIGJlIGNvbnNpZGVyZWQgcmVsZXZhbnQuIExvd2VyIHRoaXMgdmFsdWUgaWYgdGhlIE5MUCBkb2Vzbid0IGNhdGNoIGFueSBpbnRlbnQgb2YgdGhlIHVzZXIgaW5wdXQsXG4gICAgICAgICAgICAgICAgcmFpc2UgdGhpcyB2YWx1ZSBpZiB0aGUgTkxQIG9mIHRoaXMgYmxvY2sgaXMgaW50ZXJmZXJpbmcgd2l0aCB0aGUgTkxQIG9mIG90aGVyIGJsb2Nrcy5cbiAgICAgICAgICAgICAgPC9IZWxwQmxvY2s+XG4gICAgICAgICAgICA8L0Zvcm1Hcm91cD5cbiAgICAgICAgICA8L0ZyYWdtZW50PlxuICAgICAgICApfVxuICAgICAgICA8Rm9ybUdyb3VwIHN0eWxlPXt7IG1hcmdpblRvcDogJzQwcHgnIH19PlxuICAgICAgICAgIDxCdXR0b25Ub29sYmFyPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZm9ybS5jdXJyZW50LmNoZWNrKCkpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25TdWJtaXQoZm9ybVZhbHVlKTtcbiAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgIFNhdmUgY29uZmlndXJhdGlvblxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwiZGVmYXVsdFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29uZmlybSgnUmVzZXQgY29uZmlndXJhdGlvbj8nKSkge1xuICAgICAgICAgICAgICAgICAgc2V0Rm9ybVZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFJlc2V0XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L0J1dHRvblRvb2xiYXI+XG4gICAgICAgIDwvRm9ybUdyb3VwPlxuICAgICAgPC9Gb3JtPlxuICAgIDwvZGl2PlxuICApO1xufTsiLCJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50IH0gZnJvbSAncmVhY3QnO1xuXG5cbmltcG9ydCB7IHBsdWcgfSBmcm9tICdjb2RlLXBsdWcnO1xuXG5pbXBvcnQgeyB3aXRoQ29uZmlndXJhdGlvblBhZ2UsIEhlbHBFbGVtZW50cyB9IGZyb20gJy4uLy4uL3NyYy9jb21wb25lbnRzJztcbmNvbnN0IHsgTm9kZVJlZE5vZGUsIFNsdWdIZWxwLCBUeXBlQ29tbWFuZCB9ID0gSGVscEVsZW1lbnRzO1xuXG5pbXBvcnQgQ29uZmlndXJhdGlvbkZvcm0gZnJvbSAnLi92aWV3cy9mb3JtJztcblxuY29uc3QgTGVnZW5kID0gKCkgPT4gKFxuICA8ZGl2PlxuICAgIDxOb2RlUmVkTm9kZT5PcGVuaW5nIEhvdXJzIG5vZGU8L05vZGVSZWROb2RlPlxuICAgIDxwPkNvbmZpZ3VyZSB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgbm9kZTogY3VzdG9taXplIHRoZVxuICAgIG9wZW5pbmcgaG91cnMgYW5kIGFuZCBzb21lIGFkZGl0aW9uYWwgY29udGVudCAoZm9yIGV4YW1wbGUgdG8gc2hvdyBleHRyYSBvcGVuaW5ncywgZXRjKS48L3A+XG4gICAgPFNsdWdIZWxwLz5cbiAgPC9kaXY+XG4pO1xuXG5wbHVnKCdzaWRlYmFyJywgbnVsbCwge1xuICBpZDogJ2NvbmZpZ3VyYXRpb24nLFxuICBsYWJlbDogJ0NvbmZpZ3VyYXRpb24nLFxuICBwZXJtaXNzaW9uOiAnY29uZmlndXJlJyxcbiAgaWNvbjogJ2NvZycsXG4gIG9wdGlvbnM6IFtcbiAgICB7XG4gICAgICBpZDogJ2NvbmZpZ3VyYXRpb24taG91cnMnLFxuICAgICAgbGFiZWw6ICdPcGVuaW5nIGhvdXJzJyxcbiAgICAgIHVybDogJy9jb25maWd1cmF0aW9uLW9wZW5pbmdzJyxcbiAgICB9XG4gIF1cbn0pO1xucGx1ZyhcbiAgJ3BhZ2VzJyxcbiAgd2l0aENvbmZpZ3VyYXRpb25QYWdlKFxuICAgICdzaG9wLW9wZW5pbmdzJyxcbiAgICBDb25maWd1cmF0aW9uRm9ybSxcbiAgICB7IExlZ2VuZCwgdGl0bGU6ICdPcGVuaW5nIEhvdXJzJyB9XG4gICksXG4gIHtcbiAgICBwZXJtaXNzaW9uOiAnY29uZmlndXJlJyxcbiAgICB1cmw6ICcvY29uZmlndXJhdGlvbi1vcGVuaW5ncycsXG4gICAgdGl0bGU6ICdPcGVuaW5nIEhvdXJzJyxcbiAgICBpZDogJ2NvbmZpZ3VyYXRpb24nXG4gIH1cbik7XG4iXSwibmFtZXMiOlsiU3RyaW5nVHlwZSIsIkFycmF5VHlwZSIsIk9iamVjdFR5cGUiLCJEYXRlVHlwZSIsIlNjaGVtYSIsIm9wZW5pbmciLCJvcGVuaW5ncyIsIm9mIiwic2hhcGUiLCJzdGFydCIsImlzUmVxdWlyZWQiLCJlbmQiLCJyYW5nZSIsImFkZFJ1bGUiLCJ2YWx1ZSIsIl8iLCJsZW5ndGgiLCJsYWJlbCIsImlmRGF0ZSIsInN0ciIsInRlbXAiLCJEYXRlIiwiaXNWYWxpZERhdGUiLCJGb3JtT3BlbmluZyIsIm9uQ2hhbmdlIiwiZGlzYWJsZWQiLCJGbGV4Ym94R3JpZCIsImp1c3RpZnkiLCJjb2xzcGFuIiwiRGF0ZVBpY2tlciIsInJlYWRPbmx5IiwiZm9ybWF0Iiwic3R5bGUiLCJ3aWR0aCIsIlNlbGVjdFBpY2tlciIsImJsb2NrIiwiZGF0YSIsIlNFTEVDVF9EQVlTIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiZGljdGlvbmFyeVNjaGVtYSIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsIk5vZGVSZWROb2RlIiwiU2x1Z0hlbHAiLCJUeXBlQ29tbWFuZCIsIkhlbHBFbGVtZW50cyIsInBsdWciLCJpZCIsInBlcm1pc3Npb24iLCJpY29uIiwib3B0aW9ucyIsInVybCIsIndpdGhDb25maWd1cmF0aW9uUGFnZSIsIm9uU3VibWl0IiwiZm9ybVZhbHVlIiwic2V0Rm9ybVZhbHVlIiwidXNlU3RhdGUiLCJmb3JtRXJyb3IiLCJzZXRGb3JtRXJyb3IiLCJ0YWIiLCJzZXRUYWIiLCJmb3JtIiwidXNlUmVmIiwiTmF2IiwiYXBwZWFyYW5jZSIsImFjdGl2ZUtleSIsIm9uU2VsZWN0IiwibWFyZ2luQm90dG9tIiwiZXZlbnRLZXkiLCJGb3JtIiwibW9kZWwiLCJvcGVuaW5nTW9kZWwiLCJyZWYiLCJjaGVja1RyaWdnZXIiLCJsYXlvdXQiLCJmbHVpZCIsIm9uQ2hlY2siLCJlcnJvcnMiLCJGcmFnbWVudCIsIkZvcm1Hcm91cCIsIkZvcm1Db250cm9sIiwiYWNjZXB0ZXIiLCJEaWN0aW9uYXJ5Iiwic2NoZW1hIiwiQ29udHJvbExhYmVsIiwiQ29sbGVjdGlvbkVkaXRvciIsImxhYmVsQWRkIiwidXNlU2x1ZyIsIkNvbnRlbnRBdXRvY29tcGxldGUiLCJIZWxwQmxvY2siLCJDb25maWRlbmNlIiwibWFyZ2luVG9wIiwiQnV0dG9uVG9vbGJhciIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJjdXJyZW50IiwiY2hlY2siLCJjb25maXJtIiwiTGVnZW5kIiwidGl0bGUiXSwic291cmNlUm9vdCI6IiJ9