"use strict";(self.webpackChunksrsrfl_react=self.webpackChunksrsrfl_react||[]).push([[616],{9828:(o,r,t)=>{t.d(r,{A:()=>g});var e=t(8587),a=t(8168),n=t(6540),i=t(4164),l=t(5659),s=t(1848),p=t(5669),c=t(8466),d=t(538),u=t(8413),A=t(1609);function v(o){return(0,A.Ay)("MuiAppBar",o)}(0,u.A)("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);var b=t(4848);const m=["className","color","enableColorOnDark","position"],k=(o,r)=>o?`${null==o?void 0:o.replace(")","")}, ${r})`:r,f=(0,s.Ay)(d.A,{name:"MuiAppBar",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:t}=o;return[r.root,r[`position${(0,c.A)(t.position)}`],r[`color${(0,c.A)(t.color)}`]]}})((({theme:o,ownerState:r})=>{const t="light"===o.palette.mode?o.palette.grey[100]:o.palette.grey[900];return(0,a.A)({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},"fixed"===r.position&&{position:"fixed",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},"absolute"===r.position&&{position:"absolute",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0},"sticky"===r.position&&{position:"sticky",zIndex:(o.vars||o).zIndex.appBar,top:0,left:"auto",right:0},"static"===r.position&&{position:"static"},"relative"===r.position&&{position:"relative"},!o.vars&&(0,a.A)({},"default"===r.color&&{backgroundColor:t,color:o.palette.getContrastText(t)},r.color&&"default"!==r.color&&"inherit"!==r.color&&"transparent"!==r.color&&{backgroundColor:o.palette[r.color].main,color:o.palette[r.color].contrastText},"inherit"===r.color&&{color:"inherit"},"dark"===o.palette.mode&&!r.enableColorOnDark&&{backgroundColor:null,color:null},"transparent"===r.color&&(0,a.A)({backgroundColor:"transparent",color:"inherit"},"dark"===o.palette.mode&&{backgroundImage:"none"})),o.vars&&(0,a.A)({},"default"===r.color&&{"--AppBar-background":r.enableColorOnDark?o.vars.palette.AppBar.defaultBg:k(o.vars.palette.AppBar.darkBg,o.vars.palette.AppBar.defaultBg),"--AppBar-color":r.enableColorOnDark?o.vars.palette.text.primary:k(o.vars.palette.AppBar.darkColor,o.vars.palette.text.primary)},r.color&&!r.color.match(/^(default|inherit|transparent)$/)&&{"--AppBar-background":r.enableColorOnDark?o.vars.palette[r.color].main:k(o.vars.palette.AppBar.darkBg,o.vars.palette[r.color].main),"--AppBar-color":r.enableColorOnDark?o.vars.palette[r.color].contrastText:k(o.vars.palette.AppBar.darkColor,o.vars.palette[r.color].contrastText)},!["inherit","transparent"].includes(r.color)&&{backgroundColor:"var(--AppBar-background)"},{color:"inherit"===r.color?"inherit":"var(--AppBar-color)"},"transparent"===r.color&&{backgroundImage:"none",backgroundColor:"transparent",color:"inherit"}))})),g=n.forwardRef((function(o,r){const t=(0,p.b)({props:o,name:"MuiAppBar"}),{className:n,color:s="primary",enableColorOnDark:d=!1,position:u="fixed"}=t,A=(0,e.A)(t,m),k=(0,a.A)({},t,{color:s,position:u,enableColorOnDark:d}),g=(o=>{const{color:r,position:t,classes:e}=o,a={root:["root",`color${(0,c.A)(r)}`,`position${(0,c.A)(t)}`]};return(0,l.A)(a,v,e)})(k);return(0,b.jsx)(f,(0,a.A)({square:!0,component:"header",ownerState:k,elevation:4,className:(0,i.A)(g.root,n,"fixed"===u&&"mui-fixed"),ref:r},A))}))},7419:(o,r,t)=>{t.d(r,{A:()=>k});var e=t(8587),a=t(8168),n=t(6540),i=t(4164),l=t(5659),s=t(1848),p=t(5669),c=t(973),d=t(8413),u=t(1609);function A(o){return(0,u.Ay)("MuiBackdrop",o)}(0,d.A)("MuiBackdrop",["root","invisible"]);var v=t(4848);const b=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],m=(0,s.Ay)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(o,r)=>{const{ownerState:t}=o;return[r.root,t.invisible&&r.invisible]}})((({ownerState:o})=>(0,a.A)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},o.invisible&&{backgroundColor:"transparent"}))),k=n.forwardRef((function(o,r){var t,n,s;const d=(0,p.b)({props:o,name:"MuiBackdrop"}),{children:u,className:k,component:f="div",components:g={},componentsProps:h={},invisible:x=!1,open:B,slotProps:C={},slots:y={},TransitionComponent:S=c.A,transitionDuration:w}=d,D=(0,e.A)(d,b),I=(0,a.A)({},d,{component:f,invisible:x}),M=(o=>{const{classes:r,invisible:t}=o,e={root:["root",t&&"invisible"]};return(0,l.A)(e,A,r)})(I),O=null!=(t=C.root)?t:h.root;return(0,v.jsx)(S,(0,a.A)({in:B,timeout:w},D,{children:(0,v.jsx)(m,(0,a.A)({"aria-hidden":!0},O,{as:null!=(n=null!=(s=y.root)?s:g.Root)?n:f,className:(0,i.A)(M.root,k,null==O?void 0:O.className),ownerState:(0,a.A)({},I,null==O?void 0:O.ownerState),classes:M,ref:r,children:u}))}))}))}}]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,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aUUsT0FBd0IsRUFBU0EsRUFBY2pFLFlBQ3BGdUMsUUFBU0EsRUFDVEgsSUFBS0EsRUFDTHFCLFNBQVVBLE9BR2hCLEciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi9ub2RlX21vZHVsZXMvQG11aS9tYXRlcmlhbC9BcHBCYXIvYXBwQmFyQ2xhc3Nlcy5qcyIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi9ub2RlX21vZHVsZXMvQG11aS9tYXRlcmlhbC9BcHBCYXIvQXBwQmFyLmpzIiwid2VicGFjazovL3Nyc3JmbC1yZWFjdC8uL25vZGVfbW9kdWxlcy9AbXVpL21hdGVyaWFsL0JhY2tkcm9wL2JhY2tkcm9wQ2xhc3Nlcy5qcyIsIndlYnBhY2s6Ly9zcnNyZmwtcmVhY3QvLi9ub2RlX21vZHVsZXMvQG11aS9tYXRlcmlhbC9CYWNrZHJvcC9CYWNrZHJvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcyBmcm9tICdAbXVpL3V0aWxzL2dlbmVyYXRlVXRpbGl0eUNsYXNzZXMnO1xuaW1wb3J0IGdlbmVyYXRlVXRpbGl0eUNsYXNzIGZyb20gJ0BtdWkvdXRpbHMvZ2VuZXJhdGVVdGlsaXR5Q2xhc3MnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFwcEJhclV0aWxpdHlDbGFzcyhzbG90KSB7XG4gIHJldHVybiBnZW5lcmF0ZVV0aWxpdHlDbGFzcygnTXVpQXBwQmFyJywgc2xvdCk7XG59XG5jb25zdCBhcHBCYXJDbGFzc2VzID0gZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcygnTXVpQXBwQmFyJywgWydyb290JywgJ3Bvc2l0aW9uRml4ZWQnLCAncG9zaXRpb25BYnNvbHV0ZScsICdwb3NpdGlvblN0aWNreScsICdwb3NpdGlvblN0YXRpYycsICdwb3NpdGlvblJlbGF0aXZlJywgJ2NvbG9yRGVmYXVsdCcsICdjb2xvclByaW1hcnknLCAnY29sb3JTZWNvbmRhcnknLCAnY29sb3JJbmhlcml0JywgJ2NvbG9yVHJhbnNwYXJlbnQnLCAnY29sb3JFcnJvcicsICdjb2xvckluZm8nLCAnY29sb3JTdWNjZXNzJywgJ2NvbG9yV2FybmluZyddKTtcbmV4cG9ydCBkZWZhdWx0IGFwcEJhckNsYXNzZXM7IiwiJ3VzZSBjbGllbnQnO1xuXG5pbXBvcnQgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2VcIjtcbmltcG9ydCBfZXh0ZW5kcyBmcm9tIFwiQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kc1wiO1xuY29uc3QgX2V4Y2x1ZGVkID0gW1wiY2xhc3NOYW1lXCIsIFwiY29sb3JcIiwgXCJlbmFibGVDb2xvck9uRGFya1wiLCBcInBvc2l0aW9uXCJdO1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBjbHN4IGZyb20gJ2Nsc3gnO1xuaW1wb3J0IGNvbXBvc2VDbGFzc2VzIGZyb20gJ0BtdWkvdXRpbHMvY29tcG9zZUNsYXNzZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICcuLi9zdHlsZXMvc3R5bGVkJztcbmltcG9ydCB7IHVzZURlZmF1bHRQcm9wcyB9IGZyb20gJy4uL0RlZmF1bHRQcm9wc1Byb3ZpZGVyJztcbmltcG9ydCBjYXBpdGFsaXplIGZyb20gJy4uL3V0aWxzL2NhcGl0YWxpemUnO1xuaW1wb3J0IFBhcGVyIGZyb20gJy4uL1BhcGVyJztcbmltcG9ydCB7IGdldEFwcEJhclV0aWxpdHlDbGFzcyB9IGZyb20gJy4vYXBwQmFyQ2xhc3Nlcyc7XG5pbXBvcnQgeyBqc3ggYXMgX2pzeCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuY29uc3QgdXNlVXRpbGl0eUNsYXNzZXMgPSBvd25lclN0YXRlID0+IHtcbiAgY29uc3Qge1xuICAgIGNvbG9yLFxuICAgIHBvc2l0aW9uLFxuICAgIGNsYXNzZXNcbiAgfSA9IG93bmVyU3RhdGU7XG4gIGNvbnN0IHNsb3RzID0ge1xuICAgIHJvb3Q6IFsncm9vdCcsIGBjb2xvciR7Y2FwaXRhbGl6ZShjb2xvcil9YCwgYHBvc2l0aW9uJHtjYXBpdGFsaXplKHBvc2l0aW9uKX1gXVxuICB9O1xuICByZXR1cm4gY29tcG9zZUNsYXNzZXMoc2xvdHMsIGdldEFwcEJhclV0aWxpdHlDbGFzcywgY2xhc3Nlcyk7XG59O1xuXG4vLyB2YXIyIGlzIHRoZSBmYWxsYmFjay5cbi8vIEV4LiB2YXIxOiAndmFyKC0tYSknLCB2YXIyOiAndmFyKC0tYiknOyByZXR1cm46ICd2YXIoLS1hLCB2YXIoLS1iKSknXG5jb25zdCBqb2luVmFycyA9ICh2YXIxLCB2YXIyKSA9PiB2YXIxID8gYCR7dmFyMSA9PSBudWxsID8gdm9pZCAwIDogdmFyMS5yZXBsYWNlKCcpJywgJycpfSwgJHt2YXIyfSlgIDogdmFyMjtcbmNvbnN0IEFwcEJhclJvb3QgPSBzdHlsZWQoUGFwZXIsIHtcbiAgbmFtZTogJ011aUFwcEJhcicsXG4gIHNsb3Q6ICdSb290JyxcbiAgb3ZlcnJpZGVzUmVzb2x2ZXI6IChwcm9wcywgc3R5bGVzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb3duZXJTdGF0ZVxuICAgIH0gPSBwcm9wcztcbiAgICByZXR1cm4gW3N0eWxlcy5yb290LCBzdHlsZXNbYHBvc2l0aW9uJHtjYXBpdGFsaXplKG93bmVyU3RhdGUucG9zaXRpb24pfWBdLCBzdHlsZXNbYGNvbG9yJHtjYXBpdGFsaXplKG93bmVyU3RhdGUuY29sb3IpfWBdXTtcbiAgfVxufSkoKHtcbiAgdGhlbWUsXG4gIG93bmVyU3RhdGVcbn0pID0+IHtcbiAgY29uc3QgYmFja2dyb3VuZENvbG9yRGVmYXVsdCA9IHRoZW1lLnBhbGV0dGUubW9kZSA9PT0gJ2xpZ2h0JyA/IHRoZW1lLnBhbGV0dGUuZ3JleVsxMDBdIDogdGhlbWUucGFsZXR0ZS5ncmV5WzkwMF07XG4gIHJldHVybiBfZXh0ZW5kcyh7XG4gICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gICAgYm94U2l6aW5nOiAnYm9yZGVyLWJveCcsXG4gICAgLy8gUHJldmVudCBwYWRkaW5nIGlzc3VlIHdpdGggdGhlIE1vZGFsIGFuZCBmaXhlZCBwb3NpdGlvbmVkIEFwcEJhci5cbiAgICBmbGV4U2hyaW5rOiAwXG4gIH0sIG93bmVyU3RhdGUucG9zaXRpb24gPT09ICdmaXhlZCcgJiYge1xuICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgIHpJbmRleDogKHRoZW1lLnZhcnMgfHwgdGhlbWUpLnpJbmRleC5hcHBCYXIsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6ICdhdXRvJyxcbiAgICByaWdodDogMCxcbiAgICAnQG1lZGlhIHByaW50Jzoge1xuICAgICAgLy8gUHJldmVudCB0aGUgYXBwIGJhciB0byBiZSB2aXNpYmxlIG9uIGVhY2ggcHJpbnRlZCBwYWdlLlxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZSdcbiAgICB9XG4gIH0sIG93bmVyU3RhdGUucG9zaXRpb24gPT09ICdhYnNvbHV0ZScgJiYge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIHpJbmRleDogKHRoZW1lLnZhcnMgfHwgdGhlbWUpLnpJbmRleC5hcHBCYXIsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6ICdhdXRvJyxcbiAgICByaWdodDogMFxuICB9LCBvd25lclN0YXRlLnBvc2l0aW9uID09PSAnc3RpY2t5JyAmJiB7XG4gICAgLy8g4pqg77iPIHN0aWNreSBpcyBub3Qgc3VwcG9ydGVkIGJ5IElFMTEuXG4gICAgcG9zaXRpb246ICdzdGlja3knLFxuICAgIHpJbmRleDogKHRoZW1lLnZhcnMgfHwgdGhlbWUpLnpJbmRleC5hcHBCYXIsXG4gICAgdG9wOiAwLFxuICAgIGxlZnQ6ICdhdXRvJyxcbiAgICByaWdodDogMFxuICB9LCBvd25lclN0YXRlLnBvc2l0aW9uID09PSAnc3RhdGljJyAmJiB7XG4gICAgcG9zaXRpb246ICdzdGF0aWMnXG4gIH0sIG93bmVyU3RhdGUucG9zaXRpb24gPT09ICdyZWxhdGl2ZScgJiYge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnXG4gIH0sICF0aGVtZS52YXJzICYmIF9leHRlbmRzKHt9LCBvd25lclN0YXRlLmNvbG9yID09PSAnZGVmYXVsdCcgJiYge1xuICAgIGJhY2tncm91bmRDb2xvcjogYmFja2dyb3VuZENvbG9yRGVmYXVsdCxcbiAgICBjb2xvcjogdGhlbWUucGFsZXR0ZS5nZXRDb250cmFzdFRleHQoYmFja2dyb3VuZENvbG9yRGVmYXVsdClcbiAgfSwgb3duZXJTdGF0ZS5jb2xvciAmJiBvd25lclN0YXRlLmNvbG9yICE9PSAnZGVmYXVsdCcgJiYgb3duZXJTdGF0ZS5jb2xvciAhPT0gJ2luaGVyaXQnICYmIG93bmVyU3RhdGUuY29sb3IgIT09ICd0cmFuc3BhcmVudCcgJiYge1xuICAgIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZVtvd25lclN0YXRlLmNvbG9yXS5tYWluLFxuICAgIGNvbG9yOiB0aGVtZS5wYWxldHRlW293bmVyU3RhdGUuY29sb3JdLmNvbnRyYXN0VGV4dFxuICB9LCBvd25lclN0YXRlLmNvbG9yID09PSAnaW5oZXJpdCcgJiYge1xuICAgIGNvbG9yOiAnaW5oZXJpdCdcbiAgfSwgdGhlbWUucGFsZXR0ZS5tb2RlID09PSAnZGFyaycgJiYgIW93bmVyU3RhdGUuZW5hYmxlQ29sb3JPbkRhcmsgJiYge1xuICAgIGJhY2tncm91bmRDb2xvcjogbnVsbCxcbiAgICBjb2xvcjogbnVsbFxuICB9LCBvd25lclN0YXRlLmNvbG9yID09PSAndHJhbnNwYXJlbnQnICYmIF9leHRlbmRzKHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICd0cmFuc3BhcmVudCcsXG4gICAgY29sb3I6ICdpbmhlcml0J1xuICB9LCB0aGVtZS5wYWxldHRlLm1vZGUgPT09ICdkYXJrJyAmJiB7XG4gICAgYmFja2dyb3VuZEltYWdlOiAnbm9uZSdcbiAgfSkpLCB0aGVtZS52YXJzICYmIF9leHRlbmRzKHt9LCBvd25lclN0YXRlLmNvbG9yID09PSAnZGVmYXVsdCcgJiYge1xuICAgICctLUFwcEJhci1iYWNrZ3JvdW5kJzogb3duZXJTdGF0ZS5lbmFibGVDb2xvck9uRGFyayA/IHRoZW1lLnZhcnMucGFsZXR0ZS5BcHBCYXIuZGVmYXVsdEJnIDogam9pblZhcnModGhlbWUudmFycy5wYWxldHRlLkFwcEJhci5kYXJrQmcsIHRoZW1lLnZhcnMucGFsZXR0ZS5BcHBCYXIuZGVmYXVsdEJnKSxcbiAgICAnLS1BcHBCYXItY29sb3InOiBvd25lclN0YXRlLmVuYWJsZUNvbG9yT25EYXJrID8gdGhlbWUudmFycy5wYWxldHRlLnRleHQucHJpbWFyeSA6IGpvaW5WYXJzKHRoZW1lLnZhcnMucGFsZXR0ZS5BcHBCYXIuZGFya0NvbG9yLCB0aGVtZS52YXJzLnBhbGV0dGUudGV4dC5wcmltYXJ5KVxuICB9LCBvd25lclN0YXRlLmNvbG9yICYmICFvd25lclN0YXRlLmNvbG9yLm1hdGNoKC9eKGRlZmF1bHR8aW5oZXJpdHx0cmFuc3BhcmVudCkkLykgJiYge1xuICAgICctLUFwcEJhci1iYWNrZ3JvdW5kJzogb3duZXJTdGF0ZS5lbmFibGVDb2xvck9uRGFyayA/IHRoZW1lLnZhcnMucGFsZXR0ZVtvd25lclN0YXRlLmNvbG9yXS5tYWluIDogam9pblZhcnModGhlbWUudmFycy5wYWxldHRlLkFwcEJhci5kYXJrQmcsIHRoZW1lLnZhcnMucGFsZXR0ZVtvd25lclN0YXRlLmNvbG9yXS5tYWluKSxcbiAgICAnLS1BcHBCYXItY29sb3InOiBvd25lclN0YXRlLmVuYWJsZUNvbG9yT25EYXJrID8gdGhlbWUudmFycy5wYWxldHRlW293bmVyU3RhdGUuY29sb3JdLmNvbnRyYXN0VGV4dCA6IGpvaW5WYXJzKHRoZW1lLnZhcnMucGFsZXR0ZS5BcHBCYXIuZGFya0NvbG9yLCB0aGVtZS52YXJzLnBhbGV0dGVbb3duZXJTdGF0ZS5jb2xvcl0uY29udHJhc3RUZXh0KVxuICB9LCAhWydpbmhlcml0JywgJ3RyYW5zcGFyZW50J10uaW5jbHVkZXMob3duZXJTdGF0ZS5jb2xvcikgJiYge1xuICAgIGJhY2tncm91bmRDb2xvcjogJ3ZhcigtLUFwcEJhci1iYWNrZ3JvdW5kKSdcbiAgfSwge1xuICAgIGNvbG9yOiBvd25lclN0YXRlLmNvbG9yID09PSAnaW5oZXJpdCcgPyAnaW5oZXJpdCcgOiAndmFyKC0tQXBwQmFyLWNvbG9yKSdcbiAgfSwgb3duZXJTdGF0ZS5jb2xvciA9PT0gJ3RyYW5zcGFyZW50JyAmJiB7XG4gICAgYmFja2dyb3VuZEltYWdlOiAnbm9uZScsXG4gICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgIGNvbG9yOiAnaW5oZXJpdCdcbiAgfSkpO1xufSk7XG5jb25zdCBBcHBCYXIgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBBcHBCYXIoaW5Qcm9wcywgcmVmKSB7XG4gIGNvbnN0IHByb3BzID0gdXNlRGVmYXVsdFByb3BzKHtcbiAgICBwcm9wczogaW5Qcm9wcyxcbiAgICBuYW1lOiAnTXVpQXBwQmFyJ1xuICB9KTtcbiAgY29uc3Qge1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgY29sb3IgPSAncHJpbWFyeScsXG4gICAgICBlbmFibGVDb2xvck9uRGFyayA9IGZhbHNlLFxuICAgICAgcG9zaXRpb24gPSAnZml4ZWQnXG4gICAgfSA9IHByb3BzLFxuICAgIG90aGVyID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UocHJvcHMsIF9leGNsdWRlZCk7XG4gIGNvbnN0IG93bmVyU3RhdGUgPSBfZXh0ZW5kcyh7fSwgcHJvcHMsIHtcbiAgICBjb2xvcixcbiAgICBwb3NpdGlvbixcbiAgICBlbmFibGVDb2xvck9uRGFya1xuICB9KTtcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVV0aWxpdHlDbGFzc2VzKG93bmVyU3RhdGUpO1xuICByZXR1cm4gLyojX19QVVJFX18qL19qc3goQXBwQmFyUm9vdCwgX2V4dGVuZHMoe1xuICAgIHNxdWFyZTogdHJ1ZSxcbiAgICBjb21wb25lbnQ6IFwiaGVhZGVyXCIsXG4gICAgb3duZXJTdGF0ZTogb3duZXJTdGF0ZSxcbiAgICBlbGV2YXRpb246IDQsXG4gICAgY2xhc3NOYW1lOiBjbHN4KGNsYXNzZXMucm9vdCwgY2xhc3NOYW1lLCBwb3NpdGlvbiA9PT0gJ2ZpeGVkJyAmJiAnbXVpLWZpeGVkJyksXG4gICAgcmVmOiByZWZcbiAgfSwgb3RoZXIpKTtcbn0pO1xucHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiID8gQXBwQmFyLnByb3BUeXBlcyAvKiByZW1vdmUtcHJvcHR5cGVzICovID0ge1xuICAvLyDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAgV2FybmluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJBcbiAgLy8g4pSCIFRoZXNlIFByb3BUeXBlcyBhcmUgZ2VuZXJhdGVkIGZyb20gdGhlIFR5cGVTY3JpcHQgdHlwZSBkZWZpbml0aW9ucy4g4pSCXG4gIC8vIOKUgiAgICBUbyB1cGRhdGUgdGhlbSwgZWRpdCB0aGUgZC50cyBmaWxlIGFuZCBydW4gYHBucG0gcHJvcHR5cGVzYC4gICAgIOKUglxuICAvLyDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJhcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLm5vZGUsXG4gIC8qKlxuICAgKiBPdmVycmlkZSBvciBleHRlbmQgdGhlIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKipcbiAgICogQGlnbm9yZVxuICAgKi9cbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKipcbiAgICogVGhlIGNvbG9yIG9mIHRoZSBjb21wb25lbnQuXG4gICAqIEl0IHN1cHBvcnRzIGJvdGggZGVmYXVsdCBhbmQgY3VzdG9tIHRoZW1lIGNvbG9ycywgd2hpY2ggY2FuIGJlIGFkZGVkIGFzIHNob3duIGluIHRoZVxuICAgKiBbcGFsZXR0ZSBjdXN0b21pemF0aW9uIGd1aWRlXShodHRwczovL211aS5jb20vbWF0ZXJpYWwtdWkvY3VzdG9taXphdGlvbi9wYWxldHRlLyNjdXN0b20tY29sb3JzKS5cbiAgICogQGRlZmF1bHQgJ3ByaW1hcnknXG4gICAqL1xuICBjb2xvcjogUHJvcFR5cGVzIC8qIEB0eXBlc2NyaXB0LXRvLXByb3B0eXBlcy1pZ25vcmUgKi8ub25lT2ZUeXBlKFtQcm9wVHlwZXMub25lT2YoWydkZWZhdWx0JywgJ2luaGVyaXQnLCAncHJpbWFyeScsICdzZWNvbmRhcnknLCAndHJhbnNwYXJlbnQnLCAnZXJyb3InLCAnaW5mbycsICdzdWNjZXNzJywgJ3dhcm5pbmcnXSksIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgLyoqXG4gICAqIElmIHRydWUsIHRoZSBgY29sb3JgIHByb3AgaXMgYXBwbGllZCBpbiBkYXJrIG1vZGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBlbmFibGVDb2xvck9uRGFyazogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb25pbmcgdHlwZS4gVGhlIGJlaGF2aW9yIG9mIHRoZSBkaWZmZXJlbnQgb3B0aW9ucyBpcyBkZXNjcmliZWRcbiAgICogW2luIHRoZSBNRE4gd2ViIGRvY3NdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvTGVhcm4vQ1NTL0NTU19sYXlvdXQvUG9zaXRpb25pbmcpLlxuICAgKiBOb3RlOiBgc3RpY2t5YCBpcyBub3QgdW5pdmVyc2FsbHkgc3VwcG9ydGVkIGFuZCB3aWxsIGZhbGwgYmFjayB0byBgc3RhdGljYCB3aGVuIHVuYXZhaWxhYmxlLlxuICAgKiBAZGVmYXVsdCAnZml4ZWQnXG4gICAqL1xuICBwb3NpdGlvbjogUHJvcFR5cGVzLm9uZU9mKFsnYWJzb2x1dGUnLCAnZml4ZWQnLCAncmVsYXRpdmUnLCAnc3RhdGljJywgJ3N0aWNreSddKSxcbiAgLyoqXG4gICAqIFRoZSBzeXN0ZW0gcHJvcCB0aGF0IGFsbG93cyBkZWZpbmluZyBzeXN0ZW0gb3ZlcnJpZGVzIGFzIHdlbGwgYXMgYWRkaXRpb25hbCBDU1Mgc3R5bGVzLlxuICAgKi9cbiAgc3g6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMub2JqZWN0LCBQcm9wVHlwZXMuYm9vbF0pKSwgUHJvcFR5cGVzLmZ1bmMsIFByb3BUeXBlcy5vYmplY3RdKVxufSA6IHZvaWQgMDtcbmV4cG9ydCBkZWZhdWx0IEFwcEJhcjsiLCJpbXBvcnQgZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcyBmcm9tICdAbXVpL3V0aWxzL2dlbmVyYXRlVXRpbGl0eUNsYXNzZXMnO1xuaW1wb3J0IGdlbmVyYXRlVXRpbGl0eUNsYXNzIGZyb20gJ0BtdWkvdXRpbHMvZ2VuZXJhdGVVdGlsaXR5Q2xhc3MnO1xuZXhwb3J0IGZ1bmN0aW9uIGdldEJhY2tkcm9wVXRpbGl0eUNsYXNzKHNsb3QpIHtcbiAgcmV0dXJuIGdlbmVyYXRlVXRpbGl0eUNsYXNzKCdNdWlCYWNrZHJvcCcsIHNsb3QpO1xufVxuY29uc3QgYmFja2Ryb3BDbGFzc2VzID0gZ2VuZXJhdGVVdGlsaXR5Q2xhc3NlcygnTXVpQmFja2Ryb3AnLCBbJ3Jvb3QnLCAnaW52aXNpYmxlJ10pO1xuZXhwb3J0IGRlZmF1bHQgYmFja2Ryb3BDbGFzc2VzOyIsIid1c2UgY2xpZW50JztcblxuaW1wb3J0IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIGZyb20gXCJAYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlXCI7XG5pbXBvcnQgX2V4dGVuZHMgZnJvbSBcIkBiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL2V4dGVuZHNcIjtcbmNvbnN0IF9leGNsdWRlZCA9IFtcImNoaWxkcmVuXCIsIFwiY2xhc3NOYW1lXCIsIFwiY29tcG9uZW50XCIsIFwiY29tcG9uZW50c1wiLCBcImNvbXBvbmVudHNQcm9wc1wiLCBcImludmlzaWJsZVwiLCBcIm9wZW5cIiwgXCJzbG90UHJvcHNcIiwgXCJzbG90c1wiLCBcIlRyYW5zaXRpb25Db21wb25lbnRcIiwgXCJ0cmFuc2l0aW9uRHVyYXRpb25cIl07XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGNsc3ggZnJvbSAnY2xzeCc7XG5pbXBvcnQgY29tcG9zZUNsYXNzZXMgZnJvbSAnQG11aS91dGlscy9jb21wb3NlQ2xhc3Nlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJy4uL3N0eWxlcy9zdHlsZWQnO1xuaW1wb3J0IHsgdXNlRGVmYXVsdFByb3BzIH0gZnJvbSAnLi4vRGVmYXVsdFByb3BzUHJvdmlkZXInO1xuaW1wb3J0IEZhZGUgZnJvbSAnLi4vRmFkZSc7XG5pbXBvcnQgeyBnZXRCYWNrZHJvcFV0aWxpdHlDbGFzcyB9IGZyb20gJy4vYmFja2Ryb3BDbGFzc2VzJztcbmltcG9ydCB7IGpzeCBhcyBfanN4IH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5jb25zdCB1c2VVdGlsaXR5Q2xhc3NlcyA9IG93bmVyU3RhdGUgPT4ge1xuICBjb25zdCB7XG4gICAgY2xhc3NlcyxcbiAgICBpbnZpc2libGVcbiAgfSA9IG93bmVyU3RhdGU7XG4gIGNvbnN0IHNsb3RzID0ge1xuICAgIHJvb3Q6IFsncm9vdCcsIGludmlzaWJsZSAmJiAnaW52aXNpYmxlJ11cbiAgfTtcbiAgcmV0dXJuIGNvbXBvc2VDbGFzc2VzKHNsb3RzLCBnZXRCYWNrZHJvcFV0aWxpdHlDbGFzcywgY2xhc3Nlcyk7XG59O1xuY29uc3QgQmFja2Ryb3BSb290ID0gc3R5bGVkKCdkaXYnLCB7XG4gIG5hbWU6ICdNdWlCYWNrZHJvcCcsXG4gIHNsb3Q6ICdSb290JyxcbiAgb3ZlcnJpZGVzUmVzb2x2ZXI6IChwcm9wcywgc3R5bGVzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgb3duZXJTdGF0ZVxuICAgIH0gPSBwcm9wcztcbiAgICByZXR1cm4gW3N0eWxlcy5yb290LCBvd25lclN0YXRlLmludmlzaWJsZSAmJiBzdHlsZXMuaW52aXNpYmxlXTtcbiAgfVxufSkoKHtcbiAgb3duZXJTdGF0ZVxufSkgPT4gX2V4dGVuZHMoe1xuICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICByaWdodDogMCxcbiAgYm90dG9tOiAwLFxuICB0b3A6IDAsXG4gIGxlZnQ6IDAsXG4gIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMCwgMCwgMCwgMC41KScsXG4gIFdlYmtpdFRhcEhpZ2hsaWdodENvbG9yOiAndHJhbnNwYXJlbnQnXG59LCBvd25lclN0YXRlLmludmlzaWJsZSAmJiB7XG4gIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50J1xufSkpO1xuY29uc3QgQmFja2Ryb3AgPSAvKiNfX1BVUkVfXyovUmVhY3QuZm9yd2FyZFJlZihmdW5jdGlvbiBCYWNrZHJvcChpblByb3BzLCByZWYpIHtcbiAgdmFyIF9zbG90UHJvcHMkcm9vdCwgX3JlZiwgX3Nsb3RzJHJvb3Q7XG4gIGNvbnN0IHByb3BzID0gdXNlRGVmYXVsdFByb3BzKHtcbiAgICBwcm9wczogaW5Qcm9wcyxcbiAgICBuYW1lOiAnTXVpQmFja2Ryb3AnXG4gIH0pO1xuICBjb25zdCB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbXBvbmVudCA9ICdkaXYnLFxuICAgICAgY29tcG9uZW50cyA9IHt9LFxuICAgICAgY29tcG9uZW50c1Byb3BzID0ge30sXG4gICAgICBpbnZpc2libGUgPSBmYWxzZSxcbiAgICAgIG9wZW4sXG4gICAgICBzbG90UHJvcHMgPSB7fSxcbiAgICAgIHNsb3RzID0ge30sXG4gICAgICBUcmFuc2l0aW9uQ29tcG9uZW50ID0gRmFkZSxcbiAgICAgIHRyYW5zaXRpb25EdXJhdGlvblxuICAgIH0gPSBwcm9wcyxcbiAgICBvdGhlciA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHByb3BzLCBfZXhjbHVkZWQpO1xuICBjb25zdCBvd25lclN0YXRlID0gX2V4dGVuZHMoe30sIHByb3BzLCB7XG4gICAgY29tcG9uZW50LFxuICAgIGludmlzaWJsZVxuICB9KTtcbiAgY29uc3QgY2xhc3NlcyA9IHVzZVV0aWxpdHlDbGFzc2VzKG93bmVyU3RhdGUpO1xuICBjb25zdCByb290U2xvdFByb3BzID0gKF9zbG90UHJvcHMkcm9vdCA9IHNsb3RQcm9wcy5yb290KSAhPSBudWxsID8gX3Nsb3RQcm9wcyRyb290IDogY29tcG9uZW50c1Byb3BzLnJvb3Q7XG4gIHJldHVybiAvKiNfX1BVUkVfXyovX2pzeChUcmFuc2l0aW9uQ29tcG9uZW50LCBfZXh0ZW5kcyh7XG4gICAgaW46IG9wZW4sXG4gICAgdGltZW91dDogdHJhbnNpdGlvbkR1cmF0aW9uXG4gIH0sIG90aGVyLCB7XG4gICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi9fanN4KEJhY2tkcm9wUm9vdCwgX2V4dGVuZHMoe1xuICAgICAgXCJhcmlhLWhpZGRlblwiOiB0cnVlXG4gICAgfSwgcm9vdFNsb3RQcm9wcywge1xuICAgICAgYXM6IChfcmVmID0gKF9zbG90cyRyb290ID0gc2xvdHMucm9vdCkgIT0gbnVsbCA/IF9zbG90cyRyb290IDogY29tcG9uZW50cy5Sb290KSAhPSBudWxsID8gX3JlZiA6IGNvbXBvbmVudCxcbiAgICAgIGNsYXNzTmFtZTogY2xzeChjbGFzc2VzLnJvb3QsIGNsYXNzTmFtZSwgcm9vdFNsb3RQcm9wcyA9PSBudWxsID8gdm9pZCAwIDogcm9vdFNsb3RQcm9wcy5jbGFzc05hbWUpLFxuICAgICAgb3duZXJTdGF0ZTogX2V4dGVuZHMoe30sIG93bmVyU3RhdGUsIHJvb3RTbG90UHJvcHMgPT0gbnVsbCA/IHZvaWQgMCA6IHJvb3RTbG90UHJvcHMub3duZXJTdGF0ZSksXG4gICAgICBjbGFzc2VzOiBjbGFzc2VzLFxuICAgICAgcmVmOiByZWYsXG4gICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KSlcbiAgfSkpO1xufSk7XG5wcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgPyBCYWNrZHJvcC5wcm9wVHlwZXMgLyogcmVtb3ZlLXByb3B0eXBlcyAqLyA9IHtcbiAgLy8g4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAIFdhcm5pbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQXG4gIC8vIOKUgiBUaGVzZSBQcm9wVHlwZXMgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZSBUeXBlU2NyaXB0IHR5cGUgZGVmaW5pdGlvbnMuIOKUglxuICAvLyDilIIgICAgVG8gdXBkYXRlIHRoZW0sIGVkaXQgdGhlIGQudHMgZmlsZSBhbmQgcnVuIGBwbnBtIHByb3B0eXBlc2AuICAgICDilIJcbiAgLy8g4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICAvKipcbiAgICogT3ZlcnJpZGUgb3IgZXh0ZW5kIHRoZSBzdHlsZXMgYXBwbGllZCB0byB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnQgdXNlZCBmb3IgdGhlIHJvb3Qgbm9kZS5cbiAgICogRWl0aGVyIGEgc3RyaW5nIHRvIHVzZSBhIEhUTUwgZWxlbWVudCBvciBhIGNvbXBvbmVudC5cbiAgICovXG4gIGNvbXBvbmVudDogUHJvcFR5cGVzLmVsZW1lbnRUeXBlLFxuICAvKipcbiAgICogVGhlIGNvbXBvbmVudHMgdXNlZCBmb3IgZWFjaCBzbG90IGluc2lkZS5cbiAgICpcbiAgICogVGhpcyBwcm9wIGlzIGFuIGFsaWFzIGZvciB0aGUgYHNsb3RzYCBwcm9wLlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgYHNsb3RzYCBwcm9wIGluc3RlYWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBjb21wb25lbnRzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIFJvb3Q6IFByb3BUeXBlcy5lbGVtZW50VHlwZVxuICB9KSxcbiAgLyoqXG4gICAqIFRoZSBleHRyYSBwcm9wcyBmb3IgdGhlIHNsb3QgY29tcG9uZW50cy5cbiAgICogWW91IGNhbiBvdmVycmlkZSB0aGUgZXhpc3RpbmcgcHJvcHMgb3IgYWRkIG5ldyBvbmVzLlxuICAgKlxuICAgKiBUaGlzIHByb3AgaXMgYW4gYWxpYXMgZm9yIHRoZSBgc2xvdFByb3BzYCBwcm9wLlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgYHNsb3RQcm9wc2AgcHJvcCBpbnN0ZWFkLCBhcyBgY29tcG9uZW50c1Byb3BzYCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICpcbiAgICogQGRlZmF1bHQge31cbiAgICovXG4gIGNvbXBvbmVudHNQcm9wczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICByb290OiBQcm9wVHlwZXMub2JqZWN0XG4gIH0pLFxuICAvKipcbiAgICogSWYgYHRydWVgLCB0aGUgYmFja2Ryb3AgaXMgaW52aXNpYmxlLlxuICAgKiBJdCBjYW4gYmUgdXNlZCB3aGVuIHJlbmRlcmluZyBhIHBvcG92ZXIgb3IgYSBjdXN0b20gc2VsZWN0IGNvbXBvbmVudC5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGludmlzaWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSBjb21wb25lbnQgaXMgc2hvd24uXG4gICAqL1xuICBvcGVuOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAvKipcbiAgICogVGhlIGV4dHJhIHByb3BzIGZvciB0aGUgc2xvdCBjb21wb25lbnRzLlxuICAgKiBZb3UgY2FuIG92ZXJyaWRlIHRoZSBleGlzdGluZyBwcm9wcyBvciBhZGQgbmV3IG9uZXMuXG4gICAqXG4gICAqIFRoaXMgcHJvcCBpcyBhbiBhbGlhcyBmb3IgdGhlIGBjb21wb25lbnRzUHJvcHNgIHByb3AsIHdoaWNoIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgZnV0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgc2xvdFByb3BzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIHJvb3Q6IFByb3BUeXBlcy5vYmplY3RcbiAgfSksXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50cyB1c2VkIGZvciBlYWNoIHNsb3QgaW5zaWRlLlxuICAgKlxuICAgKiBUaGlzIHByb3AgaXMgYW4gYWxpYXMgZm9yIHRoZSBgY29tcG9uZW50c2AgcHJvcCwgd2hpY2ggd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBmdXR1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICBzbG90czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICByb290OiBQcm9wVHlwZXMuZWxlbWVudFR5cGVcbiAgfSksXG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIHByb3AgdGhhdCBhbGxvd3MgZGVmaW5pbmcgc3lzdGVtIG92ZXJyaWRlcyBhcyB3ZWxsIGFzIGFkZGl0aW9uYWwgQ1NTIHN0eWxlcy5cbiAgICovXG4gIHN4OiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuZnVuYywgUHJvcFR5cGVzLm9iamVjdCwgUHJvcFR5cGVzLmJvb2xdKSksIFByb3BUeXBlcy5mdW5jLCBQcm9wVHlwZXMub2JqZWN0XSksXG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IHVzZWQgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICAgKiBbRm9sbG93IHRoaXMgZ3VpZGVdKC9tYXRlcmlhbC11aS90cmFuc2l0aW9ucy8jdHJhbnNpdGlvbmNvbXBvbmVudC1wcm9wKSB0byBsZWFybiBtb3JlIGFib3V0IHRoZSByZXF1aXJlbWVudHMgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgKiBAZGVmYXVsdCBGYWRlXG4gICAqL1xuICBUcmFuc2l0aW9uQ29tcG9uZW50OiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gIC8qKlxuICAgKiBUaGUgZHVyYXRpb24gZm9yIHRoZSB0cmFuc2l0aW9uLCBpbiBtaWxsaXNlY29uZHMuXG4gICAqIFlvdSBtYXkgc3BlY2lmeSBhIHNpbmdsZSB0aW1lb3V0IGZvciBhbGwgdHJhbnNpdGlvbnMsIG9yIGluZGl2aWR1YWxseSB3aXRoIGFuIG9iamVjdC5cbiAgICovXG4gIHRyYW5zaXRpb25EdXJhdGlvbjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhcHBlYXI6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZW50ZXI6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZXhpdDogUHJvcFR5cGVzLm51bWJlclxuICB9KV0pXG59IDogdm9pZCAwO1xuZXhwb3J0IGRlZmF1bHQgQmFja2Ryb3A7Il0sIm5hbWVzIjpbImdldEFwcEJhclV0aWxpdHlDbGFzcyIsInNsb3QiLCJnZW5lcmF0ZVV0aWxpdHlDbGFzcyIsImdlbmVyYXRlVXRpbGl0eUNsYXNzZXMiLCJfZXhjbHVkZWQiLCJqb2luVmFycyIsInZhcjEiLCJ2YXIyIiwicmVwbGFjZSIsIkFwcEJhclJvb3QiLCJzdHlsZWQiLCJQYXBlciIsIm5hbWUiLCJvdmVycmlkZXNSZXNvbHZlciIsInByb3BzIiwic3R5bGVzIiwib3duZXJTdGF0ZSIsInJvb3QiLCJjYXBpdGFsaXplIiwicG9zaXRpb24iLCJjb2xvciIsInRoZW1lIiwiYmFja2dyb3VuZENvbG9yRGVmYXVsdCIsInBhbGV0dGUiLCJtb2RlIiwiZ3JleSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwid2lkdGgiLCJib3hTaXppbmciLCJmbGV4U2hyaW5rIiwiekluZGV4IiwidmFycyIsImFwcEJhciIsInRvcCIsImxlZnQiLCJyaWdodCIsImJhY2tncm91bmRDb2xvciIsImdldENvbnRyYXN0VGV4dCIsIm1haW4iLCJjb250cmFzdFRleHQiLCJlbmFibGVDb2xvck9uRGFyayIsImJhY2tncm91bmRJbWFnZSIsIkFwcEJhciIsImRlZmF1bHRCZyIsImRhcmtCZyIsInRleHQiLCJwcmltYXJ5IiwiZGFya0NvbG9yIiwibWF0Y2giLCJpbmNsdWRlcyIsImluUHJvcHMiLCJyZWYiLCJjbGFzc05hbWUiLCJvdGhlciIsImNsYXNzZXMiLCJzbG90cyIsImNvbXBvc2VDbGFzc2VzIiwidXNlVXRpbGl0eUNsYXNzZXMiLCJzcXVhcmUiLCJjb21wb25lbnQiLCJlbGV2YXRpb24iLCJjbHN4IiwiZ2V0QmFja2Ryb3BVdGlsaXR5Q2xhc3MiLCJCYWNrZHJvcFJvb3QiLCJpbnZpc2libGUiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3R0b20iLCJXZWJraXRUYXBIaWdobGlnaHRDb2xvciIsIl9zbG90UHJvcHMkcm9vdCIsIl9yZWYiLCJfc2xvdHMkcm9vdCIsImNoaWxkcmVuIiwiY29tcG9uZW50cyIsImNvbXBvbmVudHNQcm9wcyIsIm9wZW4iLCJzbG90UHJvcHMiLCJUcmFuc2l0aW9uQ29tcG9uZW50IiwiRmFkZSIsInRyYW5zaXRpb25EdXJhdGlvbiIsInJvb3RTbG90UHJvcHMiLCJpbiIsInRpbWVvdXQiLCJhcyIsIlJvb3QiXSwic291cmNlUm9vdCI6IiJ9