Universitatea Craiova vs Egnatia Rrogozhinë – Match Preview & Live Updates

.fanbanter-poll{border:1px solid #dfd5e5;border-radius:7px;padding:10px 12px;margin:12px 0;color:#37003c}.fanbanter-poll .fbnp-caption{display:block;font-size:14px!important;line-height:1.25;margin:0 0 7px}.fanbanter-poll form{margin:0!important}.fanbanter-poll .fbnp-choices{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fanbanter-poll .fbnp-choices button,.fanbanter-poll .fbnp-results>span{display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:0;min-height:38px;margin:0!important;padding:6px!important;border:1px solid #d9c5e1;border-radius:5px;background:#f7f2fa;color:#37003c!important;font-family:inherit;font-size:13px!important;line-height:1.2!important;text-align:center;white-space:normal;overflow-wrap:break-word;cursor:pointer}.fanbanter-poll .fbnp-choices button:hover{background:#37003c;color:#fff!important}.fanbanter-poll .fbnp-choices button:focus-visible{outline:3px solid #8a5ca0;outline-offset:2px}.fanbanter-poll .fbnp-choices button:disabled{cursor:default;opacity:.6}.fanbanter-poll .fbnp-status{display:block;margin-top:5px;font-size:11px!important;color:#65596b}.fanbanter-poll .fbnp-results>span{cursor:default}.fanbanter-poll .fbnp-results small{font-size:11px}.fb-fixture-header{margin:28px 0 12px;border:1px solid #dedede;border-radius:8px;overflow:hidden;background:#17212c;color:white}.fb-fixture-header>img{display:block;width:100%;height:145px;object-fit:cover;margin:0}.fb-fixture-heading{padding:10px 12px}.fb-fixture-title{display:flex;align-items:center;gap:12px}.fb-fixture-header h2{color:white!important;font-size:22px;line-height:1.2;margin:0!important;padding:0!important;flex:1;scroll-margin-top:120px}.fb-fixture-title img{width:34px;height:34px;object-fit:contain;background:white;padding:4px;border-radius:4px;margin:0}.fb-fixture-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:13px;line-height:1.4}.fb-fixture-meta span{display:inline-block}.fb-fixture-meta strong{color:#fff}.fb-conference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}.fb-conference-card{padding:10px;border:1px solid #dedede;border-radius:7px;background:#f7f8fa;min-width:0}.fb-conference-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13px;line-height:1.25}.fb-conference-heading img{width:25px;height:25px;object-fit:contain;margin:0}.fb-conference-heading strong,.fb-conference-heading small{display:block}.fb-conference-card iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:5px}.fb-snapshot-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;border:1px solid #dedede;border-radius:7px;padding:12px;margin:14px 0}.fb-mini-label{font-size:10px;line-height:1.3;color:#616a75;letter-spacing:.25px;text-transform:uppercase;margin:0 0 7px}.fb-form{display:grid;grid-template-columns:minmax(80px,1fr) repeat(5,23px) 23px;gap:4px;align-items:center;font-size:12px}.fb-form>span,.fb-form>b{text-align:center;line-height:25px;border-radius:3px}.fb-form-name{display:flex;align-items:center;gap:5px;font-size:12px;line-height:1.2;min-width:0}.fb-form-W{background:#d7f1e3;color:#125832}.fb-form-D{background:#fff0c1;color:#735200}.fb-form-L{background:#fbe0df;color:#8a2525}.fb-h2h-counts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;text-align:center;font-size:11px;line-height:1.2}.fb-h2h-counts b{display:block;font-size:22px;color:#17212c}.fb-h2h-sample{font-size:11px;line-height:1.3;color:#666;margin-top:7px}.fb-pick{display:grid;grid-template-columns:180px 1fr;gap:14px;background:#f7f8fa;border:1px solid #dedede;border-left:3px solid #c51e32;border-radius:5px;padding:12px;margin:14px 0}.fb-pick strong{display:block;font-size:16px;color:#17212c}.fb-pick p{margin:0!important;font-size:13px!important;line-height:1.45!important}.fb-travel{border:1px solid #dedede;border-radius:7px;padding:12px;margin:14px 0 20px}.fb-travel-top{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;line-height:1.3;margin-bottom:8px}.fb-travel-top b{font-size:16px;color:#17212c}.fb-travel-top span{font-size:11px;color:#616a75}.fb-travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:13px;line-height:1.4}.fb-travel-grid>div{border-top:2px solid #ccd3db;padding-top:5px}.fb-travel-grid small{display:block;font-size:10px;font-weight:bold;color:#616a75}.fb-history{margin:24px 0;padding:12px;background:#f5f7fa;border:1px solid #dedede;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fb-history a{display:inline-block;padding:5px 9px;border:1px solid #bfc8d3;border-radius:4px}.fb-history [aria-current]{background:#17212c;color:white}.fb-credits{font-size:11px;line-height:1.5;color:#666}.fb-credits p{font-size:11px!important;line-height:1.5!important}@media(max-width:650px){.fb-snapshot-grid,.fb-travel-grid,.fb-pick{grid-template-columns:1fr}.fb-fixture-header h2{font-size:19px}.fb-fixture-header>img{height:120px}}@media(max-width:600px){.fb-conference-grid{grid-template-columns:1fr}}.fb-snapshot-grid p.fb-mini-label,.fb-pick p.fb-mini-label{font-size:10px!important;line-height:1.3!important;margin:0 0 7px!important}.fb-fixture-meta{color:#fff!important}.fb-fixture-header>.fb-snapshot-grid{background:white;color:#303740;margin:0;border:0;border-top:1px solid #dedede;border-radius:0;padding:12px}.fb-fixture-header .fb-mini-label{color:#616a75!important}.fb-match .fb-fixture-header .fb-form{font-weight:normal;letter-spacing:normal;white-space:normal}.fb-form-name img{width:16px!important;height:16px!important;object-fit:contain}.fb-match .fb-snapshot-grid p{margin:0 0 7px!important}.fb-match .fb-h2h-sample{margin-top:7px}.fb-match .fb-fixture-meta span{font-size:12px}.fb-match .fb-fixture-header>img{height:145px;object-fit:cover;object-position:center}.fb-match .fb-fixture-title img{height:38px;width:38px}.fb-match .fb-conference-grid p{font-size:13px;margin:0}.fb-match .fb-widget-loading{padding:18px;background:#f7f8fa;border:1px solid #dedede}.fb-match .fb-artwork{margin:18px 0}.fb-match .fb-artwork img{width:100%;height:auto;display:block}.fb-match .fb-travel small{font-size:10px}.fb-match .fb-credits{margin:12px 0}.fb-match .fb-h2h-counts span{font-size:11px}.fb-match .fb-form>b{font-size:12px}.fb-match{color:#172638;font-family:Arial,sans-serif;font-size:17px;line-height:1.65}.fb-match *{box-sizing:border-box}.fb-match h2{font-size:25px;line-height:1.25;margin:28px 0 13px}.fb-match h3{font-size:19px;line-height:1.35;margin:20px 0 8px}.fb-match p{margin:0 0 17px}.fb-match img{max-width:100%;height:auto}.fb-match .fb-hero{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#001b30;border-radius:10px}.fb-match .fb-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}.fb-match .fb-snapshot{background:#001b30;color:white;padding:23px;border-radius:12px;margin:22px 0}.fb-match .fb-snapshot h2{margin:0 0 10px;color:white}.fb-match .fb-sub{font-size:14px;color:#67778a}.fb-match .fb-snapshot .fb-sub{color:#d7e1ee}.fb-match table{width:100%;border-collapse:collapse;font-size:14px;margin:15px 0 20px}.fb-match th,.fb-match td{text-align:left;padding:10px 7px;border-bottom:1px solid #dce2e9}.fb-match th{background:#f0edf6}.fb-match .fb-form{font-weight:bold;letter-spacing:3px;white-space:nowrap}.fb-match .fb-panel{padding:20px;border:1px solid #dce2e9;border-top:4px solid #37003c;border-radius:8px;margin:22px 0;background:#f7f9fb}.fb-match .fb-panel h2,.fb-match .fb-panel h3{margin-top:0}.fb-match .fb-route{width:100%;display:block;border-radius:8px}.fb-match .fb-pred{border-left:5px solid #ff0022;padding:15px 18px;background:#f3f0f7;margin:20px 0}.fb-match .fb-label{display:inline-block;padding:2px 7px;border-radius:4px;background:#eee6f5;color:#37003c;font-size:12px;font-weight:bold}.fb-match .fb-return{background:#e2f5ea;color:#116440}.fb-match .fb-video{width:100%;aspect-ratio:16/9;border:0;border-radius:8px}.fb-match .fb-sources{font-size:13px;color:#637286;border-top:1px solid #dce2e9;padding-top:18px;margin-top:26px}@media(max-width:760px){.fb-match .fb-grid{grid-template-columns:1fr}.fb-match .fb-grid aside{order:2}.fb-match{font-size:16px}.fb-match table{font-size:12px}.fb-match th,.fb-match td{padding:8px 5px}}.fb-matchday-widget{display:flex;flex-direction:column;height:330px;background:#fff;border:1px solid #dfe7ef;border-radius:4px;overflow:hidden;font:12px/1.4 Arial;color:#102238}.fb-md-original{display:none!important}.fb-md-hero{background:#071c38;background-size:cover;background-position:center;color:#fff;padding:9px 12px}.fb-md-top{display:flex;justify-content:space-between;gap:8px;font-size:11px}.fb-md-top>b{color:#ff6273}.fb-md-score{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:5px;text-align:center;padding:7px 0}.fb-md-score>strong{font-size:25px}.fb-md-team{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.fb-dashboard .fb-md-team img{width:32px;height:36px;object-fit:contain}.fb-md-hero>small{display:block;text-align:center;color:#dbe7f2;font-size:10px}.fb-md-tabs{display:flex;flex-wrap:wrap;border-bottom:1px solid #dfe7ef;background:#f2f6fa;flex-shrink:0}.fb-md-tabs button{flex:1;border:0;border-bottom:3px solid transparent;background:transparent;color:#203b56;padding:7px 5px;font:bold 11px Arial;white-space:nowrap;cursor:pointer}.fb-md-tabs button[aria-selected=true]{border-bottom-color:#e9213d;color:#b91230;background:#fff}.fb-md-content{padding:10px 12px;overflow:auto;flex:1;min-height:0;scrollbar-width:thin}.fb-md-content p{font:12px/1.4 Arial!important;margin:5px 0!important}.fb-md-content>small{display:block;font-size:10px;color:#526b80;margin:5px 0}.fb-md-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fb-md-columns b,.fb-md-columns small{display:block}.fb-md-columns small{font-size:10px;margin-top:6px}.fb-md-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.fb-md-odds span{padding:5px;background:#f1f6fb;font-weight:bold;font-size:11px}.fb-md-foot{display:flex;justify-content:space-between;gap:7px;background:#f2f6fa;padding:5px 10px;font-size:10px}.fb-md-delayed{background:#fff0d1;color:#704800;padding:4px}.fb-md-tabs button:focus-visible{outline:2px solid #0075df;outline-offset:-2px}@media(max-width:640px){.fb-matchday-widget{height:365px}.fb-md-team{flex-direction:column;gap:3px}.fb-md-tabs button{padding:8px 5px}.fb-md-foot{flex-wrap:wrap}}/* Matchday occupies the full lead story height, with positions supplied by the provider. */.fb-club-news>.fb-md-lead{display:flex;flex-direction:column;align-self:stretch;min-height:0}.fb-md-lead .fb-news-lead-heading{flex-shrink:0}.fb-matchday-widget{flex:1;height:auto;min-height:440px;border:0;border-radius:9px;background:#fff;box-shadow:0 0 0 1px #dfe7ef}.fb-md-hero{padding:12px 14px;background-size:auto,240px auto;background-repeat:no-repeat;background-position:center,right 70%;border-bottom:3px solid #e9213d}.fb-md-score{padding:10px 0;grid-template-columns:1fr 45px 1fr}.fb-md-score>strong{font-size:28px}.fb-dashboard .fb-md-team img{width:38px;height:43px}.fb-md-team{font-size:13px}.fb-md-tabs{gap:2px;padding:3px;background:#eef3f8;border:0}.fb-md-tabs button{border-radius:5px;border-bottom:0;padding:8px 5px;font-size:11px}.fb-md-tabs button[aria-selected=true]{color:#fff;background:#132f4d}.fb-md-content{padding:12px 14px}.fb-md-columns{gap:14px;align-items:start}.fb-md-formation{text-align:center;min-width:0}.fb-md-formation>small{display:block;color:#63768c;font-size:11px;margin:2px 0 7px}.fb-md-pitch{display:flex;flex-direction:column-reverse;justify-content:space-around;gap:7px;min-height:244px;padding:11px 4px;border:1px solid #c7dbce;border-radius:5px;background:repeating-linear-gradient(0deg,#edf6ef 0px,#edf6ef 48px,#e4f0e7 48px,#e4f0e7 96px);position:relative}.fb-md-pitch:before{content:”;position:absolute;inset:8px;border:1px solid #b7cfbf;pointer-events:none}.fb-md-pitch:after{content:”;position:absolute;left:50%;top:50%;width:45px;height:45px;border:1px solid #b7cfbf;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.fb-md-pitch-row{display:flex;justify-content:space-around;gap:3px;position:relative;z-index:1}.fb-md-pitch-player{flex:1;min-width:0;max-width:80px;display:flex;flex-direction:column;align-items:center;gap:2px}.fb-md-pitch-player>b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#153c59;color:#fff;font-size:11px;box-shadow:0 1px 3px #071c3822}.fb-md-pitch-player>span{font-size:10px;line-height:12px;color:#10293c;font-weight:600;overflow-wrap:anywhere;max-width:100%}.fb-md-bench{text-align:left;font-size:11px;margin-top:8px;color:#354e64}.fb-md-bench summary{font-weight:bold;cursor:pointer}.fb-md-lineups>small{font-size:10px;color:#65768d;margin-top:8px}.fb-md-foot{border-top:1px solid #e3eaf1;background:#fff;padding:7px 12px;color:#65768d;flex-shrink:0}.fb-md-lineups{overflow:visible}.fb-matchday-widget:has(.fb-md-lineups){min-height:490px}.fb-md-lineups .fb-md-columns{height:auto}@media(max-width:640px){.fb-matchday-widget{min-height:420px}.fb-matchday-widget:has(.fb-md-lineups){min-height:520px}.fb-md-columns{gap:8px}.fb-md-content{padding:9px}.fb-md-team{flex-direction:row;font-size:12px}.fb-md-pitch-player>span{font-size:10px}.fb-md-hero{background-size:auto,190px auto}.fb-md-pitch{min-height:260px}}.fb-md-pitch-player>span{font-size:12px;line-height:14px}.fb-md-pitch{min-height:280px}.fb-matchday-widget:has(.fb-md-lineups){min-height:530px}@media(max-width:640px){.fb-md-pitch-player>span{font-size:12px;line-height:14px}.fb-md-pitch{min-height:290px}.fb-matchday-widget:has(.fb-md-lineups){min-height:550px}}/* Bound the live desk so tab content cannot stretch the news grid. */.fb-club-news:has(.fb-md-lead){grid-template-rows:repeat(3,minmax(0,auto));align-items:start}.fb-club-news>.fb-md-lead{align-self:start;min-width:0}.fb-matchday-widget,.fb-matchday-widget:has(.fb-md-lineups){flex:none;height:490px;min-height:0;max-height:490px}.fb-md-lineups{overflow:auto}.fb-md-hero{flex-shrink:0;padding:8px 12px}.fb-md-score{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);padding:7px 0}.fb-md-score>strong{white-space:nowrap;line-height:1.1}.fb-md-pitch{min-height:244px;padding:8px 4px;gap:5px}.fb-md-pitch-player>b{width:23px;height:23px}.fb-md-live{display:inline-flex;align-items:center;gap:4px;animation:fb-md-pulse 1.8s ease-in-out infinite}@keyframes fb-md-pulse{0%,100%{opacity:1}50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.fb-md-live{animation:none}}@media(max-width:640px){.fb-matchday-widget,.fb-matchday-widget:has(.fb-md-lineups){height:490px;min-height:0;max-height:490px}.fb-md-pitch{min-height:244px}}.fb-md-formation>b,.fb-md-formation>small{display:inline;font-size:12px}.fb-md-formation>small{margin-left:6px;white-space:nowrap}.fb-md-pitch{margin-top:7px}.fb-md-lead .fb-news-lead-heading{display:none}/* Modern formation surface; decorative markings never overlap player text. */.fb-md-pitch{border:1px solid #164c40;border-radius:9px;background:repeating-linear-gradient(0deg,#105040 0,#105040 49px,#125744 49px,#125744 98px);box-shadow:inset 0 0 35px #042c2c55}.fb-md-pitch:before{inset:9px;border-color:#d3f0df55;border-radius:2px}.fb-md-pitch:after{width:45px;height:45px;border-color:#d3f0df55}.fb-md-pitch-lines{position:absolute;inset:9px;pointer-events:none;border:0;background:linear-gradient(transparent calc(50% – .5px),#d3f0df55 calc(50% – .5px),#d3f0df55 calc(50% + .5px),transparent calc(50% + .5px))}.fb-md-pitch-lines i{position:absolute;left:26%;width:48%;height:17%;border:1px solid #d3f0df55}.fb-md-box-top{top:0;border-top:0!important}.fb-md-box-bottom{bottom:0;border-bottom:0!important}.fb-md-pitch-lines i:after{content:”;position:absolute;left:25%;width:50%;height:45%;border:1px solid #d3f0df55}.fb-md-box-top:after{top:0;border-top:0!important}.fb-md-box-bottom:after{bottom:0;border-bottom:0!important}.fb-md-pitch-player>span{color:#fff;text-shadow:0 1px 3px #002b26,0 0 5px #002b26;background:#073f3570;border-radius:3px;padding:0 2px}.fb-md-pitch-player>b{background:#f4f8fb;color:#153c59;border-radius:7px;box-shadow:0 2px 5px #002b2670;font-weight:800}.fb-md-journey{margin:8px 0;border-radius:6px;overflow:hidden;border:1px solid #dbe5ed}.fb-md-journey svg{display:block;width:100%;height:230px;background:#082b47}.fb-md-incident-info{padding:8px;background:#f2f6fa}.fb-md-traffic-detail{padding:6px 0;border-top:1px solid #e3eaf1;font-size:12px}.fb-md-traffic-detail summary{cursor:pointer;font-weight:bold}.fb-md-journey{display:grid;grid-template-columns:44% minmax(0,1fr);gap:0;align-items:start}.fb-md-journey svg{height:260px}.fb-md-incident-info{background:#fff;min-width:0;padding:0 0 0 9px;max-height:300px;overflow:auto}.fb-md-incident-info summary{font-size:11px;line-height:1.4;overflow-wrap:anywhere}.fb-md-incident-info details{margin-bottom:5px;padding:6px;border:1px solid #e3eaf1;border-radius:4px;background:#f6f8fa}.fb-md-incident-info details[hidden]{display:none}.fb-md-more-incidents{border:1px solid #c8d7e3;border-radius:4px;background:#fff;color:#1266a5;padding:6px;font:bold 11px Arial;cursor:pointer}.fb-md-impact-major{border-left:3px solid #dc354b!important;background:#fff0f2!important}.fb-md-impact-minor{opacity:.8}.fb-md-selected-incident:empty{display:none}.fb-md-selected-incident{padding:6px;background:#edf4fa;margin-bottom:5px}.fb-md-journey svg [role=button]:focus{outline:2px solid #fff}.fb-md-content>a:first-child{display:block;margin-bottom:4px}.fb-md-journey svg{height:230px}.fb-md-incident-info details>small{display:block;font-size:10px;line-height:1.4;color:#62768b;margin-top:3px}.fb-md-incident-info details:not([open])>small{display:block}.fb-md-incident-info details:not([open])>p{display:none}.fb-md-kit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.fb-md-kit-grid figure{margin:0;text-align:center;background:#f4f7fa;border-radius:6px;padding:4px}.fb-dashboard .fb-md-kit-grid img{display:block;width:100%;height:100px;object-fit:contain}.fb-md-kit-grid figcaption{font:11px Arial;padding:4px}.fb-md-kit-pending{height:100px;display:grid;place-items:center;font-size:11px;color:#62768b}.fb-md-h2h-summary{display:grid;grid-template-columns:1fr .7fr 1fr;gap:7px;text-align:center;margin:9px 0 5px}.fb-md-h2h-summary>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px}.fb-dashboard .fb-md-h2h-summary img,.fb-individual-preview .fb-md-h2h-summary img{width:25px;height:27px;max-width:25px;object-fit:contain}.fb-md-h2h-summary strong{font-size:24px;line-height:1}.fb-md-h2h-summary small{flex-basis:100%;font-size:10px}.fb-md-h2h-bar{display:flex;height:5px;border-radius:4px;overflow:hidden;margin-bottom:9px}.fb-md-h2h-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;text-align:center}.fb-md-h2h-stats>div{background:#f0f5f9;border-radius:5px;padding:5px}.fb-md-h2h-stats b,.fb-md-h2h-stats small{display:block}.fb-md-h2h-stats b{font-size:16px}.fb-md-h2h-stats small{font-size:10px;color:#62768b}.fb-md-h2h-history{margin-top:8px}.fb-md-h2h-row{display:grid;grid-template-columns:65px 1fr 38px 1fr;gap:5px;align-items:center;padding:7px 0;border-top:1px solid #e3eaf1;font-size:12px}.fb-md-h2h-row>small{font-size:10px;color:#62768b}.fb-md-h2h-row>span:nth-child(2){text-align:right}.fb-md-h2h-row>b{text-align:center;background:#eef3f8;border-radius:3px;white-space:nowrap}.fb-md-h2h-winner{font-weight:700}.fb-md-h2h-stats{grid-template-columns:repeat(3,1fr)}.fb-md-incident-info summary>small{display:block;font-weight:400;color:#62768b;font-size:10px;margin-top:3px}.fb-md-stat-row{display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);gap:5px;align-items:center;text-align:center;border-bottom:1px solid #e7eef4;padding:6px 0;font-size:12px}.fb-md-stat-row>span{color:#62768b;font-size:11px}.fb-md-possession{height:6px;background:#17344f;border-radius:4px;overflow:hidden;margin:5px 0}.fb-md-possession>span{display:block;background:#187ac0;height:100%}.fb-md-events-heading{display:block;margin:12px 0 5px}.fb-md-event{display:grid;grid-template-columns:44px 1fr;gap:7px;padding:8px 0;border-top:1px solid #e3eaf1;font-size:12px}.fb-md-event>div>small{display:block;font-size:11px;color:#62768b;margin-top:2px}.fb-md-goal-flash{animation:fb-md-goal-highlight 1.5s ease-in-out 3}.fb-md-goal-notice{font:bold 15px Arial;letter-spacing:1px;text-align:center;color:#ffe36e;padding:3px 0 7px}.fb-md-kit-grid{grid-template-columns:1fr}.fb-dashboard .fb-md-kit-grid img{height:170px}.fb-md-kit-pending{height:170px}@keyframes fb-md-goal-highlight{0%,100%{box-shadow:inset 0 0 0 3px #eebd4355}50%{box-shadow:inset 0 0 30px #ffce4977,inset 0 0 0 3px #ffdd59}}@media(prefers-reduced-motion:reduce){.fb-md-goal-flash{animation:none;box-shadow:inset 0 0 0 2px #ffdd59}}.fb-md-team{flex-wrap:wrap}.fb-md-header-goals{flex-basis:100%;font-size:11px;line-height:1.4;color:#fff}.fb-md-header-goals small{display:block;font-size:10px;color:#b8c9dc}.fb-md-score{align-items:start}.fb-md-score>strong{align-self:center}.fb-md-market-closed{display:flex;align-items:center;justify-content:center;text-align:center;padding:28px}.fb-md-market-closed>strong{font-size:22px;line-height:1.3;max-width:340px;color:#132f4d}.fb-md-traffic-detail summary{padding:7px 9px!important;font-size:12px!important;line-height:1.35}.fb-md-traffic-detail summary>b{font-size:12px}.fb-md-traffic-detail summary>small{display:block;margin:2px 0 0!important;font-size:11px;color:#526b80}.fb-md-traffic-detail{margin-bottom:5px!important}.fb-md-traffic-detail summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:list-item!important}.fb-md-traffic-detail[open] summary{white-space:nowrap}.fb-md-hero{padding:8px 12px}.fb-md-top{font-size:10px}.fb-md-score{align-items:start;padding:5px 0;gap:5px}.fb-md-score>strong{align-self:start;margin-top:5px;font-size:26px}.fb-md-team{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px 5px;align-items:center;text-align:left;max-width:100%;font-size:12px}.fb-dashboard .fb-md-team img{width:28px;height:31px}.fb-md-header-goals{grid-column:1/-1;font-size:10px;line-height:1.45}.fb-md-header-goals small{display:inline;font-size:10px}.fb-md-hero>small{font-size:9px;margin-top:3px}.fb-md-content:has(.fb-md-journey)>b{display:block;margin-bottom:6px;font-size:12px}.fb-md-journey{margin-top:0}.fb-md-traffic-detail summary{padding:5px 7px!important}.fb-md-traffic-detail:not([open]){padding:0!important;min-height:0!important}.fb-md-incident-info details:not([open])>small{display:none!important}.fb-md-highlight{position:relative;flex:1;min-height:0;background:#071c38}.fb-md-highlight iframe{width:100%;height:100%;min-height:220px;border:0;display:block}.fb-md-highlight-play{width:100%;height:100%;padding:0;border:0;position:relative;background:#071c38;cursor:pointer}.fb-md-highlight-play img{width:100%;height:100%;object-fit:cover;display:block}.fb-md-highlight-play span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#071c38e8;color:white;border-radius:5px;padding:12px 18px;white-space:nowrap;font-weight:bold}.fb-md-has-highlights .fb-md-header-goals{display:none}.fb-md-has-highlights .fb-md-hero{flex-shrink:0}.fb-md-has-highlights .fb-md-tabs{order:3}.fb-md-highlight-play:focus-visible{outline:3px solid #ffdd59;outline-offset:-3px}.fb-md-match{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}.fb-md-match-stats,.fb-md-match-updates{min-width:0}.fb-md-match .fb-md-stat-row{grid-template-columns:minmax(0,1fr) 65px minmax(0,1fr);font-size:11px;padding:5px 0}.fb-md-match .fb-md-stat-row>span{font-size:10px}.fb-md-match-updates .fb-md-events-heading{margin:0 0 5px}.fb-md-match-updates .fb-md-event{grid-template-columns:32px minmax(0,1fr);font-size:11px;padding:6px 0}.fb-md-match-updates .fb-md-event small{font-size:10px}@media(max-width:480px){.fb-md-match{grid-template-columns:1fr}.fb-md-match .fb-md-stat-row{font-size:12px}}.fb-md-match-updates .fb-md-event{grid-template-columns:30px minmax(0,1fr) 20px;gap:5px;align-items:start}.fb-dashboard .fb-md-event-crest{width:20px;height:22px;object-fit:contain}.fb-md-action{display:block;font-size:10px;color:#526b80;margin-bottom:2px}.fb-md-match-updates .fb-md-event>div>b{line-height:1.4}.fb-md-content.fb-md-match{overflow:hidden;align-items:stretch}.fb-md-match-stats{align-self:start}.fb-md-match-updates{height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.fb-md-match-updates>.fb-md-events-heading{position:sticky;top:0;background:#fff;padding-bottom:5px;z-index:1}@media(max-width:480px){.fb-md-content.fb-md-match{display:block;overflow:auto}.fb-md-match-updates{height:260px;margin-top:12px}}.fb-md-kits{overflow:hidden;padding:8px}.fb-md-kit-columns,.fb-md-kit-columns>section,.fb-md-kit-grid{height:100%;min-height:0}.fb-md-kit-grid figure{margin:0;height:100%;display:flex;align-items:center;justify-content:center;padding:4px!important;background:#f7f9fb}.fb-md-kit-grid figure>a{display:block;width:100%;height:100%}.fb-dashboard .fb-md-kit-grid img{width:100%;height:100%;max-height:none;object-fit:contain}.fb-md-kit-pending{height:100%;width:100%}.fb-md-travel{display:flex;flex-direction:column;overflow:hidden}.fb-md-travel>.fb-md-journey{flex:1;min-height:0;margin-bottom:0;align-items:stretch}.fb-md-travel .fb-md-journey svg{height:100%;min-height:0}.fb-md-travel .fb-md-incident-info{height:100%;max-height:none;overflow:auto;overscroll-behavior:contain}.fb-md-travel .fb-md-selected-incident{font-size:11px}.fb-md-kit-grid figure>a{position:relative;overflow:hidden}.fb-md-pitch-player{position:relative}.fb-dashboard .fb-md-player-photo>img{width:32px;height:36px;object-fit:cover;border-radius:6px;background:#e8f0f3;flex:none}.fb-md-player-photo>b{position:absolute;top:24px;left:calc(50% + 5px);width:16px!important;height:16px!important;font-size:9px!important;border-radius:4px!important;z-index:2}.fb-md-player-photo>span{margin-top:2px}.fb-md-bench-toggle{display:block;width:100%;margin-top:7px;border:1px solid #cbdbe4;border-radius:5px;background:#eef4f8;color:#153b56;padding:7px;font:bold 11px Arial;cursor:pointer}.fb-md-bench-toggle[aria-pressed=true]{background:#173b51;color:#fff}.fb-md-dugout{min-height:280px;border-radius:8px;background:linear-gradient(180deg,#d6e3ea 0,#f1f5f8 16%,#edf3f6 100%);padding:9px 6px 12px;box-shadow:inset 0 0 0 1px #b9cdd9;overflow:hidden}.fb-md-dugout-roof{font:bold 9px Arial;color:#e7f2f5;background:#153c52;border-radius:7px 7px 2px 2px;padding:7px;letter-spacing:1px;border-bottom:3px solid #4e7a91}.fb-md-bench-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 5px;margin-top:12px}.fb-md-bench-player{min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;min-height:65px}.fb-dashboard .fb-md-bench-player>img{width:34px;height:39px;object-fit:cover;border-radius:6px;background:#d7e4ec}.fb-md-bench-player>b{font-size:10px;line-height:1.2;color:#18374e;overflow-wrap:anywhere}.fb-md-bench-placeholder{display:grid;place-items:center;width:34px;height:39px;background:#d7e4ec;border-radius:7px;color:#7995a7}.fb-md-dugout{min-height:250px}.fb-md-bench-player>b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:24px}.fb-md-bench-grid{gap:5px}/* Bench and starting XI share one fixed viewport. */.fb-md-lineups .fb-md-columns{height:100%;min-height:0;align-items:stretch}.fb-md-lineups .fb-md-columns>div{display:flex;flex-direction:column;min-height:0;min-width:0}.fb-md-lineups .fb-md-pitch{flex:1;min-height:0;padding:4px 3px;gap:1px;margin-top:3px;justify-content:space-between}.fb-md-lineups .fb-md-pitch-row{min-height:0;flex:1;align-items:center}.fb-dashboard .fb-md-lineups .fb-md-player-photo>img{width:25px;height:28px}.fb-md-lineups .fb-md-player-photo>b{top:18px}.fb-md-lineups .fb-md-pitch-player>span{font-size:10px!important;line-height:11px!important;max-height:22px;overflow:hidden}.fb-md-lineups .fb-md-bench-toggle{flex:none;margin-top:4px;padding:5px}.fb-md-dugout{flex:1;min-height:0!important;padding:8px 7px 10px;background:#0a2338 url(dugout.svg?v=2.1.73) center/100% 100% no-repeat;display:flex;flex-direction:column;box-sizing:border-box}.fb-md-dugout-roof{background:transparent;border:0;padding:4px;color:#dceaf2;text-shadow:0 1px 3px #001426}.fb-md-bench-grid{flex:1;min-height:0;grid-template-rows:repeat(3,minmax(0,1fr));gap:3px 5px;margin-top:5px}.fb-md-bench-player{min-height:0;justify-content:center;gap:3px}.fb-md-bench-player>b{color:#fff;text-shadow:0 1px 3px #001426;background:#092236b3;border-radius:3px;padding:1px 3px}/* Compact scoreboard leaves more room for the formation. */.fb-md-hero{position:relative;padding:5px 10px 4px;flex-shrink:0}.fb-md-top{font-size:9px;line-height:12px}.fb-md-score{padding:2px 0;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);gap:5px}.fb-md-team{font-size:12px;gap:2px 5px}.fb-dashboard .fb-md-team img{width:25px;height:28px}.fb-md-score>strong{font-size:25px;margin-top:0}.fb-md-header-goals{font-size:9px;line-height:12px}.fb-md-header-goals small{font-size:9px}.fb-md-hero>small{font-size:9px;line-height:11px;margin-top:1px}.fb-md-hero{order:0}.fb-md-tabs,.fb-md-has-highlights .fb-md-tabs{order:1}.fb-md-highlight,.fb-md-content{order:2}.fb-md-lineups .fb-md-columns>section{display:flex;flex-direction:column;min-height:0;min-width:0}.fb-md-bench-player{position:relative}.fb-md-sub-on,.fb-md-sub-off{position:absolute;right:1px;top:0;font:bold 15px Arial;font-style:normal;border-radius:3px;background:#fff;line-height:17px;padding:0 2px;z-index:3;box-shadow:0 1px 2px #001a2955}.fb-md-sub-on{color:#087f37}.fb-md-sub-off{color:#d51e36}.fb-md-has-highlights .fb-md-header-goals{display:block}.fb-md-pitch-player>b.fb-md-shirt-number{width:24px!important;height:25px!important;border-radius:0;background-color:transparent!important;background-repeat:no-repeat;background-position:center;background-size:contain;box-shadow:none!important;color:#fff!important;text-shadow:-1px -1px 1px #071c38,1px 1px 1px #071c38,-1px 1px 1px #071c38,1px -1px 1px #071c38;font-size:10px!important;filter:drop-shadow(0 0 1px #fff)}.fb-md-player-photo>b.fb-md-shirt-number{top:15px;left:calc(50% + 2px)}.fb-md-bench-player:before{content:”;position:absolute;z-index:0;width:76%;height:calc(100% – 12px);max-height:61px;border:1px solid #56788c;border-radius:12px 12px 7px 7px;background:linear-gradient(#24475e,#18384d);left:12%;top:4px}.fb-md-bench-player:after{content:”;position:absolute;z-index:0;left:8%;right:8%;height:5px;background:#87a3b2;top:calc(50% + 11px);box-shadow:0 4px 0 #0b2133}.fb-md-bench-player>img,.fb-md-bench-player>b,.fb-md-bench-placeholder{position:relative;z-index:1}.fb-md-sub-on,.fb-md-sub-off{left:calc(50% + 15px);right:auto;top:0;width:15px;height:21px;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none;line-height:1;color:#48ff5b;filter:drop-shadow(0 1px 1px #001d22)}.fb-md-sub-on svg,.fb-md-sub-off svg{display:block;width:100%;height:100%;fill:currentColor;stroke:#fff;stroke-width:.6;paint-order:stroke fill}.fb-md-sub-off{color:#ff354e}.fb-md-sub-off svg{transform:rotate(180deg)}.fb-md-bench-player>.fb-md-sub-off{top:calc(50% – 25px);left:calc(50% + 21px)}.fb-md-portrait{display:block;position:relative;width:28px;height:32px;overflow:hidden;background:none;flex:none}.fb-dashboard .fb-md-portrait>img{position:absolute!important;left:-50%!important;top:0!important;width:200%!important;height:auto!important;max-width:none!important;border-radius:0!important;background:transparent!important;filter:drop-shadow(.5px 0 0 white) drop-shadow(-.5px 0 0 white) drop-shadow(0 -.5px 0 white)}.fb-md-pitch-player>.fb-md-portrait{margin-top:0}.fb-md-bench-player>.fb-md-portrait{width:32px;height:36px;position:relative;z-index:1}.fb-md-lineups .fb-md-pitch-player>span.fb-md-portrait{height:28px;max-height:none;width:28px;margin:0;padding:0;background:transparent;border-radius:0;line-height:normal;box-shadow:none}.fb-md-player-photo>b.fb-md-shirt-number{top:4px;left:calc(50% + 10px);width:20px!important;height:22px!important;font-size:9px!important}.fb-md-pitch-player>.fb-md-portrait{transform:translateX(-8px)}.fb-md-player-photo>b.fb-md-shirt-number{top:3px;left:calc(50% + 9px)}.fb-md-pitch-player>.fb-md-sub-on{left:calc(50% – 34px);top:3px;width:12px;height:19px}/* Portrait sizes requested: bench +75%, pitch +25%. */.fb-md-bench-player>.fb-md-portrait{width:56px;height:63px;max-height:none;flex:none}.fb-dashboard .fb-md-bench-player>img{width:59.5px;height:68.25px;object-fit:cover}.fb-md-bench-player{gap:2px}.fb-md-bench-player>b{line-height:10px;max-height:20px}.fb-md-bench-player>.fb-md-sub-off{left:calc(50% + 29px);top:calc(50% – 28px)}.fb-md-lineups .fb-md-pitch-player>span.fb-md-portrait{width:35px;height:35px;max-height:none}.fb-md-lineups .fb-md-pitch-player{gap:1px}.fb-md-lineups .fb-md-pitch-player>span:not(.fb-md-portrait){margin-top:0;line-height:10px!important;max-height:20px}.fb-md-player-photo>b.fb-md-shirt-number{left:calc(50% + 13px);top:6px}.fb-md-pitch-player>.fb-md-sub-on{left:calc(50% – 38px);top:5px}.fb-md-dugout{margin-top:3px}.fb-md-bench-player>.fb-md-portrait{width:57.6px;height:64.8px}.fb-md-player-photo>b.fb-md-player-number{position:absolute;top:18px;left:calc(50% + 2px);width:17px!important;height:17px!important;background:transparent!important;border-radius:0;box-shadow:none!important;color:white;font:bold 11px/17px Arial!important;text-shadow:0 1px 2px #001b29,-1px 0 1px #001b29,1px 0 1px #001b29}/* Keep long substitute names inside their seats at larger portrait sizes. */.fb-md-bench-player>.fb-md-portrait,.fb-dashboard .fb-md-bench-player>img{position:absolute;left:50%;top:0;transform:translateX(-50%)}.fb-md-bench-player>b{position:absolute;bottom:0;left:50%;transform:translateX(-50%);max-width:100%;width:max-content;margin:0;box-sizing:border-box}.fb-md-dugout-roof{padding:2px 4px}.fb-md-bench-grid{margin-top:2px}.fb-md-bench-player:after{display:none}.fb-md-bench-player>.fb-md-portrait{width:54.72px;height:61.56px}.fb-md-bench-player>b{font-size:10px;line-height:12px;max-height:24px;padding:0 3px;bottom:1px;z-index:3}.fb-dashboard .fb-md-portrait-headshot>img{width:75%!important;height:auto!important;left:12.5%!important;top:8%!important}.fb-md-dugout{background-image:linear-gradient(180deg,#244d63,#0a2338)!important;border-radius:28px 28px 8px 8px;box-shadow:inset 0 5px 0 2px #72909e,inset 5px 0 0 #72909e,inset -5px 0 0 #72909e}.fb-md-bench-player:before{border-color:#3b5f75;background:linear-gradient(#24475e,#18384d)}/* Larger crests occupy the team header beside names and goal details. */.fb-md-score{align-items:center;min-height:62px}.fb-md-team{grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto auto;min-height:62px;column-gap:7px;row-gap:1px;align-content:center}.fb-dashboard .fb-md-team>img{grid-column:1;grid-row:1/3;width:56px;height:62px;align-self:center;object-fit:contain}.fb-md-team>b{grid-column:2;grid-row:1;align-self:end}.fb-md-team .fb-md-header-goals{grid-column:2;grid-row:2;align-self:start}.fb-md-team:not(:has(.fb-md-header-goals))>b{grid-row:1/3;align-self:center}.fb-md-score>strong{align-self:center;margin-top:0}@media(max-width:480px){.fb-md-team{grid-template-columns:38px minmax(0,1fr);column-gap:5px;min-height:46px}.fb-dashboard .fb-md-team>img{width:38px;height:46px}.fb-md-score{min-height:46px}}.fb-individual-preview .fb-pick>div{grid-column:1/-1}.fb26-preview-fixtures{display:none!important}.fb-individual-preview{display:block;width:100%;max-width:100%;box-sizing:border-box}.fb-individual-preview .fb-grid{display:block!important}.fb-individual-preview .fb-copy,.fb-individual-preview .fb-grid>main,.fb-individual-preview .fb-grid>aside{display:block!important;float:none!important;width:100%!important;max-width:100%!important}.fb-individual-right-column{font:12px/1.4 Arial,sans-serif}.fb-individual-right-column h2{font-size:21px!important;margin:8px 0 12px!important}.fb-individual-right-column h3{font-size:16px!important;margin:22px 0 10px!important}.fb-individual-table{width:100%;border-collapse:collapse;font-size:11px}.fb-individual-table th,.fb-individual-table td{padding:7px 4px;border-bottom:1px solid #e5e7eb;text-align:right}.fb-individual-table th:nth-child(2),.fb-individual-table td:nth-child(2){text-align:left}.fb-individual-highlight{font-weight:bold;background:#f4eef7}.fb-snapshot-form-only{grid-template-columns:1fr!important}.fb-h2h-counts{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:8px}.fb-h2h-counts strong{display:block;font-size:22px}.fb-h2h-counts span{display:block;font-size:11px}.fb-individual-round-match{padding:10px 0;border-bottom:1px solid #e5e7eb}.fb-individual-round-match strong,.fb-individual-round-match small{display:block}.fb-individual-round-match small{margin-top:4px;color:#606a75}
.fb-insight-period-controls{display:flex;gap:8px;margin:18px 0}.fb-insight-period-controls button{min-height:44px;padding:10px 20px;border:1px solid #b9c8d5;border-radius:24px;background:white;color:#10283f;font:600 14px system-ui;cursor:pointer}.fb-insight-period-controls button[aria-pressed=true]{background:#10283f;color:white}.fb-insight-period-controls button:focus-visible{outline:3px solid #ed174c;outline-offset:3px}[data-fb-insight-period-panel][hidden]{display:none!important}.fb-preview-insights{–fb-insight-navy:#001b30;–fb-insight-red:#ed174c;–fb-insight-cyan:#70d9f6;color:#10283f;clear:both;font-family:Inter,-apple-system,BlinkMacSystemFont,”Segoe UI”,sans-serif;line-height:1.45}.fb-insight{border:1px solid #e3e9ef;border-radius:24px;overflow:hidden;margin:28px 0;background:#f6f8fb;box-shadow:0 10px 36px #001b300b}.fb-insight-heading{padding:26px 26px 4px}.fb-insight-kicker,.fb-team-card header span,.fb-insight-depth summary small{display:block;font-size:10px!important;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#657889}.fb-insight-heading h2{font:850 clamp(25px,4.5vw,36px)/1.08 Inter,-apple-system,BlinkMacSystemFont,”Segoe UI”,sans-serif!important;color:#10283f!important;margin:7px 0 12px!important;letter-spacing:-.045em}.fb-insight>p,.fb-insight>ul{margin:10px 26px 20px;font-size:13px}.fb-insight-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px 20px 20px}.fb-team-card{min-width:0;border-radius:18px;background:white;padding:20px;border:1px solid #e8edf2;border-top:3px solid #10283f}.fb-team-1{border-top-color:#ed174c}.fb-team-card header{display:flex;align-items:center;gap:12px;min-height:46px}.fb-team-card h3{font:800 17px/1.2 Inter,-apple-system,sans-serif!important;margin:0 0 4px!important;letter-spacing:-.025em}.fb-insight-club{width:40px!important;height:40px!important;object-fit:contain!important;flex:none;margin:0!important;box-shadow:none!important}.fb-insight-monogram{display:grid!important;place-items:center;background:#edf2f6;color:#001b30!important;width:42px;height:42px;flex:none;border-radius:12px;letter-spacing:-.04em!important;font-size:13px!important}.fb-team-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0}.fb-team-card dl div{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-top:1px solid #edf1f5}.fb-team-card dt{font-size:11px;line-height:1.3;color:#607285;order:2}.fb-team-card dd{font-size:22px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin:0;line-height:1.15;overflow-wrap:anywhere}.fb-insight-sample{font:11px/1.55 Inter,-apple-system,sans-serif;color:#718194;letter-spacing:0}.fb-team-card .fb-insight-sample{margin:16px 0 0}.fb-corner-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:24px}.fb-corner-metrics span{font-size:12px;color:#657889}.fb-corner-metrics strong{display:block;font-size:clamp(36px,7vw,54px);line-height:1.2;letter-spacing:-.07em;font-weight:850;font-variant-numeric:tabular-nums}.fb-corner-metrics small{font-size:10px;color:#718194}.fb-corner-track{height:5px;background:#eaf0f5;border-radius:8px;margin:8px 0}.fb-corner-track i{display:block;background:#10283f;height:100%;border-radius:inherit}.fb-team-1 .fb-corner-track i{background:#ed174c}.fb-half-corners{display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#f0f4f8;border-radius:12px;margin-top:18px;padding:12px}.fb-half-corners>span{font-size:9px;font-weight:800;letter-spacing:.1em}.fb-half-corners strong{font-size:19px;letter-spacing:-.04em}.fb-half-corners small{font-size:10px;font-weight:500;color:#657889;letter-spacing:0}.fb-insight[data-fb-module=”goal-timing”]{background:#071e33;color:#fff;border-color:#17374f;box-shadow:0 16px 42px #001b3020}.fb-insight[data-fb-module=”goal-timing”] .fb-insight-heading h2{color:#fff!important}.fb-insight[data-fb-module=”goal-timing”]>.fb-insight-heading .fb-insight-kicker{color:#70d9f6}.fb-insight[data-fb-module=”goal-timing”]>p{color:#9bb0c3;font-size:11px}.fb-insight-mode{margin:0 20px 14px;border:1px solid #294256;border-radius:16px;overflow:hidden}.fb-insight-mode>summary{cursor:pointer;padding:14px 18px;font-size:13px;font-weight:800;list-style:none;display:flex;align-items:center;justify-content:space-between;background:#102c44}.fb-insight-mode>summary:after{content:’+’;color:#70d9f6;font-size:20px;font-weight:400}.fb-insight-mode[open]>summary:after{content:’−’}.fb-insight-chart{padding:20px}.fb-insight-chart>h3{font-size:16px!important;letter-spacing:-.02em;color:#fff!important;margin:0 0 14px!important}.fb-insight-filter{display:flex;align-items:center;gap:12px;font-size:11px;color:#b4c5d3}.fb-insight-filter select{width:auto;max-width:100%;min-width:0;border:1px solid #385167;border-radius:10px;background:#132f47;color:#fff;font:600 12px Inter,-apple-system,sans-serif;padding:10px}.fb-player-picks{display:flex;gap:7px;margin-top:10px;overflow:auto;padding-bottom:4px}.fb-player-picks button{display:flex;align-items:center;gap:6px;flex:none;border:1px solid #385167;background:#16334a;border-radius:30px;color:#d5e5f1;padding:4px 10px 4px 4px;cursor:pointer;font:600 10px Inter,-apple-system,sans-serif}.fb-player-picks button[aria-pressed=true]{border-color:#70d9f6;background:#254d66;color:white}.fb-player-picks img{width:32px!important;height:34px!important;object-fit:cover!important;object-position:top;border-radius:0;background:transparent;filter:drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff);margin:0!important}.fb-goal-focus{display:flex;gap:18px;align-items:center;margin:20px 0 24px;background:linear-gradient(115deg,#173d57,#102c44);padding:18px 22px;border-radius:16px;min-height:116px}.fb-goal-focus .fb-insight-kicker{color:#8db4cc;font-size:9px!important;letter-spacing:.1em}.fb-goal-focus strong[data-goal-total]{font-size:60px;line-height:1.05;display:inline-block;font-weight:850;letter-spacing:-.07em;margin-right:8px}.fb-goal-total-label{font-size:12px;color:#b5cad9}.fb-goal-focus>p{margin:0 0 0 auto;font-size:11px;color:#b5cad9;max-width:150px;line-height:1.7}.fb-goal-focus>p b{font-weight:600;color:#e2eef5}.fb-player-portrait{width:88px;align-self:stretch;flex:none;overflow:hidden}.fb-player-portrait[hidden]{display:none}.fb-player-portrait img{width:88px!important;height:104px!important;object-fit:cover!important;object-position:top;border-radius:0;margin:0!important;background:transparent;filter:drop-shadow(1px 0 0 white) drop-shadow(-1px 0 0 white) drop-shadow(0 -1px 0 white)}.fb-insight-chart svg{display:block;width:100%;height:auto;overflow:visible;margin-top:14px;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,#ffffff07 40px)}.fb-goal-grid{stroke:#ffffff12;stroke-width:1}.fb-insight-chart svg .fb-axis-label{fill:#d6e7f1;font-weight:700;font-size:12px}.fb-chart-explainer{font-size:10px!important;color:#8eabba!important;margin:4px 0 0!important}.fb-insight-chart svg text{font:600 12px Inter,-apple-system,sans-serif;fill:#a9bfce}.fb-insight-chart svg [data-goal-value]{fill:white;font-weight:800}.fb-series-0{fill:#70d9f6;background:#70d9f6}.fb-series-1{fill:#ff557a;background:#ff557a}.fb-insight-legend{display:flex;gap:14px;flex-wrap:wrap;color:#b3c8d7;font-size:10px}.fb-insight-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.fb-insight-chart>details{border-top:1px solid #294256;margin-top:14px;font-size:11px;color:#a9bfce}.fb-insight summary{cursor:pointer}.fb-insight-chart>details>summary{padding-top:12px}.fb-insight table{width:100%;border-collapse:collapse;font-size:11px;color:inherit}.fb-insight th,.fb-insight td{text-align:left;padding:8px;border-bottom:1px solid #294256}.fb-insight-depth>summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;list-style:none;font-weight:800;font-size:20px;letter-spacing:-.03em;color:#10283f}.fb-insight-depth summary small{font-size:9px!important;letter-spacing:.12em;margin-bottom:3px}.fb-insight-depth summary b{font-size:25px;color:#ed174c;font-weight:400}.fb-insight-depth[open]>summary{border-bottom:1px solid #e8edf2}.fb-insight-depth[open]>summary b{transform:rotate(45deg)}.fb-insight>ul{padding-left:20px}.fb-insight>ul li{margin:12px 0}.fb-player-picks button:focus-visible,.fb-insight summary:focus-visible,.fb-insight select:focus-visible{outline:3px solid #70d9f6;outline-offset:3px}@media(max-width:550px){.fb-insight{border-radius:20px;margin:20px 0}.fb-insight-heading{padding:22px 18px 2px}.fb-insight-pair{grid-template-columns:1fr;padding:10px 14px 14px;gap:10px}.fb-insight>p,.fb-insight>ul{margin-left:18px;margin-right:18px}.fb-team-card{padding:16px}.fb-insight-mode{margin:0 12px 12px}.fb-insight-chart{padding:14px}.fb-goal-focus{padding:14px;gap:12px}.fb-goal-focus>p{display:none}.fb-goal-focus strong[data-goal-total]{font-size:52px}.fb-insight-chart svg text{font-size:22px}.fb-insight-chart svg .fb-axis-label{font-size:22px}.fb-insight-legend span{display:block}.fb-insight-filter{align-items:flex-start;flex-direction:column;gap:5px}.fb-insight-filter select{width:100%}.fb-insight-depth>summary{padding:18px;font-size:18px}.fb-player-picks{max-width:100%}}@media(prefers-reduced-motion:no-preference){.fb-insight-chart rect{transition:height .18s ease,y .18s ease}}
.fb-preview-v2 *{box-sizing:border-box}.fb-preview-v2{scroll-behavior:smooth}.fb-preview-v2{margin:0;background:#eef1f3;color:#001b30;font:17px/1.7 Arial,sans-serif}.fb-preview-v2 .review-bar{padding:15px max(22px,calc((100vw – 1080px)/2));background:#001b30;color:white;display:flex;align-items:center;gap:24px;font-size:12px}.fb-preview-v2 .review-bar b{font-size:17px;letter-spacing:-.04em}.fb-preview-v2 .review-bar span{color:#b6c7d2}.fb-preview-v2 .review-bar a{color:white;margin-left:auto}.fb-preview-v2{max-width:960px;margin:28px auto 60px;background:white;padding:52px 62px;border-top:6px solid var(–competition)}.fb-preview-v2 h1,.fb-preview-v2 h2,.fb-preview-v2 h3,.fb-preview-v2 p{margin-top:0}.fb-preview-v2 h1{font-size:44px;line-height:1.12;letter-spacing:-1.6px;margin:14px 0 22px}.fb-preview-v2 h2{font-size:28px;line-height:1.25;letter-spacing:-.7px;margin:38px 0 20px;padding-top:14px;border-top:3px solid var(–competition)}.fb-preview-v2 h3{font-size:20px;line-height:1.35;margin:18px 0 12px}.fb-preview-v2 p{margin-bottom:18px}.fb-preview-v2 small{font-size:12px;line-height:1.5;color:#536779}.fb-preview-v2 .eyebrow{font-size:11px;font-weight:800;letter-spacing:1.5px}.fb-preview-v2 .standfirst{font-size:20px;line-height:1.55;color:#42596a}.fb-preview-v2 .article-heading{padding-bottom:25px;border-bottom:1px solid #dce4e9;margin-bottom:28px}.fb-preview-v2 .intro{font-size:18px}.fb-preview-v2 .match-header{background:#001b30;color:white;border-radius:12px;overflow:hidden;margin:28px 0}.fb-preview-v2 .competition-line{background:var(–competition);color:#001b30;padding:10px 22px;display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:1px;font-weight:bold}.fb-preview-v2 .competition-line img{object-fit:contain;background:white;border-radius:50%;padding:3px}.fb-preview-v2 .match-header .fb-matchday-widget{margin:0!important;border-radius:0!important;border:none!important}.fb-preview-v2 .match-header [data-fb-preview-matchday]>h2,.fb-preview-v2 .match-header .fb-md-back{display:none!important}.fb-preview-v2 .match-header .fb-club-news{display:block!important;margin:0!important}.fb-preview-v2 .match-header .fb-news-card{border:0!important;padding:0!important;margin:0!important}.fb-preview-v2 .match-header .fb-md-console-footer{order:3;padding:9px 16px;background:#f2f5f7;font-size:10px;color:#536779}.fb-preview-v2 .match-header .fb-md-tabs button{font:inherit;font-size:13px}.fb-preview-v2 .match-header h2,.fb-preview-v2 .match-header h3{border:none;padding:0}.fb-preview-v2 .match-header .fb-md-hero{margin-top:0}.fb-preview-v2 .match-teams{display:grid;grid-template-columns:1fr 30px 1fr;padding:26px 20px 14px;text-align:center;align-items:center}.fb-preview-v2 .match-teams>div{display:flex;flex-direction:column;align-items:center;gap:10px}.fb-preview-v2 .match-teams img{width:64px;height:68px;object-fit:contain}.fb-preview-v2 .match-teams b{font-size:23px}.fb-preview-v2 .match-teams>span{color:var(–competition)}.fb-preview-v2 .match-header>p{text-align:center;font-size:12px;padding:0 16px 22px;margin:0}.fb-preview-v2 .form-comparison{border:1px solid #dce4e9;border-radius:12px;overflow:hidden;margin:24px 0;display:grid;grid-template-columns:1fr 1fr}.fb-preview-v2 .form-club{padding:22px}.fb-preview-v2 .form-club+section{border-left:1px solid #dce4e9}.fb-preview-v2 .form-club header{display:flex;gap:12px;align-items:center}.fb-preview-v2 .form-club h3{margin:0;font-size:18px}.fb-preview-v2 .form-club img,.fb-preview-v2 .club-news header img{object-fit:contain}.fb-preview-v2 .form-line{display:flex;align-items:center;gap:6px;margin-top:20px}.fb-preview-v2 .result{display:inline-grid;place-items:center;width:30px;height:32px;border-radius:4px;font-size:13px}.fb-preview-v2 .result-W{background:#dcefe4;color:#146441}.fb-preview-v2 .result-D{background:#e8edf2;color:#344f63}.fb-preview-v2 .result-L{background:#f9dfe2;color:#942b3d}.fb-preview-v2 .form-line>strong{margin-left:auto;font-size:22px}.fb-preview-v2 .form-line small{font-weight:normal;font-size:11px}.fb-preview-v2 .form-note{grid-column:1/-1;padding:10px 22px;background:#f4f6f8}.fb-preview-v2 .supporting-module .fb-insight{margin:24px 0;border-radius:12px}.fb-preview-v2 .fb-goal-team-controls{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}.fb-preview-v2 .fb-goal-team-controls button{font:700 12px Arial,sans-serif;border:1px solid #49657a;border-radius:20px;padding:10px 15px;color:#d3e0e8;background:transparent;cursor:pointer}.fb-preview-v2 .fb-goal-team-controls button[aria-pressed=”true”]{background:var(–competition);color:#001b30;border-color:var(–competition)}.fb-preview-v2 .fb-goal-team-controls button:focus-visible{outline:3px solid #70d9f6;outline-offset:3px}.fb-preview-v2 .fb-player-picks [hidden]{display:none!important}.fb-preview-v2 .goal-commentary{font-size:15px;line-height:1.7;margin:16px 22px 20px!important;color:#d3e0e8!important}.fb-preview-v2 .supporting-module .fb-insight h2{border:none;padding:0;margin:0;font-size:24px}.fb-preview-v2 .stats-depth{margin:36px 0;border:1px solid #ccd7df;border-left:5px solid var(–competition);border-radius:10px;background:#f7f9fa}.fb-preview-v2 .stats-depth>summary{padding:22px 24px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:16px}.fb-preview-v2 .stats-depth>summary::-webkit-details-marker{display:none}.fb-preview-v2 .stats-depth summary strong{display:block;font-size:23px;line-height:1.3;letter-spacing:-.5px}.fb-preview-v2 .stats-depth summary small{font-size:9px;letter-spacing:1.5px;font-weight:bold}.fb-preview-v2 .stats-depth summary em{font-size:12px;color:#526879;font-style:normal}.fb-preview-v2 .expand-icon{margin-left:auto;font-size:28px}.fb-preview-v2 .stats-depth[open] .expand-icon{transform:rotate(45deg)}.fb-preview-v2 .stats-body{padding:0 24px 24px}.fb-preview-v2 .sample-note,.fb-preview-v2 .design-note{font-size:12px;color:#526879;line-height:1.65}.fb-preview-v2 .results table{width:100%;border-collapse:collapse;font-size:12px}.fb-preview-v2 .results caption{text-align:left;color:#526879;font-size:11px;margin-bottom:10px}.fb-preview-v2 .results td,.fb-preview-v2 .results th{padding:9px 5px;border-bottom:1px solid #dce4e9;text-align:left}.fb-preview-v2 .results td:last-child{white-space:nowrap;text-align:right}.fb-preview-v2 .results th{background:#e9eef2}.fb-preview-v2 .h2h{background:white;border:1px solid #dce4e9;border-radius:10px;padding:18px;margin:24px 0}.fb-preview-v2 .h2h h3{margin-top:0}.fb-preview-v2 .h2h-numbers{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-size:11px;margin-bottom:14px}.fb-preview-v2 .h2h-numbers b{display:block;font-size:30px}.fb-preview-v2 .stats-body .fb-insight h2{border:none;padding:0;margin:0}.fb-preview-v2 .news-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fb-preview-v2 .club-news{border:1px solid #dce4e9;border-radius:10px;overflow:hidden}.fb-preview-v2 .club-news header{padding:16px;background:var(–club);color:white;display:flex;align-items:center;gap:14px;border-bottom:4px solid var(–competition)}.fb-preview-v2 .club-news header h3{margin:0;font-size:19px}.fb-preview-v2 .club-news header img{background:white;border-radius:6px;padding:3px}.fb-preview-v2 .club-news-body{padding:18px}.fb-preview-v2 .sample-label{font-size:8px;font-weight:bold;letter-spacing:1px;color:#617487}.fb-preview-v2 .club-news dl{font-size:12px}.fb-preview-v2 .club-news dt{font-weight:bold;margin-top:14px}.fb-preview-v2 .club-news dd{margin:2px 0;color:#617487}.fb-preview-v2 .club-news-body>small{font-size:10px}.fb-preview-v2 .prediction{background:#001b30;color:white;border-radius:12px;padding:28px;margin:38px 0}.fb-preview-v2 .prediction .eyebrow{color:var(–competition)}.fb-preview-v2 .prediction h2{border:none;margin:10px 0 18px;padding:0;font-size:32px}.fb-preview-v2 .prediction p{font-size:15px;color:#d3e0e8}.fb-preview-v2 .poll{border-top:1px solid #354b5b;margin-top:24px;padding-top:18px}.fb-preview-v2 .poll h3{margin:0}.fb-preview-v2 .poll p{font-size:12px;margin:4px 0 12px}.fb-preview-v2 .poll>div{display:flex;gap:8px}.fb-preview-v2 .poll button{flex:1;background:#fff;color:#001b30;border:none;border-radius:5px;padding:12px 5px;font-weight:bold}.fb-preview-v2 .poll small{color:#b6c7d2;display:block;margin-top:10px;font-size:10px}.fb-preview-v2 .travel{padding:22px;background:#f2f5f7;border-radius:10px;display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px}.fb-preview-v2 .travel strong{display:block;font-size:30px;line-height:1.2}.fb-preview-v2 .travel p,.fb-preview-v2 .travel small{grid-column:1/-1;margin:0}.fb-preview-v2 figure{margin:24px 0}.fb-preview-v2 .artwork{width:100%;height:auto;display:block;border-radius:10px}.fb-preview-v2 figcaption{font-size:10px;color:#536779;margin-top:8px}.fb-preview-v2 .sources{font-size:11px;line-height:1.8;border-top:1px solid #dce4e9;padding-top:20px;margin-top:32px}.fb-preview-v2 .next-fixtures ul{font-size:14px;padding-left:18px}.fb-preview-v2 .next-fixtures h3{font-size:17px}.fb-preview-v2 summary:focus-visible,.fb-preview-v2 a:focus-visible{outline:3px solid #bd851c;outline-offset:4px}@media(max-width:620px){.fb-preview-v2{font-size:16px}.fb-preview-v2 .review-bar{padding:12px 16px;gap:12px;flex-wrap:wrap}.fb-preview-v2 .review-bar span{display:none}.fb-preview-v2{margin:0;padding:28px 20px}.fb-preview-v2 h1{font-size:32px;letter-spacing:-1px}.fb-preview-v2 .desktop{display:none}.fb-preview-v2 .standfirst{font-size:18px}.fb-preview-v2 h2{font-size:25px}.fb-preview-v2 .form-comparison,.fb-preview-v2 .news-pair{grid-template-columns:1fr}.fb-preview-v2 .form-club+section{border-left:none;border-top:1px solid #dce4e9}.fb-preview-v2 .stats-depth>summary{padding:18px}.fb-preview-v2 .stats-depth summary strong{font-size:20px}.fb-preview-v2 .stats-body{padding:0 12px 16px}.fb-preview-v2 .match-teams b{font-size:19px}.fb-preview-v2 .prediction{padding:22px}.fb-preview-v2 .prediction h2{font-size:28px}.fb-preview-v2 .results td{font-size:11px}}.fb-preview-v2{display:block!important;max-width:100%;width:100%;margin:0;padding:0;background:white;border:0;color:#001b30;font:17px/1.7 Arial,sans-serif}.fb-preview-v2 .competition-line{color:var(–competition-ink)}.fb-preview-v2 .fb-form-name img{object-fit:contain}.fb-preview-v2 .fb-fixture-heading{display:none}.fb-preview-v2 .fb-snapshot-grid{display:block}.fb-preview-v2 .fb-fixture-header{background:white;color:#001b30;border:1px solid #dce4e9}.fb-preview-v2 .fb-md-console-footer{order:3}.fb-preview-v2 .fb-pick{display:block}.fb-preview-v2 .stats-body .fb-insight h2{border:none}.fb-preview-v2 [data-fb-copy=goal-analysis]{margin:20px 0}.fb-preview-v2 .prediction h2,.fb-preview-v2 .prediction h3,.fb-preview-v2 .prediction p,.fb-preview-v2 .prediction li{color:#ffffff!important}.minute-clock{margin:28px 0;border:1px solid #29465c;border-radius:14px;padding:26px;background:#0b2032;color:#e3edf4}.minute-clock h2{color:white;border:none;padding:0;margin:8px 0 18px;font-size:27px}.minute-clock .eyebrow{color:#8db4cc}.minute-clock>p,.minute-clock [data-minute-commentary] p,.minute-clock label{color:#e3edf4!important}.minute-clock>p{font-size:14px;line-height:1.7}.minute-controls{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.minute-controls button{font:700 12px Arial;padding:10px 16px;border:1px solid #49657a;border-radius:20px;background:transparent;color:#d7e5ef;cursor:pointer}.minute-controls button[aria-pressed=true]{background:var(–competition);border-color:var(–competition);color:#001b30}.minute-player{display:flex;align-items:center;gap:12px;font-size:12px;margin:20px 0}.minute-clock .fb-player-picks{margin:0 0 20px}.minute-clock .fb-player-picks button{color:#d7e5ef}.minute-clock [data-minute-commentary] p{font-size:14px;line-height:1.7}.minute-player select{font:inherit;color:white;background:#19354a;padding:10px;border:1px solid #49657a;border-radius:6px;max-width:80%}.minute-legend{display:flex;gap:24px;font-size:13px;font-weight:bold;flex-wrap:wrap}.minute-legend i{display:inline-block;width:11px;height:11px;margin-right:8px}.minute-scored{background:#70d9f6;border-radius:50%}.minute-conceded{background:#ff557a;transform:rotate(45deg)}.minute-plot{overflow-x:auto;border:1px solid #2a4256;border-radius:8px;background:#0a1b2a}.minute-plot svg{display:block;width:100%;min-width:740px;height:auto}.minute-plot svg text{fill:#c2d3e0;font:12px Arial}.minute-plot .minute-axis-title{font-weight:bold}.minute-help,.minute-sample{font-size:11px!important;color:#a6bece!important}.minute-clock summary{font-size:13px;font-weight:bold;padding:14px 0;cursor:pointer}.minute-table-wrap{overflow-x:auto}.minute-clock table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:11px}.minute-clock th,.minute-clock td{text-align:left;padding:9px;border-bottom:1px solid #29465c}.minute-clock button:focus-visible,.minute-clock select:focus-visible,.minute-clock svg [tabindex]:focus-visible{outline:3px solid #f0c45d;outline-offset:3px}@media(max-width:620px){.minute-clock{padding:18px 14px}.minute-clock h2{font-size:23px}.minute-controls button{padding:9px 12px}}

Universitatea Craiova host Egnatia Rrogozhinë at Ion Oblemenco Stadium on Thursday 5 November at 20:00 GMT. Universitatea Craiova arrive with 13 points from their last five matches in all competitions, compared with 10 for Egnatia Rrogozhinë.

UEFA Conference League · League Stage – 3

Universitatea Craiova Vs Egnatia Rrogozhinë matchday centre

Enable JavaScript to view the matchday centre.

window.fbLeagueMatchday={“league”:848,”leagueName”:”UEFA Conference League”,”fixturesEndpoint”:”https://fanbanter.co.uk/wp-json/fanbanter-rollout/v1/league-rounds”,”clubEndpointBase”:”https://fanbanter.co.uk/wp-json/fanbanter/v1/matchday/”,”endpointBase”:”https://fanbanter.co.uk/wp-json/fanbanter-rollout/v1/league-matchday/”,”highlightsBase”:”https://fanbanter.co.uk/wp-json/fanbanter-rollout/v1/highlights/”,”profilesEndpoint”:”https://fanbanter.co.uk/wp-json/fanbanter/v1/club-profiles/”,”fixtures”:[{“id”:1636483,”away”:{“id”:3327,”logo”:”https://gamestodaysoccer.top/wp-content/uploads/2026/11/3327.png”,”name”:”Egnatia Rrogozhinë”},”home”:{“id”:632,”logo”:” Craiova”},”round”:”League Stage – 3″,”status”:”NS”,”kickoff”:”2026-11-05T20:00:00+00:00″,”record_id”:”api-football:fixture:1636483″,”venue”:”Ion Oblemenco Stadium”}],”extraFixtures”:[],”clubTeam”:632,”fixtureId”:1636483,”awaydays”:” pinned=c.fixtures;Object.defineProperty(c,”fixtures”,{get:function(){return pinned;},set:function(rows){const f=Array.isArray(rows)&&rows.find(f=>Number(f.id)===Number(c.fixtureId));if(f)pinned=[f];}});})(window.fbLeagueMatchday);(function(){const n=document.createElement(“script”);n.textContent=new TextDecoder().decode(Uint8Array.from(atob(“OyhmdW5jdGlvbigpe2lmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmItc2hhcmVkLW1hdGNoZGF5LXN0eWxlIikpe2NvbnN0IHN0eWxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7c3R5bGUuaWQ9ImZiLXNoYXJlZC1tYXRjaGRheS1zdHlsZSI7c3R5bGUudGV4dENvbnRlbnQ9Ii5mYi1zY29yZWJvYXJke2NvbnRhaW5lci10eXBlOmlubGluZS1zaXplO3Bvc2l0aW9uOnJlbGF0aXZlO2lzb2xhdGlvbjppc29sYXRlO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO21pbi1oZWlnaHQ6MzMwcHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAxMjAlLCMyMzUzNDkgMCx0cmFuc3BhcmVudCA1NSUpLGxpbmVhci1ncmFkaWVudCgxNTVkZWcsIzE3MmU0ZCwjMDcxMzIxIDcyJSk7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmc6MjBweCAyMnB4IDE3cHg7Ym94LXNoYWRvdzppbnNldCAwIDAgMCAxcHggIzhmYWNiZjMwLGluc2V0IDAgMXB4IDAgI2ZmZmZmZjE1fS5mYi1zY29yZWJvYXJkOmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2luc2V0OjA7ei1pbmRleDotMTtvcGFjaXR5Oi4xNztiYWNrZ3JvdW5kLWltYWdlOnJhZGlhbC1ncmFkaWVudCgjYWVjMmQ5IDAuNnB4LHRyYW5zcGFyZW50IC44cHgpO2JhY2tncm91bmQtc2l6ZTo1cHggNXB4O21hc2staW1hZ2U6bGluZWFyLWdyYWRpZW50KCMwMDAsdHJhbnNwYXJlbnQgOTAlKX0uZmItc2NvcmVib2FyZDphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotNTZweDtsZWZ0OjIwJTt3aWR0aDo2MCU7aGVpZ2h0OjEyNXB4O2JvcmRlcjoxcHggc29saWQgIzZmYzRhNjI2O2JvcmRlci1yYWRpdXM6NTAlO3otaW5kZXg6LTF9LmZiLXNjb3JlYm9hcmQgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZiLXNiLXRvcHtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7Zm9udC1zaXplOjlweDtsZXR0ZXItc3BhY2luZzoxLjRweDtmb250LXdlaWdodDo4MDA7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOiNjNGQ1ZTR9LmZiLXNiLWxpdmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2NvbG9yOiNmZmZ9LmZiLXNiLWxpdmU6YmVmb3Jle2NvbnRlbnQ6Jyc7d2lkdGg6NnB4O2hlaWdodDo2cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDojZWY0MDU0O2JveC1zaGFkb3c6MCAwIDEwcHggI2VmNDA1NDg4fS5mYi1zYi1icmFuZHtjb2xvcjojOTFhOGJmO2xldHRlci1zcGFjaW5nOjEuNXB4fS5mYi1zYi10ZWFtc3tkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOm1pbm1heCgwLDFmcikgNDBweCBtaW5tYXgoMCwxZnIpO2dhcDoxMHB4O2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MjJweCAwIDE4cHh9LmZiLXNiLWNsdWJ7bWluLXdpZHRoOjA7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6OXB4fS5mYi1zY29yZWJvYXJkIC5mYi1zYi1jbHViIGltZ3t3aWR0aDo2MXB4IWltcG9ydGFudDtoZWlnaHQ6NjVweCFpbXBvcnRhbnQ7bWF4LXdpZHRoOjYxcHghaW1wb3J0YW50O29iamVjdC1maXQ6Y29udGFpbjtmaWx0ZXI6ZHJvcC1zaGFkb3coMCAzcHggN3B4ICMwMDA1KTttYXJnaW46MCFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czowIWltcG9ydGFudH0uZmItc2ItY2x1YiBzdHJvbmd7Zm9udC1zaXplOmNsYW1wKDEycHgsNC4zY3FpLDE3cHgpO2xpbmUtaGVpZ2h0OjEuMjtmb250LXdlaWdodDo4MDA7bWF4LXdpZHRoOjEwMCU7bWluLWhlaWdodDoyLjRlbTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZiLXNiLXZze2ZvbnQ6aXRhbGljIDgwMCAyMHB4IEFyaWFsO2NvbG9yOiNhM2I2Yzk7bGV0dGVyLXNwYWNpbmc6MXB4fS5mYi1zYi1jbG9jay10aXRsZXtjb2xvcjojYzJkNGU0O2ZvbnQtc2l6ZTo5cHg7Zm9udC13ZWlnaHQ6ODAwO2xldHRlci1zcGFjaW5nOjIuM3B4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTttYXJnaW46MCAwIDlweH0uZmItc2ItY2xvY2t7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmNlbnRlcjtnYXA6OXB4fS5mYi1zYi10aWxle21pbi13aWR0aDowO2ZsZXg6MTttYXgtd2lkdGg6MTI1cHh9LmZiLXNiLWRpZ2l0c3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO292ZXJmbG93OmhpZGRlbjtib3JkZXI6MXB4IHNvbGlkICM5MGIzZDIyYjtib3JkZXItcmFkaXVzOjdweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgjMDkxMTFkZjAsIzBlMjAzMyk7Ym94LXNoYWRvdzowIDVweCAxMnB4ICMwMDAzLGluc2V0IDAgMXB4IDAgI2ZmZmZmZjEwO2NvbG9yOiNmNGY5ZmY7Zm9udDo3MDAgY2xhbXAoMzJweCwxNmNxaSw2N3B4KS8xLjIyIHVpLW1vbm9zcGFjZSxTRk1vbm8tUmVndWxhcixDb25zb2xhcyxtb25vc3BhY2U7Zm9udC12YXJpYW50LW51bWVyaWM6dGFidWxhci1udW1zO2xldHRlci1zcGFjaW5nOi0ycHg7dGV4dC1zaGFkb3c6MCAwIDE1cHggI2E2ZGJmZjJiO3BhZGRpbmc6M3B4IDB9LmZiLXNiLWRpZ2l0czphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDo1MCU7aGVpZ2h0OjFweDtiYWNrZ3JvdW5kOiMwMDA4O2JveC1zaGFkb3c6MCAxcHggMCAjZmZmZmZmMDZ9LmZiLXNiLXVuaXR7ZGlzcGxheTpibG9jaztjb2xvcjojYTdiZWQxO2ZvbnQtc2l6ZTo4cHg7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOjEuN3B4O21hcmdpbi10b3A6N3B4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uZmItc2ItY29sb257ZmxleDpub25lO2FsaWduLXNlbGY6Y2VudGVyO2NvbG9yOiNlZjQwNTQ7Zm9udDo3MDAgMzBweC8xIHVpLW1vbm9zcGFjZSxtb25vc3BhY2U7bWFyZ2luOi0xN3B4IC00cHggMH0uZmItc2Itc3RhdHVze2JvcmRlci10b3A6MXB4IHNvbGlkICNhY2NhZGQyNDtwYWRkaW5nLXRvcDoxM3B4O21hcmdpbi10b3A6MThweDtmb250LXNpemU6OXB4O2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzoxLjJweDtjb2xvcjojZGNlN2YwO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uZmItc2Itc3RhdHVzIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6NXB4O2hlaWdodDo1cHg7YmFja2dyb3VuZDojZWY0MDU0O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbjowIDdweCAxcHggMH0uZmItc2Itbm90ZXtmb250LXNpemU6MTFweCFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS40NSFpbXBvcnRhbnQ7Y29sb3I6I2FmYzJkMiFpbXBvcnRhbnQ7bWFyZ2luOjZweCAwIDAhaW1wb3J0YW50fS5mYi1zYi12ZW51ZXtmb250LXNpemU6OXB4O2NvbG9yOiM5MGE5YmU7bWFyZ2luLXRvcDoxM3B4O2xpbmUtaGVpZ2h0OjEuNH0uZmItc2ItdmVudWUgYntjb2xvcjojZDRlMmVmO2ZvbnQtd2VpZ2h0OjYwMH0uZmItbWQtc2NvcmVib2FyZC1jb250ZW50e3BhZGRpbmc6MCFpbXBvcnRhbnQ7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9LmZiLW1kLWNvdW50ZG93bi1tb2RlPi5mYi1tZC1oZXJve2Rpc3BsYXk6bm9uZX0uZmItbWQtc2NvcmVib2FyZC1jb250ZW50IC5mYi1zY29yZWJvYXJke2JvcmRlci1yYWRpdXM6MDtoZWlnaHQ6MTAwJTttaW4taGVpZ2h0OjMxMHB4fUBtZWRpYShtYXgtd2lkdGg6NDIwcHgpey5mYi1zY29yZWJvYXJke3BhZGRpbmc6MTdweCAxNXB4IDE1cHh9LmZiLXNiLXRvcHtmb250LXNpemU6OHB4O2xldHRlci1zcGFjaW5nOjFweH0uZmItc2ItdGVhbXN7bWFyZ2luOjE5cHggMCAxN3B4fS5mYi1zY29yZWJvYXJkIC5mYi1zYi1jbHViIGltZ3t3aWR0aDo1M3B4IWltcG9ydGFudDtoZWlnaHQ6NTdweCFpbXBvcnRhbnR9LmZiLXNiLWNsb2Nre2dhcDo3cHh9LmZiLXNiLWNvbG9ue2ZvbnQtc2l6ZToyNHB4O21hcmdpbi10b3A6LTE1cHh9LmZiLXNiLXN0YXR1c3tmb250LXNpemU6OHB4O2xldHRlci1zcGFjaW5nOjFweH19XG4vKiBUaGUgc2hhcmVkIGJvYXJkIGFscmVhZHkgY29udGFpbnMgYm90aCBjbHViczsgc3VwcHJlc3MgdGhlIGxlZ2FjeSBjb25zb2xlIGhlcm8gaW4gZXZlcnkgaG9zdC4gKi9cbi5mYi1tYXRjaGRheS13aWRnZXQ6aGFzKC5mYi1zY29yZWJvYXJkKT4uZmItbWQtaGVyb3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fVxuXG4uZmItam91cm5leXtmb250LWZhbWlseTpBcmlhbCxzYW5zLXNlcmlmO2JhY2tncm91bmQ6I2YyZjZmYTtjb2xvcjojMTQyODNlO292ZXJmbG93OmhpZGRlbjtib3JkZXItcmFkaXVzOjEycHg7Ym9yZGVyOjFweCBzb2xpZCAjZDllMmVkfS5mYi1qb3VybmV5LWhlYWRpbmd7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCMxMTI3NDEsIzE5M2M1OSk7Y29sb3I6I2ZmZjtwYWRkaW5nOjE4cHggMjBweH0uZmItam91cm5leS1oZWFkaW5nPnNwYW57ZGlzcGxheTpibG9jaztjb2xvcjojODFkNmQwO2xldHRlci1zcGFjaW5nOjJweDtmb250LXNpemU6MTFweDtmb250LXdlaWdodDo4MDA7bWFyZ2luLWJvdHRvbTo4cHh9LmZiLWpvdXJuZXktaGVhZGluZz5zdHJvbmd7ZGlzcGxheTpibG9jaztmb250LXNpemU6MTlweDtsaW5lLWhlaWdodDoxLjM1fS5mYi1qb3VybmV5LXN1bW1hcnl7cGFkZGluZzoxNnB4IDIwcHggMTJweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6YmFzZWxpbmU7Z2FwOjEycHg7ZmxleC13cmFwOndyYXB9LmZiLWpvdXJuZXktc3VtbWFyeSBie2ZvbnQtc2l6ZToyNnB4O2NvbG9yOiMxMTI3NDF9LmZiLWpvdXJuZXktc3VtbWFyeSBzcGFue2ZvbnQtc2l6ZToxM3B4fS5mYi1qb3VybmV5LWdyb3VuZHN7cGFkZGluZzowIDIwcHggMTZweDtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmciAxZnI7Z2FwOjE0cHh9LmZiLWpvdXJuZXktZ3JvdW5kcyBkaXZ7Ym9yZGVyLWxlZnQ6M3B4IHNvbGlkICNlZDNiNTk7cGFkZGluZy1sZWZ0OjEwcHg7bWluLXdpZHRoOjB9LmZiLWpvdXJuZXktZ3JvdW5kcyBzbWFsbCwuZmItam91cm5leS1ncm91bmRzIHN0cm9uZywuZmItam91cm5leS1ncm91bmRzIHNwYW57ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjQ1fS5mYi1qb3VybmV5LWdyb3VuZHMgc21hbGx7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7Y29sb3I6IzUzNjk3Yn0uZmItam91cm5leS1ncm91bmRzIHN0cm9uZ3tmb250LXNpemU6MTRweH0uZmItam91cm5leS1ncm91bmRzIHNwYW57Zm9udC1zaXplOjEycHh9LmZiLWpvdXJuZXktbWFwe3dpZHRoOjEwMCU7aGVpZ2h0OjM5MHB4O2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjA7YmFja2dyb3VuZDojMTQzZDM2fS5mYi1qb3VybmV5PnNtYWxse2Rpc3BsYXk6YmxvY2s7cGFkZGluZzoxMXB4IDE2cHg7Zm9udC1zaXplOjExcHg7bGluZS1oZWlnaHQ6MS41fS5mYi1tZC1jb250ZW50LmZiLW1kLXRyYXZlbDpoYXMoPi5mYi1qb3VybmV5KXtwYWRkaW5nOjhweCFpbXBvcnRhbnQ7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9QG1lZGlhKG1heC13aWR0aDo0ODBweCl7LmZiLWpvdXJuZXktaGVhZGluZ3twYWRkaW5nOjE2cHh9LmZiLWpvdXJuZXktaGVhZGluZz5zdHJvbmd7Zm9udC1zaXplOjE3cHh9LmZiLWpvdXJuZXktbWFwe2hlaWdodDozNzBweH0uZmItam91cm5leS1zdW1tYXJ5e3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH0uZmItam91cm5leS1ncm91bmRze3BhZGRpbmctbGVmdDoxNnB4O3BhZGRpbmctcmlnaHQ6MTZweH19XG5cbi5mYi1qb3VybmV5LW1hcHtoZWlnaHQ6YXV0bzttaW4taGVpZ2h0OjIwMHB4O2NvbG9yOndoaXRlfS5mYi1qb3VybmV5LXNuYXBzaG90e3dpZHRoOjEwMCU7aGVpZ2h0OjMwMHB4O2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZDojMTkzNzRjfS5mYi1qb3VybmV5LW9wZW57ZGlzcGxheTpibG9jaztwYWRkaW5nOjAgMTZweCAxNHB4O2NvbG9yOiMxNzRjNzAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OmJvbGR9LmZiLWpvdXJuZXk+c21hbGw6YWZ0ZXJ7Y29udGVudDonIFJvYWQgcm91dGU6IE9TUk0gLyDCqSBPcGVuU3RyZWV0TWFwIGNvbnRyaWJ1dG9yczsgYm91bmRhcnk6IE9OUyDCqSBDcm93biBjb3B5cmlnaHQgMjAyNi4nfUBtZWRpYShtYXgtd2lkdGg6NDgwcHgpey5mYi1qb3VybmV5LXNuYXBzaG90e2hlaWdodDoyNjBweH19XG4vKiBMZXQgc2hhcmVkIHBhbmVscyBzZXQgdGhlaXIgb3duIGhlaWdodDsgbGVnYWN5IGNvbnNvbGVzIHVzZWQgYSBjbGlwcGVkIGZpeGVkLWhlaWdodCBib2R5LiAqL1xuLmZiLW1hdGNoZGF5LXdpZGdldDpoYXMoLmZiLWpvdXJuZXkpLC5mYi1tYXRjaGRheS13aWRnZXQ6aGFzKC5mYi1zY29yZWJvYXJkKXtoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7bWluLWhlaWdodDowIWltcG9ydGFudDttYXgtaGVpZ2h0Om5vbmUhaW1wb3J0YW50fVxuLmZiLW1kLWNvbnRlbnQ6aGFzKD4uZmItam91cm5leSksLmZiLW1kLWNvbnRlbnQuZmItbWQtc2NvcmVib2FyZC1jb250ZW50e2hlaWdodDphdXRvIWltcG9ydGFudDttYXgtaGVpZ2h0Om5vbmUhaW1wb3J0YW50O292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50O2ZsZXg6bm9uZSFpbXBvcnRhbnR9XG4uZmItbWF0Y2hkYXktd2lkZ2V0OmhhcyguZmItam91cm5leSk+LmZiLW1kLWhlcm97ZGlzcGxheTpub25lIWltcG9ydGFudH1cbiI7ZG9jdW1lbnQuaGVhZC5hcHBlbmQoc3R5bGUpO319KSgpOwp3aW5kb3cuZmJNYXRjaGRheUxhbmQ9eyJwYXRocyI6IFsiTTM3NC4yNiw0MjguOThMMzc1Ljk4LDQzMS43MkwzNzUuNDksNDM0LjE3TDM3Ni4zNyw0MjkuMDVMMzgwLjY5LDQzMS4xM0wzNzkuOTEsNDMyLjExTDM4NC43NCw0MzEuNDdMMzkwLjQ3LDQzNC44MUwzODQuMzQsNDM3LjY0TDM4Mi42NCw0NDEuNDdMMzc0LjY1LDQ0My4wNUwzNjIuMjMsNDM2LjM3TDM1NS4yNyw0MzYuNjNMMzU5LjY3LDQzMy40TDM2MS4wNyw0MzMuNDJMMzYwLjY0LDQzNS4xOUwzNjAuOTQsNDMzLjU1TDM2Ni4yNSw0MzEuOTVMMzY3LjExLDQzMi41NUwzNjUuNDQsNDMzLjc1TDM2OS41OCw0MzMuMTZMMzY3LjcyLDQzMS45NkwzNzQuMjYsNDI4Ljk4WiIsICJNMzI1LjA1LDM5LjE4TDMzNS45LDQ1LjA1TDMzNC44Niw0Ni4xM0wzMzcuODcsNDkuNThMMzQwLjI5LDUwLjI0TDM0MS41Miw0OC40NkwzNDMuODEsNTEuMTlMMzQxLjY3LDUxLjcxTDM0Mi43Myw1Mi44NEwzNDUuOTksNTEuNzRMMzUzLjA3LDU3LjA2TDM1MS40OSw1OC4yN0wzNTQuOTUsNjEuOTdMMzU0LjgsNjYuMjVMMzU2LjAzLDY3LjAyTDM1NS42OSw2OS4wMUwzNTIuNzQsNzAuNEwzNTYuMzUsNzQuNDlMMzUyLjUsNzMuNzZMMzU3LjgxLDc1Ljk0TDM1Ni42NCw4MC41OEwzNjEuMjQsODcuMUwzNTguNDMsODkuMDRMMzYyLjA4LDkyLjcxTDM1OS44Niw5MC41OEwzNTYuNDgsOTEuNTVMMzYxLjE1LDkxLjc4TDM2Mi42Niw5NS44MUwzNjcuNzMsMTAwLjk4TDM2NC4xNCwxMDMuMUwzNTkuOTYsMTAyLjQ4TDM2MS4wMSwxMDMuMTFMMzU3LjY2LDEwNS40MUwzNDEuNzQsMTAzLjQ5TDM0OC45LDEwNS4xM0wzNDcuNTgsMTA2LjM0TDM0OS4xNSwxMDUuMUwzNTIuNDUsMTA2LjQxTDM1NC40OCwxMDQuNjZMMzU4LjU3LDEwNS4zNkwzNTkuODYsMTAzLjM1TDM2NC4xNCwxMDQuMDFMMzYzLjA5LDEwMy4zTDM2Ny45MywxMDEuMjZMMzY3LjI2LDEwMi4yN0wzNzAuOTYsMTA0Ljk5TDM3MC4xOSwxMDcuNUwzNzEuMjQsMTA4LjU1TDM2Ni4xMiwxMDguODJMMzU4LjI2LDExMy4wNUwzNjMuMDcsMTEwLjAxTDM3MS4yMiwxMDguNzNMMzcxLjAsMTEyLjIyTDM3My4zOSwxMTUuMzNMMzc0LjQ1LDEyMC40NUwzODMuMTYsMTI2LjQ5TDM4MS43NiwxMjguMTVMMzg0LjUzLDEzMC41OEwzODEuNiwxMzIuNjNMMzc3Ljk4LDEzMi4yNkwzODMuODQsMTMyLjEyTDM4NC40MywxMzMuNDRMMzgxLjMxLDEzNS44OEwzNzQuOTcsMTM1LjMyTDM3Ny40LDEzNi43MkwzNzUuNzcsMTM3LjNMMzc2LjM5LDEzOC43MUwzNzcuOTQsMTM1LjI4TDM4Mi4wNCwxMzYuNTRMMzg1LjI4LDEzNC41NUwzODQuOTQsMTMzLjMxTDM4Ni4yNCwxMzMuODFMMzg0Ljc0LDEzMi4yNkwzODUuOTMsMTMwLjY1TDM5NS4xNywxMzQuOTlMNDEwLjY4LDEzNy44OUw0MTIuNzIsMTQwLjJMNDIxLjcxLDE0My4wNUw0MjAuMywxNDUuMDVMNDIzLjM3LDE0My4zNkw0MjcuOTUsMTQ2Ljc1TDQyNy4zOSwxNDguNjdMNDMxLjkyLDE1MS40MUw0MzUuNzIsMTU5LjAxTDQzNy4yOCwxNTkuNDRMNDM2LjQ2LDE2MC41Mkw0NDUuNDIsMTY1LjE0TDQ0NC4wNiwxNjYuMjNMNDQ1LjU2LDE2OC4zN0w0NTguMzIsMTczLjEyTDQ1MC4wNywxNzYuMTFMNDQ4Ljk5LDE4MS43NEw0NTQuNjMsMTkyLjQ0TDQ3Mi4wLDIwOS42OUw0NzMuNTQsMjEzLjgyTDQ3MC45OSwyMTYuMDlMNDczLjQ2LDIxMy4yNEw0NzAuNzMsMjExLjMyTDQ2NS41OCwyMDkuOThMNDU2LjQ3LDIxMS4wOEw0NDguMDMsMjA1LjMzTDQ0Ny44MiwyMDMuMzZMNDQwLjkzLDIwMi45OUw0NDEuMTUsMjAwLjhMNDM2LjI2LDE5NC42OEw0MzUuNywxOTEuNjNMNDM5LjIsMTg3LjU2TDQzNy40NCwxODkuMzdMNDM0Ljc3LDE4OC4wN0w0MzcuNDIsMTg5LjM4TDQzNi41MiwxOTAuNTdMNDMzLjc0LDE4OS43N0w0MzYuNTIsMTkwLjU5TDQzNS4yOSwxOTEuNkw0MzYuMjMsMTk0LjY1TDQzOS4zNCwxOTYuOThMNDM4LjYsMTk4LjI0TDQ0MS4xMSwyMDIuNDdMNDMyLjk5LDIwNC45MUw0MjUuNzgsMjA1LjI1TDQyMC41MywyMDMuMzJMNDE2LjA0LDIwNS42NUw0MDguMjgsMjA1LjQzTDQwNS4zNSwyMDcuMDZMNDA1LjYxLDIwMy41N0wzOTMuNTMsMjAxLjIzTDM5My42NiwyMDAuMDFMMzkwLjgsMTk5LjE5TDM5Mi40MSwxOTcuMjlMMzg5LjU3LDE5Ni4zNUwzOTAuMDgsMTk1LjI4TDM4Ni41OCwxOTUuNDZMMzg4LjY1LDE5MC43N0wzODYuNjYsMTk0LjY2TDM4MS4yMSwxOTMuODFMMzkwLjA3LDE5NS4zMkwzODkuNTksMTk2LjQ1TDM5Mi4zNSwxOTcuMzJMMzkwLjY1LDE5OS4yMkw0MDEuNzEsMjA0LjBMMzk0LjgyLDIwNi4zNUwzODguMTQsMjA0Ljg0TDM5Mi42MywyMDYuNDlMNDAxLjc3LDIwMy44N0w0MDUuODgsMjA0LjQ0TDQwNC40MSwyMDYuMjdMMzk1Ljg3LDIwOC4wNEwzOTYuNDMsMjEyLjIyTDM4OS4zNCwyMTQuMjZMMzg4Ljk2LDIxNy40OUwzODkuMzQsMjE0LjI5TDM5Ni41MSwyMTIuMTRMMzk1LjkxLDIwOC4wN0w0MDguMTMsMjA1LjY2TDQxNS44NywyMDYuMThMNDE2LjQ3LDIwOC4xMkw0MTQuNzQsMjExLjI1TDQxNS43MSwyMTIuODJMNDEzLjUsMjEzLjQ3TDQxMi40NiwyMTYuMzdMNDEyLjgsMjIwLjgxTDQwNy41LDIyNi4zNUw0MTAuNDYsMjI5Ljc0TDQwOS41MiwyMzIuMzVMNDExLjczLDIzMy4xMUw0MTEuMTksMjM0Ljk1TDQxMi4zMywyMzUuNDZMNDEyLjMsMjM3LjcyTDQxMC4yNCwyMzguNzNMNDExLjM0LDIzOS40MUw0MDkuOTQsMjQ2Ljk1TDQxMS40MiwyMzkuNDhMNDEwLjUsMjM4LjU1TDQxMi42OCwyMzcuODRMNDEyLjQ2LDIzNS41M0w0MTEuMjcsMjM0Ljk1TDQxMS44LDIzMy4xTDQwOS42LDIzMi4zNUw0MTAuNTQsMjI5Ljc3TDQwNy41OCwyMjYuMzNMNDEyLjg5LDIyMC44N0w0MTIuNjksMjE2LjExTDQxMy43NiwyMTMuNDNMNDE1LjgyLDIxMy4wM0w0MTYuMTEsMjA2LjQzTDQxOS44OSwyMDUuMkw0MjcuODEsMjA3LjgxTDQ0My43OSwyMDQuOTZMNDQ5Ljc2LDIxMC45NEw0NjIuOTYsMjE3LjMzTDQ2Ni4zMSwyMjEuMDZMNDY3LjcsMjIwLjcxTDQ2NS4zNiwyMTkuMzZMNDY5LjU2LDIyMC41Mkw0NzAuNzIsMjIzLjA0TDQ3MS44MSwyMjIuOTVMNDcwLjc4LDIyMS4yOUw0NzMuNjIsMjIyLjNMNDc2LjUxLDIyNi40M0w0NzUuNSwyMjYuNkw0NzcuOTMsMjI4LjE0TDQ3Ni40NiwyMjguMTVMNDc5LjEzLDIyOS4wM0w0ODYuNzQsMjQyLjQ5TDQ4Ny4yOCwyNTIuMTRMNDg2LjIxLDI1My44N0w0ODQuMjksMjUxLjk3TDQ4NS4zMiwyNTMuNUw0ODMuNTksMjUzLjc2TDQ4NS4wNywyNTMuNzFMNDcyLjkxLDI2MC4yN0w0NjguODcsMjY1LjdMNDY1LjI3LDI2NS4yNUw0NjEuNSwyNjIuMDFMNDY1LjU3LDI2NS43TDQ2OC44NiwyNjUuODRMNDY3LjA2LDI2Ni45OEw0NjUuODgsMjY1LjkyTDQ2Ni41OSwyNjcuNDdMNDY0LjIyLDI2OC4wTDQ2Ni4wMSwyNjguMDZMNDU3LjMzLDI3MS45MUw0NTQuMywyNzYuMDNMNDU4LjgyLDI3MS4wN0w0NjguNTQsMjY3LjgzTDQ2OS43OCwyNjkuNDRMNDc1LjU3LDI3MC4zMUw0NzYuMjMsMjcxLjc3TDQ3NC42OCwyNzEuMkw0NzguMTgsMjc0LjRMNDc0LjE2LDI4My4xMUw0NzQuMzksMjg2LjI1TDQ3Mi40MywyODguMTFMNDY3LjcyLDI5MC44Nkw0NTUuMDQsMjkzLjE2TDQ2Ny43NiwyOTAuOTRMNDcyLjQzLDI4OC4xNEw0NzkuMTcsMjc0LjE4TDQ4Ny4wLDI3NC45TDQ5MC4wLDI3OS4xNEw0ODcuNDksMjgzLjM5TDQ4OC44NywyODQuMzFMNDg4LjM4LDI5MC41NUw0ODEuMywyOTguMTNMNDY0LjEsMzExLjU4TDQ4OC4xNSwyOTEuMDVMNDg5LjAsMjg0LjY0TDQ4Ny43MiwyODIuNjJMNDkwLjYsMjc5LjgzTDQ4Ny45OCwyNzUuNDFMNDg5LjU0LDI3NC45OEw0ODcuOTQsMjc1LjAzTDQ5My4wOCwyNzEuOTJMNDk0LjE5LDI3Mi43NEw0OTYuMjEsMjY1Ljg3TDQ5OS45OCwyNjIuNThMNTEwLjg0LDI2Mi4yTDUxNC41NiwyNjIuNTNMNTEzLjQ2LDI2My41OUw1MjAuNzIsMjYyLjI3TDUyMi44NywyNjQuMDdMNTM0LjU0LDI2NC4yNEw1MzIuMjQsMjYyLjU3TDUyOC45LDI2Mi45NUw1MzAuMDUsMjYyLjA5TDU1Mi4zLDI2NS43N0w1NzUuODEsMjc4LjczTDU3OS4zNiwyODEuODlMNTgyLjA1LDI4Ny43M0w1ODEuOTQsMjkzLjQ1TDU4MC45OSwyODkuMDRMNTczLjAyLDI4OS41MUw1NjkuODMsMjg3LjQ1TDU2OS4wMSwyODQuMDFMNTc0Ljk1LDI4MS42OUw1NjguMjUsMjgzLjFMNTY4LjgyLDI4NS4yNEw1NjUuNTksMjgzLjI3TDU2NS44MiwyODEuMDJMNTY2LjgzLDI4NC40N0w1NjMuMjMsMjgzLjI1TDU2MC4zMywyODQuMzVMNTYzLjIsMjgzLjNMNTY3LjE1LDI4NC43MUw1NjYuMzksMjg1LjU3TDU2OS4yOCwyODUuMTRMNTY5Ljk1LDI4OC4yN0w1NzIuNjgsMjg5LjQ0TDU4MC43LDI4OS4wTDU4MS4wNiwyOTAuNDZMNTc5LjE4LDI4OS45OEw1NzIuMTUsMjk0LjU3TDU2OC43NCwyOTQuNzhMNTYxLjMsMjg5LjdMNTU4LjIxLDI5MS4wMkw1NTcuMTIsMjg5LjQ4TDU1MS40MiwyODguODJMNTU4LjIxLDI5MS4wN0w1NjEuMzksMjg5Ljg2TDU2NS4wOSwyOTMuNjJMNTY4LjQ4LDI5NC40M0w1NjQuNTcsMjk2LjE1TDU3MC45NSwyOTQuNTdMNTc3LjY1LDI5OC43N0w1NzcuNTUsMzAwLjc4TDU3NS4wMSwzMDEuODVMNTY0LjYsMzAxLjE0TDU2OS43OSwzMDIuMjhMNTcxLjc1LDMwMC42OEw1NzYuNzIsMzAxLjQ2TDU3OC4yNywyOTkuODRMNTgwLjE5LDMwMS4wMUw1NzMuMTEsMjk1LjYzTDU3Ni4xMiwyOTEuODRMNTgwLjU1LDI5MC41MUw1ODMuODgsMzAwLjQzTDU4MC4yNywzMDAuOTRMNTgzLjM2LDMwMS4yTDU3Ny44MiwzMTMuMjVMNTY5LjgyLDMxMS44MUw1NzcuNjUsMzEzLjIxTDU3NC44MywzMTYuNDdMNTc0LjI4LDMyMi43Nkw1NzEuMjMsMzMwLjUzTDU2My41NCwzMzMuNTNMNTcxLjM1LDMzMC4zNEw1NjguNTgsMzMwLjM3TDU3Mi42NSwzMjYuMTZMNTY1LjUyLDMyNC41M0w1NzIuMzksMzI2LjM1TDU2Ni41OSwzMzEuNzdMNTY1LjI1LDMzMS40OEw1NjQuNzYsMzI4LjQ0TDU2NS45NywzMzEuNjlMNTU4LjY0LDMzOC4wNkw1NTMuNTMsMzMwLjk1TDU1NS45NiwzMjguNTZMNTU0LjM0LDMyOS4zOUw1NTEuODcsMzMxLjMxTDU1My40MiwzMzEuMjhMNTU0Ljc5LDMzNS4xOUw1NTguNDgsMzM3Ljg0TDU1My41NSwzNDIuMTRMNTUwLjg5LDMzNy41Nkw1NDQuNTksMzM1Ljg5TDU0MC45NCwzMzIuNTZMNTQ0LjIsMzM2LjM5TDU1MC4wLDMzNy45Nkw1NTAuNzUsMzQwLjE2TDU0Mi45MiwzMzkuMjZMNTM1LjQsMzQwLjYzTDU1MS42NywzNDAuODdMNTQ4LjU2LDM0NC45MUw1NDcuMTksMzQ0LjNMNTQzLjkyLDM0Ni43NUw1NTAuMTIsMzQ4LjIyTDU1MC4wNCwzNDYuMzJMNTUxLjI5LDM0Ni40Mkw1NDkuNzQsMzQ1LjYzTDU1MS41OSwzNDYuNTNMNTQ3LjkxLDM1MC42N0w1NDAuODEsMzUzLjk4TDUzNC42OCwzNTQuMzlMNTM3LjA5LDM1NC4yMUw1MzQuNzYsMzU0LjI4TDUzMi45OCwzNTIuMDRMNTM2LjIzLDM1Mi40MUw1MzQuNzksMzUxLjg5TDUzNi4zOSwzNTAuNTNMNTMyLjQ4LDM1MS42OUw1MzAuNjgsMzQ5LjQ4TDUzMy4yLDM0OS41TDUyOC4zOCwzNDcuOTRMNTI1Ljk1LDM0NS4yNEw1MjguNzIsMzQ4LjE1TDUyNS44MywzNDguNzFMNTMwLjA1LDM0OC41OEw1MzAuNTUsMzUwLjgxTDUyNy45LDM1MC40NUw1MzEuMTYsMzUxLjU3TDUyNi4xNiwzNTIuMThMNTMxLjc2LDM1Mi42NEw1MjYuNjksMzU0LjE0TDUyNC44MywzNTMuNzVMNTI2LjM3LDM1Mi42OUw1MjUuNjYsMzUxLjg1TDUyNC40MiwzNTMuN0w1MjAuMTYsMzUyLjk1TDUyNC4zLDM1NC40TDUyMC42MywzNTQuMDlMNTIzLjc2LDM1NS4zMUw1MjAuOTQsMzU2LjczTDUxMS42NywzNTcuODVMNTA4LjcyLDM1Ni4zOEw1MTYuMDIsMzU5LjAxTDUxMy44NywzNjAuNkw1MTUuODYsMzU5LjQ0TDUxNi42LDM2MC43Nkw1MTYuMTgsMzU5LjMzTDUxNy43NiwzNTguMjZMNTIxLjY4LDM1OC42NEw1MjYuMzYsMzU2LjBMNTI4LjA5LDM1Ny4wMUw1MjcuNDcsMzY0LjQzTDUyNS43MywzNjUuMzJMNTA4LjM5LDM2My40OEw1MDUuMCwzNjQuOTJMNTA0LjE3LDM2My40Nkw1MDQuOTEsMzY0LjkyTDUwMS4xNiwzNjUuODFMNTE1LjY2LDM2NC4zOEw1MTYuNTYsMzY1Ljc5TDUyMi41OCwzNjUuOTlMNTIxLjA1LDM2Ni4xM0w1MjEuOCwzNjcuNDZMNTE2LjkxLDM2NS44TDUxOS40MiwzNjcuMzJMNTEyLjIyLDM2OS4xOUw1MTguNTIsMzY4LjE4TDUxNy4xNSwzNjkuNjRMNTE4LjY3LDM2OC43NEw1MjEuNDUsMzcwLjc3TDUxNi45LDM3My4wM0w1MDAuODcsMzcxLjA2TDQ5OC4yNywzNzIuMzJMNDk3LjgzLDM3MC4yMUw0OTcuNzUsMzcyLjNMNTAwLjQ3LDM3My42OEw0OTMuMjUsMzc0LjYxTDQ5Mi40MiwzNzMuNTRMNDkzLjk0LDM3NC43N0w0OTMuMTYsMzc3LjQ3TDQ4OC4wMywzNzguMjhMNDcwLjI5LDM3My41MUw0NjcuNDUsMzcwLjA4TDQ3MC4xNCwzNzMuNDhMNDY4LjU2LDM3NC42TDQ2NC44NywzNzQuNjZMNDYzLjYsMzcyLjNMNDYyLjc0LDM3NS42N0w0NjEuNDksMzczLjk2TDQ1Ni4xMywzNzMuODFMNDUwLjU0LDM3Ny4yMkw0NDcuNjQsMzc1LjM2TDQ0NS42NCwzNzYuNzZMNDQzLjU3LDM3NS41Nkw0NDEuNTIsMzc2LjgyTDQ0Mi43OSwzNzguMTJMNDQxLjExLDM3OS41N0w0NDMuMzgsMzc1Ljc2TDQ0NS43NywzNzYuODVMNDQ3LjYyLDM3NS40OEw0NTAuMzQsMzc3LjYzTDQ1NS45NiwzNzMuOTlMNDYxLjIsMzc0LjE2TDQ2Mi4wOCwzNzYuNDdMNDYzLjU4LDM3NC4yOUw0NjcuOTEsMzc1LjA1TDQ3Mi4zMiwzNzMuNjRMNDc4LjM4LDM3Ni4wOUw0NzcuMDQsMzc3Ljg0TDQ3OC4yMywzNzguMThMNDc4LjQxLDM3Ni4xNEw0ODkuNiwzNzguODVMNDk0Ljg4LDM3OC4wMUw0OTYuNTMsMzc1LjU4TDUwOC41NiwzNzYuMjlMNTEwLjYzLDM3Ny42Nkw1MDkuMzQsMzc2LjdMNTEwLjM1LDM3Ni40OUw1MTIuNjksMzc3LjYzTDUxMi4yMSwzNzkuNDNMNTA2LjkyLDM3OC42NUw1MDUuMjEsMzgwLjhMNDk5Ljg2LDM4MS4xNUw0OTguOTQsMzgzLjA2TDQ5Ny45MSwzODIuM0w0OTQuMjIsMzg0LjU5TDQ5NS4wOCwzODkuMjFMNDk3LjgsMzg5Ljg3TDQ5NS4xNywzODkuMjZMNDk0LjI2LDM4NC43Nkw0OTkuMTksMzgzLjIxTDUwMC4xOSwzODEuMzNMNTA1LjI4LDM4My42N0w1MDYuODIsMzgyLjkxTDUwNi40MiwzODQuMUw1MDcuNzUsMzgyLjI3TDUwOS4yOSwzODQuMDlMNTEyLjYsMzgyLjk4TDUxMS4wOCwzODAuNTdMNTEzLjIzLDM4MC41OEw1MTMuMSwzODIuMTdMNTE1LjY0LDM4My40NEw1MTMuNjYsMzg2LjE0TDUyMi42MywzODUuMzhMNTI0Ljc1LDM4Ni4yNkw1MjMuNTgsMzg3LjQxTDUyNS45OSwzODcuMzVMNTI0LjE0LDM4OC4yN0w1MjYuMTEsMzg3LjQ1TDUyNC43MiwzODYuNDZMNTMzLjQ4LDM4NC43NEw1NjAuNzYsMzgyLjU2TDU2Mi40NCwzODMuOTdMNTYwLjU3LDM4Ny43OEw1NTcuNTQsMzg3LjM3TDU1NS41NCwzODkuNDFMNTQ3LjU5LDM4Ny4xM0w1MzkuNzgsMzg5Ljc3TDU0Ny42NCwzODcuMTRMNTU0Ljk0LDM4OC42Mkw1NTQuMTYsMzkwLjU3TDU1NS41NCwzOTEuNDlMNTU2Ljg2LDM4OC4yOEw1NTkuMzMsMzk0LjQyTDU1OS4xMSwzOTkuNkw1NTIuOTksNDAyLjk4TDU1NC4xMSw0MDMuNTZMNTM2LjkyLDQwNy4xMUw1MzIuMjMsNDA5LjQ3TDUyOS4zNCw0MTQuMTZMNTMwLjE3LDQxOC4zM0w1MTYuMjEsNDE2Ljg4TDUxMy44OSw0MTUuMzlMNTE0LjcyLDQxNC4wNUw1MTMuMjMsNDE1LjUyTDUxNi40LDQxNy4xOEw1MDguOTcsNDIxLjI2TDQ4OC4zNCw0MjUuMzhMNDc5Ljk3LDQzMS4zOUw0NzMuNjksNDI5LjU4TDQ3NC43Nyw0MjUuNEw0NzMuNjYsNDI5LjZMNDY3LjUxLDQyNy44OEw0NjUuMzYsNDI1LjMyTDQ2Ni44Nyw0MjIuNThMNDYzLjM3LDQyMC4xNUw0NjYuMDcsNDE4LjA0TDQ2My4zNCw0MjAuMTJMNDY2LjA5LDQyMy4wMkw0NjUuMzMsNDI1LjQ0TDQ2Ny41Miw0MjguMzRMNDQ0LjQ4LDQyNC4xOUw0NDIuMzYsNDE3LjE0TDQ0NC43OSw0MTUuMTFMNDQxLjYxLDQxNS42NUw0NDMuNTcsNDE4LjYxTDQ0Mi40LDQyMC4wMkw0NDMuOTgsNDI0LjM3TDQ0Ni41OSw0MjQuNzNMNDI2LjU2LDQyNi40Nkw0MjQuMjUsNDI0LjY2TDQyNy42OCw0MjEuNjRMNDI1LjI2LDQyMC4xTDQyNi45NSw0MTcuOTVMNDI2LjE5LDQxNy4wM0w0MzAuMzksNDE1LjM1TDQyNy4wOSw0MTUuMThMNDI3LjgyLDQxMy4xMUw0MjYuOTgsNDE1LjI1TDQyOS4yMiw0MTUuNzhMNDI2LjE4LDQxNy4wMUw0MjUuMjMsNDIwLjA5TDQyNi43Myw0MjIuMzRMNDI0LjE2LDQyNC42OUw0MjYuNTUsNDI2LjU1TDQxMi4xOCw0MjkuNjZMNDEwLjIyLDQyOC44OEw0MTIuNDcsNDI5LjY1TDQwOS44Nyw0MzIuMjhMNDA3LjMsNDI5LjIxTDQwNy4zNCw0MzAuN0w0MDAuOTgsNDI3Ljk2TDQwMy42Myw0MjYuMEw0MDcuMiw0MjYuMjRMNDA4LjEyLDQyNC4wN0w0MDYuMDMsNDI2LjIzTDQwNC4yNSw0MjUuNTRMNDA0Ljk2LDQyMy42NEw0MDMuNzEsNDI1LjcyTDQwMS4yNCw0MjMuNjJMNDAxLjU5LDQyNi42OEwzOTkuMjEsNDI1LjQzTDM5OS44Miw0MjMuMTVMMzg5LjIxLDQyNC40NkwzODguMDksNDIzLjEyTDM4My42Myw0MjMuNjJMMzgzLjU2LDQyMi4zOUwzODMuMDUsNDIzLjgyTDM4Ny4zNCw0MjYuODhMMzg1LjY5LDQyNy43OUwzODcuNjYsNDI3LjM0TDM4NS42Niw0MjguNTNMMzc0LjM3LDQyMy41OUwzNzQuNjgsNDIwLjRMMzc4LjM0LDQxOC45NUwzNzcuMDUsNDE4LjAzTDM3Ny4zOCw0MTkuMjFMMzczLjY3LDQyMC45NkwzNzMuOTMsNDIyLjk3TDM2OS4wOCw0MTkuODhMMzY5Ljk0LDQxNi41NEwzNjguNDYsNDIwLjQ1TDM2Mi40NCw0MTYuNjJMMzYyLjAxLDQxOC42M0wzNjYuMTgsNDE5LjQzTDM3NC4zNSw0MjUuMUwzNzEuOTYsNDI3LjZMMzY3LjQ3LDQyNy42M0wzNjQuNjgsNDI1LjA4TDM2OC41LDQyOC4yMkwzNjcuMjksNDI4LjgyTDM2OC40NSw0MjguMzhMMzU4Ljc5LDQyOS4yMkwzNTkuMDcsNDMxLjJMMzU1LjY4LDQzMi41OEwzNTcuNzMsNDMzLjQ2TDM0MC4yNyw0MzAuODlMMzQ0LjgzLDQzMi4xM0wzNDQuMiw0MzMuMTFMMzM2LjI2LDQzMi42NkwzMzAuNjgsNDM1LjE5TDMzMS41Niw0MzMuOTlMMzI3LjYxLDQzMy4wTDMyNy43NSw0MzEuMTlMMzI2LjI3LDQzMS42MkwzMjcuODMsNDMzLjM4TDMyMy40Miw0MzEuOEwzMjQuMTUsNDMyLjg2TDMxOS4xLDQzNS42MkwzMjUuMjgsNDMzLjM4TDMyNS4zNyw0MzQuODNMMzIzLjQ0LDQzNS41NUwzMjUuMjUsNDM1LjUyTDMyMy44NCw0MzYuMUwzMjYuMjgsNDM1LjE5TDMyOS4yNCw0MzYuODNMMzMwLjQ4LDQzNS4zOEwzMzAuNDgsNDM3Ljg4TDMzMi4yNiw0MzguMTdMMzI5Ljk3LDQ0MC4xMUwzMzAuNCw0NDEuNjZMMzIzLjM1LDQ0Mi45OEwzMTcuODksNDQwLjM0TDMwMC4yMiw0MzguNThMMjk2Ljk5LDQzOS4zMkwyOTUuNyw0NDAuN0wyOTcuNTUsNDQxLjU0TDI5NC45Niw0NDIuNUwyODUuMzMsNDM3LjI5TDI5OC4yNCw0NDMuNTNMMjk4LjUyLDQ0NS40NUwyOTUuOSw0NDcuNjNMMjk2LjQ4LDQ0NC4zTDI5My40Myw0NDIuMEwyNzIuOSw0MzIuNThMMjY0Ljg0LDQzMS40NEwyNTcuMjgsNDM0LjA0TDI1NC44NSw0MzMuNjNMMjU1LjI0LDQzMi4wNEwyNTUuMDgsNDMzLjc0TDI1Mi4yNyw0MzUuMDFMMjQwLjgsNDM2LjA0TDIzNC4xMyw0NDAuNzhMMjI5Ljg2LDQ0MC4wNkwyMjcuNjQsNDMzLjk2TDIyNy42OCw0MzUuNzdMMjI0LjQxLDQzMy43MkwyMjYuODQsNDM1LjI2TDIyOC41NSw0NDEuMTdMMjI5Ljk4LDQ0MC4yOUwyMjQuNzIsNDQ1LjYyTDIxNy4yNiw0NDUuNzhMMjE4LjIzLDQ0Ni44MUwyMjQuOTcsNDQ1LjgxTDIyMy43LDQ0OS45M0wyMjYuMDIsNDUxLjI2TDIyMi4yOCw0NTEuMzFMMjIwLjY3LDQ1My4zTDIyMS4wMiw0NTUuNDdMMjI1LjkxLDQ1NS45TDIyMy40OCw0NTkuODFMMjE5Ljc2LDQ1OS43NkwyMTguNDYsNDU3LjE5TDIxOS41Nyw0NTYuMzlMMjEzLjg3LDQ1NS4wMkwyMTIuMyw0NTMuODhMMjEyLjk0LDQ1Mi4wOEwyMTEuNjksNDUzLjA0TDIxNS41Niw0NTUuNTJMMjEzLjUzLDQ1Ni40NUwyMTguMjgsNDU2LjY0TDIxOS4yMSw0NTcuOTNMMjE3Ljc4LDQ1OS4wOUwyMTkuMzMsNDU4LjgyTDIyMC4zNyw0NjAuNjFMMjE0Ljk4LDQ2My44OUwyMTMuODIsNDY3LjY5TDIxNS4wMiw0NjguOTJMMjA5LjYsNDcwLjMyTDIwNi4yNSw0NjguODhMMjA5LjY3LDQ2Ni45N0wyMDcuMjUsNDY3LjU0TDIwOS42OSw0NjUuMzNMMjA3LjE4LDQ2Ni40OEwyMDcuMSw0NjQuMzhMMjA1LjIsNDY1LjY5TDIwNy4wNSw0NjcuNTJMMjA1LjkyLDQ2Ny4yOEwyMDUuMjgsNDY5LjY4TDIwMi42Nyw0NjkuMjFMMTk5LjQyLDQ2Ny40N0wyMDAuMjcsNDY2LjA2TDE5OC42Niw0NjQuOUwyMDIuNDcsNDYyLjQxTDIwMC41LDQ2Mi41M0wxOTkuMzksNDY0LjU1TDE5NC40Myw0NjMuNDlMMTk1LjY0LDQ1OS42OEwxOTQuMSw0NjIuNDhMMTg5LjEsNDYzLjYxTDE4NS40Miw0NjIuOTRMMTg4LjQxLDQ2Mi4xNUwxODYuOTgsNDYxLjg4TDE4OS40LDQ2MC4xNkwxODcuNDgsNDYwLjk0TDE4Ny4wNCw0NTkuNzVMMTg2Ljg1LDQ2Mi4zNkwxODIuNDcsNDYxLjc4TDE4MS4zOCw0NTguODdMMTgzLjQsNDU5LjA3TDE4NS4yOCw0NTYuNTVMMTgyLjY5LDQ1OC42OEwxNzcuOTQsNDU4LjI5TDE3OC4zMiw0NTYuMTRMMTc2LjU4LDQ1NS45M0wxNzcuNDcsNDU0LjA5TDE3OS4zLDQ1NC40NkwxNzcuNjQsNDUzLjgxTDE4MC4zMiw0NTEuMTRMMTc3Ljk2LDQ1My40TDE3NS44Niw0NTAuOTFMMTc0LjQzLDQ1MS41NUwxNzUuNTIsNDQ4Ljc1TDE3OC4yOCw0NDguNTFMMTc2LjQ2LDQ0Ny4zM0wxNzguMjMsNDQ4LjUxTDE3NS41NCw0NDguNjdMMTc1LjYzLDQ1MC4zOEwxNzMuNTMsNDUxLjA0TDE3NS43Myw0NTEuMTlMMTc2Ljk4LDQ1My4yNEwxNzQuMzMsNDUzLjA1TDE3Ni4yNyw0NTQuMDRMMTc2LjEzLDQ1NS45NUwxNzEuNzMsNDU3LjU3TDE3MS42NSw0NTMuNzNMMTcxLjI4LDQ1Ni4wNkwxNjguNzIsNDU0LjczTDE2OS45Nyw0NTYuNjJMMTY4LjQxLDQ1Ni43MUwxNzEuMzcsNDU3Ljk5TDE3Ni43OSw0NTYuNzRMMTc3LjMsNDU3Ljk1TDE3NC4yNSw0NTguNjlMMTc4Ljg3LDQ1OC45TDE3Ni44NSw0NjAuNzlMMTc3Ljc3LDQ2MS45MUwxNzUuMjksNDYyLjM3TDE3NC45NSw0NjAuNzVMMTY5LjU2LDQ1OC43MUwxNTkuOCw0NTkuNDhMMTU4Ljk3LDQ1Ny4xNEwxNTkuMjQsNDU4Ljg3TDE1Ny4zMSw0NTguMTZMMTU5Ljg0LDQ1OS41OUwxNTguMzEsNDYwLjc4TDE0Ny4zOSw0NjEuNDJMMTQ5LjA1LDQ2MC40MUwxNDcuMTksNDU5Ljc0TDE0OS4xNyw0NTguODJMMTQ3LjE5LDQ1OC44MUwxNDguNTYsNDU2Ljk1TDE0Ny4wNiw0NTcuODZMMTQ1LjAzLDQ1NS4xN0wxNDcuMzEsNDYwLjY1TDE0NC42OSw0NjIuMThMMTQzLjU1LDQ1OS42OUwxMzguOTUsNDYwLjkyTDEzOS4yNCw0NjMuMjhMMTM2Ljg5LDQ2NS40MUwxMzguMjUsNDY2LjM1TDEzNi4xLDQ2OS4wNUwxMzEuNyw0NjcuODVMMTI3Ljg5LDQ3MC43NUwxMjUuNTQsNDcwLjE4TDEyMS43LDQ3NC44OEwxMjMuMTIsNDcxLjk0TDEyMC42OCw0NzMuNzRMMTIxLjQsNDcxLjM2TDEyMC4wMiw0NzAuMTNMMTI1LjY2LDQ2Ny42NEwxMjEuMzQsNDY4LjQ0TDEyMi45Myw0NjQuNjVMMTIwLjUyLDQ2Ny4zM0wxMTguOTMsNDY1LjhMMTE5LjY4LDQ2Ni44OUwxMTguNTYsNDY3LjAyTDEyMS4yNSw0NjcuNTFMMTE5LjMyLDQ2OC40NkwxMjAuNDIsNDY5Ljc1TDExOC4zMiw0NzAuOTZMMTE3LjgxLDQ2OS43TDExNC4yNyw0NzAuMTZMMTE4LjAzLDQ3MC43NEwxMTguNjMsNDcxLjlMMTE3LjA4LDQ3MS42MkwxMTkuMjksNDcyLjI3TDExOC43LDQ3My4yMUwxMTUuNDgsNDcyLjkyTDExOS40OSw0NzQuNTVMMTE3LjE1LDQ3NC43OEwxMTUuNTcsNDc3Ljc1TDExMS4yMiw0NzcuOTdMMTExLjEsNDc2LjgyTDExMS40OSw0NzguMThMMTA3Ljk1LDQ3OC4xN0wxMTUuMjQsNDc4LjE0TDExNC4zMSw0NzkuMDJMMTE3LjE3LDQ3OC43OEwxMTguNDEsNDgxLjE1TDExNS40NCw0ODQuNjhMMTEwLjk4LDQ4NC43MUwxMDkuNjksNDg3LjY1TDEwNS41OSw0ODYuNzVMMTA0LjAzLDQ4NC42NEwxMDQuNTIsNDgyLjU0TDEwMC43Nyw0NzguODFMOTMuMDUsNDc3Ljk2TDg5LjMzLDQ3NS43M0w4NC45Nyw0NzcuMTZMODUuOTYsNDc4LjU3TDg0LjUxLDQ4MC42NUw3NS42NCw0ODIuMjNMNzMuNDMsNDc5Ljk5TDc1LjM3LDQ3OC40M0w3My44OSw0NzUuNzRMNzYuNDIsNDcyLjkzTDg4LjM1LDQ2OS4wMkw5Mi41NSw0NzAuOTRMOTIuODEsNDczLjA2TDk1LjM3LDQ2Ny41M0wxMDAuMTksNDY3LjI1TDEwNS43Miw0NjQuMTRMMTA2LjI3LDQ2MS44NkwxMTEuODYsNDU5LjgzTDExMi4zLDQ1NS41MkwxMTcuNjMsNDU2LjE1TDExMy43Nyw0NTUuMDFMMTE5LjM2LDQ1Mi44MUwxMTkuMTYsNDQ4Ljc1TDEyMC44LDQ0Ni42NEwxMTkuODUsNDQ0Ljk3TDEyMy40NSw0NDUuNUwxMjYuMSw0NDMuNTNMMTI2LjY5LDQ0Ny43M0wxMjcuNDksNDQ2LjNMMTMyLjI2LDQ0Ni40OEwxMzUuOCw0NDkuMTNMMTMyLjU5LDQ0Ni4xNUwxMjcuNDMsNDQ1LjMxTDEyOC4xLDQ0My4wMkwxMjYuNzYsNDQyLjI0TDEzNi4yOCw0NDEuMzlMMTM4LjQzLDQzNi4xM0wxNDQuMTcsNDM0LjIyTDE0NS45Nyw0MzEuMEwxNTIuMjUsNDI3Ljk0TDE1My4yOCw0MjQuMzZMMTUxLjcsNDE4LjkyTDE1NC43Miw0MTAuMTZMMTY3LjE2LDQxMi42M0wxNzUuNzYsNDA3LjBMMTc3LjU4LDQwNy43NUwxNzYuNDgsNDExLjIxTDE3Ni43LDQxMi41TDE3OC40NSw0MTEuOThMMTc3LjA5LDQxMi41OEwxNzguMDcsNDEzLjZMMTc3LjEzLDQxMi41OEwxNzguNDQsNDExLjg2TDE3Ni42NSw0MTEuMThMMTc4Ljg0LDQwNi40OEwxODMuMDIsNDA2LjQyTDE4Mi41NCw0MDUuMTVMMTg2LjA2LDQwNS45M0wxODcuMjIsNDA4LjU3TDE4Ni4wMiw0MDUuOEwxODcuMjIsNDA1LjM0TDE3OS40Miw0MDUuNjJMMTc5LjQ5LDQwNC4zNUwxNzcuNjQsNDA2LjkxTDE3NS43NSw0MDYuMTJMMTc1LjQxLDQwMy4wOUwxNzIuNzIsNDAxLjIzTDE3NS41OSw0MDAuOTNMMTc2LjI3LDM5OS4wMkwxNzQuODUsMzk3Ljg5TDE3Ni43NiwzOTYuOTdMMjA1LjIyLDM5My41M0wyMTYuMzgsMzk1Ljc0TDIyMS43NywzOTQuNThMMjMxLjIsMzk4LjI3TDIzOS45OSwzOTguNDhMMjU3LjI2LDM5NS42TDI1NC4zMSwzOTcuNTVMMjU2Ljc4LDM5Ny4wM0wyNTQuNzIsMzk4Ljg5TDI1OS41MywzOTkuODZMMjU5LjExLDQwMy4wTDI2NC40Nyw0MDYuNzhMMjYwLjQ1LDQwOS4wNUwyNjQuNDgsNDA2LjgzTDI2Ny4wNSw0MDguMzZMMjU5LjE2LDQwMy4wNUwyNTkuNTEsMzk5Ljc1TDI1NS4wOCwzOTguNzVMMjU4LjY4LDM5NS4wNUwyNTkuODksMzk1LjQ3TDI1Ny4zNSwzOTIuMDhMMjU4LjAzLDM4OC4wN0wyNTYuNCwzODcuNDJMMjU5LjIxLDM4Ny45OEwyNTkuMzEsMzg5LjQ2TDI1OS4xNywzODUuNDFMMjYxLjQsMzgzLjk0TDI2MC4xMywzODIuOTZMMjY2LjMsMzgzLjAyTDI2NC43NiwzODIuNEwyNjcuMDcsMzc5LjcxTDI3NC4zLDM3NS4wMkwyNzguMDUsMzc0LjUyTDI4MS45NywzNzUuNjVMMjg0LjY0LDM3OC42OUwyODkuMCwzNzguNjNMMjg0LjY5LDM3OC42NUwyODIuODIsMzc2LjA1TDI3OC4wNSwzNzQuMDFMMjg4Ljk1LDM2Mi4xN0wyOTQuMDYsMzU5Ljg3TDI5NC4xOCwzNTcuNzJMMzAxLjEsMzU1LjA5TDI5Ni42NiwzNTIuODRMMjk3LjQ3LDM1MS4zTDMwMi45LDM1Mi41N0wzMDMuMDcsMzQ4LjY2TDMwNi45MiwzNDkuNzJMMzA3LjQ0LDM0Ny42M0wzMDkuMzMsMzQ3LjQyTDMwOC44MSwzNDUuMzhMMzA3LjAxLDM0OS42NUwzMDMuMDMsMzQ4LjYxTDMwMi45OCwzNTIuMzZMMjk3LjAxLDM1MS4xN0wyOTYuMzksMzUzLjJMMjk5LjMxLDM1NC4zNEwyODUuNDQsMzYxLjY5TDI4Mi41MiwzNjYuNDVMMjgwLjcsMzYzLjYyTDI4MS42NywzNjIuMjlMMjgwLjI4LDM2Mi40NEwyODIuMjcsMzYxLjYzTDI4MC4xNywzNTcuMzRMMjgxLjg0LDM1NS41OUwyODAuNzcsMzUxLjg3TDI4Mi42OCwzNTAuMTZMMjc3Ljk1LDM0OC40NEwyNzYuNjUsMzQ5LjM3TDI3My45MiwzNDcuMTZMMjc0LjYyLDM0Ni4wNkwyNjcuMTUsMzQyLjA0TDI2MC43NSwzNDQuMjFMMjUyLjA1LDMzNS4zMkwyNTIuNjMsMzMzLjE5TDI1MC4yMywzMzEuMTFMMjUxLjY3LDMyOC4yTDI0OS4xOSwzMjcuMkwyNTMuODgsMzI1LjI0TDI1MC40NywzMjQuNjZMMjUzLjg0LDMxOS4xNkwyNjIuMjYsMzE2LjZMMjU3Ljk2LDMxNS44NUwyNTguNzYsMzEyLjYzTDI2MS45MSwzMTAuNTRMMjU0Ljc0LDMxMC42M0wyNDIuNzUsMzAzLjQyTDI0NS4zNywzMDAuODZMMjU4LjU2LDI5Ny41MUwyNTkuMjEsMjk0Ljk3TDI1Ny44NCwyOTMuMjVMMjQ5Ljc0LDI5Ni45MkwyNTEuMjIsMjk1Ljg2TDI0OS4zLDI5Mi40N0wyNTQuNzQsMjg5LjAxTDI1My4xMiwyODguMjFMMjU1LjM0LDI4Ny43NEwyNTcuNDMsMjgxLjc3TDI2MS40OCwyODIuMTFMMjU3LjM4LDI3OS43M0wyNTcuNjUsMjc4LjVMMjUzLjQsMjc4LjJMMjUyLjkxLDI3Ni4zNUwyNDguMDIsMjc2LjUxTDI0Ny43LDI3Mi4zNUwyNTAuMTEsMjcwLjg0TDI0OC40MiwyNjkuODZMMjUxLjAzLDI2OC43N0wyNTIuMjcsMjY1Ljk3TDI1Ni40MywyNjYuMDNMMjYwLjUxLDI2Mi45OEwyNjMuNjgsMjY1LjMyTDI2OS42NywyNjUuMDJMMjcyLjQ0LDI2OC42NUwyNzcuMzUsMjY2LjM2TDI3Ny42NCwyNjMuOUwyNzcuNDIsMjYxLjgyTDI3MC44MSwyNjEuMDlMMjY4LjQ3LDI1OS4wNUwyNjguMjcsMjU1Ljg3TDI2NS41LDI1My4zOUwyNjYuOTIsMjUxLjE1TDI2Mi42NywyNTEuMTZMMjU5LjE2LDI0OC42M0wyNjYuNDIsMjQ2LjE2TDI1Mi41NiwyNDAuNDNMMjUxLjMxLDIzOS4xMUwyNTMuNTQsMjM4Ljg5TDI1MC4yNCwyMzguMDFMMjUyLjI4LDIzNy41TDI0OS4yMiwyMzYuODJMMjUxLjUyLDIzNy4xNkwyNDkuNTgsMjM1LjAxTDI1MS43NCwyMzYuNDJMMjQ0LjksMjMwLjgzTDI1Ni4wNywyMjYuMTZMMjYyLjI3LDIzNS41TDI2OC41NywyMzguMzJMMjY5LjMsMjM2Ljc2TDI3My4yMiwyMzcuNjVMMjc1LjU2LDIzNi4zOEwyNzUuNjIsMjMzLjkyTDI4Ny42OCwyMzAuNzVMMjc0Ljg5LDIzMy4wTDI3My4xNywyMzUuNTVMMjY4LjA0LDIzNC45NUwyNTkuOTgsMjMwLjY5TDI1NC41OSwyMTkuNDJMMjUxLjczLDIxOC4zM0wyNTguNDMsMjA4Ljc3TDI1Ny44NiwyMDcuNjRMMjYwLjkxLDIwNi4xM0wyNjIuNjEsMjA3LjY0TDI2My4wMywyMDYuNTNMMjYxLjM3LDIwNi40TDI2My42OSwyMDUuOUwyNjIuMzYsMjA1LjA5TDI2My4wMywyMDQuMDRMMjY1LjMxLDIwNS4zMUwyNjQuNzUsMjA0LjE1TDI2NS45MiwyMDUuMkwyNjYuNzMsMjAzLjU2TDI3MC4xMSwyMDQuMjZMMjcyLjQsMjExLjg5TDI3MS44LDIwOC45N0wyNzQuOTcsMjA4LjI5TDI3MS43NywyMDguOTNMMjcwLjIsMjA2LjI0TDI3MS4wMiwyMDMuNjJMMjY4LjY5LDIwMy4yNEwyODEuOTEsMjAyLjA2TDI3My4xNiwyMDAuODJMMjYzLjY2LDIwMy41MkwyNTUuMDcsMjAxLjEyTDI1NS43NywxODguNEwyNTguNDIsMTg4LjA0TDI1OC4xOCwxOTAuMThMMjYwLjk1LDE5Mi4yOUwyNjAuMDYsMTkzLjU0TDI3MC43NiwxOTMuMTRMMjYyLjI5LDE5My44OEwyNTguODYsMTg3Ljk3TDI2OS45OSwxODUuOTJMMjY3LjA3LDE4My45OEwyNzAuOSwxODIuNzNMMjY5LjU4LDE3OC43NkwyNzMuMDQsMTc3LjM5TDI2OS4yNSwxNzguNzRMMjcwLjA2LDE4MS40N0wyNjcuNjMsMTgxLjE5TDI2Ni45NCwxODMuMTZMMjYzLjk4LDE3OS44NUwyNjcuMCwxNzYuMzVMMjcxLjE0LDE3NS4yOUwyNzMuODEsMTcxLjU4TDI3MS4zMiwxNzEuNTlMMjcwLjQ4LDE3MC44N0wyNzEuNzUsMTcwLjAzTDI2OC4wNCwxNjcuNjNMMjczLjQ0LDE2NC4zNUwyNzIuMTEsMTY0Ljg1TDI3Mi43LDE2My4xNkwyNzEuNTMsMTYyLjg1TDI3Mi45LDE2Mi4yOEwyNzEuNDUsMTYxLjk2TDI3Mi41MywxNjMuMTRMMjcxLjY0LDE2NS4wNEwyNjYuNTIsMTY2LjUzTDI2NC45LDE2OS41M0wyNjIuMjMsMTcwLjQ5TDI1OC44MywxNzAuMDVMMjU5LjU1LDE2OC4wOUwyNTYuMTgsMTY2LjY3TDI1Ny44MywxNjUuOTFMMjU1LjUsMTYzLjhMMjU3Ljg1LDE2My4yOEwyNTYuNzYsMTYyLjI0TDI1OC4yNiwxNjAuOTZMMjU1LjI2LDE2My42TDI1Ni41OSwxNjUuNDRMMjU0LjQ5LDE2Ny41NUwyNTQuNjcsMTY5LjQ4TDI0Ny4wNSwxNzUuODVMMjQ4LjU0LDE3Ny4xOUwyNDIuMTEsMTczLjA2TDI0Mi42NSwxNzAuMDVMMjQxLjMyLDE2OC45NEwyNDQuMCwxNjguMjRMMjQ2LjU2LDE2My4zN0wyNDUuNDYsMTY0LjE1TDI0My4yMSwxNjEuODJMMjQzLjY4LDE2MC4wNEwyNDIuNTIsMTYyLjZMMjQzLjg5LDE2My45MkwyNDAuNjksMTY1LjM5TDI0Mi41LDE2Ni4yMUwyMzYuNywxNjcuMTNMMjI5Ljk4LDE1OC45N0wyMzAuMDcsMTU1LjIxTDIzMS41OSwxNTYuMDFMMjM0LjcyLDE1My4yNEwyMzEuMjIsMTU1LjQ2TDIzMS42NywxNTMuMThMMjI5LjM5LDE1NC4wMUwyMjkuNDMsMTUyLjM1TDIyOC42NiwxNTMuNThMMjMwLjM4LDE1NC41MUwyMjkuMTYsMTU0Ljk5TDIxNS4xNywxNDEuMzRMMjE5LjIzLDEzNi43MkwyMjAuMjEsMTMzLjQ4TDIxOS4yNSwxMzAuMjdMMjIxLjY4LDEzMC42OEwyMTkuODEsMTMwLjM4TDIyMy45OCwxMjUuMEwyMjkuMDMsMTIxLjY4TDIyOC45NiwxMTguMkwyMzMuNzUsMTExLjBMMjM5LjM1LDExMi4wNEwyMzkuNDcsMTE0LjA3TDIzOS4xOSwxMTEuMDdMMjQxLjYxLDEwOS4zN0wyNDUuNzEsMTA5LjM3TDI0Ni4yMywxMTEuMDFMMjQ1Ljc2LDEwOS4zM0wyNDAuMjQsMTEwLjMxTDIzNy4zOSwxMDkuMDNMMjQyLjk5LDEwNS45OEwyNTAuNzEsMTA4LjIyTDI1NS4xMywxMDYuNTNMMjU4LjE4LDEwNi41MUwyNTguNDEsMTA3LjhMMjU1LjI5LDEwNS43NEwyNTAuMzQsMTA2LjkxTDI1NC42MiwxMDMuNDFMMjU4LjIxLDEwNC4yNkwyNTYuMDcsMTA0LjcxTDI1NC45MSwxMDMuMDlMMjU3LjA2LDk5LjIxTDI1NS4zNSw5Ny44OUwyNjEuNjUsOTguMTdMMjcwLjczLDkwLjkzTDI3OS4wNiw4OC4wOUwyODEuNTYsODQuMTVMMjg1LjMzLDgyLjA2TDI4Mi45Miw4MS4wMUwyODguOTIsNzYuMjlMMjk0LjYzLDczLjI2TDMwMS4yLDczLjcyTDMwNC4wMyw3Mi4yM0wzMDQuMzgsNjguNzRMMzEzLjgxLDY1Ljg0TDMxNS43Nyw2My45NEwzMTMuMyw2My4zNkwzMTAuNjYsNTYuNzhMMzA0LjIsNTAuMjhMMzExLjA0LDQ5Ljc2TDMxMC4xMiw0OC44TDMxNy4wOSw0MS43TDMyNS4wNSwzOS4xOFoiLCAiTTIzNy43OSwyMzMuMDhMMjM4LjQ3LDIzNC44TDI1MS4zOSwyNDEuOUwyNjQuMjYsMjQ2LjQ2TDI1OS4xNiwyNDguNjNMMjYyLjY3LDI1MS4xNkwyNjYuOTUsMjUxLjE4TDI2NS41MiwyNTMuNDhMMjY3LjMxLDI1NC4yN0wyNzAuMDEsMjYwLjhMMjc3LjQ3LDI2MS44N0wyNzcuMzUsMjY2LjM2TDI3Mi41NSwyNjguNjNMMjY5LjY3LDI2NS4wMkwyNjMuNjgsMjY1LjMyTDI2MC41NCwyNjIuOThMMjU2LjQzLDI2Ni4wM0wyNTIuMjcsMjY1Ljk3TDI1MS4wMywyNjguNzdMMjQ4Ljc2LDI2OS4wNkwyNTAuMTEsMjcwLjg0TDI0Ny43LDI3Mi4zNUwyNDguMDIsMjc2LjUxTDI1Mi45MSwyNzYuMzVMMjUzLjQsMjc4LjJMMjU3LjY1LDI3OC41TDI1Ny4zOCwyNzkuNzNMMjYxLjQ4LDI4Mi40NEwyNTcuNDMsMjgxLjc3TDI1NS4zNCwyODcuNzRMMjUzLjEyLDI4OC4yMUwyNTQuNzQsMjg5LjAxTDI0OS4zLDI5Mi40N0wyNTEuMjIsMjk1Ljg2TDI0OS43NCwyOTYuOTJMMjU3Ljg0LDI5My4yNUwyNTkuMjEsMjk0Ljk3TDI1OC41NiwyOTcuNTFMMjQ1LjM3LDMwMC44NkwyNDIuNzUsMzAzLjQyTDI1NC43NCwzMTAuNjNMMjYxLjkxLDMxMC41NEwyNTguNzYsMzEyLjYzTDI1Ny45NiwzMTUuODVMMjYyLjI2LDMxNi42TDI1My44NCwzMTkuMTZMMjUwLjQ3LDMyNC42NkwyNTMuODgsMzI1LjI0TDI0OS4xNCwzMjcuMzVMMjUxLjY3LDMyOC4yTDI1MC4yMywzMzEuMTFMMjUyLjYzLDMzMy4xOUwyNTIuMDUsMzM1LjMyTDI1NC4yMiwzMzguMzFMMjU4LjI2LDM0Mi41M0wyNjAuNDEsMzQyLjUxTDI2MC43NSwzNDQuMjFMMjY3LjE1LDM0Mi4wNEwyNzQuNjIsMzQ2LjA2TDI3My45MiwzNDcuMTZMMjc2LjY1LDM0OS4zN0wyNzcuOTUsMzQ4LjQ0TDI4Mi42OCwzNTAuMTZMMjgwLjc3LDM1MS44N0wyODEuODQsMzU1LjU5TDI4MC4xMiwzNTcuMzJMMjgyLjE5LDM2MS41OEwyODAuMTgsMzYyLjM0TDI4MS41NywzNjIuMzRMMjgwLjU5LDM2My42M0wyODEuNTgsMzY2LjM2TDI2OS4zOSwzNzEuMjFMMjYxLjk0LDM3MS45OUwyNjAuMDcsMzcxLjI1TDI2MS40NywzNzAuNzRMMjU5LjQxLDM2Ni41MUwyNjEuODksMzY3LjBMMjY2LjM5LDM2My41NEwyNjEuNzcsMzY2Ljk4TDI1OS4yNywzNjYuNDNMMjYwLjksMzcwLjRMMjU4LjQ5LDM2OS43TDI1OS41NSwzNzEuMDdMMjU4LjUyLDM3Mi4zNUwyNTEuNTgsMzc1LjIzTDI0OS4xNiwzNzMuNzFMMjUwLjQ5LDM3NS4zNkwyNDcuNTksMzc4LjI4TDI0Ny4xOSwzODEuNjVMMjM1LjUyLDM4My41TDIzMS44LDM4My4zN0wyMzEuODYsMzgyLjI2TDIzMS4xNSwzODMuNTFMMjIwLjY4LDM4Mi4wTDIxNS4wOCwzNzcuNDRMMjE2LjUzLDM3Ni4zNkwyMDkuNjQsMzc2LjE0TDIwNC45NywzNjkuNDFMMjAzLjA1LDM2OS4wN0wyMDQuNDMsMzY5LjQ0TDIwMy4wOCwzNjguNjdMMjA0Ljg3LDM2Ny42N0wyMDMuNDMsMzY4LjM4TDIwMC43NywzNjYuMDZMMjAyLjU1LDM2NS4wMkwyMDEuNzksMzYzLjI3TDIwNS4wNSwzNjEuNjlMMjAyLjEzLDM2Mi43OUwyMDAuODgsMzY1LjcyTDE5MS4wLDM2Ny4yNEwxOTEuODQsMzY5LjhMMTg2LjIxLDM3MC4zNUwxODMuNDksMzY4LjgzTDE3OS45MiwzNjkuOTlMMTgwLjE2LDM3MS41NkwxNzYuMiwzNzEuODVMMTY5LjU2LDM2OS45MUwxNzAuODcsMzY4LjkxTDE2OS40OSwzNjYuNDJMMTczLjg0LDM2My41N0wxNzQuODUsMzYzLjU3TDE3My44MywzNjUuNzlMMTc0Ljc0LDM2NC43OEwxNzYuNTcsMzY1LjkxTDE3NS43MywzNjQuNDdMMTc4Ljc3LDM2NS45NEwxODMuNiwzNjMuMTNMMTg3LjI3LDM2Mi45N0wxODUuMDQsMzYyLjQ5TDE4Ny42MiwzNTkuMTdMMTg2Ljc1LDM1OC42NUwxODQuNzUsMzYyLjUyTDE4MC41MSwzNjMuMDRMMTc5LjA4LDM2MS4wOEwxNzguNjksMzYyLjIyTDE3Ni4yLDM2MC43NkwxNzAuMjcsMzYyLjAxTDE2NS40MSwzNTguNzFMMTY0Ljc0LDM1Ny4xOUwxNjkuODksMzU3LjlMMTY4LjQxLDM1Ny4yNEwxNzAuNDIsMzU2LjQ5TDE2NS4yMywzNTYuNDJMMTY1LjYxLDM1My4wOUwxNjguNDgsMzUyLjAxTDE2OS4xNCwzNDguMkwxNzMuMzcsMzQ3LjQyTDE2OC41NywzNDguMjdMMTY4LjI4LDM1Mi4wNkwxNjUuNzgsMzUyLjM5TDE2My4wMywzNTUuMzRMMTU5Ljk2LDM1NC4zN0wxNjAuODksMzUzLjY4TDE1OS42NiwzNTEuOThMMTU4Ljc2LDM1Mi45NkwxNTYuOTYsMzUwLjg2TDE1NC45MSwzNTEuMzZMMTU5LjMyLDM1My4wMkwxNTkuMjcsMzU1LjA5TDE2MS45MSwzNTYuNDZMMTQ1LjM2LDM1Ny4yOUwxNDIuOTcsMzU4LjgxTDE0NC4xNywzNTkuODRMMTQyLjAzLDM2My4yN0wxMzcuMjksMzY0LjUzTDEzMS44NSwzNjMuNjFMMTI3LjM5LDM2Ny40M0wxMTguMywzNjUuNkwxMTcuOTIsMzYyLjRMMTEzLjc4LDM2MS4wMkwxMTkuMTYsMzYxLjQzTDExOC44NiwzNjAuMUwxMjAuNDcsMzYwLjAyTDEyNi42OCwzNjEuNzZMMTIzLjk2LDM2MC41MkwxMjkuODgsMzYwLjE0TDEyNy45LDM1OS43NUwxMzAuMjcsMzU4LjM5TDEzNC42NCwzNTkuODdMMTMxLjgzLDM1OC4xNUwxMzQuNCwzNTcuNDdMMTMwLjU3LDM1OC4yN0wxMzEuMzEsMzU3LjE1TDEyOS4zOCwzNTYuNThMMTMxLjYxLDM1My4zNUwxMzUuMzcsMzUyLjM1TDEyOS40NiwzNTQuNTJMMTI4LjU0LDM1My4wTDEyNi40OCwzNTQuNjFMMTI2LjgyLDM1My4zMUwxMjQuNiwzNTIuMDNMMTI2LjcyLDM1My40TDEyNS44MywzNTQuNDNMMTI5LjE4LDM1NC45NUwxMjguMiwzNTYuMTFMMTMwLjAsMzU3Ljc2TDEyNy43NSwzNTkuMjdMMTE2LjU1LDM1OS4xN0wxMTUuMTgsMzU3Ljg3TDExNi4wMSwzNTYuNkwxMTQuNDQsMzU4Ljg2TDExMC43NSwzNTcuMzFMMTEyLjE0LDM1OS40NkwxMTAuMzUsMzYxLjExTDEwOS41OCwzNTguOTdMMTA1LjA3LDM1Ny4xNUwxMTUuMDEsMzU0LjA2TDExNS4wMiwzNTAuM0wxMTMuMjIsMzQ3LjQxTDEwOS40NCwzNDYuNTZMMTAwLjgzLDM0Ny42NEwxMDIuMTgsMzQ0Ljk3TDEwMS4xLDM0NC4yMUwxMTYuNDYsMzM5LjQ2TDExNS44MiwzMzcuNTJMMTE3LjYsMzM0LjcyTDEyMi45MywzMzUuMDhMMTI0LjQ3LDMzNy40MkwxMjcuODMsMzM2LjI3TDEyOC40OSwzMzQuNEwxMzUuMDIsMzM1LjY0TDEzMi45MSwzMzMuODJMMTM4Ljc5LDMzMS4yM0wxNDAuNjcsMzI4LjEyTDE0Ny4xMiwzMzIuNDdMMTQ2LjU0LDMzMC44NUwxNDQuMTIsMzMwLjZMMTQzLjgyLDMyNy4xOUwxNTUuMiwzMjYuODJMMTY0LjgyLDMyMC42OUwxNjguNDEsMzIwLjg1TDE3Ni40MywzMTcuMDRMMTgxLjAxLDMxMi41N0wxODQuMzIsMzA2LjE0TDE4NS45OCwzMDYuNDRMMTg0LjMyLDMwNS41OUwxODcuMDUsMzAwLjQyTDE4Ni42MiwyOTYuNjZMMTg3LjksMjk5Ljg4TDE4Ny44NiwyOTcuMjlMMTkxLjU2LDI5Ny42OEwxOTAuNzksMjk2LjM2TDE5Mi44NiwyOTYuNjhMMTkxLjY1LDI5Ni4yNUwxOTMuNTksMjk0Ljc5TDE5Ny45NiwyOTMuMTNMMTk2LjE4LDI5Mi44N0wxOTUuMjYsMjk0LjlMMTg2LjA1LDI5NS44M0wxODEuOTcsMjkwLjc5TDE4NC40NywyOTEuMDVMMTgxLjc5LDI5MC40N0wxODcuMTksMjgyLjUyTDE5Ny4zNSwyNzkuNEwxODcuMDIsMjgyLjQzTDE4MC4zNSwyNzUuNDRMMTgzLjIzLDI3My45NkwxODEuNzcsMjczLjkzTDE4Mi40NywyNzIuMzFMMTgwLjY4LDI2OC43OUwxODUuNjEsMjY4LjgxTDE4NS42OSwyNjYuOTlMMTkxLjM1LDI2NC42M0wxODMuNTYsMjY3LjYxTDE4MS45NiwyNjYuMDZMMTgwLjIxLDI2Ny44MUwxNzEuMTYsMjY2Ljk4TDE3Mi41NiwyNjcuNDlMMTY4LjMsMjY4LjkyTDE2Mi44MiwyNjguOTRMMTU4LjA3LDI3MS41N0wxNTYuMDUsMjc0LjA5TDE1Ny4zNywyNzYuNDNMMTU0LjU2LDI3Ny43M0wxNTQuMDEsMjc2LjBMMTQ5LjQzLDI3NC4wOUwxNDYuNjIsMjc2LjAzTDEzOC45MSwyNzYuOTJMMTQxLjA0LDI3MS44OUwxNTEuODcsMjY0LjU2TDE1NS4wOSwyNjUuMjFMMTY2LjQ1LDI1OC4wTDE2Ny40NSwyNTEuMTJMMTY4Ljg0LDI1MS4xN0wxNjguOCwyNTMuMzlMMTY5LjMyLDI1MC43MUwxNzEuOTIsMjUwLjI5TDE3Ni42MSwyNDQuNTdMMTgxLjg3LDI0Mi4zTDE4NC43NSwyNDMuMDlMMjAxLjQsMjM3LjY1TDIwMy41OCwyMzkuOTNMMjAxLjQyLDI0NS43MUwyMDMuMzcsMjQ4LjcyTDIwMS45NiwyNDUuMEwyMDQuNCwyMzkuMzhMMTk5LjE2LDIzNC4wOEwyMDUuOTMsMjM1LjA5TDIxMC41NCwyMzcuNzhMMjE3LjIzLDIzOC4wNEwyMjQuMjYsMjM1Ljk1TDIyNy43LDIzOS4wM0wyMjQuMDgsMjM2LjMyTDIyNS40OSwyMzUuMjdMMjM3Ljc5LDIzMy4wOFoiLCAiTTE2MS43LDIyNy4yNkwxNzEuMCwyMjguMTlMMTcyLjIxLDIzMC4yNEwxNzAuNDIsMjMyLjI3TDE3NC44OSwyMzIuOEwxNzYuNjYsMjM3LjlMMTgyLjQ3LDIzNS43OUwxODcuODUsMjM2LjQ3TDE4My43MiwyNDAuODJMMTc2Ljc2LDI0My44NUwxNzUuNjksMjQ2LjE5TDE2OS4xOSwyNDkuMzVMMTY3LjM4LDI0OS4wN0wxNjguMDEsMjQ3Ljc1TDE2Ny4yMSwyNTAuMTNMMTY4LjI0LDI1MC43NUwxNjIuMDUsMjQ3Ljk3TDE2OS4yNSwyNDIuNzdMMTYwLjMyLDI0OC41N0wxNTkuMTksMjQ1LjVMMTU2LjE5LDI0Ni4wOEwxNTUuNiwyNDIuMDhMMTUwLjQzLDIzOC43NUwxNTQuNDQsMjM2LjU2TDE1Mi4xNiwyMzcuMzRMMTUwLjgxLDIzNS4zTDE1Mi43MSwyMzEuNTRMMTUxLjM2LDIyOS4yN0wxNjEuNywyMjcuMjZaIl0sICJzb3VyY2UiOiAiUmV1c2VkIEVuZ2xhbmQvV2FsZXMgYm91bmRhcnkgYXNzZXQgZnJvbSBhcHByb3ZlZCBGYW4gQmFudGVyIGN1cCBtYXAsIDI4IE9jdG9iZXIgMjAyNiJ9OwooZnVuY3Rpb24ocm9vdCl7J3VzZSBzdHJpY3QnOwppZihyb290LmZiTWF0Y2hkYXlTY29yZWJvYXJkKXJldHVybjsKY29uc3QgbWFrZT0odGFnLHRleHQsY2xzKT0+e2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO2lmKHRleHQhPT11bmRlZmluZWQpbi50ZXh0Q29udGVudD10ZXh0O2lmKGNscyluLmNsYXNzTmFtZT1jbHM7cmV0dXJuIG47fTsKZnVuY3Rpb24gdXBkYXRlKGNhcmQsbm93PURhdGUubm93KCkpe2NvbnN0IHNlY29uZHM9TWF0aC5tYXgoMCxNYXRoLmNlaWwoKERhdGUucGFyc2UoY2FyZC5kYXRhc2V0LmtpY2tvZmYpLW5vdykvMTAwMCkpO2lmKCFOdW1iZXIuaXNGaW5pdGUoc2Vjb25kcykpcmV0dXJuO2NvbnN0IHZhbHVlcz17ZGF5czpNYXRoLmZsb29yKHNlY29uZHMvODY0MDApLGhvdXJzOk1hdGguZmxvb3Ioc2Vjb25kcyU4NjQwMC8zNjAwKSxtaW51dGVzOk1hdGguZmxvb3Ioc2Vjb25kcyUzNjAwLzYwKSxzZWNvbmRzOnNlY29uZHMlNjB9O2Zvcihjb25zdCBub2RlIG9mIGNhcmQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtY2xvY2stdW5pdF0nKSl7Y29uc3QgdGV4dD1TdHJpbmcodmFsdWVzW25vZGUuZGF0YXNldC5jbG9ja1VuaXRdKS5wYWRTdGFydCgyLCcwJyk7aWYobm9kZS50ZXh0Q29udGVudCE9PXRleHQpbm9kZS50ZXh0Q29udGVudD10ZXh0O31jb25zdCB0aXRsZT1jYXJkLnF1ZXJ5U2VsZWN0b3IoJy5mYi1zYi1jbG9jay10aXRsZScpO2lmKHNlY29uZHM9PT0wKXt0aXRsZS50ZXh0Q29udGVudD0nQXdhaXRpbmcgY29uZmlybWVkIG1hdGNoIHVwZGF0ZXMnO2NvbnN0IGNsb2NrPWNhcmQucXVlcnlTZWxlY3RvcignLmZiLXNiLWNsb2NrJyk7aWYoY2xvY2spY2xvY2suaGlkZGVuPXRydWU7Y29uc3Qgbm90ZT1jYXJkLnF1ZXJ5U2VsZWN0b3IoJy5mYi1zYi1ub3RlJyk7aWYobm90ZSlub3RlLnRleHRDb250ZW50PSdUaGUgc2NoZWR1bGVkIGtpY2stb2ZmIHRpbWUgaGFzIHBhc3NlZC4gVGhlIGxpdmUgZmVlZCBoYXMgbm90IHlldCBjb25maXJtZWQgdGhlIG1hdGNoIHN0YXR1cy4nO31jYXJkLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsc2Vjb25kcz09PTA/J0tpY2stb2ZmIHRpbWUgcmVhY2hlZCc6J0NvdW50ZG93biB0byBraWNrLW9mZicpO30KZnVuY3Rpb24gY3JlYXRlKGZpeHR1cmUse2xlYWd1ZT0nJyx2ZW51ZT0nJyxub3RlPSdUZWFtIHNoZWV0cyB3aWxsIGFwcGVhciB3aGVuIGNvbmZpcm1lZC4nLGtpbmQ9J0xpbmV1cHMnfT17fSl7Y29uc3QgY2FyZD1tYWtlKCdzZWN0aW9uJyx1bmRlZmluZWQsJ2ZiLXNjb3JlYm9hcmQnKTtjYXJkLmRhdGFzZXQua2lja29mZj1maXh0dXJlLmtpY2tvZmY7Y29uc3QgdG9wPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1zYi10b3AnKTt0b3AuYXBwZW5kKG1ha2UoJ3NwYW4nLCdNQVRDSERBWScsJ2ZiLXNiLWxpdmUnKSxtYWtlKCdzcGFuJyxsZWFndWV8fCdGQU4gQkFOVEVSJywnZmItc2ItYnJhbmQnKSk7Y29uc3QgdGVhbXM9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLXNiLXRlYW1zJyk7Zm9yKGNvbnN0IHNpZGUgb2YgWydob21lJywnYXdheSddKXtpZihzaWRlPT09J2F3YXknKXRlYW1zLmFwcGVuZChtYWtlKCdzcGFuJywnVlMnLCdmYi1zYi12cycpKTtjb25zdCBjbHViPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1zYi1jbHViJyksaW1hZ2U9bWFrZSgnaW1nJyk7aWYoTnVtYmVyLmlzU2FmZUludGVnZXIoTnVtYmVyKGZpeHR1cmVbc2lkZV0uaWQpKSYmTnVtYmVyKGZpeHR1cmVbc2lkZV0uaWQpPjApaW1hZ2Uuc3JjPSdodHRwczovL21lZGlhLmFwaS1zcG9ydHMuaW8vZm9vdGJhbGwvdGVhbXMvJytOdW1iZXIoZml4dHVyZVtzaWRlXS5pZCkrJy5wbmcnO2ltYWdlLmFsdD1maXh0dXJlW3NpZGVdLm5hbWUrJyBjcmVzdCc7Y2x1Yi5hcHBlbmQoaW1hZ2UsbWFrZSgnc3Ryb25nJyxmaXh0dXJlW3NpZGVdLm5hbWUpKTt0ZWFtcy5hcHBlbmQoY2x1Yik7fWNvbnN0IHRpdGxlPW1ha2UoJ2RpdicsJ0NPVU5URE9XTiBUTyBLSUNLLU9GRicsJ2ZiLXNiLWNsb2NrLXRpdGxlJyksY2xvY2s9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLXNiLWNsb2NrJyk7Y29uc3QgdW5pdHM9RGF0ZS5wYXJzZShmaXh0dXJlLmtpY2tvZmYpLURhdGUubm93KCk+PTg2NDAwMDAwP1snZGF5cycsJ2hvdXJzJywnbWludXRlcycsJ3NlY29uZHMnXTpbJ2hvdXJzJywnbWludXRlcycsJ3NlY29uZHMnXTtmb3IoY29uc3QgdW5pdCBvZiB1bml0cyl7aWYoY2xvY2suY2hpbGROb2Rlcy5sZW5ndGgpY2xvY2suYXBwZW5kKG1ha2UoJ3NwYW4nLCc6JywnZmItc2ItY29sb24nKSk7Y29uc3QgdGlsZT1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItc2ItdGlsZScpLGRpZ2l0cz1tYWtlKCdiJywnMDAnLCdmYi1zYi1kaWdpdHMnKTtkaWdpdHMuZGF0YXNldC5jbG9ja1VuaXQ9dW5pdDt0aWxlLmFwcGVuZChkaWdpdHMsbWFrZSgnc3BhbicsdW5pdCwnZmItc2ItdW5pdCcpKTtjbG9jay5hcHBlbmQodGlsZSk7fWNvbnN0IHN0YXR1cz1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItc2Itc3RhdHVzJyk7c3RhdHVzLmFwcGVuZChtYWtlKCdzcGFuJyksZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoa2luZD09PSdMaW5ldXBzJz8nVEVBTSBORVdTIMK3IEFXQUlUSU5HIENPTkZJUk1BVElPTic6J1RIRSBCVUlMRC1VUCBTVEFSVFMgSEVSRScpKTtjb25zdCBwbGFjZT1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItc2ItdmVudWUnKSx0aW1lPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCdlbi1HQicse3RpbWVab25lOidFdXJvcGUvTG9uZG9uJyxob3VyOicyLWRpZ2l0JyxtaW51dGU6JzItZGlnaXQnfSkuZm9ybWF0KG5ldyBEYXRlKGZpeHR1cmUua2lja29mZikpO3BsYWNlLmFwcGVuZChtYWtlKCdiJyx0aW1lKycgVUsnKSxkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh2ZW51ZT8nIMK3ICcrdmVudWU6JycpKTtjYXJkLmFwcGVuZCh0b3AsdGVhbXMsdGl0bGUsY2xvY2ssc3RhdHVzLG1ha2UoJ3AnLG5vdGUsJ2ZiLXNiLW5vdGUnKSxwbGFjZSk7dXBkYXRlKGNhcmQpO3JldHVybiBjYXJkO30Kcm9vdC5mYk1hdGNoZGF5U2NvcmVib2FyZD17Y3JlYXRlLHVwZGF0ZX07c2V0SW50ZXJ2YWwoKCk9PmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5mYi1zY29yZWJvYXJkJykuZm9yRWFjaChjYXJkPT51cGRhdGUoY2FyZCkpLDEwMDApOwp9KSh3aW5kb3cpOwoKKGZ1bmN0aW9uKHJvb3Qpeyd1c2Ugc3RyaWN0JzsKaWYocm9vdC5mYk1hdGNoZGF5VHJhdmVsKXJldHVybjsKY29uc3QgbWFrZT0odGFnLHRleHQsY2xzKT0+e2NvbnN0IG5vZGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO2lmKHRleHQhPT11bmRlZmluZWQpbm9kZS50ZXh0Q29udGVudD10ZXh0O2lmKGNscylub2RlLmNsYXNzTmFtZT1jbHM7cmV0dXJuIG5vZGU7fTsKZnVuY3Rpb24gcGFyYW1zKGYpe3JldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHtob21lOlN0cmluZyhOdW1iZXIoZi5ob21lLmlkKSksYXdheTpTdHJpbmcoTnVtYmVyKGYuYXdheS5pZCkpLGhvbWVfbmFtZTpmLmhvbWUubmFtZSxhd2F5X25hbWU6Zi5hd2F5Lm5hbWUsa2lja29mZjpmLmtpY2tvZmZ8fCcnLG5ldXRyYWxfdmVudWU6U3RyaW5nKCEhZi5uZXV0cmFsX3ZlbnVlKSxmaXh0dXJlOlN0cmluZyhOdW1iZXIoZi5pZCkpLG1hdGNoOlN0cmluZyhOdW1iZXIoZi5pZCkpLGNvbXBldGl0aW9uOmYuY29tcGV0aXRpb258fCdNYXRjaGRheSd9KTt9CmZ1bmN0aW9uIG1hcFVSTChmKXtjb25zdCB1cmw9bmV3IFVSTCgnaHR0cHM6Ly9mYW5iYW50ZXIuY28udWsvcHJlbWllci1sZWFndWUvJyk7dXJsLnNlYXJjaD1wYXJhbXMoZik7dXJsLnNlYXJjaFBhcmFtcy5zZXQoJ2ZiX2ZpeHR1cmVfbWFwJywnMScpO3VybC5zZWFyY2hQYXJhbXMuc2V0KCdjb21wYWN0JywnMScpO3VybC5zZWFyY2hQYXJhbXMuc2V0KCdmYl9tb2R1bGVfc25hcHNob3QnLCcxJyk7dXJsLnNlYXJjaFBhcmFtcy5zZXQoJ2ZpeHR1cmUnLCdmaXh0dXJlLScrTnVtYmVyKGYuaWQpKyctJytOdW1iZXIoZi5ob21lLmlkKSsnLScrTnVtYmVyKGYuYXdheS5pZCkpO3VybC5zZWFyY2hQYXJhbXMuc2V0KCdkaXJlY3Rpb24nLFsnSFQnLCcySCcsJ0VUJywnQlQnLCdQJywnRlQnLCdBRVQnLCdQRU4nXS5pbmNsdWRlcyhmLnN0YXR1cyk/J3JldHVybic6J291dGJvdW5kJyk7cmV0dXJuIHVybC5ocmVmO30KY29uc3Qgc3ZnTm9kZT0odGFnLGF0dHJzPXt9LHRleHQpPT57Y29uc3Qgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyx0YWcpO2Zvcihjb25zdCBba2V5LHZhbF1vZiBPYmplY3QuZW50cmllcyhhdHRycykpbi5zZXRBdHRyaWJ1dGUoa2V5LFN0cmluZyh2YWwpKTtpZih0ZXh0IT09dW5kZWZpbmVkKW4udGV4dENvbnRlbnQ9dGV4dDtyZXR1cm4gbjt9Owpjb25zdCBwcm9qZWN0PShbbG9uLGxhdF0pPT5bKGxvbis2LjUpLzguNSo1ODArMjAsKE1hdGgubG9nKE1hdGgudGFuKE1hdGguUEkvNCs1NipNYXRoLlBJLzM2MCkpLU1hdGgubG9nKE1hdGgudGFuKE1hdGguUEkvNCtsYXQqTWF0aC5QSS8zNjApKSkqNDgwLy4xOCsyMF07CmZ1bmN0aW9uIHNuYXBzaG90KHJvdXRlLGYpe2NvbnN0IGNvb3Jkcz1yb3V0ZS5jb3JyaWRvcjtpZighQXJyYXkuaXNBcnJheShjb29yZHMpfHxjb29yZHMubGVuZ3RoPDJ8fGNvb3Jkcy5sZW5ndGg+MjAwMDB8fGNvb3Jkcy5zb21lKHA9PiFBcnJheS5pc0FycmF5KHApfHxwLmxlbmd0aCE9PTJ8fCFwLmV2ZXJ5KE51bWJlci5pc0Zpbml0ZSkpKXRocm93IEVycm9yKCdUaGUgY2hlY2tlZCByb2FkIHJvdXRlIGlzIHVuYXZhaWxhYmxlLicpO2NvbnN0IHBvaW50cz1jb29yZHMubWFwKHByb2plY3QpLHhzPXBvaW50cy5tYXAocD0+cFswXSkseXM9cG9pbnRzLm1hcChwPT5wWzFdKSxsZWZ0PU1hdGgubWluKC4uLnhzKSxyaWdodD1NYXRoLm1heCguLi54cyksdG9wPU1hdGgubWluKC4uLnlzKSxib3R0b209TWF0aC5tYXgoLi4ueXMpLHNwYW49TWF0aC5tYXgocmlnaHQtbGVmdCwoYm90dG9tLXRvcCkqMS42LDQpLHBhZD1zcGFuKi4yNSxib3g9WyhsZWZ0K3JpZ2h0LXNwYW4pLzItcGFkLHRvcC1wYWQsc3BhbitwYWQqMixNYXRoLm1heChib3R0b20tdG9wLHNwYW4qLjUpK3BhZCoyXSxzdmc9c3ZnTm9kZSgnc3ZnJyx7dmlld0JveDpib3guam9pbignICcpLHJvbGU6J2ltZycsJ2FyaWEtbGFiZWwnOmYuYXdheS5uYW1lKycgdG8gJytmLmhvbWUubmFtZSsnIHZlcmlmaWVkIHJvYWQgam91cm5leSBzbmFwc2hvdCcsY2xhc3M6J2ZiLWpvdXJuZXktc25hcHNob3QnfSk7c3ZnLmFwcGVuZChzdmdOb2RlKCdyZWN0Jyx7eDpib3hbMF0seTpib3hbMV0sd2lkdGg6Ym94WzJdLGhlaWdodDpib3hbM10sZmlsbDonIzE5Mzc0Yyd9KSk7Zm9yKGNvbnN0IGQgb2Ygcm9vdC5mYk1hdGNoZGF5TGFuZD8ucGF0aHN8fFtdKXN2Zy5hcHBlbmQoc3ZnTm9kZSgncGF0aCcse2QsZmlsbDonIzI4NWU0OScsc3Ryb2tlOicjNzM5Yzg1Jywnc3Ryb2tlLXdpZHRoJzouNSwndmVjdG9yLWVmZmVjdCc6J25vbi1zY2FsaW5nLXN0cm9rZSd9KSk7Y29uc3QgcGF0aD1wb2ludHMubWFwKChwLGkpPT4oaT8nTCc6J00nKStwLmpvaW4oJywnKSkuam9pbignJyk7c3ZnLmFwcGVuZChzdmdOb2RlKCdwYXRoJyx7ZDpwYXRoLGZpbGw6J25vbmUnLHN0cm9rZTonI2ZmZicsJ3N0cm9rZS13aWR0aCc6Nywnc3Ryb2tlLW9wYWNpdHknOi40NSwnc3Ryb2tlLWxpbmVjYXAnOidyb3VuZCcsJ3N0cm9rZS1saW5lam9pbic6J3JvdW5kJywndmVjdG9yLWVmZmVjdCc6J25vbi1zY2FsaW5nLXN0cm9rZSd9KSxzdmdOb2RlKCdwYXRoJyx7ZDpwYXRoLGZpbGw6J25vbmUnLHN0cm9rZTonI2ZmY2E2MycsJ3N0cm9rZS13aWR0aCc6My41LCdzdHJva2UtbGluZWNhcCc6J3JvdW5kJywnc3Ryb2tlLWxpbmVqb2luJzoncm91bmQnLCd2ZWN0b3ItZWZmZWN0Jzonbm9uLXNjYWxpbmctc3Ryb2tlJ30pKTtmb3IoY29uc3QgW2NsdWIscG9pbnRdb2YgW1tmLmF3YXkscG9pbnRzWzBdXSxbZi5ob21lLHBvaW50cy5hdCgtMSldXSl7Y29uc3QgW3gseV09cG9pbnQsc2l6ZT1zcGFuLzEyO3N2Zy5hcHBlbmQoc3ZnTm9kZSgnY2lyY2xlJyx7Y3g6eCxjeTp5LHI6c2l6ZSouNjIsZmlsbDonI2ZmZicsc3Ryb2tlOicjZWY0NzYzJywnc3Ryb2tlLXdpZHRoJzoyLCd2ZWN0b3ItZWZmZWN0Jzonbm9uLXNjYWxpbmctc3Ryb2tlJ30pLHN2Z05vZGUoJ2ltYWdlJyx7aHJlZjonaHR0cHM6Ly9tZWRpYS5hcGktc3BvcnRzLmlvL2Zvb3RiYWxsL3RlYW1zLycrTnVtYmVyKGNsdWIuaWQpKycucG5nJyx4Ongtc2l6ZS8yLHk6eS1zaXplLzIsd2lkdGg6c2l6ZSxoZWlnaHQ6c2l6ZX0pKTtjb25zdCBhbmNob3I9eD4obGVmdCtyaWdodCkvMj8nZW5kJzonc3RhcnQnO3N2Zy5hcHBlbmQoc3ZnTm9kZSgndGV4dCcse3g6eCsoYW5jaG9yPT09J2VuZCc/LXNpemU6c2l6ZSkseTp5K3NpemUvNiwndGV4dC1hbmNob3InOmFuY2hvcixmaWxsOicjZmZmJywnZm9udC1zaXplJzpzcGFuLzI1LCdmb250LXdlaWdodCc6NzAwLCdmb250LWZhbWlseSc6J0FyaWFsJyxzdHJva2U6JyMxOTM3NGMnLCdzdHJva2Utd2lkdGgnOnNwYW4vMTkwLCdwYWludC1vcmRlcic6J3N0cm9rZSd9LGNsdWIubmFtZSkpO31yZXR1cm4gc3ZnO30KY29uc3QgcmVxdWVzdHM9bmV3IE1hcCgpOwpmdW5jdGlvbiBsb2FkKGYpe2NvbnN0IHF1ZXJ5PXBhcmFtcyhmKTtxdWVyeS5zZXQoJ3JvdXRlJywnMScpO2NvbnN0IGtleT1xdWVyeS50b1N0cmluZygpO2lmKCFyZXF1ZXN0cy5oYXMoa2V5KSl7Y29uc3QgcHJvbWlzZT1mZXRjaCgnaHR0cHM6Ly9mYW5iYW50ZXIuY28udWsvd3AtanNvbi9mYW5iYW50ZXItZWZsL3YxL2ZpeHR1cmUtY29udGV4dC8nK051bWJlcihmLmhvbWUuaWQpKycvJytOdW1iZXIoZi5hd2F5LmlkKSsnPycra2V5LHtjcmVkZW50aWFsczonb21pdCcsc2lnbmFsOkFib3J0U2lnbmFsLnRpbWVvdXQoMjAwMDApfSkudGhlbihhc3luYyByZXNwb25zZT0+e2NvbnN0IGRhdGE9YXdhaXQgcmVzcG9uc2UuanNvbigpO2lmKCFyZXNwb25zZS5vayl0aHJvdyBFcnJvcihkYXRhLm1lc3NhZ2V8fCdKb3VybmV5IGRldGFpbHMgY291bGQgbm90IGJlIGxvYWRlZC4nKTtyZXR1cm4gZGF0YTt9KS5jYXRjaChlcnJvcj0+e3JlcXVlc3RzLmRlbGV0ZShrZXkpO3Rocm93IGVycm9yO30pO3JlcXVlc3RzLnNldChrZXkscHJvbWlzZSk7c2V0VGltZW91dCgoKT0+cmVxdWVzdHMuZGVsZXRlKGtleSksMzAwMDAwKTt9cmV0dXJuIHJlcXVlc3RzLmdldChrZXkpO30KZnVuY3Rpb24gY3JlYXRlKGYpe2NvbnN0IHBhbmVsPW1ha2UoJ3NlY3Rpb24nLHVuZGVmaW5lZCwnZmItam91cm5leScpLGhlYWRpbmc9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLWpvdXJuZXktaGVhZGluZycpO2hlYWRpbmcuYXBwZW5kKG1ha2UoJ3NwYW4nLCdBV0FZREFZIEpPVVJORVknKSxtYWtlKCdzdHJvbmcnLGYuYXdheS5uYW1lKycg4oaSICcrZi5ob21lLm5hbWUpKTtjb25zdCBzdW1tYXJ5PW1ha2UoJ2RpdicsJ0xvYWRpbmcgdmVyaWZpZWQgam91cm5leeKApicsJ2ZiLWpvdXJuZXktc3VtbWFyeScpLGdyb3VuZHM9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLWpvdXJuZXktZ3JvdW5kcycpLGZyYW1lPW1ha2UoJ2RpdicsJ1ByZXBhcmluZyByb3V0ZSBzbmFwc2hvdOKApicsJ2ZiLWpvdXJuZXktbWFwJyk7Y29uc3Qgbm90ZT1tYWtlKCdzbWFsbCcsJ1JvYWQgam91cm5leSBlc3RpbWF0ZSDCtyBhbGxvdyBleHRyYSB0aW1lIGZvciB0cmFmZmljIGFuZCBwYXJraW5nLicpO3BhbmVsLmFwcGVuZChoZWFkaW5nLHN1bW1hcnksZ3JvdW5kcyxmcmFtZSxub3RlKTsKbG9hZChmKS50aGVuKGRhdGE9PntpZighcGFuZWwuaXNDb25uZWN0ZWQpcmV0dXJuO2NvbnN0IHJvdXRlPWRhdGEuZml4dHVyZXM/LlswXTtpZighcm91dGV8fCFBcnJheS5pc0FycmF5KHJvdXRlLmNvcnJpZG9yKXx8cm91dGUuY29ycmlkb3IubGVuZ3RoPDIpdGhyb3cgRXJyb3IoJ1RoZSB2ZXJpZmllZCByb2FkIGpvdXJuZXkgaXMgbm90IGF2YWlsYWJsZS4nKTtmcmFtZS5yZXBsYWNlQ2hpbGRyZW4oc25hcHNob3Qocm91dGUsZikpO2NvbnN0IG9wZW49bWFrZSgnYScsJ09wZW4gam91cm5leSBtYXAg4oaXJywnZmItam91cm5leS1vcGVuJyk7b3Blbi5ocmVmPW1hcFVSTChmKTtvcGVuLnRhcmdldD0nX2JsYW5rJztvcGVuLnJlbD0nbm9vcGVuZXInO3BhbmVsLmFwcGVuZChvcGVuKTtjb25zdCBtaW51dGVzPU51bWJlcihyb3V0ZS5kdXJhdGlvbl9taW51dGVzKSxkdXJhdGlvbj1OdW1iZXIuaXNGaW5pdGUobWludXRlcykmJm1pbnV0ZXM+PTA/KE1hdGguZmxvb3IobWludXRlcy82MCk/TWF0aC5mbG9vcihtaW51dGVzLzYwKSsnaCAnOicnKSsobWludXRlcyU2MHx8bWludXRlcz09PTA/bWludXRlcyU2MCsnbSc6JycpOm51bGw7c3VtbWFyeS5yZXBsYWNlQ2hpbGRyZW4obWFrZSgnYicsTnVtYmVyLmlzRmluaXRlKE51bWJlcihyb3V0ZS5taWxlcykpP3JvdXRlLm1pbGVzKycgbWlsZXMnOidEaXN0YW5jZSBhd2FpdGVkJyksbWFrZSgnc3BhbicsZHVyYXRpb24/J0Fib3V0ICcrZHVyYXRpb24rJyBieSBjYXIgwrcgb25lIHdheSc6J09uZS13YXkgam91cm5leScpKTtmb3IoY29uc3QgW2xhYmVsLGNsdWIsbmFtZV1vZltbJ0ZST00nLGYuYXdheSxyb3V0ZS5hd2F5X2dyb3VuZF0sWydUTycsZi5ob21lLHJvdXRlLmhvbWVfZ3JvdW5kXV0pe2NvbnN0IGdyb3VuZD1tYWtlKCdkaXYnKTtncm91bmQuYXBwZW5kKG1ha2UoJ3NtYWxsJyxsYWJlbCksbWFrZSgnc3Ryb25nJyxjbHViLm5hbWUpLG1ha2UoJ3NwYW4nLG5hbWV8fCdHcm91bmQgZGV0YWlscyBhd2FpdGVkJykpO2dyb3VuZHMuYXBwZW5kKGdyb3VuZCk7fX0pLmNhdGNoKGVycm9yPT57aWYoIXBhbmVsLmlzQ29ubmVjdGVkKXJldHVybjtzdW1tYXJ5LnRleHRDb250ZW50PSdKb3VybmV5IGRldGFpbHMgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUuJztmcmFtZS50ZXh0Q29udGVudD0nUm91dGUgc25hcHNob3QgdW5hdmFpbGFibGUuJztub3RlLnRleHRDb250ZW50PWVycm9yLm1lc3NhZ2UrJyBSZW9wZW4gVHJhdmVsIHRvIHJldHJ5Lic7fSk7cmV0dXJuIHBhbmVsO30Kcm9vdC5mYk1hdGNoZGF5VHJhdmVsPXtjcmVhdGUsbWFwVVJMLHBhcmFtcyxzbmFwc2hvdH07Cn0pKHdpbmRvdyk7CgooZnVuY3Rpb24ocm9vdCl7J3VzZSBzdHJpY3QnOwpjb25zdCBjbG9zZWQ9WydGVCcsJ0FFVCcsJ1BFTicsJ0NBTkMnLCdBQkQnXTsKY29uc3QgcHJlc2VudD12PT52IT09bnVsbCYmdiE9PXVuZGVmaW5lZCYmdiE9PScnOwpmdW5jdGlvbiBtZWV0aW5ncyh2YWx1ZSxsZWFndWVPbmx5KXtjb25zdCBmPXZhbHVlPy5maXh0dXJlO3JldHVybiAodmFsdWU/LmhlYWRfdG9faGVhZD8ubWF0Y2hlc3x8W10pLmZpbHRlcihtPT5OdW1iZXIuaXNJbnRlZ2VyKG0uaG9tZV9nb2FscykmJm0uaG9tZV9nb2Fscz49MCYmTnVtYmVyLmlzSW50ZWdlcihtLmF3YXlfZ29hbHMpJiZtLmF3YXlfZ29hbHM+PTAmJighZj8uaG9tZT8uaWR8fFttLmhvbWVfaWQsbS5hd2F5X2lkXS5pbmNsdWRlcyhmLmhvbWUuaWQpJiZbbS5ob21lX2lkLG0uYXdheV9pZF0uaW5jbHVkZXMoZi5hd2F5LmlkKSkmJighbGVhZ3VlT25seXx8bS52ZXJpZmllZF9lbmdsaXNoX2xlYWd1ZXx8WydQcmVtaWVyIExlYWd1ZScsJ0NoYW1waW9uc2hpcCcsJ0xlYWd1ZSBPbmUnLCdMZWFndWUgVHdvJ10uaW5jbHVkZXMobS5jb21wZXRpdGlvbikpKTt9CmZ1bmN0aW9uIGNvbmZpcm1lZCh2YWx1ZSl7Y29uc3QgdGVhbXM9dmFsdWU/LmxpbmV1cHM/LnRlYW1zfHxbXSxmPXZhbHVlPy5maXh0dXJlO3JldHVybiB0ZWFtcy5sZW5ndGg9PT0yJiZuZXcgU2V0KHRlYW1zLm1hcCh0PT50LnRlYW1faWQpKS5zaXplPT09MiYmdGVhbXMuZXZlcnkodD0+W2Y/LmhvbWU/LmlkLGY/LmF3YXk/LmlkXS5pbmNsdWRlcyh0LnRlYW1faWQpJiZ0LnN0YXJ0aW5nPy5sZW5ndGg9PT0xMSYmdC5zdGFydGluZy5ldmVyeShwPT50eXBlb2YgcC5uYW1lPT09J3N0cmluZycmJnAubmFtZS50cmltKCkpKTt9CmZ1bmN0aW9uIGhhc1N0YXRzKHZhbHVlKXtjb25zdCB0ZWFtcz12YWx1ZT8uc3RhdGlzdGljcz8udGVhbXN8fFtdLGY9dmFsdWU/LmZpeHR1cmU7cmV0dXJuIHRlYW1zLnNvbWUodD0+W2Y/LmhvbWU/LmlkLGY/LmF3YXk/LmlkXS5pbmNsdWRlcyh0LnRlYW1faWQpJiZ0LnZhbHVlcz8uc29tZSh2PT5bJ0JhbGwgUG9zc2Vzc2lvbicsJ1RvdGFsIFNob3RzJywnU2hvdHMgb24gR29hbCcsJ0Nvcm5lciBLaWNrcycsJ0ZvdWxzJywnT2Zmc2lkZXMnLCdZZWxsb3cgQ2FyZHMnLCdSZWQgQ2FyZHMnLCdHb2Fsa2VlcGVyIFNhdmVzJ10uaW5jbHVkZXModi50eXBlKSYmcHJlc2VudCh2LnZhbHVlKSkpO30KZnVuY3Rpb24gaGFzT2Rkcyh2YWx1ZSl7cmV0dXJuICFjbG9zZWQuaW5jbHVkZXModmFsdWU/LmZpeHR1cmU/LnN0YXR1cykmJih2YWx1ZT8ub2Rkcz8uYm9va21ha2Vyc3x8W10pLnNvbWUoYj0+WydIb21lJywnRHJhdycsJ0F3YXknXS5ldmVyeShvPT5iLnZhbHVlcz8uc29tZSh2PT52Lm91dGNvbWU9PT1vJiZOdW1iZXIodi5kZWNpbWFsKT4xKSkpO30KZnVuY3Rpb24gcHJlTWF0Y2godmFsdWUpe3JldHVybiBbJ05TJywnVEJEJ10uaW5jbHVkZXModmFsdWU/LmZpeHR1cmU/LnN0YXR1cyk7fQpmdW5jdGlvbiB0YWJzKHZhbHVlLHtoaWdobGlnaHRzPWZhbHNlLHRyYXZlbD1mYWxzZSxsZWFndWVPbmx5PWZhbHNlfT17fSl7Y29uc3QgbmFtZXM9W107aWYoaGlnaGxpZ2h0cyluYW1lcy5wdXNoKCdIaWdobGlnaHRzJyk7aWYocHJlTWF0Y2godmFsdWUpfHxoYXNTdGF0cyh2YWx1ZSl8fHZhbHVlPy5ldmVudHM/Lmxlbmd0aCluYW1lcy5wdXNoKCdNYXRjaCcpO2lmKHByZU1hdGNoKHZhbHVlKXx8Y29uZmlybWVkKHZhbHVlKSluYW1lcy5wdXNoKCdMaW5ldXBzJyk7aWYobWVldGluZ3ModmFsdWUsbGVhZ3VlT25seSkubGVuZ3RoKW5hbWVzLnB1c2goJ0gySCcpO2lmKGhhc09kZHModmFsdWUpfHxwcmVNYXRjaCh2YWx1ZSkmJlsncGVuZGluZycsJ2F3YWl0aW5nJ10uaW5jbHVkZXModmFsdWU/Lm9kZHM/LnN0YXR1cykpbmFtZXMucHVzaCgnT2RkcycpO2lmKHRyYXZlbCluYW1lcy5wdXNoKCdUcmF2ZWwnKTtyZXR1cm4gbmFtZXM7fQpmdW5jdGlvbiBjb3VudGRvd24oZml4dHVyZSxub3c9RGF0ZS5ub3coKSl7Y29uc3QgZW5kPURhdGUucGFyc2UoZml4dHVyZT8ua2lja29mZik7aWYoIU51bWJlci5pc0Zpbml0ZShlbmQpfHxmaXh0dXJlPy5zdGF0dXMhPT0nTlMnKXJldHVybiBudWxsO2NvbnN0IHNlY29uZHM9TWF0aC5jZWlsKChlbmQtbm93KS8xMDAwKTtpZihzZWNvbmRzPD0wKXJldHVybiBudWxsO2NvbnN0IGRheXM9TWF0aC5mbG9vcihzZWNvbmRzLzg2NDAwKSxoPU1hdGguZmxvb3Ioc2Vjb25kcyU4NjQwMC8zNjAwKSxtPU1hdGguZmxvb3Ioc2Vjb25kcyUzNjAwLzYwKSxzPXNlY29uZHMlNjA7cmV0dXJuICdLaWNrLW9mZiBpbiAnKyhkYXlzP2RheXMrJ2QgJzonJykrW2gsbSxzXS5tYXAodj0+U3RyaW5nKHYpLnBhZFN0YXJ0KDIsJzAnKSkuam9pbignOicpO30KZnVuY3Rpb24gZmFpbHVyZXModmFsdWUpe2NvbnN0IG91dD17fTtmb3IoY29uc3QgW3RhYixrZXldIG9mIFtbJ0gySCcsJ2hlYWRfdG9faGVhZCddLFsnTGluZXVwcycsJ2xpbmV1cHMnXSxbJ01hdGNoJywnc3RhdGlzdGljcyddLFsnT2RkcycsJ29kZHMnXV0pe2NvbnN0IHNlY3Rpb249dmFsdWU/LltrZXldO2lmKFsnY29ubmVjdGlvbl9mYWlsZWQnLCdwcm92aWRlcl9odHRwX2Vycm9yJywncHJvdmlkZXJfcmVqZWN0ZWQnLCdyZXF1ZXN0X3RpbWVvdXQnLCdzYXZlZF9kYXRhX3VuYXZhaWxhYmxlJywncXVvdGFfcHJvdGVjdGlvbiddLmluY2x1ZGVzKHNlY3Rpb24/LnJlYXNvbikpb3V0W3RhYl09c2VjdGlvbi5yZWFzb247fXJldHVybiBvdXQ7fQpjb25zdCBhcGk9e2ZhaWx1cmVzLG1lZXRpbmdzLGNvbmZpcm1lZCxoYXNTdGF0cyxoYXNPZGRzLHByZU1hdGNoLHRhYnMsY291bnRkb3dufTtpZih0eXBlb2YgbW9kdWxlPT09J29iamVjdCcmJm1vZHVsZS5leHBvcnRzKW1vZHVsZS5leHBvcnRzPWFwaTtlbHNlIHJvb3QuZmJNYXRjaGRheVNlY3Rpb25zPWFwaTsKfSkodHlwZW9mIHdpbmRvdz09PSd1bmRlZmluZWQnP2dsb2JhbFRoaXM6d2luZG93KTsKCihmdW5jdGlvbihyb290KXsndXNlIHN0cmljdCc7CmZ1bmN0aW9uIG91dGNvbWUoZil7Y29uc3QgcD1mPy5wZW5hbHRpZXMsdmFsaWQ9cCYmTnVtYmVyLmlzSW50ZWdlcihwLmhvbWUpJiZOdW1iZXIuaXNJbnRlZ2VyKHAuYXdheSkmJnAuaG9tZT49MCYmcC5hd2F5Pj0wLGZpbmlzaGVkPWY/LnN0YXR1cz09PSdQRU4nO2lmKCFbJ1AnLCdQRU4nXS5pbmNsdWRlcyhmPy5zdGF0dXMpKXJldHVybiBudWxsO2xldCB3aW5uZXI9bnVsbDtpZihmaW5pc2hlZCl7aWYodmFsaWQmJnAuaG9tZSE9PXAuYXdheSl3aW5uZXI9cC5ob21lPnAuYXdheT9mLmhvbWU6Zi5hd2F5O2Vsc2UgaWYoZi53aW5uZXJfaWQ9PT1mLmhvbWU/LmlkfHxmLmhvbWU/Lndpbm5lcj09PXRydWUpd2lubmVyPWYuaG9tZTtlbHNlIGlmKGYud2lubmVyX2lkPT09Zi5hd2F5Py5pZHx8Zi5hd2F5Py53aW5uZXI9PT10cnVlKXdpbm5lcj1mLmF3YXk7fXJldHVybiB7dmFsaWQsZmluaXNoZWQsd2lubmVyLGhvbWU6dmFsaWQ/cC5ob21lOm51bGwsYXdheTp2YWxpZD9wLmF3YXk6bnVsbH07fQpmdW5jdGlvbiBsYWJlbChmKXtjb25zdCBvPW91dGNvbWUoZik7aWYoIW8pcmV0dXJuICcnO2lmKG8ud2lubmVyKXJldHVybiBvLndpbm5lci5uYW1lKycgd2luJysoby52YWxpZD8nICcrKG8ud2lubmVyLmlkPT09Zi5ob21lLmlkP28uaG9tZSsn4oCTJytvLmF3YXk6by5hd2F5KyfigJMnK28uaG9tZSk6JycpKycgb24gcGVuYWx0aWVzJztyZXR1cm4gby5maW5pc2hlZD8nUGVuYWx0eSBzaG9vdG91dCByZXN1bHQgYXdhaXRpbmcgY29uZmlybWF0aW9uJzonUGVuYWx0eSBzaG9vdG91dCcrKG8udmFsaWQ/JyDCtyAnK28uaG9tZSsn4oCTJytvLmF3YXk6JycpO30KZnVuY3Rpb24gZXZlbnRzKHZhbHVlKXtjb25zdCBvPW91dGNvbWUodmFsdWU/LmZpeHR1cmUpLHNlbGVjdGVkPW5ldyBTZXQoKTtpZighbz8udmFsaWQpcmV0dXJuIHNlbGVjdGVkO2xldCBnb2Fscz1vLmhvbWUrby5hd2F5O2lmKCFnb2FscylyZXR1cm4gc2VsZWN0ZWQ7Zm9yKGNvbnN0IGUgb2YgWy4uLih2YWx1ZS5ldmVudHN8fFtdKV0ucmV2ZXJzZSgpKXtpZihlLnR5cGUhPT0nR29hbCd8fCFbJ1BlbmFsdHknLCdNaXNzZWQgUGVuYWx0eSddLmluY2x1ZGVzKGUuZGV0YWlsKSljb250aW51ZTtzZWxlY3RlZC5hZGQoZSk7aWYoZS5kZXRhaWw9PT0nUGVuYWx0eScmJi0tZ29hbHM9PT0wKWJyZWFrO31yZXR1cm4gZ29hbHM9PT0wP3NlbGVjdGVkOm5ldyBTZXQoKTt9CmZ1bmN0aW9uIGJhbm5lcihmKXtjb25zdCBlbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtlbC5jbGFzc05hbWU9J2ZiLW1kLXBlbmFsdHktcmVzdWx0JztlbC50ZXh0Q29udGVudD1sYWJlbChmKTtlbC5oaWRkZW49IWVsLnRleHRDb250ZW50O2VsLnNldEF0dHJpYnV0ZSgncm9sZScsJ3N0YXR1cycpO2NvbnN0IG89b3V0Y29tZShmKTtpZihvPy53aW5uZXIpZWwuZGF0YXNldC53aW5uZXI9U3RyaW5nKG8ud2lubmVyLmlkKTtyZXR1cm4gZWw7fQpjb25zdCBhcGk9e291dGNvbWUsbGFiZWwsZXZlbnRzLGJhbm5lcn07aWYodHlwZW9mIG1vZHVsZT09PSdvYmplY3QnJiZtb2R1bGUuZXhwb3J0cyltb2R1bGUuZXhwb3J0cz1hcGk7ZWxzZSByb290LmZiUGVuYWx0eVJlc3VsdHM9YXBpOwp9KSh0eXBlb2Ygd2luZG93PT09J29iamVjdCc/d2luZG93OnRoaXMpOwoKKGZ1bmN0aW9uKCl7J3VzZSBzdHJpY3QnO2NvbnN0IGM9d2luZG93LmZiTGVhZ3VlTWF0Y2hkYXk7aWYoIWN8fCFjLmZpeHR1cmVzPy5sZW5ndGgpcmV0dXJuO2MubGVhZ3VlTmFtZT1jLmxlYWd1ZU5hbWV8fChOdW1iZXIoYy5sZWFndWUpPT09Mzk/J1ByZW1pZXIgTGVhZ3VlJzonTGVhZ3VlJyk7Y29uc3QgY2x1YkNhbmRpZGF0ZXM9Wy4uLmMuZml4dHVyZXMsLi4uKGMuZXh0cmFGaXh0dXJlc3x8W10pXS5zb3J0KChhLGIpPT5EYXRlLnBhcnNlKGEua2lja29mZiktRGF0ZS5wYXJzZShiLmtpY2tvZmYpKTtjb25zdCBjbHViRml4dHVyZT1jLmNsdWJUZWFtJiYoY2x1YkNhbmRpZGF0ZXMuZmluZChmPT5bZi5ob21lLmlkLGYuYXdheS5pZF0uaW5jbHVkZXMoYy5jbHViVGVhbSkmJlsnMUgnLCdIVCcsJzJIJywnRVQnLCdCVCcsJ1AnLCdMSVZFJ10uaW5jbHVkZXMoZi5zdGF0dXMpKXx8Y2x1YkNhbmRpZGF0ZXMuZmluZChmPT5bZi5ob21lLmlkLGYuYXdheS5pZF0uaW5jbHVkZXMoYy5jbHViVGVhbSkmJlsnTlMnLCdUQkQnXS5pbmNsdWRlcyhmLnN0YXR1cykmJkRhdGUucGFyc2UoZi5raWNrb2ZmKT49RGF0ZS5ub3coKSl8fFsuLi5jbHViQ2FuZGlkYXRlc10ucmV2ZXJzZSgpLmZpbmQoZj0+W2YuaG9tZS5pZCxmLmF3YXkuaWRdLmluY2x1ZGVzKGMuY2x1YlRlYW0pJiZbJ0ZUJywnQUVUJywnUEVOJ10uaW5jbHVkZXMoZi5zdGF0dXMpKSk7bGV0IHNlbGVjdGVkRml4dHVyZT1jbHViRml4dHVyZXx8Yy5maXh0dXJlcy5maW5kKGY9PndpbmRvdy5mYkxlYWd1ZVJvdW5kcy5rZXkoZik9PT13aW5kb3cuZmJMZWFndWVSb3VuZHMuY3VycmVudChjLmZpeHR1cmVzKSl8fGMuZml4dHVyZXNbMF0sc2NyZWVuPWNsdWJGaXh0dXJlPydkZXRhaWwnOidsaXN0JztjLmVuZHBvaW50PWZpeHR1cmVFbmRwb2ludChzZWxlY3RlZEZpeHR1cmUpO2MudGVhbT1zZWxlY3RlZEZpeHR1cmUuaG9tZS5pZDtjb25zdCB0ZWFtUHJvZmlsZXM9bmV3IE1hcCgpLGJlbmNoVGVhbXM9bmV3IFNldCgpO2xldCBraXRPYnNlcnZlcj1udWxsLGRpc3BsYWNlZFN0b3J5PW51bGw7bGV0IGZpbmFsU2VlbkF0PW51bGwsbGFzdEhpZ2hsaWdodENoZWNrPTAsc2hvd25IaWdobGlnaHQ9bnVsbCxwbGF5aW5nSGlnaGxpZ2h0PW51bGwsaGlnaGxpZ2h0cz1bXSxnb2FsTm90aWNlPW51bGwsdmFsdWUscm91dGVEYXRhLHRyYWZmaWMsYWN0aXZlVGFiPSdIMkgnLG1hbnVhbFRhYj1mYWxzZSxub2RlOwpmdW5jdGlvbiBjb25zb2xlRm9vdGVyKCl7Y29uc3QgZm9vdGVyPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1jb25zb2xlLWZvb3RlcicpO2Zvb3Rlci5hcHBlbmQobWFrZSgnc3BhbicsJ0ZhbkJhbnRlciDCtyBNYXRjaGRheScpKTtyZXR1cm4gZm9vdGVyO30KZnVuY3Rpb24gdXBkYXRlQ3VwRm9vdGVyKGZpeHR1cmVzKXtjb25zdCBmb290ZXI9bm9kZS5xdWVyeVNlbGVjdG9yKCcuZmItbWQtY29uc29sZS1mb290ZXInKTtpZighZm9vdGVyKXJldHVybjtmb290ZXIucmVwbGFjZUNoaWxkcmVuKCk7Y29uc3QgY3Vwcz1uZXcgTWFwKCk7Zm9yKGNvbnN0IGYgb2YgZml4dHVyZXMpaWYoZi5jb21wZXRpdGlvbl9pZCYmTnVtYmVyKGYuY29tcGV0aXRpb25faWQpIT09TnVtYmVyKGMubGVhZ3VlKSYmZi5jb21wZXRpdGlvbl91cmwpY3Vwcy5zZXQoZi5jb21wZXRpdGlvbl91cmwsZi5jb21wZXRpdGlvbik7aWYoY3Vwcy5zaXplKXtmb3IoY29uc3QgW3VybCxuYW1lXW9mIGN1cHMpe2NvbnN0IGE9bWFrZSgnYScsJ1ZpZXcgJytuYW1lKycg4oaSJyk7YS5ocmVmPXVybDtmb290ZXIuYXBwZW5kKGEpO319ZWxzZSBmb290ZXIuYXBwZW5kKG1ha2UoJ3NwYW4nLCdGYW5CYW50ZXIgwrcgTWF0Y2hkYXknKSk7fQpmdW5jdGlvbiBmaXh0dXJlRW5kcG9pbnQoZil7aWYoYy5jbHViRW5kcG9pbnRCYXNlKXJldHVybiBjLmNsdWJFbmRwb2ludEJhc2UrZi5ob21lLmlkKyc/Zml4dHVyZT0nK2YuaWQrJyZsZWFndWU9JytlbmNvZGVVUklDb21wb25lbnQoZi5jb21wZXRpdGlvbl9pZHx8Yy5sZWFndWUpO3JldHVybiBmLmNvbXBldGl0aW9uX2lkJiZOdW1iZXIoZi5jb21wZXRpdGlvbl9pZCkhPT1OdW1iZXIoYy5sZWFndWUpJiZjLmNvbXBldGl0aW9uRW5kcG9pbnRCYXNlP2MuY29tcGV0aXRpb25FbmRwb2ludEJhc2UrZi5jb21wZXRpdGlvbl9pZCsnLycrZi5pZDpjLmVuZHBvaW50QmFzZStmLmlkO30KCmNvbnN0IG1ha2U9KHRhZyx0ZXh0LGNscyk9Pntjb25zdCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnKTtpZih0ZXh0IT09dW5kZWZpbmVkKW4udGV4dENvbnRlbnQ9dGV4dDtpZihjbHMpbi5jbGFzc05hbWU9Y2xzO3JldHVybiBuO307CmNvbnN0IGxpbms9KHRleHQsdXJsKT0+e2NvbnN0IGE9bWFrZSgnYScsdGV4dCk7dHJ5e2NvbnN0IHU9bmV3IFVSTCh1cmwpO2lmKHUucHJvdG9jb2whPT0naHR0cHM6JylyZXR1cm4gbWFrZSgnc3BhbicsdGV4dCk7YS5ocmVmPXUuaHJlZjthLnRhcmdldD0nX2JsYW5rJzthLnJlbD0nbm9vcGVuZXIgbm9yZWZlcnJlcic7fWNhdGNoe3JldHVybiBtYWtlKCdzcGFuJyx0ZXh0KTt9cmV0dXJuIGE7fTsKY29uc3QgdGltZT1zPT5zJiZOdW1iZXIuaXNGaW5pdGUoRGF0ZS5wYXJzZShzKSk/bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoJ2VuLUdCJyx7dGltZVpvbmU6J0V1cm9wZS9Mb25kb24nLGhvdXI6JzItZGlnaXQnLG1pbnV0ZTonMi1kaWdpdCd9KS5mb3JtYXQobmV3IERhdGUocykpKycgVUsnOid0aW1lIHVuYXZhaWxhYmxlJzsKY29uc3QgdGVhbT0oZixzaWRlKT0+e2NvbnN0IHQ9ZltzaWRlXSxuPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC10ZWFtJyksaW1nPW1ha2UoJ2ltZycpO2ltZy5zcmM9J2h0dHBzOi8vbWVkaWEuYXBpLXNwb3J0cy5pby9mb290YmFsbC90ZWFtcy8nK051bWJlcih0LmlkKSsnLnBuZyc7aW1nLmFsdD0nJztpbWcud2lkdGg9MzY7aW1nLmhlaWdodD0zODtuLmFwcGVuZChpbWcsbWFrZSgnYicsdC5uYW1lKSk7Y29uc3QgZ29hbHM9KHZhbHVlPy5ldmVudHN8fFtdKS5maWx0ZXIoZT0+IXdpbmRvdy5mYlBlbmFsdHlSZXN1bHRzLmV2ZW50cyh2YWx1ZSkuaGFzKGUpJiZlLnR5cGU9PT0nR29hbCcmJmUuZGV0YWlsIT09J01pc3NlZCBQZW5hbHR5JyYmZS50ZWFtX2lkPT09dC5pZCk7aWYoZ29hbHMubGVuZ3RoKXtjb25zdCBsaXN0PW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1oZWFkZXItZ29hbHMnKTtnb2Fscy5mb3JFYWNoKGU9Pntjb25zdCBnb2FsPW1ha2UoJ2RpdicpO2dvYWwuYXBwZW5kKG1ha2UoJ3NwYW4nLGUucGxheWVyKycgJysoZS5taW51dGU/PycnKSsoZS5leHRyYT8nKycrZS5leHRyYTonJykrJ+KAsicrKGUuZGV0YWlsPT09J093biBHb2FsJz8nIChvZyknOicnKSkpO2lmKGUuYXNzaXN0KWdvYWwuYXBwZW5kKG1ha2UoJ3NtYWxsJywnIMK3ICcrZS5hc3Npc3QpKTtsaXN0LmFwcGVuZChnb2FsKTt9KTtuLmFwcGVuZChsaXN0KTt9cmV0dXJuIG47fTsKYXN5bmMgZnVuY3Rpb24gbG9hZFByb2ZpbGVzKGYpe2F3YWl0IFByb21pc2UuYWxsKFtmLmhvbWUuaWQsZi5hd2F5LmlkXS5tYXAoYXN5bmMgaWQ9PntpZih0ZWFtUHJvZmlsZXMuZ2V0KGlkKT8ubGVuZ3RoKXJldHVybjt0cnl7Y29uc3QgdT1uZXcgVVJMKGMucHJvZmlsZXNFbmRwb2ludCtpZCk7Y29uc3QgcmVzcG9uc2U9YXdhaXQgZmV0Y2godSx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pO2lmKHJlc3BvbnNlLm9rKXtjb25zdCBwcm9maWxlPWF3YWl0IHJlc3BvbnNlLmpzb24oKTtpZihwcm9maWxlLnBsYXllcnM/Lmxlbmd0aCl0ZWFtUHJvZmlsZXMuc2V0KGlkLHByb2ZpbGUucGxheWVycyk7fX1jYXRjaHt9fSkpO30KZnVuY3Rpb24gcGxheWVyUG9ydHJhaXQocCx0ZWFtSWQpe2NvbnN0IHByb2ZpbGU9KHRlYW1Qcm9maWxlcy5nZXQodGVhbUlkKXx8W10pLmZpbmQodj0+cC5pZCYmTnVtYmVyKHYuaWQpPT09TnVtYmVyKHAuaWQpKXx8KHRlYW1Qcm9maWxlcy5nZXQodGVhbUlkKXx8W10pLmZpbmQodj0+di5uYW1lPT09cC5uYW1lKTtpZighcHJvZmlsZSlyZXR1cm4gbnVsbDtjb25zdCBjdXRvdXQ9cHJvZmlsZS5jdXRvdXRfdXJsJiYoL15odHRwczpcL1wvKG1lZGlhLWNkblwuKGNvcnRleHRlY2hcLmlvfGluY3Jvd2RzcG9ydHNcLmNvbSl8Y29udGVudGZ1bHByb3h5XC5zdGFkaW9uXC5pbylcLy8udGVzdChwcm9maWxlLmN1dG91dF91cmwpfHxwcm9maWxlLmN1dG91dF91cmwuc3RhcnRzV2l0aChsb2NhdGlvbi5vcmlnaW4rJy93cC1jb250ZW50L3BsdWdpbnMvZmFuYmFudGVyLWNhdGVnb3J5LWVkaXRpb25zL2Fzc2V0cy9wbGF5ZXItcG9ydHJhaXRzLycpKTtpZighY3V0b3V0JiYhL15odHRwczpcL1wvbWVkaWFcLmFwaS1zcG9ydHNcLmlvXC9mb290YmFsbFwvcGxheWVyc1wvLy50ZXN0KHByb2ZpbGUucGhvdG9fdXJsfHwnJykpcmV0dXJuIG51bGw7Y29uc3QgaW1nPW1ha2UoJ2ltZycpO2ltZy5zcmM9Y3V0b3V0P3Byb2ZpbGUuY3V0b3V0X3VybDpwcm9maWxlLnBob3RvX3VybDtpbWcuYWx0PScnO2ltZy53aWR0aD0zMjtpbWcuaGVpZ2h0PTM2O2lmKCFjdXRvdXQpcmV0dXJuIGltZztjb25zdCB3cmFwPW1ha2UoJ3NwYW4nLHVuZGVmaW5lZCwnZmItbWQtcG9ydHJhaXQnKyhwcm9maWxlLmN1dG91dF9mcmFtaW5nPT09J2hlYWRzaG90Jz8nIGZiLW1kLXBvcnRyYWl0LWhlYWRzaG90JzonJykpO3dyYXAuYXBwZW5kKGltZyk7aW1nLm9uZXJyb3I9KCk9PntpZih3cmFwLm9uZXJyb3Ipd3JhcC5vbmVycm9yKCk7ZWxzZSB3cmFwLnJlbW92ZSgpO307cmV0dXJuIHdyYXA7fQoKZnVuY3Rpb24gZml4dHVyZVN1bW1hcnkoZil7cmV0dXJuIHthY3RpdmU6dHJ1ZSx0ZWFtX2lkOmYuaG9tZS5pZCxmaXh0dXJlOmYsdmVudWU6Zi52ZW51ZXx8Jycsc3RhdHVzOidzdW1tYXJ5Jyxzb3VyY2U6J0NoZWNrZWQgZml4dHVyZSBmZWVkJyxldmVudHM6W10sbGluZXVwczp7c3RhdHVzOidhd2FpdGluZycsdGVhbXM6W119LHN0YXRpc3RpY3M6e3N0YXR1czondW5hdmFpbGFibGUnLHRlYW1zOltdfSxoZWFkX3RvX2hlYWQ6e3N0YXR1czondW5hdmFpbGFibGUnLG1hdGNoZXM6W10sYWxsX3RpbWVfY29tcGxldGU6ZmFsc2V9LG9kZHM6e3N0YXR1czondW5hdmFpbGFibGUnLGJvb2ttYWtlcnM6W119fTt9CmZ1bmN0aW9uIGN1cnJlbnRMaW5ldXAodGVhbSxldmVudHMpe2NvbnN0IHN0YXJ0aW5nPXRlYW0uc3RhcnRpbmcubWFwKHA9Pih7Li4ucH0pKSxzdWJzdGl0dXRlcz10ZWFtLnN1YnN0aXR1dGVzLm1hcChwPT4oey4uLnB9KSk7Y29uc3QgbWF0Y2hlcz0ocCxpZCxuYW1lKT0+aWQmJnAuaWQ/TnVtYmVyKHAuaWQpPT09TnVtYmVyKGlkKTpwLm5hbWU9PT1uYW1lO2V2ZW50cy5maWx0ZXIoZT0+ZS50eXBlPT09J3N1YnN0JyYmTnVtYmVyKGUudGVhbV9pZCk9PT1OdW1iZXIodGVhbS50ZWFtX2lkKSkuc2xpY2UoKS5zb3J0KChhLGIpPT4oYS5taW51dGV8fDApLShiLm1pbnV0ZXx8MCl8fChhLmV4dHJhfHwwKS0oYi5leHRyYXx8MCkpLmZvckVhY2goZT0+e2NvbnN0IG91dD1zdGFydGluZy5maW5kSW5kZXgocD0+bWF0Y2hlcyhwLGUucGxheWVyX2lkLGUucGxheWVyKSksaW5jb21pbmc9c3Vic3RpdHV0ZXMuZmluZEluZGV4KHA9Pm1hdGNoZXMocCxlLmFzc2lzdF9pZCxlLmFzc2lzdCkpO2lmKG91dDwwfHxpbmNvbWluZzwwKXJldHVybjtjb25zdCBvZmY9c3RhcnRpbmdbb3V0XSxvbj1zdWJzdGl0dXRlc1tpbmNvbWluZ107c3RhcnRpbmdbb3V0XT17Li4ub24sZ3JpZDpvZmYuZ3JpZCxzdWJfb246dHJ1ZSxzdWJfbWludXRlOmUubWludXRlfTtzdWJzdGl0dXRlc1tpbmNvbWluZ109ey4uLm9mZixzdWJfb2ZmOnRydWUsc3ViX21pbnV0ZTplLm1pbnV0ZX07fSk7cmV0dXJuIHsuLi50ZWFtLHN0YXJ0aW5nLHN1YnN0aXR1dGVzfTt9CmZ1bmN0aW9uIHN1YkFycm93KHApe2lmKCFwLnN1Yl9vbiYmIXAuc3ViX29mZilyZXR1cm4gbnVsbDtjb25zdCBhPW1ha2UoJ2knLHVuZGVmaW5lZCxwLnN1Yl9vZmY/J2ZiLW1kLXN1Yi1vZmYnOidmYi1tZC1zdWItb24nKTthLnRpdGxlPShwLnN1Yl9vZmY/J1N1YnN0aXR1dGVkIG9mZic6J1N1YnN0aXR1dGVkIG9uJykrJyAnK3Auc3ViX21pbnV0ZSsn4oCyJzthLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsYS50aXRsZSk7Y29uc3Qgc3ZnPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCdzdmcnKTtzdmcuc2V0QXR0cmlidXRlKCd2aWV3Qm94JywnMCAwIDE4IDI0Jyk7c3ZnLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCd0cnVlJyk7Y29uc3QgcGF0aD1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywncGF0aCcpO3BhdGguc2V0QXR0cmlidXRlKCdkJywnTTkgMSAxIDEwaDV2MTNoNlYxMGg1WicpO3N2Zy5hcHBlbmQocGF0aCk7YS5hcHBlbmQoc3ZnKTtyZXR1cm4gYTt9CgpmdW5jdGlvbiBtYXRjaFJvdXRlKCl7cmV0dXJuIHJvdXRlRGF0YT8uZml4dHVyZXM/LmZpbmQocj0+ci5ob21lPT09dmFsdWUuZml4dHVyZS5ob21lLm5hbWUmJnIuYXdheT09PXZhbHVlLmZpeHR1cmUuYXdheS5uYW1lKXx8cm91dGVEYXRhPy5maXh0dXJlcz8uZmluZChyPT4oci5ob21lLmluY2x1ZGVzKHZhbHVlLmZpeHR1cmUuaG9tZS5uYW1lKXx8dmFsdWUuZml4dHVyZS5ob21lLm5hbWUuaW5jbHVkZXMoci5ob21lKSkmJihyLmF3YXkuaW5jbHVkZXModmFsdWUuZml4dHVyZS5hd2F5Lm5hbWUpfHx2YWx1ZS5maXh0dXJlLmF3YXkubmFtZS5pbmNsdWRlcyhyLmF3YXkpKSk7fQpmdW5jdGlvbiByZWxhdGVkKGEscil7Y29uc3QgZz1hLmdlb21ldHJ5Py5sZW5ndGg/YS5nZW9tZXRyeTpbW2EubG9uLGEubGF0XV07cmV0dXJuIGcuc29tZSgoW2xvbixsYXRdKT0+ci5jb3JyaWRvcj8uc29tZSgoW3gseV0pPT5NYXRoLmh5cG90KCh4LWxvbikqLjYyLHktbGF0KSoxMTE8OCkpO30KZnVuY3Rpb24gaW5jaWRlbnRUaW1pbmcoYSxyLG5vdz1EYXRlLm5vdygpKXsKIGNvbnN0IHJldHVybmluZz1bJ0hUJywnMkgnLCdFVCcsJ0JUJywnUCcsJ0ZUJywnQUVUJywnUEVOJ10uaW5jbHVkZXModmFsdWUuZml4dHVyZS5zdGF0dXMpLGRlcGFydHVyZT1EYXRlLnBhcnNlKHJldHVybmluZz9yLnJldHVybl9kZXBhcnR1cmU6ci5kZXBhcnR1cmUpLGNvb3Jkcz1yLmNvcnJpZG9yO2lmKCFOdW1iZXIuaXNGaW5pdGUoZGVwYXJ0dXJlKXx8IWNvb3Jkcz8ubGVuZ3RofHwhci5kdXJhdGlvbl9taW51dGVzKXJldHVybiAnJzsKIGNvbnN0IGRpc3RhbmNlPShwLHEpPT5NYXRoLmh5cG90KChwWzBdLXFbMF0pKi42MixwWzFdLXFbMV0pO2xldCB0b3RhbD0wLGJlc3Q9SW5maW5pdHksYWxvbmc9MDsKIGZvcihsZXQgaT0xO2k8Y29vcmRzLmxlbmd0aDtpKyspe2NvbnN0IHA9Y29vcmRzW2ktMV0scT1jb29yZHNbaV0sZHg9KHFbMF0tcFswXSkqLjYyLGR5PXFbMV0tcFsxXSxsZW5ndGg9ZGlzdGFuY2UocCxxKSx0PU1hdGgubWF4KDAsTWF0aC5taW4oMSwoKChhLmxvbi1wWzBdKSouNjIpKmR4KyhhLmxhdC1wWzFdKSpkeSkvKGR4KmR4K2R5KmR5fHwxKSkpLGdhcD1NYXRoLmh5cG90KChhLmxvbi1wWzBdKSouNjItdCpkeCxhLmxhdC1wWzFdLXQqZHkpO2lmKGdhcDxiZXN0KXtiZXN0PWdhcDthbG9uZz10b3RhbCt0Kmxlbmd0aDt9dG90YWwrPWxlbmd0aDt9CiBpZighdG90YWwpcmV0dXJuICcnO2NvbnN0IGludG89YWxvbmcvdG90YWwqci5kdXJhdGlvbl9taW51dGVzLG1pbnV0ZXM9aW50by1NYXRoLm1heCgwLChub3ctZGVwYXJ0dXJlKS82MDAwMCkscm91bmRlZD1NYXRoLm1heCgxLE1hdGgucm91bmQobWludXRlcy82MCkpO2lmKG5vdzxkZXBhcnR1cmUpcmV0dXJuICdFc3RpbWF0ZWQgJytNYXRoLnJvdW5kKGludG8vNjApKydoIGludG8gam91cm5leSc7aWYobWludXRlcyA8IC0xNSlyZXR1cm4gJ0VhcmxpZXIgb24gZXN0aW1hdGVkIHJvdXRlIMK3IHN0b3BzIG1heSB2YXJ5JztpZihtaW51dGVzPDE1KXJldHVybiAnQXJvdW5kIG5vdyDCtyDCsTE1IG1pbic7aWYobWludXRlczw0NSlyZXR1cm4gJ0VzdGltYXRlZCAnK01hdGgucm91bmQobWludXRlcy81KSo1KycgbWluIGFoZWFkIMK3IMKxMTUgbWluJztyZXR1cm4gJ0VzdGltYXRlZCAnK3JvdW5kZWQrJyAnKyhyb3VuZGVkPT09MT8naG91cic6J2hvdXJzJykrJyBhaGVhZCDCtyDCsTE1IG1pbic7Cn0KZnVuY3Rpb24gam91cm5leU1hcChyLGFsZXJ0cyl7CiBjb25zdCBucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLHN2Zz0odGFnLGF0dHJzKT0+e2NvbnN0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKG5zLHRhZyk7Zm9yKGNvbnN0IFtrLHZdb2YgT2JqZWN0LmVudHJpZXMoYXR0cnMpKW4uc2V0QXR0cmlidXRlKGssdik7cmV0dXJuIG47fSxwcm9qZWN0PShbbG9uLGxhdF0pPT5bMTQ5NSsoMTA2NSsobG9uKzYuNSkqOTctMTQ5NSkqMS4xMiw1NjArKDk0Kyg1NS45LWxhdCkqMTQ2LTU2MCkqMS4xMl07CiBjb25zdCBzZWN0aW9uPW1ha2UoJ3NlY3Rpb24nLHVuZGVmaW5lZCwnZmItbWQtam91cm5leScpLG1hcD1zdmcoJ3N2Zycse3JvbGU6J2ltZycsJ2FyaWEtbGFiZWwnOnIuYXdheSsnIGZhbnMgdHJhdmVsbGluZyB0byAnK3IuaG9tZV9ncm91bmR9KTtjb25zdCBwb2ludHM9ci5jb3JyaWRvci5tYXAocHJvamVjdCkseHM9cG9pbnRzLm1hcChwPT5wWzBdKSx5cz1wb2ludHMubWFwKHA9PnBbMV0pLHhtaW49TWF0aC5taW4oLi4ueHMpLTU1LHltaW49TWF0aC5taW4oLi4ueXMpLTUwLHc9TWF0aC5tYXgoMTgwLE1hdGgubWF4KC4uLnhzKS14bWluKzU1KSxoPU1hdGgubWF4KDE4MCxNYXRoLm1heCguLi55cykteW1pbis1MCk7bWFwLnNldEF0dHJpYnV0ZSgndmlld0JveCcsW3htaW4seW1pbix3LGhdLmpvaW4oJyAnKSk7bWFwLmFwcGVuZChzdmcoJ2ltYWdlJyx7aHJlZjpuZXcgVVJMKCdtYXAtb25seS5zdmcnLGMucm91dGVzKS5ocmVmLHg6OTQwLHk6MCx3aWR0aDo5ODAsaGVpZ2h0OjEwODB9KSxzdmcoJ3BvbHlsaW5lJyx7cG9pbnRzOnBvaW50cy5tYXAocD0+cC5qb2luKCcsJykpLmpvaW4oJyAnKSxmaWxsOidub25lJyxzdHJva2U6JyNhYzc5ZjMnLCdzdHJva2Utd2lkdGgnOjMsJ3ZlY3Rvci1lZmZlY3QnOidub24tc2NhbGluZy1zdHJva2UnfSkpOwogY29uc3QgZGV0YWlsPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1pbmNpZGVudC1pbmZvJyksc2VsZWN0ZWQ9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLXNlbGVjdGVkLWluY2lkZW50Jyk7c2VsZWN0ZWQuc2V0QXR0cmlidXRlKCdhcmlhLWxpdmUnLCdwb2xpdGUnKTtkZXRhaWwuYXBwZW5kKHNlbGVjdGVkKTtjb25zdCBmYWN0b3I9aC8yNjA7Y29uc3QgbGFiZWw9YT0+YS5zZXZlcml0eT09PSdtYWpvcic/J01ham9yIGluY2lkZW50JzphLnNldmVyaXR5PT09J21pbm9yJz8nTWlub3IgaW5jaWRlbnQnOmEudHlwZXx8J1RyYWZmaWMgcmVzdHJpY3Rpb24nO2FsZXJ0cy5mb3JFYWNoKChhLGkpPT57Y29uc3QgZD1tYWtlKCdkZXRhaWxzJyx1bmRlZmluZWQsJ2ZiLW1kLXRyYWZmaWMtZGV0YWlsIGZiLW1kLWltcGFjdC0nKyhhLnNldmVyaXR5fHwndW5rbm93bicpKTtjb25zdCBsb2NhdGlvbj1TdHJpbmcoYS5sb2NhdGlvbnx8YS50aXRsZXx8J0xvY2F0aW9uIG5vdCBzdXBwbGllZCcpLnNwbGl0KCcgwrcgJylbMF07Y29uc3Qgc3VtbWFyeT1tYWtlKCdzdW1tYXJ5Jyk7c3VtbWFyeS50ZXh0Q29udGVudD1sYWJlbChhKSsnIMK3ICcrbG9jYXRpb247Y29uc3QgdGltaW5nPWluY2lkZW50VGltaW5nKGEscik7aWYodGltaW5nKXN1bW1hcnkudGV4dENvbnRlbnQ9bGFiZWwoYSkrJyDCtyAnK3RpbWluZysnIMK3ICcrbG9jYXRpb247c3VtbWFyeS50aXRsZT1sYWJlbChhKSsnIMK3ICcrbG9jYXRpb247ZC5hcHBlbmQoc3VtbWFyeSxtYWtlKCdzbWFsbCcsdGltaW5nP3RpbWluZysnIMK3IEJhc2VkIG9uIHNjaGVkdWxlZCBkZXBhcnR1cmUgYW5kIG1vZGVsbGVkIHJvdXRlLCBub3QgbGl2ZSB2ZWhpY2xlIHRyYWNraW5nLic6JycpLG1ha2UoJ3AnLGEuZGVzY3JpcHRpb258fGEudGl0bGUpLG1ha2UoJ3NtYWxsJyxhLnNvdXJjZSsnIMK3ICcrYS51cGRhdGVkKyhhLnNldmVyaXR5PT09J3Vua25vd24nPycgwrcgU2V2ZXJpdHkgbm90IHN1cHBsaWVkJzonJykpKTtkZXRhaWwuYXBwZW5kKGQpO30pO2lmKCFhbGVydHMubGVuZ3RoKWRldGFpbC5hcHBlbmQobWFrZSgncCcsJ05vIG1hdGNoaW5nIHJlcG9ydHMgZnJvbSBjb25uZWN0ZWQgZmVlZHMuJykpOyAKIGNvbnN0IHNob3c9YT0+e3NlbGVjdGVkLnJlcGxhY2VDaGlsZHJlbihtYWtlKCdiJywoYS5zZXZlcml0eT09PSdtYWpvcic/J01ham9yIGluY2lkZW50JzphLnNldmVyaXR5PT09J21pbm9yJz8nTWlub3IgaW5jaWRlbnQnOmEudHlwZXx8J1RyYWZmaWMgaW5jaWRlbnQnKSsnIMK3ICcrKGEubG9jYXRpb258fCcnKSksbWFrZSgncCcsYS5kZXNjcmlwdGlvbnx8YS50aXRsZSksbWFrZSgnc21hbGwnLGEuc291cmNlKycgwrcgJythLnVwZGF0ZWQrKGEuc2V2ZXJpdHk9PT0ndW5rbm93bic/JyDCtyBTZXZlcml0eSBub3Qgc3VwcGxpZWQnOicnKSkpO307CiBhbGVydHMuZm9yRWFjaChhPT57Y29uc3QgW3gseV09cHJvamVjdChbYS5sb24sYS5sYXRdKSxtYWpvcj1hLnNldmVyaXR5PT09J21ham9yJyxtaW5vcj1hLnNldmVyaXR5PT09J21pbm9yJyxwaW49c3ZnKCdnJyx7cm9sZTonYnV0dG9uJyx0YWJpbmRleDowLCdhcmlhLWxhYmVsJzooYS50eXBlfHwnSW5jaWRlbnQnKSsnIMK3ICcrKGEubG9jYXRpb258fGEudGl0bGUpfSk7cGluLnN0eWxlLmN1cnNvcj0ncG9pbnRlcic7cGluLmFwcGVuZChzdmcoJ2NpcmNsZScse2N4OngsY3k6eSxyOihtYWpvcj8xMDptaW5vcj81OjcpKmZhY3RvcixmaWxsOm1ham9yPycjZGMzNTRiJzptaW5vcj8nIzhjYWFhOSc6JyNjMmFhNjgnLHN0cm9rZTonI2ZmZicsJ3N0cm9rZS13aWR0aCc6MS41fSkpO3Bpbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PnNob3coYSkpO3Bpbi5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJyxlPT57aWYoZS5rZXk9PT0nRW50ZXInfHxlLmtleT09PScgJyl7ZS5wcmV2ZW50RGVmYXVsdCgpO3Nob3coYSk7fX0pO21hcC5hcHBlbmQocGluKTt9KTsKIGZvcihjb25zdCBbaSx0XW9mICggWydIVCcsJzJIJywnRVQnLCdCVCcsJ1AnLCdGVCcsJ0FFVCcsJ1BFTiddLmluY2x1ZGVzKHZhbHVlLmZpeHR1cmUuc3RhdHVzKT9bWzAsdmFsdWUuZml4dHVyZS5ob21lXSxbcG9pbnRzLmxlbmd0aC0xLHZhbHVlLmZpeHR1cmUuYXdheV1dOltbMCx2YWx1ZS5maXh0dXJlLmF3YXldLFtwb2ludHMubGVuZ3RoLTEsdmFsdWUuZml4dHVyZS5ob21lXV0pKXtjb25zdCBbeCx5XT1wb2ludHNbaV07bWFwLmFwcGVuZChzdmcoJ2NpcmNsZScse2N4OngsY3k6eSxyOjExKmZhY3RvcixmaWxsOicjZmZmJyxzdHJva2U6JyNhNTZiZjUnLCdzdHJva2Utd2lkdGgnOjJ9KSxzdmcoJ2ltYWdlJyx7aHJlZjonaHR0cHM6Ly9tZWRpYS5hcGktc3BvcnRzLmlvL2Zvb3RiYWxsL3RlYW1zLycrdC5pZCsnLnBuZycseDp4LTkqZmFjdG9yLHk6eS05KmZhY3Rvcix3aWR0aDoxOCpmYWN0b3IsaGVpZ2h0OjE4KmZhY3Rvcn0pKTt9CiBzZWN0aW9uLmFwcGVuZChtYXAsZGV0YWlsKTtyZXR1cm4gc2VjdGlvbjsKfQpmdW5jdGlvbiBmaXh0dXJlSGlnaGxpZ2h0KCl7aWYoIVsnRlQnLCdBRVQnLCdQRU4nXS5pbmNsdWRlcyh2YWx1ZT8uZml4dHVyZT8uc3RhdHVzKSlyZXR1cm4gbnVsbDtjb25zdCBmPXZhbHVlLmZpeHR1cmUscm93PWhpZ2hsaWdodHMuZmluZChyPT5yLmtpY2tvZmYuc2xpY2UoMCwxMCk9PT1mLmtpY2tvZmYuc2xpY2UoMCwxMCkmJnIuaG9tZS50b0xvd2VyQ2FzZSgpPT09Zi5ob21lLm5hbWUudG9Mb3dlckNhc2UoKSYmci5hd2F5LnRvTG93ZXJDYXNlKCk9PT1mLmF3YXkubmFtZS50b0xvd2VyQ2FzZSgpKXx8Yy5lZGl0b3JpYWw/LltmLmtpY2tvZmYuc2xpY2UoMCwxMCkrJ3wnK2YuaG9tZS5pZCsnfCcrZi5hd2F5LmlkXT8uaGlnaGxpZ2h0cztpZighcm93KXJldHVybiBudWxsO3RyeXtjb25zdCB1PW5ldyBVUkwocm93LnVybCk7bGV0IGlkO2lmKFsnd3d3LnlvdXR1YmUuY29tJywneW91dHViZS5jb20nLCdtLnlvdXR1YmUuY29tJ10uaW5jbHVkZXModS5ob3N0bmFtZSkpaWQ9dS5zZWFyY2hQYXJhbXMuZ2V0KCd2Jyk7aWYodS5ob3N0bmFtZT09PSd5b3V0dS5iZScpaWQ9dS5wYXRobmFtZS5zbGljZSgxKTtyZXR1cm4gL15bQS1aYS16MC05Xy1dezExfSQvLnRlc3QoaWR8fCcnKT97aWQsdXJsOnUuaHJlZn06bnVsbDt9Y2F0Y2h7cmV0dXJuIG51bGw7fX0KZnVuY3Rpb24gaGlnaGxpZ2h0UGFuZWwoaCl7Y29uc3QgcGFuZWw9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLWhpZ2hsaWdodCcpO2lmKHBsYXlpbmdIaWdobGlnaHQ9PT1oLmlkKXtjb25zdCBmcmFtZT1tYWtlKCdpZnJhbWUnKTtmcmFtZS5zcmM9J2h0dHBzOi8vd3d3LnlvdXR1YmUtbm9jb29raWUuY29tL2VtYmVkLycraC5pZCsnP2F1dG9wbGF5PTEmcmVsPTAnO2ZyYW1lLnRpdGxlPSdPZmZpY2lhbCBtYXRjaCBoaWdobGlnaHRzJztmcmFtZS5hbGxvdz0nYXV0b3BsYXk7IGVuY3J5cHRlZC1tZWRpYTsgcGljdHVyZS1pbi1waWN0dXJlOyBmdWxsc2NyZWVuJztmcmFtZS5hbGxvd0Z1bGxzY3JlZW49dHJ1ZTtwYW5lbC5hcHBlbmQoZnJhbWUpO3JldHVybiBwYW5lbDt9Y29uc3QgcGxheT1tYWtlKCdidXR0b24nLHVuZGVmaW5lZCwnZmItbWQtaGlnaGxpZ2h0LXBsYXknKSxpbWFnZT1tYWtlKCdpbWcnKTtpbWFnZS5zcmM9J2h0dHBzOi8vaS55dGltZy5jb20vdmkvJytoLmlkKycvaHFkZWZhdWx0LmpwZyc7aW1hZ2UuYWx0PSdNYXRjaCBoaWdobGlnaHRzJztwbGF5LnR5cGU9J2J1dHRvbic7cGxheS5hcHBlbmQoaW1hZ2UsbWFrZSgnc3BhbicsJ+KWtiBQbGF5IG1hdGNoIGhpZ2hsaWdodHMnKSk7cGxheS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PntwbGF5aW5nSGlnaGxpZ2h0PWguaWQ7cmVuZGVyKCk7fSk7cGFuZWwuYXBwZW5kKHBsYXkpO3JldHVybiBwYW5lbDt9Cgpjb25zdCByb3VuZEtleT13aW5kb3cuZmJMZWFndWVSb3VuZHMua2V5Owpjb25zdCByb3VuZExhYmVsPWtleT0+Yy5yb3VuZExhYmVscz8uW2tleV18fCgvXlJlZ3VsYXIgU2Vhc29uIC0gXGQrJC8udGVzdChrZXkpPydSb3VuZCAnK2tleS5zcGxpdCgnIC0gJylbMV06a2V5KTsKbGV0IG1hbnVhbFJvdW5kPWZhbHNlLHNlbGVjdGVkUm91bmQ9cm91bmRLZXkoc2VsZWN0ZWRGaXh0dXJlKSxyb3VuZENsaXBzPWMucm91bmRIaWdobGlnaHRzfHxbXSxyb3VuZENsaXBDaGVja3M9bmV3IE1hcCgpOwpmdW5jdGlvbiByb3dIaWdobGlnaHQoZil7aWYoIVsnRlQnLCdBRVQnLCdQRU4nXS5pbmNsdWRlcyhmLnN0YXR1cykpcmV0dXJuIG51bGw7cmV0dXJuIHJvdW5kQ2xpcHMuZmluZChoPT5oLmVtYmVkZGFibGUmJi9eW0EtWmEtejAtOV8tXXsxMX0kLy50ZXN0KGguaWR8fCcnKSYmaC5raWNrb2ZmPy5zbGljZSgwLDEwKT09PWYua2lja29mZi5zbGljZSgwLDEwKSYmaC5ob21lLnRvTG93ZXJDYXNlKCk9PT1mLmhvbWUubmFtZS50b0xvd2VyQ2FzZSgpJiZoLmF3YXkudG9Mb3dlckNhc2UoKT09PWYuYXdheS5uYW1lLnRvTG93ZXJDYXNlKCkpO30KYXN5bmMgZnVuY3Rpb24gcmVmcmVzaFJvdW5kQ2xpcHMoZml4dHVyZXMpe2xldCBjaGFuZ2VkPWZhbHNlO2F3YWl0IFByb21pc2UuYWxsKFsuLi5uZXcgU2V0KGZpeHR1cmVzLmZpbHRlcihmPT5bJ0ZUJywnQUVUJywnUEVOJ10uaW5jbHVkZXMoZi5zdGF0dXMpKS5tYXAoZj0+Zi5ob21lLmlkKSldLm1hcChhc3luYyBpZD0+e2lmKERhdGUubm93KCktKHJvdW5kQ2xpcENoZWNrcy5nZXQoaWQpfHwwKTw2MDAwMClyZXR1cm47cm91bmRDbGlwQ2hlY2tzLnNldChpZCxEYXRlLm5vdygpKTt0cnl7Y29uc3Qgcj1hd2FpdCBmZXRjaChjLmhpZ2hsaWdodHNCYXNlK2lkLHtjcmVkZW50aWFsczonc2FtZS1vcmlnaW4nfSk7aWYoci5vayl7Zm9yKGNvbnN0IGggb2YgYXdhaXQgci5qc29uKCkpe2lmKGguZW1iZWRkYWJsZSYmIXJvdW5kQ2xpcHMuc29tZSh2PT52LmlkPT09aC5pZCkpe3JvdW5kQ2xpcHMucHVzaChoKTtjaGFuZ2VkPXRydWU7fX19fWNhdGNoe319KSk7aWYoY2hhbmdlZCYmc2NyZWVuPT09J2xpc3QnKW1hdGNoTGlzdCgpO30KZnVuY3Rpb24gbWF0Y2hMaXN0KCl7bm9kZS5jbGFzc0xpc3QuYWRkKCdmYi1tZC1yb3VuZC1saXN0Jyk7bm9kZS5kYXRhc2V0LnJvdW5kQ2FwYWNpdHk9TnVtYmVyKGMubGVhZ3VlKT09PTM5PycxMCc6JzEyJztub2RlLnJlcGxhY2VDaGlsZHJlbigpO2NvbnN0IGhlYWQ9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLWxpc3QtaGVhZGluZycpO2hlYWQuYXBwZW5kKG1ha2UoJ2InLGMubGVhZ3VlTmFtZSsnIG1hdGNoZGF5JykpO2NvbnN0IGxpc3Q9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLW1hdGNoLWxpc3QnKSxsYWJlbD1tYWtlKCdsYWJlbCcsJ1JvdW5kJyksc2VsZWN0PW1ha2UoJ3NlbGVjdCcpO3NlbGVjdC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdNYXRjaGRheSByb3VuZCcpO2NvbnN0IGNhdGNodXBzPXdpbmRvdy5mYkxlYWd1ZVJvdW5kcy51cGNvbWluZyhjLmZpeHR1cmVzLGMuZXh0cmFGaXh0dXJlc3x8W10pLG1pZHdlZWtLZXk9J3VwY29taW5nLXJlYXJyYW5nZWQnLHJvdW5kcz13aW5kb3cuZmJMZWFndWVSb3VuZHMub3JkZXJlZChjLmZpeHR1cmVzKS5tYXAocj0+ci5rZXkpO2lmKGNhdGNodXBzLmxlbmd0aCl7Y29uc3QgcmVndWxhcj13aW5kb3cuZmJMZWFndWVSb3VuZHMuY3VycmVudChjLmZpeHR1cmVzKSxpbmRleD1yb3VuZHMuaW5kZXhPZihyZWd1bGFyKTtyb3VuZHMuc3BsaWNlKGluZGV4PDA/MDppbmRleCwwLG1pZHdlZWtLZXkpO2lmKCFtYW51YWxSb3VuZClzZWxlY3RlZFJvdW5kPW1pZHdlZWtLZXk7fWVsc2UgaWYoc2VsZWN0ZWRSb3VuZD09PW1pZHdlZWtLZXkpc2VsZWN0ZWRSb3VuZD13aW5kb3cuZmJMZWFndWVSb3VuZHMuY3VycmVudChjLmZpeHR1cmVzKTtjb25zdCBjdXBHcm91cHM9d2luZG93LmZiTGVhZ3VlUm91bmRzLmN1cHMoYy5leHRyYUZpeHR1cmVzfHxbXSk7Zm9yKGNvbnN0IGN1cCBvZiBjdXBHcm91cHMpe3JvdW5kcy5wdXNoKGN1cC5rZXkpO31mb3IoY29uc3Qga2V5IG9mIHJvdW5kcyl7Y29uc3Qgbz1tYWtlKCdvcHRpb24nLGtleT09PW1pZHdlZWtLZXk/J1VwY29taW5nIGZpeHR1cmVzIMK3ICcrbmV3IERhdGUoY2F0Y2h1cHNbMF0ua2lja29mZikudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicse3RpbWVab25lOidFdXJvcGUvTG9uZG9uJyx3ZWVrZGF5OidzaG9ydCcsZGF5OidudW1lcmljJyxtb250aDonc2hvcnQnfSk6cm91bmRMYWJlbChrZXkpKTtvLnZhbHVlPWtleTtjb25zdCBjdXA9Y3VwR3JvdXBzLmZpbmQoZz0+Zy5rZXk9PT1rZXkpO2lmKGN1cClvLnRleHRDb250ZW50PWN1cC5uYW1lKycgwrcgJytjdXAubGFiZWw7c2VsZWN0LmFwcGVuZChvKTt9c2VsZWN0LnZhbHVlPXNlbGVjdGVkUm91bmQ7Y29uc3QgcHJldmlvdXM9bWFrZSgnYnV0dG9uJywn4oC5JywnZmItbWQtcm91bmQtYXJyb3cnKSxuZXh0Um91bmQ9bWFrZSgnYnV0dG9uJywn4oC6JywnZmItbWQtcm91bmQtYXJyb3cnKTtwcmV2aW91cy50eXBlPW5leHRSb3VuZC50eXBlPSdidXR0b24nO3ByZXZpb3VzLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsJ1ByZXZpb3VzIHJvdW5kJyk7bmV4dFJvdW5kLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsJ05leHQgcm91bmQnKTtwcmV2aW91cy5vbmNsaWNrPSgpPT57aWYoc2VsZWN0LnNlbGVjdGVkSW5kZXg+MCl7c2VsZWN0LnNlbGVjdGVkSW5kZXgtLTttYW51YWxSb3VuZD10cnVlO2ZpbGwoKTt9fTtuZXh0Um91bmQub25jbGljaz0oKT0+e2lmKHNlbGVjdC5zZWxlY3RlZEluZGV4PHNlbGVjdC5vcHRpb25zLmxlbmd0aC0xKXtzZWxlY3Quc2VsZWN0ZWRJbmRleCsrO21hbnVhbFJvdW5kPXRydWU7ZmlsbCgpO319O2xhYmVsLmFwcGVuZChwcmV2aW91cyxzZWxlY3QsbmV4dFJvdW5kKTtoZWFkLmFwcGVuZChsYWJlbCk7bm9kZS5hcHBlbmQoaGVhZCk7Y29uc3Qgcm93cz1tYWtlKCdkaXYnKTtmdW5jdGlvbiBmaWxsKCl7cm93cy5yZXBsYWNlQ2hpbGRyZW4oKTtzZWxlY3RlZFJvdW5kPXNlbGVjdC52YWx1ZTtwcmV2aW91cy5kaXNhYmxlZD1zZWxlY3Quc2VsZWN0ZWRJbmRleD09PTA7bmV4dFJvdW5kLmRpc2FibGVkPXNlbGVjdC5zZWxlY3RlZEluZGV4PT09c2VsZWN0Lm9wdGlvbnMubGVuZ3RoLTE7Y29uc3Qgc2VsZWN0ZWRDdXA9Y3VwR3JvdXBzLmZpbmQoZz0+Zy5rZXk9PT1zZWxlY3RlZFJvdW5kKSxmaXh0dXJlcz1zZWxlY3RlZEN1cD9zZWxlY3RlZEN1cC5maXh0dXJlczpzZWxlY3RlZFJvdW5kPT09bWlkd2Vla0tleT9jYXRjaHVwczpjLmZpeHR1cmVzLmZpbHRlcihmPT5yb3VuZEtleShmKT09PXNlbGVjdGVkUm91bmQpO2NvbnN0IGN1cElkcz1bLi4ubmV3IFNldChmaXh0dXJlcy5tYXAoZj0+TnVtYmVyKGYuY29tcGV0aXRpb25faWQpfHxOdW1iZXIoYy5sZWFndWUpKSldLGN1cE9ubHk9Y3VwSWRzLmxlbmd0aD09PTEmJmN1cElkc1swXSE9PU51bWJlcihjLmxlYWd1ZSk7bm9kZS5kYXRhc2V0LmN1cD1jdXBPbmx5P1N0cmluZyhjdXBJZHNbMF0pOicnO2hlYWQucXVlcnlTZWxlY3RvcignYicpLnRleHRDb250ZW50PShjdXBPbmx5P2ZpeHR1cmVzWzBdLmNvbXBldGl0aW9uOmMubGVhZ3VlTmFtZSkrJyBtYXRjaGRheSc7Y29uc3QgZ3JvdXBPcmRlcj1uZXcgTWFwKCk7Zm9yKGNvbnN0IGYgb2YgZml4dHVyZXMpe2NvbnN0IGdyb3VwPU51bWJlcihmLmNvbXBldGl0aW9uX2lkKXx8TnVtYmVyKGMubGVhZ3VlKTtpZighZ3JvdXBPcmRlci5oYXMoZ3JvdXApKWdyb3VwT3JkZXIuc2V0KGdyb3VwLGdyb3VwT3JkZXIuc2l6ZSk7fWNvbnN0IG9yZGVyZWRGaXh0dXJlcz1bLi4uZml4dHVyZXNdLnNvcnQoKGEsYik9Pmdyb3VwT3JkZXIuZ2V0KE51bWJlcihhLmNvbXBldGl0aW9uX2lkKXx8TnVtYmVyKGMubGVhZ3VlKSktZ3JvdXBPcmRlci5nZXQoTnVtYmVyKGIuY29tcGV0aXRpb25faWQpfHxOdW1iZXIoYy5sZWFndWUpKXx8RGF0ZS5wYXJzZShhLmtpY2tvZmYpLURhdGUucGFyc2UoYi5raWNrb2ZmKSk7bGV0IHByZXZpb3VzQ29tcGV0aXRpb249bnVsbDtmb3IoY29uc3QgZiBvZiBvcmRlcmVkRml4dHVyZXMpe2NvbnN0IGNvbXBldGl0aW9uPU51bWJlcihmLmNvbXBldGl0aW9uX2lkKXx8TnVtYmVyKGMubGVhZ3VlKTtpZigoZi5jb21wZXRpdGlvbl9pZHx8Y3VwSWRzLmxlbmd0aD4xKSYmY29tcGV0aXRpb24hPT1wcmV2aW91c0NvbXBldGl0aW9uKXtjb25zdCBoZWFkaW5nPW1ha2UoZi5jb21wZXRpdGlvbl91cmw/J2EnOidkaXYnLHVuZGVmaW5lZCwnZmItbWQtY29tcGV0aXRpb24taGVhZGluZycpO2hlYWRpbmcuZGF0YXNldC5jb21wZXRpdGlvbj1TdHJpbmcoY29tcGV0aXRpb24pO2NvbnN0IG1ldGE9bWFrZSgnc3BhbicsdW5kZWZpbmVkLCdmYi1tZC1jb21wZXRpdGlvbi1tZXRhJyk7bWV0YS5hcHBlbmQobWFrZSgnc21hbGwnLGYuY29tcGV0aXRpb25faWQ/KC9eR3JvdXAgL2kudGVzdChmLnJvdW5kfHwnJyk/J0dyb3VwIHN0YWdlJzpmLnJvdW5kX2xhYmVsfHxmLnJvdW5kKTonTGVhZ3VlIGZpeHR1cmVzJykpO2lmKGYuY29tcGV0aXRpb25fdXJsKXtoZWFkaW5nLmhyZWY9Zi5jb21wZXRpdGlvbl91cmwrJyNmYi1uZXdzJztoZWFkaW5nLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsKGYuY29tcGV0aXRpb258fGMubGVhZ3VlTmFtZSkrJyBmdWxsIGZpeHR1cmVzJyk7bWV0YS5hcHBlbmQobWFrZSgnc3Ryb25nJywnRnVsbCBmaXh0dXJlcyDihpInLCdmYi1tZC1mdWxsLWZpeHR1cmVzJykpO31oZWFkaW5nLmFwcGVuZChtYWtlKCdiJyxmLmNvbXBldGl0aW9ufHxjLmxlYWd1ZU5hbWUpLG1ldGEpO3Jvd3MuYXBwZW5kKGhlYWRpbmcpO31wcmV2aW91c0NvbXBldGl0aW9uPWNvbXBldGl0aW9uO2NvbnN0IGJ1dHRvbj1tYWtlKCdidXR0b24nLHVuZGVmaW5lZCwnZmItbWQtbWF0Y2gtcGlja2VyJyk7YnV0dG9uLnR5cGU9J2J1dHRvbic7YnV0dG9uLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsJ09wZW4gJytmLmhvbWUubmFtZSsnIHYgJytmLmF3YXkubmFtZSk7Y29uc3QgaD1tYWtlKCdpbWcnKSxhPW1ha2UoJ2ltZycpO2guc3JjPSdodHRwczovL21lZGlhLmFwaS1zcG9ydHMuaW8vZm9vdGJhbGwvdGVhbXMvJytmLmhvbWUuaWQrJy5wbmcnO2Euc3JjPSdodHRwczovL21lZGlhLmFwaS1zcG9ydHMuaW8vZm9vdGJhbGwvdGVhbXMvJytmLmF3YXkuaWQrJy5wbmcnO2guYWx0PScnO2EuYWx0PScnO2NvbnN0IGRhdGU9bWFrZSgndGltZScsWydQU1QnLCdUQkQnXS5pbmNsdWRlcyhmLnN0YXR1cyk/J0RhdGUgVEJDJzpuZXcgRGF0ZShmLmtpY2tvZmYpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tR0InLHt0aW1lWm9uZTonRXVyb3BlL0xvbmRvbicsd2Vla2RheTonc2hvcnQnLGRheTonbnVtZXJpYycsbW9udGg6J3Nob3J0J30pLCdmYi1tZC1waWNrZXItZGF0ZScpO2RhdGUuZGF0ZVRpbWU9Zi5raWNrb2ZmO2lmKHdpbmRvdy5mYlBlbmFsdHlSZXN1bHRzLmxhYmVsKGYpKWRhdGUuYXBwZW5kKG1ha2UoJ3NtYWxsJyx3aW5kb3cuZmJQZW5hbHR5UmVzdWx0cy5sYWJlbChmKSwnZmItbWQtcGlja2VyLXJlc3VsdCcpKTtidXR0b24uYXBwZW5kKGRhdGUsbWFrZSgnc3BhbicsZi5ob21lLm5hbWUpLGgsbWFrZSgnc3Ryb25nJyxmLmhvbWVfZ29hbHM9PW51bGw/KGYuc3RhdHVzPT09J1BTVCc/J1Bvc3Rwb25lZCc6Zi5zdGF0dXM9PT0nVEJEJz8nVEJDJzp0aW1lKGYua2lja29mZikucmVwbGFjZSgnIFVLJywnJykpOmYuaG9tZV9nb2Fscysn4oCTJytmLmF3YXlfZ29hbHMsZi5ob21lX2dvYWxzPT1udWxsP3VuZGVmaW5lZDonZmItbWQtZmluYWwtc2NvcmUnKSxhLG1ha2UoJ3NwYW4nLGYuYXdheS5uYW1lKSk7aWYoZi5ob21lX2dvYWxzIT1udWxsKXtjb25zdCBzY29yZT1idXR0b24ucXVlcnlTZWxlY3Rvcignc3Ryb25nJyk7c2NvcmUucmVwbGFjZUNoaWxkcmVuKG1ha2UoJ3NwYW4nLFN0cmluZyhmLmhvbWVfZ29hbHMpKSxtYWtlKCdpJywn4oCTJywnZmItbWQtc2NvcmUtZGFzaCcpLG1ha2UoJ3NwYW4nLFN0cmluZyhmLmF3YXlfZ29hbHMpKSk7fWNvbnN0IHR2PW1ha2UoJ3NwYW4nLHVuZGVmaW5lZCwnZmItbWQtcGlja2VyLXR2JyksY2hhbm5lbD1mLnR2X2NoYW5uZWx8fCdUViBzZWxlY3Rpb24gbm90IGFubm91bmNlZCc7dHYudGl0bGU9Y2hhbm5lbDt0di5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdUVjogJytjaGFubmVsKTtjb25zdCBsb2dvPWNoYW5uZWwuaW5jbHVkZXMoJ1NreSBTcG9ydHMrJyk/J3NreS1zcG9ydHMtcGx1cy5zdmcnOmNoYW5uZWwuaW5jbHVkZXMoJ1NreSBTcG9ydHMnKT8nc2t5LXNwb3J0cy5zdmcnOmNoYW5uZWwuaW5jbHVkZXMoJ1ROVCBTcG9ydHMnKT8ndG50LXNwb3J0cy5zdmcnOicnO2lmKGxvZ28pe2NvbnN0IGltYWdlPW1ha2UoJ2ltZycpO2ltYWdlLnNyYz1jLmJyb2FkY2FzdGVyUm9vdCtsb2dvO2ltYWdlLmFsdD1jaGFubmVsO3R2LmFwcGVuZChpbWFnZSk7Y29uc3QgZGV0YWlsPWNoYW5uZWwucmVwbGFjZSgnU2t5IFNwb3J0cyAnLCcnKS5yZXBsYWNlKCdUTlQgU3BvcnRzICcsJycpO2lmKGRldGFpbCE9PWNoYW5uZWwpdHYuYXBwZW5kKG1ha2UoJ3NtYWxsJyxkZXRhaWwpKTt9ZWxzZSB0di50ZXh0Q29udGVudD1jaGFubmVsPT09J05vIFVLIGxpdmUgVFYgbGlzdGVkJz8n4oCUJzonVEJDJztjb25zdCBjbGlwPXJvd0hpZ2hsaWdodChmKTtpZihjbGlwKXt0di5yZXBsYWNlQ2hpbGRyZW4obWFrZSgnYicsJ+KWtiBIaWdobGlnaHRzJykpO3R2LnRpdGxlPSdXYXRjaCB2ZXJpZmllZCBtYXRjaCBoaWdobGlnaHRzJzt0di5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdXYXRjaCBtYXRjaCBoaWdobGlnaHRzJyk7fWJ1dHRvbi5hcHBlbmQodHYpO2J1dHRvbi5vbmNsaWNrPSgpPT57c2VsZWN0ZWRGaXh0dXJlPWY7Yy5lbmRwb2ludD1maXh0dXJlRW5kcG9pbnQoZik7Yy50ZWFtPWYuaG9tZS5pZDtsYXN0SGlnaGxpZ2h0Q2hlY2s9MDtoaWdobGlnaHRzPWNsaXA/W2NsaXBdOltdO2MubmFtZT1mLmhvbWUubmFtZTtzY3JlZW49J2RldGFpbCc7bWFudWFsVGFiPWZhbHNlO2FjdGl2ZVRhYj0nSDJIJztmaW5hbFNlZW5BdD1udWxsO3BsYXlpbmdIaWdobGlnaHQ9bnVsbDtzaG93bkhpZ2hsaWdodD1udWxsO3ZhbHVlPWZpeHR1cmVTdW1tYXJ5KGYpO3JlbmRlcigpO3JlZnJlc2goKTt9O3Jvd3MuYXBwZW5kKGJ1dHRvbik7fXJlZnJlc2hSb3VuZENsaXBzKGZpeHR1cmVzKTt1cGRhdGVDdXBGb290ZXIoZml4dHVyZXMpO31zZWxlY3Qub25jaGFuZ2U9KCk9PnttYW51YWxSb3VuZD10cnVlO2ZpbGwoKTt9O2ZpbGwoKTtsaXN0LmFwcGVuZChyb3dzKTtub2RlLmFwcGVuZChsaXN0LGNvbnNvbGVGb290ZXIoKSk7Y29uc3QgYWN0aXZlQ3VwPWN1cEdyb3Vwcy5maW5kKGc9Pmcua2V5PT09c2VsZWN0ZWRSb3VuZCk7dXBkYXRlQ3VwRm9vdGVyKGFjdGl2ZUN1cD9hY3RpdmVDdXAuZml4dHVyZXM6c2VsZWN0ZWRSb3VuZD09PW1pZHdlZWtLZXk/Y2F0Y2h1cHM6Yy5maXh0dXJlcy5maWx0ZXIoZj0+cm91bmRLZXkoZik9PT1zZWxlY3RlZFJvdW5kKSk7fQpmdW5jdGlvbiB3YWl0aW5nKGJvZHksbm90ZSl7aWYod2luZG93LmZiTWF0Y2hkYXlTZWN0aW9ucy5mYWlsdXJlcyh2YWx1ZSlbYWN0aXZlVGFiXSl7Ym9keS5hcHBlbmQobWFrZSgncCcsJ1RoaXMgaW5mb3JtYXRpb24gY291bGQgbm90IGJlIHJlZnJlc2hlZC4gUGxlYXNlIHRyeSBhZ2FpbiBzaG9ydGx5LicpKTtyZXR1cm47fWlmKHdpbmRvdy5mYk1hdGNoZGF5U2VjdGlvbnMuY291bnRkb3duKHZhbHVlLmZpeHR1cmUpKXtib2R5LmNsYXNzTGlzdC5hZGQoJ2ZiLW1kLXNjb3JlYm9hcmQtY29udGVudCcpO25vZGUuY2xhc3NMaXN0LmFkZCgnZmItbWQtY291bnRkb3duLW1vZGUnKTtib2R5LmFwcGVuZCh3aW5kb3cuZmJNYXRjaGRheVNjb3JlYm9hcmQuY3JlYXRlKHZhbHVlLmZpeHR1cmUse2xlYWd1ZTpjLmxlYWd1ZU5hbWUsdmVudWU6dmFsdWUudmVudWV8fHZhbHVlLmZpeHR1cmUudmVudWV8fGMucHJldmlld1RyYXZlbD8udG98fCcnLGtpbmQ6YWN0aXZlVGFiLG5vdGV9KSk7fWVsc2UgYm9keS5hcHBlbmQobWFrZSgncCcsbm90ZSkpO30KZnVuY3Rpb24gcmVuZGVyKCl7aWYoIXZhbHVlPy5hY3RpdmV8fCFub2RlKXJldHVybjtpZihzY3JlZW49PT0nbGlzdCcpe21hdGNoTGlzdCgpO3JldHVybjt9bm9kZS5jbGFzc0xpc3QucmVtb3ZlKCdmYi1tZC1yb3VuZC1saXN0JywnZmItbWQtY291bnRkb3duLW1vZGUnKTtpZihwbGF5aW5nSGlnaGxpZ2h0JiZhY3RpdmVUYWI9PT0nSGlnaGxpZ2h0cycmJm5vZGUucXVlcnlTZWxlY3RvcignLmZiLW1kLWhpZ2hsaWdodCBpZnJhbWUnKSlyZXR1cm47a2l0T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtub2RlLnJlcGxhY2VDaGlsZHJlbigpO2NvbnN0IGJhY2s9bWFrZSgnYnV0dG9uJywn4oaQIEFsbCAnK2MubGVhZ3VlTmFtZSsnIG1hdGNoZXMnLCdmYi1tZC1iYWNrJyk7YmFjay5vbmNsaWNrPSgpPT57cGxheWluZ0hpZ2hsaWdodD1udWxsO3NjcmVlbj0nbGlzdCc7bWF0Y2hMaXN0KCk7fTtub2RlLmFwcGVuZChiYWNrKTtjb25zdCBmPXZhbHVlLmZpeHR1cmU7Y29uc3QgYXZhaWxhYmxlVGFicz13aW5kb3cuZmJNYXRjaGRheVNlY3Rpb25zLnRhYnModmFsdWUse2hpZ2hsaWdodHM6ISFmaXh0dXJlSGlnaGxpZ2h0KCksdHJhdmVsOiEhKGMucHJldmlld1RyYXZlbHx8bWF0Y2hSb3V0ZSgpKSxsZWFndWVPbmx5OmMuaDJoTGVhZ3VlT25seX0pO2lmKCFtYW51YWxUYWIpYWN0aXZlVGFiPXdpbmRvdy5mYk1hdGNoZGF5RGVmYXVsdHMucGljayh2YWx1ZSwhIWZpeHR1cmVIaWdobGlnaHQoKSk7aWYoIWF2YWlsYWJsZVRhYnMuaW5jbHVkZXMoYWN0aXZlVGFiKSlhY3RpdmVUYWI9YXZhaWxhYmxlVGFic1swXXx8bnVsbDtjb25zdCBoZXJvPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1oZXJvJyk7aWYoZ29hbE5vdGljZSYmRGF0ZS5ub3coKTxnb2FsTm90aWNlLnVudGlsKXtoZXJvLmNsYXNzTGlzdC5hZGQoJ2ZiLW1kLWdvYWwtZmxhc2gnKTtjb25zdCBub3RpY2U9bWFrZSgnZGl2JywnR09BTCDigJQgJytnb2FsTm90aWNlLnRlYW0sJ2ZiLW1kLWdvYWwtbm90aWNlJyk7bm90aWNlLnNldEF0dHJpYnV0ZSgncm9sZScsJ3N0YXR1cycpO2hlcm8uYXBwZW5kKG5vdGljZSk7fQpjb25zdCBsaXZlPVsnMUgnLCcySCcsJ0hUJywnRVQnLCdCVCcsJ1AnLCdMSVZFJ10uaW5jbHVkZXMoZi5zdGF0dXMpO2NvbnN0IHRvcD1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtdG9wJyk7dG9wLmFwcGVuZChtYWtlKCdiJyxsaXZlPyfil48gTElWRSc6J+KXjyBNQVRDSERBWScsbGl2ZT8nZmItbWQtbGl2ZSc6JycpLG1ha2UoJ3NwYW4nLGYuc3RhdHVzPT09J05TJz8nS2ljay1vZmYgJyt0aW1lKGYua2lja29mZik6KGYuc3RhdHVzPT09J1BFTic/J0Z1bGwgdGltZSDCtyBwZW5hbHRpZXMnOmYuc3RhdHVzKSsoZi5zdGF0dXMhPT0nUEVOJyYmZi5lbGFwc2VkPycgwrcgJytmLmVsYXBzZWQrJ+KAsic6JycpKSk7Y29uc3Qgc2NvcmU9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLXNjb3JlJyk7c2NvcmUuYXBwZW5kKHRlYW0oZiwnaG9tZScpLG1ha2UoJ3N0cm9uZycsZi5ob21lX2dvYWxzPT09bnVsbHx8Zi5ob21lX2dvYWxzPT09dW5kZWZpbmVkPyd2JzpmLmhvbWVfZ29hbHMrJ+KAkycrZi5hd2F5X2dvYWxzKSx0ZWFtKGYsJ2F3YXknKSk7aGVyby5hcHBlbmQodG9wLHNjb3JlLG1ha2UoJ3NtYWxsJywodmFsdWUudmVudWV8fChmLmhvbWUuaWQ9PT1jLnRlYW0/J0hvbWUgZ3JvdW5kJzonVmVudWUgYXdhaXRpbmcgY29uZmlybWF0aW9uJykpKyh2YWx1ZS5zdGF0dXM9PT0nc3RhbGUnPycgwrcgRGF0YSBkZWxheWVkJzonJykpKTtoZXJvLmFwcGVuZCh3aW5kb3cuZmJQZW5hbHR5UmVzdWx0cy5iYW5uZXIoZikpO2NvbnN0IGhpZ2hsaWdodHNWaWRlbz1maXh0dXJlSGlnaGxpZ2h0KCk7aWYoaGlnaGxpZ2h0c1ZpZGVvJiZzaG93bkhpZ2hsaWdodCE9PWhpZ2hsaWdodHNWaWRlby5pZCl7c2hvd25IaWdobGlnaHQ9aGlnaGxpZ2h0c1ZpZGVvLmlkO31ub2RlLmFwcGVuZChoZXJvKTtpZihoaWdobGlnaHRzVmlkZW8mJmFjdGl2ZVRhYj09PSdIaWdobGlnaHRzJyl7bm9kZS5jbGFzc0xpc3QuYWRkKCdmYi1tZC1oYXMtaGlnaGxpZ2h0cycpO25vZGUuYXBwZW5kKGhpZ2hsaWdodFBhbmVsKGhpZ2hsaWdodHNWaWRlbykpO31lbHNlIG5vZGUuY2xhc3NMaXN0LnJlbW92ZSgnZmItbWQtaGFzLWhpZ2hsaWdodHMnKTsKY29uc3QgdGFicz1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtdGFicycpO3RhYnMuc2V0QXR0cmlidXRlKCdyb2xlJywndGFibGlzdCcpO3RhYnMuc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywnTWF0Y2hkYXkgaW5mb3JtYXRpb24nKTthdmFpbGFibGVUYWJzLmZvckVhY2gobmFtZT0+e2NvbnN0IGI9bWFrZSgnYnV0dG9uJyxuYW1lPT09J0xpbmV1cHMnJiZ2YWx1ZS5saW5ldXBzLnN0YXR1cz09PSdhdmFpbGFibGUnPydMaW5ldXBzIGluJzpuYW1lKTtiLnR5cGU9J2J1dHRvbic7Yi5zZXRBdHRyaWJ1dGUoJ3JvbGUnLCd0YWInKTtiLnNldEF0dHJpYnV0ZSgnYXJpYS1zZWxlY3RlZCcsU3RyaW5nKGFjdGl2ZVRhYj09PW5hbWUpKTtiLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywoKT0+e21hbnVhbFRhYj10cnVlO2FjdGl2ZVRhYj1uYW1lO3JlbmRlcigpO30pO3RhYnMuYXBwZW5kKGIpO30pO2lmKGF2YWlsYWJsZVRhYnMubGVuZ3RoPjEpbm9kZS5hcHBlbmQodGFicyk7Y29uc3QgYm9keT1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtY29udGVudCcpO2JvZHkuc2V0QXR0cmlidXRlKCdyb2xlJywndGFicGFuZWwnKTsKaWYoYWN0aXZlVGFiPT09J0xpdmUnKXtib2R5LmFwcGVuZChtYWtlKCdiJyx2YWx1ZS5saW5ldXBzLnN0YXR1cz09PSdhdmFpbGFibGUnPydUZWFtIHNoZWV0cyBhcmUgaW4nOidBd2FpdGluZyBjb25maXJtZWQgdGVhbSBzaGVldHMnKSk7aWYodmFsdWUuZXZlbnRzPy5sZW5ndGgpe3ZhbHVlLmV2ZW50cy5zbGljZSgpLnJldmVyc2UoKS5mb3JFYWNoKGU9PmJvZHkuYXBwZW5kKG1ha2UoJ3AnLGUubWludXRlKyfigLIgJytlLmRldGFpbCsnIMK3ICcrZS5wbGF5ZXIpKSk7fWVsc2UgYm9keS5hcHBlbmQobWFrZSgncCcsbGl2ZT8nTWF0Y2ggaW4gcHJvZ3Jlc3MuIE5vIGdvYWxzLCBjYXJkcyBvciBzdWJzdGl0dXRpb25zIGhhdmUgYmVlbiBzdXBwbGllZCB5ZXQuJzonTWF0Y2ggZXZlbnRzIHdpbGwgYXBwZWFyIGhlcmUgd2hlbiBzdXBwbGllZC4nKSk7Ym9keS5hcHBlbmQobGluaygnQXdheS1mYW4gdXBkYXRlcyBhbmQgam91cm5leSBtYXAg4oaXJyxjLmF3YXlkYXlzKSk7fQppZihhY3RpdmVUYWI9PT0nTWF0Y2gnJiYhd2luZG93LmZiTWF0Y2hkYXlTZWN0aW9ucy5oYXNTdGF0cyh2YWx1ZSkmJiF2YWx1ZS5ldmVudHM/Lmxlbmd0aCl7d2FpdGluZyhib2R5LCdMaXZlIHN0YXRpc3RpY3MgYW5kIG1hdGNoIHVwZGF0ZXMgd2lsbCBhcHBlYXIgd2hlbiBzdXBwbGllZC4nKTt9CmlmKGFjdGl2ZVRhYj09PSdNYXRjaCcmJih3aW5kb3cuZmJNYXRjaGRheVNlY3Rpb25zLmhhc1N0YXRzKHZhbHVlKXx8dmFsdWUuZXZlbnRzPy5sZW5ndGgpKXsKIGJvZHkuY2xhc3NMaXN0LmFkZCgnZmItbWQtbWF0Y2gnKTtjb25zdCBzdGF0cz12YWx1ZS5zdGF0aXN0aWNzLHRlYW1zPXN0YXRzPy50ZWFtc3x8W10saG9tZT10ZWFtcy5maW5kKHQ9PnQudGVhbV9pZD09PWYuaG9tZS5pZCksYXdheT10ZWFtcy5maW5kKHQ9PnQudGVhbV9pZD09PWYuYXdheS5pZCksc3RhdD0odCxrKT0+dD8udmFsdWVzPy5maW5kKHY9PnYudHlwZT09PWspPy52YWx1ZTsKIGlmKHdpbmRvdy5mYk1hdGNoZGF5U2VjdGlvbnMuaGFzU3RhdHModmFsdWUpKWJvZHkuYXBwZW5kKG1ha2UoJ2InLCdNYXRjaCBzdGF0aXN0aWNzJykpO2NvbnN0IGhlYWRlcj1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtc3RhdC1yb3cnKTtoZWFkZXIuYXBwZW5kKG1ha2UoJ2InLGYuaG9tZS5uYW1lKSxtYWtlKCdzbWFsbCcsJycpLG1ha2UoJ2InLGYuYXdheS5uYW1lKSk7aWYod2luZG93LmZiTWF0Y2hkYXlTZWN0aW9ucy5oYXNTdGF0cyh2YWx1ZSkpYm9keS5hcHBlbmQoaGVhZGVyKTsKIGlmKHRlYW1zLmxlbmd0aCl7W1snQmFsbCBQb3NzZXNzaW9uJywnUG9zc2Vzc2lvbiddLFsnVG90YWwgU2hvdHMnLCdTaG90cyddLFsnU2hvdHMgb24gR29hbCcsJ09uIHRhcmdldCddLFsnQ29ybmVyIEtpY2tzJywnQ29ybmVycyddLFsnRm91bHMnLCdGb3VscyddLFsnT2Zmc2lkZXMnLCdPZmZzaWRlcyddLFsnWWVsbG93IENhcmRzJywnWWVsbG93IGNhcmRzJ10sWydSZWQgQ2FyZHMnLCdSZWQgY2FyZHMnXSxbJ0dvYWxrZWVwZXIgU2F2ZXMnLCdTYXZlcyddXS5mb3JFYWNoKChba2V5LGxhYmVsXSk9Pntjb25zdCBoPXN0YXQoaG9tZSxrZXkpLGE9c3RhdChhd2F5LGtleSk7aWYoaD09bnVsbCYmYT09bnVsbClyZXR1cm47Y29uc3Qgcm93PW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1zdGF0LXJvdycpO3Jvdy5hcHBlbmQobWFrZSgnYicsaD8/J+KAlCcpLG1ha2UoJ3NwYW4nLGxhYmVsKSxtYWtlKCdiJyxhPz8n4oCUJykpO2JvZHkuYXBwZW5kKHJvdyk7aWYoa2V5PT09J0JhbGwgUG9zc2Vzc2lvbicpe2NvbnN0IGhuPXBhcnNlRmxvYXQoaCksYW49cGFyc2VGbG9hdChhKTtpZihOdW1iZXIuaXNGaW5pdGUoaG4pJiZOdW1iZXIuaXNGaW5pdGUoYW4pJiZobj49MCYmYW4+PTAmJmhuK2FuPjApe2NvbnN0IGJhcj1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtcG9zc2Vzc2lvbicpO2Jhci5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLGYuaG9tZS5uYW1lKycgJytoKycsICcrZi5hd2F5Lm5hbWUrJyAnK2EpO2NvbnN0IGxlZnQ9bWFrZSgnc3BhbicpO2xlZnQuc3R5bGUud2lkdGg9KDEwMCpobi8oaG4rYW4pKSsnJSc7YmFyLmFwcGVuZChsZWZ0KTtib2R5LmFwcGVuZChiYXIpO319fSk7fQogY29uc3QgbWF0Y2hTdGF0cz1tYWtlKCdzZWN0aW9uJyx1bmRlZmluZWQsJ2ZiLW1kLW1hdGNoLXN0YXRzJyk7d2hpbGUoYm9keS5maXJzdENoaWxkKW1hdGNoU3RhdHMuYXBwZW5kKGJvZHkuZmlyc3RDaGlsZCk7aWYobWF0Y2hTdGF0cy5jaGlsZE5vZGVzLmxlbmd0aClib2R5LmFwcGVuZChtYXRjaFN0YXRzKTtjb25zdCB1cGRhdGVzPW1ha2UoJ3NlY3Rpb24nLHVuZGVmaW5lZCwnZmItbWQtbWF0Y2gtdXBkYXRlcycpOwogdXBkYXRlcy5hcHBlbmQobWFrZSgnYicsWydGVCcsJ0FFVCcsJ1BFTiddLmluY2x1ZGVzKGYuc3RhdHVzKT8nTWF0Y2ggdXBkYXRlcyDCtyBGdWxsIHRpbWUnOidMaXZlIG1hdGNoIHVwZGF0ZXMnLCdmYi1tZC1ldmVudHMtaGVhZGluZycpKTsgY29uc3QgZXZlbnRzPXZhbHVlLmV2ZW50c3x8W107ZXZlbnRzLnNsaWNlKCkucmV2ZXJzZSgpLmZvckVhY2goZT0+e2NvbnN0IHJvdz1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtZXZlbnQnKSxtaW51dGU9bWFrZSgnYicsd2luZG93LmZiUGVuYWx0eVJlc3VsdHMuZXZlbnRzKHZhbHVlKS5oYXMoZSk/J1BlbnMnOihlLm1pbnV0ZT8/J+KAlCcpKyhlLmV4dHJhPycrJytlLmV4dHJhOicnKSsn4oCyJyksdGV4dD1tYWtlKCdkaXYnKSx0ZWFtTmFtZT1lLnRlYW1faWQ9PT1mLmhvbWUuaWQ/Zi5ob21lLm5hbWU6ZS50ZWFtX2lkPT09Zi5hd2F5LmlkP2YuYXdheS5uYW1lOicnO2xldCB0aXRsZT1lLmRldGFpbHx8ZS50eXBlO2lmKGUudHlwZT09PSdzdWJzdCcpe3RpdGxlPSdTdWJzdGl0dXRpb24nO3RleHQuYXBwZW5kKG1ha2UoJ3N0cm9uZycsJ+KHhCBTdWJzdGl0dXRpb24nLCdmYi1tZC1hY3Rpb24nKSxtYWtlKCdiJywn4oaRICcrKGUuYXNzaXN0fHwnUGxheWVyIGF3YWl0aW5nIGNvbmZpcm1hdGlvbicpKSxtYWtlKCdzbWFsbCcsJ+KGkyAnKyhlLnBsYXllcnx8J1BsYXllciBhd2FpdGluZyBjb25maXJtYXRpb24nKSkpO31lbHNle2NvbnN0IGFjdGlvbj13aW5kb3cuZmJQZW5hbHR5UmVzdWx0cy5ldmVudHModmFsdWUpLmhhcyhlKT8oZS5kZXRhaWw9PT0nTWlzc2VkIFBlbmFsdHknPyfinJUgU2hvb3RvdXQgbWlzc2VkJzon4pyTIFNob290b3V0IHNjb3JlZCcpOmUuZGV0YWlsPT09J01pc3NlZCBQZW5hbHR5Jz8n4pyVIFBlbmFsdHkgbWlzc2VkJzplLnR5cGU9PT0nR29hbCc/J+KavSAnKyhlLmRldGFpbD09PSdPd24gR29hbCc/J093biBnb2FsJzplLmRldGFpbD09PSdQZW5hbHR5Jz8nUGVuYWx0eSBnb2FsJzonR29hbCcpOmUudHlwZT09PSdDYXJkJz8oL3JlZC9pLnRlc3QoZS5kZXRhaWwpPyfwn5+lIFJlZCBjYXJkJzon8J+fqCBZZWxsb3cgY2FyZCcpOmUudHlwZT09PSdWYXInPyfilqMgVkFSIMK3ICcrdGl0bGU6dGl0bGU7dGV4dC5hcHBlbmQobWFrZSgnYicsYWN0aW9uKycgwrcgJysoZS5wbGF5ZXJ8fCdQbGF5ZXIgYXdhaXRpbmcgY29uZmlybWF0aW9uJykpKTtpZihlLnR5cGU9PT0nR29hbCcmJmUuYXNzaXN0KXRleHQuYXBwZW5kKG1ha2UoJ3NtYWxsJywnQXNzaXN0OiAnK2UuYXNzaXN0KSk7fWNvbnN0IGNyZXN0PW1ha2UoJ2ltZycsdW5kZWZpbmVkLCdmYi1tZC1ldmVudC1jcmVzdCcpO2lmKGUudGVhbV9pZD09PWYuaG9tZS5pZHx8ZS50ZWFtX2lkPT09Zi5hd2F5LmlkKXtjcmVzdC5zcmM9J2h0dHBzOi8vbWVkaWEuYXBpLXNwb3J0cy5pby9mb290YmFsbC90ZWFtcy8nK051bWJlcihlLnRlYW1faWQpKycucG5nJztjcmVzdC5hbHQ9dGVhbU5hbWU7Y3Jlc3QudGl0bGU9dGVhbU5hbWU7Y3Jlc3Qud2lkdGg9MjA7Y3Jlc3QuaGVpZ2h0PTIyO31yb3cuYXBwZW5kKG1pbnV0ZSx0ZXh0LGNyZXN0KTt1cGRhdGVzLmFwcGVuZChyb3cpO30pO2lmKGV2ZW50cy5sZW5ndGgpYm9keS5hcHBlbmQodXBkYXRlcyk7aWYoIWV2ZW50cy5sZW5ndGh8fCF3aW5kb3cuZmJNYXRjaGRheVNlY3Rpb25zLmhhc1N0YXRzKHZhbHVlKSlib2R5LnN0eWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnM9JzFmcic7Cn0KaWYoYWN0aXZlVGFiPT09J0xpbmV1cHMnKXtib2R5LmNsYXNzTGlzdC5hZGQoJ2ZiLW1kLWxpbmV1cHMnKTtpZih3aW5kb3cuZmJNYXRjaGRheVNlY3Rpb25zLmNvbmZpcm1lZCh2YWx1ZSkpe2NvbnN0IGNvbHVtbnM9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLWNvbHVtbnMnKTt2YWx1ZS5saW5ldXBzLnRlYW1zLmZvckVhY2gob3JpZ2luYWw9Pntjb25zdCB0PWN1cnJlbnRMaW5ldXAob3JpZ2luYWwsdmFsdWUuZXZlbnRzfHxbXSk7Y29uc3QgY29sPW1ha2UoJ3NlY3Rpb24nLHVuZGVmaW5lZCwnZmItbWQtZm9ybWF0aW9uJyk7Y29sLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbCcsdC50ZWFtX2lkPT09Zi5ob21lLmlkP2YuaG9tZS5uYW1lOmYuYXdheS5uYW1lKTtjb2wuYXBwZW5kKG1ha2UoJ3NtYWxsJyx0LmZvcm1hdGlvbnx8J0Zvcm1hdGlvbiBhd2FpdGluZyBjb25maXJtYXRpb24nKSk7Y29uc3QgdmFsaWQ9dC5zdGFydGluZy5sZW5ndGg9PT0xMSYmdC5zdGFydGluZy5ldmVyeShwPT4vXlsxLTddOlsxLTZdJC8udGVzdChwLmdyaWQpKTtpZih2YWxpZCl7Y29uc3QgcGl0Y2g9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLXBpdGNoJyk7cGl0Y2guc2V0QXR0cmlidXRlKCdhcmlhLWxhYmVsJywnQ3VycmVudCBwbGF5ZXJzIG9uIHBpdGNoIMK3ICcrdC5mb3JtYXRpb24pO2NvbnN0IGxpbmVzPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1waXRjaC1saW5lcycpO2xpbmVzLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCd0cnVlJyk7bGluZXMuYXBwZW5kKG1ha2UoJ2knLHVuZGVmaW5lZCwnZmItbWQtYm94LXRvcCcpLG1ha2UoJ2knLHVuZGVmaW5lZCwnZmItbWQtYm94LWJvdHRvbScpKTtwaXRjaC5hcHBlbmQobGluZXMpO2NvbnN0IGdyb3Vwcz1uZXcgTWFwKCk7dC5zdGFydGluZy5mb3JFYWNoKHA9Pntjb25zdCBbcix4XT1wLmdyaWQuc3BsaXQoJzonKS5tYXAoTnVtYmVyKTtpZighZ3JvdXBzLmhhcyhyKSlncm91cHMuc2V0KHIsW10pO2dyb3Vwcy5nZXQocikucHVzaCh7Li4ucCxjb2x1bW46eH0pO30pO1suLi5ncm91cHMua2V5cygpXS5zb3J0KChhLGIpPT5hLWIpLmZvckVhY2gocj0+e2NvbnN0IHJvdz1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtcGl0Y2gtcm93Jyk7Z3JvdXBzLmdldChyKS5zb3J0KChhLGIpPT5hLmNvbHVtbi1iLmNvbHVtbikuZm9yRWFjaChwPT57Y29uc3QgcGxheWVyPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1waXRjaC1wbGF5ZXInKTtjb25zdCBwb3J0cmFpdD1wbGF5ZXJQb3J0cmFpdChwLHQudGVhbV9pZCk7aWYocG9ydHJhaXQpe3BsYXllci5jbGFzc0xpc3QuYWRkKCdmYi1tZC1wbGF5ZXItcGhvdG8nKTtwbGF5ZXIuYXBwZW5kKHBvcnRyYWl0KTtwb3J0cmFpdC5vbmVycm9yPSgpPT57cG9ydHJhaXQucmVtb3ZlKCk7cGxheWVyLmNsYXNzTGlzdC5yZW1vdmUoJ2ZiLW1kLXBsYXllci1waG90bycpO307fWNvbnN0IG51bWJlcj1tYWtlKCdiJyxwLm51bWJlcj8/J+KAkycsJ2ZiLW1kLXBsYXllci1udW1iZXInKTtwbGF5ZXIuYXBwZW5kKG51bWJlcixtYWtlKCdzcGFuJyxwLm5hbWUpKTtjb25zdCBhcnJvdz1zdWJBcnJvdyhwKTtpZihhcnJvdylwbGF5ZXIuYXBwZW5kKGFycm93KTtyb3cuYXBwZW5kKHBsYXllcik7fSk7cGl0Y2guYXBwZW5kKHJvdyk7fSk7Y29sLmFwcGVuZChwaXRjaCk7fWVsc2V7aWYodC5zdGFydGluZy5sZW5ndGghPT0xMSljb2wuYXBwZW5kKG1ha2UoJ3AnLCdTdGFydGluZyBYSSBpbmNvbXBsZXRlJykpO3Quc3RhcnRpbmcuZm9yRWFjaChwPT5jb2wuYXBwZW5kKG1ha2UoJ2RpdicsKHAubnVtYmVyPz8n4oCTJykrJyAnK3AubmFtZSkpKTt9Y29uc3QgdG9nZ2xlPW1ha2UoJ2J1dHRvbicsYmVuY2hUZWFtcy5oYXModC50ZWFtX2lkKT8nQmFjayB0byBwaXRjaCc6J1N1YnN0aXR1dGVzIGJlbmNoICgnK3Quc3Vic3RpdHV0ZXMubGVuZ3RoKycpJywnZmItbWQtYmVuY2gtdG9nZ2xlJyk7dG9nZ2xlLnR5cGU9J2J1dHRvbic7dG9nZ2xlLnNldEF0dHJpYnV0ZSgnYXJpYS1wcmVzc2VkJyxTdHJpbmcoYmVuY2hUZWFtcy5oYXModC50ZWFtX2lkKSkpO3RvZ2dsZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsKCk9PntpZihiZW5jaFRlYW1zLmhhcyh0LnRlYW1faWQpKWJlbmNoVGVhbXMuZGVsZXRlKHQudGVhbV9pZCk7ZWxzZSBiZW5jaFRlYW1zLmFkZCh0LnRlYW1faWQpO3JlbmRlcigpO30pO2lmKGJlbmNoVGVhbXMuaGFzKHQudGVhbV9pZCkpe2NvbnN0IGJlbmNoPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1kdWdvdXQnKTtiZW5jaC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdTdWJzdGl0dXRlcycpO2NvbnN0IHJvb2Y9bWFrZSgnZGl2JywnU1VCU1RJVFVURVMnLCdmYi1tZC1kdWdvdXQtcm9vZicpO2JlbmNoLmFwcGVuZChyb29mKTtjb25zdCBncmlkPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1iZW5jaC1ncmlkJyk7dC5zdWJzdGl0dXRlcy5mb3JFYWNoKHA9Pntjb25zdCBjZWxsPW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1iZW5jaC1wbGF5ZXInKSxwb3J0cmFpdD1wbGF5ZXJQb3J0cmFpdChwLHQudGVhbV9pZCk7aWYocG9ydHJhaXQpY2VsbC5hcHBlbmQocG9ydHJhaXQpO2Vsc2UgY2VsbC5hcHBlbmQobWFrZSgnc3BhbicsJ+KAoicsJ2ZiLW1kLWJlbmNoLXBsYWNlaG9sZGVyJykpO2NlbGwuYXBwZW5kKG1ha2UoJ2InLHAubmFtZSkpO2NvbnN0IGFycm93PXN1YkFycm93KHApO2lmKGFycm93KWNlbGwuYXBwZW5kKGFycm93KTtncmlkLmFwcGVuZChjZWxsKTt9KTtiZW5jaC5hcHBlbmQoZ3JpZCk7Y29sLnJlcGxhY2VDaGlsZHJlbihtYWtlKCdzbWFsbCcsdC5mb3JtYXRpb258fCdGb3JtYXRpb24gYXdhaXRpbmcgY29uZmlybWF0aW9uJyksYmVuY2gpO31jb2wuYXBwZW5kKHRvZ2dsZSk7Y29sdW1ucy5hcHBlbmQoY29sKTt9KTtib2R5LmFwcGVuZChjb2x1bW5zKTt9ZWxzZSB3YWl0aW5nKGJvZHksJ1RlYW0gc2hlZXRzIHdpbGwgYXBwZWFyIHdoZW4gY29uZmlybWVkLicpO30KaWYoYWN0aXZlVGFiPT09J0gySCcpewogY29uc3QgbWF0Y2hlcz13aW5kb3cuZmJNYXRjaGRheVNlY3Rpb25zLm1lZXRpbmdzKHZhbHVlLGMuaDJoTGVhZ3VlT25seSk7Ym9keS5jbGFzc0xpc3QuYWRkKCdmYi1tZC1oMmgnKTtib2R5LmFwcGVuZChtYWtlKCdiJywodmFsdWUuaGVhZF90b19oZWFkLnNjb3BlPT09J2xhc3RfMTBfeWVhcnMnPydMYXN0IDEwIHllYXJzJzp2YWx1ZS5oZWFkX3RvX2hlYWQuc2NvcGU9PT0ncHJvdmlkZXJfYXJjaGl2ZSc/J0F2YWlsYWJsZSBoZWFkLXRvLWhlYWQgcmVjb3JkJzonTGFzdCAnK21hdGNoZXMubGVuZ3RoKycgbWVldGluZ3MnKSsoYy5oMmhMZWFndWVPbmx5PycgwrcgbGVhZ3VlIG9ubHknOicgwrcgYWxsIGNvbXBldGl0aW9ucycpKSk7aWYobWF0Y2hlcy5sZW5ndGgpYm9keS5hcHBlbmQobWFrZSgnc21hbGwnLG1hdGNoZXMubGVuZ3RoKycgbWF0Y2hlcyDCtyAnK01hdGgubWluKC4uLm1hdGNoZXMubWFwKG09Pm5ldyBEYXRlKG0uZGF0ZSkuZ2V0RnVsbFllYXIoKSkpKyfigJMnK01hdGgubWF4KC4uLm1hdGNoZXMubWFwKG09Pm5ldyBEYXRlKG0uZGF0ZSkuZ2V0RnVsbFllYXIoKSkpKyh2YWx1ZS5oZWFkX3RvX2hlYWQuc2NvcGU9PT0ncHJvdmlkZXJfYXJjaGl2ZSc/JyDCtyBDb21wbGV0ZSBhbGwtdGltZSBjb3ZlcmFnZSB1bnZlcmlmaWVkJzonJykpKTsKIGlmKG1hdGNoZXMubGVuZ3RoKXtsZXQgaG9tZVdpbnM9MCxhd2F5V2lucz0wLGRyYXdzPTAsaG9tZUdvYWxzPTAsYXdheUdvYWxzPTAsYnR0cz0wLG92ZXI9MCxvdmVyMT0wLG92ZXIzPTAsaG9tZUNsZWFuPTAsYXdheUNsZWFuPTA7bWF0Y2hlcy5mb3JFYWNoKG09Pntjb25zdCBpc0hvbWU9bS5ob21lX2lkIT1udWxsP051bWJlcihtLmhvbWVfaWQpPT09TnVtYmVyKGYuaG9tZS5pZCk6bS5ob21lPT09Zi5ob21lLm5hbWUsaD1pc0hvbWU/bS5ob21lX2dvYWxzOm0uYXdheV9nb2FscyxhPWlzSG9tZT9tLmF3YXlfZ29hbHM6bS5ob21lX2dvYWxzO2hvbWVHb2Fscys9aDthd2F5R29hbHMrPWE7aWYoaD5hKWhvbWVXaW5zKys7ZWxzZSBpZihhPmgpYXdheVdpbnMrKztlbHNlIGRyYXdzKys7aWYoaD4wJiZhPjApYnR0cysrO2lmKGgrYT4yKW92ZXIrKztpZihoK2E+MSlvdmVyMSsrO2lmKGgrYT4zKW92ZXIzKys7aWYoYT09PTApaG9tZUNsZWFuKys7aWYoaD09PTApYXdheUNsZWFuKys7fSk7CiBjb25zdCBzdW1tYXJ5PW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1oMmgtc3VtbWFyeScpO1tbZi5ob21lLGhvbWVXaW5zLCd3aW5zJ10sW251bGwsZHJhd3MsJ2RyYXdzJ10sW2YuYXdheSxhd2F5V2lucywnd2lucyddXS5mb3JFYWNoKChbdCxuLGxhYmVsXSk9Pntjb25zdCBjZWxsPW1ha2UoJ2RpdicpO2lmKHQpe2NvbnN0IGNyZXN0PW1ha2UoJ2ltZycpO2NyZXN0LnNyYz0naHR0cHM6Ly9tZWRpYS5hcGktc3BvcnRzLmlvL2Zvb3RiYWxsL3RlYW1zLycrdC5pZCsnLnBuZyc7Y3Jlc3QuYWx0PScnO2NlbGwuYXBwZW5kKGNyZXN0KTt9Y2VsbC5hcHBlbmQobWFrZSgnc3Ryb25nJyxuKSxtYWtlKCdzbWFsbCcsdD90Lm5hbWUrJyAnK2xhYmVsOidEcmF3cycpKTtzdW1tYXJ5LmFwcGVuZChjZWxsKTt9KTtib2R5LmFwcGVuZChzdW1tYXJ5KTsKIGNvbnN0IGJhcj1tYWtlKCdkaXYnLHVuZGVmaW5lZCwnZmItbWQtaDJoLWJhcicpO1tbaG9tZVdpbnMsJyMxMjY2YTUnXSxbZHJhd3MsJyNhMWIwYmYnXSxbYXdheVdpbnMsJyMxNzJlNDUnXV0uZm9yRWFjaCgoW24sY29sXSk9Pntjb25zdCBwYXJ0PW1ha2UoJ3NwYW4nKTtwYXJ0LnN0eWxlLndpZHRoPSgxMDAqbi9tYXRjaGVzLmxlbmd0aCkrJyUnO3BhcnQuc3R5bGUuYmFja2dyb3VuZD1jb2w7YmFyLmFwcGVuZChwYXJ0KTt9KTtib2R5LmFwcGVuZChiYXIpOwogY29uc3Qgc3RhdHM9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLWgyaC1zdGF0cycpO1tbJ092ZXIgMS41IGdvYWxzJyxNYXRoLnJvdW5kKDEwMCpvdmVyMS9tYXRjaGVzLmxlbmd0aCkrJyUnXSxbJ092ZXIgMi41IGdvYWxzJyxNYXRoLnJvdW5kKDEwMCpvdmVyL21hdGNoZXMubGVuZ3RoKSsnJSddLFsnT3ZlciAzLjUgZ29hbHMnLE1hdGgucm91bmQoMTAwKm92ZXIzL21hdGNoZXMubGVuZ3RoKSsnJSddLFsnQm90aCBzY29yZWQnLE1hdGgucm91bmQoMTAwKmJ0dHMvbWF0Y2hlcy5sZW5ndGgpKyclJ10sW2YuaG9tZS5uYW1lKycgY2xlYW4gc2hlZXRzJyxNYXRoLnJvdW5kKDEwMCpob21lQ2xlYW4vbWF0Y2hlcy5sZW5ndGgpKyclJ10sW2YuYXdheS5uYW1lKycgY2xlYW4gc2hlZXRzJyxNYXRoLnJvdW5kKDEwMCphd2F5Q2xlYW4vbWF0Y2hlcy5sZW5ndGgpKyclJ11dLmZvckVhY2goKFtsYWJlbCx2YWxdKT0+e2NvbnN0IGNlbGw9bWFrZSgnZGl2Jyk7Y2VsbC5hcHBlbmQobWFrZSgnYicsdmFsKSxtYWtlKCdzbWFsbCcsbGFiZWwpKTtzdGF0cy5hcHBlbmQoY2VsbCk7fSk7Ym9keS5hcHBlbmQoc3RhdHMsbWFrZSgnc21hbGwnLCdHb2FsczogJytmLmhvbWUubmFtZSsnICcraG9tZUdvYWxzKycgwrcgJytmLmF3YXkubmFtZSsnICcrYXdheUdvYWxzKycgwrcgJysoKGhvbWVHb2Fscythd2F5R29hbHMpL21hdGNoZXMubGVuZ3RoKS50b0ZpeGVkKDEpKycgcGVyIGdhbWUnKSk7CiBjb25zdCBoaXN0b3J5PW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1oMmgtaGlzdG9yeScpO21hdGNoZXMuc2xpY2UoMCw1KS5mb3JFYWNoKG09Pntjb25zdCByb3c9bWFrZSgnZGl2Jyx1bmRlZmluZWQsJ2ZiLW1kLWgyaC1yb3cnKSxkYXRlPW1ha2UoJ3NtYWxsJyxuZXcgRGF0ZShtLmRhdGUpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tR0InLHtkYXk6J251bWVyaWMnLG1vbnRoOidzaG9ydCcseWVhcjonMi1kaWdpdCcsdGltZVpvbmU6J0V1cm9wZS9Mb25kb24nfSkpLGg9bWFrZSgnc3BhbicsbS5ob21lKSxzY29yZT1tYWtlKCdiJyxtLmhvbWVfZ29hbHMrJ+KAkycrbS5hd2F5X2dvYWxzKSxhPW1ha2UoJ3NwYW4nLG0uYXdheSk7aWYobS5ob21lX2dvYWxzPm0uYXdheV9nb2FscyloLmNsYXNzTGlzdC5hZGQoJ2ZiLW1kLWgyaC13aW5uZXInKTtpZihtLmF3YXlfZ29hbHM+bS5ob21lX2dvYWxzKWEuY2xhc3NMaXN0LmFkZCgnZmItbWQtaDJoLXdpbm5lcicpO3Jvdy5hcHBlbmQoZGF0ZSxoLHNjb3JlLGEpO3Jvdy50aXRsZT1tLmNvbXBldGl0aW9uO2hpc3RvcnkuYXBwZW5kKHJvdyk7fSk7Ym9keS5hcHBlbmQoaGlzdG9yeSxtYWtlKCdzbWFsbCcsJ0ZpZ3VyZXMgY2FsY3VsYXRlZCBmcm9tIHRoZSAnK21hdGNoZXMubGVuZ3RoKycgYXZhaWxhYmxlIG1lZXRpbmdzLiAnK1suLi5uZXcgU2V0KG1hdGNoZXMubWFwKG09Pm0uY29tcGV0aXRpb24pKV0uam9pbignIMK3ICcpKSk7fQogZWxzZSBib2R5LmFwcGVuZChtYWtlKCdwJyx2YWx1ZS5oZWFkX3RvX2hlYWQuc3RhdHVzPT09J2F2YWlsYWJsZSc/J05vIHJlY29yZGVkIG1lZXRpbmdzIGluIHRoZSBkYXRhIHByb3ZpZGVy4oCZcyAnKyh2YWx1ZS5oZWFkX3RvX2hlYWQuc2NvcGU9PT0nbGFzdF8xMF95ZWFycyc/J2xhc3QgMTAgeWVhcnMnOidhdmFpbGFibGUgYXJjaGl2ZScpKycuIFRoaXMgZG9lcyBub3QgY29uZmlybSB0aGUgY2x1YnMgaGF2ZSBuZXZlciBtZXQuJzp2YWx1ZS5oZWFkX3RvX2hlYWQuc3RhdHVzPT09J3BlbmRpbmcnfHx2YWx1ZS5zdGF0dXM9PT0nc3VtbWFyeSc/J0xvYWRpbmcgaGVhZC10by1oZWFkIHJlY29yZOKApic6dmFsdWUuaGVhZF90b19oZWFkLnJlYXNvbj09PSd1cGRhdGVzX3BhdXNlZCc/J0hlYWQtdG8taGVhZCB1cGRhdGVzIGFyZSBjdXJyZW50bHkgcGF1c2VkLic6dmFsdWUuaGVhZF90b19oZWFkLnJlYXNvbj09PSdxdW90YV9wcm90ZWN0aW9uJz8nSGVhZC10by1oZWFkIHJlZnJlc2ggaXMgcGF1c2VkIHRvIHByZXNlcnZlIHRoZSBkYXRhIGFsbG93YW5jZS4nOidIZWFkLXRvLWhlYWQgY291bGQgbm90IGJlIGxvYWRlZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4nKSk7Cn0KaWYoYWN0aXZlVGFiPT09J09kZHMnJiZbJ0ZUJywnQUVUJywnUEVOJywnQ0FOQycsJ0FCRCddLmluY2x1ZGVzKGYuc3RhdHVzKSl7Ym9keS5jbGFzc0xpc3QuYWRkKCdmYi1tZC1tYXJrZXQtY2xvc2VkJyk7Ym9keS5hcHBlbmQobWFrZSgnc3Ryb25nJywnQmV0dGluZyBtYXJrZXRzIGNsb3NlZCBmb3IgdGhpcyBmaXh0dXJlJykpO30KaWYoYWN0aXZlVGFiPT09J09kZHMnJiYhWydGVCcsJ0FFVCcsJ1BFTicsJ0NBTkMnLCdBQkQnXS5pbmNsdWRlcyhmLnN0YXR1cykpe2JvZHkuYXBwZW5kKG1ha2UoJ2InLCdGdWxsLXRpbWUgcmVzdWx0IMK3IHByZS1tYXRjaCBkZWNpbWFsIG9kZHMnKSk7aWYodmFsdWUub2Rkcy5ib29rbWFrZXJzLmxlbmd0aCYmIVsnRlQnLCdBRVQnLCdQRU4nLCdDQU5DJywnQUJEJ10uaW5jbHVkZXMoZi5zdGF0dXMpKXt2YWx1ZS5vZGRzLmJvb2ttYWtlcnMuZm9yRWFjaChib29rPT57Ym9keS5hcHBlbmQobWFrZSgncCcsYm9vay5uYW1lKSk7Y29uc3Qgcm93PW1ha2UoJ2RpdicsdW5kZWZpbmVkLCdmYi1tZC1vZGRzJyk7WydIb21lJywnRHJhdycsJ0F3YXknXS5mb3JFYWNoKG91dGNvbWU9Pntjb25zdCBwcmljZT1ib29rLnZhbHVlcy5maW5kKHY9PnYub3V0Y29tZT09PW91dGNvbWUpO3Jvdy5hcHBlbmQobWFrZSgnc3BhbicsKG91dGNvbWU9PT0nSG9tZSc/Zi5ob21lLm5hbWU6b3V0Y29tZT09PSdBd2F5Jz9mLmF3YXkubmFtZTonRHJhdycpKycgJysocHJpY2U/LmRlY2ltYWx8fCfigJQnKSkpO30pO2JvZHkuYXBwZW5kKHJvdyk7fSk7Ym9keS5hcHBlbmQobWFrZSgnc21hbGwnLChmLnN0YXR1cyE9PSdOUyc/J1ByZS1tYXRjaCBzbmFwc2hvdDsgbm90IGxpdmUgb2Rkcy4gJzonJykrJ1VwZGF0ZWQgJyt0aW1lKHZhbHVlLm9kZHMuY2hlY2tlZF9hdCkpKTt9ZWxzZSB3YWl0aW5nKGJvZHksJ1ByaWNlcyB3aWxsIGFwcGVhciB3aGVuIHN1cHBsaWVkLicpO2JvZHkuYXBwZW5kKG1ha2UoJ3NtYWxsJywnMTgrIMK3IE9kZHMgbWF5IGNoYW5nZSDCtyBTb3VyY2U6IEFQSS1Gb290YmFsbCcpKTt9CmlmKGFjdGl2ZVRhYj09PSdUcmF2ZWwnKXtib2R5LmNsYXNzTGlzdC5hZGQoJ2ZiLW1kLXRyYXZlbCcpO2JvZHkuYXBwZW5kKHdpbmRvdy5mYk1hdGNoZGF5VHJhdmVsLmNyZWF0ZShmKSk7fQppZihhY3RpdmVUYWImJighaGlnaGxpZ2h0c1ZpZGVvfHxhY3RpdmVUYWIhPT0nSGlnaGxpZ2h0cycpKW5vZGUuYXBwZW5kKGJvZHkpO25vZGUuYXBwZW5kKGNvbnNvbGVGb290ZXIoKSk7fQpmdW5jdGlvbiBtb3VudCgpe2lmKCFub2RlKXtjb25zdCBsZWFkPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mYi1jbHViLW5ld3M+LmZiLW5ld3MtY2FyZDpmaXJzdC1jaGlsZCcpO2lmKCFsZWFkKXJldHVybjtjb25zdCBvcmlnaW5hbD1sZWFkLnF1ZXJ5U2VsZWN0b3IoJzpzY29wZT5hJyk7aWYob3JpZ2luYWwpe2NvbnN0IG5ld3M9bGVhZC5wYXJlbnRFbGVtZW50LGNhcmQ9bWFrZSgnYXJ0aWNsZScsdW5kZWZpbmVkLCdmYi1uZXdzLWNhcmQnKTtjYXJkLmFwcGVuZChvcmlnaW5hbCk7bmV3cy5pbnNlcnRCZWZvcmUoY2FyZCxsZWFkLm5leHRTaWJsaW5nKTtjb25zdCBzaWRlcz1bLi4ubmV3cy5xdWVyeVNlbGVjdG9yQWxsKCc6c2NvcGU+LmZiLW5ld3MtY2FyZDpub3QoOmZpcnN0LWNoaWxkKScpXSxtb3JlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5mYi1jbHViLW1vcmUtbmV3cycpLHRhaWw9bnVsbDtsZXQgb3ZlcmZsb3c9bnVsbDtpZih0YWlsKXttb3JlLnByZXBlbmQodGFpbCk7aWYobW9yZS5jaGlsZHJlbi5sZW5ndGg+NCl7b3ZlcmZsb3c9bW9yZS5sYXN0RWxlbWVudENoaWxkO292ZXJmbG93LnJlbW92ZSgpO319ZGlzcGxhY2VkU3Rvcnk9e2xlYWQsYW5jaG9yOm9yaWdpbmFsLGNhcmQsdGFpbCxuZXdzLG1vcmUsb3ZlcmZsb3d9O31sZWFkLmNsYXNzTGlzdC5hZGQoJ2ZiLW1kLWxlYWQnKTtub2RlPW1ha2UoJ3NlY3Rpb24nLHVuZGVmaW5lZCwnZmItbWF0Y2hkYXktd2lkZ2V0Jyk7bm9kZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCdMaXZlIG1hdGNoZGF5IGNlbnRyZScpO2xlYWQuYXBwZW5kKG5vZGUpO319CmFzeW5jIGZ1bmN0aW9uIHJlZnJlc2goKXtpZihzY3JlZW49PT0nbGlzdCcpcmV0dXJuO2NvbnN0IHJlcXVlc3RlZD1zZWxlY3RlZEZpeHR1cmUuaWQ7dHJ5e2lmKChjLmhpZ2hsaWdodHNFbmRwb2ludHx8Yy5oaWdobGlnaHRzQmFzZSkmJkRhdGUubm93KCktbGFzdEhpZ2hsaWdodENoZWNrPj02MDAwMCl7bGFzdEhpZ2hsaWdodENoZWNrPURhdGUubm93KCk7dHJ5e2NvbnN0IGg9YXdhaXQgZmV0Y2goYy5oaWdobGlnaHRzQmFzZT9jLmhpZ2hsaWdodHNCYXNlK2MudGVhbTpjLmhpZ2hsaWdodHNFbmRwb2ludCx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pO2lmKGgub2spaGlnaGxpZ2h0cz1hd2FpdCBoLmpzb24oKTt9Y2F0Y2h7fX1pZihmaW5hbFNlZW5BdCYmRGF0ZS5ub3coKS1maW5hbFNlZW5BdD4zMDAwMDApe2lmKCFwbGF5aW5nSGlnaGxpZ2h0KXJlbmRlcigpO3JldHVybjt9Y29uc3QgZW5kcG9pbnQ9bmV3IFVSTChjLmVuZHBvaW50KTtlbmRwb2ludC5zZWFyY2hQYXJhbXMuc2V0KCdsZWFndWUnLFN0cmluZyhjLmxlYWd1ZSkpO2NvbnN0IHI9YXdhaXQgZmV0Y2goZW5kcG9pbnQse2NyZWRlbnRpYWxzOidzYW1lLW9yaWdpbid9KTtpZighci5vayl0aHJvdyBFcnJvcigpO2NvbnN0IG5leHQ9YXdhaXQgci5qc29uKCk7aWYoc2VsZWN0ZWRGaXh0dXJlLmlkIT09cmVxdWVzdGVkfHxOdW1iZXIobmV4dC5maXh0dXJlPy5pZCkhPT1OdW1iZXIocmVxdWVzdGVkKSlyZXR1cm47Y29uc3Qgc3VtbWFyeT1jLmZpeHR1cmVzLmZpbmQoZj0+Zi5pZD09PXJlcXVlc3RlZCk7aWYoc3VtbWFyeSlPYmplY3QuYXNzaWduKHN1bW1hcnksbmV4dC5maXh0dXJlKTtpZihbJ0ZUJywnQUVUJywnUEVOJ10uaW5jbHVkZXMobmV4dC5maXh0dXJlPy5zdGF0dXMpKXtpZighZmluYWxTZWVuQXQpZmluYWxTZWVuQXQ9RGF0ZS5ub3coKTt9ZWxzZSBmaW5hbFNlZW5BdD1udWxsO25leHQuYWN0aXZlPXRydWU7aWYodmFsdWU/LmZpeHR1cmU/LmlkPT09bmV4dC5maXh0dXJlPy5pZCYmdmFsdWUuc3RhdHVzPT09J2F2YWlsYWJsZScmJm5leHQuc3RhdHVzPT09J2F2YWlsYWJsZScpe2NvbnN0IG9sZD12YWx1ZS5maXh0dXJlLGZyZXNoPW5leHQuZml4dHVyZTtsZXQgc2NvcmluZz1udWxsO2lmKE51bWJlci5pc0ludGVnZXIob2xkLmhvbWVfZ29hbHMpJiZmcmVzaC5ob21lX2dvYWxzPm9sZC5ob21lX2dvYWxzKXNjb3Jpbmc9ZnJlc2guaG9tZS5uYW1lO2lmKE51bWJlci5pc0ludGVnZXIob2xkLmF3YXlfZ29hbHMpJiZmcmVzaC5hd2F5X2dvYWxzPm9sZC5hd2F5X2dvYWxzKXNjb3Jpbmc9ZnJlc2guYXdheS5uYW1lO2lmKHNjb3Jpbmcpe2dvYWxOb3RpY2U9e3RlYW06c2NvcmluZyx1bnRpbDpEYXRlLm5vdygpKzYwMDB9O3NldFRpbWVvdXQoKCk9Pntnb2FsTm90aWNlPW51bGw7cmVuZGVyKCk7fSw2MDAwKTt9fWlmKHZhbHVlPy5maXh0dXJlPy5pZCYmdmFsdWUuZml4dHVyZS5pZCE9PW5leHQuZml4dHVyZT8uaWQpbWFudWFsVGFiPWZhbHNlO3ZhbHVlPW5leHQ7YXdhaXQgbG9hZFByb2ZpbGVzKG5leHQuZml4dHVyZSk7bW91bnQoKTtyZW5kZXIoKTt9Y2F0Y2h7aWYobm9kZSl7Y29uc3Qgc3RhdHVzPW1ha2UoJ3NtYWxsJywnTGl2ZSBjb25uZWN0aW9uIGludGVycnVwdGVkIMK3IHNob3dpbmcgbGFzdCBzdWNjZXNzZnVsIHVwZGF0ZScsJ2ZiLW1kLWRlbGF5ZWQnKTtub2RlLnF1ZXJ5U2VsZWN0b3IoJy5mYi1tZC1kZWxheWVkJyk/LnJlbW92ZSgpO25vZGUuYXBwZW5kKHN0YXR1cyk7fX19Cm1vdW50KCk7aWYoIW5vZGUpcmV0dXJuO3ZhbHVlPWZpeHR1cmVTdW1tYXJ5KHNlbGVjdGVkRml4dHVyZSk7aWYoc2NyZWVuPT09J2RldGFpbCcpcmVuZGVyKCk7ZWxzZSBtYXRjaExpc3QoKTsKYXN5bmMgZnVuY3Rpb24gcmVmcmVzaFJvdW5kcygpe3RyeXtjb25zdCByPWF3YWl0IGZldGNoKGMuZml4dHVyZXNFbmRwb2ludCx7Y3JlZGVudGlhbHM6J3NhbWUtb3JpZ2luJ30pO2lmKCFyLm9rKXJldHVybjtjb25zdCB1cGRhdGU9YXdhaXQgci5qc29uKCk7aWYoIUFycmF5LmlzQXJyYXkodXBkYXRlLmZpeHR1cmVzKXx8IXVwZGF0ZS5maXh0dXJlcy5sZW5ndGgpcmV0dXJuO2MuZml4dHVyZXM9dXBkYXRlLmZpeHR1cmVzO2MuZXh0cmFGaXh0dXJlcz11cGRhdGUuZXh0cmFGaXh0dXJlc3x8W107aWYoc2NyZWVuPT09J2xpc3QnKXtpZighbWFudWFsUm91bmQpe3NlbGVjdGVkUm91bmQ9d2luZG93LmZiTGVhZ3VlUm91bmRzLmN1cnJlbnQoYy5maXh0dXJlcyk7Y29uc3QgbmV4dD1jLmZpeHR1cmVzLmZpbmQoZj0+cm91bmRLZXkoZik9PT1zZWxlY3RlZFJvdW5kKTtpZihuZXh0JiZyb3VuZEtleShzZWxlY3RlZEZpeHR1cmUpIT09c2VsZWN0ZWRSb3VuZCl7c2VsZWN0ZWRGaXh0dXJlPW5leHQ7Yy50ZWFtPW5leHQuaG9tZS5pZDtjLmVuZHBvaW50PWMuZW5kcG9pbnRCYXNlK25leHQuaWQ7ZmluYWxTZWVuQXQ9bnVsbDt9fW1hdGNoTGlzdCgpO319Y2F0Y2h7fX1zZXRJbnRlcnZhbChyZWZyZXNoUm91bmRzLDYwMDAwKTsKUHJvbWlzZS5hbGxTZXR0bGVkKFtmZXRjaChjLnJvdXRlcykudGhlbihyPT5yLmpzb24oKSkudGhlbihkPT5yb3V0ZURhdGE9ZCksZmV0Y2goYy50cmFmZmljKS50aGVuKHI9PnIuanNvbigpKS50aGVuKGQ9PnRyYWZmaWM9ZCldKS50aGVuKCgpPT5yZW5kZXIoKSk7cmVmcmVzaCgpO3NldEludGVydmFsKHJlZnJlc2gsMzAwMDApO3NldEludGVydmFsKCgpPT5mZXRjaChjLnRyYWZmaWMpLnRoZW4ocj0+ci5qc29uKCkpLnRoZW4oZD0+e3RyYWZmaWM9ZDtyZW5kZXIoKTt9KS5jYXRjaCgoKT0+e30pLDMwMDAwMCk7Cn0pKCk7Cg==”),c=>c.charCodeAt(0)));document.currentScript.after(n);})();
(function(){‘use strict’;function shouldPromote(fixture,now){const kickoff=Date.parse(fixture?.kickoff||”);return Number.isFinite(kickoff)&&![‘PST’,’TBD’,’CANC’,’ABD’,’AWD’,’WO’].includes(fixture?.status)&&now>=kickoff-7200000;}if(typeof module===’object’&&module.exports){module.exports={shouldPromote};return;}const root=document.querySelector(‘[data-fb-preview-fixture]’);if(!root)return;const id=Number(root.dataset.fbPreviewFixture),widget=root.querySelector(‘[data-fb-preview-matchday]’),top=root.querySelector(‘[data-fb-matchday-top]’),bottom=root.querySelector(‘[data-fb-matchday-top]’);if(!widget||!top||!bottom)return;let timer;function check(){const f=(window.fbLeagueMatchday?.fixtures||[]).find(f=>Number(f.id)===id)||{kickoff:root.dataset.kickoff,status:’NS’},promoted=shouldPromote(f,Date.now()),target=promoted?top:bottom;if(widget.parentElement!==target)target.append(widget);widget.dataset.position=promoted?’top’:’bottom’;clearTimeout(timer);const until=Date.parse(f.kickoff||”)-7200000-Date.now();timer=setTimeout(check,until>0?Math.min(60000,Math.max(50,until)):15000);}document.addEventListener(‘visibilitychange’,check);window.addEventListener(‘pageshow’,check);check();})();

UEFA Conference League · League Stage – 3. Recent form covers all competitions; detailed stats retain their named competition and sample.

Recent form

Universitatea Craiova

Universitatea Craiova have 4 wins, 1 draw and 0 defeats from their last five matches in all competitions, collecting 13 points. Their latest result was a 2–1 win at home to FC Botosani on 1 November.

Egnatia Rrogozhinë

Egnatia Rrogozhinë have 3 wins, 1 draw and 1 defeat from their last five matches in all competitions, collecting 10 points. Their latest result was a 2–1 win away to Tirana on 1 November.

In their previous UEFA Conference League match, Universitatea Craiova beat Inter Club d’Escaldes 3–1 away on 22 October.

In their previous UEFA Conference League match, Egnatia Rrogozhinë drew 1–1 away to Aarhus on 22 October.

Competition record

Universitatea Craiova: 11th in the UEFA Conference League table, with 4 points from 2 matches, 4 goals scored and 2 conceded.

Egnatia Rrogozhinë: 20th in the UEFA Conference League table, with 2 points from 2 matches, 2 goals scored and 2 conceded.

Universitatea Craiova crest

Universitatea Craiova

11th · 4 pts · 2 played

WWWDW13 points
Egnatia Rrogozhinë crest

Egnatia Rrogozhinë

20th · 2 pts · 2 played

WDLWW10 points

Last 5 · all competitions · oldest → newest

Goals scored and conceded

Universitatea Craiova have scored 13 goals and conceded 3 across their last five matches in all competitions.

Egnatia Rrogozhinë have scored 8 goals and conceded 5 across their last five matches in all competitions.

Fan Banter Prediction

Editorial 90-minute pick: Universitatea Craiova to win.

Craiova’s four wins and a draw from their last five matches, together with their stronger Conference League points return, give them our preference. Egnatia have also been competitive: they have three wins in their last five across all competitions and have drawn both league-phase games.

European away trip · TIA → CRA291 miles airport to airport · direct distance
SUGGESTED DEPARTURE AIRPORTTirana International Airport Mother Teresa (TIA)
SUGGESTED ARRIVAL AIRPORTCraiova International Airport (CRA)

Plan the local transfer from Craiova International Airport to Ion Oblemenco Stadium.

The map shows an illustrative air route. Check flight availability, connections and local transfers before booking. No flight time or nonstop service is assumed.

Universitatea Craiova Vs Egnatia Rrogozhinë match preview and away-fan journey map

Next fixtures

Universitatea Craiova

  • Thu 26 Nov, 17:45 · Brighton Vs Universitatea Craiova
  • Thu 10 Dec, 15:30 · Kairat Almaty Vs Universitatea Craiova

Egnatia Rrogozhinë

  • Thu 26 Nov, 17:45 · Egnatia Rrogozhinë Vs Lincoln Red Imps FC
  • Thu 10 Dec, 20:00 · Egnatia Rrogozhinë Vs Kauno Žalgiris

The post Universitatea Craiova vs Egnatia Rrogozhinë – Match Preview & Live Updates appeared first on Fan Banter.

Leave a Comment