/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/page/OgImageGeneratorPage.vue?vue&type=style&index=0&id=5a646e14&lang=css ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************/ .tool { max-height: calc(100vh - 200px); overflow: auto; } .tools { height: calc(100vh - 200px); width: 443px; } .og { margin: auto; } .og-wrapper { width: calc(100vw - 540px); } .og-svg { overflow: hidden; box-sizing: border-box; } .og-svg > foreignObject { overflow: hidden; } .og-wrapper-content { background-color: #c1c1c1; background-image: linear-gradient(45deg, #646464 25%, transparent 25%, transparent 75%, #646464 75%), linear-gradient(45deg, #646464 25%, transparent 25%, transparent 75%, #646464 75%); background-size: 20px 20px; background-position: 0 0, 10px 10px; text-align: center; } .og-heading { font-size: 5em; } .og-subheading { font-size: 3em; } .og-image--footer img { background-size: cover; background-position: center center; } .og-image-hover { overflow: hidden; } /*!**************************************************************************************************************************************************************!*\ !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-4.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-4.use[2]!./src/scss/app.css ***! \**************************************************************************************************************************************************************/ /* ! tailwindcss v3.2.4 | MIT License | https://tailwindcss.com *//* 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) */ *, ::before, ::after { box-sizing: border-box; /* 1 */ border-width: 0; /* 2 */ border-style: solid; /* 2 */ border-color: #e5e7eb; /* 2 */ } ::before, ::after { --tw-content: ''; } /* 1. Use a consistent sensible line-height in all browsers. 2. Prevent adjustments of font size after orientation changes in iOS. 3. Use a more readable tab size. 4. Use the user's configured `sans` font-family by default. 5. Use the user's configured `sans` font-feature-settings by default. */ html { line-height: 1.5; /* 1 */ -webkit-text-size-adjust: 100%; /* 2 */ -moz-tab-size: 4; /* 3 */ -o-tab-size: 4; tab-size: 4; /* 3 */ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ font-feature-settings: normal; /* 5 */ } /* 1. Remove the margin in all browsers. 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. */ body { margin: 0; /* 1 */ line-height: inherit; /* 2 */ } /* 1. Add the correct height in Firefox. 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 3. Ensure horizontal rules are visible by default. */ hr { height: 0; /* 1 */ color: inherit; /* 2 */ border-top-width: 1px; /* 3 */ } /* Add the correct text decoration in Chrome, Edge, and Safari. */ abbr:where([title]) { -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } /* Remove the default font size and weight for headings. */ h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; } /* Reset links to optimize for opt-in styling instead of opt-out. */ a { color: inherit; text-decoration: inherit; } /* Add the correct font weight in Edge and Safari. */ b, strong { font-weight: bolder; } /* 1. Use the user's configured `mono` font family by default. 2. Correct the odd `em` font sizing in all browsers. */ code, kbd, samp, pre { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ font-size: 1em; /* 2 */ } /* Add the correct font size in all browsers. */ small { font-size: 80%; } /* Prevent `sub` and `sup` elements from affecting the line height in all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } /* 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) 3. Remove gaps between table borders by default. */ table { text-indent: 0; /* 1 */ border-color: inherit; /* 2 */ border-collapse: collapse; /* 3 */ } /* 1. Change the font styles in all browsers. 2. Remove the margin in Firefox and Safari. 3. Remove default padding in all browsers. */ button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ font-weight: inherit; /* 1 */ line-height: inherit; /* 1 */ color: inherit; /* 1 */ margin: 0; /* 2 */ padding: 0; /* 3 */ } /* Remove the inheritance of text transform in Edge and Firefox. */ button, select { text-transform: none; } /* 1. Correct the inability to style clickable types in iOS and Safari. 2. Remove default button styles. */ button, [type='button'], [type='reset'], [type='submit'] { -webkit-appearance: button; /* 1 */ background-color: transparent; /* 2 */ background-image: none; /* 2 */ } /* Use the modern Firefox focus style for all focusable elements. */ :-moz-focusring { outline: auto; } /* Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) */ :-moz-ui-invalid { box-shadow: none; } /* Add the correct vertical alignment in Chrome and Firefox. */ progress { vertical-align: baseline; } /* Correct the cursor style of increment and decrement buttons in Safari. */ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button { height: auto; } /* 1. Correct the odd appearance in Chrome and Safari. 2. Correct the outline style in Safari. */ [type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /* Remove the inner padding in Chrome and Safari on macOS. */ ::-webkit-search-decoration { -webkit-appearance: none; } /* 1. Correct the inability to style clickable types in iOS and Safari. 2. Change font properties to `inherit` in Safari. */ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } /* Add the correct display in Chrome and Safari. */ summary { display: list-item; } /* Removes the default spacing and border for appropriate elements. */ blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; } fieldset { margin: 0; padding: 0; } legend { padding: 0; } ol, ul, menu { list-style: none; margin: 0; padding: 0; } /* Prevent resizing textareas horizontally by default. */ textarea { resize: vertical; } /* 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 2. Set the default placeholder color to the user's configured gray 400 color. */ input::-moz-placeholder, textarea::-moz-placeholder { opacity: 1; /* 1 */ color: #9ca3af; /* 2 */ } input::placeholder, textarea::placeholder { opacity: 1; /* 1 */ color: #9ca3af; /* 2 */ } /* Set the default cursor for buttons. */ button, [role="button"] { cursor: pointer; } /* Make sure disabled buttons don't get the pointer cursor. */ :disabled { cursor: default; } /* 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) This can trigger a poorly considered lint error in some tools but is included by design. */ img, svg, video, canvas, audio, iframe, embed, object { display: block; /* 1 */ vertical-align: middle; /* 2 */ } /* Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) */ img, video { max-width: 100%; height: auto; } /* Make elements with the HTML hidden attribute stay hidden by default */ [hidden] { display: none; } [type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select { -webkit-appearance: none; -moz-appearance: none; appearance: none; background-color: #fff; border-color: #6b7280; border-width: 1px; border-radius: 0px; padding-top: 0.5rem; padding-right: 0.75rem; padding-bottom: 0.5rem; padding-left: 0.75rem; font-size: 1rem; line-height: 1.5rem; --tw-shadow: 0 0 #0000; } [type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus { outline: 2px solid transparent; outline-offset: 2px; --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: #2563eb; --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); border-color: #2563eb; } input::-moz-placeholder, textarea::-moz-placeholder { color: #6b7280; opacity: 1; } input::placeholder,textarea::placeholder { color: #6b7280; opacity: 1; } ::-webkit-datetime-edit-fields-wrapper { padding: 0; } ::-webkit-date-and-time-value { min-height: 1.5em; } ::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field { padding-top: 0; padding-bottom: 0; } select { background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 20 20%27%3e%3cpath stroke=%27%236b7280%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%271.5%27 d=%27M6 8l4 4 4-4%27/%3e%3c/svg%3e"); background-position: right 0.5rem center; background-repeat: no-repeat; background-size: 1.5em 1.5em; padding-right: 2.5rem; -webkit-print-color-adjust: exact; print-color-adjust: exact; } [multiple] { background-image: initial; background-position: initial; background-repeat: unset; background-size: initial; padding-right: 0.75rem; -webkit-print-color-adjust: unset; print-color-adjust: unset; } [type='checkbox'],[type='radio'] { -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 0; -webkit-print-color-adjust: exact; print-color-adjust: exact; display: inline-block; vertical-align: middle; background-origin: border-box; -webkit-user-select: none; -moz-user-select: none; user-select: none; flex-shrink: 0; height: 1rem; width: 1rem; color: #2563eb; background-color: #fff; border-color: #6b7280; border-width: 1px; --tw-shadow: 0 0 #0000; } [type='checkbox'] { border-radius: 0px; } [type='radio'] { border-radius: 100%; } [type='checkbox']:focus,[type='radio']:focus { outline: 2px solid transparent; outline-offset: 2px; --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); --tw-ring-offset-width: 2px; --tw-ring-offset-color: #fff; --tw-ring-color: #2563eb; --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); } [type='checkbox']:checked,[type='radio']:checked { border-color: transparent; background-color: currentColor; background-size: 100% 100%; background-position: center; background-repeat: no-repeat; } [type='checkbox']:checked { background-image: url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3cpath d=%27M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z%27/%3e%3c/svg%3e"); } [type='radio']:checked { background-image: url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3ccircle cx=%278%27 cy=%278%27 r=%273%27/%3e%3c/svg%3e"); } [type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus { border-color: transparent; background-color: currentColor; } [type='checkbox']:indeterminate { background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27 viewBox=%270 0 16 16%27%3e%3cpath stroke=%27white%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M4 8h8%27/%3e%3c/svg%3e"); border-color: transparent; background-color: currentColor; background-size: 100% 100%; background-position: center; background-repeat: no-repeat; } [type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus { border-color: transparent; background-color: currentColor; } [type='file'] { background: unset; border-color: inherit; border-width: 0; border-radius: 0; padding: 0; font-size: unset; line-height: inherit; } [type='file']:focus { outline: 1px solid ButtonText; outline: 1px auto -webkit-focus-ring-color; } *, ::before, ::after { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; } ::backdrop { --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fraction: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb(59 130 246 / 0.5); --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-blur: ; --tw-brightness: ; --tw-contrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-blur: ; --tw-backdrop-brightness: ; --tw-backdrop-contrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; } .col-span-12 { grid-column: span 12 / span 12; } .m-auto { margin: auto; } .mx-auto { margin-left: auto; margin-right: auto; } .mx-4 { margin-left: 1rem; margin-right: 1rem; } .ml-auto { margin-left: auto; } .ml-2 { margin-left: 0.5rem; } .mb-5 { margin-bottom: 1.25rem; } .mb-2 { margin-bottom: 0.5rem; } .mr-2 { margin-right: 0.5rem; } .mt-4 { margin-top: 1rem; } .mt-1 { margin-top: 0.25rem; } .mr-1 { margin-right: 0.25rem; } .mt-3 { margin-top: 0.75rem; } .mt-2 { margin-top: 0.5rem; } .block { display: block; } .inline { display: inline; } .flex { display: flex; } .grid { display: grid; } .hidden { display: none; } .h-full { height: 100%; } .w-full { width: 100%; } .transform { transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); } .resize { resize: both; } .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .flex-row { flex-direction: row; } .flex-col { flex-direction: column; } .items-center { align-items: center; } .justify-between { justify-content: space-between; } .gap-2 { gap: 0.5rem; } .gap-x-4 { -moz-column-gap: 1rem; column-gap: 1rem; } .rounded { border-radius: 0.25rem; } .rounded-md { border-radius: 0.375rem; } .rounded-full { border-radius: 9999px; } .rounded-l-md { border-top-left-radius: 0.375rem; border-bottom-left-radius: 0.375rem; } .rounded-r-md { border-top-right-radius: 0.375rem; border-bottom-right-radius: 0.375rem; } .border { border-width: 1px; } .border-b-2 { border-bottom-width: 2px; } .border-zinc-300 { --tw-border-opacity: 1; border-color: rgb(212 212 216 / var(--tw-border-opacity)); } .border-gray-400 { --tw-border-opacity: 1; border-color: rgb(156 163 175 / var(--tw-border-opacity)); } .border-gray-300 { --tw-border-opacity: 1; border-color: rgb(209 213 219 / var(--tw-border-opacity)); } .border-gray-200 { --tw-border-opacity: 1; border-color: rgb(229 231 235 / var(--tw-border-opacity)); } .bg-fuchsia-300 { --tw-bg-opacity: 1; background-color: rgb(240 171 252 / var(--tw-bg-opacity)); } .bg-slate-300 { --tw-bg-opacity: 1; background-color: rgb(203 213 225 / var(--tw-bg-opacity)); } .bg-lime-300 { --tw-bg-opacity: 1; background-color: rgb(190 242 100 / var(--tw-bg-opacity)); } .bg-white { --tw-bg-opacity: 1; background-color: rgb(255 255 255 / var(--tw-bg-opacity)); } .stroke-purple-900 { stroke: #581c87; } .stroke-gray-400 { stroke: #9ca3af; } .p-4 { padding: 1rem; } .p-3 { padding: 0.75rem; } .p-5 { padding: 1.25rem; } .px-3 { padding-left: 0.75rem; padding-right: 0.75rem; } .py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; } .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; } .px-4 { padding-left: 1rem; padding-right: 1rem; } .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; } .pt-5 { padding-top: 1.25rem; } .pb-4 { padding-bottom: 1rem; } .pb-6 { padding-bottom: 1.5rem; } .pb-3 { padding-bottom: 0.75rem; } .pt-0 { padding-top: 0px; } .pl-10 { padding-left: 2.5rem; } .text-center { text-align: center; } .font-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } .text-2xl { font-size: 1.5rem; line-height: 2rem; } .text-sm { font-size: 0.875rem; line-height: 1.25rem; } .font-bold { font-weight: 700; } .font-medium { font-weight: 500; } .leading-none { line-height: 1; } .leading-tight { line-height: 1.25; } .text-gray-900 { --tw-text-opacity: 1; color: rgb(17 24 39 / var(--tw-text-opacity)); } .text-cyan-600 { --tw-text-opacity: 1; color: rgb(8 145 178 / var(--tw-text-opacity)); } .text-gray-700 { --tw-text-opacity: 1; color: rgb(55 65 81 / var(--tw-text-opacity)); } .shadow-sm { --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } .drop-shadow-md { --tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07)) drop-shadow(0 2px 2px rgb(0 0 0 / 0.06)); filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } .hover\:bg-gray-100:hover { --tw-bg-opacity: 1; background-color: rgb(243 244 246 / var(--tw-bg-opacity)); } .hover\:text-blue-700:hover { --tw-text-opacity: 1; color: rgb(29 78 216 / var(--tw-text-opacity)); } .focus\:z-10:focus { z-index: 10; } .focus\:border-indigo-300:focus { --tw-border-opacity: 1; border-color: rgb(165 180 252 / var(--tw-border-opacity)); } .focus\:text-blue-700:focus { --tw-text-opacity: 1; color: rgb(29 78 216 / var(--tw-text-opacity)); } .focus\:ring:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus\:ring-2:focus { --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } .focus\:ring-indigo-200:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(199 210 254 / var(--tw-ring-opacity)); } .focus\:ring-blue-700:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(29 78 216 / var(--tw-ring-opacity)); } .focus\:ring-opacity-50:focus { --tw-ring-opacity: 0.5; } @media (prefers-color-scheme: dark) { .dark\:border-gray-600 { --tw-border-opacity: 1; border-color: rgb(75 85 99 / var(--tw-border-opacity)); } .dark\:bg-gray-700 { --tw-bg-opacity: 1; background-color: rgb(55 65 81 / var(--tw-bg-opacity)); } .dark\:text-white { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); } .dark\:hover\:bg-gray-600:hover { --tw-bg-opacity: 1; background-color: rgb(75 85 99 / var(--tw-bg-opacity)); } .dark\:hover\:text-white:hover { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); } .dark\:focus\:text-white:focus { --tw-text-opacity: 1; color: rgb(255 255 255 / var(--tw-text-opacity)); } .dark\:focus\:ring-blue-500:focus { --tw-ring-opacity: 1; --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity)); } } @media (min-width: 640px) { .sm\:gap-4 { gap: 1rem; } } @media (min-width: 768px) { .md\:visible { visibility: visible; } .md\:block { display: block; } .md\:w-1\/2 { width: 50%; } .md\:border { border-width: 1px; } .md\:p-10 { padding: 2.5rem; } } @media (min-width: 1024px) { .lg\:mr-4 { margin-right: 1rem; } .lg\:grid-cols-\[1fr_2fr\] { grid-template-columns: 1fr 2fr; } .lg\:gap-x-20 { -moz-column-gap: 5rem; column-gap: 5rem; } .lg\:text-4xl { font-size: 2.25rem; line-height: 2.5rem; } } /*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmMzNThjNzFmLmNzcyIsIm1hcHBpbmdzIjoiOzs7O0FBNnJCQTtFQUNFLCtCQUErQjtFQUMvQixjQUFjO0FBQ2hCO0FBRUE7RUFDRSwyQkFBMkI7RUFDM0IsWUFBWTtBQUNkO0FBRUE7RUFDRSxZQUFZO0FBQ2Q7QUFFQTtFQUNFLDBCQUEwQjtBQUM1QjtBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLHNCQUFzQjtBQUN4QjtBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCO0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsd0xBQXdMO0VBQ3hMLDBCQUEwQjtFQUMxQixtQ0FBbUM7RUFDbkMsa0JBQWtCO0FBQ3BCO0FBRUE7RUFDRSxjQUFjO0FBQ2hCO0FBRUE7RUFDRSxjQUFjO0FBQ2hCO0FBRUE7RUFDRSxzQkFBc0I7RUFDdEIsa0NBQWtDO0FBQ3BDO0FBRUE7RUFDRSxnQkFBZ0I7QUFDbEI7Ozs7O0FDL3VCQTs7Q0FBYyxDQUFkOzs7Q0FBYzs7QUFBZDs7O0VBQUEsc0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxtQkFBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7RUFBQSxnQkFBYztBQUFBOztBQUFkOzs7Ozs7Q0FBYzs7QUFBZDtFQUFBLGdCQUFjLEVBQWQsTUFBYztFQUFkLDhCQUFjLEVBQWQsTUFBYztFQUFkLGdCQUFjLEVBQWQsTUFBYztFQUFkLGNBQWM7S0FBZCxXQUFjLEVBQWQsTUFBYztFQUFkLDROQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsb0JBQWMsRUFBZCxNQUFjO0FBQUE7O0FBQWQ7Ozs7Q0FBYzs7QUFBZDtFQUFBLFNBQWMsRUFBZCxNQUFjO0VBQWQsY0FBYyxFQUFkLE1BQWM7RUFBZCxxQkFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHlDQUFjO1VBQWQsaUNBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7Ozs7O0VBQUEsa0JBQWM7RUFBZCxvQkFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztFQUFkLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsbUJBQWM7QUFBQTs7QUFBZDs7O0NBQWM7O0FBQWQ7Ozs7RUFBQSwrR0FBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsY0FBYztBQUFBOztBQUFkOztDQUFjOztBQUFkOztFQUFBLGNBQWM7RUFBZCxjQUFjO0VBQWQsa0JBQWM7RUFBZCx3QkFBYztBQUFBOztBQUFkO0VBQUEsZUFBYztBQUFBOztBQUFkO0VBQUEsV0FBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7RUFBQSxjQUFjLEVBQWQsTUFBYztFQUFkLHFCQUFjLEVBQWQsTUFBYztFQUFkLHlCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOzs7O0NBQWM7O0FBQWQ7Ozs7O0VBQUEsb0JBQWMsRUFBZCxNQUFjO0VBQWQsZUFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxvQkFBYyxFQUFkLE1BQWM7RUFBZCxjQUFjLEVBQWQsTUFBYztFQUFkLFNBQWMsRUFBZCxNQUFjO0VBQWQsVUFBYyxFQUFkLE1BQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDs7RUFBQSxvQkFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDs7OztFQUFBLDBCQUFjLEVBQWQsTUFBYztFQUFkLDZCQUFjLEVBQWQsTUFBYztFQUFkLHNCQUFjLEVBQWQsTUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsYUFBYztBQUFBOztBQUFkOztDQUFjOztBQUFkO0VBQUEsZ0JBQWM7QUFBQTs7QUFBZDs7Q0FBYzs7QUFBZDtFQUFBLHdCQUFjO0FBQUE7O0FBQWQ7O0NBQWM7O0FBQWQ7O0VBQUEsWUFBYztBQUFBOztBQUFkOzs7Q0FBYzs7QUFBZDtFQUFBLDZCQUFjLEVBQWQs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QUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLHNCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBLGtCQUFtQjtFQUFuQjtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxxQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxtQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxrQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUEsaUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUJBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQTtBQUFtQjtBQUFuQjtFQUFBO0FBQW1CO0FBQW5CO0VBQUE7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSxvQkFBbUI7RUFBbkI7QUFBbUI7QUFBbkI7RUFBQSwwQ0FBbUI7RUFBbkIsdURBQW1CO0VBQW5CO0FBQW1CO0FBQW5CO0VBQUEsbUdBQW1CO0VBQW5CO0FBQW1CO0FBRm5CO0VBQUEsbUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSxxQkNBQTtFREFBO0NDQUE7QURBQTtFQUFBO0NDQUE7QURBQTtFQUFBLHVCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQSw0R0NBQTtFREFBLDBHQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEsNEdDQUE7RURBQSwwR0NBQTtFREFBO0NDQUE7QURBQTtFQUFBLHFCQ0FBO0VEQUE7Q0NBQTtBREFBO0VBQUEscUJDQUE7RURBQTtDQ0FBO0FEQUE7RUFBQTtDQ0FBO0FEQUE7O0VBQUE7SUFBQSx1QkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxtQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7O0VEQUE7SUFBQSxxQkNBQTtJREFBO0dDQUE7Q0FBQTtBREFBOztFQUFBO0lBQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBO0dDQUE7O0VEQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTtDQUFBO0FEQUE7O0VBQUE7SUFBQTtHQ0FBOztFREFBO0lBQUE7R0NBQTs7RURBQTtJQUFBLHNCQ0FBO1NEQUE7R0NBQTs7RURBQTtJQUFBLG1CQ0FBO0lEQUE7R0NBQTtDQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL3BhZ2UvT2dJbWFnZUdlbmVyYXRvclBhZ2UudnVlIiwid2VicGFjazovLy8uL3NyYy9zY3NzL2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLzxubyBzb3VyY2U+Il0sInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImxnOm1yLTQgdG9vbHNcIlxuICAgICAgcmVmPVwidG9vbHNcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0yIGZsZXggZmxleC1yb3dcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHYtZm9yPVwiKG5hbWUsIHZhbHVlKSBpbiB0b29sc1wiXG4gICAgICAgICAgY2xhc3M9XCJwLTMgbXItMiByb3VuZGVkXCJcbiAgICAgICAgICA6Y2xhc3M9XCJ7J2JnLXNsYXRlLTMwMCc6IHRoaXMudG9vbCA9PSB2YWx1ZX1cIlxuICAgICAgICAgIEBjbGljaz1cInRoaXMudG9vbCA9IHZhbHVlXCJcbiAgICAgICAgICB2LXRleHQ9XCJuYW1lXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgOmNsYXNzPVwie2hpZGRlbjogdGhpcy50b29sICE9PSAnaGVhZGluZyd9XCJcbiAgICAgICAgY2xhc3M9XCJkcm9wLXNoYWRvdy1tZCByb3VuZGVkLW1kIG1kOmJvcmRlciBib3JkZXItemluYy0zMDAgdG9vbFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTVcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPFRleHRhcmVhRm9ybVxuICAgICAgICAgICAgICBpZD1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgIGxhYmVsPVwiSGVhZGluZ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImhlYWRpbmctc2l6ZVwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJoZWFkaW5nU2l6ZVwiXG4gICAgICAgICAgICAgIG1pbj1cIjFcIlxuICAgICAgICAgICAgICBtYXg9XCIyMFwiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjFcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS02XCI+XG4gICAgICAgICAgICA8VGV4dGFyZWFGb3JtXG4gICAgICAgICAgICAgIGlkPVwic3ViaGVhZGluZ1wiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJzdWJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJTdWJoZWFkaW5nXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8UmFuZ2VGb3JtXG4gICAgICAgICAgICAgIGlkPVwic3ViaGVhZGluZy1zaXplXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cInN1YmhlYWRpbmdTaXplXCJcbiAgICAgICAgICAgICAgbWluPVwiMVwiXG4gICAgICAgICAgICAgIG1heD1cIjIwXCJcbiAgICAgICAgICAgICAgc3RlcD1cIjAuMVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTZcIj5cbiAgICAgICAgICAgIDxDaGVja2JveEZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJhbGxvdy1odG1sXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImFsbG93SHRtbFwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQWxsb3cgSFRNTFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTZcIj5cbiAgICAgICAgICAgIDxSYW5nZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJoZWFkaW5nLXNwYWNpbmdcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiaGVhZGluZ1NwYWNpbmdcIlxuICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgbWF4PVwiMzAwXCJcbiAgICAgICAgICAgICAgc3RlcD1cIjAuMDVcIlxuICAgICAgICAgICAgICBsYWJlbD1cIlNwYWNpbmdcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYi02XCI+XG4gICAgICAgICAgICA8UmFuZ2VGb3JtXG4gICAgICAgICAgICAgIGlkPVwiY29udGVudC1wYWRkaW5nXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImNvbnRlbnRQYWRkaW5nXCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIG1heD1cIjMwMFwiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjA1XCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJQYWRkaW5nXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGItM1wiPlxuICAgICAgICAgICAgPElucHV0Rm9ybVxuICAgICAgICAgICAgICBpZD1cInRleHQtY29sb3JcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwidGV4dENvbG9yXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJUZXh0IGNvbG9yXCJcbiAgICAgICAgICAgICAgdHlwZT1cImNvbG9yXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHN0cm9rZS1ncmF5LTQwMFwiPlxuICAgICAgICAgICAgICA8QWxpZ25Gb3JtIHYtbW9kZWw9XCJoZWFkaW5nQWxpZ25cIiAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXZcbiAgICAgICAgOmNsYXNzPVwie2hpZGRlbjogdGhpcy50b29sICE9PSAnYXV0aG9yJ31cIlxuICAgICAgICBjbGFzcz1cImRyb3Atc2hhZG93LW1kIHJvdW5kZWQtbWQgbWQ6Ym9yZGVyIGJvcmRlci16aW5jLTMwMCB0b29sXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNVwiPlxuICAgICAgICAgIDxDaGVja2JveEZvcm1cbiAgICAgICAgICAgIGlkPVwiYXV0aG9yLXNob3dcIlxuICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvclNob3dcIlxuICAgICAgICAgICAgbGFiZWw9XCJTaG93IHRoZSBibG9ja1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNSBwdC0wXCI+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxJbnB1dEZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJhdXRob3JcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYXV0aG9yXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJBdXRob3JcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSYW5nZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJhdXRob3Itc2l6ZVwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJhdXRob3JTaXplXCJcbiAgICAgICAgICAgICAgbWluPVwiMVwiXG4gICAgICAgICAgICAgIG1heD1cIjIwXCJcbiAgICAgICAgICAgICAgc3RlcD1cIjAuMVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweS02XCI+XG4gICAgICAgICAgICA8RmlsZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYXZhdGFyXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJBdmF0YXJcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8RmlsZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJsb2dvXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImxvZ29cIlxuICAgICAgICAgICAgICBsYWJlbD1cIkxvZ29cIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UtZ3JheS00MDAgcHktNlwiPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImF1dGhvci1tYXJnaW4tYm90dG9tXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvck1hcmdpbkJvdHRvbVwiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBtYXg9XCI1MDBcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4xXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCJQb3NpdGlvblwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImF1dGhvci1wYWRkaW5nXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvclBhZGRpbmdcIlxuICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgbWF4PVwiNTBcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4wNVwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiUGFkZGluZ1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTNcIj5cbiAgICAgICAgICAgIDxJbnB1dEZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJhdXRob3ItdGV4dC1jb2xvclwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJhdXRob3JUZXh0Q29sb3JcIlxuICAgICAgICAgICAgICBsYWJlbD1cIlRleHQgY29sb3JcIlxuICAgICAgICAgICAgICB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8SW5wdXRGb3JtXG4gICAgICAgICAgICAgIGlkPVwiYmFja2dyb3VuZC1jb2xvclwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJhdXRob3JCYWNrZ3JvdW5kQ29sb3JcIlxuICAgICAgICAgICAgICBsYWJlbD1cIkJhY2tncm91bmQgY29sb3JcIlxuICAgICAgICAgICAgICB0eXBlPVwiY29sb3JcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSYW5nZUZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJhdXRob3ItYmFja2dyb3VuZC1vcGFjaXR5XCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImF1dGhvckJhY2tncm91bmRPcGFjaXR5XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIG1heD1cIjFcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4wNVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBzdHJva2UtZ3JheS00MDAgcHQtNVwiPlxuICAgICAgICAgICAgICA8QWxpZ25Gb3JtIHYtbW9kZWw9XCJhdXRob3JBbGlnblwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdlxuICAgICAgICA6Y2xhc3M9XCJ7aGlkZGVuOiB0aGlzLnRvb2wgIT09ICdmb250J31cIlxuICAgICAgICBjbGFzcz1cImRyb3Atc2hhZG93LW1kIHJvdW5kZWQtbWQgbWQ6Ym9yZGVyIGJvcmRlci16aW5jLTMwMCB0b29sXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtNVwiPlxuICAgICAgICAgIDxTZWxlY3RGb3JtXG4gICAgICAgICAgICBpZD1cImZvbnRcIlxuICAgICAgICAgICAgdi1tb2RlbD1cImZvbnRcIlxuICAgICAgICAgICAgOml0ZW1zPVwiZm9udHNcIlxuICAgICAgICAgICAgbGFiZWw9XCJGb250XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIDpjbGFzcz1cIntoaWRkZW46IHRoaXMudG9vbCAhPT0gJ2JhY2tncm91bmQnfVwiXG4gICAgICAgIGNsYXNzPVwiZHJvcC1zaGFkb3ctbWQgcm91bmRlZC1tZCBtZDpib3JkZXIgYm9yZGVyLXppbmMtMzAwIHRvb2xcIlxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicC01XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBiLTZcIj5cbiAgICAgICAgICAgIDxGaWxlRm9ybVxuICAgICAgICAgICAgICBpZD1cImJhY2tncm91bmRcIlxuICAgICAgICAgICAgICB2LW1vZGVsPVwiYmFja2dyb3VuZFwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQmFja2dyb3VuZFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxJbnB1dEZvcm1cbiAgICAgICAgICAgICAgaWQ9XCJiYWNrZ3JvdW5kLWhvdmVyXCJcbiAgICAgICAgICAgICAgdi1tb2RlbD1cImJhY2tncm91bmRIb3ZlclwiXG4gICAgICAgICAgICAgIGxhYmVsPVwiQmFja2dyb3VuZCBob3ZlclwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJhbmdlRm9ybVxuICAgICAgICAgICAgICBpZD1cImJhY2tncm91bmQtaG92ZXItb3BhY2l0eVwiXG4gICAgICAgICAgICAgIHYtbW9kZWw9XCJiYWNrZ3JvdW5kSG92ZXJPcGFjaXR5XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIG1heD1cIjFcIlxuICAgICAgICAgICAgICBzdGVwPVwiMC4wNVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICA6Y2xhc3M9XCJ7aGlkZGVuOiB0aGlzLnRvb2wgIT09ICdzaXplcyd9XCJcbiAgICAgICAgY2xhc3M9XCJkcm9wLXNoYWRvdy1tZCByb3VuZGVkLW1kIG1kOmJvcmRlciBib3JkZXItemluYy0zMDAgdG9vbFwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLTVcIj5cbiAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzPVwiYmxvY2sgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LWdyYXktNzAwXCJcbiAgICAgICAgICAgICAgZm9yPVwid2lkdGhcIlxuICAgICAgICAgICAgPlNpemVzPC9sYWJlbD5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLXgtNFwiPlxuICAgICAgICAgICAgICA8SW5wdXRGb3JtXG4gICAgICAgICAgICAgICAgaWQ9XCJ3aWR0aFwiXG4gICAgICAgICAgICAgICAgdi1tb2RlbD1cIndpZHRoXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPElucHV0Rm9ybVxuICAgICAgICAgICAgICAgIGlkPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgICAgICB2LW1vZGVsPVwiaGVpZ2h0XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJtdC00IGJsb2NrIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1ncmF5LTcwMFwiPlJlY29tbWVuZGF0aW9uczwvaDM+XG5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdi1mb3I9XCIoc2l6ZXMsIG5hbWUpIGluIHNpemVzUmVjb21tZW5kYXRpb25zXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJiZy1saW1lLTMwMCByb3VuZGVkIHB4LTMgcHktMiBtdC0xIG1yLTFcIlxuICAgICAgICAgICAgICBAY2xpY2s9XCJ0aGlzLnNldFNpemVzKHNpemVzWzBdLCBzaXplc1sxXSlcIlxuICAgICAgICAgICAgICB2LXRleHQ9XCJuYW1lXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICByZWY9XCJvZ3dyYXBwZXJcIlxuICAgICAgY2xhc3M9XCJvZy13cmFwcGVyIHBsLTEwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwib2ctd3JhcHBlci1jb250ZW50XCI+XG4gICAgICAgIDxzdmdcbiAgICAgICAgICA6dmlld0JveD1cIlswLCAwLCB3aWR0aCwgaGVpZ2h0XS5qb2luKCcgJylcIlxuICAgICAgICAgIDpzdHlsZT1cIm9nU3ZnU3R5bGUoKVwiXG4gICAgICAgICAgOndpZHRoPVwib2dNYXhXaWR0aFwiXG4gICAgICAgICAgOmhlaWdodD1cIm9nTWF4SGVpZ2h0XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxmb3JlaWduT2JqZWN0XG4gICAgICAgICAgICA6c3R5bGU9XCJvZ1N2Z0ZvU3R5bGUoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICByZWY9XCJvZ1wiXG4gICAgICAgICAgICAgIGNsYXNzPVwib2dcIlxuICAgICAgICAgICAgICA6c3R5bGU9XCJvZ1N0eWxlKClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgcmVmPVwicmVuZGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm9nLWltYWdlXCJcbiAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0ltYWdlU3R5bGUoKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm9nLWltYWdlLWhvdmVyXCJcbiAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nSW1hZ2VIb3ZlclN0eWxlKClcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoLWZ1bGwgZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWJldHdlZW5cIlxuICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0NvbnRlbnRTdHlsZSgpXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiB2LWlmPVwiYWxsb3dIdG1sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGgxXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxlYWRpbmctbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0hlYWRpbmdTdHlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaHRtbD1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGVhZGluZy10aWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ1N1YmhlYWRpbmdTdHlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaHRtbD1cInN1YmhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHYtZWxzZT5cbiAgICAgICAgICAgICAgICAgICAgICA8aDFcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGVhZGluZy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nSGVhZGluZ1N0eWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdi10ZXh0PVwiaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsZWFkaW5nLXRpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIDpzdHlsZT1cIm9nU3ViaGVhZGluZ1N0eWxlKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdi10ZXh0PVwic3ViaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgZmxleCBmbGV4LXJvdyBpdGVtcy1jZW50ZXIgb2ctaW1hZ2UtLWZvb3RlclwiXG4gICAgICAgICAgICAgICAgICAgICAgOnN0eWxlPVwib2dBdXRob3JTdHlsZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCJhdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLWZ1bGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlPVwib2dBdXRob3JJbWFnZVN0eWxlKCdhdmF0YXInKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgICAgICAgICAgICAgID5cblxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm14LTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgOnN0eWxlPVwib2dBdXRob3JUZXh0U3R5bGUoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2LXRleHQ9XCJhdXRob3JcIlxuICAgICAgICAgICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICB2LWlmPVwibG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtZnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJvZ0F1dGhvckltYWdlU3R5bGUoJ2xvZ28nKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQVFBQUFDMUhBd0NBQUFBQzBsRVFWUjQybU5rWUFBQUFBWUFBakNCMEM4QUFBQUFTVVZPUks1Q1lJST1cIlxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2ZvcmVpZ25PYmplY3Q+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbXQtM1wiPlxuICAgICAgICA8RG93bmxvYWRCdXR0b25cbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtbC1tZFwiXG4gICAgICAgICAgbGFiZWw9XCJQTkdcIlxuICAgICAgICAgIEBjbGljaz1cImRvd25sb2FkQXNQbmdcIlxuICAgICAgICAvPlxuICAgICAgICA8RG93bmxvYWRCdXR0b25cbiAgICAgICAgICBjbGFzcz1cInJvdW5kZWQtci1tZFwiXG4gICAgICAgICAgbGFiZWw9XCJKUEVHXCJcbiAgICAgICAgICBAY2xpY2s9XCJkb3dubG9hZEFzSnBlZ1wiXG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuaW1wb3J0IHsgaGV4VG9SZ2IgfSBmcm9tICcuLi91dGlsL2NvbG9yJ1xuaW1wb3J0IHsgdG9QbmcsIHRvSnBlZyB9IGZyb20gJ2h0bWwtdG8taW1hZ2UnXG5pbXBvcnQgSW5wdXRGb3JtIGZyb20gJy4uL3VpL0lucHV0Rm9ybSdcbmltcG9ydCBSYW5nZUZvcm0gZnJvbSAnLi4vdWkvUmFuZ2VGb3JtJ1xuaW1wb3J0IFRleHRhcmVhRm9ybSBmcm9tICcuLi91aS9UZXh0YXJlYUZvcm0nXG5pbXBvcnQgRmlsZUZvcm0gZnJvbSAnLi4vdWkvRmlsZUZvcm0nXG5pbXBvcnQgU2VsZWN0Rm9ybSBmcm9tICcuLi91aS9TZWxlY3RGb3JtJ1xuaW1wb3J0IENoZWNrYm94Rm9ybSBmcm9tICcuLi91aS9DaGVja2JveEZvcm0nXG5pbXBvcnQgQWxpZ25Gb3JtIGZyb20gJy4uL3VpL0FsaWduRm9ybSdcbmltcG9ydCBEb3dubG9hZEJ1dHRvbiBmcm9tICcuLi91aS9Eb3dubG9hZEJ1dHRvbidcblxuZXhwb3J0IGRlZmF1bHQge1xuICBjb21wb25lbnRzOiB7XG4gICAgSW5wdXRGb3JtLFxuICAgIFJhbmdlRm9ybSxcbiAgICBUZXh0YXJlYUZvcm0sXG4gICAgRmlsZUZvcm0sXG4gICAgU2VsZWN0Rm9ybSxcbiAgICBDaGVja2JveEZvcm0sXG4gICAgQWxpZ25Gb3JtLFxuICAgIERvd25sb2FkQnV0dG9uLFxuICB9LFxuICBkYXRhKCkge1xuICAgIHJldHVybiB7XG4gICAgICB0b29sOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndG9vbCcpID8/ICdoZWFkaW5nJyxcbiAgICAgIGF1dGhvcjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F1dGhvcicpID8/ICdBdXRob3IgbmFtZScsXG4gICAgICBhdXRob3JTaXplOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXV0aG9yU2l6ZScpID8/IDEuNSxcbiAgICAgIGF1dGhvclNob3c6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JTaG93JykgPz8gMSxcbiAgICAgIGF1dGhvclBhZGRpbmc6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JQYWRkaW5nJykgPz8gMTAsXG4gICAgICBhdXRob3JBbGlnbjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F1dGhvckFsaWduJykgPz8gJ2xlZnQnLFxuICAgICAgYXV0aG9yVGV4dENvbG9yOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXV0aG9yVGV4dENvbG9yJykgPz8gJyNmZmY5ZTYnLFxuICAgICAgYXV0aG9yTWFyZ2luQm90dG9tOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXV0aG9yTWFyZ2luQm90dG9tJykgPz8gMjAwLFxuICAgICAgYXV0aG9yQmFja2dyb3VuZENvbG9yOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXV0aG9yQmFja2dyb3VuZENvbG9yJykgPz8gJyNmYzU3MDUnLFxuICAgICAgYXV0aG9yQmFja2dyb3VuZE9wYWNpdHk6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRob3JCYWNrZ3JvdW5kT3BhY2l0eScpID8/IDEsXG4gICAgICBoZWFkaW5nOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnaGVhZGluZycpID8/ICdIZWFkaW5nJyxcbiAgICAgIHN1YmhlYWRpbmc6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJoZWFkaW5nJykgPz8gJ1N1YmhlYWRpbmcnLFxuICAgICAgaGVhZGluZ1NwYWNpbmc6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdoZWFkaW5nU3BhY2luZycpID8/IDEwLFxuICAgICAgaGVhZGluZ0FsaWduOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnaGVhZGluZ0FsaWduJykgPz8gJ2xlZnQnLFxuICAgICAgZm9udDogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2ZvbnQnKSA/PyAnVHJlYnVjaGV0IE1TJyxcbiAgICAgIGF2YXRhcjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2F2YXRhcicpLFxuICAgICAgbG9nbzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xvZ28nKSxcbiAgICAgIHRleHRDb2xvcjogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RleHRDb2xvcicpID8/ICcjZmM1NzA1JyxcbiAgICAgIGJhY2tncm91bmQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdiYWNrZ3JvdW5kJyksXG4gICAgICBiYWNrZ3JvdW5kSG92ZXI6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdiYWNrZ3JvdW5kSG92ZXInKSA/PyAnI2ZmZjllNicsXG4gICAgICBiYWNrZ3JvdW5kSG92ZXJPcGFjaXR5OiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYmFja2dyb3VuZEhvdmVyT3BhY2l0eScpID8/IDEsXG4gICAgICBoZWFkaW5nU2l6ZTogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2hlYWRpbmdTaXplJykgPz8gNCxcbiAgICAgIHN1YmhlYWRpbmdTaXplOiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc3ViaGVhZGluZ1NpemUnKSA/PyAyLFxuICAgICAgd2lkdGg6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3aWR0aCcpID8/IDEyMDAsXG4gICAgICBoZWlnaHQ6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdoZWlnaHQnKSA/PyA2MDAsXG4gICAgICBjb250ZW50UGFkZGluZzogbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2NvbnRlbnRQYWRkaW5nJykgPz8gMjAsXG4gICAgICBhbGxvd0h0bWw6IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhbGxvd0h0bWwnKSA/PyAwLFxuICAgICAgb2dNYXhXaWR0aDogMTAwLFxuICAgICAgdG9vbHM6IHtcbiAgICAgICAgaGVhZGluZzogJ0hlYWRpbmcnLFxuICAgICAgICBhdXRob3I6ICdBdXRob3InLFxuICAgICAgICBmb250OiAnRm9udCcsXG4gICAgICAgIGJhY2tncm91bmQ6ICdCYWNrZ3JvdW5kJyxcbiAgICAgICAgc2l6ZXM6ICdTaXplcycsXG4gICAgICB9LFxuICAgICAgc2l6ZXNSZWNvbW1lbmRhdGlvbnM6IHtcbiAgICAgICAgTWFzdG9kb246IFsxMjAwLCA2MDBdLFxuICAgICAgICBMaW5rZWRJbjogWzEyMDAsIDYyN10sXG4gICAgICAgIEluc3RhZ3JhbTogWzEyMDAsIDYzMF0sXG4gICAgICAgIFg6IFsxMjAwLCA2NzVdLFxuICAgICAgfSxcbiAgICAgIGZvbnRzOiBbXG4gICAgICAgIHtsYWJlbDogJ0FyaWFsIChzYW5zLXNlcmlmKScsIHZhbHVlIDogJ0FyaWFsJ30sXG4gICAgICAgIHtsYWJlbDogJ0JydXNoIFNjcmlwdCBNVCAoY3Vyc2l2ZSknLCB2YWx1ZSA6ICdCcnVzaCBTY3JpcHQgTVQnfSxcbiAgICAgICAge2xhYmVsOiAnQ2FsaWJyaSAoc2Fucy1zZXJpZiknLCB2YWx1ZSA6ICdDYWxpYnJpJ30sXG4gICAgICAgIHtsYWJlbDogJ0NvdXJpZXIgTmV3IChtb25vc3BhY2UpJywgdmFsdWUgOiAnQ291cmllciBOZXcnfSxcbiAgICAgICAge2xhYmVsOiAnR2FyYW1vbmQgKHNlcmlmKScsIHZhbHVlIDogJ0dhcmFtb25kJ30sXG4gICAgICAgIHtsYWJlbDogJ0dlb3JnaWEgKHNlcmlmKScsIHZhbHVlIDogJ0dlb3JnaWEnfSxcbiAgICAgICAge2xhYmVsOiAnVGFob21hIChzYW5zLXNlcmlmKScsIHZhbHVlIDogJ1RhaG9tYSd9LFxuICAgICAgICB7bGFiZWw6ICdUaW1lcyBOZXcgUm9tYW4gKHNlcmlmKScsIHZhbHVlIDogJ1RpbWVzIE5ldyBSb21hbid9LFxuICAgICAgICB7bGFiZWw6ICdUcmVidWNoZXQgTVMgKHNhbnMtc2VyaWYpJywgdmFsdWUgOiAnVHJlYnVjaGV0IE1TJ30sXG4gICAgICAgIHtsYWJlbDogJ1ZlcmRhbmEgKHNhbnMtc2VyaWYpJywgdmFsdWUgOiAnVmVyZGFuYSd9LFxuICAgICAgXSxcbiAgICB9XG4gIH0sXG4gIHdhdGNoOiB7XG4gICAgdG9vbCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3Rvb2wnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGF1dGhvcih2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvcicsIHZhbHVlKVxuICAgIH0sXG4gICAgYXV0aG9yU2hvdyh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvclNob3cnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGF1dGhvclNpemUodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRob3JTaXplJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JBbGlnbih2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvckFsaWduJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JQYWRkaW5nKHZhbHVlKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aG9yUGFkZGluZycsIHZhbHVlKVxuICAgIH0sXG4gICAgYXV0aG9yQmFja2dyb3VuZENvbG9yKHZhbHVlKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aG9yQmFja2dyb3VuZENvbG9yJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JCYWNrZ3JvdW5kT3BhY2l0eSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvckJhY2tncm91bmRPcGFjaXR5JywgdmFsdWUpXG4gICAgfSxcbiAgICBhdXRob3JUZXh0Q29sb3IodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRob3JUZXh0Q29sb3InLCB2YWx1ZSlcbiAgICB9LFxuICAgIGF1dGhvck1hcmdpbkJvdHRvbSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2F1dGhvck1hcmdpbkJvdHRvbScsIHZhbHVlKVxuICAgIH0sXG4gICAgaGVhZGluZyh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRpbmcnLCB2YWx1ZSlcbiAgICB9LFxuICAgIHN1YmhlYWRpbmcodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdzdWJoZWFkaW5nJywgdmFsdWUpXG4gICAgfSxcbiAgICBoZWFkaW5nU3BhY2luZyh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRpbmdTcGFjaW5nJywgdmFsdWUpXG4gICAgfSxcbiAgICBhdmF0YXIodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdmF0YXInLCB2YWx1ZSlcbiAgICB9LFxuICAgIGxvZ28odmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsb2dvJywgdmFsdWUpXG4gICAgfSxcbiAgICB0ZXh0Q29sb3IodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0ZXh0Q29sb3InLCB2YWx1ZSlcbiAgICB9LFxuICAgIGJhY2tncm91bmQodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYWNrZ3JvdW5kJywgdmFsdWUpXG4gICAgfSxcbiAgICBiYWNrZ3JvdW5kSG92ZXIodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYWNrZ3JvdW5kSG92ZXInLCB2YWx1ZSlcbiAgICB9LFxuICAgIGJhY2tncm91bmRIb3Zlck9wYWNpdHkodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdiYWNrZ3JvdW5kSG92ZXJPcGFjaXR5JywgdmFsdWUpXG4gICAgfSxcbiAgICBoZWFkaW5nU2l6ZSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlYWRpbmdTaXplJywgdmFsdWUpXG4gICAgfSxcbiAgICBzdWJoZWFkaW5nU2l6ZSh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1YmhlYWRpbmdTaXplJywgdmFsdWUpXG4gICAgfSxcbiAgICBoZWFkaW5nQWxpZ24odmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdoZWFkaW5nQWxpZ24nLCB2YWx1ZSlcbiAgICB9LFxuICAgIHdpZHRoKHZhbHVlKSB7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnd2lkdGgnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGhlaWdodCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2hlaWdodCcsIHZhbHVlKVxuICAgIH0sXG4gICAgY29udGVudFBhZGRpbmcodmFsdWUpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjb250ZW50UGFkZGluZycsIHZhbHVlKVxuICAgIH0sXG4gICAgZm9udCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2ZvbnQnLCB2YWx1ZSlcbiAgICB9LFxuICAgIGFsbG93SHRtbCh2YWx1ZSkge1xuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FsbG93SHRtbCcsIHZhbHVlKVxuICAgIH0sXG4gIH0sXG4gIG1vdW50ZWQoKSB7XG4gICAgdGhpcy51cGRhdGVPZ01heFdpZHRoKClcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy51cGRhdGVPZ01heFdpZHRoLCBmYWxzZSlcbiAgfSxcbiAgbWV0aG9kczoge1xuICAgIG9nU3ZnU3R5bGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhc3BlY3RSYXRpbzogYCR7dGhpcy53aWR0aH0vJHt0aGlzLmhlaWdodH1gLFxuICAgICAgICBtYXhIZWlnaHQ6IGAke3RoaXMub2dNYXhIZWlnaHR9cHggIWltcG9ydGFudGAsXG4gICAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ1N2Z0ZvU3R5bGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhc3BlY3RSYXRpbzogYCR7dGhpcy53aWR0aH0vJHt0aGlzLmhlaWdodH1gLFxuICAgICAgICBtYXhIZWlnaHQ6IGAke3RoaXMub2dNYXhIZWlnaHR9cHggIWltcG9ydGFudGAsXG4gICAgICAgIHdpZHRoOiBgJHt0aGlzLndpZHRofXB4YCxcbiAgICAgICAgaGVpZ2h0OiBgJHt0aGlzLmhlaWdodH1weGAsXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ1N0eWxlKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29sb3I6IHRoaXMudGV4dENvbG9yLFxuICAgICAgICBhc3BlY3RSYXRpbzogYCR7dGhpcy53aWR0aH0vJHt0aGlzLmhlaWdodH1gLFxuICAgICAgICBtYXhIZWlnaHQ6IGAke3RoaXMub2dNYXhIZWlnaHR9cHggIWltcG9ydGFudGAsXG4gICAgICAgIHdpZHRoOiBgJHt0aGlzLndpZHRofXB4YCxcbiAgICAgICAgaGVpZ2h0OiBgJHt0aGlzLmhlaWdodH1weGAsXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ0ltYWdlU3R5bGUoKSB7XG4gICAgICBsZXQgdmFsdWUgPSB7XG4gICAgICAgIGFzcGVjdFJhdGlvOiBgJHt0aGlzLndpZHRofS8ke3RoaXMuaGVpZ2h0fWBcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZCkge1xuICAgICAgICB2YWx1ZS5iYWNrZ3JvdW5kID0gYHVybCgke3RoaXMuYmFja2dyb3VuZH0pIGNlbnRlcmBcbiAgICAgICAgdmFsdWUuYmFja2dyb3VuZFNpemUgPSAnY292ZXInXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZVxuICAgIH0sXG4gICAgb2dIZWFkaW5nU3R5bGUoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBmb250U2l6ZTogYCR7dGhpcy5oZWFkaW5nU2l6ZX1lbWAsXG4gICAgICAgIHRleHRBbGlnbjogdGhpcy5oZWFkaW5nQWxpZ24sXG4gICAgICB9XG4gICAgfSxcbiAgICBvZ1N1YmhlYWRpbmdTdHlsZSgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGZvbnRTaXplOiBgJHt0aGlzLnN1YmhlYWRpbmdTaXplfWVtYCxcbiAgICAgICAgdGV4dEFsaWduOiB0aGlzLmhlYWRpbmdBbGlnbixcbiAgICAgICAgbWFyZ2luVG9wOiBgJHt0aGlzLmhlYWRpbmdTcGFjaW5nfXB4YCxcbiAgICAgIH1cbiAgICB9LFxuICAgIG9nQXV0aG9yU3R5bGUoKSB7XG4gICAgICBsZXQgdmFsdWUgPSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICdub25lJyxcbiAgICAgICAgdGV4dEFsaWduOiB0aGlzLmF1dGhvckFsaWduLFxuICAgICAgICBjb2xvcjogdGhpcy5hdXRob3JUZXh0Q29sb3IsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogYCR7dGhpcy5hdXRob3JNYXJnaW5Cb3R0b219cHhgLFxuICAgICAgICBwYWRkaW5nOiBgJHt0aGlzLmF1dGhvclBhZGRpbmd9cHhgLFxuICAgICAgICBtYXJnaW5MZWZ0OiBgLSR7dGhpcy5jb250ZW50UGFkZGluZ31weGAsXG4gICAgICAgIGZvbnRTaXplOiBgJHt0aGlzLmF1dGhvclNpemV9ZW1gLFxuICAgICAgICB3aWR0aDogYGNhbGMoJHt0aGlzLmNvbnRlbnRQYWRkaW5nICogMn1weCArIDEwMCUpYCxcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuYmFja2dyb3VuZEhvdmVyKSB7XG4gICAgICAgIGNvbnN0IGNvbG9ycyA9IGhleFRvUmdiKHRoaXMuYXV0aG9yQmFja2dyb3VuZENvbG9yKVxuICAgICAgICB2YWx1ZS5iYWNrZ3JvdW5kID0gYHJnYmEoJHtjb2xvcnMucmVkfSwgJHtjb2xvcnMuZ3JlZW59LCAke2NvbG9ycy5ibHVlfSwgJHt0aGlzLmF1dGhvckJhY2tncm91bmRPcGFjaXR5fSlgXG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5hdXRob3JTaG93KSB7XG4gICAgICAgIHZhbHVlLmRpc3BsYXkgPSAnbm9uZSdcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfSxcbiAgICBvZ0F1dGhvckltYWdlU3R5bGUodGFyZ2V0KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB3aWR0aDogYCR7dGhpcy5hdXRob3JTaXplfWVtYCxcbiAgICAgICAgaGVpZ2h0OiBgJHt0aGlzLmF1dGhvclNpemV9ZW1gLFxuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGB1cmwoJHt0YXJnZXQgPT09ICdsb2dvJyA/IHRoaXMubG9nbyA6IHRoaXMuYXZhdGFyfSlgLFxuICAgICAgfVxuICAgIH0sXG4gICAgb2dBdXRob3JUZXh0U3R5bGUoKSB7XG4gICAgICBsZXQgdmFsdWUgPSB7fVxuXG4gICAgICBpZiAodGhpcy5hdXRob3JBbGlnbiA9PT0gJ2xlZnQnKSB7XG4gICAgICAgIHZhbHVlLm1hcmdpblJpZ2h0ID0gJ2F1dG8gIWltcG9ydGFudCdcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hdXRob3JBbGlnbiA9PT0gJ2NlbnRlcicpIHtcbiAgICAgICAgdmFsdWUubWFyZ2luTGVmdCA9ICdhdXRvICFpbXBvcnRhbnQnXG4gICAgICAgIHZhbHVlLm1hcmdpblJpZ2h0ID0gJ2F1dG8gIWltcG9ydGFudCdcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hdXRob3JBbGlnbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICB2YWx1ZS5tYXJnaW5MZWZ0ID0gJ2F1dG8gIWltcG9ydGFudCdcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgfSxcbiAgICBvZ0ltYWdlSG92ZXJTdHlsZSgpIHtcbiAgICAgIGxldCBiYWNrZ3JvdW5kID0gJ25vbmUnXG5cbiAgICAgIGlmICh0aGlzLmJhY2tncm91bmRIb3Zlcikge1xuICAgICAgICBjb25zdCBjb2xvcnMgPSBoZXhUb1JnYih0aGlzLmJhY2tncm91bmRIb3ZlcilcbiAgICAgICAgYmFja2dyb3VuZCA9IGByZ2JhKCR7Y29sb3JzLnJlZH0sICR7Y29sb3JzLmdyZWVufSwgJHtjb2xvcnMuYmx1ZX0sICR7dGhpcy5iYWNrZ3JvdW5kSG92ZXJPcGFjaXR5fSlgXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJhY2tncm91bmQsXG4gICAgICAgIGFzcGVjdFJhdGlvOiBgJHt0aGlzLndpZHRofS8ke3RoaXMuaGVpZ2h0fWBcbiAgICAgIH1cbiAgICB9LFxuICAgIG9nQ29udGVudFN0eWxlKCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGFkZGluZ1RvcDogYCR7dGhpcy5jb250ZW50UGFkZGluZ31weGAsXG4gICAgICAgIHBhZGRpbmdSaWdodDogYCR7dGhpcy5jb250ZW50UGFkZGluZ31weGAsXG4gICAgICAgIHBhZGRpbmdMZWZ0OiBgJHt0aGlzLmNvbnRlbnRQYWRkaW5nfXB4YCxcbiAgICAgIH1cbiAgICB9LFxuICAgIHNldFNpemVzKHdpZHRoLCBoZWlnaHQpIHtcbiAgICAgIHRoaXMud2lkdGggPSB3aWR0aFxuICAgICAgdGhpcy5oZWlnaHQgPSBoZWlnaHRcbiAgICB9LFxuICAgIGRvd25sb2FkQXNQbmcoKSB7XG4gICAgICByZXR1cm4gdGhpcy5kb3dubG9hZCh0b1BuZywgJ2ltYWdlLnBuZycpXG4gICAgfSxcbiAgICBkb3dubG9hZEFzSnBlZygpIHtcbiAgICAgIHJldHVybiB0aGlzLmRvd25sb2FkKHRvSnBlZywgJ2ltYWdlLmpwZycpXG4gICAgfSxcbiAgICBkb3dubG9hZChjYWxsYmFjaywgZmlsZW5hbWUpIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLiRyZWZzLnJlbmRlclxuXG4gICAgICBjYWxsYmFjayhlbGVtZW50LCB7XG4gICAgICAgIGNhbnZhc1dpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgICBjYW52YXNIZWlnaHQ6IHRoaXMuaGVpZ2h0LFxuICAgICAgICBxdWFsaXR5OiAxLFxuICAgICAgfSlcbiAgICAgICAgLnRoZW4oKGRhdGFVcmwpID0+IHtcbiAgICAgICAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpXG5cbiAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGRhdGFVcmwpXG4gICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZW5hbWUpXG4gICAgICAgICAgbGluay5jbGljaygpXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoJ29nLS1zY2FsZScsIGZhbHNlKVxuXG4gICAgICAgICAgY29uc29sZS5lcnJvcignb29wcywgc29tZXRoaW5nIHdlbnQgd3JvbmchJywgZXJyb3IpO1xuICAgICAgICB9KVxuICAgIH0sXG4gICAgdXBkYXRlT2dNYXhXaWR0aCgpIHtcbiAgICAgIHRoaXMuJHJlZnMub2cuc3R5bGUuZGlzcGxheSA9ICdub25lJ1xuICAgICAgdGhpcy5vZ01heFdpZHRoID0gdGhpcy4kcmVmcy5vZ3dyYXBwZXIub2Zmc2V0V2lkdGggLSAzMFxuICAgICAgdGhpcy5vZ01heEhlaWdodCA9IHRoaXMuJHJlZnMudG9vbHMub2Zmc2V0SGVpZ2h0XG4gICAgICB0aGlzLiRyZWZzLm9nLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG4gICAgfSxcbiAgfVxufVxuPC9zY3JpcHQ+XG5cbjxzdHlsZT5cbi50b29sIHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi50b29scyB7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDIwMHB4KTtcbiAgd2lkdGg6IDQ0M3B4O1xufVxuXG4ub2cge1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5vZy13cmFwcGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSA1NDBweCk7XG59XG5cbi5vZy1zdmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ub2ctc3ZnID4gZm9yZWlnbk9iamVjdCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5vZy13cmFwcGVyLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzFjMWMxO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICM2NDY0NjQgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgIzY0NjQ2NCA3NSUpLCBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICM2NDY0NjQgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDc1JSwgIzY0NjQ2NCA3NSUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwLCAxMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm9nLWhlYWRpbmcge1xuICBmb250LXNpemU6IDVlbTtcbn1cblxuLm9nLXN1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDNlbTtcbn1cblxuLm9nLWltYWdlLS1mb290ZXIgaW1nIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cblxuLm9nLWltYWdlLWhvdmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbjwvc3R5bGU+XG4iLCJAdGFpbHdpbmQgYmFzZTtcbkB0YWlsd2luZCBjb21wb25lbnRzO1xuQHRhaWx3aW5kIHV0aWxpdGllcztcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/