0% found this document useful (0 votes)
41 views299 pages

Uber Data Analysis in R

Uploaded by

lokeshreddy3529
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views299 pages

Uber Data Analysis in R

Uploaded by

lokeshreddy3529
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 299

{

"cells": [
{
"cell_type": "markdown",
"id": "contrary-prediction",
"metadata": {
"papermill": {
"duration": 0.023394,
"end_time": "2021-02-12T19:53:15.557950",
"exception": false,
"start_time": "2021-02-12T19:53:15.534556",
"status": "completed"
},
"tags": []
},
"source": [
"# Uber Data Analysis through Visualisations in R\n",
"\n",
"Data storytelling is an important component of Machine Learning through which
companies are able to understand the background of various operations. With the
help of visualization, companies can avail the benefit of understanding the complex
data and gain insights that would help them to craft decisions. This is more of a
data visualization project that will guide you towards using the ggplot2 library
for understanding the data and for developing an intuition for understanding the
customers who avail the trips.\n",
"\n",
"**Important**: The goal of this project is to learn visualisations in R. I do
not claim copyright over any of the content here. \n",
"\n",
"Source: [here](https://data-flair.training/blogs/r-data-science-project-uber-
data-analysis/)"
]
},
{
"cell_type": "markdown",
"id": "liquid-roman",
"metadata": {
"papermill": {
"duration": 0.022634,
"end_time": "2021-02-12T19:53:15.602745",
"exception": false,
"start_time": "2021-02-12T19:53:15.580111",
"status": "completed"
},
"tags": []
},
"source": [
"### Importing necessary libraries\n",
"\n",
"1. **gplot2**: ggplot2 is the most popular data visualization library that is
most widely used for creating aesthetic visualization plots.\n",
"2. **lubridate**: Use time-frames in the dataset\n",
"3. **dplyr**: Data Manipulation\n",
"4. **tidyr**: Tidy the data\n",
"5. **DT**: Datatables in JS\n",
"6. **scales**: With the help of graphical scales, we can automatically map the
data to the correct scales with well-placed axes and legends."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "rubber-guard",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:53:15.652966Z",
"iopub.status.busy": "2021-02-12T19:53:15.650674Z",
"iopub.status.idle": "2021-02-12T19:53:17.262206Z",
"shell.execute_reply": "2021-02-12T19:53:17.260642Z"
},
"papermill": {
"duration": 1.637835,
"end_time": "2021-02-12T19:53:17.262380",
"exception": false,
"start_time": "2021-02-12T19:53:15.624545",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"Attaching package: ‘lubridate’\n",
"\n",
"\n",
"The following objects are masked from ‘package:base’:\n",
"\n",
" date, intersect, setdiff, union\n",
"\n",
"\n",
"\n",
"Attaching package: ‘dplyr’\n",
"\n",
"\n",
"The following objects are masked from ‘package:stats’:\n",
"\n",
" filter, lag\n",
"\n",
"\n",
"The following objects are masked from ‘package:base’:\n",
"\n",
" intersect, setdiff, setequal, union\n",
"\n",
"\n",
"── \u001b[1mAttaching packages\u001b[22m
─────────────────────────────────────── tidyverse 1.3.0 ──\n",
"\n",
"\u001b[32m✔\u001b[39m \u001b[34mtibble \u001b[39m 3.0.6 \u001b[32m✔\
u001b[39m \u001b[34mstringr\u001b[39m 1.4.0\n",
"\u001b[32m✔\u001b[39m \u001b[34mreadr \u001b[39m 1.4.0 \u001b[32m✔\
u001b[39m \u001b[34mforcats\u001b[39m 0.5.0\n",
"\u001b[32m✔\u001b[39m \u001b[34mpurrr \u001b[39m 0.3.4 \n",
"\n",
"── \u001b[1mConflicts\u001b[22m ──────────────────────────────────────────
tidyverse_conflicts() ──\n",
"\u001b[31m✖\u001b[39m \u001b[34mlubridate\u001b[39m::\
u001b[32mas.difftime()\u001b[39m masks \u001b[34mbase\u001b[39m::as.difftime()\n",
"\u001b[31m✖\u001b[39m \u001b[34mlubridate\u001b[39m::\u001b[32mdate()\
u001b[39m masks \u001b[34mbase\u001b[39m::date()\n",
"\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mfilter()\
u001b[39m masks \u001b[34mstats\u001b[39m::filter()\n",
"\u001b[31m✖\u001b[39m \u001b[34mlubridate\u001b[39m::\u001b[32mintersect()\
u001b[39m masks \u001b[34mbase\u001b[39m::intersect()\n",
"\u001b[31m✖\u001b[39m \u001b[34mdplyr\u001b[39m::\u001b[32mlag()\u001b[39m
masks \u001b[34mstats\u001b[39m::lag()\n",
"\u001b[31m✖\u001b[39m \u001b[34mlubridate\u001b[39m::\u001b[32msetdiff()\
u001b[39m masks \u001b[34mbase\u001b[39m::setdiff()\n",
"\u001b[31m✖\u001b[39m \u001b[34mlubridate\u001b[39m::\u001b[32munion()\
u001b[39m masks \u001b[34mbase\u001b[39m::union()\n",
"\n",
"\n",
"Attaching package: ‘scales’\n",
"\n",
"\n",
"The following object is masked from ‘package:purrr’:\n",
"\n",
" discard\n",
"\n",
"\n",
"The following object is masked from ‘package:readr’:\n",
"\n",
" col_factor\n",
"\n",
"\n"
]
}
],
"source": [
"library(ggplot2)\n",
"library(ggthemes)\n",
"library(lubridate)\n",
"library(dplyr)\n",
"library(tidyr)\n",
"library(tidyverse) # metapackage of all tidyverse packages\n",
"library(DT)\n",
"library(scales)"
]
},
{
"cell_type": "markdown",
"id": "seeing-claim",
"metadata": {
"papermill": {
"duration": 0.026788,
"end_time": "2021-02-12T19:53:17.315554",
"exception": false,
"start_time": "2021-02-12T19:53:17.288766",
"status": "completed"
},
"tags": []
},
"source": [
"### Creating vector of colors for the plots"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "documentary-wholesale",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:53:17.410659Z",
"iopub.status.busy": "2021-02-12T19:53:17.370728Z",
"iopub.status.idle": "2021-02-12T19:53:17.428499Z",
"shell.execute_reply": "2021-02-12T19:53:17.427304Z"
},
"papermill": {
"duration": 0.087532,
"end_time": "2021-02-12T19:53:17.428682",
"exception": false,
"start_time": "2021-02-12T19:53:17.341150",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
".list-inline {list-style: none; margin:0; padding: 0}\n",
".list-inline>li {display: inline-block}\n",
".list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding:
0 .5ex}\n",
"</style>\n",
"<ol class=list-inline><li>'#CC1011'</li><li>'#665555'</li><li>'#05a399'</
li><li>'#cfcaca'</li><li>'#f5e840'</li><li>'#0683c9'</li><li>'#e075b0'</li></ol>\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item '\\#CC1011'\n",
"\\item '\\#665555'\n",
"\\item '\\#05a399'\n",
"\\item '\\#cfcaca'\n",
"\\item '\\#f5e840'\n",
"\\item '\\#0683c9'\n",
"\\item '\\#e075b0'\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. '#CC1011'\n",
"2. '#665555'\n",
"3. '#05a399'\n",
"4. '#cfcaca'\n",
"5. '#f5e840'\n",
"6. '#0683c9'\n",
"7. '#e075b0'\n",
"\n",
"\n"
],
"text/plain": [
"[1] \"#CC1011\" \"#665555\" \"#05a399\" \"#cfcaca\" \"#f5e840\" \"#0683c9\"
\"#e075b0\""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"colors =
c(\"#CC1011\", \"#665555\", \"#05a399\", \"#cfcaca\", \"#f5e840\", \"#0683c9\", \"#
e075b0\")\n",
"colors"
]
},
{
"cell_type": "markdown",
"id": "ongoing-detector",
"metadata": {
"papermill": {
"duration": 0.026724,
"end_time": "2021-02-12T19:53:17.482015",
"exception": false,
"start_time": "2021-02-12T19:53:17.455291",
"status": "completed"
},
"tags": []
},
"source": [
"## Read the data from each time-frame"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "outdoor-lesson",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:53:17.540588Z",
"iopub.status.busy": "2021-02-12T19:53:17.538957Z",
"iopub.status.idle": "2021-02-12T19:53:30.946858Z",
"shell.execute_reply": "2021-02-12T19:53:30.945688Z"
},
"papermill": {
"duration": 13.438621,
"end_time": "2021-02-12T19:53:30.947015",
"exception": false,
"start_time": "2021-02-12T19:53:17.508394",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The dimensions of the data are: 4534327 4"
]
}
],
"source": [
"# Read the data for each month separately \n",
"apr <- read.csv(\"../input/uberdataset/uber-raw-data-apr14.csv\")\n",
"may <- read.csv(\"../input/uberdataset/uber-raw-data-may14.csv\")\n",
"june <- read.csv(\"../input/uberdataset/uber-raw-data-jun14.csv\")\n",
"july <- read.csv(\"../input/uberdataset/uber-raw-data-jul14.csv\")\n",
"aug <- read.csv(\"../input/uberdataset/uber-raw-data-aug14.csv\")\n",
"sept <- read.csv(\"../input/uberdataset/uber-raw-data-sep14.csv\")\n",
"\n",
"# Combine the data together \n",
"data <- rbind(apr, may, june, july, aug, sept)\n",
"cat(\"The dimensions of the data are:\", dim(data))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "equivalent-nevada",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:53:31.007561Z",
"iopub.status.busy": "2021-02-12T19:53:31.005976Z",
"iopub.status.idle": "2021-02-12T19:53:31.032552Z",
"shell.execute_reply": "2021-02-12T19:53:31.030971Z"
},
"papermill": {
"duration": 0.058189,
"end_time": "2021-02-12T19:53:31.032698",
"exception": false,
"start_time": "2021-02-12T19:53:30.974509",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A data.frame: 6 × 4</caption>\n",
"<thead>\n",
"\t<tr><th></th><th scope=col>Date.Time</th><th scope=col>Lat</th><th
scope=col>Lon</th><th scope=col>Base</th></tr>\n",
"\t<tr><th></th><th scope=col>&lt;fct&gt;</th><th
scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th
scope=col>&lt;fct&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><th scope=row>1</th><td>4/1/2014 0:11:00</td><td>40.7690</td><td>-
73.9549</td><td>B02512</td></tr>\n",
"\t<tr><th scope=row>2</th><td>4/1/2014 0:17:00</td><td>40.7267</td><td>-
74.0345</td><td>B02512</td></tr>\n",
"\t<tr><th scope=row>3</th><td>4/1/2014 0:21:00</td><td>40.7316</td><td>-
73.9873</td><td>B02512</td></tr>\n",
"\t<tr><th scope=row>4</th><td>4/1/2014 0:28:00</td><td>40.7588</td><td>-
73.9776</td><td>B02512</td></tr>\n",
"\t<tr><th scope=row>5</th><td>4/1/2014 0:33:00</td><td>40.7594</td><td>-
73.9722</td><td>B02512</td></tr>\n",
"\t<tr><th scope=row>6</th><td>4/1/2014 0:33:00</td><td>40.7383</td><td>-
74.0403</td><td>B02512</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A data.frame: 6 × 4\n",
"\\begin{tabular}{r|llll}\n",
" & Date.Time & Lat & Lon & Base\\\\\n",
" & <fct> & <dbl> & <dbl> & <fct>\\\\\n",
"\\hline\n",
"\t1 & 4/1/2014 0:11:00 & 40.7690 & -73.9549 & B02512\\\\\n",
"\t2 & 4/1/2014 0:17:00 & 40.7267 & -74.0345 & B02512\\\\\n",
"\t3 & 4/1/2014 0:21:00 & 40.7316 & -73.9873 & B02512\\\\\n",
"\t4 & 4/1/2014 0:28:00 & 40.7588 & -73.9776 & B02512\\\\\n",
"\t5 & 4/1/2014 0:33:00 & 40.7594 & -73.9722 & B02512\\\\\n",
"\t6 & 4/1/2014 0:33:00 & 40.7383 & -74.0403 & B02512\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 6 × 4\n",
"\n",
"| <!--/--> | Date.Time &lt;fct&gt; | Lat &lt;dbl&gt; | Lon &lt;dbl&gt; |
Base &lt;fct&gt; |\n",
"|---|---|---|---|---|\n",
"| 1 | 4/1/2014 0:11:00 | 40.7690 | -73.9549 | B02512 |\n",
"| 2 | 4/1/2014 0:17:00 | 40.7267 | -74.0345 | B02512 |\n",
"| 3 | 4/1/2014 0:21:00 | 40.7316 | -73.9873 | B02512 |\n",
"| 4 | 4/1/2014 0:28:00 | 40.7588 | -73.9776 | B02512 |\n",
"| 5 | 4/1/2014 0:33:00 | 40.7594 | -73.9722 | B02512 |\n",
"| 6 | 4/1/2014 0:33:00 | 40.7383 | -74.0403 | B02512 |\n",
"\n"
],
"text/plain": [
" Date.Time Lat Lon Base \n",
"1 4/1/2014 0:11:00 40.7690 -73.9549 B02512\n",
"2 4/1/2014 0:17:00 40.7267 -74.0345 B02512\n",
"3 4/1/2014 0:21:00 40.7316 -73.9873 B02512\n",
"4 4/1/2014 0:28:00 40.7588 -73.9776 B02512\n",
"5 4/1/2014 0:33:00 40.7594 -73.9722 B02512\n",
"6 4/1/2014 0:33:00 40.7383 -74.0403 B02512"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Print the first 6 rows of the data\n",
"head(data)"
]
},
{
"cell_type": "markdown",
"id": "local-machine",
"metadata": {
"papermill": {
"duration": 0.027687,
"end_time": "2021-02-12T19:53:31.087935",
"exception": false,
"start_time": "2021-02-12T19:53:31.060248",
"status": "completed"
},
"tags": []
},
"source": [
"The data contains the columns Date.Time which is a factor, Latitude and
Longitudes which are double and Base which is factor. we will format the datetime
into a more readable format using the Date Time conversion function."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "advised-focus",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:53:31.149445Z",
"iopub.status.busy": "2021-02-12T19:53:31.147670Z",
"iopub.status.idle": "2021-02-12T19:54:36.765980Z",
"shell.execute_reply": "2021-02-12T19:54:36.763012Z"
},
"papermill": {
"duration": 65.65074,
"end_time": "2021-02-12T19:54:36.766276",
"exception": false,
"start_time": "2021-02-12T19:53:31.115536",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"data$Date.Time <- as.POSIXct(data$Date.Time, format=\"%m/%d/%Y %H:%M:%S\")\n",
"data$Time <- format(as.POSIXct(data$Date.Time, format = \"%m/%d/%Y %H:%M:
%S\"), format=\"%H:%M:%S\")\n",
"data$Date.Time <- ymd_hms(data$Date.Time)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "tough-powell",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:54:36.834343Z",
"iopub.status.busy": "2021-02-12T19:54:36.832436Z",
"iopub.status.idle": "2021-02-12T19:54:54.229161Z",
"shell.execute_reply": "2021-02-12T19:54:54.227695Z"
},
"papermill": {
"duration": 17.432224,
"end_time": "2021-02-12T19:54:54.229321",
"exception": false,
"start_time": "2021-02-12T19:54:36.797097",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"# Create individual columns for month day and year\n",
"data$day <- factor(day(data$Date.Time))\n",
"data$month <- factor(month(data$Date.Time, label=TRUE))\n",
"data$year <- factor(year(data$Date.Time))\n",
"data$dayofweek <- factor(wday(data$Date.Time, label=TRUE))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "prerequisite-cotton",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:54:54.290265Z",
"iopub.status.busy": "2021-02-12T19:54:54.288888Z",
"iopub.status.idle": "2021-02-12T19:55:10.191264Z",
"shell.execute_reply": "2021-02-12T19:55:10.190121Z"
},
"papermill": {
"duration": 15.933941,
"end_time": "2021-02-12T19:55:10.191441",
"exception": false,
"start_time": "2021-02-12T19:54:54.257500",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"# Add Time variables as well \n",
"data$second = factor(second(hms(data$Time)))\n",
"data$minute = factor(minute(hms(data$Time)))\n",
"data$hour = factor(hour(hms(data$Time)))"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "infinite-station",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:10.252075Z",
"iopub.status.busy": "2021-02-12T19:55:10.250756Z",
"iopub.status.idle": "2021-02-12T19:55:10.274979Z",
"shell.execute_reply": "2021-02-12T19:55:10.273744Z"
},
"papermill": {
"duration": 0.055729,
"end_time": "2021-02-12T19:55:10.275146",
"exception": false,
"start_time": "2021-02-12T19:55:10.219417",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A data.frame: 6 × 12</caption>\n",
"<thead>\n",
"\t<tr><th></th><th scope=col>Date.Time</th><th scope=col>Lat</th><th
scope=col>Lon</th><th scope=col>Base</th><th scope=col>Time</th><th
scope=col>day</th><th scope=col>month</th><th scope=col>year</th><th
scope=col>dayofweek</th><th scope=col>second</th><th scope=col>minute</th><th
scope=col>hour</th></tr>\n",
"\t<tr><th></th><th scope=col>&lt;dttm&gt;</th><th
scope=col>&lt;dbl&gt;</th><th scope=col>&lt;dbl&gt;</th><th
scope=col>&lt;fct&gt;</th><th scope=col>&lt;chr&gt;</th><th
scope=col>&lt;fct&gt;</th><th scope=col>&lt;ord&gt;</th><th
scope=col>&lt;fct&gt;</th><th scope=col>&lt;ord&gt;</th><th
scope=col>&lt;fct&gt;</th><th scope=col>&lt;fct&gt;</th><th
scope=col>&lt;fct&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><th scope=row>1</th><td>2014-04-01 00:11:00</td><td>40.7690</td><td>-
73.9549</td><td>B02512</td><td>00:11:00</td><td>1</td><td>Apr</td><td>2014</
td><td>Tue</td><td>0</td><td>11</td><td>0</td></tr>\n",
"\t<tr><th scope=row>2</th><td>2014-04-01 00:17:00</td><td>40.7267</td><td>-
74.0345</td><td>B02512</td><td>00:17:00</td><td>1</td><td>Apr</td><td>2014</
td><td>Tue</td><td>0</td><td>17</td><td>0</td></tr>\n",
"\t<tr><th scope=row>3</th><td>2014-04-01 00:21:00</td><td>40.7316</td><td>-
73.9873</td><td>B02512</td><td>00:21:00</td><td>1</td><td>Apr</td><td>2014</
td><td>Tue</td><td>0</td><td>21</td><td>0</td></tr>\n",
"\t<tr><th scope=row>4</th><td>2014-04-01 00:28:00</td><td>40.7588</td><td>-
73.9776</td><td>B02512</td><td>00:28:00</td><td>1</td><td>Apr</td><td>2014</
td><td>Tue</td><td>0</td><td>28</td><td>0</td></tr>\n",
"\t<tr><th scope=row>5</th><td>2014-04-01 00:33:00</td><td>40.7594</td><td>-
73.9722</td><td>B02512</td><td>00:33:00</td><td>1</td><td>Apr</td><td>2014</
td><td>Tue</td><td>0</td><td>33</td><td>0</td></tr>\n",
"\t<tr><th scope=row>6</th><td>2014-04-01 00:33:00</td><td>40.7383</td><td>-
74.0403</td><td>B02512</td><td>00:33:00</td><td>1</td><td>Apr</td><td>2014</
td><td>Tue</td><td>0</td><td>33</td><td>0</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A data.frame: 6 × 12\n",
"\\begin{tabular}{r|llllllllllll}\n",
" & Date.Time & Lat & Lon & Base & Time & day & month & year & dayofweek &
second & minute & hour\\\\\n",
" & <dttm> & <dbl> & <dbl> & <fct> & <chr> & <fct> & <ord> & <fct> & <ord>
& <fct> & <fct> & <fct>\\\\\n",
"\\hline\n",
"\t1 & 2014-04-01 00:11:00 & 40.7690 & -73.9549 & B02512 & 00:11:00 & 1 &
Apr & 2014 & Tue & 0 & 11 & 0\\\\\n",
"\t2 & 2014-04-01 00:17:00 & 40.7267 & -74.0345 & B02512 & 00:17:00 & 1 &
Apr & 2014 & Tue & 0 & 17 & 0\\\\\n",
"\t3 & 2014-04-01 00:21:00 & 40.7316 & -73.9873 & B02512 & 00:21:00 & 1 &
Apr & 2014 & Tue & 0 & 21 & 0\\\\\n",
"\t4 & 2014-04-01 00:28:00 & 40.7588 & -73.9776 & B02512 & 00:28:00 & 1 &
Apr & 2014 & Tue & 0 & 28 & 0\\\\\n",
"\t5 & 2014-04-01 00:33:00 & 40.7594 & -73.9722 & B02512 & 00:33:00 & 1 &
Apr & 2014 & Tue & 0 & 33 & 0\\\\\n",
"\t6 & 2014-04-01 00:33:00 & 40.7383 & -74.0403 & B02512 & 00:33:00 & 1 &
Apr & 2014 & Tue & 0 & 33 & 0\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 6 × 12\n",
"\n",
"| <!--/--> | Date.Time &lt;dttm&gt; | Lat &lt;dbl&gt; | Lon &lt;dbl&gt; |
Base &lt;fct&gt; | Time &lt;chr&gt; | day &lt;fct&gt; | month &lt;ord&gt; | year
&lt;fct&gt; | dayofweek &lt;ord&gt; | second &lt;fct&gt; | minute &lt;fct&gt; |
hour &lt;fct&gt; |\n",
"|---|---|---|---|---|---|---|---|---|---|---|---|---|\n",
"| 1 | 2014-04-01 00:11:00 | 40.7690 | -73.9549 | B02512 | 00:11:00 | 1 |
Apr | 2014 | Tue | 0 | 11 | 0 |\n",
"| 2 | 2014-04-01 00:17:00 | 40.7267 | -74.0345 | B02512 | 00:17:00 | 1 |
Apr | 2014 | Tue | 0 | 17 | 0 |\n",
"| 3 | 2014-04-01 00:21:00 | 40.7316 | -73.9873 | B02512 | 00:21:00 | 1 |
Apr | 2014 | Tue | 0 | 21 | 0 |\n",
"| 4 | 2014-04-01 00:28:00 | 40.7588 | -73.9776 | B02512 | 00:28:00 | 1 |
Apr | 2014 | Tue | 0 | 28 | 0 |\n",
"| 5 | 2014-04-01 00:33:00 | 40.7594 | -73.9722 | B02512 | 00:33:00 | 1 |
Apr | 2014 | Tue | 0 | 33 | 0 |\n",
"| 6 | 2014-04-01 00:33:00 | 40.7383 | -74.0403 | B02512 | 00:33:00 | 1 |
Apr | 2014 | Tue | 0 | 33 | 0 |\n",
"\n"
],
"text/plain": [
" Date.Time Lat Lon Base Time day month year
dayofweek\n",
"1 2014-04-01 00:11:00 40.7690 -73.9549 B02512 00:11:00 1 Apr 2014 Tue
\n",
"2 2014-04-01 00:17:00 40.7267 -74.0345 B02512 00:17:00 1 Apr 2014 Tue
\n",
"3 2014-04-01 00:21:00 40.7316 -73.9873 B02512 00:21:00 1 Apr 2014 Tue
\n",
"4 2014-04-01 00:28:00 40.7588 -73.9776 B02512 00:28:00 1 Apr 2014 Tue
\n",
"5 2014-04-01 00:33:00 40.7594 -73.9722 B02512 00:33:00 1 Apr 2014 Tue
\n",
"6 2014-04-01 00:33:00 40.7383 -74.0403 B02512 00:33:00 1 Apr 2014 Tue
\n",
" second minute hour\n",
"1 0 11 0 \n",
"2 0 17 0 \n",
"3 0 21 0 \n",
"4 0 28 0 \n",
"5 0 33 0 \n",
"6 0 33 0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Look at the data\n",
"head(data)"
]
},
{
"cell_type": "markdown",
"id": "private-preference",
"metadata": {
"papermill": {
"duration": 0.028641,
"end_time": "2021-02-12T19:55:10.332869",
"exception": false,
"start_time": "2021-02-12T19:55:10.304228",
"status": "completed"
},
"tags": []
},
"source": [
"## Data Visualisation\n",
"\n",
"### Plotting the trips by hours in a day"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "accomplished-shelf",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:10.395919Z",
"iopub.status.busy": "2021-02-12T19:55:10.394251Z",
"iopub.status.idle": "2021-02-12T19:55:10.638637Z",
"shell.execute_reply": "2021-02-12T19:55:10.639169Z"
},
"papermill": {
"duration": 0.277768,
"end_time": "2021-02-12T19:55:10.639339",
"exception": false,
"start_time": "2021-02-12T19:55:10.361571",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<!doctype html>\n",
"<html>\n",
"\t<head>\n",
"\t\t<meta charset=\"utf-8\">\n",
"\t\t<script title=\"htmlwidgets\"
src=\"data:application/javascript;base64,KGZ1bmN0aW9uKCkgewogIC8vIElmIHdpbmRvdy5IVE
1MV2lkZ2V0cyBpcyBhbHJlYWR5IGRlZmluZWQsIHRoZW4gdXNlIGl0OyBvdGhlcndpc2UgY3JlYXRlIGEKI
CAvLyBuZXcgb2JqZWN0LiBUaGlzIGFsbG93cyBwcmVjZWRpbmcgY29kZSB0byBzZXQgb3B0aW9ucyB0aGF0
IGFmZmVjdCB0aGUKICAvLyBpbml0aWFsaXphdGlvbiBwcm9jZXNzICh0aG91Z2ggbm9uZSBjdXJyZW50bHk
gZXhpc3QpLgogIHdpbmRvdy5IVE1MV2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cyB8fCB7fTsKCiAgLy
8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSB2aWV3ZXIgcGFuZS4gSWYgbm90LCB3ZSdyZSBpbiBhIHdlY
iBicm93c2VyLgogIHZhciB2aWV3ZXJNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnZpZXdlck1vZGUgPQog
ICAgICAvXGJ2aWV3ZXJfcGFuZT0xXGIvLnRlc3Qod2luZG93LmxvY2F0aW9uKTsKCiAgLy8gU2VlIGlmIHd
lJ3JlIHJ1bm5pbmcgaW4gU2hpbnkgbW9kZS4gSWYgbm90LCBpdCdzIGEgc3RhdGljIGRvY3VtZW50LgogIC
8vIE5vdGUgdGhhdCBzdGF0aWMgd2lkZ2V0cyBjYW4gYXBwZWFyIGluIGJvdGggU2hpbnkgYW5kIHN0YXRpY
yBtb2RlcywgYnV0CiAgLy8gb2J2aW91c2x5LCBTaGlueSB3aWRnZXRzIGNhbiBvbmx5IGFwcGVhciBpbiBT
aGlueSBhcHBzL2RvY3VtZW50cy4KICB2YXIgc2hpbnlNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnNoaW5
5TW9kZSA9CiAgICAgIHR5cGVvZih3aW5kb3cuU2hpbnkpICE9PSAidW5kZWZpbmVkIiAmJiAhIXdpbmRvdy
5TaGlueS5vdXRwdXRCaW5kaW5nczsKCiAgLy8gV2UgY2FuJ3QgY291bnQgb24galF1ZXJ5IGJlaW5nIGF2Y
WlsYWJsZSwgc28gd2UgaW1wbGVtZW50IG91ciBvd24KICAvLyB2ZXJzaW9uIGlmIG5lY2Vzc2FyeS4KICBm
dW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKHR5cGVvZihqUXV
lcnkpICE9PSAidW5kZWZpbmVkIiAmJiBzY29wZSBpbnN0YW5jZW9mIGpRdWVyeSkgewogICAgICByZXR1cm
4gc2NvcGUuZmluZChzZWxlY3Rvcik7CiAgICB9CiAgICBpZiAoc2NvcGUucXVlcnlTZWxlY3RvckFsbCkge
wogICAgICByZXR1cm4gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB9CiAgfQoKICBm
dW5jdGlvbiBhc0FycmF5KHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwpCiAgICAgIHJldHVybiB
bXTsKICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKQogICAgICByZXR1cm4gdmFsdWU7CiAgICByZXR1cm4gW3
ZhbHVlXTsKICB9CgogIC8vIEltcGxlbWVudCBqUXVlcnkncyBleHRlbmQKICBmdW5jdGlvbiBleHRlbmQod
GFyZ2V0IC8qLCAuLi4gKi8pIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgcmV0
dXJuIHRhcmdldDsKICAgIH0KICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSs
rKSB7CiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAgIGZvciAodmFyIHByb3AgaW4gc2
91cmNlKSB7CiAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgd
GFyZ2V0W3Byb3BdID0gc291cmNlW3Byb3BdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJu
IHRhcmdldDsKICB9CgogIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgQXJyYXkuZm9yRWFjaC4KICBmdW5jdGl
vbiBmb3JFYWNoKHZhbHVlcywgY2FsbGJhY2ssIHRoaXNBcmcpIHsKICAgIGlmICh2YWx1ZXMuZm9yRWFjaC
kgewogICAgICB2YWx1ZXMuZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZyk7CiAgICB9IGVsc2UgewogICAgI
CBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNhbGxiYWNrLmNh
bGwodGhpc0FyZywgdmFsdWVzW2ldLCBpLCB2YWx1ZXMpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZXB
sYWNlcyB0aGUgc3BlY2lmaWVkIG1ldGhvZCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY1NvdXJjZS
4KICAvLwogIC8vIE5vdGUgdGhhdCBmdW5jU291cmNlIHNob3VsZCBub3QgQkUgdGhlIG5ldyBtZXRob2QsI
Gl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uCiAgLy8gdGhhdCBSRVRVUk5TIHRoZSBuZXcgbWV0aG9kLiBmdW5j
U291cmNlIHJlY2VpdmVzIGEgc2luZ2xlIGFyZ3VtZW50IHRoYXQgaXMKICAvLyB0aGUgb3ZlcnJpZGRlbiB
tZXRob2QsIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbmV3IG1ldGhvZC4gVGhlIG92ZXJyaWRkZW4KIC
AvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBsaWtlIGEgcmVndWxhciBmdW5jdGlvbiwgaXQgaGFzIHRoZSB0Y
XJnZXQgcGVybWFuZW50bHkKICAvLyBib3VuZCB0byBpdCBzbyAidGhpcyIgd2lsbCB3b3JrIGNvcnJlY3Rs
eS4KICBmdW5jdGlvbiBvdmVycmlkZU1ldGhvZCh0YXJnZXQsIG1ldGhvZE5hbWUsIGZ1bmNTb3VyY2UpIHs
KICAgIHZhciBzdXBlckZ1bmMgPSB0YXJnZXRbbWV0aG9kTmFtZV0gfHwgZnVuY3Rpb24oKSB7fTsKICAgIH
ZhciBzdXBlckZ1bmNCb3VuZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gc3VwZXJGdW5jLmFwcGx5K
HRhcmdldCwgYXJndW1lbnRzKTsKICAgIH07CiAgICB0YXJnZXRbbWV0aG9kTmFtZV0gPSBmdW5jU291cmNl
KHN1cGVyRnVuY0JvdW5kKTsKICB9CgogIC8vIEFkZCBhIG1ldGhvZCB0byBkZWxlZ2F0b3IgdGhhdCwgd2h
lbiBpbnZva2VkLCBjYWxscwogIC8vIGRlbGVnYXRlZS5tZXRob2ROYW1lLiBJZiB0aGVyZSBpcyBubyBzdW
NoIG1ldGhvZCBvbgogIC8vIHRoZSBkZWxlZ2F0ZWUsIGJ1dCB0aGVyZSB3YXMgb25lIG9uIGRlbGVnYXRvc
iBiZWZvcmUKICAvLyBkZWxlZ2F0ZU1ldGhvZCB3YXMgY2FsbGVkLCB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJz
aW9uCiAgLy8gaXMgaW52b2tlZCBpbnN0ZWFkLgogIC8vIEZvciBleGFtcGxlOgogIC8vCiAgLy8gdmFyIGE
gPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2ExJyk7IH0KICAvLyAgIG
1ldGhvZDI6IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZygnYTInKTsgfQogIC8vIH07CiAgLy8gdmFyIGIgP
SB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2IxJyk7IH0KICAvLyB9Owog
IC8vIGRlbGVnYXRlTWV0aG9kKGEsIGIsICJtZXRob2QxIik7CiAgLy8gZGVsZWdhdGVNZXRob2QoYSwgYiw
gIm1ldGhvZDIiKTsKICAvLyBhLm1ldGhvZDEoKTsKICAvLyBhLm1ldGhvZDIoKTsKICAvLwogIC8vIFRoZS
BvdXRwdXQgd291bGQgYmUgImIxIiwgImEyIi4KICBmdW5jdGlvbiBkZWxlZ2F0ZU1ldGhvZChkZWxlZ2F0b
3IsIGRlbGVnYXRlZSwgbWV0aG9kTmFtZSkgewogICAgdmFyIGluaGVyaXRlZCA9IGRlbGVnYXRvclttZXRo
b2ROYW1lXTsKICAgIGRlbGVnYXRvclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdGF
yZ2V0ID0gZGVsZWdhdGVlOwogICAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGVlW21ldGhvZE5hbWVdOwoKIC
AgICAgLy8gVGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSBkZWxlZ2F0ZWUuIEluc3RlYWQsCiAgI
CAgIC8vIGNhbGwgdGhlIG1ldGhvZCBvbiB0aGUgZGVsZWdhdG9yLCBpZiBpdCBleGlzdHMuCiAgICAgIGlm
ICghbWV0aG9kKSB7CiAgICAgICAgdGFyZ2V0ID0gZGVsZWdhdG9yOwogICAgICAgIG1ldGhvZCA9IGluaGV
yaXRlZDsKICAgICAgfQoKICAgICAgaWYgKG1ldGhvZCkgewogICAgICAgIHJldHVybiBtZXRob2QuYXBwbH
kodGFyZ2V0LCBhcmd1bWVudHMpOwogICAgICB9CiAgICB9OwogIH0KCiAgLy8gSW1wbGVtZW50IGEgdmFnd
WUgZmFjc2ltaWxpZSBvZiBqUXVlcnkncyBkYXRhIG1ldGhvZAogIGZ1bmN0aW9uIGVsZW1lbnREYXRhKGVs
LCBuYW1lLCB2YWx1ZSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICByZXR1cm4
gZWxbImh0bWx3aWRnZXRfZGF0YV8iICsgbmFtZV07CiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndG
ggPT0gMykgewogICAgICBlbFsiaHRtbHdpZGdldF9kYXRhXyIgKyBuYW1lXSA9IHZhbHVlOwogICAgICByZ
XR1cm4gZWw7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBh
cmd1bWVudHMgZm9yIGVsZW1lbnREYXRhOiAiICsKICAgICAgICBhcmd1bWVudHMubGVuZ3RoKTsKICAgIH0
KICB9CgogIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ0NjE3MC9lc2NhcGUtc3
RyaW5nLWZvci11c2UtaW4tamF2YXNjcmlwdC1yZWdleAogIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHIpI
HsKICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9n
LCAiXFwkJiIpOwogIH0KCiAgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNsYXNzTmFtZSkgewogICAgdmFyIHJ
lID0gbmV3IFJlZ0V4cCgiXFxiIiArIGVzY2FwZVJlZ0V4cChjbGFzc05hbWUpICsgIlxcYiIpOwogICAgcm
V0dXJuIHJlLnRlc3QoZWwuY2xhc3NOYW1lKTsKICB9CgogIC8vIGVsZW1lbnRzIC0gYXJyYXkgKG9yIGFyc
mF5LWxpa2Ugb2JqZWN0KSBvZiBIVE1MIGVsZW1lbnRzCiAgLy8gY2xhc3NOYW1lIC0gY2xhc3MgbmFtZSB0
byB0ZXN0IGZvcgogIC8vIGluY2x1ZGUgLSBpZiB0cnVlLCBvbmx5IHJldHVybiBlbGVtZW50cyB3aXRoIGd
pdmVuIGNsYXNzTmFtZTsKICAvLyAgIGlmIGZhbHNlLCBvbmx5IHJldHVybiBlbGVtZW50cyAqd2l0aG91dC
ogZ2l2ZW4gY2xhc3NOYW1lCiAgZnVuY3Rpb24gZmlsdGVyQnlDbGFzcyhlbGVtZW50cywgY2xhc3NOYW1lL
CBpbmNsdWRlKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVt
ZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoaGFzQ2xhc3MoZWxlbWVudHNbaV0sIGNsYXNzTmFtZSk
gPT0gaW5jbHVkZSkKICAgICAgICByZXN1bHRzLnB1c2goZWxlbWVudHNbaV0pOwogICAgfQogICAgcmV0dX
JuIHJlc3VsdHM7CiAgfQoKICBmdW5jdGlvbiBvbihvYmosIGV2ZW50TmFtZSwgZnVuYykgewogICAgaWYgK
G9iai5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwg
ZnVuYywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChvYmouYXR0YWNoRXZlbnQpIHsKICAgICAgb2JqLmF0dGF
jaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBvZmYob2JqLCBldmVudE
5hbWUsIGZ1bmMpIHsKICAgIGlmIChvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcikKICAgICAgb2JqLnJlbW92Z
UV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jLCBmYWxzZSk7CiAgICBlbHNlIGlmIChvYmouZGV0YWNo
RXZlbnQpIHsKICAgICAgb2JqLmRldGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICA
vLyBUcmFuc2xhdGUgYXJyYXkgb2YgdmFsdWVzIHRvIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgYXMgdXN1YW
wgd2l0aAogIC8vIHRoZSAicGFkZGluZyIgQ1NTIHByb3BlcnR5CiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIub
W96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3BhZGRpbmcKICBmdW5jdGlvbiB1bnBhY2tQYWRkaW5n
KHZhbHVlKSB7CiAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIpCiAgICAgIHZhbHVlID0gW3Z
hbHVlXTsKICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWz
BdLCByaWdodDogdmFsdWVbMF0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzBdfTsKICAgIH0KI
CAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDIpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdo
dDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh
2YWx1ZS5sZW5ndGggPT09IDMpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdW
VbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZ
W5ndGggPT09IDQpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJv
dHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzNdfTsKICAgIH0KICB9CgogIC8vIENvbnZlcnQgYW4gdW5
wYWNrZWQgcGFkZGluZyBvYmplY3QgdG8gYSBDU1MgdmFsdWUKICBmdW5jdGlvbiBwYWRkaW5nVG9Dc3MocG
FkZGluZ09iaikgewogICAgcmV0dXJuIHBhZGRpbmdPYmoudG9wICsgInB4ICIgKyBwYWRkaW5nT2JqLnJpZ
2h0ICsgInB4ICIgKyBwYWRkaW5nT2JqLmJvdHRvbSArICJweCAiICsgcGFkZGluZ09iai5sZWZ0ICsgInB4
IjsKICB9CgogIC8vIE1ha2VzIGEgbnVtYmVyIHN1aXRhYmxlIGZvciBDU1MKICBmdW5jdGlvbiBweCh4KSB
7CiAgICBpZiAodHlwZW9mKHgpID09PSAibnVtYmVyIikKICAgICAgcmV0dXJuIHggKyAicHgiOwogICAgZW
xzZQogICAgICByZXR1cm4geDsKICB9CgogIC8vIFJldHJpZXZlcyBydW50aW1lIHdpZGdldCBzaXppbmcga
W5mb3JtYXRpb24gZm9yIGFuIGVsZW1lbnQuCiAgLy8gVGhlIHJldHVybiB2YWx1ZSBpcyBlaXRoZXIgbnVs
bCwgb3IgYW4gb2JqZWN0IHdpdGggZmlsbCwgcGFkZGluZywKICAvLyBkZWZhdWx0V2lkdGgsIGRlZmF1bHR
IZWlnaHQgZmllbGRzLgogIGZ1bmN0aW9uIHNpemluZ1BvbGljeShlbCkgewogICAgdmFyIHNpemluZ0VsID
0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZ
T0nYXBwbGljYXRpb24vaHRtbHdpZGdldC1zaXppbmcnXSIpOwogICAgaWYgKCFzaXppbmdFbCkKICAgICAg
cmV0dXJuIG51bGw7CiAgICB2YXIgc3AgPSBKU09OLnBhcnNlKHNpemluZ0VsLnRleHRDb250ZW50IHx8IHN
pemluZ0VsLnRleHQgfHwgInt9Iik7CiAgICBpZiAodmlld2VyTW9kZSkgewogICAgICByZXR1cm4gc3Audm
lld2VyOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHNwLmJyb3dzZXI7CiAgICB9CiAgfQoKICAvLyBAc
GFyYW0gdGFza3MgQXJyYXkgb2Ygc3RyaW5ncyAob3IgZmFsc3kgdmFsdWUsIGluIHdoaWNoIGNhc2Ugbm8t
b3ApLgogIC8vICAgRWFjaCBlbGVtZW50IG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24
gdGhhdCB5aWVsZHMgYQogIC8vICAgZnVuY3Rpb24uIE9yLCBjYW4gYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cy
B3aXRoICJjb2RlIiBhbmQgImRhdGEiCiAgLy8gICBwcm9wZXJ0aWVzOyBpbiB0aGlzIGNhc2UsIHRoZSAiY
29kZSIgcHJvcGVydHkgc2hvdWxkIGJlIGEgc3RyaW5nCiAgLy8gICBvZiBKUyB0aGF0J3MgYW4gZXhwciB0
aGF0IHlpZWxkcyBhIGZ1bmN0aW9uLCBhbmQgImRhdGEiIHNob3VsZCBiZQogIC8vICAgYW4gb2JqZWN0
IHRoYXQgd2lsbCBiZSBhZGRlZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50IHdoZW4gdGhhdAogIC8vICA
gZnVuY3Rpb24gaXMgY2FsbGVkLgogIC8vIEBwYXJhbSB0YXJnZXQgVGhlIG9iamVjdCB0aGF0IHdpbGwgYm
UgInRoaXMiIGZvciBlYWNoIGZ1bmN0aW9uCiAgLy8gICBleGVjdXRpb24uCiAgLy8gQHBhcmFtIGFyZ3MgQ
XJyYXkgb2YgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb25zLiAoVGhlCiAgLy8gICBz
YW1lIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBhbGwgZnVuY3Rpb25zLikKICBmdW5jdGlvbiBldmF
sQW5kUnVuKHRhc2tzLCB0YXJnZXQsIGFyZ3MpIHsKICAgIGlmICh0YXNrcykgewogICAgICBmb3JFYWNoKH
Rhc2tzLCBmdW5jdGlvbih0YXNrKSB7CiAgICAgICAgdmFyIHRoZXNlQXJncyA9IGFyZ3M7CiAgICAgICAga
WYgKHR5cGVvZih0YXNrKSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgIHRoZXNlQXJncyA9IHRoZXNlQXJn
cy5jb25jYXQoW3Rhc2suZGF0YV0pOwogICAgICAgICAgdGFzayA9IHRhc2suY29kZTsKICAgICAgICB9CiA
gICAgICAgdmFyIHRhc2tGdW5jID0gdHJ5RXZhbCh0YXNrKTsKICAgICAgICBpZiAodHlwZW9mKHRhc2tGdW
5jKSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUYXNrIG11c3QgYmUgY
SBmdW5jdGlvbiEgU291cmNlOlxuIiArIHRhc2spOwogICAgICAgIH0KICAgICAgICB0YXNrRnVuYy5hcHBs
eSh0YXJnZXQsIHRoZXNlQXJncyk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgLy8gQXR0ZW1wdCBldmFsKCk
gYm90aCB3aXRoIGFuZCB3aXRob3V0IGVuY2xvc2luZyBpbiBwYXJlbnRoZXNlcy4KICAvLyBOb3RlIHRoYX
QgZW5jbG9zaW5nIGNvZXJjZXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpbnRvCiAgLy8gYW4gZXhwcmVzc
2lvbiB0aGF0IGV2YWwoKSBjYW4gcGFyc2UKICAvLyAob3RoZXJ3aXNlLCBhIFN5bnRheEVycm9yIGlzIHRo
cm93bikKICBmdW5jdGlvbiB0cnlFdmFsKGNvZGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdHJ
5IHsKICAgICAgcmVzdWx0ID0gZXZhbCgiKCIgKyBjb2RlICsgIikiKTsKICAgIH0gY2F0Y2goZXJyb3IpIH
sKICAgICAgaWYgKCFlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgdGhyb3cgZXJyb
3I7CiAgICAgIH0KICAgICAgdHJ5IHsKICAgICAgICByZXN1bHQgPSBldmFsKGNvZGUpOwogICAgICB9IGNh
dGNoKGUpIHsKICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgICB0aHJ
vdyBlcnJvcjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH
0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBpbml0U2l6aW5nKGVsKSB7CiAgI
CB2YXIgc2l6aW5nID0gc2l6aW5nUG9saWN5KGVsKTsKICAgIGlmICghc2l6aW5nKQogICAgICByZXR1cm47
CgogICAgdmFyIGNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJodG1sd2lkZ2V0X2NvbnRhaW5lciI
pOwogICAgaWYgKCFjZWwpCiAgICAgIHJldHVybjsKCiAgICBpZiAodHlwZW9mKHNpemluZy5wYWRkaW5nKS
AhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5tYXJnaW4gPSAiMCI7CiAgI
CAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZyA9IHBhZGRpbmdUb0Nzcyh1bnBhY2tQYWRkaW5nKHNp
emluZy5wYWRkaW5nKSk7CiAgICB9CgogICAgaWYgKHNpemluZy5maWxsKSB7CiAgICAgIGRvY3VtZW50LmJ
vZHkuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aC
A9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIGRvY
3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9ICIxMDAlIjsKICAgICAgaWYgKGNlbCkgewogICAgICAgIGN
lbC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgdmFyIHBhZCA9IHVucGFja1BhZGRpbm
coc2l6aW5nLnBhZGRpbmcpOwogICAgICAgIGNlbC5zdHlsZS50b3AgPSBwYWQudG9wICsgInB4IjsKICAgI
CAgICBjZWwuc3R5bGUucmlnaHQgPSBwYWQucmlnaHQgKyAicHgiOwogICAgICAgIGNlbC5zdHlsZS5ib3R0
b20gPSBwYWQuYm90dG9tICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUubGVmdCA9IHBhZC5sZWZ0ICsgInB
4IjsKICAgICAgICBlbC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPS
AiMTAwJSI7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkge
yByZXR1cm4gY2VsLm9mZnNldFdpZHRoOyB9LAogICAgICAgIGdldEhlaWdodDogZnVuY3Rpb24oKSB7IHJl
dHVybiBjZWwub2Zmc2V0SGVpZ2h0OyB9CiAgICAgIH07CgogICAgfSBlbHNlIHsKICAgICAgZWwuc3R5bGU
ud2lkdGggPSBweChzaXppbmcud2lkdGgpOwogICAgICBlbC5zdHlsZS5oZWlnaHQgPSBweChzaXppbmcuaG
VpZ2h0KTsKCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkgeyByZXR1cm4gZ
Wwub2Zmc2V0V2lkdGg7IH0sCiAgICAgICAgZ2V0SGVpZ2h0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGVsLm9m
ZnNldEhlaWdodDsgfQogICAgICB9OwogICAgfQogIH0KCiAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnM
gZm9yIG1ldGhvZHMKICB2YXIgZGVmYXVsdHMgPSB7CiAgICBmaW5kOiBmdW5jdGlvbihzY29wZSkgewogIC
AgICByZXR1cm4gcXVlcnlTZWxlY3RvckFsbChzY29wZSwgIi4iICsgdGhpcy5uYW1lKTsKICAgIH0sCiAgI
CByZW5kZXJFcnJvcjogZnVuY3Rpb24oZWwsIGVycikgewogICAgICB2YXIgJGVsID0gJChlbCk7CgogICAg
ICB0aGlzLmNsZWFyRXJyb3IoZWwpOwoKICAgICAgLy8gQWRkIGFsbCB0aGVzZSBlcnJvciBjbGFzc2VzLCB
hcyBTaGlueSBkb2VzCiAgICAgIHZhciBlcnJDbGFzcyA9ICJzaGlueS1vdXRwdXQtZXJyb3IiOwogICAgIC
BpZiAoZXJyLnR5cGUgIT09IG51bGwpIHsKICAgICAgICAvLyB1c2UgdGhlIGNsYXNzZXMgb2YgdGhlIGVyc
m9yIGNvbmRpdGlvbiBhcyBDU1MgY2xhc3MgbmFtZXMKICAgICAgICBlcnJDbGFzcyA9IGVyckNsYXNzICsg
IiAiICsgJC5tYXAoYXNBcnJheShlcnIudHlwZSksIGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgICAgIHJldHV
ybiBlcnJDbGFzcyArICItIiArIHR5cGU7CiAgICAgICAgfSkuam9pbigiICIpOwogICAgICB9CiAgICAgIG
VyckNsYXNzID0gZXJyQ2xhc3MgKyAiIGh0bWx3aWRnZXRzLWVycm9yIjsKCiAgICAgIC8vIElzIGVsIGlub
GluZSBvciBibG9jaz8gSWYgaW5saW5lIG9yIGlubGluZS1ibG9jaywganVzdCBkaXNwbGF5Om5vbmUgaXQK
ICAgICAgLy8gYW5kIGFkZCBhbiBpbmxpbmUgZXJyb3IuCiAgICAgIHZhciBkaXNwbGF5ID0gJGVsLmNzcyg
iZGlzcGxheSIpOwogICAgICAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBkaXNwbGF5KTsKCi
AgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikge
wogICAgICAgICRlbC5oaWRlKCk7CiAgICAgICAgaWYgKGVyci5tZXNzYWdlICE9PSAiIikgewogICAgICAg
ICAgdmFyIGVycm9yU3BhbiA9ICQoIjxzcGFuPiIpLmFkZENsYXNzKGVyckNsYXNzKTsKICAgICAgICAgIGV
ycm9yU3Bhbi50ZXh0KGVyci5tZXNzYWdlKTsKICAgICAgICAgICRlbC5hZnRlcihlcnJvclNwYW4pOwogIC
AgICAgIH0KICAgICAgfSBlbHNlIGlmIChkaXNwbGF5ID09PSAiYmxvY2siKSB7CiAgICAgICAgLy8gSWYgY
mxvY2ssIGFkZCBhbiBlcnJvciBqdXN0IGFmdGVyIHRoZSBlbCwgc2V0IHZpc2liaWxpdHk6bm9uZSBvbiB0
aGUKICAgICAgICAvLyBlbCwgYW5kIHBvc2l0aW9uIHRoZSBlcnJvciB0byBiZSBvbiB0b3Agb2YgdGhlIGV
sLgogICAgICAgIC8vIE1hcmsgaXQgd2l0aCBhIHVuaXF1ZSBJRCBhbmQgQ1NTIGNsYXNzIHNvIHdlIGNhbi
ByZW1vdmUgaXQgbGF0ZXIuCiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKTsKICAgI
CAgICBpZiAoZXJyLm1lc3NhZ2UgIT09ICIiKSB7CiAgICAgICAgICB2YXIgZXJyb3JEaXYgPSAkKCI8ZGl2
PiIpLmFkZENsYXNzKGVyckNsYXNzKS5jc3MoInBvc2l0aW9uIiwgImFic29sdXRlIikKICAgICAgICAgICA
gLmNzcygidG9wIiwgZWwub2Zmc2V0VG9wKQogICAgICAgICAgICAuY3NzKCJsZWZ0IiwgZWwub2Zmc2V0TG
VmdCkKICAgICAgICAgICAgLy8gc2V0dGluZyB3aWR0aCBjYW4gcHVzaCBvdXQgdGhlIHBhZ2Ugc2l6ZSwgZ
m9yY2luZyBvdGhlcndpc2UKICAgICAgICAgICAgLy8gdW5uZWNlc3Nhcnkgc2Nyb2xsYmFycyB0byBhcHBl
YXIgYW5kIG1ha2luZyBpdCBpbXBvc3NpYmxlIGZvcgogICAgICAgICAgICAvLyB0aGUgZWxlbWVudCB0byB
zaHJpbms7IHNvIHVzZSBtYXgtd2lkdGggaW5zdGVhZAogICAgICAgICAgICAuY3NzKCJtYXhXaWR0aCIsIG
VsLm9mZnNldFdpZHRoKQogICAgICAgICAgICAuY3NzKCJoZWlnaHQiLCBlbC5vZmZzZXRIZWlnaHQpOwogI
CAgICAgICAgZXJyb3JEaXYudGV4dChlcnIubWVzc2FnZSk7CiAgICAgICAgICAkZWwuYWZ0ZXIoZXJyb3JE
aXYpOwoKICAgICAgICAgIC8vIFJlYWxseSBkdW1iIHdheSB0byBrZWVwIHRoZSBzaXplL3Bvc2l0aW9uIG9
mIHRoZSBlcnJvciBpbiBzeW5jIHdpdGgKICAgICAgICAgIC8vIHRoZSBwYXJlbnQgZWxlbWVudCBhcyB0aG
Ugd2luZG93IGlzIHJlc2l6ZWQgb3Igd2hhdGV2ZXIuCiAgICAgICAgICB2YXIgaW50SWQgPSBzZXRJbnRlc
nZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCFlcnJvckRpdlswXS5wYXJlbnRFbGVtZW50KSB7
CiAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRJZCk7CiAgICAgICAgICAgICAgcmV0dXJuOwogICA
gICAgICAgICB9CiAgICAgICAgICAgIGVycm9yRGl2CiAgICAgICAgICAgICAgLmNzcygidG9wIiwgZWwub2
Zmc2V0VG9wKQogICAgICAgICAgICAgIC5jc3MoImxlZnQiLCBlbC5vZmZzZXRMZWZ0KQogICAgICAgICAgI
CAgIC5jc3MoIm1heFdpZHRoIiwgZWwub2Zmc2V0V2lkdGgpCiAgICAgICAgICAgICAgLmNzcygiaGVpZ2h0
IiwgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB
9LAogICAgY2xlYXJFcnJvcjogZnVuY3Rpb24oZWwpIHsKICAgICAgdmFyICRlbCA9ICQoZWwpOwogICAgIC
B2YXIgZGlzcGxheSA9ICRlbC5kYXRhKCJyZXN0b3JlLWRpc3BsYXktbW9kZSIpOwogICAgICAkZWwuZGF0Y
SgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBudWxsKTsKCiAgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5l
IiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikgewogICAgICAgIGlmIChkaXNwbGF5KQogICAgICA
gICAgJGVsLmNzcygiZGlzcGxheSIsIGRpc3BsYXkpOwogICAgICAgICQoZWwubmV4dFNpYmxpbmcpLmZpbH
RlcigiLmh0bWx3aWRnZXRzLWVycm9yIikucmVtb3ZlKCk7CiAgICAgIH0gZWxzZSBpZiAoZGlzcGxheSA9P
T0gImJsb2NrIil7CiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJpbmhlcml0Iik7CiAgICAgICAg
JChlbC5uZXh0U2libGluZykuZmlsdGVyKCIuaHRtbHdpZGdldHMtZXJyb3IiKS5yZW1vdmUoKTsKICAgICA
gfQogICAgfSwKICAgIHNpemluZzoge30KICB9OwoKICAvLyBDYWxsZWQgYnkgd2lkZ2V0IGJpbmRpbmdzIH
RvIHJlZ2lzdGVyIGEgbmV3IHR5cGUgb2Ygd2lkZ2V0LiBUaGUgZGVmaW5pdGlvbgogIC8vIG9iamVjdCBjY
W4gY29udGFpbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6CiAgLy8gLSBuYW1lIChyZXF1aXJlZCkgLSBB
IHN0cmluZyBpbmRpY2F0aW5nIHRoZSBiaW5kaW5nIG5hbWUsIHdoaWNoIHdpbGwgYmUKICAvLyAgIHVzZWQ
gYnkgZGVmYXVsdCBhcyB0aGUgQ1NTIGNsYXNzbmFtZSB0byBsb29rIGZvci4KICAvLyAtIGluaXRpYWxpem
UgKG9wdGlvbmFsKSAtIEEgZnVuY3Rpb24oZWwpIHRoYXQgd2lsbCBiZSBjYWxsZWQgb25jZSBwZXIKICAvL
yAgIHdpZGdldCBlbGVtZW50OyBpZiBhIHZhbHVlIGlzIHJldHVybmVkLCBpdCB3aWxsIGJlIHBhc3NlZCBh
cyB0aGUgdGhpcmQKICAvLyAgIHZhbHVlIHRvIHJlbmRlclZhbHVlLgogIC8vIC0gcmVuZGVyVmFsdWUgKHJ
lcXVpcmVkKSAtIEEgZnVuY3Rpb24oZWwsIGRhdGEsIGluaXRWYWx1ZSkgdGhhdCB3aWxsIGJlCiAgLy8gIC
BjYWxsZWQgd2l0aCBkYXRhLiBTdGF0aWMgY29udGV4dHMgd2lsbCBjYXVzZSB0aGlzIHRvIGJlIGNhbGxlZ
CBvbmNlIHBlcgogIC8vICAgZWxlbWVudDsgU2hpbnkgYXBwcyB3aWxsIGNhdXNlIHRoaXMgdG8gYmUgY2Fs
bGVkIG11bHRpcGxlIHRpbWVzIHBlcgogIC8vICAgZWxlbWVudCwgYXMgdGhlIGRhdGEgY2hhbmdlcy4KICB
3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0ID0gZnVuY3Rpb24oZGVmaW5pdGlvbikgewogICAgaWYgKCFkZW
Zpbml0aW9uLm5hbWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgbmFtZ
SIpOwogICAgfQogICAgaWYgKCFkZWZpbml0aW9uLnR5cGUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJX
aWRnZXQgbXVzdCBoYXZlIGEgdHlwZSIpOwogICAgfQogICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9
ydCBvdXRwdXQgd2lkZ2V0cwogICAgaWYgKGRlZmluaXRpb24udHlwZSAhPT0gIm91dHB1dCIpIHsKICAgIC
AgdGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgd2lkZ2V0IHR5cGUgJyIgKyBkZWZpbml0aW9uLnR5c
GUgKyAiJyIpOwogICAgfQogICAgLy8gVE9ETzogVmVyaWZ5IHRoYXQgLm5hbWUgaXMgYSB2YWxpZCBDU1Mg
Y2xhc3NuYW1lCgogICAgLy8gU3VwcG9ydCBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbnM
uIE9sZC1zdHlsZSBjbGFzcy1ib3VuZAogICAgLy8gZGVmaW5pdGlvbnMgaGF2ZSBvbmUgd2lkZ2V0ICJvYm
plY3QiIHBlciB3aWRnZXQgcGVyIHR5cGUvY2xhc3Mgb2YKICAgIC8vIHdpZGdldDsgdGhlIHJlbmRlclZhb
HVlIGFuZCByZXNpemUgbWV0aG9kcyBvbiBzdWNoIHdpZGdldCBvYmplY3RzCiAgICAvLyB0YWtlIGVsIGFu
ZCBpbnN0YW5jZSBhcmd1bWVudHMsIGJlY2F1c2UgdGhlIHdpZGdldCBvYmplY3QgY2FuJ3QKICAgIC8vIHN
0b3JlIHRoZW0uIE5ldy1zdHlsZSBpbnN0YW5jZS1ib3VuZCBkZWZpbml0aW9ucyBoYXZlIG9uZSB3aWRnZX
QKICAgIC8vIG9iamVjdCBwZXIgd2lkZ2V0IGluc3RhbmNlOyB0aGUgZGVmaW5pdGlvbiB0aGF0J3MgcGFzc
2VkIGluIGRvZXNuJ3QKICAgIC8vIHByb3ZpZGUgcmVuZGVyVmFsdWUgb3IgcmVzaXplIG1ldGhvZHMgYXQg
YWxsLCBqdXN0IHRoZSBzaW5nbGUgbWV0aG9kCiA
gICAvLyAgIGZhY3RvcnkoZWwsIHdpZHRoLCBoZWlnaHQpCiAgICAvLyB3aGljaCByZXR1cm5zIGFuIG9iam
VjdCB0aGF0IGhhcyByZW5kZXJWYWx1ZSh4KSBhbmQgcmVzaXplKHcsIGgpLgogICAgLy8gVGhpcyBlbmFib
GVzIGEgZmFyIG1vcmUgbmF0dXJhbCBwcm9ncmFtbWluZyBzdHlsZSBmb3IgdGhlIHdpZGdldAogICAgLy8g
YXV0aG9yLCB3aG8gY2FuIHN0b3JlIHBlci1pbnN0YW5jZSBzdGF0ZSB1c2luZyBlaXRoZXIgT08tc3R5bGU
KICAgIC8vIGluc3RhbmNlIGZpZWxkcyBvciBmdW5jdGlvbmFsLXN0eWxlIGNsb3N1cmUgdmFyaWFibGVzIC
hJIGd1ZXNzIHRoaXMKICAgIC8vIGlzIGluIGNvbnRyYXN0IHRvIHdoYXQgY2FuIG9ubHkgYmUgY2FsbGVkI
EMtc3R5bGUgcHNldWRvLU9PIHdoaWNoIGlzCiAgICAvLyB3aGF0IHdlIHJlcXVpcmVkIGJlZm9yZSkuCiAg
ICBpZiAoZGVmaW5pdGlvbi5mYWN0b3J5KSB7CiAgICAgIGRlZmluaXRpb24gPSBjcmVhdGVMZWdhY3lEZWZ
pbml0aW9uQWRhcHRlcihkZWZpbml0aW9uKTsKICAgIH0KCiAgICBpZiAoIWRlZmluaXRpb24ucmVuZGVyVm
FsdWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgcmVuZGVyVmFsdWUgZ
nVuY3Rpb24iKTsKICAgIH0KCiAgICAvLyBGb3Igc3RhdGljIHJlbmRlcmluZyAobm9uLVNoaW55KSwgdXNl
IGEgc2ltcGxlIHdpZGdldCByZWdpc3RyYXRpb24KICAgIC8vIHNjaGVtZS4gV2UgYWxzbyB1c2UgdGhpcyB
zY2hlbWUgZm9yIFNoaW55IGFwcHMvZG9jdW1lbnRzIHRoYXQgYWxzbwogICAgLy8gY29udGFpbiBzdGF0aW
Mgd2lkZ2V0cy4KICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzID0gd2luZG93LkhUTUxXaWRnZXRzL
ndpZGdldHMgfHwgW107CiAgICAvLyBNZXJnZSBkZWZhdWx0cyBpbnRvIHRoZSBkZWZpbml0aW9uOyBkb24n
dCBtdXRhdGUgdGhlIG9yaWdpbmFsIGRlZmluaXRpb24uCiAgICB2YXIgc3RhdGljQmluZGluZyA9IGV4dGV
uZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwogICAgb3ZlcnJpZGVNZXRob2Qoc3RhdGljQmluZGluZy
wgImZpbmQiLCBmdW5jdGlvbihzdXBlcmZ1bmMpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKHNjb3BlKSB7C
iAgICAgICAgdmFyIHJlc3VsdHMgPSBzdXBlcmZ1bmMoc2NvcGUpOwogICAgICAgIC8vIEZpbHRlciBvdXQg
U2hpbnkgb3V0cHV0cywgd2Ugb25seSB3YW50IHRoZSBzdGF0aWMga2luZAogICAgICAgIHJldHVybiBmaWx
0ZXJCeUNsYXNzKHJlc3VsdHMsICJodG1sLXdpZGdldC1vdXRwdXQiLCBmYWxzZSk7CiAgICAgIH07CiAgIC
B9KTsKICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzLnB1c2goc3RhdGljQmluZGluZyk7CgogICAga
WYgKHNoaW55TW9kZSkgewogICAgICAvLyBTaGlueSBpcyBydW5uaW5nLiBSZWdpc3RlciB0aGUgZGVmaW5p
dGlvbiB3aXRoIGFuIG91dHB1dCBiaW5kaW5nLgogICAgICAvLyBUaGUgZGVmaW5pdGlvbiBpdHNlbGYgd2l
sbCBub3QgYmUgdGhlIG91dHB1dCBiaW5kaW5nLCBpbnN0ZWFkCiAgICAgIC8vIHdlIHdpbGwgbWFrZSBhbi
BvdXRwdXQgYmluZGluZyBvYmplY3QgdGhhdCBkZWxlZ2F0ZXMgdG8gdGhlCiAgICAgIC8vIGRlZmluaXRpb
24uIFRoaXMgaXMgYmVjYXVzZSB3ZSBmb29saXNobHkgdXNlZCB0aGUgc2FtZSBtZXRob2QKICAgICAgLy8g
bmFtZSAocmVuZGVyVmFsdWUpIGZvciBodG1sd2lkZ2V0cyBkZWZpbml0aW9uIGFuZCBTaGlueSBiaW5kaW5
ncwogICAgICAvLyBidXQgdGhleSBhY3R1YWxseSBoYXZlIHF1aXRlIGRpZmZlcmVudCBzZW1hbnRpY3MgKH
RoZSBTaGlueQogICAgICAvLyBiaW5kaW5ncyByZWNlaXZlIGRhdGEgdGhhdCBpbmNsdWRlcyBsb3RzIG9mI
G1ldGFkYXRhIHRoYXQgaXQKICAgICAgLy8gc3RyaXBzIG9mZiBiZWZvcmUgY2FsbGluZyBodG1sd2lkZ2V0
cyByZW5kZXJWYWx1ZSkuIFdlIGNhbid0CiAgICAgIC8vIGp1c3QgaWdub3JlIHRoZSBkaWZmZXJlbmNlIGJ
lY2F1c2UgaW4gc29tZSB3aWRnZXRzIGl0J3MgaGVscGZ1bAogICAgICAvLyB0byBjYWxsIHRoaXMucmVuZG
VyVmFsdWUoKSBmcm9tIGluc2lkZSBvZiByZXNpemUoKSwgYW5kIGlmCiAgICAgIC8vIHdlJ3JlIG5vdCBkZ
WxlZ2F0aW5nLCB0aGVuIHRoYXQgY2FsbCB3aWxsIGdvIHRvIHRoZSBTaGlueQogICAgICAvLyB2ZXJzaW9u
IGluc3RlYWQgb2YgdGhlIGh0bWx3aWRnZXRzIHZlcnNpb24uCgogICAgICAvLyBNZXJnZSBkZWZhdWx0cyB
3aXRoIGRlZmluaXRpb24sIHdpdGhvdXQgbXV0YXRpbmcgZWl0aGVyLgogICAgICB2YXIgYmluZGluZ0RlZi
A9IGV4dGVuZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwoKICAgICAgLy8gVGhpcyBvYmplY3Qgd2lsb
CBiZSBvdXIgYWN0dWFsIFNoaW55IGJpbmRpbmcuCiAgICAgIHZhciBzaGlueUJpbmRpbmcgPSBuZXcgU2hp
bnkuT3V0cHV0QmluZGluZygpOwoKICAgICAgLy8gV2l0aCBhIGZldyBleGNlcHRpb25zLCB3ZSdsbCB3YW5
0IHRvIHNpbXBseSB1c2UgdGhlIGJpbmRpbmdEZWYncwogICAgICAvLyB2ZXJzaW9uIG9mIG1ldGhvZHMgaW
YgdGhleSBhcmUgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvCiAgICAgIC8vIFNoaW55J3MgZ
GVmYXVsdHMuIE5PVEU6IElmIFNoaW55J3Mgb3V0cHV0IGJpbmRpbmdzIGdhaW4gYWRkaXRpb25hbAogICAg
ICAvLyBtZXRob2RzIGluIHRoZSBmdXR1cmUsIGFuZCB3ZSB3YW50IHRoZW0gdG8gYmUgb3ZlcnJpZGVhYmx
lIGJ5CiAgICAgIC8vIEhUTUxXaWRnZXQgYmluZGluZyBkZWZpbml0aW9ucywgdGhlbiB3ZSdsbCBuZWVkIH
RvIGFkZCB0aGVtIHRvIHRoaXMKICAgICAgLy8gbGlzdC4KICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCa
W5kaW5nLCBiaW5kaW5nRGVmLCAiZ2V0SWQiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5n
LCBiaW5kaW5nRGVmLCAib25WYWx1ZUNoYW5nZSIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJpbmR
pbmcsIGJpbmRpbmdEZWYsICJvblZhbHVlRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW
5kaW5nLCBiaW5kaW5nRGVmLCAicmVuZGVyRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCa
W5kaW5nLCBiaW5kaW5nRGVmLCAiY2xlYXJFcnJvciIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJp
bmRpbmcsIGJpbmRpbmdEZWYsICJzaG93UHJvZ3Jlc3MiKTsKCiAgICAgIC8vIFRoZSBmaW5kLCByZW5kZXJ
WYWx1ZSwgYW5kIHJlc2l6ZSBhcmUgaGFuZGxlZCBkaWZmZXJlbnRseSwgYmVjYXVzZSB3ZQogICAgICAvLy
B3YW50IHRvIGFjdHVhbGx5IGRlY29yYXRlIHRoZSBiZWhhdmlvciBvZiB0aGUgYmluZGluZ0RlZiBtZXRob
2RzLgoKICAgICAgc2hpbnlCaW5kaW5nLmZpbmQgPSBmdW5jdGlvbihzY29wZSkgewogICAgICAgIHZhciBy
ZXN1bHRzID0gYmluZGluZ0RlZi5maW5kKHNjb3BlKTsKCiAgICAgICAgLy8gT25seSByZXR1cm4gZWxlbWV
udHMgdGhhdCBhcmUgU2hpbnkgb3V0cHV0cywgbm90IHN0YXRpYyBvbmVzCiAgICAgICAgdmFyIGR5bmFtaW
NSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoIi5odG1sLXdpZGdldC1vdXRwdXQiKTsKCiAgICAgICAgLy8gS
XQncyBwb3NzaWJsZSB0aGF0IHdoYXRldmVyIGNhdXNlZCBTaGlueSB0byB0aGluayB0aGVyZSBtaWdodCBi
ZQogICAgICAgIC8vIG5ldyBkeW5hbWljIG91dHB1dHMsIGFsc28gY2F1c2VkIHRoZXJlIHRvIGJlIG5ldyB
zdGF0aWMgb3V0cHV0cy4KICAgICAgICAvLyBTaW5jZSB0aGVyZSBtaWdodCBiZSBsb3RzIG9mIGRpZmZlcm
VudCBodG1sd2lkZ2V0cyBiaW5kaW5ncywgd2UKICAgICAgICAvLyBzY2hlZHVsZSBleGVjdXRpb24gZm9yI
GxhdGVyLS1ubyBuZWVkIHRvIHN0YXRpY1JlbmRlciBtdWx0aXBsZQogICAgICAgIC8vIHRpbWVzLgogICAg
ICAgIGlmIChyZXN1bHRzLmxlbmd0aCAhPT0gZHluYW1pY1Jlc3VsdHMubGVuZ3RoKQogICAgICAgICAgc2N
oZWR1bGVTdGF0aWNSZW5kZXIoKTsKCiAgICAgICAgcmV0dXJuIGR5bmFtaWNSZXN1bHRzOwogICAgICB9Ow
oKICAgICAgLy8gV3JhcCByZW5kZXJWYWx1ZSB0byBoYW5kbGUgaW5pdGlhbGl6YXRpb24sIHdoaWNoIHVuZ
m9ydHVuYXRlbHkgaXNuJ3QKICAgICAgLy8gc3VwcG9ydGVkIG5hdGl2ZWx5IGJ5IFNoaW55IGF0IHRoZSB0
aW1lIG9mIHRoaXMgd3JpdGluZy4KCiAgICAgIHNoaW55QmluZGluZy5yZW5kZXJWYWx1ZSA9IGZ1bmN0aW9
uKGVsLCBkYXRhKSB7CiAgICAgICAgU2hpbnkucmVuZGVyRGVwZW5kZW5jaWVzKGRhdGEuZGVwcyk7CiAgIC
AgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjd
HMKICAgICAgICBpZiAoIShkYXRhLmV2YWxzIGluc3RhbmNlb2YgQXJyYXkpKSBkYXRhLmV2YWxzID0gW2Rh
dGEuZXZhbHNdOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBkYXRhLmV2YWxzICYmIGkgPCBkYXRhLmV2YWx
zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW
1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2ldKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFiaW5kaW5nRGVmL
nJlbmRlck9uTnVsbFZhbHVlKSB7CiAgICAgICAgICBpZiAoZGF0YS54ID09PSBudWxsKSB7CiAgICAgICAg
ICAgIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgcmV0dXJuOwogICAgICA
gICAgfSBlbHNlIHsKICAgICAgICAgICAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICJpbmhlcml0IjsKICAgIC
AgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIikpI
HsKICAgICAgICAgIGluaXRTaXppbmcoZWwpOwoKICAgICAgICAgIGVsZW1lbnREYXRhKGVsLCAiaW5pdGlh
bGl6ZWQiLCB0cnVlKTsKICAgICAgICAgIGlmIChiaW5kaW5nRGVmLmluaXRpYWxpemUpIHsKICAgICAgICA
gICAgdmFyIHJlc3VsdCA9IGJpbmRpbmdEZWYuaW5pdGlhbGl6ZShlbCwgZWwub2Zmc2V0V2lkdGgsCiAgIC
AgICAgICAgICAgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgICAgZWxlbWVudERhdGEoZWwsICJpbml0X
3Jlc3VsdCIsIHJlc3VsdCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJpbmRpbmdEZWYucmVu
ZGVyVmFsdWUoZWwsIGRhdGEueCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICB
ldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKS
wgW2VsLCBkYXRhLnhdKTsKICAgICAgfTsKCiAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgcmVzaXplIGlmIGJpb
mRpbmdEZWYgaW1wbGVtZW50cyBpdAogICAgICBpZiAoYmluZGluZ0RlZi5yZXNpemUpIHsKICAgICAgICBz
aGlueUJpbmRpbmcucmVzaXplID0gZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICAgIC8
vIFNoaW55IGNhbiBjYWxsIHJlc2l6ZSBiZWZvcmUgaW5pdGlhbGl6ZS9yZW5kZXJWYWx1ZSBoYXZlIGJlZW
4KICAgICAgICAgIC8vIGNhbGxlZCwgd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlIGZvciB3aWRnZXRzLgogI
CAgICAgICAgaWYgKGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiKSkgewogICAgICAgICAgICBiaW5k
aW5nRGVmLnJlc2l6ZShlbCwgd2lkdGgsIGhlaWdodCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCI
pKTsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICB9CgogICAgICBTaGlueS5vdXRwdXRCaW5kaW5ncy
5yZWdpc3RlcihzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYubmFtZSk7CiAgICB9CiAgfTsKCiAgdmFyIHNja
GVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgZnVuY3Rpb24gc2NoZWR1bGVTdGF0aWNSZW5k
ZXIoKSB7CiAgICBpZiAoIXNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCkgewogICAgICBzY2hlZHVsZVN
0YXRpY1JlbmRlclRpbWVySWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNjaGVkdWxlU3
RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1Jlb
mRlcigpOwogICAgICB9LCAxKTsKICAgIH0KICB9CgogIC8vIFJlbmRlciBzdGF0aWMgd2lkZ2V0cyBhZnRl
ciB0aGUgZG9jdW1lbnQgZmluaXNoZXMgbG9hZGluZwogIC8vIFN0YXRpY2FsbHkgcmVuZGVyIGFsbCBlbGV
tZW50cyB0aGF0IGFyZSBvZiB0aGlzIHdpZGdldCdzIGNsYXNzCiAgd2luZG93LkhUTUxXaWRnZXRzLnN0YX
RpY1JlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGJpbmRpbmdzID0gd2luZG93LkhUTUxXaWRnZXRzL
ndpZGdldHMgfHwgW107CiAgICBmb3JFYWNoKGJpbmRpbmdzLCBmdW5jdGlvbihiaW5kaW5nKSB7CiAgICAg
IHZhciBtYXRjaGVzID0gYmluZGluZy5maW5kKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7CiAgICAgIGZ
vckVhY2gobWF0Y2hlcywgZnVuY3Rpb24oZWwpIHsKICAgICAgICB2YXIgc2l6ZU9iaiA9IGluaXRTaXppbm
coZWwsIGJpbmRpbmcpOwoKICAgICAgICBpZiAoaGFzQ2xhc3MoZWwsICJodG1sLXdpZGdldC1zdGF0aWMtY
m91bmQiKSkKICAgICAgICAgIHJldHVybjsKICAgICAgICBlbC5jbGFzc05hbWUgPSBlbC5jbGFzc05hbWUg
KyAiIGh0bWwtd2lkZ2V0LXN0YXRpYy1ib3VuZCI7CgogICAgICAgIHZhciBpbml0UmVzdWx0OwogICAgICA
gIGlmIChiaW5kaW5nLmluaXRpYWxpemUpIHsKICAgICAgICAgIGluaXRSZXN1bHQgPSBiaW5kaW5nLmluaX
RpYWxpemUoZWwsCiAgICAgICAgICAgIHNpemVPYmogPyBzaXplT2JqLmdldFdpZHRoKCkgOiBlbC5vZmZzZ
XRXaWR0aCwKICAgICAgICAgICAgc2l6ZU9iaiA/
IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICk7CiAgICAgICAgICB
lbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiwgaW5pdFJlc3VsdCk7CiAgICAgICAgfQoKICAgICAgIC
BpZiAoYmluZGluZy5yZXNpemUpIHsKICAgICAgICAgIHZhciBsYXN0U2l6ZSA9IHsKICAgICAgICAgICAgd
zogc2l6ZU9iaiA/
IHNpemVPYmouZ2V0V2lkdGgoKSA6IGVsLm9mZnNldFdpZHRoLAogICAgICAgICAgICBoOiBzaXplT2JqID8
gc2l6ZU9iai5nZXRIZWlnaHQoKSA6IGVsLm9mZnNldEhlaWdodAogICAgICAgICAgfTsKICAgICAgICAgIH
ZhciByZXNpemVIYW5kbGVyID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgc2l6ZSA9IHsKICAgI
CAgICAgICAgICB3OiBzaXplT2JqID8gc2l6ZU9iai5nZXRXaWR0aCgpIDogZWwub2Zmc2V0V2lkdGgsCiAg
ICAgICAgICAgICAgaDogc2l6ZU9iaiA/
IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICA
gICAgaWYgKHNpemUudyA9PT0gMCAmJiBzaXplLmggPT09IDApCiAgICAgICAgICAgICAgcmV0dXJuOwogIC
AgICAgICAgICBpZiAoc2l6ZS53ID09PSBsYX
N0U2l6ZS53ICYmIHNpemUuaCA9PT0gbGFzdFNpemUuaCkKICAgICAgICAgICAgICByZXR1cm47CiAgICAgI
CAgICAgIGxhc3RTaXplID0gc2l6ZTsKICAgICAgICAgICAgYmluZGluZy5yZXNpemUoZWwsIHNpemUudywg
c2l6ZS5oLCBpbml0UmVzdWx0KTsKICAgICAgICAgIH07CgogICAgICAgICAgb24od2luZG93LCAicmVzaXp
lIiwgcmVzaXplSGFuZGxlcik7CgogICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGNhc2VzIHdoZX
JlIHdlJ3JlIHJ1bm5pbmcgaW4gYSBTaGlueQogICAgICAgICAgLy8gYXBwLCBidXQgdGhlIHdpZGdldCBpd
HNlbGYgaXMgbm90IGEgU2hpbnkgb3V0cHV0LCBidXQKICAgICAgICAgIC8vIHJhdGhlciBhIHNpbXBsZSBz
dGF0aWMgd2lkZ2V0LiBPbmUgZXhhbXBsZSBvZiB0aGlzIGlzCiAgICAgICAgICAvLyBhbiBybWFya2Rvd24
gZG9jdW1lbnQgdGhhdCBoYXMgcnVudGltZTpzaGlueSBhbmQgd2lkZ2V0CiAgICAgICAgICAvLyB0aGF0IG
lzbid0IGluIGEgcmVuZGVyIGZ1bmN0aW9uLiBTaGlueSBvbmx5IGtub3dzIHRvCiAgICAgICAgICAvLyBjY
WxsIHJlc2l6ZSBoYW5kbGVycyBmb3IgU2hpbnkgb3V0cHV0cywgbm90IGZvciBzdGF0aWMKICAgICAgICAg
IC8vIHdpZGdldHMsIHNvIHdlIGRvIGl0IG91cnNlbHZlcy4KICAgICAgICAgIGlmICh3aW5kb3cualF1ZXJ
5KSB7CiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnkoZG9jdW1lbnQpLm9uKAogICAgICAgICAgICAgICJzaG
93bi5odG1sd2lkZ2V0cyBzaG93bi5icy50YWIuaHRtbHdpZGdldHMgc2hvd24uYnMuY29sbGFwc2UuaHRtb
HdpZGdldHMiLAogICAgICAgICAgICAgIHJlc2l6ZUhhbmRsZXIKICAgICAgICAgICAgKTsKICAgICAgICAg
ICAgd2luZG93LmpRdWVyeShkb2N1bWVudCkub24oCiAgICAgICAgICAgICAgImhpZGRlbi5odG1sd2lkZ2V
0cyBoaWRkZW4uYnMudGFiLmh0bWx3aWRnZXRzIGhpZGRlbi5icy5jb2xsYXBzZS5odG1sd2lkZ2V0cyIsCi
AgICAgICAgICAgICAgcmVzaXplSGFuZGxlcgogICAgICAgICAgICApOwogICAgICAgICAgfQoKICAgICAgI
CAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSBvZiBpb3NsaWRlcywgd2hpY2gK
ICAgICAgICAgIC8vIGZsaXBzIHNsaWRlcyBiZXR3ZWVuIGRpc3BsYXk6bm9uZSBhbmQgZGlzcGxheTpibG9
jay4KICAgICAgICAgIC8vIElkZWFsbHkgd2Ugd291bGQgbm90IGhhdmUgdG8gaGF2ZSBpb3NsaWRlLXNwZW
NpZmljIGNvZGUKICAgICAgICAgIC8vIGhlcmUsIGJ1dCByYXRoZXIgaGF2ZSBpb3NsaWRlcyByYWlzZSBhI
GdlbmVyaWMgZXZlbnQsCiAgICAgICAgICAvLyBidXQgdGhlIHJtYXJrZG93biBwYWNrYWdlIGp1c3Qgd2Vu
dCB0byBDUkFOIHNvIHRoZQogICAgICAgICAgLy8gd2luZG93IHRvIGdldHRpbmcgdGhhdCBmaXhlZCBtYXk
gYmUgbG9uZy4KICAgICAgICAgIGlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewogICAgICAgICAgIC
AvLyBJdCdzIE9LIHRvIGxpbWl0IHRoaXMgdG8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIKICAgICAgICAgI
CAgLy8gYnJvd3NlcnMgYmVjYXVzZSBpb3NsaWRlcyBpdHNlbGYgb25seSBzdXBwb3J0cwogICAgICAgICAg
ICAvLyBzdWNoIGJyb3dzZXJzLgogICAgICAgICAgICBvbihkb2N1bWVudCwgInNsaWRlZW50ZXIiLCByZXN
pemVIYW5kbGVyKTsKICAgICAgICAgICAgb24oZG9jdW1lbnQsICJzbGlkZWxlYXZlIiwgcmVzaXplSGFuZG
xlcik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgc2NyaXB0RGF0YSA9IGRvY3VtZW50L
nF1ZXJ5U2VsZWN0b3IoInNjcmlwdFtkYXRhLWZvcj0nIiArIGVsLmlkICsgIiddW3R5cGU9J2FwcGxpY2F0
aW9uL2pzb24nXSIpOwogICAgICAgIGlmIChzY3JpcHREYXRhKSB7CiAgICAgICAgICB2YXIgZGF0YSA9IEp
TT04ucGFyc2Uoc2NyaXB0RGF0YS50ZXh0Q29udGVudCB8fCBzY3JpcHREYXRhLnRleHQpOwogICAgICAgIC
AgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKI
CAgICAgICAgIGlmICghKGRhdGEuZXZhbHMgaW5zdGFuY2VvZiBBcnJheSkpIGRhdGEuZXZhbHMgPSBbZGF0
YS5ldmFsc107CiAgICAgICAgICBmb3IgKHZhciBrID0gMDsgZGF0YS5ldmFscyAmJiBrIDwgZGF0YS5ldmF
scy5sZW5ndGg7IGsrKykgewogICAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbm
dNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2tdKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpbmRpbmcuc
mVuZGVyVmFsdWUoZWwsIGRhdGEueCwgaW5pdFJlc3VsdCk7CiAgICAgICAgICBldmFsQW5kUnVuKGRhdGEu
anNIb29rcy5yZW5kZXIsIGluaXRSZXN1bHQsIFtlbCwgZGF0YS54XSk7CiAgICAgICAgfQogICAgICB9KTs
KICAgIH0pOwoKICAgIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpOwogIH0KCgogIGZ1bmN0aW9uIGhhc1
9qUXVlcnkzKCkgewogICAgaWYgKCF3aW5kb3cualF1ZXJ5KSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgI
H0KICAgIHZhciAkdmVyc2lvbiA9IHdpbmRvdy5qUXVlcnkuZm4uanF1ZXJ5OwogICAgdmFyICRtYWpvcl92
ZXJzaW9uID0gcGFyc2VJbnQoJHZlcnNpb24uc3BsaXQoIi4iKVswXSk7CiAgICByZXR1cm4gJG1ham9yX3Z
lcnNpb24gPj0gMzsKICB9CgogIC8qCiAgLyBTaGlueSAxLjQgYnVtcGVkIGpRdWVyeSBmcm9tIDEueCB0by
AzLnggd2hpY2ggbWVhbnMgalF1ZXJ5J3MKICAvIG9uLXJlYWR5IGhhbmRsZXIgKGkuZS4sICQoZm4pKSBpc
yBub3cgYXN5bmNyb25vdXMgKGkuZS4sIGl0IG5vdwogIC8gcmVhbGx5IG1lYW5zICQoc2V0VGltZW91dChm
bikpLgogIC8gaHR0cHM6Ly9qcXVlcnkuY29tL3VwZ3JhZGUtZ3VpZGUvMy4wLyNicmVha2luZy1jaGFuZ2U
tZG9jdW1lbnQtcmVhZHktaGFuZGxlcnMtYXJlLW5vdy1hc3luY2hyb25vdXMKICAvCiAgLyBTaW5jZSBTaG
lueSB1c2VzICQoKSB0byBzY2hlZHVsZSBpbml0U2hpbnksIHNoaW55Pj0xLjQgY2FsbHMgaW5pdFNoaW55C
iAgLyBvbmUgdGljayBsYXRlciB0aGFuIGl0IGRpZCBiZWZvcmUsIHdoaWNoIG1lYW5zIHN0YXRpY1JlbmRl
cigpIGlzCiAgLyBjYWxsZWQgcmVuZGVyVmFsdWUoKSBlYXJsaWVyIHRoYW4gKGFkdmFuY2VkKSB3aWRnZXQ
gYXV0aG9ycyBtaWdodCBiZSBleHBlY3RpbmcuCiAgLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9zaG
lueS9pc3N1ZXMvMjYzMAogIC8KICAvIEZvciBhIGNvbmNyZXRlIGV4YW1wbGUsIGxlYWZsZXQgaGFzIHNvb
WUgbWV0aG9kcyAoZS5nLiwgdXBkYXRlQm91bmRzKQogIC8gd2hpY2ggcmVmZXJlbmNlIFNoaW55IG1ldGhv
ZHMgcmVnaXN0ZXJlZCBpbiBpbml0U2hpbnkgKGUuZy4sIHNldElucHV0VmFsdWUpLgogIC8gU2luY2UgbGV
hZmxldCBpcyBwcml2eSB0byB0aGlzIGxpZmUtY3ljbGUsIGl0IGtub3dzIHRvIHVzZSBzZXRUaW1lb3V0KC
kgdG8KICAvIGRlbGF5IGV4ZWN1dGlvbiBvZiB0aG9zZSBtZXRob2RzICh1bnRpbCBTaGlueSBtZXRob2RzI
GFyZSByZWFkeSkKICAvIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL2xlYWZsZXQvYmxvYi8xOGVjOTgx
L2phdmFzY3JpcHQvc3JjL2luZGV4LmpzI0wyNjYtTDI2OAogIC8KICAvIElkZWFsbHkgd2lkZ2V0IGF1dGh
vcnMgd291bGRuJ3QgbmVlZCB0byB1c2UgdGhpcyBzZXRUaW1lb3V0KCkgaGFjayB0aGF0CiAgLyBsZWFmbG
V0IHVzZXMgdG8gY2FsbCBTaGlueSBtZXRob2RzIG9uIGEgc3RhdGljUmVuZGVyKCkuIEluIHRoZSBsb25nI
HJ1biwKICAvIHRoZSBsb2dpYyBpbml0U2hpbnkgc2hvdWxkIGJlIGJyb2tlbiB1cCBzbyB0aGF0IG1ldGhv
ZCByZWdpc3RyYXRpb24gaGFwcGVucwogIC8gcmlnaHQgYXdheSwgYnV0IGJpbmRpbmcgaGFwcGVucyBsYXR
lci4KICAqLwogIGZ1bmN0aW9uIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKSB7CiAgICBpZiAoc2hpbnlNb2
RlICYmIGhhc19qUXVlcnkzKCkpIHsKICAgICAgd2luZG93LmpRdWVyeSh3aW5kb3cuSFRNTFdpZGdldHMuc
3RhdGljUmVuZGVyKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy5zdGF0aWNSZW5k
ZXIoKTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7CiAgICBkb2N1bWV
udC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7CiAgICAgIGRvY3
VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBhcmd1bWVudHMuY2FsbGVlL
CBmYWxzZSk7CiAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgIH0sIGZhbHNlKTsKICB9IGVs
c2UgaWYgKGRvY3VtZW50LmF0dGFjaEV2ZW50KSB7CiAgICBkb2N1bWVudC5hdHRhY2hFdmVudCgib25yZWF
keXN0YXRlY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PS
AiY29tcGxldGUiKSB7CiAgICAgICAgZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZ
SIsIGFyZ3VtZW50cy5jYWxsZWUpOwogICAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgICAg
fQogICAgfSk7CiAgfQoKCiAgd2luZG93LkhUTUxXaWRnZXRzLmdldEF0dGFjaG1lbnRVcmwgPSBmdW5jdGl
vbihkZXBuYW1lLCBrZXkpIHsKICAgIC8vIElmIG5vIGtleSwgZGVmYXVsdCB0byB0aGUgZmlyc3QgaXRlbQ
ogICAgaWYgKHR5cGVvZihrZXkpID09PSAidW5kZWZpbmVkIikKICAgICAga2V5ID0gMTsKCiAgICB2YXIgb
GluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRlcG5hbWUgKyAiLSIgKyBrZXkgKyAiLWF0dGFjaG1l
bnQiKTsKICAgIGlmICghbGluaykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0dGFjaG1lbnQgIiArIGR
lcG5hbWUgKyAiLyIgKyBrZXkgKyAiIG5vdCBmb3VuZCBpbiBkb2N1bWVudCIpOwogICAgfQogICAgcmV0dX
JuIGxpbmsuZ2V0QXR0cmlidXRlKCJocmVmIik7CiAgfTsKCiAgd2luZG93LkhUTUxXaWRnZXRzLmRhdGFmc
mFtZVRvRDMgPSBmdW5jdGlvbihkZikgewogICAgdmFyIG5hbWVzID0gW107CiAgICB2YXIgbGVuZ3RoOwog
ICAgZm9yICh2YXIgbmFtZSBpbiBkZikgewogICAgICAgIGlmIChkZi5oYXNPd25Qcm9wZXJ0eShuYW1lKSk
KICAgICAgICAgICAgbmFtZXMucHVzaChuYW1lKTsKICAgICAgICBpZiAodHlwZW9mKGRmW25hbWVdKSAhPT
0gIm9iamVjdCIgfHwgdHlwZW9mKGRmW25hbWVdLmxlbmd0aCkgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgI
CAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycmF5cyIpOwogICAgICAgIH0g
ZWxzZSBpZiAodHlwZW9mKGxlbmd0aCkgIT09ICJ1bmRlZmluZWQiICYmIGxlbmd0aCAhPT0gZGZbbmFtZV0
ubGVuZ3RoKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycm
F5cyBvZiB0aGUgc2FtZSBsZW5ndGgiKTsKICAgICAgICB9CiAgICAgICAgbGVuZ3RoID0gZGZbbmFtZV0ub
GVuZ3RoOwogICAgfQogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHZhciBpdGVtOwogICAgZm9yICh2YXIg
cm93ID0gMDsgcm93IDwgbGVuZ3RoOyByb3crKykgewogICAgICAgIGl0ZW0gPSB7fTsKICAgICAgICBmb3I
gKHZhciBjb2wgPSAwOyBjb2wgPCBuYW1lcy5sZW5ndGg7IGNvbCsrKSB7CiAgICAgICAgICAgIGl0ZW1bbm
FtZXNbY29sXV0gPSBkZltuYW1lc1tjb2xdXVtyb3ddOwogICAgICAgIH0KICAgICAgICByZXN1bHRzLnB1c
2goaXRlbSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9OwoKICB3aW5kb3cuSFRNTFdpZGdldHMu
dHJhbnNwb3NlQXJyYXkyRCA9IGZ1bmN0aW9uKGFycmF5KSB7CiAgICAgIGlmIChhcnJheS5sZW5ndGggPT0
9IDApIHJldHVybiBhcnJheTsKICAgICAgdmFyIG5ld0FycmF5ID0gYXJyYXlbMF0ubWFwKGZ1bmN0aW9uKG
NvbCwgaSkgewogICAgICAgICAgcmV0dXJuIGFycmF5Lm1hcChmdW5jdGlvbihyb3cpIHsKICAgICAgICAgI
CAgICByZXR1cm4gcm93W2ldCiAgICAgICAgICB9KQogICAgICB9KTsKICAgICAgcmV0dXJuIG5ld0FycmF5
OwogIH07CiAgLy8gU3BsaXQgdmFsdWUgYXQgc3BsaXRDaGFyLCBidXQgYWxsb3cgc3BsaXRDaGFyIHRvIGJ
lIGVzY2FwZWQKICAvLyB1c2luZyBlc2NhcGVDaGFyLiBBbnkgb3RoZXIgY2hhcmFjdGVycyBlc2NhcGVkIG
J5IGVzY2FwZUNoYXIKICAvLyB3aWxsIGJlIGluY2x1ZGVkIGFzIHVzdWFsIChpbmNsdWRpbmcgZXNjYXBlQ
2hhciBpdHNlbGYpLgogIGZ1bmN0aW9uIHNwbGl0V2l0aEVzY2FwZSh2YWx1ZSwgc3BsaXRDaGFyLCBlc2Nh
cGVDaGFyKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgdmFyIGVzY2FwZU1vZGUgPSBmYWxzZTsKICA
gIHZhciBjdXJyZW50UmVzdWx0ID0gIiI7CiAgICBmb3IgKHZhciBwb3MgPSAwOyBwb3MgPCB2YWx1ZS5sZW
5ndGg7IHBvcysrKSB7CiAgICAgIGlmICghZXNjYXBlTW9kZSkgewogICAgICAgIGlmICh2YWx1ZVtwb3NdI
D09PSBzcGxpdENoYXIpIHsKICAgICAgICAgIHJlc3VsdHMucHVzaChjdXJyZW50UmVzdWx0KTsKICAgICAg
ICAgIGN1cnJlbnRSZXN1bHQgPSAiIjsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlW3Bvc10gPT09IGVzY2F
wZUNoYXIpIHsKICAgICAgICAgIGVzY2FwZU1vZGUgPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgIC
AgICBjdXJyZW50UmVzdWx0ICs9IHZhbHVlW3Bvc107CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgI
CAgIGN1cnJlbnRSZXN1bHQgKz0gdmFsdWVbcG9zXTsKICAgICAgICBlc2NhcGVNb2RlID0gZmFsc2U7CiAg
ICAgIH0KICAgIH0KICAgIGlmIChjdXJyZW50UmVzdWx0ICE9PSAiIikgewogICAgICByZXN1bHRzLnB1c2g
oY3VycmVudFJlc3VsdCk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9CiAgLy8gRnVuY3Rpb24gYX
V0aG9yZWQgYnkgWWlodWkvSkogQWxsYWlyZQogIHdpbmRvdy5IVE1MV2lkZ2V0cy5ldmFsdWF0ZVN0cmluZ
01lbWJlciA9IGZ1bmN0aW9uKG8sIG1lbWJlcikgewogICAgdmFyIHBhcnRzID0gc3BsaXRXaXRoRXNjYXBl
KG1lbWJlciwgJy4nLCAnXFwnKTsKICAgIGZvciAodmFyIGkgPSAwLCBsID0gcGFydHMubGVuZ3RoOyBpIDw
gbDsgaSsrKSB7CiAgICAgIHZhciBwYXJ0ID0gcGFydHNbaV07CiAgICAgIC8vIHBhcnQgbWF5IGJlIGEgY2
hhcmFjdGVyIG9yICdudW1lcmljJyBtZW1iZXIgbmFtZQogICAgICBpZiAobyAhPT0gbnVsbCAmJiB0eXBlb
2YgbyA9PT0gIm9iamVjdCIgJiYgcGFydCBpbiBvKSB7CiAgICAgICAgaWYgKGkgPT0gKGwgLSAxKSkgeyAv
LyBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSB0aGVuIGV2YWx1bGF0ZQogICAgICAgICAgaWY
gKHR5cGVvZiBvW3BhcnRdID09PSAic3RyaW5nIikKICAgICAgICAgICAgb1twYXJ0XSA9IHRyeUV2YWwob1
twYXJ0XSk7CiAgICAgICAgfSBlbHNlIHsgLy8gb
3RoZXJ3aXNlIGNvbnRpbnVlIHRvIG5leHQgZW1iZWRkZWQgb2JqZWN0CiAgICAgICAgICBvID0gb1twYXJ0
XTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9OwoKICAvLyBSZXRyaWV2ZSB0aGUgSFRNTFdpZGdldCB
pbnN0YW5jZSAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlIG9mIGFuCiAgLy8gSFRNTFdpZGdldCBiaW5kaW5nJ3
MgaW5pdGlhbGl6ZSgpIG9yIGZhY3RvcnkoKSBmdW5jdGlvbikKICAvLyBhc3NvY2lhdGVkIHdpdGggYW4gZ
WxlbWVudCwgb3IgbnVsbCBpZiBub25lLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZSA9IGZ1
bmN0aW9uKGVsKSB7CiAgICByZXR1cm4gZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpOwogIH07Cgo
gIC8vIEZpbmRzIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBzY29wZSB0aGF0IG1hdGNoZXMgdGhlIHNlbG
VjdG9yLAogIC8vIGFuZCByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlIChpLmUuIHRoZSByZXR1c
m4gdmFsdWUgb2YKICAvLyBhbiBIVE1MV2lkZ2V0IGJpbmRpbmcncyBpbml0aWFsaXplKCkgb3IgZmFjdG9y
eSgpIGZ1bmN0aW9uKQogIC8vIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGVsZW1lbnQsIGlmIGFueS4gSWYgbm8
gZWxlbWVudCBtYXRjaGVzIHRoZQogIC8vIHNlbGVjdG9yLCBvciB0aGUgZmlyc3QgbWF0Y2hpbmcgZWxlbW
VudCBoYXMgbm8gSFRNTFdpZGdldAogIC8vIGluc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBpdCwgdGhlbiBud
WxsIGlzIHJldHVybmVkLgogIC8vCiAgLy8gVGhlIHNjb3BlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCBhbmQg
ZGVmYXVsdHMgdG8gd2luZG93LmRvY3VtZW50LgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5maW5kID0gZnVuY3R
pb24oc2NvcGUsIHNlbGVjdG9yKSB7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgIH
NlbGVjdG9yID0gc2NvcGU7CiAgICAgIHNjb3BlID0gZG9jdW1lbnQ7CiAgICB9CgogICAgdmFyIGVsID0gc
2NvcGUucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7CiAgICBpZiAoZWwgPT09IG51bGwpIHsKICAgICAgcmV0
dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd2luZG93LkhUTUxXaWRnZXRzLmdldEluc3R
hbmNlKGVsKTsKICAgIH0KICB9OwoKICAvLyBGaW5kcyBhbGwgZWxlbWVudHMgaW4gdGhlIHNjb3BlIHRoYX
QgbWF0Y2ggdGhlIHNlbGVjdG9yLCBhbmQKICAvLyByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlc
yAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlcyBvZgogIC8vIGFuIEhUTUxXaWRnZXQgYmluZGluZydzIGluaXRp
YWxpemUoKSBvciBmYWN0b3J5KCkgZnVuY3Rpb24pCiAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoZSBlbGVtZW5
0cywgaW4gYW4gYXJyYXkuIElmIGVsZW1lbnRzIHRoYXQKICAvLyBtYXRjaCB0aGUgc2VsZWN0b3IgZG9uJ3
QgaGF2ZSBhbiBhc3NvY2lhdGVkIEhUTUxXaWRnZXQKICAvLyBpbnN0YW5jZSwgdGhlIHJldHVybmVkIGFyc
mF5IHdpbGwgY29udGFpbiBudWxscy4KICAvLwogIC8vIFRoZSBzY29wZSBhcmd1bWVudCBpcyBvcHRpb25h
bCwgYW5kIGRlZmF1bHRzIHRvIHdpbmRvdy5kb2N1bWVudC4KICB3aW5kb3cuSFRNTFdpZGdldHMuZmluZEF
sbCA9IGZ1bmN0aW9uKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMS
kgewogICAgICBzZWxlY3RvciA9IHNjb3BlOwogICAgICBzY29wZSA9IGRvY3VtZW50OwogICAgfQoKICAgI
HZhciBub2RlcyA9IHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOwogICAgdmFyIHJlc3VsdHMg
PSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgcmVzdWx
0cy5wdXNoKHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZShub2Rlc1tpXSkpOwogICAgfQogICAgcm
V0dXJuIHJlc3VsdHM7CiAgfTsKCiAgdmFyIHBvc3RSZW5kZXJIYW5kbGVycyA9IFtdOwogIGZ1bmN0aW9uI
Gludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpIHsKICAgIHdoaWxlIChwb3N0UmVuZGVySGFuZGxlcnMubGVu
Z3RoKSB7CiAgICAgIHZhciBoYW5kbGVyID0gcG9zdFJlbmRlckhhbmRsZXJzLnNoaWZ0KCk7CiAgICAgIGl
mIChoYW5kbGVyKSB7CiAgICAgICAgaGFuZGxlcigpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZWdpc3
RlciB0aGUgZ2l2ZW4gY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUKICAvLyBuZ
Xh0IHRpbWUgc3RhdGljIHdpZGdldHMgYXJlIHJlbmRlcmVkLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5hZGRQ
b3N0UmVuZGVySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICBwb3N0UmVuZGVySGFuZGxlcnM
ucHVzaChjYWxsYmFjayk7CiAgfTsKCiAgLy8gVGFrZXMgYSBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZG
VmaW5pdGlvbiwgYW5kIHJldHVybnMgYW4KICAvLyBvbGQtc3R5bGUgY2xhc3MtYm91bmQgZGVmaW5pdGlvb
i4gVGhpcyBzYXZlcyB1cyBmcm9tIGhhdmluZwogIC8vIHRvIHJld3JpdGUgYWxsIHRoZSBsb2dpYyBpbiB0
aGlzIGZpbGUgdG8gYWNjb21vZGF0ZSBib3RoCiAgLy8gdHlwZXMgb2YgZGVmaW5pdGlvbnMuCiAgZnVuY3R
pb24gY3JlYXRlTGVnYWN5RGVmaW5pdGlvbkFkYXB0ZXIoZGVmbikgewogICAgdmFyIHJlc3VsdCA9IHsKIC
AgICAgbmFtZTogZGVmbi5uYW1lLAogICAgICB0eXBlOiBkZWZuLnR5cGUsCiAgICAgIGluaXRpYWxpemU6I
GZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgcmV0dXJuIGRlZm4uZmFjdG9yeShlbCwg
d2lkdGgsIGhlaWdodCk7CiAgICAgIH0sCiAgICAgIHJlbmRlclZhbHVlOiBmdW5jdGlvbihlbCwgeCwgaW5
zdGFuY2UpIHsKICAgICAgICByZXR1cm4gaW5zdGFuY2UucmVuZGVyVmFsdWUoeCk7CiAgICAgIH0sCiAgIC
AgIHJlc2l6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQsIGluc3RhbmNlKSB7CiAgICAgICAgcmV0d
XJuIGluc3RhbmNlLnJlc2l6ZSh3aWR0aCwgaGVpZ2h0KTsKICAgICAgfQogICAgfTsKCiAgICBpZiAoZGVm
bi5maW5kKQogICAgICByZXN1bHQuZmluZCA9IGRlZm4uZmluZDsKICAgIGlmIChkZWZuLnJlbmRlckVycm9
yKQogICAgICByZXN1bHQucmVuZGVyRXJyb3IgPSBkZWZuLnJlbmRlckVycm9yOwogICAgaWYgKGRlZm4uY2
xlYXJFcnJvcikKICAgICAgcmVzdWx0LmNsZWFyRXJyb3IgPSBkZWZuLmNsZWFyRXJyb3I7CgogICAgcmV0d
XJuIHJlc3VsdDsKICB9Cn0pKCk7Cgo=\"></script>\n",
"<script title=\"jquery\"
src=\"data:application/javascript;base64,LyohIGpRdWVyeSB2My41LjEgfCAoYykgSlMgRm91bm
RhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovCiFmdW5jdGlvb
ihlLHQpeyJ1c2Ugc3RyaWN0Ijsib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmIm9iamVjdCI9PXR5cGVvZiBt
b2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lLmRvY3VtZW50P3QoZSwhMCk6ZnVuY3Rpb24oZSl7aWY
oIWUuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIG
RvY3VtZW50Iik7cmV0dXJuIHQoZSl9OnQoZSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvd
zp0aGlzLGZ1bmN0aW9uKEMsZSl7InVzZSBzdHJpY3QiO3ZhciB0PVtdLHI9T2JqZWN0LmdldFByb3RvdHlw
ZU9mLHM9dC5zbGljZSxnPXQuZmxhdD9mdW5jdGlvbihlKXtyZXR1cm4gdC5mbGF0LmNhbGwoZSl9OmZ1bmN
0aW9uKGUpe3JldHVybiB0LmNvbmNhdC5hcHBseShbXSxlKX0sdT10LnB1c2gsaT10LmluZGV4T2Ysbj17fS
xvPW4udG9TdHJpbmcsdj1uLmhhc093blByb3BlcnR5LGE9di50b1N0cmluZyxsPWEuY2FsbChPYmplY3QpL
Hk9e30sbT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmIm51bWJlciIhPXR5cGVv
ZiBlLm5vZGVUeXBlfSx4PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT09ZS53aW5kb3d9LEU9Qy5
kb2N1bWVudCxjPXt0eXBlOiEwLHNyYzohMCxub25jZTohMCxub01vZHVsZTohMH07ZnVuY3Rpb24gYihlLH
Qsbil7dmFyIHIsaSxvPShuPW58fEUpLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2lmKG8udGV4dD1lLHQpZ
m9yKHIgaW4gYykoaT10W3JdfHx0LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUocikpJiZvLnNldEF0
dHJpYnV0ZShyLGkpO24uaGVhZC5hcHBlbmRDaGlsZChvKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfWZ
1bmN0aW9uIHcoZSl7cmV0dXJuIG51bGw9PWU/
ZSsiIjoib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlP25bby5jYWxsKGUpXXx8Im9
iamVjdCI6dHlwZW9mIGV9dmFyIGY9IjMuNS4xIixTPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBTLmZuLm
luaXQoZSx0KX07ZnVuY3Rpb24gcChlKXt2YXIgdD0hIWUmJiJsZW5ndGgiaW4gZSYmZS5sZW5ndGgsbj13K
GUpO3JldHVybiFtKGUpJiYheChlKSYmKCJhcnJheSI9PT1ufHwwPT09dHx8Im51bWJlciI9PXR5cGVvZiB0
JiYwPHQmJnQtMSBpbiBlKX1TLmZuPVMucHJvdG90eXBlPXtqcXVlcnk6Zixjb25zdHJ1Y3RvcjpTLGxlbmd
0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gcy5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cm
V0dXJuIG51bGw9PWU/
cy5jYWxsKHRoaXMpOmU8MD90aGlzW2UrdGhpcy5sZW5ndGhdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGl
vbihlKXt2YXIgdD1TLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxlKTtyZXR1cm4gdC5wcmV2T2JqZWN0PX
RoaXMsdH0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gUy5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihuK
XtyZXR1cm4gdGhpcy5wdXNoU3RhY2soUy5tYXAodGhpcyxmdW5jdGlvbihlLHQpe3JldHVybiBuLmNhbGwo
ZSx0LGUpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhzLmFwcGx5KHRoaXM
sYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb2
4oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGV2ZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soU
y5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4odCsxKSUyfSkpfSxvZGQ6ZnVuY3Rpb24oKXtyZXR1
cm4gdGhpcy5wdXNoU3RhY2soUy5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCUyfSkpfSxlcTp
mdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKyhlPDA/
dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soMDw9biYmbjx0P1t0aGlzW25dXTpbXSl9LGVuZDpmdW5jdGl
vbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDp1LHNvcnQ6dC
5zb3J0LHNwbGljZTp0LnNwbGljZX0sUy5leHRlbmQ9Uy5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgZSx0L
G4scixpLG8sYT1hcmd1bWVudHNbMF18fHt9LHM9MSx1PWFyZ3VtZW50cy5sZW5ndGgsbD0hMTtmb3IoImJv
b2xlYW4iPT10eXBlb2YgYSYmKGw9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSwib2JqZWN0Ij09dHlwZW9
mIGF8fG0oYSl8fChhPXt9KSxzPT09dSYmKGE9dGhpcyxzLS0pO3M8dTtzKyspaWYobnVsbCE9KGU9YXJndW
1lbnRzW3NdKSlmb3IodCBpbiBlKXI9ZVt0XSwiX19wcm90b19fIiE9PXQmJmEhPT1yJiYobCYmciYmKFMua
XNQbGFpbk9iamVjdChyKXx8KGk9QXJyYXkuaXNBcnJheShyKSkpPyhuPWFbdF0sbz1pJiYhQXJyYXkuaXNB
cnJheShuKT9bXTppfHxTLmlzUGxhaW5PYmplY3Qobik/
bjp7fSxpPSExLGFbdF09Uy5leHRlbmQobCxvLHIpKTp2b2lkIDAhPT1yJiYoYVt0XT1yKSk7cmV0dXJuIGF
9LFMuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhmK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIi
IpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKGUpfSxub29wOmZ1bmN0a
W9uKCl7fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuISghZXx8IltvYmplY3Qg
T2JqZWN0XSIhPT1vLmNhbGwoZSkpJiYoISh0PXIoZSkpfHwiZnVuY3Rpb24iPT10eXBlb2Yobj12LmNhbGw
odCwiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcikmJmEuY2FsbChuKT09PWwpfSxpc0VtcHR5T2JqZW
N0OmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGdsb2JhbEV2YWw6Z
nVuY3Rpb24oZSx0LG4pe2IoZSx7bm9uY2U6dCYmdC5ub25jZX0sbil9LGVhY2g6ZnVuY3Rpb24oZSx0KXt2
YXIgbixyPTA7aWYocChlKSl7Zm9yKG49ZS5sZW5ndGg7cjxuO3IrKylpZighMT09PXQuY2FsbChlW3JdLHI
sZVtyXSkpYnJlYWt9ZWxzZSBmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVhaz
tyZXR1cm4gZX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJ
ihwKE9iamVjdChlKSk/
Uy5tZXJnZShuLCJzdHJpbmciPT10eXBlb2YgZT9bZV06ZSk6dS5jYWxsKG4sZSkpLG59LGluQXJyYXk6ZnV
uY3Rpb24oZSx0LG4pe3JldHVybiBudWxsPT10Py0xOmkuY2FsbCh0LGUsbil9LG1lcmdlOmZ1bmN0aW9uKG
UsdCl7Zm9yKHZhciBuPSt0Lmxlbmd0aCxyPTAsaT1lLmxlbmd0aDtyPG47cisrKWVbaSsrXT10W3JdO3Jld
HVybiBlLmxlbmd0aD1pLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxpPTAsbz1lLmxl
bmd0aCxhPSFuO2k8bztpKyspIXQoZVtpXSxpKSE9PWEmJnIucHVzaChlW2ldKTtyZXR1cm4gcn0sbWFwOmZ
1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89MCxhPVtdO2lmKHAoZSkpZm9yKHI9ZS5sZW5ndGg7bzxyO28rKy
ludWxsIT0oaT10KGVbb10sbyxuKSkmJmEucHVzaChpKTtlbHNlIGZvcihvIGluIGUpbnVsbCE9KGk9dChlW
29dLG8sbikpJiZhLnB1c2goaSk7cmV0dXJuIGcoYSl9LGd1aWQ6MSxzdXBwb3J0Onl9KSwiZnVuY3Rpb24i
PT10eXBlb2YgU3ltYm9sJiYoUy5mbltTeW1ib2wuaXRlcmF0b3JdPXRbU3ltYm9sLml0ZXJhdG9yXSksUy5
lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IE
Vycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe25bIltvYmplY3QgIit0KyJdIl09dC50b
0xvd2VyQ2FzZSgpfSk7dmFyIGQ9ZnVuY3Rpb24obil7dmFyIGUsZCxiLG8saSxoLGYsZyx3LHUsbCxULEMs
YSxFLHYscyxjLHksUz0ic2l6emxlIisxKm5ldyBEYXRlLHA9bi5kb2N1bWVudCxrPTAscj0wLG09dWUoKSx
4PXVlKCksQT11ZSgpLE49dWUoKSxEPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYobD0hMCksMH0saj
17fS5oYXNPd25Qcm9wZXJ0eSx0PVtdLHE9dC5wb3AsTD10LnB1c2gsSD10LnB1c2gsTz10LnNsaWNlLFA9Z
nVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspaWYoZVtuXT09PXQpcmV0dXJu
IG47cmV0dXJuLTF9LFI9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnR
yb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cm
VxdWlyZWR8c2NvcGVkIixNPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixJPSIoPzpcXFxcW1xcZGEtZkEtRl17M
Sw2fSIrTSsiP3xcXFxcW15cXHJcXG5cXGZdfFtcXHctXXxbXlwwLVxceDdmXSkrIixXPSJcXFsiK00rIioo
IitJKyIpKD86IitNKyIqKFsqXiR8IX5dPz0pIitNKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCI
oKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrSSsiKSl8KSIrTSsiKlxcXSIsRj0iOigiK0krIikoPzpcXC
goKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/
OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK1crIikqKXwuKilcXCl
8KSIsQj1uZXcgUmVnRXhwKE0rIisiLCJnIiksJD1uZXcgUmVnRXhwKCJeIitNKyIrfCgoPzpefFteXFxcXF
0pKD86XFxcXC4pKikiK00rIiskIiwiZyIpLF89bmV3IFJlZ0V4cCgiXiIrTSsiKiwiK00rIioiKSx6PW5ld
yBSZWdFeHAoIl4iK00rIiooWz4rfl18IitNKyIpIitNKyIqIiksVT1uZXcgUmVnRXhwKE0rInw+IiksWD1u
ZXcgUmVnRXhwKEYpLFY9bmV3IFJlZ0V4cCgiXiIrSSsiJCIpLEc9e0lEOm5ldyBSZWdFeHAoIl4jKCIrSSs
iKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitJKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitJKyJ8Wy
pdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrVyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK0YpLENISUxEOm5ld
yBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/
OlxcKCIrTSsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTSsiKig/
OihbKy1dfCkiK00rIiooXFxkKyl8KSkiK00rIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzo
iK1IrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitNKyIqWz4rfl18OihldmVufG9kZH
xlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK00rIiooKD86LVxcZCk/
XFxkKikiK00rIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L0hUTUwkL2ksUT0vXig/
OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEo9L15oXGQkL2ksSz0vXltee10rXHtccypcW25
hdGl2ZSBcdy8sWj0vXig/
OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKCJcXFxcW1x
cZGEtZkEtRl17MSw2fSIrTSsiP3xcXFxcKFteXFxyXFxuXFxmXSkiLCJnIiksbmU9ZnVuY3Rpb24oZSx0KX
t2YXIgbj0iMHgiK2Uuc2xpY2UoMSktNjU1MzY7cmV0dXJuIHR8fChuPDA/
U3RyaW5nLmZyb21DaGFyQ29kZShuKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKG4+PjEwfDU1Mjk2LDE
wMjMmbnw1NjMyMCkpfSxyZT0vKFtcMC1ceDFmXHg3Zl18Xi0/
XGQpfF4tJHxbXlwwLVx4MWZceDdmLVx1RkZGRlx3LV0vZyxpZT1mdW5jdGlvbihlLHQpe3JldHVybiB0PyJ
cMCI9PT1lPyJcdWZmZmQiOmUuc2xpY2UoMCwtMSkrIlxcIitlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkudG
9TdHJpbmcoMTYpKyIgIjoiXFwiK2V9LG9lPWZ1bmN0aW9uKCl7VCgpfSxhZT1iZShmdW5jdGlvbihlKXtyZ
XR1cm4hMD09PWUuZGlzYWJsZWQmJiJmaWVsZHNldCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9LHtk
aXI6InBhcmVudE5vZGUiLG5leHQ6ImxlZ2VuZCJ9KTt0cnl7SC5hcHBseSh0PU8uY2FsbChwLmNoaWxkTm9
kZXMpLHAuY2hpbGROb2RlcyksdFtwLmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlKXtIPX
thcHBseTp0Lmxlbmd0aD9mdW5jdGlvbihlLHQpe0wuYXBwbHkoZSxPLmNhbGwodCkpfTpmdW5jdGlvbihlL
HQpe3ZhciBuPWUubGVuZ3RoLHI9MDt3aGlsZShlW24rK109dFtyKytdKTtlLmxlbmd0aD1uLTF9fX1mdW5j
dGlvbiBzZSh0LGUsbixyKXt2YXIgaSxvLGEscyx1LGwsYyxmPWUmJmUub3duZXJEb2N1bWVudCxwPWU/
ZS5ub2RlVHlwZTo5O2lmKG49bnx8W10sInN0cmluZyIhPXR5cGVvZiB0fHwhdHx8MSE9PXAmJjkhPT1wJiY
xMSE9PXApcmV0dXJuIG47aWYoIXImJihUKGUpLGU9ZXx8QyxFKSl7aWYoMTEhPT1wJiYodT1aLmV4ZWModC
kpKWlmKGk9dVsxXSl7aWYoOT09PXApe2lmKCEoYT1lLmdldEVsZW1lbnRCeUlkKGkpKSlyZXR1cm4gbjtpZ
ihhLmlkPT09aSlyZXR1cm4gbi5wdXNoKGEpLG59ZWxzZSBpZihmJiYoYT1mLmdldEVsZW1lbnRCeUlkKGkp
KSYmeShlLGEpJiZhLmlkPT09aSlyZXR1cm4gbi5wdXNoKGEpLG59ZWxzZXtpZih1WzJdKXJldHVybiBILmF
wcGx5KG4sZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KSksbjtpZigoaT11WzNdKSYmZC5nZXRFbGVtZW50c0
J5Q2xhc3NOYW1lJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkobixlLmdldEVsZ
W1lbnRzQnlDbGFzc05hbWUoaSkpLG59aWYoZC5xc2EmJiFOW3QrIiAiXSYmKCF2fHwhdi50ZXN0KHQpKSYm
KDEhPT1wfHwib2JqZWN0IiE9PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpe2lmKGM9dCxmPWUsMT09PXA
mJihVLnRlc3QodCl8fHoudGVzdCh0KSkpeyhmPWVlLnRlc3QodCkmJnllKGUucGFyZW50Tm9kZSl8fGUpPT
09ZSYmZC5zY29wZXx8KChzPWUuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXMucmVwbGFjZShyZSxpZSk6ZS5zZ
XRBdHRyaWJ1dGUoImlkIixzPVMpKSxvPShsPWgodCkpLmxlbmd0aDt3aGlsZShvLS0pbFtvXT0ocz8iIyIr
czoiOnNjb3BlIikrIiAiK3hlKGxbb10pO2M9bC5qb2luKCIsIil9dHJ5e3JldHVybiBILmFwcGx5KG4sZi5
xdWVyeVNlbGVjdG9yQWxsKGMpKSxufWNhdGNoKGUpe04odCwhMCl9ZmluYWxseXtzPT09UyYmZS5yZW1vdm
VBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gZyh0LnJlcGxhY2UoJCwiJDEiKSxlLG4scil9ZnVuY3Rpb24gd
WUoKXt2YXIgcj1bXTtyZXR1cm4gZnVuY3Rpb24gZSh0LG4pe3JldHVybiByLnB1c2godCsiICIpPmIuY2Fj
aGVMZW5ndGgmJmRlbGV0ZSBlW3Iuc2hpZnQoKV0sZVt0KyIgIl09bn19ZnVuY3Rpb24gbGUoZSl7cmV0dXJ
uIGVbU109ITAsZX1mdW5jdGlvbiBjZShlKXt2YXIgdD1DLmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0Iik7dH
J5e3JldHVybiEhZSh0KX1jYXRjaChlKXtyZXR1cm4hMX1maW5hbGx5e3QucGFyZ
W50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHQ9bnVsbH19ZnVuY3Rpb24gZmUoZSx0KXt2
YXIgbj1lLnNwbGl0KCJ8Iikscj1uLmxlbmd0aDt3aGlsZShyLS0pYi5hdHRySGFuZGxlW25bcl1dPXR9ZnV
uY3Rpb24gcGUoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJi
ZlLnNvdXJjZUluZGV4LXQuc291cmNlSW5kZXg7aWYocilyZXR1cm4gcjtpZihuKXdoaWxlKG49bi5uZXh0U
2libGluZylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGRlKHQpe3JldHVybiBm
dW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZlLnR5cGU9PT1
0fX1mdW5jdGlvbiBoZShuKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2
FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmZS50eXBlPT09bn19ZnVuY3Rpb24gZ
2UodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiJmb3JtImluIGU/
ZS5wYXJlbnROb2RlJiYhMT09PWUuZGlzYWJsZWQ/ImxhYmVsImluIGU/
ImxhYmVsImluIGUucGFyZW50Tm9kZT9lLnBhcmVudE5vZGUuZGlzYWJsZWQ9PT10OmUuZGlzYWJsZWQ9PT1
0OmUuaXNEaXNhYmxlZD09PXR8fGUuaXNEaXNhYmxlZCE9PSF0JiZhZShlKT09PXQ6ZS5kaXNhYmxlZD09PX
Q6ImxhYmVsImluIGUmJmUuZGlzYWJsZWQ9PT10fX1mdW5jdGlvbiB2ZShhKXtyZXR1cm4gbGUoZnVuY3Rpb
24obyl7cmV0dXJuIG89K28sbGUoZnVuY3Rpb24oZSx0KXt2YXIgbixyPWEoW10sZS5sZW5ndGgsbyksaT1y
Lmxlbmd0aDt3aGlsZShpLS0pZVtuPXJbaV1dJiYoZVtuXT0hKHRbbl09ZVtuXSkpfSl9KX1mdW5jdGlvbiB
5ZShlKXtyZXR1cm4gZSYmInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZlfW
ZvcihlIGluIGQ9c2Uuc3VwcG9ydD17fSxpPXNlLmlzWE1MPWZ1bmN0aW9uKGUpe3ZhciB0PWUubmFtZXNwY
WNlVVJJLG49KGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiFZLnRlc3QodHx8
biYmbi5ub2RlTmFtZXx8IkhUTUwiKX0sVD1zZS5zZXREb2N1bWVudD1mdW5jdGlvbihlKXt2YXIgdCxuLHI
9ZT9lLm93bmVyRG9jdW1lbnR8fGU6cDtyZXR1cm4gciE9QyYmOT09PXIubm9kZVR5cGUmJnIuZG9jdW1lbn
RFbGVtZW50JiYoYT0oQz1yKS5kb2N1bWVudEVsZW1lbnQsRT0haShDKSxwIT1DJiYobj1DLmRlZmF1bHRWa
WV3KSYmbi50b3AhPT1uJiYobi5hZGRFdmVudExpc3RlbmVyP24uYWRkRXZlbnRMaXN0ZW5lcigidW5sb2Fk
IixvZSwhMSk6bi5hdHRhY2hFdmVudCYmbi5hdHRhY2hFdmVudCgib251bmxvYWQiLG9lKSksZC5zY29wZT1
jZShmdW5jdGlvbihlKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChDLmNyZWF0ZUVsZW
1lbnQoImRpdiIpKSwidW5kZWZpbmVkIiE9dHlwZW9mIGUucXVlcnlTZWxlY3RvckFsbCYmIWUucXVlcnlTZ
WxlY3RvckFsbCgiOnNjb3BlIGZpZWxkc2V0IGRpdiIpLmxlbmd0aH0pLGQuYXR0cmlidXRlcz1jZShmdW5j
dGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9ImkiLCFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSx
kLmdldEVsZW1lbnRzQnlUYWdOYW1lPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFwcGVuZENoaWxkKEMuY3
JlYXRlQ29tbWVudCgiIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RofSksZC5nZXRFb
GVtZW50c0J5Q2xhc3NOYW1lPUsudGVzdChDLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLGQuZ2V0QnlJZD1j
ZShmdW5jdGlvbihlKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChlKS5pZD1TLCFDLmdldEVsZW1lbnRzQnlOYW1
lfHwhQy5nZXRFbGVtZW50c0J5TmFtZShTKS5sZW5ndGh9KSxkLmdldEJ5SWQ/
KGIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9
uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKT09PXR9fSxiLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KX
tpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJkUpe3ZhciBuPXQuZ2V0RWxlbWVud
EJ5SWQoZSk7cmV0dXJuIG4/
W25dOltdfX0pOihiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2UodGUsbmUpO3JldHV
ybiBmdW5jdGlvbihlKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlTm9kZSYmZS
5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiB0JiZ0LnZhbHVlPT09bn19LGIuZmluZC5JRD1mdW5jd
GlvbihlLHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50QnlJZCYmRSl7dmFyIG4scixp
LG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZ
uLnZhbHVlPT09ZSlyZXR1cm5bb107aT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDt3aGlsZShvPWlbci
srXSlpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0d
XJuW119fSksYi5maW5kLlRBRz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJu
InVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlUYWdOYW1lP3QuZ2V0RWxlbWVudHNCeVRhZ05
hbWUoZSk6ZC5xc2E/
dC5xdWVyeVNlbGVjdG9yQWxsKGUpOnZvaWQgMH06ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9MCxvPXQ
uZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7aWYoIioiPT09ZSl7d2hpbGUobj1vW2krK10pMT09PW4ubm9kZV
R5cGUmJnIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gb30sYi5maW5kLkNMQVNTPWQuZ2V0RWxlbWVudHNCe
UNsYXNzTmFtZSYmZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudHNC
eUNsYXNzTmFtZSYmRSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpfSxzPVtdLHY9W10sKGQ
ucXNhPUsudGVzdChDLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGNlKGZ1bmN0aW9uKGUpe3ZhciB0O2EuYXBwZW
5kQ2hpbGQoZSkuaW5uZXJIVE1MPSI8YSBpZD0nIitTKyInPjwvYT48c2VsZWN0IGlkPSciK1MrIi1cclxcJ
yBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsZS5x
dWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmdi5wdXNoKCJbKl4kXT0
iK00rIiooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8di
5wdXNoKCJcXFsiK00rIiooPzp2YWx1ZXwiK1IrIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49IitTK
yItXSIpLmxlbmd0aHx8di5wdXNoKCJ+PSIpLCh0PUMuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0
cmlidXRlKCJuYW1lIiwiIiksZS5hcHBlbmRDaGlsZCh0KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPSc
nXSIpLmxlbmd0aHx8di5wdXNoKCJcXFsiK00rIipuYW1lIitNKyIqPSIrTSsiKig/
OicnfFwiXCIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8di5wdXNoKCI6Y2h
lY2tlZCIpLGUucXVlcnlTZWxlY3RvckFsbCgiYSMiK1MrIisqIikubGVuZ3RofHx2LnB1c2goIi4jLitbK3
5dIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJcXFxmIiksdi5wdXNoKCJbXFxyXFxuXFxmXSIpfSksY2UoZnVuY
3Rpb24oZSl7ZS5pbm5lckhUTUw9IjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVj
dCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PiI7dmFyIHQ9Qy5jcmVhdGVFbGVtZW5
0KCJpbnB1dCIpO3Quc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KS5zZX
RBdHRyaWJ1dGUoIm5hbWUiLCJEIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmd
i5wdXNoKCJuYW1lIitNKyIqWypeJHwhfl0/
PSIpLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoJiZ2LnB1c2goIjplbmFibGV
kIiwiOmRpc2FibGVkIiksYS5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG
9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGgmJnYucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxlLnF1Z
XJ5U2VsZWN0b3JBbGwoIiosOngiKSx2LnB1c2goIiwuKjoiKX0pKSwoZC5tYXRjaGVzU2VsZWN0b3I9Sy50
ZXN0KGM9YS5tYXRjaGVzfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tb3pNYXRjaGVzU2VsZWN0b3J
8fGEub01hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNTZWxlY3RvcikpJiZjZShmdW5jdGlvbihlKXtkLm
Rpc2Nvbm5lY3RlZE1hdGNoPWMuY2FsbChlLCIqIiksYy5jYWxsKGUsIltzIT0nJ106eCIpLHMucHVzaCgiI
T0iLEYpfSksdj12Lmxlbmd0aCYmbmV3IFJlZ0V4cCh2LmpvaW4oInwiKSkscz1zLmxlbmd0aCYmbmV3IFJl
Z0V4cChzLmpvaW4oInwiKSksdD1LLnRlc3QoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikseT10fHxLLnR
lc3QoYS5jb250YWlucyk/
ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLHI9dCYmdC5
wYXJlbnROb2RlO3JldHVybiBlPT09cnx8ISghcnx8MSE9PXIubm9kZVR5cGV8fCEobi5jb250YWlucz9uLm
NvbnRhaW5zKHIpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9za
XRpb24ocikpKX06ZnVuY3Rpb24oZSx0KXtpZih0KXdoaWxlKHQ9dC5wYXJlbnROb2RlKWlmKHQ9PT1lKXJl
dHVybiEwO3JldHVybiExfSxEPXQ/
ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gbD0hMCwwO3ZhciBuPSFlLmNvbXBhcmVEb2N1bWVudFB
vc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBufHwoMSYobj0oZS5vd25lckRvY3
VtZW50fHxlKT09KHQub3duZXJEb2N1bWVudHx8dCk/
ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IWQuc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N
1bWVudFBvc2l0aW9uKGUpPT09bj9lPT1DfHxlLm93bmVyRG9jdW1lbnQ9PXAmJnkocCxlKT8tMTp0PT1DfH
x0Lm93bmVyRG9jdW1lbnQ9PXAmJnkocCx0KT8xOnU/
UCh1LGUpLVAodSx0KTowOjQmbj8tMToxKX06ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gbD0hMCw
wO3ZhciBuLHI9MCxpPWUucGFyZW50Tm9kZSxvPXQucGFyZW50Tm9kZSxhPVtlXSxzPVt0XTtpZighaXx8IW
8pcmV0dXJuIGU9PUM/LTE6dD09Qz8xOmk/LTE6bz8xOnU/
UCh1LGUpLVAodSx0KTowO2lmKGk9PT1vKXJldHVybiBwZShlLHQpO249ZTt3aGlsZShuPW4ucGFyZW50Tm9
kZSlhLnVuc2hpZnQobik7bj10O3doaWxlKG49bi5wYXJlbnROb2RlKXMudW5zaGlmdChuKTt3aGlsZShhW3
JdPT09c1tyXSlyKys7cmV0dXJuIHI/cGUoYVtyXSxzW3JdKTphW3JdPT1wPy0xOnNbcl09PXA/
MTowfSksQ30sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2U
ubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoVChlKSxkLm1hdGNoZXNTZWxlY3RvciYmRSYmIU
5bdCsiICJdJiYoIXN8fCFzLnRlc3QodCkpJiYoIXZ8fCF2LnRlc3QodCkpKXRyeXt2YXIgbj1jLmNhbGwoZ
Sx0KTtpZihufHxkLmRpc2Nvbm5lY3RlZE1hdGNofHxlLmRvY3VtZW50JiYxMSE9PWUuZG9jdW1lbnQubm9k
ZVR5cGUpcmV0dXJuIG59Y2F0Y2goZSl7Tih0LCEwKX1yZXR1cm4gMDxzZSh0LEMsbnVsbCxbZV0pLmxlbmd
0aH0sc2UuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9QyYmVC
hlKSx5KGUsdCl9LHNlLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9QyYmVChlK
Tt2YXIgbj1iLmF0dHJIYW5kbGVbdC50b0xvd2VyQ2FzZSgpXSxyPW4mJmouY2FsbChiLmF0dHJIYW5kbGUs
dC50b0xvd2VyQ2FzZSgpKT9uKGUsdCwhRSk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1yP3I6ZC5hdHRyaWJ
1dGVzfHwhRT9lLmdldEF0dHJpYnV0ZSh0KToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZm
llZD9yLnZhbHVlOm51bGx9LHNlLmVzY2FwZT1mdW5jdGlvbihlKXtyZXR1cm4oZSsiIikucmVwbGFjZShyZ
SxpZSl9LHNlLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJl
Y29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX0sc2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVt
dLHI9MCxpPTA7aWYobD0hZC5kZXRlY3REdXBsaWNhdGVzLHU9IWQuc29ydFN0YWJsZSYmZS5zbGljZSgwKS
xlLnNvcnQoRCksbCl7d2hpbGUodD1lW2krK10pdD09PWVbaV0mJihyPW4ucHVzaChpKSk7d2hpbGUoci0tK
WUuc3BsaWNlKG5bcl0sMSl9cmV0dXJuIHU9bnVsbCxlfSxvPXNlLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFy
IHQsbj0iIixyPTAsaT1lLm5vZGVUeXBlO2lmKGkpe2lmKDE9PT1pfHw5PT09aXx8MTE9PT1pKXtpZigic3R
yaW5nIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdE
NoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPW8oZSl9ZWxzZSBpZigzPT09aXx8ND09PWkpcmV0dXJuIGUub
m9kZVZhbHVlfWVsc2Ugd2hpbGUodD1lW3IrK10pbis9byh0KTtyZXR1cm4gbn0sKGI9c2Uuc2VsZWN0b3Jz
PXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86bGUsbWF0Y2g6RyxhdHRySGFuZGxlOnt9LGZpbmQ6e30
scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZG
UifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2lib
GluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS5yZXBsYWNlKHRl
LG5lKSxlWzNdPShlWzNdfHxlWzRdfHxlWzVdfHwiIikucmVwbGFjZSh0ZSxuZSksIn49Ij09PWVbMl0mJih
lWzNdPSIgIitlWzNdKyIgIiksZS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT
1lWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1lWzFdLnNsaWNlKDAsMyk/
KGVbM118fHNlLmVycm9yKGVbMF0pLGVbNF09KyhlWzRdP2VbNV0rKGVbNl18fDEpOjIqKCJldmVuIj09PWV
bM118fCJvZGQiPT09ZVszXSkpLGVbNV09KyhlWzddK2VbOF18fCJvZGQiPT09ZVszXSkpOmVbM10mJnNlLm
Vycm9yKGVbMF0pLGV9LFBTRVVETzpmdW5jdGlvbihlKXt2YXIgdCxuPSFlWzZdJiZlWzJdO3JldHVybiBHL
kNISUxELnRlc3QoZVswXSk/
bnVsbDooZVszXT9lWzJdPWVbNF18fGVbNV18fCIiOm4mJlgudGVzdChuKSYmKHQ9aChuLCEwKSkmJih0PW4
uaW5kZXhPZigiKSIsbi5sZW5ndGgtdCktbi5sZW5ndGgpJiYoZVswXT1l
WzBdLnNsaWNlKDAsdCksZVsyXT1uLnNsaWNlKDAsdCkpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzp
mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09ZT
9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZ
S50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PW1bZSsiICJdO3JldHVybiB0
fHwodD1uZXcgUmVnRXhwKCIoXnwiK00rIikiK2UrIigiK00rInwkKSIpKSYmbShlLGZ1bmN0aW9uKGUpe3J
ldHVybiB0LnRlc3QoInN0cmluZyI9PXR5cGVvZiBlLmNsYXNzTmFtZSYmZS5jbGFzc05hbWV8fCJ1bmRlZm
luZWQiIT10eXBlb2YgZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQ
VRUUjpmdW5jdGlvbihuLHIsaSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PXNlLmF0dHIoZSxuKTtyZXR1
cm4gbnVsbD09dD8iIT0iPT09cjohcnx8KHQrPSIiLCI9Ij09PXI/dD09PWk6IiE9Ij09PXI/
dCE9PWk6Il49Ij09PXI/
aSYmMD09PXQuaW5kZXhPZihpKToiKj0iPT09cj9pJiYtMTx0LmluZGV4T2YoaSk6IiQ9Ij09PXI/
aSYmdC5zbGljZSgtaS5sZW5ndGgpPT09aToifj0iPT09cj8tMTwoIiAiK3QucmVwbGFjZShCLCIgIikrIiA
iKS5pbmRleE9mKGkpOiJ8PSI9PT1yJiYodD09PWl8fHQuc2xpY2UoMCxpLmxlbmd0aCsxKT09PWkrIi0iKS
l9fSxDSElMRDpmdW5jdGlvbihoLGUsdCxnLHYpe3ZhciB5PSJudGgiIT09aC5zbGljZSgwLDMpLG09Imxhc
3QiIT09aC5zbGljZSgtNCkseD0ib2YtdHlwZSI9PT1lO3JldHVybiAxPT09ZyYmMD09PXY/
ZnVuY3Rpb24oZSl7cmV0dXJuISFlLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSx
zLHUsbD15IT09bT8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLGM9ZS5wYXJlbnROb2RlLGY9eC
YmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHA9IW4mJiF4LGQ9ITE7aWYoYyl7aWYoeSl7d2hpbGUobCl7Y
T1lO3doaWxlKGE9YVtsXSlpZih4P2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWY6MT09PWEubm9kZVR5
cGUpcmV0dXJuITE7dT1sPSJvbmx5Ij09PWgmJiF1JiYibmV4dFNpYmxpbmcifXJldHVybiEwfWlmKHU9W20
/
Yy5maXJzdENoaWxkOmMubGFzdENoaWxkXSxtJiZwKXtkPShzPShyPShpPShvPShhPWMpW1NdfHwoYVtTXT1
7fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdfHxbXSlbMF09PT1rJiZyWzFdKSYmcl
syXSxhPXMmJmMuY2hpbGROb2Rlc1tzXTt3aGlsZShhPSsrcyYmYSYmYVtsXXx8KGQ9cz0wKXx8dS5wb3AoK
SlpZigxPT09YS5ub2RlVHlwZSYmKytkJiZhPT09ZSl7aVtoXT1bayxzLGRdO2JyZWFrfX1lbHNlIGlmKHAm
JihkPXM9KHI9KGk9KG89KGE9ZSlbU118fChhW1NdPXt9KSlbYS51bmlxdWVJRF18fChvW2EudW5pcXVlSUR
dPXt9KSlbaF18fFtdKVswXT09PWsmJnJbMV0pLCExPT09ZCl3aGlsZShhPSsrcyYmYSYmYVtsXXx8KGQ9cz
0wKXx8dS5wb3AoKSlpZigoeD9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1hLm5vZGVUeXBlK
SYmKytkJiYocCYmKChpPShvPWFbU118fChhW1NdPXt9KSlbYS51bmlxdWVJRF18fChvW2EudW5pcXVlSURd
PXt9KSlbaF09W2ssZF0pLGE9PT1lKSlicmVhaztyZXR1cm4oZC09dik9PT1nfHxkJWc9PTAmJjA8PWQvZ31
9fSxQU0VVRE86ZnVuY3Rpb24oZSxvKXt2YXIgdCxhPWIucHNldWRvc1tlXXx8Yi5zZXRGaWx0ZXJzW2UudG
9Mb3dlckNhc2UoKV18fHNlLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrZSk7cmV0dXJuIGFbU10/
YShvKToxPGEubGVuZ3RoPyh0PVtlLGUsIiIsb10sYi5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9
Mb3dlckNhc2UoKSk/
bGUoZnVuY3Rpb24oZSx0KXt2YXIgbixyPWEoZSxvKSxpPXIubGVuZ3RoO3doaWxlKGktLSllW249UChlLHJ
baV0pXT0hKHRbbl09cltpXSl9KTpmdW5jdGlvbihlKXtyZXR1cm4gYShlLDAsdCl9KTphfX0scHNldWRvcz
p7bm90OmxlKGZ1bmN0aW9uKGUpe3ZhciByPVtdLGk9W10scz1mKGUucmVwbGFjZSgkLCIkMSIpKTtyZXR1c
m4gc1tTXT9sZShmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvPXMoZSxudWxsLHIsW10pLGE9ZS5sZW5ndGg7
d2hpbGUoYS0tKShpPW9bYV0pJiYoZVthXT0hKHRbYV09aSkpfSk6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB
yWzBdPWUscyhyLG51bGwsbixpKSxyWzBdPW51bGwsIWkucG9wKCl9fSksaGFzOmxlKGZ1bmN0aW9uKHQpe3
JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gMDxzZSh0LGUpLmxlbmd0aH19KSxjb250YWluczpsZShmdW5jd
Glvbih0KXtyZXR1cm4gdD10LnJlcGxhY2UodGUsbmUpLGZ1bmN0aW9uKGUpe3JldHVybi0xPChlLnRleHRD
b250ZW50fHxvKGUpKS5pbmRleE9mKHQpfX0pLGxhbmc6bGUoZnVuY3Rpb24obil7cmV0dXJuIFYudGVzdCh
ufHwiIil8fHNlLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK24pLG49bi5yZXBsYWNlKHRlLG5lKS50b0
xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGUpe3ZhciB0O2Rve2lmKHQ9RT9lLmxhbmc6ZS5nZXRBdHRyaWJ1dGUoI
nhtbDpsYW5nIil8fGUuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuKHQ9dC50b0xvd2VyQ2FzZSgpKT09
PW58fDA9PT10LmluZGV4T2YobisiLSIpfXdoaWxlKChlPWUucGFyZW50Tm9kZSkmJjE9PT1lLm5vZGVUeXB
lKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9bi5sb2NhdGlvbiYmbi5sb2NhdGlvbi
5oYXNoO3JldHVybiB0JiZ0LnNsaWNlKDEpPT09ZS5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09P
WF9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09Qy5hY3RpdmVFbGVtZW50JiYoIUMuaGFzRm9jdXN8
fEMuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6Z2UoITE
pLGRpc2FibGVkOmdlKCEwKSxjaGVja2VkOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlck
Nhc2UoKTtyZXR1cm4iaW5wdXQiPT09dCYmISFlLmNoZWNrZWR8fCJvcHRpb24iPT09dCYmISFlLnNlbGVjd
GVkfSxzZWxlY3RlZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUuc2Vs
ZWN0ZWRJbmRleCwhMD09PWUuc2VsZWN0ZWR9LGVtcHR5OmZ1bmN0aW9uKGUpe2ZvcihlPWUuZmlyc3RDaGl
sZDtlO2U9ZS5uZXh0U2libGluZylpZihlLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudD
pmdW5jdGlvbihlKXtyZXR1cm4hYi5wc2V1ZG9zLmVtcHR5KGUpfSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0d
XJuIEoudGVzdChlLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIFEudGVzdChlLm5vZGVO
YW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4
iaW5wdXQiPT09dCYmImJ1dHRvbiI9PT1lLnR5cGV8fCJidXR0b24iPT09dH0sdGV4dDpmdW5jdGlvbihlKX
t2YXIgdDtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1lLnR5c
GUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKXx8InRleHQiPT09dC50b0xvd2VyQ2FzZSgp
KX0sZmlyc3Q6dmUoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OnZlKGZ1bmN0aW9uKGUsdCl7cmV0dXJ
uW3QtMV19KSxlcTp2ZShmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSxldmVuOnZlKGZ1bm
N0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOnZlKGZ1b
mN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6dmUoZnVu
Y3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/
bit0OnQ8bj90Om47MDw9LS1yOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDp2ZShmdW5jdGlvbihlLHQsbil
7Zm9yKHZhciByPW48MD9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSkucHNldWRvcy5udG
g9Yi5wc2V1ZG9zLmVxLHtyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlO
iEwfSliLnBzZXVkb3NbZV09ZGUoZSk7Zm9yKGUgaW57c3VibWl0OiEwLHJlc2V0OiEwfSliLnBzZXVkb3Nb
ZV09aGUoZSk7ZnVuY3Rpb24gbWUoKXt9ZnVuY3Rpb24geGUoZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aCx
yPSIiO3Q8bjt0Kyspcis9ZVt0XS52YWx1ZTtyZXR1cm4gcn1mdW5jdGlvbiBiZShzLGUsdCl7dmFyIHU9ZS
5kaXIsbD1lLm5leHQsYz1sfHx1LGY9dCYmInBhcmVudE5vZGUiPT09YyxwPXIrKztyZXR1cm4gZS5maXJzd
D9mdW5jdGlvbihlLHQsbil7d2hpbGUoZT1lW3VdKWlmKDE9PT1lLm5vZGVUeXBlfHxmKXJldHVybiBzKGUs
dCxuKTtyZXR1cm4hMX06ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPVtrLHBdO2lmKG4pe3doaWxlKGU
9ZVt1XSlpZigoMT09PWUubm9kZVR5cGV8fGYpJiZzKGUsdCxuKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGU9ZV
t1XSlpZigxPT09ZS5ub2RlVHlwZXx8ZilpZihpPShvPWVbU118fChlW1NdPXt9KSlbZS51bmlxdWVJRF18f
ChvW2UudW5pcXVlSURdPXt9KSxsJiZsPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKWU9ZVt1XXx8ZTtl
bHNle2lmKChyPWlbY10pJiZyWzBdPT09ayYmclsxXT09PXApcmV0dXJuIGFbMl09clsyXTtpZigoaVtjXT1
hKVsyXT1zKGUsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gd2UoaSl7cmV0dXJuIDE8aS5sZW
5ndGg/
ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkubGVuZ3RoO3doaWxlKHItLSlpZighaVtyXShlLHQsbikpcmV0dXJ
uITE7cmV0dXJuITB9OmlbMF19ZnVuY3Rpb24gVGUoZSx0LG4scixpKXtmb3IodmFyIG8sYT1bXSxzPTAsdT
1lLmxlbmd0aCxsPW51bGwhPXQ7czx1O3MrKykobz1lW3NdKSYmKG4mJiFuKG8scixpKXx8KGEucHVzaChvK
SxsJiZ0LnB1c2gocykpKTtyZXR1cm4gYX1mdW5jdGlvbiBDZShkLGgsZyx2LHksZSl7cmV0dXJuIHYmJiF2
W1NdJiYodj1DZSh2KSkseSYmIXlbU10mJih5PUNlKHksZSkpLGxlKGZ1bmN0aW9uKGUsdCxuLHIpe3ZhciB
pLG8sYSxzPVtdLHU9W10sbD10Lmxlbmd0aCxjPWV8fGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MCxpPX
QubGVuZ3RoO3I8aTtyKyspc2UoZSx0W3JdLG4pO3JldHVybiBufShofHwiKiIsbi5ub2RlVHlwZT9bbl06b
ixbXSksZj0hZHx8IWUmJmg/
YzpUZShjLHMsZCxuLHIpLHA9Zz95fHwoZT9kOmx8fHYpP1tdOnQ6ZjtpZihnJiZnKGYscCxuLHIpLHYpe2k
9VGUocCx1KSx2KGksW10sbixyKSxvPWkubGVuZ3RoO3doaWxlKG8tLSkoYT1pW29dKSYmKHBbdVtvXV09IS
hmW3Vbb11dPWEpKX1pZihlKXtpZih5fHxkKXtpZih5KXtpPVtdLG89cC5sZW5ndGg7d2hpbGUoby0tKShhP
XBbb10pJiZpLnB1c2goZltvXT1hKTt5KG51bGwscD1bXSxpLHIpfW89cC5sZW5ndGg7d2hpbGUoby0tKShh
PXBbb10pJiYtMTwoaT15P1AoZSxhKTpzW29dKSYmKGVbaV09ISh0W2ldPWEpKX19ZWxzZSBwPVRlKHA9PT1
0P3Auc3BsaWNlKGwscC5sZW5ndGgpOnApLHk/
eShudWxsLHQscCxyKTpILmFwcGx5KHQscCl9KX1mdW5jdGlvbiBFZShlKXtmb3IodmFyIGksdCxuLHI9ZS5
sZW5ndGgsbz1iLnJlbGF0aXZlW2VbMF0udHlwZV0sYT1vfHxiLnJlbGF0aXZlWyIgIl0scz1vPzE6MCx1PW
JlKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09aX0sYSwhMCksbD1iZShmdW5jdGlvbihlKXtyZXR1cm4tMTxQK
GksZSl9LGEsITApLGM9W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcj0hbyYmKG58fHQhPT13KXx8KChpPXQpLm5v
ZGVUeXBlP3UoZSx0LG4pOmwoZSx0LG4pKTtyZXR1cm4gaT1udWxsLHJ9XTtzPHI7cysrKWlmKHQ9Yi5yZWx
hdGl2ZVtlW3NdLnR5cGVdKWM9W2JlKHdlKGMpLHQpXTtlbHNle2lmKCh0PWIuZmlsdGVyW2Vbc10udHlwZV
0uYXBwbHkobnVsbCxlW3NdLm1hdGNoZXMpKVtTXSl7Zm9yKG49KytzO248cjtuKyspaWYoYi5yZWxhdGl2Z
VtlW25dLnR5cGVdKWJyZWFrO3JldHVybiBDZSgxPHMmJndlKGMpLDE8cyYmeGUoZS5zbGljZSgwLHMtMSku
Y29uY2F0KHt2YWx1ZToiICI9PT1lW3MtMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZSgkLCIkMSIpLHQsczx
uJiZFZShlLnNsaWNlKHMsbikpLG48ciYmRWUoZT1lLnNsaWNlKG4pKSxuPHImJnhlKGUpKX1jLnB1c2godC
l9cmV0dXJuIHdlKGMpfXJldHVybiBtZS5wcm90b3R5cGU9Yi5maWx0ZXJzPWIucHNldWRvcyxiLnNldEZpb
HRlcnM9bmV3IG1lLGg9c2UudG9rZW5pemU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhLHMsdSxsPXhb
ZSsiICJdO2lmKGwpcmV0dXJuIHQ/
MDpsLnNsaWNlKDApO2E9ZSxzPVtdLHU9Yi5wcmVGaWx0ZXI7d2hpbGUoYSl7Zm9yKG8gaW4gbiYmIShyPV8
uZXhlYyhhKSl8fChyJiYoYT1hLnNsaWNlKHJbMF0ubGVuZ3RoKXx8YSkscy5wdXNoKGk9W10pKSxuPSExLC
hyPXouZXhlYyhhKSkmJihuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTpyWzBdLnJlcGxhY2UoJ
CwiICIpfSksYT1hLnNsaWNlKG4ubGVuZ3RoKSksYi5maWx0ZXIpIShyPUdbb10uZXhlYyhhKSl8fHVbb10m
JiEocj11W29dKHIpKXx8KG49ci5zaGlmdCgpLGkucHVzaCh7dmFsdWU6bix0eXBlOm8sbWF0Y2hlczpyfSk
sYT1hLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/
YS5sZW5ndGg6YT9zZS5lcnJvcihlKTp4KGUscykuc2xpY2UoMCl9LGY9c2UuY29tcGlsZT1mdW5jdGlvbih
lLHQpe3ZhciBuLHYseSxtLHgscixpPVtdLG89W10sYT1BW2UrIiAiXTtpZighYSl7dHx8KHQ9aChlKSksbj
10Lmxlbmd0aDt3aGlsZShuLS0pKGE9RWUodFtuXSkpW1NdP2kucHVzaChhKTpvLnB1c2goYSk7KGE9QShlL
Ch2PW8sbT0wPCh5PWkpLmxlbmd0aCx4PTA8di5sZW5ndGgscj1mdW5jdGlvbihlLHQsbixyLGkpe3ZhciBv
LGEscyx1PTAsbD0iMCIsYz1lJiZbXSxmPVtdLHA9dyxkPWV8fHgmJmIuZmluZC5UQUcoIioiLGkpLGg9ays
9bnVsbD09cD8xOk1hdGgucmFuZG9tKCl8fC4xLGc9ZC5sZW5ndGg7Zm9yKGkmJih3PXQ9PUN8fHR8fGkpO2
whPT1nJiZudWxsIT0obz1kW2xdKTtsKyspe2lmKHgmJm8pe2E9MCx0fHxvLm93bmVyRG9jdW1lbnQ9PUN8f
ChUKG8pLG49IUUpO3doaWxlKHM9dlthKytdKWlmKHMobyx0fHxDLG4pKXtyLnB1c2gobyk7YnJlYWt9aSYm
KGs9aCl9bSYmKChvPSFzJiZvKSYmdS0tLGUmJmMucHVzaChvKSl9aWYodSs9bCxtJiZsIT09dSl7YT0wO3d
oaWxlKHM9eVthKytdKXMoYyxmLHQsbik7aWYoZSl7aWYoMDx1KXdoaWxlKGwtLSljW2xdfHxmW2xdfHwoZl
tsXT1xLmNhbGwocikpO2Y9VGUoZil9SC5hcHBseShyLGYpLGkmJiFlJiYwPGYubGVuZ3RoJiYxPHUreS5sZ
W5ndGgmJnNlLnVuaXF1ZVNvcnQocil9cmV0dXJuIGkmJihrPWgsdz1wKSxjfSxtP2xlKHIpOnIpKSkuc2Vs
ZWN0b3I9ZX1
yZXR1cm4gYX0sZz1zZS5zZWxlY3Q9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPSJmdW5jdG
lvbiI9PXR5cGVvZiBlJiZlLGM9IXImJmgoZT1sLnNlbGVjdG9yfHxlKTtpZihuPW58fFtdLDE9PT1jLmxlb
md0aCl7aWYoMjwobz1jWzBdPWNbMF0uc2xpY2UoMCkpLmxlbmd0aCYmIklEIj09PShhPW9bMF0pLnR5cGUm
Jjk9PT10Lm5vZGVUeXBlJiZFJiZiLnJlbGF0aXZlW29bMV0udHlwZV0pe2lmKCEodD0oYi5maW5kLklEKGE
ubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSx0KXx8W10pWzBdKSlyZXR1cm4gbjtsJiYodD10LnBhcmVudE
5vZGUpLGU9ZS5zbGljZShvLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPUcubmVlZHNDb250ZXh0LnRlc3QoZ
Sk/
MDpvLmxlbmd0aDt3aGlsZShpLS0pe2lmKGE9b1tpXSxiLnJlbGF0aXZlW3M9YS50eXBlXSlicmVhaztpZig
odT1iLmZpbmRbc10pJiYocj11KGEubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KG9bMF0udH
lwZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYoby5zcGxpY2UoaSwxKSwhKGU9ci5sZW5ndGgmJnhlK
G8pKSlyZXR1cm4gSC5hcHBseShuLHIpLG47YnJlYWt9fX1yZXR1cm4obHx8ZihlLGMpKShyLHQsIUUsbiwh
dHx8ZWUudGVzdChlKSYmeWUodC5wYXJlbnROb2RlKXx8dCksbn0sZC5zb3J0U3RhYmxlPVMuc3BsaXQoIiI
pLnNvcnQoRCkuam9pbigiIik9PT1TLGQuZGV0ZWN0RHVwbGljYXRlcz0hIWwsVCgpLGQuc29ydERldGFjaG
VkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oQy5jcmVhdGVFb
GVtZW50KCJmaWVsZHNldCIpKX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGEgaHJl
Zj0nIyc+PC9hPiIsIiMiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGZlKCJ0eXB
lfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihlLHQsbil7aWYoIW4pcmV0dXJuIGUuZ2V0QXR0cmlidX
RlKHQsInR5cGUiPT09dC50b0xvd2VyQ2FzZSgpPzE6Mil9KSxkLmF0dHJpYnV0ZXMmJmNlKGZ1bmN0aW9uK
GUpe3JldHVybiBlLmlubmVySFRNTD0iPGlucHV0Lz4iLGUuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZh
bHVlIiwiIiksIiI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGZlKCJ2YWx1ZSI
sZnVuY3Rpb24oZSx0LG4pe2lmKCFuJiYiaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldH
VybiBlLmRlZmF1bHRWYWx1ZX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lLmdldEF0dHJpYnV0Z
SgiZGlzYWJsZWQiKX0pfHxmZShSLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZighbilyZXR1cm4hMD09PWVb
dF0/
dC50b0xvd2VyQ2FzZSgpOihyPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJnIuc3BlY2lmaWVkP3IudmFsdWU
6bnVsbH0pLHNlfShDKTtTLmZpbmQ9ZCxTLmV4cHI9ZC5zZWxlY3RvcnMsUy5leHByWyI6Il09Uy5leHByLn
BzZXVkb3MsUy51bmlxdWVTb3J0PVMudW5pcXVlPWQudW5pcXVlU29ydCxTLnRleHQ9ZC5nZXRUZXh0LFMua
XNYTUxEb2M9ZC5pc1hNTCxTLmNvbnRhaW5zPWQuY29udGFpbnMsUy5lc2NhcGVTZWxlY3Rvcj1kLmVzY2Fw
ZTt2YXIgaD1mdW5jdGlvbihlLHQsbil7dmFyIHI9W10saT12b2lkIDAhPT1uO3doaWxlKChlPWVbdF0pJiY
5IT09ZS5ub2RlVHlwZSlpZigxPT09ZS5ub2RlVHlwZSl7aWYoaSYmUyhlKS5pcyhuKSlicmVhaztyLnB1c2
goZSl9cmV0dXJuIHJ9LFQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpM
T09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59LGs9Uy5leHByLm1hdGNoLm5lZWRz
Q29udGV4dDtmdW5jdGlvbiBBKGUsdCl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckN
hc2UoKT09PXQudG9Mb3dlckNhc2UoKX12YXIgTj0vXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKV
tceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaTtmdW5jdGlvbiBEKGUsbixyKXtyZXR1cm4gbShuK
T9TLmdyZXAoZSxmdW5jdGlvbihlLHQpe3JldHVybiEhbi5jYWxsKGUsdCxlKSE9PXJ9KTpuLm5vZGVUeXBl
P1MuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09biE9PXJ9KToic3RyaW5nIiE9dHlwZW9mIG4/
Uy5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuLTE8aS5jYWxsKG4sZSkhPT1yfSk6Uy5maWx0ZXIobixlLHI
pfVMuZmlsdGVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10WzBdO3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIi
kiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBlP1MuZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bc
l06W106Uy5maW5kLm1hdGNoZXMoZSxTLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5
cGV9KSl9LFMuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzLmxlbmd0aCxpPXR
oaXM7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnB1c2hTdGFjayhTKGUpLmZpbHRlcihmdW
5jdGlvbigpe2Zvcih0PTA7dDxyO3QrKylpZihTLmNvbnRhaW5zKGlbdF0sdGhpcykpcmV0dXJuITB9KSk7Z
m9yKG49dGhpcy5wdXNoU3RhY2soW10pLHQ9MDt0PHI7dCsrKVMuZmluZChlLGlbdF0sbik7cmV0dXJuIDE8
cj9TLnVuaXF1ZVNvcnQobik6bn0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayh
EKHRoaXMsZXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhEKHRoaX
MsZXx8W10sITApKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFEKHRoaXMsInN0cmluZyI9PXR5cGVvZiBlJ
iZrLnRlc3QoZSk/
UyhlKTplfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBqLHE9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x
3LV0rKSkkLzsoUy5mbi5pbml0PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKCFlKXJldHVybiB0aGlzO2
lmKG49bnx8aiwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEocj0iPCI9PT1lWzBdJiYiPiI9PT1lW2UubGVuZ
3RoLTFdJiYzPD1lLmxlbmd0aD9bbnVsbCxlLG51bGxdOnEuZXhlYyhlKSl8fCFyWzFdJiZ0KXJldHVybiF0
fHx0LmpxdWVyeT8odHx8bikuZmluZChlKTp0aGlzLmNvbnN0cnVjdG9yKHQpLmZpbmQoZSk7aWYoclsxXSl
7aWYodD10IGluc3RhbmNlb2YgUz90WzBdOnQsUy5tZXJnZSh0aGlzLFMucGFyc2VIVE1MKHJbMV0sdCYmdC
5ub2RlVHlwZT90Lm93bmVyRG9jdW1lbnR8fHQ6RSwhMCkpLE4udGVzdChyWzFdKSYmUy5pc1BsYWluT2JqZ
WN0KHQpKWZvcihyIGluIHQpbSh0aGlzW3JdKT90aGlzW3JdKHRbcl0pOnRoaXMuYXR0cihyLHRbcl0pO3Jl
dHVybiB0aGlzfXJldHVybihpPUUuZ2V0RWxlbWVudEJ5SWQoclsyXSkpJiYodGhpc1swXT1pLHRoaXMubGV
uZ3RoPTEpLHRoaXN9cmV0dXJuIGUubm9kZVR5cGU/
KHRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0oZSk/
dm9pZCAwIT09bi5yZWFkeT9uLnJlYWR5KGUpOmUoUyk6Uy5tYWtlQXJyYXkoZSx0aGlzKX0pLnByb3RvdHl
wZT1TLmZuLGo9UyhFKTt2YXIgTD0vXig/OnBhcmVudHN8cHJldig/
OlVudGlsfEFsbCkpLyxIPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2Z1bmN
0aW9uIE8oZSx0KXt3aGlsZSgoZT1lW3RdKSYmMSE9PWUubm9kZVR5cGUpO3JldHVybiBlfVMuZm4uZXh0ZW
5kKHtoYXM6ZnVuY3Rpb24oZSl7dmFyIHQ9UyhlLHRoaXMpLG49dC5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsd
GVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxuO2UrKylpZihTLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0
dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXRoaXMubGVuZ3RoLG89W10sYT0
ic3RyaW5nIiE9dHlwZW9mIGUmJlMoZSk7aWYoIWsudGVzdChlKSlmb3IoO3I8aTtyKyspZm9yKG49dGhpc1
tyXTtuJiZuIT09dDtuPW4ucGFyZW50Tm9kZSlpZihuLm5vZGVUeXBlPDExJiYoYT8tMTxhLmluZGV4KG4pO
jE9PT1uLm5vZGVUeXBlJiZTLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG4sZSkpKXtvLnB1c2gobik7YnJlYWt9
cmV0dXJuIHRoaXMucHVzaFN0YWNrKDE8by5sZW5ndGg/
Uy51bmlxdWVTb3J0KG8pOm8pfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9
mIGU/aS5jYWxsKFMoZSksdGhpc1swXSk6aS5jYWxsKHRoaXMsZS5qcXVlcnk/
ZVswXTplKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/
dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGl
zLnB1c2hTdGFjayhTLnVuaXF1ZVNvcnQoUy5tZXJnZSh0aGlzLmdldCgpLFMoZSx0KSkpKX0sYWRkQmFjaz
pmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T
2JqZWN0LmZpbHRlcihlKSl9fSksUy5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnRO
b2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/
dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsInBhcmVudE5vZGUiKX0scGFyZW50c1V
udGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaChlLCJwYXJlbnROb2RlIixuKX0sbmV4dDpmdW5jdGlvbi
hlKXtyZXR1cm4gTyhlLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBPKGUsInByZ
XZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsIm5leHRTaWJsaW5nIil9
LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGgoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDp
mdW5jdGlvbihlLHQsbil7cmV0dXJuIGgoZSwibmV4dFNpYmxpbmciLG4pfSxwcmV2VW50aWw6ZnVuY3Rpb2
4oZSx0LG4pe3JldHVybiBoKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe
3JldHVybiBUKChlLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGUpfSxjaGlsZHJlbjpmdW5jdGlvbihl
KXtyZXR1cm4gVChlLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZS5
jb250ZW50RG9jdW1lbnQmJnIoZS5jb250ZW50RG9jdW1lbnQpP2UuY29udGVudERvY3VtZW50OihBKGUsIn
RlbXBsYXRlIikmJihlPWUuY29udGVudHx8ZSksUy5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0a
W9uKHIsaSl7Uy5mbltyXT1mdW5jdGlvbihlLHQpe3ZhciBuPVMubWFwKHRoaXMsaSxlKTtyZXR1cm4iVW50
aWwiIT09ci5zbGljZSgtNSkmJih0PWUpLHQmJiJzdHJpbmciPT10eXBlb2YgdCYmKG49Uy5maWx0ZXIodCx
uKSksMTx0aGlzLmxlbmd0aCYmKEhbcl18fFMudW5pcXVlU29ydChuKSxMLnRlc3QocikmJm4ucmV2ZXJzZS
gpKSx0aGlzLnB1c2hTdGFjayhuKX19KTt2YXIgUD0vW15ceDIwXHRcclxuXGZdKy9nO2Z1bmN0aW9uIFIoZ
Sl7cmV0dXJuIGV9ZnVuY3Rpb24gTShlKXt0aHJvdyBlfWZ1bmN0aW9uIEkoZSx0LG4scil7dmFyIGk7dHJ5
e2UmJm0oaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmbShpPWUudGhlbik/
aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9
pZCAwLFtlXSl9fVMuQ2FsbGJhY2tzPWZ1bmN0aW9uKHIpe3ZhciBlLG47cj0ic3RyaW5nIj09dHlwZW9mIH
I/
KGU9cixuPXt9LFMuZWFjaChlLm1hdGNoKFApfHxbXSxmdW5jdGlvbihlLHQpe25bdF09ITB9KSxuKTpTLmV
4dGVuZCh7fSxyKTt2YXIgaSx0LG8sYSxzPVtdLHU9W10sbD0tMSxjPWZ1bmN0aW9uKCl7Zm9yKGE9YXx8ci
5vbmNlLG89aT0hMDt1Lmxlbmd0aDtsPS0xKXt0PXUuc2hpZnQoKTt3aGlsZSgrK2w8cy5sZW5ndGgpITE9P
T1zW2xdLmFwcGx5KHRbMF0sdFsxXSkmJnIuc3RvcE9uRmFsc2UmJihsPXMubGVuZ3RoLHQ9ITEpfXIubWVt
b3J5fHwodD0hMSksaT0hMSxhJiYocz10P1tdOiIiKX0sZj17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIHMmJih
0JiYhaSYmKGw9cy5sZW5ndGgtMSx1LnB1c2godCkpLGZ1bmN0aW9uIG4oZSl7Uy5lYWNoKGUsZnVuY3Rpb2
4oZSx0KXttKHQpP3IudW5pcXVlJiZmLmhhcyh0KXx8cy5wdXNoKHQpOnQmJnQubGVuZ3RoJiYic3RyaW5nI
iE9PXcodCkmJm4odCl9KX0oYXJndW1lbnRzKSx0JiYhaSYmYygpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24o
KXtyZXR1cm4gUy5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihlLHQpe3ZhciBuO3doaWxlKC0xPChuPVMuaW5
BcnJheSh0LHMsbikpKXMuc3BsaWNlKG4sMSksbjw9bCYmbC0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGUpe3
JldHVybiBlPy0xPFMuaW5BcnJheShlLHMpOjA8cy5sZW5ndGh9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuI
HMmJihzPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGE9dT1bXSxzPXQ9IiIsdGhpc30s
ZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hc30sbG9jazpmdW5jdGlvbigpe3JldHVybiBhPXU9W10sdHx
8aXx8KHM9dD0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFhfSxmaXJlV2l0aDpmdW5jdG
lvbihlLHQpe3JldHVybiBhfHwodD1bZSwodD10fHxbXSkuc2xpY2U/
dC5zbGljZSgpOnRdLHUucHVzaCh0KSxpfHxjKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gZi5
maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIW99fTtyZX
R1cm4gZn0sUy5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGUpe3ZhciBvPVtbIm5vdGlmeSIsInByb2dyZ
XNzIixTLkNhbGxiYWNrcygibWVtb3J5IiksUy5DYWxsYmFja3MoIm1lbW9yeSIpLDJdLFsicmVzb2x2ZSIs
ImRvbmUiLFMuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLFMuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLDA
sInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxTLkNhbG
xiYWNrcygib25jZSBtZW1vcnkiKSwxLCJyZWplY3RlZCJdXSxpPSJwZW5kaW5nIixhPXtzdGF0ZTpmdW5jd
Glvbigpe3JldHVybiBpfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gcy5kb25lKGFyZ3VtZW50cykuZmFp
bChhcmd1bWVudHMpLHRoaXN9LCJjYXRjaCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGEudGhlbihudWxsLGUpfSx
waXBlOmZ1bmN0aW9uKCl7dmFyIGk9YXJndW1lbnRzO3JldHVybiBTLkRlZmVycmVkKGZ1bmN0aW9uKHIpe1
MuZWFjaChvLGZ1bmN0aW9uKGUsdCl7dmFyIG49bShpW3RbNF1dKSYmaVt0WzRdXTtzW3RbMV1dKGZ1bmN0a
W9uKCl7dmFyIGU9biYmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmbShlLnByb21pc2UpP2UucHJvbWlz
ZSgpLnByb2dyZXNzKHIubm90aWZ5KS5kb25lKHIucmVzb2x2ZSkuZmFpbChyLnJlamVjdCk6clt0WzBdKyJ
XaXRoIl0odGhpcyxuP1tlXTphcmd1bWVudHMpfSl9KSxpPW
51bGx9KS5wcm9taXNlKCl9LHRoZW46ZnVuY3Rpb24odCxuLHIpe3ZhciB1PTA7ZnVuY3Rpb24gbChpLG8sY
SxzKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLHI9YXJndW1lbnRzLGU9ZnVuY3Rpb24oKXt2YXIg
ZSx0O2lmKCEoaTx1KSl7aWYoKGU9YS5hcHBseShuLHIpKT09PW8ucHJvbWlzZSgpKXRocm93IG5ldyBUeXB
lRXJyb3IoIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvbiIpO3Q9ZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8Im
Z1bmN0aW9uIj09dHlwZW9mIGUpJiZlLnRoZW4sbSh0KT9zP3QuY2FsbChlLGwodSxvLFIscyksbCh1LG8sT
SxzKSk6KHUrKyx0LmNhbGwoZSxsKHUsbyxSLHMpLGwodSxvLE0scyksbCh1LG8sUixvLm5vdGlmeVdpdGgp
KSk6KGEhPT1SJiYobj12b2lkIDAscj1bZV0pLChzfHxvLnJlc29sdmVXaXRoKShuLHIpKX19LHQ9cz9lOmZ
1bmN0aW9uKCl7dHJ5e2UoKX1jYXRjaChlKXtTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2smJlMuRGVmZXJyZW
QuZXhjZXB0aW9uSG9vayhlLHQuc3RhY2tUcmFjZSksdTw9aSsxJiYoYSE9PU0mJihuPXZvaWQgMCxyPVtlX
Sksby5yZWplY3RXaXRoKG4scikpfX07aT90KCk6KFMuRGVmZXJyZWQuZ2V0U3RhY2tIb29rJiYodC5zdGFj
a1RyYWNlPVMuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCkpLEMuc2V0VGltZW91dCh0KSl9fXJldHVybiBTLkR
lZmVycmVkKGZ1bmN0aW9uKGUpe29bMF1bM10uYWRkKGwoMCxlLG0ocik/
cjpSLGUubm90aWZ5V2l0aCkpLG9bMV1bM10uYWRkKGwoMCxlLG0odCk/
dDpSKSksb1syXVszXS5hZGQobCgwLGUsbShuKT9uOk0pKX0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGl
vbihlKXtyZXR1cm4gbnVsbCE9ZT9TLmV4dGVuZChlLGEpOmF9fSxzPXt9O3JldHVybiBTLmVhY2gobyxmdW
5jdGlvbihlLHQpe3ZhciBuPXRbMl0scj10WzVdO2FbdFsxXV09bi5hZGQsciYmbi5hZGQoZnVuY3Rpb24oK
XtpPXJ9LG9bMy1lXVsyXS5kaXNhYmxlLG9bMy1lXVszXS5kaXNhYmxlLG9bMF1bMl0ubG9jayxvWzBdWzNd
LmxvY2spLG4uYWRkKHRbM10uZmlyZSksc1t0WzBdXT1mdW5jdGlvbigpe3JldHVybiBzW3RbMF0rIldpdGg
iXSh0aGlzPT09cz92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LHNbdFswXSsiV2l0aCJdPW4uZmlyZV
dpdGh9KSxhLnByb21pc2UocyksZSYmZS5jYWxsKHMscyksc30sd2hlbjpmdW5jdGlvbihlKXt2YXIgbj1hc
md1bWVudHMubGVuZ3RoLHQ9bixyPUFycmF5KHQpLGk9cy5jYWxsKGFyZ3VtZW50cyksbz1TLkRlZmVycmVk
KCksYT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7clt0XT10aGlzLGlbdF09MTxhcmd1bWVudHM
ubGVuZ3RoP3MuY2FsbChhcmd1bWVudHMpOmUsLS1ufHxvLnJlc29sdmVXaXRoKHIsaSl9fTtpZihuPD0xJi
YoSShlLG8uZG9uZShhKHQpKS5yZXNvbHZlLG8ucmVqZWN0LCFuKSwicGVuZGluZyI9PT1vLnN0YXRlKCl8f
G0oaVt0XSYmaVt0XS50aGVuKSkpcmV0dXJuIG8udGhlbigpO3doaWxlKHQtLSlJKGlbdF0sYSh0KSxvLnJl
amVjdCk7cmV0dXJuIG8ucHJvbWlzZSgpfX0pO3ZhciBXPS9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJ
lbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvO1MuRGVmZXJyZWQuZXhjZXB0aW9uSG9vaz1mdW5jdGlvbi
hlLHQpe0MuY29uc29sZSYmQy5jb25zb2xlLndhcm4mJmUmJlcudGVzdChlLm5hbWUpJiZDLmNvbnNvbGUud
2FybigialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogIitlLm1lc3NhZ2UsZS5zdGFjayx0KX0sUy5yZWFk
eUV4Y2VwdGlvbj1mdW5jdGlvbihlKXtDLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9O3ZhciB
GPVMuRGVmZXJyZWQoKTtmdW5jdGlvbiBCKCl7RS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG
9hZGVkIixCKSxDLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLEIpLFMucmVhZHkoKX1TLmZuLnJlYWR5P
WZ1bmN0aW9uKGUpe3JldHVybiBGLnRoZW4oZSlbImNhdGNoIl0oZnVuY3Rpb24oZSl7Uy5yZWFkeUV4Y2Vw
dGlvbihlKX0pLHRoaXN9LFMuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLHJlYWR5OmZ1bmN0aW9
uKGUpeyghMD09PWU/
LS1TLnJlYWR5V2FpdDpTLmlzUmVhZHkpfHwoUy5pc1JlYWR5PSEwKSE9PWUmJjA8LS1TLnJlYWR5V2FpdHx
8Ri5yZXNvbHZlV2l0aChFLFtTXSl9fSksUy5yZWFkeS50aGVuPUYudGhlbiwiY29tcGxldGUiPT09RS5yZW
FkeVN0YXRlfHwibG9hZGluZyIhPT1FLnJlYWR5U3RhdGUmJiFFLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sb
D9DLnNldFRpbWVvdXQoUy5yZWFkeSk6KEUuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIs
QiksQy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixCKSk7dmFyICQ9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl
7dmFyIHM9MCx1PWUubGVuZ3RoLGw9bnVsbD09bjtpZigib2JqZWN0Ij09PXcobikpZm9yKHMgaW4gaT0hMC
xuKSQoZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09ciYmKGk9ITAsbShyKXx8KGE9ITApL
GwmJihhPyh0LmNhbGwoZSxyKSx0PW51bGwpOihsPXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwuY2Fs
bChTKGUpLG4pfSkpLHQpKWZvcig7czx1O3MrKyl0KGVbc10sbixhP3I6ci5jYWxsKGVbc10scyx0KGVbc10
sbikpKTtyZXR1cm4gaT9lOmw/dC5jYWxsKGUpOnU/
dChlWzBdLG4pOm99LF89L14tbXMtLyx6PS8tKFthLXpdKS9nO2Z1bmN0aW9uIFUoZSx0KXtyZXR1cm4gdC5
0b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFgoZSl7cmV0dXJuIGUucmVwbGFjZShfLCJtcy0iKS5yZXBsYWNlKH
osVSl9dmFyIFY9ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfHw5PT09ZS5ub2RlVHlwZXx8I
StlLm5vZGVUeXBlfTtmdW5jdGlvbiBHKCl7dGhpcy5leHBhbmRvPVMuZXhwYW5kbytHLnVpZCsrfUcudWlk
PTEsRy5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4
gdHx8KHQ9e30sVihlKSYmKGUubm9kZVR5cGU/
ZVt0aGlzLmV4cGFuZG9dPXQ6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdGhpcy5leHBhbmRvLHt2YWx1ZTp
0LGNvbmZpZ3VyYWJsZTohMH0pKSksdH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPXRoaXMuY2FjaG
UoZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlbWCh0KV09bjtlbHNlIGZvcihyIGluIHQpaVtYKHIpXT10W
3JdO3JldHVybiBpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUp
OmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW1godCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4
pe3JldHVybiB2b2lkIDA9PT10fHx0JiYic3RyaW5nIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/
dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/
bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT0
9cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFgpOih0PVgodCkpaW4gcj
9bdF06dC5tYXRjaChQKXx8W10pLmxlbmd0aDt3aGlsZShuLS0pZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09P
XR8fFMuaXNFbXB0eU9iamVjdChyKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVs
ZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmR
vXTtyZXR1cm4gdm9pZCAwIT09dCYmIVMuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBZPW5ldyBHLFE9bmV3IE
csSj0vXig/
Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLEs9L1tBLVpdL2c7ZnVuY3Rpb24gWihlLHQsbil7dmFyIHI
saTtpZih2b2lkIDA9PT1uJiYxPT09ZS5ub2RlVHlwZSlpZihyPSJkYXRhLSIrdC5yZXBsYWNlKEssIi0kJi
IpLnRvTG93ZXJDYXNlKCksInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5e249I
nRydWUiPT09KGk9bil8fCJmYWxzZSIhPT1pJiYoIm51bGwiPT09aT9udWxsOmk9PT0raSsiIj8raTpKLnRl
c3QoaSk/
SlNPTi5wYXJzZShpKTppKX1jYXRjaChlKXt9US5zZXQoZSx0LG4pfWVsc2Ugbj12b2lkIDA7cmV0dXJuIG5
9Uy5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIFEuaGFzRGF0YShlKXx8WS5oYXNEYXRhKG
UpfSxkYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUS5hY2Nlc3MoZSx0LG4pfSxyZW1vdmVEYXRhOmZ1b
mN0aW9uKGUsdCl7US5yZW1vdmUoZSx0KX0sX2RhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBZLmFjY2Vz
cyhlLHQsbil9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7WS5yZW1vdmUoZSx0KX19KSxTLmZuLmV4dGV
uZCh7ZGF0YTpmdW5jdGlvbihuLGUpe3ZhciB0LHIsaSxvPXRoaXNbMF0sYT1vJiZvLmF0dHJpYnV0ZXM7aW
Yodm9pZCAwPT09bil7aWYodGhpcy5sZW5ndGgmJihpPVEuZ2V0KG8pLDE9PT1vLm5vZGVUeXBlJiYhWS5nZ
XQobywiaGFzRGF0YUF0dHJzIikpKXt0PWEubGVuZ3RoO3doaWxlKHQtLSlhW3RdJiYwPT09KHI9YVt0XS5u
YW1lKS5pbmRleE9mKCJkYXRhLSIpJiYocj1YKHIuc2xpY2UoNSkpLFoobyxyLGlbcl0pKTtZLnNldChvLCJ
oYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gaX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIG4/
dGhpcy5lYWNoKGZ1bmN0aW9uKCl7US5zZXQodGhpcyxuKX0pOiQodGhpcyxmdW5jdGlvbihlKXt2YXIgdDt
pZihvJiZ2b2lkIDA9PT1lKXJldHVybiB2b2lkIDAhPT0odD1RLmdldChvLG4pKT90OnZvaWQgMCE9PSh0PV
oobyxuKSk/
dDp2b2lkIDA7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7US5zZXQodGhpcyxuLGUpfSl9LG51bGwsZSwxPGFyZ3V
tZW50cy5sZW5ndGgsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaC
hmdW5jdGlvbigpe1EucmVtb3ZlKHRoaXMsZSl9KX19KSxTLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0L
G4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1ZLmdldChlLHQpLG4mJighcnx8
QXJyYXkuaXNBcnJheShuKT9yPVkuYWNjZXNzKGUsdCxTLm1ha2VBcnJheShuKSk6ci5wdXNoKG4pKSxyfHx
bXX0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8ImZ4Ijt2YXIgbj1TLnF1ZXVlKGUsdCkscj1uLmxlbm
d0aCxpPW4uc2hpZnQoKSxvPVMuX3F1ZXVlSG9va3MoZSx0KTsiaW5wcm9ncmVzcyI9PT1pJiYoaT1uLnNoa
WZ0KCksci0tKSxpJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBvLnN0b3As
aS5jYWxsKGUsZnVuY3Rpb24oKXtTLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0
sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10KyJxdWV1ZUhvb2tzIjtyZXR1cm4gWS5nZXQoZS
xuKXx8WS5hY2Nlc3MoZSxuLHtlbXB0eTpTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb
24oKXtZLnJlbW92ZShlLFt0KyJxdWV1ZSIsbl0pfSl9KX19KSxTLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rp
b24odCxuKXt2YXIgZT0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgdCYmKG49dCx0PSJmeCIsZS0tKSxhcmd
1bWVudHMubGVuZ3RoPGU/Uy5xdWV1ZSh0aGlzWzBdLHQpOnZvaWQgMD09PW4/
dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1TLnF1ZXVlKHRoaXMsdCxuKTtTLl9xdWV1ZUhvb2t
zKHRoaXMsdCksImZ4Ij09PXQmJiJpbnByb2dyZXNzIiE9PWVbMF0mJlMuZGVxdWV1ZSh0aGlzLHQpfSl9LG
RlcXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1MuZGVxdWV1ZSh0aGlzL
GUpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZXx8ImZ4IixbXSl9LHBy
b21pc2U6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTEsaT1TLkRlZmVycmVkKCksbz10aGlzLGE9dGhpcy5sZW5
ndGgscz1mdW5jdGlvbigpey0tcnx8aS5yZXNvbHZlV2l0aChvLFtvXSl9OyJzdHJpbmciIT10eXBlb2YgZS
YmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3doaWxlKGEtLSkobj1ZLmdldChvW2FdLGUrInF1ZXVlSG9va
3MiKSkmJm4uZW1wdHkmJihyKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksaS5wcm9taXNlKHQpfX0p
O3ZhciBlZT0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/
XGQrfCkvLnNvdXJjZSx0ZT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrZWUrIikoW2EteiVdKikkIiw
iaSIpLG5lPVsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0scmU9RS5kb2N1bWVudEVsZW1lbnQsaW
U9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxvZT17Y29tcG9zZ
WQ6ITB9O3JlLmdldFJvb3ROb2RlJiYoaWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuY29udGFpbnMoZS5vd25l
ckRvY3VtZW50LGUpfHxlLmdldFJvb3ROb2RlKG9lKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciBhZT1mdW5
jdGlvbihlLHQpe3JldHVybiJub25lIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fCIiPT09ZS5zdHlsZS
5kaXNwbGF5JiZpZShlKSYmIm5vbmUiPT09Uy5jc3MoZSwiZGlzcGxheSIpfTtmdW5jdGlvbiBzZShlLHQsb
ixyKXt2YXIgaSxvLGE9MjAscz1yP2Z1bmN0aW9uKCl7cmV0dXJuIHIuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0
dXJuIFMuY3NzKGUsdCwiIil9LHU9cygpLGw9biYmblszXXx8KFMuY3NzTnVtYmVyW3RdPyIiOiJweCIpLGM
9ZS5ub2RlVHlwZSYmKFMuY3NzTnVtYmVyW3RdfHwicHgiIT09bCYmK3UpJiZ0ZS5leGVjKFMuY3NzKGUsdC
kpO2lmKGMmJmNbM10hPT1sKXt1Lz0yLGw9bHx8Y1szXSxjPSt1fHwxO3doaWxlKGEtLSlTLnN0eWxlKGUsd
CxjK2wpLCgxLW8pKigxLShvPXMoKS91fHwuNSkpPD0wJiYoYT0wKSxjLz1vO2MqPTIsUy5zdHlsZShlLHQs
YytsKSxuPW58fFtdfXJldHVybiBuJiYoYz0rY3x8K3V8fDAsaT1uWzFdP2MrKG5bMV0rMSkqblsyXTorbls
yXSxyJiYoci51bml0PWwsci5zdGFydD1jLHIuZW5kPWkpKSxpfXZhciB1ZT17fTtmdW5jdGlvbiBsZShlLH
Qpe2Zvcih2YXIgbixyLGksbyxhLHMsdSxsPVtdLGM9MCxmPWUubGVuZ3RoO2M8ZjtjKyspKHI9ZVtjXSkuc
3R5bGUmJihuPXIuc3R5bGUuZGlzcGxheSx0Pygibm9uZSI9PT1uJiYobFtjXT1ZLmdldChyLCJkaXNwbGF5
Iil8fG51bGwsbFtjXXx8KHIuc3R5bGUuZGlzcGxheT0iIikpLCIiPT09ci5zdHlsZS5kaXNwbGF5JiZhZSh
yKSYmKGxbY109KHU9YT1vPXZvaWQgMCxhPShpPXIpLm93bmVyRG9jdW1lbnQscz1pLm5vZGVOYW1lLCh1PX
VlW3NdKXx8KG89YS5ib2R5LmFwcGVuZENoaWxkKGEuY3JlYXRlRWxlbWVudChzKSksdT1TLmNzcyhvLCJka
XNwbGF5Iiksby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pLCJub25lIj09PXUmJih1PSJibG9jayIpLHVl
W3NdPXUpKSkpOiJub25lIiE9PW4mJihsW2NdPSJub25lIixZLnNldChyLCJkaXNwbGF5IixuK
SkpO2ZvcihjPTA7YzxmO2MrKyludWxsIT1sW2NdJiYoZVtjXS5zdHlsZS5kaXNwbGF5PWxbY10pO3JldHVy
biBlfVMuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIGxlKHRoaXMsITApfSxoaWRlOmZ1bmN
0aW9uKCl7cmV0dXJuIGxlKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImJvb2xlYW4iPT10eX
Blb2YgZT9lP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe2FlKHRoaXMpP
1ModGhpcykuc2hvdygpOlModGhpcykuaGlkZSgpfSl9fSk7dmFyIGNlLGZlLHBlPS9eKD86Y2hlY2tib3h8
cmFkaW8pJC9pLGRlPS88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKS9pLGhlPS9eJHxebW9kdWxlJHx
cLyg/
OmphdmF8ZWNtYSlzY3JpcHQvaTtjZT1FLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKS5hcHBlbmRDaGlsZCh
FLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSwoZmU9RS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5zZXRBdHRyaW
J1dGUoInR5cGUiLCJyYWRpbyIpLGZlLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxmZS5zZ
XRBdHRyaWJ1dGUoIm5hbWUiLCJ0IiksY2UuYXBwZW5kQ2hpbGQoZmUpLHkuY2hlY2tDbG9uZT1jZS5jbG9u
ZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsY2UuaW5uZXJIVE1MPSI8dGV4dGF
yZWE+eDwvdGV4dGFyZWE+Iix5Lm5vQ2xvbmVDaGVja2VkPSEhY2UuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbG
QuZGVmYXVsdFZhbHVlLGNlLmlubmVySFRNTD0iPG9wdGlvbj48L29wdGlvbj4iLHkub3B0aW9uPSEhY2Uub
GFzdENoaWxkO3ZhciBnZT17dGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxl
Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC9
0Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YW
JsZT4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O2Z1bmN0aW9uIHZlKGUsdCl7dmFyIG47cmV0dXJuIG49InVuZ
GVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
dHx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGUucXVlcnlTZWxlY3RvckFsbD9lLnF1ZXJ5U2VsZWN0b3J
BbGwodHx8IioiKTpbXSx2b2lkIDA9PT10fHx0JiZBKGUsdCk/
Uy5tZXJnZShbZV0sbik6bn1mdW5jdGlvbiB5ZShlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24
rKylZLnNldChlW25dLCJnbG9iYWxFdmFsIiwhdHx8WS5nZXQodFtuXSwiZ2xvYmFsRXZhbCIpKX1nZS50Ym
9keT1nZS50Zm9vdD1nZS5jb2xncm91cD1nZS5jYXB0aW9uPWdlLnRoZWFkLGdlLnRoPWdlLnRkLHkub3B0a
W9ufHwoZ2Uub3B0Z3JvdXA9Z2Uub3B0aW9uPVsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+Iiwi
PC9zZWxlY3Q+Il0pO3ZhciBtZT0vPHwmIz9cdys7LztmdW5jdGlvbiB4ZShlLHQsbixyLGkpe2Zvcih2YXI
gbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2
Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKCJvYmplY3QiPT09dyhvKSlTLm1lcmdlKHAsby5ub2RlV
HlwZT9bb106byk7ZWxzZSBpZihtZS50ZXN0KG8pKXthPWF8fGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVt
ZW50KCJkaXYiKSkscz0oZGUuZXhlYyhvKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSx1PWdlW3NdfHx
nZS5fZGVmYXVsdCxhLmlubmVySFRNTD11WzFdK1MuaHRtbFByZWZpbHRlcihvKSt1WzJdLGM9dVswXTt3aG
lsZShjLS0pYT1hLmxhc3RDaGlsZDtTLm1lcmdlKHAsYS5jaGlsZE5vZGVzKSwoYT1mLmZpcnN0Q2hpbGQpL
nRleHRDb250ZW50PSIifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2YudGV4dENvbnRlbnQ9
IiIsZD0wO3doaWxlKG89cFtkKytdKWlmKHImJi0xPFMuaW5BcnJheShvLHIpKWkmJmkucHVzaChvKTtlbHN
lIGlmKGw9aWUobyksYT12ZShmLmFwcGVuZENoaWxkKG8pLCJzY3JpcHQiKSxsJiZ5ZShhKSxuKXtjPTA7d2
hpbGUobz1hW2MrK10paGUudGVzdChvLnR5cGV8fCIiKSYmbi5wdXNoKG8pfXJldHVybiBmfXZhciBiZT0vX
mtleS8sd2U9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLFRlPS9e
KFteLl0qKSg/
OlwuKC4rKXwpLztmdW5jdGlvbiBDZSgpe3JldHVybiEwfWZ1bmN0aW9uIEVlKCl7cmV0dXJuITF9ZnVuY3R
pb24gU2UoZSx0KXtyZXR1cm4gZT09PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBFLmFjdGl2ZUVsZW1lbnR9Y2
F0Y2goZSl7fX0oKT09KCJmb2N1cyI9PT10KX1mdW5jdGlvbiBrZShlLHQsbixyLGksbyl7dmFyIGEscztpZ
igib2JqZWN0Ij09dHlwZW9mIHQpe2ZvcihzIGluInN0cmluZyIhPXR5cGVvZiBuJiYocj1yfHxuLG49dm9p
ZCAwKSx0KWtlKGUscyxuLHIsdFtzXSxvKTtyZXR1cm4gZX1pZihudWxsPT1yJiZudWxsPT1pPyhpPW4scj1
uPXZvaWQgMCk6bnVsbD09aSYmKCJzdHJpbmciPT10eXBlb2Ygbj8oaT1yLHI9dm9pZCAwKTooaT1yLHI9bi
xuPXZvaWQgMCkpLCExPT09aSlpPUVlO2Vsc2UgaWYoIWkpcmV0dXJuIGU7cmV0dXJuIDE9PT1vJiYoYT1pL
ChpPWZ1bmN0aW9uKGUpe3JldHVybiBTKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkuZ3Vp
ZD1hLmd1aWR8fChhLmd1aWQ9Uy5ndWlkKyspKSxlLmVhY2goZnVuY3Rpb24oKXtTLmV2ZW50LmFkZCh0aGl
zLHQsaSxyLG4pfSl9ZnVuY3Rpb24gQWUoZSxpLG8pe28/
KFkuc2V0KGUsaSwhMSksUy5ldmVudC5hZGQoZSxpLHtuYW1lc3BhY2U6ITEsaGFuZGxlcjpmdW5jdGlvbih
lKXt2YXIgdCxuLHI9WS5nZXQodGhpcyxpKTtpZigxJmUuaXNUcmlnZ2VyJiZ0aGlzW2ldKXtpZihyLmxlbm
d0aCkoUy5ldmVudC5zcGVjaWFsW2ldfHx7fSkuZGVsZWdhdGVUeXBlJiZlLnN0b3BQcm9wYWdhdGlvbigpO
2Vsc2UgaWYocj1zLmNhbGwoYXJndW1lbnRzKSxZLnNldCh0aGlzLGksciksdD1vKHRoaXMsaSksdGhpc1tp
XSgpLHIhPT0obj1ZLmdldCh0aGlzLGkpKXx8dD9ZLnNldCh0aGlzLGksITEpOm49e30sciE9PW4pcmV0dXJ
uIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLG4udmFsdWV9ZWxzZS
ByLmxlbmd0aCYmKFkuc2V0KHRoaXMsaSx7dmFsdWU6Uy5ldmVudC50cmlnZ2VyKFMuZXh0ZW5kKHJbMF0sU
y5FdmVudC5wcm90b3R5cGUpLHIuc2xpY2UoMSksdGhpcyl9KSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlv
bigpKX19KSk6dm9pZCAwPT09WS5nZXQoZSxpKSYmUy5ldmVudC5hZGQoZSxpLENlKX1TLmV2ZW50PXtnbG9
iYWw6e30sYWRkOmZ1bmN0aW9uKHQsZSxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PVkuZ2
V0KHQpO2lmKFYodCkpe24uaGFuZGxlciYmKG49KG89bikuaGFuZGxlcixpPW8uc2VsZWN0b3IpLGkmJlMuZ
mluZC5tYXRjaGVzU2VsZWN0b3IocmUsaSksbi5ndWlkfHwobi5ndWlkPVMuZ3VpZCsrKSwodT12LmV2ZW50
cyl8fCh1PXYuZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCkpLChhPXYuaGFuZGxlKXx8KGE9di5oYW5kbGU
9ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBTJiZTLmV2ZW50LnRyaWdnZXJlZCE9PW
UudHlwZT9TLmV2ZW50LmRpc3BhdGNoLmFwcGx5KHQsYXJndW1lbnRzKTp2b2lkIDB9KSxsPShlPShlfHwiI
ikubWF0Y2goUCl8fFsiIl0pLmxlbmd0aDt3aGlsZShsLS0pZD1nPShzPVRlLmV4ZWMoZVtsXSl8fFtdKVsx
XSxoPShzWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZCYmKGY9Uy5ldmVudC5zcGVjaWFsW2RdfHx7fSx
kPShpP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkLGY9Uy5ldmVudC5zcGVjaWFsW2RdfHx7fSxjPV
MuZXh0ZW5kKHt0eXBlOmQsb3JpZ1R5cGU6ZyxkYXRhOnIsaGFuZGxlcjpuLGd1aWQ6bi5ndWlkLHNlbGVjd
G9yOmksbmVlZHNDb250ZXh0OmkmJlMuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSxuYW1lc3Bh
Y2U6aC5qb2luKCIuIil9LG8pLChwPXVbZF0pfHwoKHA9dVtkXT1bXSkuZGVsZWdhdGVDb3VudD0wLGYuc2V
0dXAmJiExIT09Zi5zZXR1cC5jYWxsKHQscixoLGEpfHx0LmFkZEV2ZW50TGlzdGVuZXImJnQuYWRkRXZlbn
RMaXN0ZW5lcihkLGEpKSxmLmFkZCYmKGYuYWRkLmNhbGwodCxjKSxjLmhhbmRsZXIuZ3VpZHx8KGMuaGFuZ
Gxlci5ndWlkPW4uZ3VpZCkpLGk/
cC5zcGxpY2UocC5kZWxlZ2F0ZUNvdW50KyssMCxjKTpwLnB1c2goYyksUy5ldmVudC5nbG9iYWxbZF09ITA
pfX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PVkuaG
FzRGF0YShlKSYmWS5nZXQoZSk7aWYodiYmKHU9di5ldmVudHMpKXtsPSh0PSh0fHwiIikubWF0Y2goUCl8f
FsiIl0pLmxlbmd0aDt3aGlsZShsLS0paWYoZD1nPShzPVRlLmV4ZWModFtsXSl8fFtdKVsxXSxoPShzWzJd
fHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZCl7Zj1TLmV2ZW50LnNwZWNpYWxbZF18fHt9LHA9dVtkPShyP2Y
uZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkXXx8W10scz1zWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIi
toLmpvaW4oIlxcLig/
Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGE9bz1wLmxlbmd0aDt3aGlsZShvLS0pYz1wW29dLCFpJiZnIT09Yy5
vcmlnVHlwZXx8biYmbi5ndWlkIT09Yy5ndWlkfHxzJiYhcy50ZXN0KGMubmFtZXNwYWNlKXx8ciYmciE9PW
Muc2VsZWN0b3ImJigiKioiIT09cnx8IWMuc2VsZWN0b3IpfHwocC5zcGxpY2UobywxKSxjLnNlbGVjdG9yJ
iZwLmRlbGVnYXRlQ291bnQtLSxmLnJlbW92ZSYmZi5yZW1vdmUuY2FsbChlLGMpKTthJiYhcC5sZW5ndGgm
JihmLnRlYXJkb3duJiYhMSE9PWYudGVhcmRvd24uY2FsbChlLGgsdi5oYW5kbGUpfHxTLnJlbW92ZUV2ZW5
0KGUsZCx2LmhhbmRsZSksZGVsZXRlIHVbZF0pfWVsc2UgZm9yKGQgaW4gdSlTLmV2ZW50LnJlbW92ZShlLG
QrdFtsXSxuLHIsITApO1MuaXNFbXB0eU9iamVjdCh1KSYmWS5yZW1vdmUoZSwiaGFuZGxlIGV2ZW50cyIpf
X0sZGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHM9bmV3IEFycmF5KGFyZ3VtZW50cy5s
ZW5ndGgpLHU9Uy5ldmVudC5maXgoZSksbD0oWS5nZXQodGhpcywiZXZlbnRzIil8fE9iamVjdC5jcmVhdGU
obnVsbCkpW3UudHlwZV18fFtdLGM9Uy5ldmVudC5zcGVjaWFsW3UudHlwZV18fHt9O2ZvcihzWzBdPXUsdD
0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspc1t0XT1hcmd1bWVudHNbdF07aWYodS5kZWxlZ2F0ZVRhcmdld
D10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHUpKXthPVMuZXZl
bnQuaGFuZGxlcnMuY2FsbCh0aGlzLHUsbCksdD0wO3doaWxlKChpPWFbdCsrXSkmJiF1LmlzUHJvcGFnYXR
pb25TdG9wcGVkKCkpe3UuY3VycmVudFRhcmdldD1pLmVsZW0sbj0wO3doaWxlKChvPWkuaGFuZGxlcnNbbi
srXSkmJiF1LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpdS5ybmFtZXNwYWNlJiYhMSE9PW8ub
mFtZXNwYWNlJiYhdS5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwodS5oYW5kbGVPYmo9byx1LmRh
dGE9by5kYXRhLHZvaWQgMCE9PShyPSgoUy5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGx
lfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSxzKSkmJiExPT09KHUucmVzdWx0PXIpJiYodS5wcmV2ZW50RG
VmYXVsdCgpLHUuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc
3BhdGNoLmNhbGwodGhpcyx1KSx1LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixp
LG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmISgiY2x
pY2siPT09ZS50eXBlJiYxPD1lLmJ1dHRvbikpZm9yKDtsIT09dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcy
lpZigxPT09bC5ub2RlVHlwZSYmKCJjbGljayIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvP
VtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yKyIgIl0mJihhW2ld
PXIubmVlZHNDb250ZXh0Py0xPFMoaSx0aGlzKS5pbmRleChsKTpTLmZpbmQoaSx0aGlzLG51bGwsW2xdKS5
sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfX
JldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pL
HN9LGFkZFByb3A6ZnVuY3Rpb24odCxlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5FdmVudC5wcm90b3R5
cGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Om0oZSk/
ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIGUodGhpcy5vcmlnaW5hbEV2ZW50KX0
6ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFt0XX
0sc2V0OmZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2VudW1lcmFibGU6ITAsY
29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVy
biBlW1MuZXhwYW5kb10/
ZTpuZXcgUy5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOntzZXR1cDpmdW5
jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW
5wdXQiKSYmQWUodCwiY2xpY2siLENlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO
3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW5wdXQiKSYmQWUodCwiY2xpY2siKSwh
MH0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7cmV0dXJuIHBlLnRlc3QodC50eXBlKSY
mdC5jbGljayYmQSh0LCJpbnB1dCIpJiZZLmdldCh0LCJjbGljayIpfHxBKHQsImEiKX19LGJlZm9yZXVubG
9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PWUucmVzdWx0JiZlLm9yaWdpbmFsRXZlb
nQmJihlLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9ZS5yZXN1bHQpfX19fSxTLnJlbW92ZUV2ZW50PWZ1
bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4
pfSxTLkV2ZW50PWZ1bmN0aW9uKGUsdCl7aWYoISh0aGlzIGluc3RhbmNlb2YgUy5FdmVudCkpcmV0dXJuIG
5ldyBTLkV2ZW50KGUsdCk7ZSYmZS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50e
XBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09ZS5kZWZh
dWx0UHJldmVudGVkJiYhMT09PWUucmV0dXJuVmFsdWU/Q2U6RWUs
dGhpcy50YXJnZXQ9ZS50YXJnZXQmJjM9PT1lLnRhcmdldC5ub2RlVHlwZT9lLnRhcmdldC5wYXJlbnROb2R
lOmUudGFyZ2V0LHRoaXMuY3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQsdGhpcy5yZWxhdGVkVGFyZ2
V0PWUucmVsYXRlZFRhcmdldCk6dGhpcy50eXBlPWUsdCYmUy5leHRlbmQodGhpcyx0KSx0aGlzLnRpbWVTd
GFtcD1lJiZlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKSx0aGlzW1MuZXhwYW5kb109ITB9LFMuRXZlbnQucHJv
dG90eXBlPXtjb25zdHJ1Y3RvcjpTLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpFZSxpc1Byb3BhZ2F0aW9
uU3RvcHBlZDpFZSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpFZSxpc1NpbXVsYXRlZDohMSxwcm
V2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsd
FByZXZlbnRlZD1DZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJv
cGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9
uU3RvcHBlZD1DZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbW
VkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJb
W1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9Q2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcEltbWVk
aWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LFMuZWFjaCh7YWx0S2V5OiEwLGJ
1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMC
xldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohM
CwiY2hhciI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0
dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDo
hMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW
1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDpmdW5jdGlvbihlKXt2YXIgdD1lLmJ1dHRvbjtyZXR1cm4gbnVsb
D09ZS53aGljaCYmYmUudGVzdChlLnR5cGUpP251bGwhPWUuY2hhckNvZGU/
ZS5jaGFyQ29kZTplLmtleUNvZGU6IWUud2hpY2gmJnZvaWQgMCE9PXQmJndlLnRlc3QoZS50eXBlKT8xJnQ
/MToyJnQ/Mzo0JnQ/
MjowOmUud2hpY2h9fSxTLmV2ZW50LmFkZFByb3ApLFMuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZ
vY3Vzb3V0In0sZnVuY3Rpb24oZSx0KXtTLmV2ZW50LnNwZWNpYWxbZV09e3NldHVwOmZ1bmN0aW9uKCl7cm
V0dXJuIEFlKHRoaXMsZSxTZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gQWUodGhpcyxlKSwhM
H0sZGVsZWdhdGVUeXBlOnR9fSksUy5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6
Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQ
ifSxmdW5jdGlvbihlLGkpe1MuZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOmksYmluZFR5cGU6aS
xoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnJlbGF0ZWRUYXJnZXQscj1lLmhhbmRsZU9iajtyZXR1c
m4gbiYmKG49PT10aGlzfHxTLmNvbnRhaW5zKHRoaXMsbikpfHwoZS50eXBlPXIub3JpZ1R5cGUsdD1yLmhh
bmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT1pKSx0fX19KSxTLmZuLmV4dGVuZCh7b246ZnV
uY3Rpb24oZSx0LG4scil7cmV0dXJuIGtlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKX
tyZXR1cm4ga2UodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZ
S5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosUyhlLmRlbGVnYXRl
VGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/
ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGh
pcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihpIGluIGUpdGhpcy5vZmYoaSx0LGVbaV0pO3JldHVybi
B0aGlzfXJldHVybiExIT09dCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09b
iYmKG49RWUpLHRoaXMuZWFjaChmdW5jdGlvbigpe1MuZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7
dmFyIE5lPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLERlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWN
rZWQuKS9pLGplPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/
OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBxZShlLHQpe3JldHVybiBBKGUsInRhYmxlIikmJkEoMTEhPT1
0Lm5vZGVUeXBlP3Q6dC5maXJzdENoaWxkLCJ0ciIpJiZTKGUpLmNoaWxkcmVuKCJ0Ym9keSIpWzBdfHxlfW
Z1bmN0aW9uIExlKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiL
yIrZS50eXBlLGV9ZnVuY3Rpb24gSGUoZSl7cmV0dXJuInRydWUvIj09PShlLnR5cGV8fCIiKS5zbGljZSgw
LDUpP2UudHlwZT1lLnR5cGUuc2xpY2UoNSk6ZS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxlfWZ1bmN0aW9
uIE9lKGUsdCl7dmFyIG4scixpLG8sYSxzO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihZLmhhc0RhdGEoZSkmJi
hzPVkuZ2V0KGUpLmV2ZW50cykpZm9yKGkgaW4gWS5yZW1vdmUodCwiaGFuZGxlIGV2ZW50cyIpLHMpZm9yK
G49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspUy5ldmVudC5hZGQodCxpLHNbaV1bbl0pO1EuaGFzRGF0YShl
KSYmKG89US5hY2Nlc3MoZSksYT1TLmV4dGVuZCh7fSxvKSxRLnNldCh0LGEpKX19ZnVuY3Rpb24gUGUobix
yLGksbyl7cj1nKHIpO3ZhciBlLHQsYSxzLHUsbCxjPTAsZj1uLmxlbmd0aCxwPWYtMSxkPXJbMF0saD1tKG
QpO2lmKGh8fDE8ZiYmInN0cmluZyI9PXR5cGVvZiBkJiYheS5jaGVja0Nsb25lJiZEZS50ZXN0KGQpKXJld
HVybiBuLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9bi5lcShlKTtoJiYoclswXT1kLmNhbGwodGhpcyxlLHQu
aHRtbCgpKSksUGUodCxyLGksbyl9KTtpZihmJiYodD0oZT14ZShyLG5bMF0ub3duZXJEb2N1bWVudCwhMSx
uLG8pKS5maXJzdENoaWxkLDE9PT1lLmNoaWxkTm9kZXMubGVuZ3RoJiYoZT10KSx0fHxvKSl7Zm9yKHM9KG
E9Uy5tYXAodmUoZSwic2NyaXB0IiksTGUpKS5sZW5ndGg7YzxmO2MrKyl1PWUsYyE9PXAmJih1PVMuY2xvb
mUodSwhMCwhMCkscyYmUy5tZXJnZShhLHZlKHUsInNjcmlwdCIpKSksaS5jYWxsKG5bY10sdSxjKTtpZihz
KWZvcihsPWFbYS5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxTLm1hcChhLEhlKSxjPTA7YzxzO2MrKyl1PWF
bY10saGUudGVzdCh1LnR5cGV8fCIiKSYmIVkuYWNjZXNzKHUsImdsb2JhbEV2YWwiKSYmUy5jb250YWlucy
hsLHUpJiYodS5zcmMmJiJtb2R1bGUiIT09KHUudHlwZXx8IiIpLnRvTG93ZXJDYXNlKCk/
Uy5fZXZhbFVybCYmIXUubm9Nb2R1bGUmJlMuX2V2YWxVcmwodS5zcmMse25vbmNlOnUubm9uY2V8fHUuZ2V
0QXR0cmlidXRlKCJub25jZSIpfSxsKTpiKHUudGV4dENvbnRlbnQucmVwbGFjZShqZSwiIiksdSxsKSl9cm
V0dXJuIG59ZnVuY3Rpb24gUmUoZSx0LG4pe2Zvcih2YXIgcixpPXQ/
Uy5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fFMuY2x
lYW5EYXRhKHZlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZpZShyKSYmeWUodmUociwic2NyaXB0IikpLHIucG
FyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSk7cmV0dXJuIGV9Uy5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY
3Rpb24oZSl7cmV0dXJuIGV9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjPWUu
Y2xvbmVOb2RlKCEwKSxmPWllKGUpO2lmKCEoeS5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjE
xIT09ZS5ub2RlVHlwZXx8Uy5pc1hNTERvYyhlKSkpZm9yKGE9dmUoYykscj0wLGk9KG89dmUoZSkpLmxlbm
d0aDtyPGk7cisrKXM9b1tyXSx1PWFbcl0sdm9pZCAwLCJpbnB1dCI9PT0obD11Lm5vZGVOYW1lLnRvTG93Z
XJDYXNlKCkpJiZwZS50ZXN0KHMudHlwZSk/
dS5jaGVja2VkPXMuY2hlY2tlZDoiaW5wdXQiIT09bCYmInRleHRhcmVhIiE9PWx8fCh1LmRlZmF1bHRWYWx
1ZT1zLmRlZmF1bHRWYWx1ZSk7aWYodClpZihuKWZvcihvPW98fHZlKGUpLGE9YXx8dmUoYykscj0wLGk9by
5sZW5ndGg7cjxpO3IrKylPZShvW3JdLGFbcl0pO2Vsc2UgT2UoZSxjKTtyZXR1cm4gMDwoYT12ZShjLCJzY
3JpcHQiKSkubGVuZ3RoJiZ5ZShhLCFmJiZ2ZShlLCJzY3JpcHQiKSksY30sY2xlYW5EYXRhOmZ1bmN0aW9u
KGUpe2Zvcih2YXIgdCxuLHIsaT1TLmV2ZW50LnNwZWNpYWwsbz0wO3ZvaWQgMCE9PShuPWVbb10pO28rKyl
pZihWKG4pKXtpZih0PW5bWS5leHBhbmRvXSl7aWYodC5ldmVudHMpZm9yKHIgaW4gdC5ldmVudHMpaVtyXT
9TLmV2ZW50LnJlbW92ZShuLHIpOlMucmVtb3ZlRXZlbnQobixyLHQuaGFuZGxlKTtuW1kuZXhwYW5kb109d
m9pZCAwfW5bUS5leHBhbmRvXSYmKG5bUS5leHBhbmRvXT12b2lkIDApfX19KSxTLmZuLmV4dGVuZCh7ZGV0
YWNoOmZ1bmN0aW9uKGUpe3JldHVybiBSZSh0aGlzLGUsITApfSxyZW1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJ
uIFJlKHRoaXMsZSl9LHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlKXtyZXR1cm
4gdm9pZCAwPT09ZT9TLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpc
y5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENv
bnRlbnQ9ZSl9KX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4
gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2
RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fHFlKHRoaXMsZSkuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZ
DpmdW5jdGlvbigpe3JldHVybiBQZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5u
b2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9cWUodGhpcyx
lKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybi
BQZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZ
S5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBQZSh0aGlzLGFyZ3Vt
ZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmU
oZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PTA7bnVsbCE9KG
U9dGhpc1t0XSk7dCsrKTE9PT1lLm5vZGVUeXBlJiYoUy5jbGVhbkRhdGEodmUoZSwhMSkpLGUudGV4dENvb
nRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWUmJmUs
dD1udWxsPT10P2U6dCx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBTLmNsb25lKHRoaXMsZSx0KX0pfSx
odG1sOmZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc1swXXx8e30sbj
0wLHI9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09ZSYmMT09PXQubm9kZVR5cGUpcmV0dXJuIHQuaW5uZXJIV
E1MO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmIU5lLnRlc3QoZSkmJiFnZVsoZGUuZXhlYyhlKXx8WyIiLCIi
XSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9Uy5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT0
9PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKFMuY2xlYW5EYXRhKHZlKHQsITEpKSx0LmlubmVySFRNTD
1lKTt0PTB9Y2F0Y2goZSl7fX10JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzL
mxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIG49W107cmV0dXJuIFBlKHRoaXMsYXJndW1l
bnRzLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTtTLmluQXJyYXkodGhpcyxuKTwwJiYoUy5
jbGVhbkRhdGEodmUodGhpcykpLHQmJnQucmVwbGFjZUNoaWxkKGUsdGhpcykpfSxuKX19KSxTLmVhY2goe2
FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc
2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihlLGEpe1MuZm5b
ZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10scj1TKGUpLGk9ci5sZW5ndGgtMSxvPTA7bzw9aTtvKys
pdD1vPT09aT90aGlzOnRoaXMuY2xvbmUoITApLFMocltvXSlbYV0odCksdS5hcHBseShuLHQuZ2V0KCkpO3
JldHVybiB0aGlzLnB1c2hTdGFjayhuKX19KTt2YXIgTWU9bmV3IFJlZ0V4cCgiXigiK2VlKyIpKD8hcHgpW
2EteiVdKyQiLCJpIiksSWU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3
O3JldHVybiB0JiZ0Lm9wZW5lcnx8KHQ9QyksdC5nZXRDb21wdXRlZFN0eWxlKGUpfSxXZT1mdW5jdGlvbih
lLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXT
tmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn0sRmU9bmV3IFJlZ0V4c
ChuZS5qb2luKCJ8IiksImkiKTtmdW5jdGlvbiBCZShlLHQsbil7dmFyIHIsaSxvLGEscz1lLnN0eWxlO3Jl
dHVybihuPW58fEllKGUpKSYmKCIiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8aWUoZSl
8fChhPVMuc3R5bGUoZSx0KSksIXkucGl4ZWxCb3hTdHlsZXMoKSYmTWUudGVzdChhKSYmRmUudGVzdCh0KS
YmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zL
ndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAw
IT09YT9hKyIiOmF9ZnVuY3Rpb24gJGUoZSx0KXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYoIWUoKSlyZXR
1cm4odGhpcy5nZXQ9dCkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2RlbGV0ZSB0aGlzLmdldH19fSFmdW5jdG
lvbigpe2Z1bmN0aW9uIGUoKXtpZihsKXt1LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2xlZ
nQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjAiLGwuc3R5
bGUuY3NzVGV4dD0icG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9
jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO21hcmdpbjphdXRvO2JvcmRlcjoxcH
g7cGFkZGluZzoxcHg7d2lkdGg6NjAlO3RvcDoxJSIscmUuYXBwZW5kQ2hpbGQodSkuYXBwZW5kQ2hpbGQob
Ck7dmFyIGU9Qy5nZXRDb21wdXRlZFN0eWxlKGwpO249IjElIiE9PWUudG9wLHM9MTI9PT10KGUubWFyZ2lu
TGVmdCksbC5zdHlsZS5yaWdodD0iNjAlIixvPTM2PT09dChlLnJpZ2h0KSxyPTM2PT09dChlLndpZHRoKSx
sLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaT0xMj09PXQobC5vZmZzZXRXaWR0aC8zKSxyZS5yZW1vdm
VDaGlsZCh1KSxsPW51bGx9fWZ1bmN0aW9uIHQoZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlK
Sl9dmFyIG4scixpLG8sYSxzLHU9RS5jcmVhdGVFbGVtZW50KCJkaXYiKSxsPUUuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7bC5zdHlsZSYmKGwuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixsLmNsb25lTm9
kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIseS5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij
09PWwuc3R5bGUuYmFja2dyb3VuZENsaXAsUy5leHRlbmQoeSx7Ym94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb
24oKXtyZXR1cm4gZSgpLHJ9LHBpeGVsQm94U3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxvfSxwaXhl
bFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxufSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24
oKXtyZXR1cm4gZSgpLHN9LHNjcm9sbGJveFNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLGl9LHJlbGlhYm
xlVHJEaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLHI7cmV0dXJuIG51bGw9PWEmJihlPUUuY3JlY
XRlRWxlbWVudCgidGFibGUiKSx0PUUuY3JlYXRlRWxlbWVudCgidHIiKSxuPUUuY3JlYXRlRWxlbWVudCgi
ZGl2IiksZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4Iix0LnN0eWx
lLmhlaWdodD0iMXB4IixuLnN0eWxlLmhlaWdodD0iOXB4IixyZS5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaG
lsZCh0KS5hcHBlbmRDaGlsZChuKSxyPUMuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxhPTM8cGFyc2VJbnQoci5oZ
WlnaHQpLHJlLnJlbW92ZUNoaWxkKGUpKSxhfX0pKX0oKTt2YXIgX2U9WyJXZWJraXQiLCJNb3oiLCJtcyJd
LHplPUUuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUsVWU9e307ZnVuY3Rpb24gWGUoZSl7dmFyIHQ9Uy5
jc3NQcm9wc1tlXXx8VWVbZV07cmV0dXJuIHR8fChlIGluIHplP2U6VWVbZV09ZnVuY3Rpb24oZSl7dmFyIH
Q9ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSksbj1fZS5sZW5ndGg7d2hpbGUobi0tKWlmKChlPV9lW
25dK3QpaW4gemUpcmV0dXJuIGV9KGUpfHxlKX12YXIgVmU9L14obm9uZXx0YWJsZSg/
IS1jW2VhXSkuKykvLEdlPS9eLS0vLFllPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGR
lbiIsZGlzcGxheToiYmxvY2sifSxRZT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn07Zn
VuY3Rpb24gSmUoZSx0LG4pe3ZhciByPXRlLmV4ZWModCk7cmV0dXJuIHI/
TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fCJweCIpOnR9ZnVuY3Rpb24gS2UoZSx0LG4scixpLG8
pe3ZhciBhPSJ3aWR0aCI9PT10PzE6MCxzPTAsdT0wO2lmKG49PT0ocj8iYm9yZGVyIjoiY29udGVudCIpKX
JldHVybiAwO2Zvcig7YTw0O2ErPTIpIm1hcmdpbiI9PT1uJiYodSs9Uy5jc3MoZSxuK25lW2FdLCEwLGkpK
SxyPygiY29udGVudCI9PT1uJiYodS09Uy5jc3MoZSwicGFkZGluZyIrbmVbYV0sITAsaSkpLCJtYXJnaW4i
IT09biYmKHUtPVMuY3NzKGUsImJvcmRlciIrbmVbYV0rIldpZHRoIiwhMCxpKSkpOih1Kz1TLmNzcyhlLCJ
wYWRkaW5nIituZVthXSwhMCxpKSwicGFkZGluZyIhPT1uP3UrPVMuY3NzKGUsImJvcmRlciIrbmVbYV0rIl
dpZHRoIiwhMCxpKTpzKz1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSkpO3JldHVybiFyJ
iYwPD1vJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkr
dC5zbGljZSgxKV0tby11LXMtLjUpKXx8MCksdX1mdW5jdGlvbiBaZShlLHQsbil7dmFyIHI9SWUoZSksaT0
oIXkuYm94U2l6aW5nUmVsaWFibGUoKXx8bikmJiJib3JkZXItYm94Ij09PVMuY3NzKGUsImJveFNpemluZy
IsITEsciksbz1pLGE9QmUoZSx0LHIpLHM9Im9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoM
Sk7aWYoTWUudGVzdChhKSl7aWYoIW4pcmV0dXJuIGE7YT0iYXV0byJ9cmV0dXJuKCF5LmJveFNpemluZ1Jl
bGlhYmxlKCkmJml8fCF5LnJlbGlhYmxlVHJEaW1lbnNpb25zKCkmJkEoZSwidHIiKXx8ImF1dG8iPT09YXx
8IXBhcnNlRmxvYXQoYSkmJiJpbmxpbmUiPT09Uy5jc3MoZSwiZGlzcGxheSIsITEscikpJiZlLmdldENsaW
VudFJlY3RzKCkubGVuZ3RoJiYoaT0iYm9yZGVyLWJveCI9PT1TLmNzcyhlLCJib3hTaXppbmciLCExLHIpL
ChvPXMgaW4gZSkmJihhPWVbc10pKSwoYT1wYXJzZUZsb2F0KGEpfHwwKStLZShlLHQsbnx8KGk/
ImJvcmRlciI6ImNvbnRlbnQiKSxvLHIsYSkrInB4In1mdW5jdGlvbiBldChlLHQsbixyLGkpe3JldHVybiB
uZXcgZXQucHJvdG90eXBlLmluaXQoZSx0LG4scixpKX1TLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2
dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPUJlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/
IjEiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITA
sZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGdyaWRBcm
VhOiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZ3JpZFJvd
zohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTdGFydDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3Jk
ZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWx
lOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdH
lsZSl7dmFyIGksbyxhLHM9WCh0KSx1PUdlLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PVhlKHMpKSxhP
VMuY3NzSG9va3NbdF18fFMuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmImdldCJpbiBhJiZ2
b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07InN0cmluZyI9PT0obz10eXBlb2YgbikmJihpPXR
lLmV4ZWMobikpJiZpWzFdJiYobj1zZShlLHQsaSksbz0ibnVtYmVyIiksbnVsbCE9biYmbj09biYmKCJudW
1iZXIiIT09b3x8dXx8KG4rPWkmJmlbM118fChTLmNzc051bWJlcltzXT8iIjoicHgiKSkseS5jbGVhckNsb
25lU3R5bGV8fCIiIT09bnx8MCE9PXQuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwobFt0XT0iaW5oZXJpdCIp
LGEmJiJzZXQiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/
bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSx
zPVgodCk7cmV0dXJuIEdlLnRlc3QodCl8fCh0PVhlKHMpKSwoYT1TLmNzc0hvb2tzW3RdfHxTLmNzc0hvb2
tzW3NdKSYmImdldCJpbiBhJiYoaT1hLmdldChlLCEwLG4pKSx2b2lkIDA9PT1pJiYoaT1CZShlLHQscikpL
CJub3JtYWwiPT09aSYmdCBpbiBRZSYmKGk9UWVbdF0pLCIiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEw
PT09bnx8aXNGaW5pdGUobyk/
b3x8MDppKTppfX0pLFMuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oZSx1KXtTLmNzc0hvb2t
zW3VdPXtnZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHQpcmV0dXJuIVZlLnRlc3QoUy5jc3MoZSwiZGlzcGxheS
IpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0a
D9aZShlLHUsbik6V2UoZSxZZSxmdW5jdGlvbigpe3JldHVybiBaZShlLHUsbil9KX0sc2V0OmZ1bmN0aW9u
KGUsdCxuKXt2YXIgcixpPUllKGUpLG89IXkuc2Nyb2xsYm94U2l6ZSgpJiYiYWJzb2x1dGUiPT09aS5wb3N
pdGlvbixhPShvfHxuKSYmImJvcmRlci1ib3giPT09Uy5jc3MoZSwiYm94U2l6aW5nIiwhMSxpKSxzPW4/
S2UoZSx1LG4sYSxpKTowO3JldHVybiBhJiZvJiYocy09TWF0aC5jZWlsKGVbIm9mZnNldCIrdVswXS50b1V
wcGVyQ2FzZSgpK3Uuc2xpY2UoMSldLXBhcnNlRmxvYXQoaVt1XSktS2UoZSx1LCJib3JkZXIiLCExLGkpLS
41KSkscyYmKHI9dGUuZXhlYyh0KSkmJiJweCIhPT0oclszXXx8InB4IikmJihlLnN0eWxlW3VdPXQsdD1TL
mNzcyhlLHUpKSxKZSgwLHQscyl9fX0pLFMuY3NzSG9va3MubWFyZ2luTGVmdD0kZSh5LnJlbGlhYmxlTWFy
Z2luTGVmdCxmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuKHBhcnNlRmxvYXQoQmUoZSwibWFyZ2luTGVmdCI
pKXx8ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LVdlKGUse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb2
4oKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpKyJweCJ9KSxTLmVhY2goe21hc
mdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihpLG8pe1MuY3NzSG9va3NbaStv
XT17ZXhwYW5kOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49e30scj0ic3RyaW5nIj09dHlwZW9mIGU/
ZS5zcGxpdCgiICIpOltlXTt0PDQ7dCsrKW5baStuZVt0XStvXT1yW3RdfHxyW3QtMl18fHJbMF07cmV0dXJ
uIG59fSwibWFyZ2luIiE9PWkmJihTLmNzc0hvb2tzW2krb10uc2V0PUplKX0pLFMuZm4uZXh0ZW5kKHtjc3
M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO
2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPUllKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPVMu
Y3NzKGUsdFthXSwhMSxyKTtyZXR1cm4gb31yZXR1cm4gdm9pZCAwIT09bj9TLnN0eWxlKGUsdCxuKTpTLmN
zcyhlLHQpfSxlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX19KSwoKFMuVHdlZW49ZXQpLnByb3RvdHlwZT17Y2
9uc3RydWN0b3I6ZXQsaW5pdDpmdW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wP
W4sdGhpcy5lYXNpbmc9aXx8Uy5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10
aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fChTLmNzc051bWJlcltuXT8iIjo
icHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9ZXQucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJm
UuZ2V0P2UuZ2V0KHRoaXMpOmV0LnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvb
ihlKXt2YXIgdCxuPWV0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRp
b24/
dGhpcy5wb3M9dD1TLmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDE
sdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz10PWUsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3
RhcnQpKnQrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0a
GlzLmVsZW0sdGhpcy5ub3csdGhpcyksbiYmbi5zZXQ/
bi5zZXQodGhpcyk6ZXQucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0pLmluaXQucHJvdG9
0eXBlPWV0LnByb3RvdHlwZSwoZXQucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3Zhci
B0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lb
GVtLnN0eWxlW2UucHJvcF0/
ZS5lbGVtW2UucHJvcF06KHQ9Uy5jc3MoZS5lbGVtLGUucHJvcCwiIikpJiYiYXV0byIhPT10P3Q6MH0sc2V
0OmZ1bmN0aW9uKGUpe1MuZnguc3RlcFtlLnByb3BdP1MuZnguc3RlcFtlLnByb3BdKGUpOjEhPT1lLmVsZW
0ubm9kZVR5cGV8fCFTLmNzc0hvb2tzW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVtYZShlLnByb3ApX
T9lLmVsZW1bZS5wcm9wXT1lLm5vdzpTLnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KX19fSku
c2Nyb2xsVG9wPWV0LnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGV
UeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LFMuZWFzaW5nPXtsaW
5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi41LU1hdGguY29zK
GUqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6InN3aW5nIn0sUy5meD1ldC5wcm90b3R5cGUuaW5pdCxTLmZ4LnN0
ZXA9e307dmFyIHR0LG50LHJ0LGl0LG90PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxhdD0vcXVldWVIb29
rcyQvO2Z1bmN0aW9uIHN0KCl7bnQmJighMT09PUUuaGlkZGVuJiZDLnJlcXVlc3RBbmltYXRpb25GcmFtZT
9DLnJlcXVlc3RBbmltYXRpb25GcmFtZShzdCk6Qy5zZXRUaW1lb3V0KHN0LFMuZnguaW50ZXJ2YWwpLFMuZ
ngudGljaygpKX1mdW5jdGlvbiB1dCgpe3JldHVybiBDLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0dD12b2lk
IDB9KSx0dD1EYXRlLm5vdygpfWZ1bmN0aW9uIGx0KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3I
odD10PzE6MDtyPDQ7cis9Mi10KWlbIm1hcmdpbiIrKG49bmVbcl0pXT1pWyJwYWRkaW5nIituXT1lO3JldH
VybiB0JiYoaS5vcGFjaXR5PWkud2lkdGg9ZSksaX1mdW5jdGlvbiBjdChlLHQsbil7Zm9yKHZhciByLGk9K
GZ0LnR3ZWVuZXJzW3RdfHxbXSkuY29uY2F0KGZ0LnR3ZWVuZXJzWyIqIl0pLG89MCxhPWkubGVuZ3RoO288
YTtvKyspaWYocj1pW29dLmNhbGwobix0LGUpKXJldHVybiByfWZ1bmN0aW9uIGZ0KG8sZSx0KXt2YXIgbix
hLHI9MCxpPWZ0LnByZWZpbHRlcnMubGVuZ3RoLHM9Uy5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2
RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoYSlyZXR1cm4hMTtmb3IodmFyIGU9dHR8fHV0KCksd
D1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tZSksbj0xLSh0L2wuZHVyYXRpb258fDApLHI9
MCxpPWwudHdlZW5zLmxlbmd0aDtyPGk7cisrKWwudHdlZW5zW3JdLnJ1bihuKTtyZXR1cm4gcy5ub3RpZnl
XaXRoKG8sW2wsbix0XSksbjwxJiZpP3Q6KGl8fHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZV
dpdGgobyxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06byxwcm9wczpTLmV4dGVuZCh7fSxlKSxvcHRzO
lMuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpTLmVhc2luZy5fZGVmYXVsdH0sdCksb3Jp
Z2luYWxQcm9wZXJ0aWVzOmUsb3JpZ2luYWxPcHRpb25zOnQsc3RhcnRUaW1lOnR0fHx1dCgpLGR1cmF0aW9
uOnQuZHVyYXRpb24sdHdlZW5zOl
tdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49Uy5Ud2VlbihvLGwub3B0cyxlLHQsbC5vcHRzL
nNwZWNpYWxFYXNpbmdbZV18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKG4pLG59LHN0
b3A6ZnVuY3Rpb24oZSl7dmFyIHQ9MCxuPWU/
bC50d2VlbnMubGVuZ3RoOjA7aWYoYSlyZXR1cm4gdGhpcztmb3IoYT0hMDt0PG47dCsrKWwudHdlZW5zW3R
dLnJ1bigxKTtyZXR1cm4gZT8ocy5ub3RpZnlXaXRoKG8sW2wsMSwwXSkscy5yZXNvbHZlV2l0aChvLFtsLG
VdKSk6cy5yZWplY3RXaXRoKG8sW2wsZV0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcighZnVuY3Rpb24oZSx0K
Xt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYoaT10W3I9WChuKV0sbz1lW25dLEFycmF5LmlzQXJyYXko
bykmJihpPW9bMV0sbz1lW25dPW9bMF0pLG4hPT1yJiYoZVtyXT1vLGRlbGV0ZSBlW25dKSwoYT1TLmNzc0h
vb2tzW3JdKSYmImV4cGFuZCJpbiBhKWZvcihuIGluIG89YS5leHBhbmQobyksZGVsZXRlIGVbcl0sbyluIG
luIGV8fChlW25dPW9bbl0sdFtuXT1pKTtlbHNlIHRbcl09aX0oYyxsLm9wdHMuc3BlY2lhbEVhc2luZyk7c
jxpO3IrKylpZihuPWZ0LnByZWZpbHRlcnNbcl0uY2FsbChsLG8sYyxsLm9wdHMpKXJldHVybiBtKG4uc3Rv
cCkmJihTLl9xdWV1ZUhvb2tzKGwuZWxlbSxsLm9wdHMucXVldWUpLnN0b3A9bi5zdG9wLmJpbmQobikpLG4
7cmV0dXJuIFMubWFwKGMsY3QsbCksbShsLm9wdHMuc3RhcnQpJiZsLm9wdHMuc3RhcnQuY2FsbChvLGwpLG
wucHJvZ3Jlc3MobC5vcHRzLnByb2dyZXNzKS5kb25lKGwub3B0cy5kb25lLGwub3B0cy5jb21wbGV0ZSkuZ
mFpbChsLm9wdHMuZmFpbCkuYWx3YXlzKGwub3B0cy5hbHdheXMpLFMuZngudGltZXIoUy5leHRlbmQodSx7
ZWxlbTpvLGFuaW06bCxxdWV1ZTpsLm9wdHMucXVldWV9KSksbH1TLkFuaW1hdGlvbj1TLmV4dGVuZChmdCx
7dHdlZW5lcnM6eyIqIjpbZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKGUsdCk7cmV0dX
JuIHNlKG4uZWxlbSxlLHRlLmV4ZWModCksbiksbn1dfSx0d2VlbmVyOmZ1bmN0aW9uKGUsdCl7bShlKT8od
D1lLGU9WyIqIl0pOmU9ZS5tYXRjaChQKTtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluPWVb
cl0sZnQudHdlZW5lcnNbbl09ZnQudHdlZW5lcnNbbl18fFtdLGZ0LnR3ZWVuZXJzW25dLnVuc2hpZnQodCl
9LHByZWZpbHRlcnM6W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjLGY9IndpZHRoImluIH
R8fCJoZWlnaHQiaW4gdCxwPXRoaXMsZD17fSxoPWUuc3R5bGUsZz1lLm5vZGVUeXBlJiZhZShlKSx2PVkuZ
2V0KGUsImZ4c2hvdyIpO2ZvcihyIGluIG4ucXVldWV8fChudWxsPT0oYT1TLl9xdWV1ZUhvb2tzKGUsImZ4
IikpLnVucXVldWVkJiYoYS51bnF1ZXVlZD0wLHM9YS5lbXB0eS5maXJlLGEuZW1wdHkuZmlyZT1mdW5jdGl
vbigpe2EudW5xdWV1ZWR8fHMoKX0pLGEudW5xdWV1ZWQrKyxwLmFsd2F5cyhmdW5jdGlvbigpe3AuYWx3YX
lzKGZ1bmN0aW9uKCl7YS51bnF1ZXVlZC0tLFMucXVldWUoZSwiZngiKS5sZW5ndGh8fGEuZW1wdHkuZmlyZ
SgpfSl9KSksdClpZihpPXRbcl0sb3QudGVzdChpKSl7aWYoZGVsZXRlIHRbcl0sbz1vfHwidG9nZ2xlIj09
PWksaT09PShnPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb25
0aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Uy5zdHlsZShlLHIpfWlmKCh1PSFTLmlzRW1wdHlPYmplY3QodC
kpfHwhUy5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvd
z1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYm
KGw9WS5nZXQoZSwiZGlzcGxheSIpKSwibm9uZSI9PT0oYz1TLmNzcyhlLCJkaXNwbGF5IikpJiYobD9jPWw
6KGxlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz1TLmNzcyhlLCJkaXNwbGF5IiksbGUoW2VdKS
kpLCgiaW5saW5lIj09PWN8fCJpbmxpbmUtYmxvY2siPT09YyYmbnVsbCE9bCkmJiJub25lIj09PVMuY3NzK
GUsImZsb2F0IikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1o
LmRpc3BsYXksbD0ibm9uZSI9PT1jPyIiOmMpKSxoLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxuLm92ZXJ
mbG93JiYoaC5vdmVyZmxvdz0iaGlkZGVuIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdm
VyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19K
SksdT0hMSxkKXV8fCh2PyJoaWRkZW4iaW4gdiYmKGc9di5oaWRkZW4pOnY9WS5hY2Nlc3MoZSwiZnhzaG93
Iix7ZGlzcGxheTpsfSksbyYmKHYuaGlkZGVuPSFnKSxnJiZsZShbZV0sITApLHAuZG9uZShmdW5jdGlvbig
pe2ZvcihyIGluIGd8fGxlKFtlXSksWS5yZW1vdmUoZSwiZnhzaG93IiksZClTLnN0eWxlKGUscixkW3JdKX
0pKSx1PWN0KGc/
dltyXTowLHIscCksciBpbiB2fHwodltyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCk
pfV0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9mdC5wcmVmaWx0ZXJzLnVuc2hpZnQoZSk6ZnQucHJlZm
lsdGVycy5wdXNoKGUpfX0pLFMuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10e
XBlb2YgZT9TLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fG0oZSkmJmUsZHVyYXRpb246ZSxl
YXNpbmc6biYmdHx8dCYmIW0odCkmJnR9O3JldHVybiBTLmZ4Lm9mZj9yLmR1cmF0aW9uPTA6Im51bWJlciI
hPXR5cGVvZiByLmR1cmF0aW9uJiYoci5kdXJhdGlvbiBpbiBTLmZ4LnNwZWVkcz9yLmR1cmF0aW9uPVMuZn
guc3BlZWRzW3IuZHVyYXRpb25dOnIuZHVyYXRpb249Uy5meC5zcGVlZHMuX2RlZmF1bHQpLG51bGwhPXIuc
XVldWUmJiEwIT09ci5xdWV1ZXx8KHIucXVldWU9ImZ4Iiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRl
PWZ1bmN0aW9uKCl7bShyLm9sZCkmJnIub2xkLmNhbGwodGhpcyksci5xdWV1ZSYmUy5kZXF1ZXVlKHRoaXM
sci5xdWV1ZSl9LHJ9LFMuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaX
MuZmlsdGVyKGFlKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnR9L
GUsbixyKX0sYW5pbWF0ZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgaT1TLmlzRW1wdHlPYmplY3QodCksbz1T
LnNwZWVkKGUsbixyKSxhPWZ1bmN0aW9uKCl7dmFyIGU9ZnQodGhpcyxTLmV4dGVuZCh7fSx0KSxvKTsoaXx
8WS5nZXQodGhpcywiZmluaXNoIikpJiZlLnN0b3AoITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHwhMT09PW
8ucXVldWU/
dGhpcy5lYWNoKGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihpLGUsbyl7dmFyIGE
9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChvKX07cmV0dXJuInN0cmluZyIhPX
R5cGVvZiBpJiYobz1lLGU9aSxpPXZvaWQgMCksZSYmdGhpcy5xdWV1ZShpfHwiZngiLFtdKSx0aGlzLmVhY
2goZnVuY3Rpb24oKXt2YXIgZT0hMCx0PW51bGwhPWkmJmkrInF1ZXVlSG9va3MiLG49Uy50aW1lcnMscj1Z
LmdldCh0aGlzKTtpZih0KXJbdF0mJnJbdF0uc3RvcCYmYShyW3RdKTtlbHNlIGZvcih0IGluIHIpclt0XSY
mclt0XS5zdG9wJiZhdC50ZXN0KHQpJiZhKHJbdF0pO2Zvcih0PW4ubGVuZ3RoO3QtLTspblt0XS5lbGVtIT
09dGhpc3x8bnVsbCE9aSYmblt0XS5xdWV1ZSE9PWl8fChuW3RdLmFuaW0uc3RvcChvKSxlPSExLG4uc3Bsa
WNlKHQsMSkpOyFlJiZvfHxTLmRlcXVldWUodGhpcyxpKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJu
ITEhPT1hJiYoYT1hfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSx0PVkuZ2V0KHRoaXMpLG4
9dFthKyJxdWV1ZSJdLHI9dFthKyJxdWV1ZUhvb2tzIl0saT1TLnRpbWVycyxvPW4/
bi5sZW5ndGg6MDtmb3IodC5maW5pc2g9ITAsUy5xdWV1ZSh0aGlzLGEsW10pLHImJnIuc3RvcCYmci5zdG9
wLmNhbGwodGhpcywhMCksZT1pLmxlbmd0aDtlLS07KWlbZV0uZWxlbT09PXRoaXMmJmlbZV0ucXVldWU9PT
1hJiYoaVtlXS5hbmltLnN0b3AoITApLGkuc3BsaWNlKGUsMSkpO2ZvcihlPTA7ZTxvO2UrKyluW2VdJiZuW
2VdLmZpbmlzaCYmbltlXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgdC5maW5pc2h9KX19KSxTLmVhY2go
WyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGUscil7dmFyIGk9Uy5mbltyXTtTLmZuW3JdPWZ
1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09ZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9pLmFwcGx5KHRoaX
MsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUobHQociwhMCksZSx0LG4pfX0pLFMuZWFjaCh7c2xpZGVEb3duO
mx0KCJzaG93Iiksc2xpZGVVcDpsdCgiaGlkZSIpLHNsaWRlVG9nZ2xlOmx0KCJ0b2dnbGUiKSxmYWRlSW46
e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eTo
idG9nZ2xlIn19LGZ1bmN0aW9uKGUscil7Uy5mbltlXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuYW
5pbWF0ZShyLGUsdCxuKX19KSxTLnRpbWVycz1bXSxTLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsb
j1TLnRpbWVycztmb3IodHQ9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09
ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxTLmZ4LnN0b3AoKSx0dD12b2lkIDB9LFMuZngudGltZXI
9ZnVuY3Rpb24oZSl7Uy50aW1lcnMucHVzaChlKSxTLmZ4LnN0YXJ0KCl9LFMuZnguaW50ZXJ2YWw9MTMsUy
5meC5zdGFydD1mdW5jdGlvbigpe250fHwobnQ9ITAsc3QoKSl9LFMuZnguc3RvcD1mdW5jdGlvbigpe250P
W51bGx9LFMuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LFMuZm4uZGVsYXk9
ZnVuY3Rpb24ocixlKXtyZXR1cm4gcj1TLmZ4JiZTLmZ4LnNwZWVkc1tyXXx8cixlPWV8fCJmeCIsdGhpcy5
xdWV1ZShlLGZ1bmN0aW9uKGUsdCl7dmFyIG49Qy5zZXRUaW1lb3V0KGUscik7dC5zdG9wPWZ1bmN0aW9uKC
l7Qy5jbGVhclRpbWVvdXQobil9fSl9LHJ0PUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxpdD1FLmNyZWF0Z
UVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKEUuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLHJ0LnR5
cGU9ImNoZWNrYm94Iix5LmNoZWNrT249IiIhPT1ydC52YWx1ZSx5Lm9wdFNlbGVjdGVkPWl0LnNlbGVjdGV
kLChydD1FLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnZhbHVlPSJ0IixydC50eXBlPSJyYWRpbyIseS5yYW
Rpb1ZhbHVlPSJ0Ij09PXJ0LnZhbHVlO3ZhciBwdCxkdD1TLmV4cHIuYXR0ckhhbmRsZTtTLmZuLmV4dGVuZ
Ch7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiAkKHRoaXMsUy5hdHRyLGUsdCwxPGFyZ3VtZW50cy5sZW5n
dGgpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLnJlbW9
2ZUF0dHIodGhpcyxlKX0pfX0pLFMuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS
5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgZS5nZ
XRBdHRyaWJ1dGU/
Uy5wcm9wKGUsdCxuKTooMT09PW8mJlMuaXNYTUxEb2MoZSl8fChpPVMuYXR0ckhvb2tzW3QudG9Mb3dlckN
hc2UoKV18fChTLmV4cHIubWF0Y2guYm9vbC50ZXN0KHQpP3B0OnZvaWQgMCkpLHZvaWQgMCE9PW4/
bnVsbD09PW4/
dm9pZCBTLnJlbW92ZUF0dHIoZSx0KTppJiYic2V0ImluIGkmJnZvaWQgMCE9PShyPWkuc2V0KGUsbix0KSk
/
cjooZS5zZXRBdHRyaWJ1dGUodCxuKyIiKSxuKTppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQ
pKT9yOm51bGw9PShyPVMuZmluZC5hdHRyKGUsdCkpP3ZvaWQgMDpyKX0sYXR0ckhvb2tzOnt0eXBlOntzZX
Q6ZnVuY3Rpb24oZSx0KXtpZigheS5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmQShlLCJpbnB1dCIpKXt2Y
XIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19
fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXQmJnQubWF0Y2goUCk7aWYoaSYmMT0
9PWUubm9kZVR5cGUpd2hpbGUobj1pW3IrK10pZS5yZW1vdmVBdHRyaWJ1dGUobil9fSkscHQ9e3NldDpmdW
5jdGlvbihlLHQsbil7cmV0dXJuITE9PT10P1MucmVtb3ZlQXR0cihlLG4pOmUuc2V0QXR0cmlidXRlKG4sb
iksbn19LFMuZWFjaChTLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihl
LHQpe3ZhciBhPWR0W3RdfHxTLmZpbmQuYXR0cjtkdFt0XT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXQ
udG9Mb3dlckNhc2UoKTtyZXR1cm4gbnx8KGk9ZHRbb10sZHRbb109cixyPW51bGwhPWEoZSx0LG4pP286bn
VsbCxkdFtvXT1pKSxyfX0pO3ZhciBodD0vXig/
OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGd0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiB
2dChlKXtyZXR1cm4oZS5tYXRjaChQKXx8W10pLmpvaW4oIiAiKX1mdW5jdGlvbiB5dChlKXtyZXR1cm4gZS
5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1mdW5jdGlvbiBtdChlKXtyZXR1c
m4gQXJyYXkuaXNBcnJheShlKT9lOiJzdHJpbmciPT10eXBlb2YgZSYmZS5tYXRjaChQKXx8W119Uy5mbi5l
eHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLFMucHJvcCxlLHQsMTxhcmd1bWVudHM
ubGVuZ3RoKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZG
VsZXRlIHRoaXNbUy5wcm9wRml4W2VdfHxlXX0pfX0pLFMuZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCxuK
Xt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiAxPT09byYmUy5p
c1hNTERvYyhlKXx8KHQ9Uy5wcm9wRml4W3RdfHx0LGk9Uy5wcm9wSG9va3NbdF0pLHZvaWQgMCE9PW4/
aSYmInNldCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6ZVt0XT1uOmkmJiJnZXQiaW4gaSY
mbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6ZVt0XX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW
9uKGUpe3ZhciB0PVMuZmluZC5hdHRyKGUsInRhYmluZGV4Iik7cmV0dXJuIHQ/
cGFyc2VJbnQodCwxMCk6aHQudGVzdChlLm5vZGVOYW1lKXx8Z3QudGVzdChlLm5vZGVOYW1lKSYmZS5ocmV
mPzA6LTF9fX0scHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9fSkseS5vcH
RTZWxlY3RlZHx8KFMucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlb
nROb2RlO3JldHVybiB0JiZ0LnBhcmVudE5vZGUmJnQuc
GFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LG51bGx9LHNldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5v
ZGU7dCYmKHQuc2VsZWN0ZWRJbmRleCx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV
4KX19KSxTLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLC
JjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250Z
W50RWRpdGFibGUiXSxmdW5jdGlvbigpe1MucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxT
LmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxhLHMsdT0wO2lmKG0odCk
pcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLmFkZENsYXNzKHQuY2FsbCh0aGlzLGUseX
QodGhpcykpKX0pO2lmKChlPW10KHQpKS5sZW5ndGgpd2hpbGUobj10aGlzW3UrK10paWYoaT15dChuKSxyP
TE9PT1uLm5vZGVUeXBlJiYiICIrdnQoaSkrIiAiKXthPTA7d2hpbGUobz1lW2ErK10pci5pbmRleE9mKCIg
IitvKyIgIik8MCYmKHIrPW8rIiAiKTtpIT09KHM9dnQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHM
pfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvLGEscyx1PTA7aW
YobSh0KSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe1ModGhpcykucmVtb3ZlQ2xhc3ModC5jYWxsK
HRoaXMsZSx5dCh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xh
c3MiLCIiKTtpZigoZT1tdCh0KSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9eXQobikscj0xPT0
9bi5ub2RlVHlwZSYmIiAiK3Z0KGkpKyIgIil7YT0wO3doaWxlKG89ZVthKytdKXdoaWxlKC0xPHIuaW5kZX
hPZigiICIrbysiICIpKXI9ci5yZXBsYWNlKCIgIitvKyIgIiwiICIpO2khPT0ocz12dChyKSkmJm4uc2V0Q
XR0cmlidXRlKCJjbGFzcyIscyl9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGksdCl7dmFy
IG89dHlwZW9mIGksYT0ic3RyaW5nIj09PW98fEFycmF5LmlzQXJyYXkoaSk7cmV0dXJuImJvb2xlYW4iPT1
0eXBlb2YgdCYmYT90P3RoaXMuYWRkQ2xhc3MoaSk6dGhpcy5yZW1vdmVDbGFzcyhpKTptKGkpP3RoaXMuZW
FjaChmdW5jdGlvbihlKXtTKHRoaXMpLnRvZ2dsZUNsYXNzKGkuY2FsbCh0aGlzLGUseXQodGhpcyksdCksd
Cl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSx0LG4scjtpZihhKXt0PTAsbj1TKHRoaXMpLHI9bXQo
aSk7d2hpbGUoZT1yW3QrK10pbi5oYXNDbGFzcyhlKT9uLnJlbW92ZUNsYXNzKGUpOm4uYWRkQ2xhc3MoZSl
9ZWxzZSB2b2lkIDAhPT1pJiYiYm9vbGVhbiIhPT1vfHwoKGU9eXQodGhpcykpJiZZLnNldCh0aGlzLCJfX2
NsYXNzTmFtZV9fIixlKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixlf
HwhMT09PWk/
IiI6WS5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3Z
hciB0LG4scj0wO3Q9IiAiK2UrIiAiO3doaWxlKG49dGhpc1tyKytdKWlmKDE9PT1uLm5vZGVUeXBlJiYtMT
woIiAiK3Z0KHl0KG4pKSsiICIpLmluZGV4T2YodCkpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIHh0PS9cc
i9nO1MuZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24obil7dmFyIHIsZSxpLHQ9dGhpc1swXTtyZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aD8oaT1tKG4pLHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgdDsxPT09dGhpcy5ub2R
lVHlwZSYmKG51bGw9PSh0PWk/
bi5jYWxsKHRoaXMsZSxTKHRoaXMpLnZhbCgpKTpuKT90PSIiOiJudW1iZXIiPT10eXBlb2YgdD90Kz0iIjp
BcnJheS5pc0FycmF5KHQpJiYodD1TLm1hcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIi
J9KSksKHI9Uy52YWxIb29rc1t0aGlzLnR5cGVdfHxTLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlc
kNhc2UoKV0pJiYic2V0ImluIHImJnZvaWQgMCE9PXIuc2V0KHRoaXMsdCwidmFsdWUiKXx8KHRoaXMudmFs
dWU9dCkpfSkpOnQ/
KHI9Uy52YWxIb29rc1t0LnR5cGVdfHxTLnZhbEhvb2tzW3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiY
iZ2V0ImluIHImJnZvaWQgMCE9PShlPXIuZ2V0KHQsInZhbHVlIikpP2U6InN0cmluZyI9PXR5cGVvZihlPX
QudmFsdWUpP2UucmVwbGFjZSh4dCwiIik6bnVsbD09ZT8iIjplOnZvaWQgMH19KSxTLmV4dGVuZCh7dmFsS
G9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PVMuZmluZC5hdHRyKGUsInZhbHVlIik7cmV0
dXJuIG51bGwhPXQ/
dDp2dChTLnRleHQoZSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9ZS5vcHRpb25
zLG89ZS5zZWxlY3RlZEluZGV4LGE9InNlbGVjdC1vbmUiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKz
E6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9P
T1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhQShuLnBhcmVudE5vZGUsIm9w
dGdyb3VwIikpKXtpZih0PVMobikudmFsKCksYSlyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDp
mdW5jdGlvbihlLHQpe3ZhciBuLHIsaT1lLm9wdGlvbnMsbz1TLm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO3
doaWxlKGEtLSkoKHI9aVthXSkuc2VsZWN0ZWQ9LTE8Uy5pbkFycmF5KFMudmFsSG9va3Mub3B0aW9uLmdld
ChyKSxvKSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLFMuZWFjaChb
InJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe1MudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbih
lLHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGUuY2hlY2tlZD0tMTxTLmluQXJyYXkoUyhlKS52YW
woKSx0KX19LHkuY2hlY2tPbnx8KFMudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBud
WxsPT09ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/
Im9uIjplLnZhbHVlfSl9KSx5LmZvY3VzaW49Im9uZm9jdXNpbiJpbiBDO3ZhciBidD0vXig/
OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sd3Q9ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24
oKX07Uy5leHRlbmQoUy5ldmVudCx7dHJpZ2dlcjpmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LG
wsYyxmLHA9W258fEVdLGQ9di5jYWxsKGUsInR5cGUiKT9lLnR5cGU6ZSxoPXYuY2FsbChlLCJuYW1lc3BhY
2UiKT9lLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKG89Zj1hPW49bnx8RSwzIT09bi5ub2RlVHlwZSYm
OCE9PW4ubm9kZVR5cGUmJiFidC50ZXN0KGQrUy5ldmVudC50cmlnZ2VyZWQpJiYoLTE8ZC5pbmRleE9mKCI
uIikmJihkPShoPWQuc3BsaXQoIi4iKSkuc2hpZnQoKSxoLnNvcnQoKSksdT1kLmluZGV4T2YoIjoiKTwwJi
Yib24iK2QsKGU9ZVtTLmV4cGFuZG9dP2U6bmV3IFMuRXZlbnQoZCwib2JqZWN0Ij09dHlwZW9mIGUmJmUpK
S5pc1RyaWdnZXI9cj8yOjMsZS5uYW1lc3BhY2U9aC5qb2luKCIuIiksZS5ybmFtZXNwYWNlPWUubmFtZXNw
YWNlP25ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnV
sbCxlLnJlc3VsdD12b2lkIDAsZS50YXJnZXR8fChlLnRhcmdldD1uKSx0PW51bGw9PXQ/
W2VdOlMubWFrZUFycmF5KHQsW2VdKSxjPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30scnx8IWMudHJpZ2dlcnx
8ITEhPT1jLnRyaWdnZXIuYXBwbHkobix0KSkpe2lmKCFyJiYhYy5ub0J1YmJsZSYmIXgobikpe2ZvcihzPW
MuZGVsZWdhdGVUeXBlfHxkLGJ0LnRlc3QocytkKXx8KG89by5wYXJlbnROb2RlKTtvO289by5wYXJlbnROb
2RlKXAucHVzaChvKSxhPW87YT09PShuLm93bmVyRG9jdW1lbnR8fEUpJiZwLnB1c2goYS5kZWZhdWx0Vmll
d3x8YS5wYXJlbnRXaW5kb3d8fEMpfWk9MDt3aGlsZSgobz1wW2krK10pJiYhZS5pc1Byb3BhZ2F0aW9uU3R
vcHBlZCgpKWY9byxlLnR5cGU9MTxpP3M6Yy5iaW5kVHlwZXx8ZCwobD0oWS5nZXQobywiZXZlbnRzIil8fE
9iamVjdC5jcmVhdGUobnVsbCkpW2UudHlwZV0mJlkuZ2V0KG8sImhhbmRsZSIpKSYmbC5hcHBseShvLHQpL
ChsPXUmJm9bdV0pJiZsLmFwcGx5JiZWKG8pJiYoZS5yZXN1bHQ9bC5hcHBseShvLHQpLCExPT09ZS5yZXN1
bHQmJmUucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGUudHlwZT1kLHJ8fGUuaXNEZWZhdWx0UHJldmVudGV
kKCl8fGMuX2RlZmF1bHQmJiExIT09Yy5fZGVmYXVsdC5hcHBseShwLnBvcCgpLHQpfHwhVihuKXx8dSYmbS
huW2RdKSYmIXgobikmJigoYT1uW3VdKSYmKG5bdV09bnVsbCksUy5ldmVudC50cmlnZ2VyZWQ9ZCxlLmlzU
HJvcGFnYXRpb25TdG9wcGVkKCkmJmYuYWRkRXZlbnRMaXN0ZW5lcihkLHd0KSxuW2RdKCksZS5pc1Byb3Bh
Z2F0aW9uU3RvcHBlZCgpJiZmLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCx3dCksUy5ldmVudC50cmlnZ2VyZWQ
9dm9pZCAwLGEmJihuW3VdPWEpKSxlLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj
1TLmV4dGVuZChuZXcgUy5FdmVudCxuLHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITB9KTtTLmV2ZW50LnRyaWdnZ
XIocixudWxsLHQpfX0pLFMuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMu
ZWFjaChmdW5jdGlvbigpe1MuZXZlbnQudHJpZ2dlcihlLHQsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnV
uY3Rpb24oZSx0KXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIFMuZXZlbnQudHJpZ2dlcihlLHQsbiwhMC
l9fSkseS5mb2N1c2lufHxTLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0a
W9uKG4scil7dmFyIGk9ZnVuY3Rpb24oZSl7Uy5ldmVudC5zaW11bGF0ZShyLGUudGFyZ2V0LFMuZXZlbnQu
Zml4KGUpKX07Uy5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3duZXJ
Eb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyx0PVkuYWNjZXNzKGUscik7dHx8ZS5hZGRFdmVudExpc3
RlbmVyKG4saSwhMCksWS5hY2Nlc3MoZSxyLCh0fHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZ
T10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1ZLmFjY2VzcyhlLHIpLTE7dD9Z
LmFjY2VzcyhlLHIsdCk6KGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLGksITApLFkucmVtb3ZlKGUscikpfX1
9KTt2YXIgVHQ9Qy5sb2NhdGlvbixDdD17Z3VpZDpEYXRlLm5vdygpfSxFdD0vXD8vO1MucGFyc2VYTUw9Zn
VuY3Rpb24oZSl7dmFyIHQ7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbnVsbDt0cnl7dD0ob
mV3IEMuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKX1jYXRjaChlKXt0PXZvaWQg
MH1yZXR1cm4gdCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxTLmV
ycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fTt2YXIgU3Q9L1xbXF0kLyxrdD0vXHI/XG4vZyxBdD0vXig/
OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksTnQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGF
yZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIER0KG4sZSxyLGkpe3ZhciB0O2lmKEFycmF5LmlzQXJyYXkoZSkpUy
5lYWNoKGUsZnVuY3Rpb24oZSx0KXtyfHxTdC50ZXN0KG4pP2kobix0KTpEdChuKyJbIisoIm9iamVjdCI9P
XR5cGVvZiB0JiZudWxsIT10P2U6IiIpKyJdIix0LHIsaSl9KTtlbHNlIGlmKHJ8fCJvYmplY3QiIT09dyhl
KSlpKG4sZSk7ZWxzZSBmb3IodCBpbiBlKUR0KG4rIlsiK3QrIl0iLGVbdF0scixpKX1TLnBhcmFtPWZ1bmN
0aW9uKGUsdCl7dmFyIG4scj1bXSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49bSh0KT90KCk6dDtyW3IubGVuZ3
RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uPyIiOm4pf
TtpZihudWxsPT1lKXJldHVybiIiO2lmKEFycmF5LmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhUy5pc1BsYWlu
T2JqZWN0KGUpKVMuZWFjaChlLGZ1bmN0aW9uKCl7aSh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZ
vcihuIGluIGUpRHQobixlW25dLHQsaSk7cmV0dXJuIHIuam9pbigiJiIpfSxTLmZuLmV4dGVuZCh7c2VyaW
FsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIFMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsa
XplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT1TLnByb3AodGhp
cywiZWxlbWVudHMiKTtyZXR1cm4gZT9TLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl
7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFTKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmTn
QudGVzdCh0aGlzLm5vZGVOYW1lKSYmIUF0LnRlc3QoZSkmJih0aGlzLmNoZWNrZWR8fCFwZS50ZXN0KGUpK
X0pLm1hcChmdW5jdGlvbihlLHQpe3ZhciBuPVModGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/
bnVsbDpBcnJheS5pc0FycmF5KG4pP1MubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZ
hbHVlOmUucmVwbGFjZShrdCwiXHJcbiIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa3QsIl
xyXG4iKX19KS5nZXQoKX19KTt2YXIganQ9LyUyMC9nLHF0PS8jLiokLyxMdD0vKFs/
Jl0pXz1bXiZdKi8sSHQ9L14oLio/KTpbIFx0XSooW15cclxuXSopJC9nbSxPdD0vXig/
OkdFVHxIRUFEKSQvLFB0PS9eXC9cLy8sUnQ9e30sTXQ9e30sSXQ9IiovIi5jb25jYXQoIioiKSxXdD1FLmN
yZWF0ZUVsZW1lbnQoImEiKTtmdW5jdGlvbiBGdChvKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXsic3RyaW5nIi
E9dHlwZW9mIGUmJih0PWUsZT0iKiIpO3ZhciBuLHI9MCxpPWUudG9Mb3dlckNhc2UoKS5tYXRjaChQKXx8W
107aWYobSh0KSl3aGlsZShuPWlbcisrXSkiKyI9PT1uWzBdPyhuPW4uc2xpY2UoMSl8fCIqIiwob1tuXT1v
W25dfHxbXSkudW5zaGlmdCh0KSk6KG9bbl09b1tuXXx8W10pLnB1c2godCl9fWZ1bmN0aW9uIEJ0KHQsaSx
vLGEpe3ZhciBzPXt9LHU9dD09PU10O2Z1bmN0aW9uIGwoZSl7dmFyIHI7cmV0dXJuIHNbZV09ITAsUy5lYW
NoKHRbZV18fFtdLGZ1bmN0aW9uKGUsdCl7dmFyIG49dChpLG8sYSk7cmV0dXJuInN0cmluZyIhPXR5cGVvZ
iBufHx1fHxzW25dP3U/
IShyPW4pOnZvaWQgMDooaS5kYXRhVHlwZXMudW5zaGlmdChuKSxsKG4pLCExKX0pLHJ9cmV0dXJuIGwoaS5
kYXRhVHlwZXNbMF0pfHwhc1siKiJdJiZsKCIqIil9ZnVuY3Rpb24gJHQoZSx0KXt2YXIgbixyLGk9Uy5ham
F4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChpW25dP2U6c
nx8KHI9e30pKVtuXT10W25dKTtyZXR1cm4gciYmUy5leHRlbmQoITAsZSxyKSxl
fVd0LmhyZWY9VHQuaHJlZixTLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWp
heFNldHRpbmdzOnt1cmw6VHQuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6L14oPzphYm91dHxhcHB8YXBwLX
N0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChUdC5wcm90b2NvbCksZ2xvY
mFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjpJdCx0ZXh0OiJ0ZXh0L3BsYWl
uIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbG
ljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovX
GJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0
OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cml
uZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpKU09OLnBhcnNlLCJ0ZXh0IHhtbCI6Uy5wYXJzZVhNTH
0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGUsdCl7cmV0d
XJuIHQ/
JHQoJHQoZSxTLmFqYXhTZXR0aW5ncyksdCk6JHQoUy5hamF4U2V0dGluZ3MsZSl9LGFqYXhQcmVmaWx0ZXI
6RnQoUnQpLGFqYXhUcmFuc3BvcnQ6RnQoTXQpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW
9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIGMsZixwLG4sZCxyLGgsZyxpLG8sdj1TLmFqYXhTZ
XR1cCh7fSx0KSx5PXYuY29udGV4dHx8dixtPXYuY29udGV4dCYmKHkubm9kZVR5cGV8fHkuanF1ZXJ5KT9T
KHkpOlMuZXZlbnQseD1TLkRlZmVycmVkKCksYj1TLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx3PXYuc3R
hdHVzQ29kZXx8e30sYT17fSxzPXt9LHU9ImNhbmNlbGVkIixUPXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2
VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoaCl7aWYoIW4pe249e307d2hpbGUodD1IdC5leGVjKHApK
W5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl09KG5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl18fFtdKS5jb25j
YXQodFsyXSl9dD1uW2UudG9Mb3dlckNhc2UoKSsiICJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKCI
sICIpfSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gaD9wOm51bGx9LHNldFJlcX
Vlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09aCYmKGU9c1tlLnRvTG93ZXJDYXNlKCldP
XNbZS50b0xvd2VyQ2FzZSgpXXx8ZSxhW2VdPXQpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24o
ZSl7cmV0dXJuIG51bGw9PWgmJih2Lm1pbWVUeXBlPWUpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oZSl
7dmFyIHQ7aWYoZSlpZihoKVQuYWx3YXlzKGVbVC5zdGF0dXNdKTtlbHNlIGZvcih0IGluIGUpd1t0XT1bd1
t0XSxlW3RdXTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8dTtyZXR1cm4gYyYmY
y5hYm9ydCh0KSxsKDAsdCksdGhpc319O2lmKHgucHJvbWlzZShUKSx2LnVybD0oKGV8fHYudXJsfHxUdC5o
cmVmKSsiIikucmVwbGFjZShQdCxUdC5wcm90b2NvbCsiLy8iKSx2LnR5cGU9dC5tZXRob2R8fHQudHlwZXx
8di5tZXRob2R8fHYudHlwZSx2LmRhdGFUeXBlcz0odi5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm
1hdGNoKFApfHxbIiJdLG51bGw9PXYuY3Jvc3NEb21haW4pe3I9RS5jcmVhdGVFbGVtZW50KCJhIik7dHJ5e
3IuaHJlZj12LnVybCxyLmhyZWY9ci5ocmVmLHYuY3Jvc3NEb21haW49V3QucHJvdG9jb2wrIi8vIitXdC5o
b3N0IT1yLnByb3RvY29sKyIvLyIrci5ob3N0fWNhdGNoKGUpe3YuY3Jvc3NEb21haW49ITB9fWlmKHYuZGF
0YSYmdi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiB2LmRhdGEmJih2LmRhdGE9Uy5wYXJhbSh2Lm
RhdGEsdi50cmFkaXRpb25hbCkpLEJ0KFJ0LHYsdCxUKSxoKXJldHVybiBUO2ZvcihpIGluKGc9Uy5ldmVud
CYmdi5nbG9iYWwpJiYwPT1TLmFjdGl2ZSsrJiZTLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLHYudHlw
ZT12LnR5cGUudG9VcHBlckNhc2UoKSx2Lmhhc0NvbnRlbnQ9IU90LnRlc3Qodi50eXBlKSxmPXYudXJsLnJ
lcGxhY2UocXQsIiIpLHYuaGFzQ29udGVudD92LmRhdGEmJnYucHJvY2Vzc0RhdGEmJjA9PT0odi5jb250ZW
50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiYodi5kY
XRhPXYuZGF0YS5yZXBsYWNlKGp0LCIrIikpOihvPXYudXJsLnNsaWNlKGYubGVuZ3RoKSx2LmRhdGEmJih2
LnByb2Nlc3NEYXRhfHwic3RyaW5nIj09dHlwZW9mIHYuZGF0YSkmJihmKz0oRXQudGVzdChmKT8iJiI6Ij8
iKSt2LmRhdGEsZGVsZXRlIHYuZGF0YSksITE9PT12LmNhY2hlJiYoZj1mLnJlcGxhY2UoTHQsIiQxIiksbz
0oRXQudGVzdChmKT8iJiI6Ij8iKSsiXz0iK0N0Lmd1aWQrKytvKSx2LnVybD1mK28pLHYuaWZNb2RpZmllZ
CYmKFMubGFzdE1vZGlmaWVkW2ZdJiZULnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixT
Lmxhc3RNb2RpZmllZFtmXSksUy5ldGFnW2ZdJiZULnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2g
iLFMuZXRhZ1tmXSkpLCh2LmRhdGEmJnYuaGFzQ29udGVudCYmITEhPT12LmNvbnRlbnRUeXBlfHx0LmNvbn
RlbnRUeXBlKSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLHYuY29udGVudFR5cGUpLFQuc
2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0Iix2LmRhdGFUeXBlc1swXSYmdi5hY2NlcHRzW3YuZGF0YVR5cGVz
WzBdXT92LmFjY2VwdHNbdi5kYXRhVHlwZXNbMF1dKygiKiIhPT12LmRhdGFUeXBlc1swXT8iLCAiK0l0KyI
7IHE9MC4wMSI6IiIpOnYuYWNjZXB0c1siKiJdKSx2LmhlYWRlcnMpVC5zZXRSZXF1ZXN0SGVhZGVyKGksdi
5oZWFkZXJzW2ldKTtpZih2LmJlZm9yZVNlbmQmJighMT09PXYuYmVmb3JlU2VuZC5jYWxsKHksVCx2KXx8a
CkpcmV0dXJuIFQuYWJvcnQoKTtpZih1PSJhYm9ydCIsYi5hZGQodi5jb21wbGV0ZSksVC5kb25lKHYuc3Vj
Y2VzcyksVC5mYWlsKHYuZXJyb3IpLGM9QnQoTXQsdix0LFQpKXtpZihULnJlYWR5U3RhdGU9MSxnJiZtLnR
yaWdnZXIoImFqYXhTZW5kIixbVCx2XSksaClyZXR1cm4gVDt2LmFzeW5jJiYwPHYudGltZW91dCYmKGQ9Qy
5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VC5hYm9ydCgidGltZW91dCIpfSx2LnRpbWVvdXQpKTt0cnl7aD0hM
SxjLnNlbmQoYSxsKX1jYXRjaChlKXtpZihoKXRocm93IGU7bCgtMSxlKX19ZWxzZSBsKC0xLCJObyBUcmFu
c3BvcnQiKTtmdW5jdGlvbiBsKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD10O2h8fChoPSEwLGQmJkMuY2x
lYXJUaW1lb3V0KGQpLGM9dm9pZCAwLHA9cnx8IiIsVC5yZWFkeVN0YXRlPTA8ZT80OjAsaT0yMDA8PWUmJm
U8MzAwfHwzMDQ9PT1lLG4mJihzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsd
T1lLmRhdGFUeXBlczt3aGlsZSgiKiI9PT11WzBdKXUuc2hpZnQoKSx2b2lkIDA9PT1yJiYocj1lLm1pbWVU
eXBlfHx0LmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSk7aWYocilmb3IoaSBpbiBzKWlmKHN
baV0mJnNbaV0udGVzdChyKSl7dS51bnNoaWZ0KGkpO2JyZWFrfWlmKHVbMF1pbiBuKW89dVswXTtlbHNle2
ZvcihpIGluIG4pe2lmKCF1WzBdfHxlLmNvbnZlcnRlcnNbaSsiICIrdVswXV0pe289aTticmVha31hfHwoY
T1pKX1vPW98fGF9aWYobylyZXR1cm4gbyE9PXVbMF0mJnUudW5zaGlmdChvKSxuW29dfSh2LFQsbikpLCFp
JiYtMTxTLmluQXJyYXkoInNjcmlwdCIsdi5kYXRhVHlwZXMpJiYodi5jb252ZXJ0ZXJzWyJ0ZXh0IHNjcml
wdCJdPWZ1bmN0aW9uKCl7fSkscz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLm
RhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZ
SgpXT1lLmNvbnZlcnRlcnNbYV07bz1jLnNoaWZ0KCk7d2hpbGUobylpZihlLnJlc3BvbnNlRmllbGRzW29d
JiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhdSYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx
0ZXIodCxlLmRhdGFUeXBlKSksdT1vLG89Yy5zaGlmdCgpKWlmKCIqIj09PW8pbz11O2Vsc2UgaWYoIioiIT
09dSYmdSE9PW8pe2lmKCEoYT1sW3UrIiAiK29dfHxsWyIqICIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zc
GxpdCgiICIpKVsxXT09PW8mJihhPWxbdSsiICIrc1swXV18fGxbIiogIitzWzBdXSkpeyEwPT09YT9hPWxb
aV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmV
bInRocm93cyJdKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOiJwYXJzZX
JlcnJvciIsZXJyb3I6YT9lOiJObyBjb252ZXJzaW9uIGZyb20gIit1KyIgdG8gIitvfX19cmV0dXJue3N0Y
XRlOiJzdWNjZXNzIixkYXRhOnR9fSh2LHMsVCxpKSxpPyh2LmlmTW9kaWZpZWQmJigodT1ULmdldFJlc3Bv
bnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoUy5sYXN0TW9kaWZpZWRbZl09dSksKHU9VC5nZXRSZXN
wb25zZUhlYWRlcigiZXRhZyIpKSYmKFMuZXRhZ1tmXT11KSksMjA0PT09ZXx8IkhFQUQiPT09di50eXBlP2
w9Im5vY29udGVudCI6MzA0PT09ZT9sPSJub3Rtb2RpZmllZCI6KGw9cy5zdGF0ZSxvPXMuZGF0YSxpPSEoY
T1zLmVycm9yKSkpOihhPWwsIWUmJmx8fChsPSJlcnJvciIsZTwwJiYoZT0wKSkpLFQuc3RhdHVzPWUsVC5z
dGF0dXNUZXh0PSh0fHxsKSsiIixpP3gucmVzb2x2ZVdpdGgoeSxbbyxsLFRdKTp4LnJlamVjdFdpdGgoeSx
bVCxsLGFdKSxULnN0YXR1c0NvZGUodyksdz12b2lkIDAsZyYmbS50cmlnZ2VyKGk/
ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbVCx2LGk/
bzphXSksYi5maXJlV2l0aCh5LFtULGxdKSxnJiYobS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtULHZdKSw
tLVMuYWN0aXZlfHxTLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gVH0sZ2V0SlNPTjpmdW
5jdGlvbihlLHQsbil7cmV0dXJuIFMuZ2V0KGUsdCxuLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihlL
HQpe3JldHVybiBTLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX19KSxTLmVhY2goWyJnZXQiLCJwb3N0Il0s
ZnVuY3Rpb24oZSxpKXtTW2ldPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBtKHQpJiYocj1yfHxuLG49dCx
0PXZvaWQgMCksUy5hamF4KFMuZXh0ZW5kKHt1cmw6ZSx0eXBlOmksZGF0YVR5cGU6cixkYXRhOnQsc3VjY2
VzczpufSxTLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxTLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7d
mFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKSJjb250ZW50LXR5cGUiPT09dC50b0xvd2VyQ2FzZSgpJiYoZS5j
b250ZW50VHlwZT1lLmhlYWRlcnNbdF18fCIiKX0pLFMuX2V2YWxVcmw9ZnVuY3Rpb24oZSx0LG4pe3JldHV
ybiBTLmFqYXgoe3VybDplLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsYXN5bmM6IT
EsZ2xvYmFsOiExLGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oKXt9fSxkYXRhRmlsdGVyO
mZ1bmN0aW9uKGUpe1MuZ2xvYmFsRXZhbChlLHQsbil9fSl9LFMuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0
aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYobShlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PVMoZSx
0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW
5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpczt3aGlsZShlLmZpcnN0R
WxlbWVudENoaWxkKWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhp
c30sd3JhcElubmVyOmZ1bmN0aW9uKG4pe3JldHVybiBtKG4pP3RoaXMuZWFjaChmdW5jdGlvbihlKXtTKHR
oaXMpLndyYXBJbm5lcihuLmNhbGwodGhpcyxlKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1TKH
RoaXMpLHQ9ZS5jb250ZW50cygpO3QubGVuZ3RoP3Qud3JhcEFsbChuKTplLmFwcGVuZChuKX0pfSx3cmFwO
mZ1bmN0aW9uKHQpe3ZhciBuPW0odCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLndy
YXBBbGwobj90LmNhbGwodGhpcyxlKTp0KX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGF
yZW50KGUpLm5vdCgiYm9keSIpLmVhY2goZnVuY3Rpb24oKXtTKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2
hpbGROb2Rlcyl9KSx0aGlzfX0pLFMuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hU
y5leHByLnBzZXVkb3MudmlzaWJsZShlKX0sUy5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXty
ZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd
0aCl9LFMuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IEMuWE1MSHR0cFJlcX
Vlc3R9Y2F0Y2goZSl7fX07dmFyIF90PXswOjIwMCwxMjIzOjIwNH0senQ9Uy5hamF4U2V0dGluZ3MueGhyK
Ck7eS5jb3JzPSEhenQmJiJ3aXRoQ3JlZGVudGlhbHMiaW4genQseS5hamF4PXp0PSEhenQsUy5hamF4VHJh
bnNwb3J0KGZ1bmN0aW9uKGkpe3ZhciBvLGE7aWYoeS5jb3JzfHx6dCYmIWkuY3Jvc3NEb21haW4pcmV0dXJ
ue3NlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWkueGhyKCk7aWYoci5vcGVuKGkudHlwZSxpLnVybCxpLm
FzeW5jLGkudXNlcm5hbWUsaS5wYXNzd29yZCksaS54aHJGaWVsZHMpZm9yKG4gaW4gaS54aHJGaWVsZHMpc
ltuXT1pLnhockZpZWxkc1tuXTtmb3IobiBpbiBpLm1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUmJnIu
b3ZlcnJpZGVNaW1lVHlwZShpLm1pbWVUeXBlKSxpLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXR
oIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0IiksZSlyLnNldFJlcXVlc3RIZW
FkZXIobixlW25dKTtvPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe28mJihvPWE9ci5vbmxvYWQ9c
i5vbmVycm9yPXIub25hYm9ydD1yLm9udGltZW91dD1yLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9y
dCI9PT1lP3IuYWJvcnQoKToiZXJyb3IiPT09ZT8ibnVtYmVyIiE9dHlwZW9mIHIuc3RhdHVzP3QoMCwiZXJ
yb3IiKTp0KHIuc3RhdHVzLHIuc3RhdHVzVGV4dCk6dChfdFtyLnN0YXR1c118fHIuc3RhdHVzLHIuc3RhdH
VzVGV4dCwidGV4dCIhPT0oci5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2Ygci5yZ
XNwb25
zZVRleHQ/
e2JpbmFyeTpyLnJlc3BvbnNlfTp7dGV4dDpyLnJlc3BvbnNlVGV4dH0sci5nZXRBbGxSZXNwb25zZUhlYWR
lcnMoKSkpfX0sci5vbmxvYWQ9bygpLGE9ci5vbmVycm9yPXIub250aW1lb3V0PW8oImVycm9yIiksdm9pZC
AwIT09ci5vbmFib3J0P3Iub25hYm9ydD1hOnIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09P
XIucmVhZHlTdGF0ZSYmQy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7byYmYSgpfSl9LG89bygiYWJvcnQiKTt0
cnl7ci5zZW5kKGkuaGFzQ29udGVudCYmaS5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihvKXRocm93IGV9fSx
hYm9ydDpmdW5jdGlvbigpe28mJm8oKX19fSksUy5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3
NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxTLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0O
iJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3Jp
cHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xiKD86amF2YXxlY21
hKXNjcmlwdFxiL30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihlKXtyZXR1cm4gUy5nbG
9iYWxFdmFsKGUpLGV9fX0pLFMuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXt2b2lkIDA9P
T1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT0iR0VUIil9KSxTLmFqYXhU
cmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24obil7dmFyIHIsaTtpZihuLmNyb3NzRG9tYWlufHxuLnNjcml
wdEF0dHJzKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7cj1TKCI8c2NyaXB0PiIpLmF0dHIobi5zY3JpcH
RBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6bi5zY3JpcHRDaGFyc2V0LHNyYzpuLnVybH0pLm9uKCJsb2FkI
GVycm9yIixpPWZ1bmN0aW9uKGUpe3IucmVtb3ZlKCksaT1udWxsLGUmJnQoImVycm9yIj09PWUudHlwZT80
MDQ6MjAwLGUudHlwZSl9KSxFLmhlYWQuYXBwZW5kQ2hpbGQoclswXSl9LGFib3J0OmZ1bmN0aW9uKCl7aSY
maSgpfX19KTt2YXIgVXQsWHQ9W10sVnQ9Lyg9KVw/KD89JnwkKXxcP1w/
LztTLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU
9WHQucG9wKCl8fFMuZXhwYW5kbysiXyIrQ3QuZ3VpZCsrO3JldHVybiB0aGlzW2VdPSEwLGV9fSksUy5ham
F4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9ITEhPT1lLmpzb
25wJiYoVnQudGVzdChlLnVybCk/
InVybCI6InN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT0oZS5jb250ZW50VHlwZXx8IiIpLmluZGV4T2Y
oImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZWdC50ZXN0KGUuZGF0YSkmJiJkYXRhIi
k7aWYoYXx8Impzb25wIj09PWUuZGF0YVR5cGVzWzBdKXJldHVybiByPWUuanNvbnBDYWxsYmFjaz1tKGUua
nNvbnBDYWxsYmFjayk/ZS5qc29ucENhbGxiYWNrKCk6ZS5qc29ucENhbGxiYWNrLGE/
ZVthXT1lW2FdLnJlcGxhY2UoVnQsIiQxIityKTohMSE9PWUuanNvbnAmJihlLnVybCs9KEV0LnRlc3QoZS5
1cmwpPyImIjoiPyIpK2UuanNvbnArIj0iK3IpLGUuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdG
lvbigpe3JldHVybiBvfHxTLmVycm9yKHIrIiB3YXMgbm90IGNhbGxlZCIpLG9bMF19LGUuZGF0YVR5cGVzW
zBdPSJqc29uIixpPUNbcl0sQ1tyXT1mdW5jdGlvbigpe289YXJndW1lbnRzfSxuLmFsd2F5cyhmdW5jdGlv
bigpe3ZvaWQgMD09PWk/
UyhDKS5yZW1vdmVQcm9wKHIpOkNbcl09aSxlW3JdJiYoZS5qc29ucENhbGxiYWNrPXQuanNvbnBDYWxsYmF
jayxYdC5wdXNoKHIpKSxvJiZtKGkpJiZpKG9bMF0pLG89aT12b2lkIDB9KSwic2NyaXB0In0pLHkuY3JlYX
RlSFRNTERvY3VtZW50PSgoVXQ9RS5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZ
HkpLmlubmVySFRNTD0iPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLDI9PT1VdC5jaGlsZE5vZGVzLmxl
bmd0aCksUy5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiJzdHJpbmciIT10eXBlb2YgZT9bXTo
oImJvb2xlYW4iPT10eXBlb2YgdCYmKG49dCx0PSExKSx0fHwoeS5jcmVhdGVIVE1MRG9jdW1lbnQ/
KChyPSh0PUUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKSkuY3JlYXRlRWxlbWVudCg
iYmFzZSIpKS5ocmVmPUUubG9jYXRpb24uaHJlZix0LmhlYWQuYXBwZW5kQ2hpbGQocikpOnQ9RSksbz0hbi
YmW10sKGk9Ti5leGVjKGUpKT9bdC5jcmVhdGVFbGVtZW50KGlbMV0pXTooaT14ZShbZV0sdCxvKSxvJiZvL
mxlbmd0aCYmUyhvKS5yZW1vdmUoKSxTLm1lcmdlKFtdLGkuY2hpbGROb2RlcykpKTt2YXIgcixpLG99LFMu
Zm4ubG9hZD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9dGhpcyxzPWUuaW5kZXhPZigiICIpO3JldHV
ybi0xPHMmJihyPXZ0KGUuc2xpY2UocykpLGU9ZS5zbGljZSgwLHMpKSxtKHQpPyhuPXQsdD12b2lkIDApOn
QmJiJvYmplY3QiPT10eXBlb2YgdCYmKGk9IlBPU1QiKSwwPGEubGVuZ3RoJiZTLmFqYXgoe3VybDplLHR5c
GU6aXx8IkdFVCIsZGF0YVR5cGU6Imh0bWwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVu
dHMsYS5odG1sKHI/
UygiPGRpdj4iKS5hcHBlbmQoUy5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3R
pb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV
0pfSl9KSx0aGlzfSxTLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbih0KXtyZXR1cm4gUy5ncmVwK
FMudGltZXJzLGZ1bmN0aW9uKGUpe3JldHVybiB0PT09ZS5lbGVtfSkubGVuZ3RofSxTLm9mZnNldD17c2V0
T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1TLmNzcyhlLCJwb3NpdGlvbiIpLGM
9UyhlKSxmPXt9OyJzdGF0aWMiPT09bCYmKGUuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIikscz1jLm9mZn
NldCgpLG89Uy5jc3MoZSwidG9wIiksdT1TLmNzcyhlLCJsZWZ0IiksKCJhYnNvbHV0ZSI9PT1sfHwiZml4Z
WQiPT09bCkmJi0xPChvK3UpLmluZGV4T2YoImF1dG8iKT8oYT0ocj1jLnBvc2l0aW9uKCkpLnRvcCxpPXIu
bGVmdCk6KGE9cGFyc2VGbG9hdChvKXx8MCxpPXBhcnNlRmxvYXQodSl8fDApLG0odCkmJih0PXQuY2FsbCh
lLG4sUy5leHRlbmQoe30scykpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLXMudG9wK2EpLG51bGwhPX
QubGVmdCYmKGYubGVmdD10LmxlZnQtcy5sZWZ0K2kpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpO
igibnVtYmVyIj09dHlwZW9mIGYudG9wJiYoZi50b3ArPSJweCIpLCJudW1iZXIiPT10eXBlb2YgZi5sZWZ0
JiYoZi5sZWZ0Kz0icHgiKSxjLmNzcyhmKSl9fSxTLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKHQpe2l
mKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PXQ/
dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oZSl7Uy5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsdCxlKX0pO3ZhciB
lLG4scj10aGlzWzBdO3JldHVybiByP3IuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg/
KGU9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXIub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7dG9
wOmUudG9wK24ucGFnZVlPZmZzZXQsbGVmdDplLmxlZnQrbi5wYWdlWE9mZnNldH0pOnt0b3A6MCxsZWZ0Oj
B9OnZvaWQgMH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgZSx0LG4scj10aGlzWzBdL
Gk9e3RvcDowLGxlZnQ6MH07aWYoImZpeGVkIj09PVMuY3NzKHIsInBvc2l0aW9uIikpdD1yLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpO2Vsc2V7dD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZ
zZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O3doaWxlKGUmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bW
VudEVsZW1lbnQpJiYic3RhdGljIj09PVMuY3NzKGUsInBvc2l0aW9uIikpZT1lLnBhcmVudE5vZGU7ZSYmZ
SE9PXImJjE9PT1lLm5vZGVUeXBlJiYoKGk9UyhlKS5vZmZzZXQoKSkudG9wKz1TLmNzcyhlLCJib3JkZXJU
b3BXaWR0aCIsITApLGkubGVmdCs9Uy5jc3MoZSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpfXJldHVybnt0b3A
6dC50b3AtaS50b3AtUy5jc3MociwibWFyZ2luVG9wIiwhMCksbGVmdDp0LmxlZnQtaS5sZWZ0LVMuY3NzKH
IsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZ
nVuY3Rpb24oKXt2YXIgZT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShlJiYic3RhdGljIj09PVMuY3NzKGUs
InBvc2l0aW9uIikpZT1lLm9mZnNldFBhcmVudDtyZXR1cm4gZXx8cmV9KX19KSxTLmVhY2goe3Njcm9sbEx
lZnQ6InBhZ2VYT2Zmc2V0IixzY3JvbGxUb3A6InBhZ2VZT2Zmc2V0In0sZnVuY3Rpb24odCxpKXt2YXIgbz
0icGFnZVlPZmZzZXQiPT09aTtTLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZ
Sx0LG4pe3ZhciByO2lmKHgoZSk/
cj1lOjk9PT1lLm5vZGVUeXBlJiYocj1lLmRlZmF1bHRWaWV3KSx2b2lkIDA9PT1uKXJldHVybiByP3JbaV0
6ZVt0XTtyP3Iuc2Nyb2xsVG8obz9yLnBhZ2VYT2Zmc2V0Om4sbz9uOnIucGFnZVlPZmZzZXQpOmVbdF09bn
0sdCxlLGFyZ3VtZW50cy5sZW5ndGgpfX0pLFMuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLG4pe
1MuY3NzSG9va3Nbbl09JGUoeS5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGUsdCl7aWYodClyZXR1cm4gdD1C
ZShlLG4pLE1lLnRlc3QodCk/
UyhlKS5wb3NpdGlvbigpW25dKyJweCI6dH0pfSksUy5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6Ind
pZHRoIn0sZnVuY3Rpb24oYSxzKXtTLmVhY2goe3BhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6cywiIjoib3
V0ZXIiK2F9LGZ1bmN0aW9uKHIsbyl7Uy5mbltvXT1mdW5jdGlvbihlLHQpe3ZhciBuPWFyZ3VtZW50cy5sZ
W5ndGgmJihyfHwiYm9vbGVhbiIhPXR5cGVvZiBlKSxpPXJ8fCghMD09PWV8fCEwPT09dD8ibWFyZ2luIjoi
Ym9yZGVyIik7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHI7cmV0dXJuIHgoZSk/
MD09PW8uaW5kZXhPZigib3V0ZXIiKT9lWyJpbm5lciIrYV06ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR
bImNsaWVudCIrYV06OT09PWUubm9kZVR5cGU/
KHI9ZS5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoZS5ib2R5WyJzY3JvbGwiK2FdLHJbInNjcm9sbCIrYV0
sZS5ib2R5WyJvZmZzZXQiK2FdLHJbIm9mZnNldCIrYV0sclsiY2xpZW50IithXSkpOnZvaWQgMD09PW4/
Uy5jc3MoZSx0LGkpOlMuc3R5bGUoZSx0LG4saSl9LHMsbj9lOnZvaWQgMCxuKX19KX0pLFMuZWFjaChbImF
qYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLC
JhamF4U2VuZCJdLGZ1bmN0aW9uKGUsdCl7Uy5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0L
GUpfX0pLFMuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGws
dCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU
6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb2
4oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmK
HQsZXx8IioqIixuKX0saG92ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGUpLm1v
dXNlbGVhdmUodHx8ZSl9fSksUy5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHN
jcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdX
Nlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZ
XNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsbil7Uy5mbltuXT1mdW5jdGlv
bihlLHQpe3JldHVybiAwPGFyZ3VtZW50cy5sZW5ndGg/
dGhpcy5vbihuLG51bGwsZSx0KTp0aGlzLnRyaWdnZXIobil9fSk7dmFyIEd0PS9eW1xzXHVGRUZGXHhBMF0
rfFtcc1x1RkVGRlx4QTBdKyQvZztTLnByb3h5PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpO2lmKCJzdHJpbm
ciPT10eXBlb2YgdCYmKG49ZVt0XSx0PWUsZT1uKSxtKGUpKXJldHVybiByPXMuY2FsbChhcmd1bWVudHMsM
iksKGk9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KHMuY2FsbChhcmd1bWVu
dHMpKSl9KS5ndWlkPWUuZ3VpZD1lLmd1aWR8fFMuZ3VpZCsrLGl9LFMuaG9sZFJlYWR5PWZ1bmN0aW9uKGU
pe2U/
Uy5yZWFkeVdhaXQrKzpTLnJlYWR5KCEwKX0sUy5pc0FycmF5PUFycmF5LmlzQXJyYXksUy5wYXJzZUpTT04
9SlNPTi5wYXJzZSxTLm5vZGVOYW1lPUEsUy5pc0Z1bmN0aW9uPW0sUy5pc1dpbmRvdz14LFMuY2FtZWxDYX
NlPVgsUy50eXBlPXcsUy5ub3c9RGF0ZS5ub3csUy5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9Uy50e
XBlKGUpO3JldHVybigibnVtYmVyIj09PXR8fCJzdHJpbmciPT09dCkmJiFpc05hTihlLXBhcnNlRmxvYXQo
ZSkpfSxTLnRyaW09ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/
IiI6KGUrIiIpLnJlcGxhY2UoR3QsIiIpfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1
kJiZkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gU30pO3ZhciBZdD1DLmpRdWVyeSxRdD
1DLiQ7cmV0dXJuIFMubm9Db25mbGljdD1mdW5jdGlvbihlKXtyZXR1cm4gQy4kPT09UyYmKEMuJD1RdCksZ
SYmQy5qUXVlcnk9PT1TJiYoQy5qUXVlcnk9WXQpLFN9LCJ1bmRlZmluZWQiPT10eXBlb2YgZSYmKEMualF1
ZXJ5PUMuJD1TKSxTfSk7Cg==\"></script>\n",
"<link href=\"data:text/css;charset-utf-
8;base64,LmR0LWNyb3NzdGFsay1mYWRlIHsKICBvcGFjaXR5OiAwLjI7Cn0KCmh0bWwgYm9keSBkaXYuRF
RTIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCgovKgpGaXgga
HR0cHM6Ly9naXRodWIuY29tL3JzdHVkaW8vRFQvaXNzdWVzLzU2MwpJZiB0aGUgYHRhYmxlLmRpc3BsYXlg
IGlzIHNldCB0byAiYmxvY2siIChlLmcuLCBwa2dkb3duKSwgdGhlIGJyb3dzZXIgd2lsbCBkaXNwbGF5CmR
hdGF0YWJsZSBvYmplY3RzIHN0cmFuZ2VseS4gVGhlIHNlYXJjaCBwYW5lbCBhbmQgdGhlIHBhZ2UgYnV0dG
9ucyB3aWxsIHN0aWxsIGJlCmluIGZ1bGwtd2lkdGggYnV0IHRoZSB0YWJsZSBib2R5IHdpbGwgYmUgImNvb
XBhY3QiIGFuZCBzaG9ydGVyLgpJbiB0aGVyb3J5LCBoYXZpbmcgdGhpcyBhdHRyaWJ1dGVzIHdpbGwgYWZm
ZWN0IGBkb209InQiYAp3aXRoIGBkaXNwbGF5OiBibG9ja2AgdXNlcnMuIEJ1dCBpbiByZWFsaXR5LCB0aGV
yZSBzaG91bGQgYmUgbm8gb25lLgpXZSBtYXkgcmVtb3ZlIHRoZSBiZWxvdyBsaW5lcyBpbiB0aGUgZnV0dX
JlIGlmIHRoZSB1cHN0cmVhbSBhZ3JlZSB0byBoYXZlIHRoaXMgdGhlcmUuClNlZSBodHRwczovL2dpdGh1Y
i5jb20vRGF0YVRhYmxlcy9EYXRhVGFibGVzU3JjL2lzc3Vlcy8xNjAKKi8KCnRhYmxlLmRhdGFUYWJsZSB7
CiAgZGlzcGxheTogdGFibGU7Cn0K\" rel=\"stylesheet\" />\n",
"<script title=\"datatables-binding\"
src=\"data:application/javascript;base64,KGZ1bmN0aW9uKCkgewoKLy8gc29tZSBoZWxwZXIgZn
VuY3Rpb25zOiB1c2luZyBhIGdsb2JhbCBvYmplY3QgRFRXaWRnZXQgc28gdGhhdCBpdCBjYW4gYmUgdXNlZ
AovLyBpbiBKUygpIGNvZGUsIGUuZy4gZGF0YXRhYmxlKG9wdGlvbnMgPSBsaXN0KGZvbyA9IEpTKCdjb2Rl
JykpKTsgdW5saWtlIFIncwovLyBkeW5hbWljIHNjb3BpbmcsIHdoZW4gJ2NvZGUnIGlzIGV2YWwoKSdlZCw
gSmF2YVNjcmlwdCBkb2VzIG5vdCBrbm93IG9iamVjdHMKLy8gZnJvbSB0aGUgInBhcmVudCBmcmFtZSIsIG
UuZy4gSlMoJ0RUV2lkZ2V0Jykgd2lsbCBub3Qgd29yayB1bmxlc3MgaXQgd2FzIG1hZGUKLy8gYSBnbG9iY
Wwgb2JqZWN0CnZhciBEVFdpZGdldCA9IHt9OwoKLy8gMTIzNDU2NjY2Ljc4OTAgLT4gMTIzLDQ1Niw2NjYu
Nzg5MAp2YXIgbWFya0ludGVydmFsID0gZnVuY3Rpb24oZCwgZGlnaXRzLCBpbnRlcnZhbCwgbWFyaywgZGV
jTWFyaywgcHJlY2lzaW9uKSB7CiAgeCA9IHByZWNpc2lvbiA/
IGQudG9QcmVjaXNpb24oZGlnaXRzKSA6IGQudG9GaXhlZChkaWdpdHMpOwogIGlmICghL14tP1tcZC5dKyQ
vLnRlc3QoeCkpIHJldHVybiB4OwogIHZhciB4diA9IHguc3BsaXQoJy4nKTsKICBpZiAoeHYubGVuZ3RoID
4gMikgcmV0dXJuIHg7ICAvLyBzaG91bGQgaGF2ZSBhdCBtb3N0IG9uZSBkZWNpbWFsIHBvaW50CiAgeHZbM
F0gPSB4dlswXS5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcQig/
PShcXGR7JyArIGludGVydmFsICsgJ30pKyg/
IVxcZCkpJywgJ2cnKSwgbWFyayk7CiAgcmV0dXJuIHh2LmpvaW4oZGVjTWFyayk7Cn07CgpEVFdpZGdldC5
mb3JtYXRDdXJyZW5jeSA9IGZ1bmN0aW9uKGRhdGEsIGN1cnJlbmN5LCBkaWdpdHMsIGludGVydmFsLCBtYX
JrLCBkZWNNYXJrLCBiZWZvcmUpIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YSk7CiAgaWYgKGlzTmFOK
GQpKSByZXR1cm4gJyc7CiAgdmFyIHJlcyA9IG1hcmtJbnRlcnZhbChkLCBkaWdpdHMsIGludGVydmFsLCBt
YXJrLCBkZWNNYXJrKTsKICByZXMgPSBiZWZvcmUgPyAoL14tLy50ZXN0KHJlcykgPyAnLScgKyBjdXJyZW5
jeSArIHJlcy5yZXBsYWNlKC9eLS8sICcnKSA6IGN1cnJlbmN5ICsgcmVzKSA6CiAgICByZXMgKyBjdXJyZW
5jeTsKICByZXR1cm4gcmVzOwp9OwoKRFRXaWRnZXQuZm9ybWF0U3RyaW5nID0gZnVuY3Rpb24oZGF0YSwgc
HJlZml4LCBzdWZmaXgpIHsKICB2YXIgZCA9IGRhdGE7CiAgaWYgKGQgPT09IG51bGwpIHJldHVybiAnJzsK
ICByZXR1cm4gcHJlZml4ICsgZCArIHN1ZmZpeDsKfTsKCkRUV2lkZ2V0LmZvcm1hdFBlcmNlbnRhZ2UgPSB
mdW5jdGlvbihkYXRhLCBkaWdpdHMsIGludGVydmFsLCBtYXJrLCBkZWNNYXJrKSB7CiAgdmFyIGQgPSBwYX
JzZUZsb2F0KGRhdGEpOwogIGlmIChpc05hTihkKSkgcmV0dXJuICcnOwogIHJldHVybiBtYXJrSW50ZXJ2Y
WwoZCAqIDEwMCwgZGlnaXRzLCBpbnRlcnZhbCwgbWFyaywgZGVjTWFyaykgKyAnJSc7Cn07CgpEVFdpZGdl
dC5mb3JtYXRSb3VuZCA9IGZ1bmN0aW9uKGRhdGEsIGRpZ2l0cywgaW50ZXJ2YWwsIG1hcmssIGRlY01hcms
pIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YSk7CiAgaWYgKGlzTmFOKGQpKSByZXR1cm4gJyc7CiAgcm
V0dXJuIG1hcmtJbnRlcnZhbChkLCBkaWdpdHMsIGludGVydmFsLCBtYXJrLCBkZWNNYXJrKTsKfTsKCkRUV
2lkZ2V0LmZvcm1hdFNpZ25pZiA9IGZ1bmN0aW9uKGRhdGEsIGRpZ2l0cywgaW50ZXJ2YWwsIG1hcmssIGRl
Y01hcmspIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YSk7CiAgaWYgKGlzTmFOKGQpKSByZXR1cm4gJyc
7CiAgcmV0dXJuIG1hcmtJbnRlcnZhbChkLCBkaWdpdHMsIGludGVydmFsLCBtYXJrLCBkZWNNYXJrLCB0cn
VlKTsKfTsKCkRUV2lkZ2V0LmZvcm1hdERhdGUgPSBmdW5jdGlvbihkYXRhLCBtZXRob2QsIHBhcmFtcykge
wogIHZhciBkID0gZGF0YTsKICBpZiAoZCA9PT0gbnVsbCkgcmV0dXJuICcnOwogIC8vIChuZXcgRGF0ZSgn
MjAxNS0xMC0yOCcpKS50b0RhdGVTdHJpbmcoKSBtYXkgcmV0dXJuIDIwMTUtMTAtMjcgYmVjYXVzZSB0aGU
KICAvLyBhY3R1YWwgdGltZSBjcmVhdGVkIGNvdWxkIGJlIGxpa2UgJ1R1ZSBPY3QgMjcgMjAxNSAxOTowMD
owMCBHTVQtMDUwMCAoQ0RUKScsCiAgLy8gaS5lLiB0aGUgZGF0ZS1vbmx5IHN0cmluZyBpcyB0cmVhdGVkI
GFzIFVUQyB0aW1lIGluc3RlYWQgb2YgbG9jYWwgdGltZQogIGlmICgobWV0aG9kID09PSAndG9EYXRlU3Ry
aW5nJyB8fCBtZXRob2QgPT09ICd0b0xvY2FsZURhdGVTdHJpbmcnKSAmJiAvXlxkezQsfVxEXGR7Mn1cRFx
kezJ9JC8udGVzdChkKSkgewogICAgZCA9IGQuc3BsaXQoL1xELyk7CiAgICBkID0gbmV3IERhdGUoZFswXS
wgZFsxXSAtIDEsIGRbMl0pOwogIH0gZWxzZSB7CiAgICBkID0gbmV3IERhdGUoZCk7CiAgfQogIHJldHVyb
iBkW21ldGhvZF0uYXBwbHkoZCwgcGFyYW1zKTsKfTsKCndpbmRvdy5EVFdpZGdldCA9IERUV2lkZ2V0OwoK
dmFyIHRyYW5zcG9zZUFycmF5MkQgPSBmdW5jdGlvbihhKSB7CiAgcmV0dXJuIGEubGVuZ3RoID09PSAwID8
gYSA6IEhUTUxXaWRnZXRzLnRyYW5zcG9zZUFycmF5MkQoYSk7Cn07Cgp2YXIgY3Jvc3N0YWxrUGx1Z2luc0
luc3RhbGxlZCA9IGZhbHNlOwoKZnVuY3Rpb24gbWF5YmVJbnN0YWxsQ3Jvc3N0YWxrUGx1Z2lucygpIHsKI
CBpZiAoY3Jvc3N0YWxrUGx1Z2luc0luc3RhbGxlZCkKICAgIHJldHVybjsKICBjcm9zc3RhbGtQbHVnaW5z
SW5zdGFsbGVkID0gdHJ1ZTsKCiAgJC5mbi5kYXRhVGFibGUuZXh0LmFmbkZpbHRlcmluZy5wdXNoKAogICA
gZnVuY3Rpb24ob1NldHRpbmdzLCBhRGF0YSwgaURhdGFJbmRleCkgewogICAgICB2YXIgY3RmaWx0ZXIgPS
BvU2V0dGluZ3MublRhYmxlLmN0ZmlsdGVyOwogICAgICBpZiAoY3RmaWx0ZXIgJiYgIWN0ZmlsdGVyW2lEY
XRhSW5kZXhdKQogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgIHZhciBjdHNlbGVjdCA9IG9TZXR0aW5n
cy5uVGFibGUuY3RzZWxlY3Q7CiAgICAgIGlmIChjdHNlbGVjdCAmJiAhY3RzZWxlY3RbaURhdGFJbmRleF0
pCiAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgKTsKfQoKSFRNTF
dpZGdldHMud2lkZ2V0KHsKICBuYW1lOiAiZGF0YXRhYmxlcyIsCiAgdHlwZTogIm91dHB1dCIsCiAgcmVuZ
GVyT25OdWxsVmFsdWU6IHRydWUsCiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQp
IHsKICAgICQoZWwpLmh0bWwoJyZuYnNwOycpOwogICAgcmV0dXJuIHsKICAgICAgZGF0YTogbnVsbCwKICA
gICAgY3RmaWx0ZXJIYW5kbGU6IG5ldyBjcm9zc3RhbGsuRmlsdGVySGFuZGxlKCksCiAgICAgIGN0ZmlsdG
VyU3Vic2NyaXB0aW9uOiBudWxsLAogICAgICBjdHNlbGVjdEhhbmRsZTogbmV3IGNyb3NzdGFsay5TZWxlY
3Rpb25IYW5kbGUoKSwKICAgICAgY3RzZWxlY3RTdWJzY3JpcHRpb246IG51bGwKICAgIH07CiAgfSwKICBy
ZW5kZXJWYWx1ZTogZnVuY3Rpb24oZWwsIGRhdGEsIGluc3RhbmNlKSB7CiAgICBpZiAoZWwub2Zmc2V0V2l
kdGggPT09IDAgfHwgZWwub2Zmc2V0SGVpZ2h0ID09PSAwKSB7CiAgICAgIGluc3RhbmNlLmRhdGEgPSBkYX
RhOwogICAgICByZXR1cm47CiAgICB9CiAgICBpbnN0YW5jZS5kYXRhID0gbnVsbDsKICAgIHZhciAkZWwgP
SAkKGVsKTsKICAgICRlbC5lbXB0eSgpOwoKICAgIGlmIChkYXRhID09PSBudWxsKSB7CiAgICAgICRlbC5h
cHBlbmQoJyZuYnNwOycpOwogICAgICAvLyBjbGVhciBwcmV2aW91cyBTaGlueSBpbnB1dHMgKGlmIGFueSk
KICAgICAgZm9yICh2YXIgaSBpbiBpbnN0YW5jZS5jbGVhcklucHV0cykgaW5zdGFuY2UuY2xlYXJJbnB1dH
NbaV0oKTsKICAgICAgaW5zdGFuY2UuY2xlYXJJbnB1dHMgPSB7fTsKICAgICAgcmV0dXJuOwogICAgfQoKI
CAgIHZhciBjcm9zc3RhbGtPcHRpb25zID0gZGF0YS5jcm9zc3RhbGtPcHRpb25zOwogICAgaWYgKCFjcm9z
c3RhbGtPcHRpb25zKSBjcm9zc3RhbGtPcHRpb25zID0gewogICAgICAna2V5JzogbnVsbCwgJ2dyb3VwJzo
gbnVsbAogICAgfTsKICAgIGlmIChjcm9zc3RhbGtPcHRpb25zLmdyb3VwKSB7CiAgICAgIG1heWJlSW5zdG
FsbENyb3NzdGFsa1BsdWdpbnMoKTsKICAgICAgaW5zdGFuY2UuY3RmaWx0ZXJIYW5kbGUuc2V0R3JvdXAoY
3Jvc3N0YWxrT3B0aW9ucy5ncm91cCk7CiAgICAgIGluc3RhbmNlLmN0c2VsZWN0SGFuZGxlLnNldEdyb3Vw
KGNyb3NzdGFsa09wdGlvbnMuZ3JvdXApOwogICAgfQoKICAgIC8vIElmIHdlIGFyZSBpbiBhIGZsZXhkYXN
oYm9hcmQgc2Nyb2xsIGxheW91dCB0aGVuIHdlOgogICAgLy8gIChhKSBBbHdheXMgd2FudCB0byB1c2UgcG
FnaW5hdGlvbiAob3RoZXJ3aXNlIHdlJ2xsIGhhdmUKICAgIC8vICAgICAgYSAiZG91YmxlIHNjcm9sbCBiY
XIiIGVmZmVjdCBvbiB0aGUgcGhvbmUpOyBhbmQKICAgIC8vICAoYikgTmV2ZXIgd2FudCB0byBmaWxsIHRo
ZSBjb250YWluZXIgKHdlIHdhbnQgdGhlIHBhZ2luYXRpb24KICAgIC8vICAgICAgbGV2ZWwgdG8gZGV0ZXJ
taW5lIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIpCiAgICBpZiAod2luZG93LkZsZXhEYXNoYm9hcmQgJi
YgIXdpbmRvdy5GbGV4RGFzaGJvYXJkLmlzRmlsbFBhZ2UoKSkgewogICAgICBkYXRhLm9wdGlvbnMuYlBhZ
2luYXRlID0gdHJ1ZTsKICAgICAgZGF0YS5maWxsQ29udGFpbmVyID0gZmFsc2U7CiAgICB9CgogICAgLy8g
aWYgd2UgYXJlIGluIHRoZSB2aWV3ZXIgdGhlbiB3ZSBhbHdheXMgd2FudCB0byBmaWxsQ29udGFpbmVyIGF
uZAogICAgLy8gYW5kIGF1dG9IaWRlTmF2aWdhdGlvbiAodW5sZXNzIHRoZSB1c2VyIGhhcyBleHBsaWNpdG
x5IHNldCB0aGVzZSkKICAgIGlmICh3aW5kb3cuSFRNTFdpZGdldHMudmlld2VyTW9kZSkgewogICAgICBpZ
iAoIWRhdGEuaGFzT3duUHJvcGVydHkoImZpbGxDb250YWluZXIiKSkKICAgICAgICBkYXRhLmZpbGxDb250
YWluZXIgPSB0cnVlOwogICAgICBpZiAoIWRhdGEuaGFzT3duUHJvcGVydHkoImF1dG9IaWRlTmF2aWdhdGl
vbiIpKQogICAgICAgIGRhdGEuYXV0b0hpZGVOYXZpZ2F0aW9uID0gdHJ1ZTsKICAgIH0KCiAgICAvLyBwcm
9wYWdhdGUgZmlsbENvbnRhaW5lciB0byBpbnN0YW5jZSAoc28gd2UgaGF2ZSBpdCBpbiByZXNpemUpCiAgI
CBpbnN0YW5jZS5maWxsQ29udGFpbmVyID0gZGF0YS5maWxsQ29udGFpbmVyOwoKICAgIHZhciBjZWxscyA9
IGRhdGEuZGF0YTsKCiAgICBpZiAoY2VsbHMgaW5zdGFuY2VvZiBBcnJheSkgY2VsbHMgPSB0cmFuc3Bvc2V
BcnJheTJEKGNlbGxzKTsKCiAgICAkZWwuYXBwZW5kKGRhdGEuY29udGFpbmVyKTsKICAgIHZhciAkdGFibG
UgPSAkZWwuZmluZCgndGFibGUnKTsKICAgIGlmIChkYXRhLmNsYXNzKSAkdGFibGUuYWRkQ2xhc3MoZGF0Y
S5jbGFzcyk7CiAgICBpZiAoZGF0YS5jYXB0aW9uKSAkdGFibGUucHJlcGVuZChkYXRhLmNhcHRpb24pOwoK
ICAgIGlmICghZGF0YS5zZWxlY3Rpb24pIGRhdGEuc2VsZWN0aW9uID0gewogICAgICBtb2RlOiAnbm9uZSc
sIHNlbGVjdGVkOiBudWxsLCB0YXJnZXQ6ICdyb3cnCiAgICB9OwogICAgaWYgKEhUTUxXaWRnZXRzLnNoaW
55TW9kZSAmJiBkYXRhLnNlbGVjdGlvbi5tb2RlICE9PSAnbm9uZScgJiYKICAgICAgICBkYXRhLnNlbGVjd
Glvbi50YXJnZXQgPT09ICdyb3crY29sdW1uJykgewogICAgICBpZiAoJHRhYmxlLmNoaWxkcmVuKCd0Zm9v
dCcpLmxlbmd0aCA9PT0gMCkgewogICAgICAgICR0YWJsZS5hcHBlbmQoJCgnPHRmb290PicpKTsKICAgICA
gICAkdGFibGUuZmluZCgndGhlYWQgdHInKS5jbG9uZSgpLmFwcGVuZFRvKCR0YWJsZS5maW5kKCd0Zm9vdC
cpKTsKICAgICAgfQogICAgfQoKICAgIC8vIGNvbHVtbiBmaWx0ZXJzCiAgICB2YXIgZmlsdGVyUm93OwogI
CAgc3dpdGNoIChkYXRhLmZpbHRlcikgewogICAgICBjYXNlICd0b3AnOgogICAgICAgICR0YWJsZS5jaGls
ZHJlbigndGhlYWQnKS5hcHBlbmQoZGF0YS5maWx0ZXJIVE1MKTsKICAgICAgICBmaWx0ZXJSb3cgPSAkdGF
ibGUuZmluZCgndGhlYWQgdHI6bGFzdCB0ZCcpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlICdib3R0b2
0nOgogICAgICAgIGlmICgkdGFibGUuY2hpbGRyZW4oJ3Rmb290JykubGVuZ3RoID09PSAwKSB7CiAgICAgI
CAgICAkdGFibGUuYXBwZW5kKCQoJzx0Zm9vdD4nKSk7CiAgICAgICAgfQogICAgICAgICR0YWJsZS5jaGls
ZHJlbigndGZvb3QnKS5wcmVwZW5kKGRhdGEuZmlsdGVySFRNTCk7CiAgICAgICAgZmlsdGVyUm93ID0gJHR
hYmxlLmZpbmQoJ3Rmb290IHRyOmZpcnN0IHRkJyk7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgdmFyIG
9wdGlvbnMgPSB7IHNlYXJjaERlbGF5OiAxMDAwIH07CiAgICBpZiAoY2VsbHMgIT09IG51bGwpICQuZXh0Z
W5kKG9wdGlvbnMsIHsKICAgICAgZGF0YTogY2VsbHMKICAgIH0pOwoKICAgIC8vIG9wdGlvbnMgZm9yIGZp
bGxDb250YWluZXIKICAgIHZhciBib290c3RyYXBBY3RpdmUgPSB0eXBlb2YoJC5mbi5wb3BvdmVyKSAhPSA
ndW5kZWZpbmVkJzsKICAgIGlmIChpbnN0YW5jZS5maWxsQ29udGFpbmVyKSB7CgogICAgICAvLyBmb3JjZS
BzY3JvbGxYL3Njcm9sbFkgYW5kIHR1cm4gb2ZmIGF1dG9XaWR0aAogICAgICBvcHRpb25zLnNjcm9sbFggP
SB0cnVlOwogICAgICBvcHRpb25zLnNjcm9sbFkgPSAiMTAwcHgiOyAvLyBjYW4gYmUgYW55IHZhbHVlLCB3
ZSdsbCBhZGp1c3QgYmVsb3cKCiAgICAgIC8vIGlmIHdlIGFyZW4ndCBwYWdpbmF0aW5nIHRoZW4gbW92ZSB
hcm91bmQgdGhlIGluZm8vZmlsdGVyIGNvbnRyb2xzCiAgICAgIC8vIHRvIHNhdmUgc3BhY2UgYXQgdGhlIG
JvdHRvbSBhbmQgcmVwaHJhc2UgdGhlIGluZm8gY2FsbGJhY2sKICAgICAgaWYgKGRhdGEub3B0aW9ucy5iU
GFnaW5hdGUgPT09IGZhbHNlKSB7CgogICAgICAgIC8vIHdlIGtub3cgaG93IHRvIGRvIHRoaXMgY2xlYW5s
eSBmb3IgYm9vdHN0cmFwLCBub3Qgc28gbXVjaAogICAgICAgIC8vIGZvciBvdGhlciB0aGVtZXMvbGF5b3V
0cwogICAgICAgIGlmIChib290c3RyYXBBY3RpdmUpIHsKICAgICAgICAgIG9wdGlvbnMuZG9tID0gIjwncm
93JzwnY29sLXNtLTQnaT48J2NvbC1zbS04J2Y+PiIgKwogICAgICAgICAgICAgICAgICAgICAgICAiPCdyb
3cnPCdjb2wtc20tMTIndHI+PiI7CiAgICAgICAgfQoKICAgICAgICBvcHRpb25zLmZuSW5mb0NhbGxiYWNr
ID0gZnVuY3Rpb24ob1NldHRpbmdzLCBpU3RhcnQsIGlFbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICA
gICAgICAgICAgICAgICAgICBpTWF4LCBpVG90YWwsIHNQcmUpIHsKICAgICAgICAgIHJldHVybiBOdW1iZX
IoaVRvdGFsKS50b0xvY2FsZVN0cmluZygpICsgIiByZWNvcmRzIjsKICAgICAgICB9OwogICAgICB9CiAgI
CB9CgogICAgLy8gYXV0byBoaWRlI
G5hdmlnYXRpb24gaWYgcmVxdWVzdGVkCiAgICBpZiAoZGF0YS5hdXRvSGlkZU5hdmlnYXRpb24gPT09IHRy
dWUpIHsKICAgICAgaWYgKGJvb3RzdHJhcEFjdGl2ZSAmJiBkYXRhLm9wdGlvbnMuYlBhZ2luYXRlICE9PSB
mYWxzZSkgewogICAgICAgIC8vIHN0cmlwIGFsbCBuYXYgaWYgbGVuZ3RoID49IGNlbGxzCiAgICAgICAgaW
YgKChjZWxscyBpbnN0YW5jZW9mIEFycmF5KSAmJiBkYXRhLm9wdGlvbnMuaURpc3BsYXlMZW5ndGggPj0gY
2VsbHMubGVuZ3RoKQogICAgICAgICAgb3B0aW9ucy5kb20gPSAiPCdyb3cnPCdjb2wtc20tMTIndHI+PiI7
CiAgICAgICAgLy8gYWx0ZXJuYXRpdmVseSBsZWFuIHRoaW5ncyBvdXQgZm9yIGZsZXhkYXNoYm9hcmQgbW9
iaWxlIHBvcnRyYWl0CiAgICAgICAgZWxzZSBpZiAod2luZG93LkZsZXhEYXNoYm9hcmQgJiYgd2luZG93Lk
ZsZXhEYXNoYm9hcmQuaXNNb2JpbGVQaG9uZSgpKQogICAgICAgICAgb3B0aW9ucy5kb20gPSAiPCdyb3cnP
Cdjb2wtc20tMTInZj4+IiArCiAgICAgICAgICAgICAgICAgICAgICAgICI8J3Jvdyc8J2NvbC1zbS0xMid0
cj4+IiAgKwogICAgICAgICAgICAgICAgICAgICAgICAiPCdyb3cnPCdjb2wtc20tMTIncD4+IjsKICAgICA
gfQogICAgfQoKICAgICQuZXh0ZW5kKHRydWUsIG9wdGlvbnMsIGRhdGEub3B0aW9ucyB8fCB7fSk7CgogIC
AgdmFyIHNlYXJjaENvbHMgPSBvcHRpb25zLnNlYXJjaENvbHM7CiAgICBpZiAoc2VhcmNoQ29scykgewogI
CAgICBzZWFyY2hDb2xzID0gc2VhcmNoQ29scy5tYXAoZnVuY3Rpb24oeCkgewogICAgICAgIHJldHVybiB4
ID09PSBudWxsID8gJycgOiB4LnNlYXJjaDsKICAgICAgfSk7CiAgICAgIC8vIEZJWE1FOiB0aGlzIG1lYW5
zIEkgZG9uJ3QgcmVzcGVjdCB0aGUgZXNjYXBlUmVnZXggc2V0dGluZwogICAgICBkZWxldGUgb3B0aW9ucy
5zZWFyY2hDb2xzOwogICAgfQoKICAgIC8vIHNlcnZlci1zaWRlIHByb2Nlc3Npbmc/
CiAgICB2YXIgc2VydmVyID0gb3B0aW9ucy5zZXJ2ZXJTaWRlID09PSB0cnVlOwoKICAgIC8vIHVzZSB0aGU
gZGF0YVNyYyBmdW5jdGlvbiB0byBwcmUtcHJvY2VzcyBKU09OIGRhdGEgcmV0dXJuZWQgZnJvbSBSCiAgIC
B2YXIgRFRfcm93c19hbGwgPSBbXSwgRFRfcm93c19jdXJyZW50ID0gW107CiAgICBpZiAoc2VydmVyICYmI
EhUTUxXaWRnZXRzLnNoaW55TW9kZSAmJiB0eXBlb2Ygb3B0aW9ucy5hamF4ID09PSAnb2JqZWN0JyAmJgog
ICAgICAgIC9ec2Vzc2lvblwvW1xkYS16XStcL2RhdGFvYmovLnRlc3Qob3B0aW9ucy5hamF4LnVybCkgJiY
gIW9wdGlvbnMuYWpheC5kYXRhU3JjKSB7CiAgICAgIG9wdGlvbnMuYWpheC5kYXRhU3JjID0gZnVuY3Rpb2
4oanNvbikgewogICAgICAgIERUX3Jvd3NfYWxsID0gJC5tYWtlQXJyYXkoanNvbi5EVF9yb3dzX2FsbCk7C
iAgICAgICAgRFRfcm93c19jdXJyZW50ID0gJC5tYWtlQXJyYXkoanNvbi5EVF9yb3dzX2N1cnJlbnQpOwog
ICAgICAgIHZhciBkYXRhID0ganNvbi5kYXRhOwogICAgICAgIGlmICghY29sUmVvcmRlckVuYWJsZWQoKSk
gcmV0dXJuIGRhdGE7CiAgICAgICAgdmFyIHRhYmxlID0gJHRhYmxlLkRhdGFUYWJsZSgpLCBvcmRlciA9IH
RhYmxlLmNvbFJlb3JkZXIub3JkZXIoKSwgZmxhZyA9IHRydWUsIGksIGosIHJvdzsKICAgICAgICBmb3IgK
GkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyArK2kpIGlmIChvcmRlcltpXSAhPT0gaSkgZmxhZyA9IGZhbHNl
OwogICAgICAgIGlmIChmbGFnKSByZXR1cm4gZGF0YTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZGF0YS5
sZW5ndGg7ICsraSkgewogICAgICAgICAgcm93ID0gZGF0YVtpXS5zbGljZSgpOwogICAgICAgICAgZm9yIC
hqID0gMDsgaiA8IG9yZGVyLmxlbmd0aDsgKytqKSBkYXRhW2ldW2pdID0gcm93W29yZGVyW2pdXTsKICAgI
CAgICB9CiAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgIH07CiAgICB9CgogICAgdmFyIHRoaXogPSB0aGlz
OwogICAgaWYgKGluc3RhbmNlLmZpbGxDb250YWluZXIpICR0YWJsZS5vbignaW5pdC5kdCcsIGZ1bmN0aW9
uKGUpIHsKICAgICAgdGhpei5maWxsQXZhaWxhYmxlSGVpZ2h0KGVsLCAkKGVsKS5pbm5lckhlaWdodCgpKT
sKICAgIH0pOwogICAgLy8gSWYgdGhlIHBhZ2UgY29udGFpbnMgc2VydmVyYWwgZGF0YXRhYmxlcyBhbmQgb
25lIG9mIHdoaWNoIGVuYWJsZXMgY29sUmVvcmRlciwKICAgIC8vIHRoZSB0YWJsZS5jb2xSZW9yZGVyLm9y
ZGVyKCkgZnVuY3Rpb24gd2lsbCBleGlzdCBidXQgdGhyb3dzIGVycm9yIHdoZW4gY2FsbGVkLgogICAgLy8
gU28gaXQgc2VlbXMgbGlrZSB0aGUgb25seSB3YXkgdG8ga25vdyBpZiBjb2xSZW9yZGVyIGlzIGVuYWJsZW
Qgb3Igbm90IGlzIHRvCiAgICAvLyBjaGVjayB0aGUgb3B0aW9ucy4KICAgIHZhciBjb2xSZW9yZGVyRW5hY
mxlZCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gImNvbFJlb3JkZXIiIGluIG9wdGlvbnM7IH07CiAgICB2YXIg
dGFibGUgPSAkdGFibGUuRGF0YVRhYmxlKG9wdGlvbnMpOwogICAgJGVsLmRhdGEoJ2RhdGF0YWJsZScsIHR
hYmxlKTsKCiAgICAvLyBVbnJlZ2lzdGVyIHByZXZpb3VzIENyb3NzdGFsayBldmVudCBzdWJzY3JpcHRpb2
5zLCBpZiB0aGV5IGV4aXN0CiAgICBpZiAoaW5zdGFuY2UuY3RmaWx0ZXJTdWJzY3JpcHRpb24pIHsKICAgI
CAgaW5zdGFuY2UuY3RmaWx0ZXJIYW5kbGUub2ZmKCJjaGFuZ2UiLCBpbnN0YW5jZS5jdGZpbHRlclN1YnNj
cmlwdGlvbik7CiAgICAgIGluc3RhbmNlLmN0ZmlsdGVyU3Vic2NyaXB0aW9uID0gbnVsbDsKICAgIH0KICA
gIGlmIChpbnN0YW5jZS5jdHNlbGVjdFN1YnNjcmlwdGlvbikgewogICAgICBpbnN0YW5jZS5jdHNlbGVjdE
hhbmRsZS5vZmYoImNoYW5nZSIsIGluc3RhbmNlLmN0c2VsZWN0U3Vic2NyaXB0aW9uKTsKICAgICAgaW5zd
GFuY2UuY3RzZWxlY3RTdWJzY3JpcHRpb24gPSBudWxsOwogICAgfQoKICAgIGlmICghY3Jvc3N0YWxrT3B0
aW9ucy5ncm91cCkgewogICAgICAkdGFibGVbMF0uY3RmaWx0ZXIgPSBudWxsOwogICAgICAkdGFibGVbMF0
uY3RzZWxlY3QgPSBudWxsOwogICAgfSBlbHNlIHsKICAgICAgdmFyIGtleSA9IGNyb3NzdGFsa09wdGlvbn
Mua2V5OwogICAgICBmdW5jdGlvbiBrZXlzVG9NYXRjaGVzKGtleXMpIHsKICAgICAgICBpZiAoIWtleXMpI
HsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgc2VsZWN0
ZWRLZXlzID0ge307CiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHs
KICAgICAgICAgICAgc2VsZWN0ZWRLZXlzW2tleXNbaV1dID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgIC
AgIHZhciBtYXRjaGVzID0ge307CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGtleS5sZW5ndGg7I
GorKykgewogICAgICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzW2tleVtqXV0pCiAgICAgICAgICAgICAgbWF0
Y2hlc1tqXSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbWF0Y2hlczsKICAgICAgICB
9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGFwcGx5Q3Jvc3N0YWxrRmlsdGVyKGUpIHsKICAgICAgICAkdG
FibGVbMF0uY3RmaWx0ZXIgPSBrZXlzVG9NYXRjaGVzKGUudmFsdWUpOwogICAgICAgIHRhYmxlLmRyYXcoK
TsKICAgICAgfQogICAgICBpbnN0YW5jZS5jdGZpbHRlclN1YnNjcmlwdGlvbiA9IGluc3RhbmNlLmN0Zmls
dGVySGFuZGxlLm9uKCJjaGFuZ2UiLCBhcHBseUNyb3NzdGFsa0ZpbHRlcik7CiAgICAgIGFwcGx5Q3Jvc3N
0YWxrRmlsdGVyKHt2YWx1ZTogaW5zdGFuY2UuY3RmaWx0ZXJIYW5kbGUuZmlsdGVyZWRLZXlzfSk7CgogIC
AgICBmdW5jdGlvbiBhcHBseUNyb3NzdGFsa1NlbGVjdGlvbihlKSB7CiAgICAgICAgaWYgKGUuc2VuZGVyI
CE9PSBpbnN0YW5jZS5jdHNlbGVjdEhhbmRsZSkgewogICAgICAgICAgdGFibGUKICAgICAgICAgICAgLnJv
d3MoJy4nICsgc2VsQ2xhc3MsIHtzZWFyY2g6ICdhcHBsaWVkJ30pCiAgICAgICAgICAgIC5ub2RlcygpCiA
gICAgICAgICAgIC50byQoKQogICAgICAgICAgICAucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgIC
AgaWYgKHNlbGVjdGVkUm93cykKICAgICAgICAgICAgY2hhbmdlSW5wdXQoJ3Jvd3Nfc2VsZWN0ZWQnLCBzZ
WxlY3RlZFJvd3MoKSwgdm9pZCAwLCB0cnVlKTsKICAgICAgICB9CgogICAgICAgIGlmIChlLnNlbmRlciAh
PT0gaW5zdGFuY2UuY3RzZWxlY3RIYW5kbGUgJiYgZS52YWx1ZSAmJiBlLnZhbHVlLmxlbmd0aCkgewogICA
gICAgICAgdmFyIG1hdGNoZXMgPSBrZXlzVG9NYXRjaGVzKGUudmFsdWUpOwoKICAgICAgICAgIC8vIHBlcn
Npc3RlbnQgc2VsZWN0aW9uIHdpdGggcGxvdGx5ICgmIGxlYWZsZXQpCiAgICAgICAgICB2YXIgY3RPcHRzI
D0gY3Jvc3N0YWxrLnZhcigicGxvdGx5Q3Jvc3N0YWxrT3B0cyIpLmdldCgpIHx8IHt9OwogICAgICAgICAg
aWYgKGN0T3B0cy5wZXJzaXN0ZW50ID09PSB0cnVlKSB7CiAgICAgICAgICAgIHZhciBtYXRjaGVzID0gJC5
leHRlbmQobWF0Y2hlcywgJHRhYmxlWzBdLmN0c2VsZWN0KTsKICAgICAgICAgIH0KCiAgICAgICAgICAkdG
FibGVbMF0uY3RzZWxlY3QgPSBtYXRjaGVzOwogICAgICAgICAgdGFibGUuZHJhdygpOwogICAgICAgIH0gZ
WxzZSB7CiAgICAgICAgICBpZiAoJHRhYmxlWzBdLmN0c2VsZWN0KSB7CiAgICAgICAgICAgICR0YWJsZVsw
XS5jdHNlbGVjdCA9IG51bGw7CiAgICAgICAgICAgIHRhYmxlLmRyYXcoKTsKICAgICAgICAgIH0KICAgICA
gICB9CiAgICAgIH0KICAgICAgaW5zdGFuY2UuY3RzZWxlY3RTdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jdH
NlbGVjdEhhbmRsZS5vbigiY2hhbmdlIiwgYXBwbHlDcm9zc3RhbGtTZWxlY3Rpb24pOwogICAgICAvLyBUT
0RPOiBUaGlzIG5leHQgbGluZSBkb2Vzbid0IHNlZW0gdG8gd29yayB3aGVuIHJlbmRlckRhdGFUYWJsZSBp
cyB1c2VkCiAgICAgIGFwcGx5Q3Jvc3N0YWxrU2VsZWN0aW9uKHt2YWx1ZTogaW5zdGFuY2UuY3RzZWxlY3R
IYW5kbGUudmFsdWV9KTsKICAgIH0KCiAgICB2YXIgaW5BcnJheSA9IGZ1bmN0aW9uKHZhbCwgYXJyYXkpIH
sKICAgICAgcmV0dXJuICQuaW5BcnJheSh2YWwsICQubWFrZUFycmF5KGFycmF5KSkgPiAtMTsKICAgIH07C
gogICAgLy8gZW5jb2RlICsgdG8gJTJCIHdoZW4gc2VhcmNoaW5nIGluIHRoZSB0YWJsZSBvbiBzZXJ2ZXIg
c2lkZSwgYmVjYXVzZQogICAgLy8gc2hpbnk6OnBhcnNlUXVlcnlTdHJpbmcoKSB0cmVhdHMgKyBhcyBzcGF
jZXMsIGFuZCBEYXRhVGFibGVzIGRvZXMgbm90CiAgICAvLyBlbmNvZGUgKyB0byAlMkIgKG9yICUgdG8gJT
I1KSB3aGVuIHNlbmRpbmcgdGhlIHJlcXVlc3QKICAgIHZhciBlbmNvZGVfcGx1cyA9IGZ1bmN0aW9uKHgpI
HsKICAgICAgcmV0dXJuIHNlcnZlciA/
IHgucmVwbGFjZSgvJS9nLCAnJTI1JykucmVwbGFjZSgvXCsvZywgJyUyQicpIDogeDsKICAgIH07CgogICA
gLy8gc2VhcmNoIHRoZSBpLXRoIGNvbHVtbgogICAgdmFyIHNlYXJjaENvbHVtbiA9IGZ1bmN0aW9uKGksIH
ZhbHVlKSB7CiAgICAgIHZhciByZWdleCA9IGZhbHNlLCBjaSA9IHRydWU7CiAgICAgIGlmIChvcHRpb25zL
nNlYXJjaCkgewogICAgICAgIHJlZ2V4ID0gb3B0aW9ucy5zZWFyY2gucmVnZXgsCiAgICAgICAgY2kgPSBv
cHRpb25zLnNlYXJjaC5jYXNlSW5zZW5zaXRpdmUgIT09IGZhbHNlOwogICAgICB9CiAgICAgIHJldHVybiB
0YWJsZS5jb2x1bW4oaSkuc2VhcmNoKGVuY29kZV9wbHVzKHZhbHVlKSwgcmVnZXgsICFyZWdleCwgY2kpOw
ogICAgfTsKCiAgICBpZiAoZGF0YS5maWx0ZXIgIT09ICdub25lJykgewoKICAgICAgZmlsdGVyUm93LmVhY
2goZnVuY3Rpb24oaSwgdGQpIHsKCiAgICAgICAgdmFyICR0ZCA9ICQodGQpLCB0eXBlID0gJHRkLmRhdGEo
J3R5cGUnKSwgZmlsdGVyOwogICAgICAgIHZhciAkaW5wdXQgPSAkdGQuY2hpbGRyZW4oJ2RpdicpLmZpcnN
0KCkuY2hpbGRyZW4oJ2lucHV0Jyk7CiAgICAgICAgJGlucHV0LnByb3AoJ2Rpc2FibGVkJywgIXRhYmxlLn
NldHRpbmdzKClbMF0uYW9Db2x1bW5zW2ldLmJTZWFyY2hhYmxlIHx8IHR5cGUgPT09ICdkaXNhYmxlZCcpO
wogICAgICAgICRpbnB1dC5vbignaW5wdXQgYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgJGlucHV0
Lm5leHQoJ3NwYW4nKS50b2dnbGUoQm9vbGVhbigkaW5wdXQudmFsKCkpKTsKICAgICAgICB9KTsKICAgICA
gICAvLyBCb290c3RyYXAgc2V0cyBwb2ludGVyLWV2ZW50cyB0byBub25lIGFuZCB3ZSB3b24ndCBiZSBhYm
xlIHRvIGNsaWNrCiAgICAgICAgLy8gdGhlIGNsZWFyIGJ1dHRvbgogICAgICAgICRpbnB1dC5uZXh0KCdzc
GFuJykuY3NzKCdwb2ludGVyLWV2ZW50cycsICdhdXRvJykuaGlkZSgpLmNsaWNrKGZ1bmN0aW9uKCkgewog
ICAgICAgICAgJCh0aGlzKS5oaWRlKCkucHJldignaW5wdXQnKS52YWwoJycpLnRyaWdnZXIoJ2lucHV0Jyk
uZm9jdXMoKTsKICAgICAgICB9KTsKICAgICAgICB2YXIgc2VhcmNoQ29sOyAgLy8gc2VhcmNoIHN0cmluZy
Bmb3IgdGhpcyBjb2x1bW4KICAgICAgICBpZiAoc2VhcmNoQ29scyAmJiBzZWFyY2hDb2xzW2ldKSB7CiAgI
CAgICAgICBzZWFyY2hDb2wgPSBzZWFyY2hDb2xzW2ldOwogICAgICAgICAgJGlucHV0LnZhbChzZWFyY2hD
b2wpLnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgICAgfQogICAgICAgIHZhciAkeCA9ICR0ZC5jaGlsZHJlbig
nZGl2JykubGFzdCgpOwoKICAgICAgICAvLyByZW1vdmUgdGhlIG92ZXJmbG93OiBoaWRkZW4gYXR0cmlidX
RlIG9mIHRoZSBzY3JvbGxIZWFkCiAgICAgICAgLy8gKG90aGVyd2lzZSB0aGUgc2Nyb2xsaW5nIHRhYmxlI
GJvZHkgb2JzY3VyZXMgdGhlIGZpbHRlcnMpCiAgICAgICAgLy8gVGhlIHdvcmthcm91bmQgYW5kIHRoZSBk
aXNjdXNzaW9uIGZyb20KICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9EVC9pc3N1ZXM
vNTU0I2lzc3VlY29tbWVudC01MTgwMDczNDcKICAgICAgICAvLyBPdGhlcndpc2UgdGhlIGZpbHRlciBzZW
xlY3Rpb24gd2lsbCBub3QgYmUgYW5jaG9yZWQgdG8gdGhlIHZhbHVlcwogICAgICAgIC8vIHdoZW4gdGhlI
GNvbHVtbnMgbnVtYmVyIGlzIG1hbnkgYW5kIHNjcm9sbFggaXMgZW5hYmxlZC4KICAgICAgICB2YXIgc2Ny
b2xsSGVhZCA9ICQoZWwpLmZpbmQoJy5kYXRhVGFibGVzX3Njcm9sbEhlYWQsLmRhdGFUYWJsZXNfc2Nyb2x
sRm9vdCcpOwogICAgICAgIHZhciBjc3NPdmVyZmxvd0hlYWQgPSBzY3JvbGxIZWFkLmNzcygnb3ZlcmZsb3
cnKTsKICAgICAgICB2YXIgc2Nyb2xsQm9keSA9ICQoZWwpLmZpbmQoJy5kYXRhVGFibGVzX3Njcm9sbEJvZ
HknKTsKICAgICAgICB2YXIgY3NzT3ZlcmZsb3dCb2R5ID0gc2Nyb2xsQm9keS5jc3MoJ292ZXJmbG93Jyk7
CiAgICAgICAgdmFyIHNjcm9sbFRhYmxlID0gJChlbCkuZmluZCgnLmRhdGFUYWJsZXNfc2Nyb2xsJyk7CiA
gICAgICAgdmFyIGNzc092ZXJm
bG93VGFibGUgPSBzY3JvbGxUYWJsZS5jc3MoJ292ZXJmbG93Jyk7CiAgICAgICAgaWYgKGNzc092ZXJmbG9
3SGVhZCA9PT0gJ2hpZGRlbicpIHsKICAgICAgICAgICR4Lm9uKCdzaG93IGhpZGUnLCBmdW5jdGlvbihlKS
B7CiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdzaG93JykgewogICAgICAgICAgICAgIHNjcm9sbEhlY
WQuY3NzKCdvdmVyZmxvdycsICd2aXNpYmxlJyk7CiAgICAgICAgICAgICAgc2Nyb2xsQm9keS5jc3MoJ292
ZXJmbG93JywgJ3Zpc2libGUnKTsKICAgICAgICAgICAgICBzY3JvbGxUYWJsZS5jc3MoJ292ZXJmbG93LXg
nLCAnc2Nyb2xsJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgc2Nyb2xsSGVhZC5jc3
MoJ292ZXJmbG93JywgY3NzT3ZlcmZsb3dIZWFkKTsKICAgICAgICAgICAgICBzY3JvbGxCb2R5LmNzcygnb
3ZlcmZsb3cnLCBjc3NPdmVyZmxvd0JvZHkpOwogICAgICAgICAgICAgIHNjcm9sbFRhYmxlLmNzcygnb3Zl
cmZsb3cteCcsIGNzc092ZXJmbG93VGFibGUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICA
gICAgICR4LmNzcygnei1pbmRleCcsIDI1KTsKICAgICAgICB9CgogICAgICAgIGlmIChpbkFycmF5KHR5cG
UsIFsnZmFjdG9yJywgJ2xvZ2ljYWwnXSkpIHsKICAgICAgICAgICRpbnB1dC5vbih7CiAgICAgICAgICAgI
GNsaWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkaW5wdXQucGFyZW50KCkuaGlkZSgpOyAkeC5z
aG93KCkudHJpZ2dlcignc2hvdycpOyBmaWx0ZXJbMF0uc2VsZWN0aXplLmZvY3VzKCk7CiAgICAgICAgICA
gIH0sCiAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBpZiAoJGlucHV0Ln
ZhbCgpID09PSAnJykgZmlsdGVyWzBdLnNlbGVjdGl6ZS5zZXRWYWx1ZShbXSk7CiAgICAgICAgICAgIH0KI
CAgICAgICAgIH0pOwogICAgICAgICAgdmFyICRpbnB1dDIgPSAkeC5jaGlsZHJlbignc2VsZWN0Jyk7CiAg
ICAgICAgICBmaWx0ZXIgPSAkaW5wdXQyLnNlbGVjdGl6ZSh7CiAgICAgICAgICAgIG9wdGlvbnM6ICRpbnB
1dDIuZGF0YSgnb3B0aW9ucycpLm1hcChmdW5jdGlvbih2LCBpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIC
h7dGV4dDogdiwgdmFsdWU6IHZ9KTsKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIHBsdWdpbnM6IFsnc
mVtb3ZlX2J1dHRvbiddLAogICAgICAgICAgICBoaWRlU2VsZWN0ZWQ6IHRydWUsCiAgICAgICAgICAgIG9u
Q2hhbmdlOiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdmF
sdWUgPSBbXTsgLy8gY29tcGF0aWJpbGl0eSB3aXRoIGpRdWVyeSAzLjAKICAgICAgICAgICAgICAkaW5wdX
QudmFsKHZhbHVlLmxlbmd0aCA/
IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6ICcnKTsKICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoKSA
kaW5wdXQudHJpZ2dlcignaW5wdXQnKTsKICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndGl0bGUnLCAkaW
5wdXQudmFsKCkpOwogICAgICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgICAgIHRhYmxlL
mNvbHVtbihpKS5zZWFyY2godmFsdWUubGVuZ3RoID8gZW5jb2RlX3BsdXMoSlNPTi5zdHJpbmdpZnkodmFs
dWUpKSA6ICcnKS5kcmF3KCk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgfQogICA
gICAgICAgICAgIC8vIHR1cm4gb2ZmIGZpbHRlciBpZiBub3RoaW5nIHNlbGVjdGVkCiAgICAgICAgICAgIC
AgJHRkLmRhdGEoJ2ZpbHRlcicsIHZhbHVlLmxlbmd0aCA+IDApOwogICAgICAgICAgICAgIHRhYmxlLmRyY
XcoKTsgIC8vIHJlZHJhdyB0YWJsZSwgYW5kIGZpbHRlcnMgd2lsbCBiZSBhcHBsaWVkCiAgICAgICAgICAg
IH0KICAgICAgICAgIH0pOwogICAgICAgICAgaWYgKHNlYXJjaENvbCkgZmlsdGVyWzBdLnNlbGVjdGl6ZS5
zZXRWYWx1ZShKU09OLnBhcnNlKHNlYXJjaENvbCkpOwogICAgICAgICAgZmlsdGVyWzBdLnNlbGVjdGl6ZS
5vbignYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAkeC5oaWRlKCkudHJpZ2dlcignaGlkZScpO
yAkaW5wdXQucGFyZW50KCkuc2hvdygpOyAkaW5wdXQudHJpZ2dlcignYmx1cicpOwogICAgICAgICAgfSk7
CiAgICAgICAgICBmaWx0ZXIubmV4dCgnZGl2JykuY3NzKCdtYXJnaW4tYm90dG9tJywgJ2F1dG8nKTsKICA
gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdjaGFyYWN0ZXInKSB7CiAgICAgICAgICB2YXIgZnVuID0gZn
VuY3Rpb24oKSB7CiAgICAgICAgICAgIHNlYXJjaENvbHVtbihpLCAkaW5wdXQudmFsKCkpLmRyYXcoKTsKI
CAgICAgICAgIH07CiAgICAgICAgICBpZiAoc2VydmVyKSB7CiAgICAgICAgICAgIGZ1biA9ICQuZm4uZGF0
YVRhYmxlLnV0aWwudGhyb3R0bGUoZnVuLCBvcHRpb25zLnNlYXJjaERlbGF5KTsKICAgICAgICAgIH0KICA
gICAgICAgICRpbnB1dC5vbignaW5wdXQnLCBmdW4pOwogICAgICAgIH0gZWxzZSBpZiAoaW5BcnJheSh0eX
BlLCBbJ251bWJlcicsICdpbnRlZ2VyJywgJ2RhdGUnLCAndGltZSddKSkgewogICAgICAgICAgdmFyICR4M
CA9ICR4OwogICAgICAgICAgJHggPSAkeDAuY2hpbGRyZW4oJ2RpdicpLmZpcnN0KCk7CiAgICAgICAgICAk
eDAuY3NzKHsKICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2ZmZicsCiAgICAgICAgICAgICd
ib3JkZXInOiAnMXB4ICNkZGQgc29saWQnLAogICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLA
ogICAgICAgICAgICAncGFkZGluZyc6ICcyMHB4IDIwcHggMTBweCAyMHB4JwogICAgICAgICAgfSk7CiAgI
CAgICAgICB2YXIgJHNwYW5zID0gJHgwLmNoaWxkcmVuKCdzcGFuJykuY3NzKHsKICAgICAgICAgICAgJ21h
cmdpbi10b3AnOiAnMTBweCcsCiAgICAgICAgICAgICd3aGl0ZS1zcGFjZSc6ICdub3dyYXAnCiAgICAgICA
gICB9KTsKICAgICAgICAgIHZhciAkc3BhbjEgPSAkc3BhbnMuZmlyc3QoKSwgJHNwYW4yID0gJHNwYW5zLm
xhc3QoKTsKICAgICAgICAgIHZhciByMSA9ICskeC5kYXRhKCdtaW4nKSwgcjIgPSArJHguZGF0YSgnbWF4J
yk7CiAgICAgICAgICAvLyB3aGVuIHRoZSBudW1iZXJzIGFyZSB0b28gc21hbGwgb3IgaGF2ZSBtYW55IGRl
Y2ltYWwgcGxhY2VzLCB0aGUKICAgICAgICAgIC8vIHNsaWRlciBtYXkgaGF2ZSBudW1lcmljIHByZWNpc2l
vbiBwcm9ibGVtcyAoIzE1MCkKICAgICAgICAgIHZhciBzY2FsZSA9IE1hdGgucG93KDEwLCBNYXRoLm1heC
gwLCArJHguZGF0YSgnc2NhbGUnKSB8fCAwKSk7CiAgICAgICAgICByMSA9IE1hdGgucm91bmQocjEgKiBzY
2FsZSk7IHIyID0gTWF0aC5yb3VuZChyMiAqIHNjYWxlKTsKICAgICAgICAgIHZhciBzY2FsZUJhY2sgPSBm
dW5jdGlvbih4LCBzY2FsZSkgewogICAgICAgICAgICBpZiAoc2NhbGUgPT09IDEpIHJldHVybiB4OwogICA
gICAgICAgICB2YXIgZCA9IE1hdGgucm91bmQoTWF0aC5sb2coc2NhbGUpIC8gTWF0aC5sb2coMTApKTsKIC
AgICAgICAgICAgLy8gdG8gYXZvaWQgcHJvYmxlbXMgbGlrZSAzLjQyMy8xMDAgLT4gMC4wMzQyMzAwMDAwM
DAwMDAwMDMKICAgICAgICAgICAgcmV0dXJuICh4IC8gc2NhbGUpLnRvRml4ZWQoZCk7CiAgICAgICAgICB9
OwogICAgICAgICAgJGlucHV0Lm9uKHsKICAgICAgICAgICAgZm9jdXM6IGZ1bmN0aW9uKCkgewogICAgICA
gICAgICAgICR4MC5zaG93KCkudHJpZ2dlcignc2hvdycpOwogICAgICAgICAgICAgIC8vIGZpcnN0LCBtYW
tlIHN1cmUgdGhlIHNsaWRlciBkaXYgbGVhdmVzIGF0IGxlYXN0IDIwcHggYmV0d2VlbgogICAgICAgICAgI
CAgIC8vIHRoZSB0d28gKHNsaWRlciB2YWx1ZSkgc3BhbidzCiAgICAgICAgICAgICAgJHgwLndpZHRoKE1h
dGgubWF4KDE2MCwgJHNwYW4xLm91dGVyV2lkdGgoKSArICRzcGFuMi5vdXRlcldpZHRoKCkgKyAyMCkpOwo
gICAgICAgICAgICAgIC8vIHRoZW4sIGlmIHRoZSBpbnB1dCBpcyByZWFsbHkgd2lkZSwgbWFrZSB0aGUgc2
xpZGVyIHRoZSBzYW1lCiAgICAgICAgICAgICAgLy8gd2lkdGggYXMgdGhlIGlucHV0CiAgICAgICAgICAgI
CAgaWYgKCR4MC5vdXRlcldpZHRoKCkgPCAkaW5wdXQub3V0ZXJXaWR0aCgpKSB7CiAgICAgICAgICAgICAg
ICAkeDAub3V0ZXJXaWR0aCgkaW5wdXQub3V0ZXJXaWR0aCgpKTsKICAgICAgICAgICAgICB9CiAgICAgICA
gICAgICAgLy8gbWFrZSBzdXJlIHRoZSBzbGlkZXIgZGl2IGRvZXMgbm90IHJlYWNoIGJleW9uZCB0aGUgcm
lnaHQgbWFyZ2luCiAgICAgICAgICAgICAgaWYgKCQod2luZG93KS53aWR0aCgpIDwgJHgwLm9mZnNldCgpL
mxlZnQgKyAkeDAud2lkdGgoKSkgewogICAgICAgICAgICAgICAgJHgwLm9mZnNldCh7CiAgICAgICAgICAg
ICAgICAgICdsZWZ0JzogJGlucHV0Lm9mZnNldCgpLmxlZnQgKyAkaW5wdXQub3V0ZXJXaWR0aCgpIC0gJHg
wLm91dGVyV2lkdGgoKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgIC
B9LAogICAgICAgICAgICBibHVyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkeDAuaGlkZSgpLnRya
WdnZXIoJ2hpZGUnKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgaW5wdXQ6IGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgIGlmICgkaW5wdXQudmFsKCkgPT09ICcnKSBmaWx0ZXIudmFsKFtyMSwgcjJdKTsKICA
gICAgICAgICAgfSwKICAgICAgICAgICAgY2hhbmdlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YX
IgdiA9ICRpbnB1dC52YWwoKS5yZXBsYWNlKC9ccy9nLCAnJyk7CiAgICAgICAgICAgICAgaWYgKHYgPT09I
CcnKSByZXR1cm47CiAgICAgICAgICAgICAgdiA9IHYuc3BsaXQoJy4uLicpOwogICAgICAgICAgICAgIGlm
ICh2Lmxlbmd0aCAhPT0gMikgewogICAgICAgICAgICAgICAgJGlucHV0LnBhcmVudCgpLmFkZENsYXNzKCd
oYXMtZXJyb3InKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICB9CiAgICAgICAgIC
AgICAgaWYgKHZbMF0gPT09ICcnKSB2WzBdID0gcjE7CiAgICAgICAgICAgICAgaWYgKHZbMV0gPT09ICcnK
SB2WzFdID0gcjI7CiAgICAgICAgICAgICAgJGlucHV0LnBhcmVudCgpLnJlbW92ZUNsYXNzKCdoYXMtZXJy
b3InKTsKICAgICAgICAgICAgICAvLyB0cmVhdCBkYXRlIGFzIFVUQyB0aW1lIGF0IG1pZG5pZ2h0CiAgICA
gICAgICAgICAgdmFyIHN0clRpbWUgPSBmdW5jdGlvbih4KSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9IH
R5cGUgPT09ICdkYXRlJyA/
ICdUMDA6MDA6MDBaJyA6ICcnOwogICAgICAgICAgICAgICAgdmFyIHQgPSBuZXcgRGF0ZSh4ICsgcykuZ2V
0VGltZSgpOwogICAgICAgICAgICAgICAgLy8gYWRkIDEwIG1pbnV0ZXMgdG8gZGF0ZSBzaW5jZSBpdCBkb2
VzIG5vdCBodXJ0IHRoZSBkYXRlLCBhbmQKICAgICAgICAgICAgICAgIC8vIGl0IGhlbHBzIGF2b2lkIHRoZ
SB0cmlja3kgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBwcm9ibGVtcywKICAgICAgICAgICAgICAgIC8v
IGUuZy4gc29tZXRpbWVzIHRoZSBkYXRlIG1heSBiZSBhIGZldyBtaWxsaXNlY29uZHMgZWFybGllcgogICA
gICAgICAgICAgICAgLy8gdGhhbiB0aGUgbWlkbmlnaHQgZHVlIHRvIHByZWNpc2lvbiBwcm9ibGVtcyBpbi
Bub1VpU2xpZGVyCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ2RhdGUnID8gdCArIDM2MDAwM
DAgOiB0OwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgaWYgKGluQXJyYXkodHlwZSwgWydkYXRl
JywgJ3RpbWUnXSkpIHsKICAgICAgICAgICAgICAgIHZbMF0gPSBzdHJUaW1lKHZbMF0pOwogICAgICAgICA
gICAgICAgdlsxXSA9IHN0clRpbWUodlsxXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIC
h2WzBdICE9IHIxKSB2WzBdICo9IHNjYWxlOwogICAgICAgICAgICAgIGlmICh2WzFdICE9IHIyKSB2WzFdI
Co9IHNjYWxlOwogICAgICAgICAgICAgIGZpbHRlci52YWwodik7CiAgICAgICAgICAgIH0KICAgICAgICAg
IH0pOwogICAgICAgICAgdmFyIGZvcm1hdERhdGUgPSBmdW5jdGlvbihkLCBpc29GbXQpIHsKICAgICAgICA
gICAgZCA9IHNjYWxlQmFjayhkLCBzY2FsZSk7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnbnVtYmVyJy
kgcmV0dXJuIGQ7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnaW50ZWdlcicpIHJldHVybiBwYXJzZUlud
ChkKTsKICAgICAgICAgICAgdmFyIHggPSBuZXcgRGF0ZSgrZCk7CiAgICAgICAgICAgIHZhciBmbXQgPSAo
J2ZpbHRlckRhdGVGbXQnIGluIGRhdGEpID8gZGF0YS5maWx0ZXJEYXRlRm10W2ldIDogdW5kZWZpbmVkOwo
gICAgICAgICAgICBpZiAoZm10ICE9PSB1bmRlZmluZWQgJiYgaXNvRm10ID09PSBmYWxzZSkgcmV0dXJuIH
hbZm10Lm1ldGhvZF0uYXBwbHkoeCwgZm10LnBhcmFtcyk7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZ
GF0ZScpIHsKICAgICAgICAgICAgICB2YXIgcGFkMCA9IGZ1bmN0aW9uKHgpIHsKICAgICAgICAgICAgICAg
IHJldHVybiAoJzAnICsgeCkuc3Vic3RyKC0yLCAyKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICA
gIHJldHVybiB4LmdldFVUQ0Z1bGxZZWFyKCkgKyAnLScgKyBwYWQwKDEgKyB4LmdldFVUQ01vbnRoKCkpCi
AgICAgICAgICAgICAgICAgICAgICArICctJyArIHBhZDAoeC5nZXRVVENEYXRlKCkpOwogICAgICAgICAgI
CB9IGVsc2UgewogICAgICAgICAgICAgIHJldHVybiB4LnRvSVNPU3RyaW5nKCk7CiAgICAgICAgICAgIH0K
ICAgICAgICAgIH07CiAgICAgICAgICB2YXIgb3B0cyA9IHR5cGUgPT09ICdkYXRlJyA/
IHsgc3RlcDogNjAgKiA2MCAqIDEwMDAgfSA6CiAgICAgICAgICAgICAgICAgICAgIHR5cGUgPT09ICdpbnR
lZ2VyJyA/
IHsgc3RlcDogMSB9IDoge307CiAgICAgICAgICBmaWx0ZXIgPSAkeC5ub1VpU2xpZGVyKCQuZXh0ZW5kKHs
KICAgICAgICAgICAgc3RhcnQ6IFtyMSwgcjJdLAogICAgICAgICAgICByYW5nZToge21pbjogcjEsIG1heD
ogcjJ9LAogICAgICAgICAgICBjb25uZWN0OiB0cnVlCiAgICAgICAgICB9LCBvcHRzKSk7CiAgICAgICAgI
CBpZiAoc2NhbGUgPiAxKSAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0MSA9IHIxLCB0MiA9IHIy
OwogICAgICAgICAgICB2YXIgdmFsID0gZmlsdGVyLnZhbCgpOwogICAgICAgICAgICB3aGlsZSAodmFsWzB
dID4gcjEgfHwgdmFsWzFdIDwgcjIpIHsKICAgICAgICAgICAgICBpZiAodmFsWzBdID4gcjEpIHsKICAgIC
AgICAgICAgICAgIHQxIC09IHZhbFswXSAtIHIxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZ
iAodmFsWzFdIDwgcjIpIHsKICAgICAgICAgICAgICAgIHQyICs9IHIyIC0gdmFsWzFdOwogICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICBmaWx0ZXIgPSAkeC5ub1VpU2xpZGVyKCQuZXh0ZW5kKHsKICAgICAgICA
gICAgICAgIHN0YXJ0OiBbdDEsIHQyXSwKICAgICAgICAgICAgICAgIHJhbmdlOiB7bWluOiB0MSwgbWF
4OiB0Mn0sCiAgICAgICAgICAgICAgICBjb25uZWN0OiB0cnVlCiAgICAgICAgICAgICAgfSwgb3B0cyksIH
RydWUpOwogICAgICAgICAgICAgIHZhbCA9IGZpbHRlci52YWwoKTsKICAgICAgICAgICAgfQogICAgICAgI
CAgICByMSAgPSB0MTsgcjIgPSB0MjsKICAgICAgICAgIH0pKCk7CiAgICAgICAgICB2YXIgdXBkYXRlU2xp
ZGVyVGV4dCA9IGZ1bmN0aW9uKHYxLCB2MikgewogICAgICAgICAgICAkc3BhbjEudGV4dChmb3JtYXREYXR
lKHYxLCBmYWxzZSkpOyAkc3BhbjIudGV4dChmb3JtYXREYXRlKHYyLCBmYWxzZSkpOwogICAgICAgICAgfT
sKICAgICAgICAgIHVwZGF0ZVNsaWRlclRleHQocjEsIHIyKTsKICAgICAgICAgIHZhciB1cGRhdGVTbGlkZ
XIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB2YWwgPSBmaWx0ZXIudmFsKCk7CiAgICAgICAg
ICAgIC8vIHR1cm4gb2ZmIGZpbHRlciBpZiBpbiBmdWxsIHJhbmdlCiAgICAgICAgICAgICR0ZC5kYXRhKCd
maWx0ZXInLCB2YWxbMF0gPiByMSB8fCB2YWxbMV0gPCByMik7CiAgICAgICAgICAgIHZhciB2MSA9IGZvcm
1hdERhdGUodmFsWzBdKSwgdjIgPSBmb3JtYXREYXRlKHZhbFsxXSksIGl2YWw7CiAgICAgICAgICAgIGlmI
CgkdGQuZGF0YSgnZmlsdGVyJykpIHsKICAgICAgICAgICAgICBpdmFsID0gdjEgKyAnIC4uLiAnICsgdjI7
CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJywgaXZhbCkudmFsKGl2YWwpLnRyaWdnZXIoJ2l
ucHV0Jyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJy
wgJycpLnZhbCgnJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdXBkYXRlU2xpZGVyVGV4dCh2YWxbM
F0sIHZhbFsxXSk7CiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdzbGlkZScpIHJldHVybjsgIC8vIG5v
IHNlYXJjaGluZyB3aGVuIHNsaWRpbmcgb25seQogICAgICAgICAgICBpZiAoc2VydmVyKSB7CiAgICAgICA
gICAgICAgdGFibGUuY29sdW1uKGkpLnNlYXJjaCgkdGQuZGF0YSgnZmlsdGVyJykgPyBpdmFsIDogJycpLm
RyYXcoKTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGFibGUuZ
HJhdygpOwogICAgICAgICAgfTsKICAgICAgICAgIGZpbHRlci5vbih7CiAgICAgICAgICAgIHNldDogdXBk
YXRlU2xpZGVyLAogICAgICAgICAgICBzbGlkZTogdXBkYXRlU2xpZGVyCiAgICAgICAgICB9KTsKICAgICA
gICB9CgogICAgICAgIC8vIHNlcnZlci1zaWRlIHByb2Nlc3Npbmcgd2lsbCBiZSBoYW5kbGVkIGJ5IFIgKG
9yIHdoYXRldmVyIHNlcnZlcgogICAgICAgIC8vIGxhbmd1YWdlIHlvdSB1c2UpOyB0aGUgZm9sbG93aW5nI
GNvZGUgaXMgb25seSBuZWVkZWQgZm9yIGNsaWVudC1zaWRlCiAgICAgICAgLy8gcHJvY2Vzc2luZwogICAg
ICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgIC8vIGlmIGEgc2VhcmNoIHN0cmluZyBoYXMgYmVlbiBwcmU
tc2V0LCBzZWFyY2ggbm93CiAgICAgICAgICBpZiAoc2VhcmNoQ29sKSBzZWFyY2hDb2x1bW4oaSwgc2Vhcm
NoQ29sKS5kcmF3KCk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgY3VzdG9tR
mlsdGVyID0gZnVuY3Rpb24oc2V0dGluZ3MsIGRhdGEsIGRhdGFJbmRleCkgewogICAgICAgICAgLy8gdGhl
cmUgaXMgbm8gd2F5IHRvIGF0dGFjaCBhIHNlYXJjaCBmdW5jdGlvbiB0byBhIHNwZWNpZmljIHRhYmxlLAo
gICAgICAgICAgLy8gYW5kIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGEgZ2xvYmFsIHNlYXJjaCBmdW5jdGlvbi
BpcyBub3QgYXBwbGllZCB0bwogICAgICAgICAgLy8gYWxsIHRhYmxlcyAoaS5lLiBhIHJhbmdlIGZpbHRlc
iBpbiBhIHByZXZpb3VzIHRhYmxlIHNob3VsZCBub3QgYmUKICAgICAgICAgIC8vIGFwcGxpZWQgdG8gdGhl
IGN1cnJlbnQgdGFibGUpOyB3ZSB1c2UgdGhlIHNldHRpbmdzIG9iamVjdCB0bwogICAgICAgICAgLy8gZGV
0ZXJtaW5lIGlmIHdlIHdhbnQgdG8gcGVyZm9ybSBzZWFyY2hpbmcgb24gdGhlIGN1cnJlbnQgdGFibGUsCi
AgICAgICAgICAvLyBzaW5jZSBzZXR0aW5ncy5zVGFibGVJZCB3aWxsIGJlIGRpZmZlcmVudCB0byBkaWZmZ
XJlbnQgdGFibGVzCiAgICAgICAgICBpZiAodGFibGUuc2V0dGluZ3MoKVswXSAhPT0gc2V0dGluZ3MpIHJl
dHVybiB0cnVlOwogICAgICAgICAgLy8gbm8gZmlsdGVyIG9uIHRoaXMgY29sdW1uIG9yIG5vIG5lZWQgdG8
gZmlsdGVyIHRoaXMgY29sdW1uCiAgICAgICAgICBpZiAodHlwZW9mIGZpbHRlciA9PT0gJ3VuZGVmaW5lZC
cgfHwgISR0ZC5kYXRhKCdmaWx0ZXInKSkgcmV0dXJuIHRydWU7CgogICAgICAgICAgdmFyIHIgPSBmaWx0Z
XIudmFsKCksIHYsIHIwLCByMTsKICAgICAgICAgIHZhciBpX2RhdGEgPSBmdW5jdGlvbihpKSB7CiAgICAg
ICAgICAgIGlmICghY29sUmVvcmRlckVuYWJsZWQoKSkgcmV0dXJuIGk7CiAgICAgICAgICAgIHZhciBvcmR
lciA9IHRhYmxlLmNvbFJlb3JkZXIub3JkZXIoKSwgazsKICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IG
9yZGVyLmxlbmd0aDsgKytrKSBpZiAob3JkZXJba10gPT09IGkpIHJldHVybiBrOwogICAgICAgICAgICByZ
XR1cm4gaTsgLy8gaW4gdGhlb3J5IGl0IHdpbGwgbmV2ZXIgYmUgaGVyZS4uLgogICAgICAgICAgfQogICAg
ICAgICAgdiA9IGRhdGFbaV9kYXRhKGkpXTsKICAgICAgICAgIGlmICh0eXBlID09PSAnbnVtYmVyJyB8fCB
0eXBlID09PSAnaW50ZWdlcicpIHsKICAgICAgICAgICAgdiA9IHBhcnNlRmxvYXQodik7CiAgICAgICAgIC
AgIC8vIGhvdyB0byBoYW5kbGUgTmFOPyBjdXJyZW50bHkgZXhjbHVkZSB0aGVzZSByb3dzCiAgICAgICAgI
CAgIGlmIChpc05hTih2KSkgcmV0dXJuKGZhbHNlKTsKICAgICAgICAgICAgcjAgPSBwYXJzZUZsb2F0KHNj
YWxlQmFjayhyWzBdLCBzY2FsZSkpCiAgICAgICAgICAgIHIxID0gcGFyc2VGbG9hdChzY2FsZUJhY2socls
xXSwgc2NhbGUpKTsKICAgICAgICAgICAgaWYgKHYgPj0gcjAgJiYgdiA8PSByMSkgcmV0dXJuIHRydWU7Ci
AgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlJyB8fCB0eXBlID09PSAndGltZScpIHsKICAgI
CAgICAgICAgdiA9IG5ldyBEYXRlKHYpOwogICAgICAgICAgICByMCA9IG5ldyBEYXRlKHJbMF0gLyBzY2Fs
ZSk7IHIxID0gbmV3IERhdGUoclsxXSAvIHNjYWxlKTsKICAgICAgICAgICAgaWYgKHYgPj0gcjAgJiYgdiA
8PSByMSkgcmV0dXJuIHRydWU7CiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmYWN0b3InKSB7Ci
AgICAgICAgICAgIGlmIChyLmxlbmd0aCA9PT0gMCB8fCBpbkFycmF5KHYsIHIpKSByZXR1cm4gdHJ1ZTsKI
CAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2xvZ2ljYWwnKSB7CiAgICAgICAgICAgIGlmIChyLmxl
bmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIGlmIChpbkFycmF5KHYgPT09ICcnID8gJ25
hJyA6IHYsIHIpKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBmYWxzZTsKIC
AgICAgICB9OwoKICAgICAgICAkLmZuLmRhdGFUYWJsZS5leHQuc2VhcmNoLnB1c2goY3VzdG9tRmlsdGVyK
TsKCiAgICAgICAgLy8gc2VhcmNoIGZvciB0aGUgcHJlc2V0IHNlYXJjaCBzdHJpbmdzIGlmIGl0IGlzIG5v
bi1lbXB0eQogICAgICAgIGlmIChzZWFyY2hDb2wpIHsKICAgICAgICAgIGlmIChpbkFycmF5KHR5cGUsIFs
nZmFjdG9yJywgJ2xvZ2ljYWwnXSkpIHsKICAgICAgICAgICAgZmlsdGVyWzBdLnNlbGVjdGl6ZS5zZXRWYW
x1ZShKU09OLnBhcnNlKHNlYXJjaENvbCkpOwogICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnY2hhc
mFjdGVyJykgewogICAgICAgICAgICAkaW5wdXQudHJpZ2dlcignaW5wdXQnKTsKICAgICAgICAgIH0gZWxz
ZSBpZiAoaW5BcnJheSh0eXBlLCBbJ251bWJlcicsICdpbnRlZ2VyJywgJ2RhdGUnLCAndGltZSddKSkgewo
gICAgICAgICAgICAkaW5wdXQudHJpZ2dlcignY2hhbmdlJyk7CiAgICAgICAgICB9CiAgICAgICAgfQoKIC
AgICAgfSk7CgogICAgfQoKICAgIC8vIGhpZ2hsaWdodCBzZWFyY2gga2V5d29yZHMKICAgIHZhciBoaWdob
GlnaHQgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIGJvZHkgPSAkKHRhYmxlLnRhYmxlKCkuYm9keSgpKTsK
ICAgICAgLy8gcmVtb3ZpbmcgdGhlIG9sZCBoaWdobGlnaHRpbmcgZmlyc3QKICAgICAgYm9keS51bmhpZ2h
saWdodCgpOwoKICAgICAgLy8gZG9uJ3QgaGlnaGxpZ2h0IHRoZSAibm90IGZvdW5kIiByb3csIHNvIHdlIG
dldCB0aGUgcm93cyB1c2luZyB0aGUgYXBpCiAgICAgIGlmICh0YWJsZS5yb3dzKHsgZmlsdGVyOiAnYXBwb
GllZCcgfSkuZGF0YSgpLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogICAgICAvLyBoaWdobGlnaHQgZ2xvYmFs
IHNlYXJjaCBrZXl3b3JkcwogICAgICBib2R5LmhpZ2hsaWdodCgkLnRyaW0odGFibGUuc2VhcmNoKCkpLnN
wbGl0KC9ccysvKSk7CiAgICAgIC8vIHRoZW4gaGlnaGxpZ2h0IGtleXdvcmRzIGZyb20gaW5kaXZpZHVhbC
Bjb2x1bW4gZmlsdGVycwogICAgICBpZiAoZmlsdGVyUm93KSBmaWx0ZXJSb3cuZWFjaChmdW5jdGlvbihpL
CB0ZCkgewogICAgICAgIHZhciAkdGQgPSAkKHRkKSwgdHlwZSA9ICR0ZC5kYXRhKCd0eXBlJyk7CiAgICAg
ICAgaWYgKHR5cGUgIT09ICdjaGFyYWN0ZXInKSByZXR1cm47CiAgICAgICAgdmFyICRpbnB1dCA9ICR0ZC5
jaGlsZHJlbignZGl2JykuZmlyc3QoKS5jaGlsZHJlbignaW5wdXQnKTsKICAgICAgICB2YXIgY29sdW1uID
0gdGFibGUuY29sdW1uKGkpLm5vZGVzKCkudG8kKCksCiAgICAgICAgICAgIHZhbCA9ICQudHJpbSgkaW5wd
XQudmFsKCkpOwogICAgICAgIGlmICh0eXBlICE9PSAnY2hhcmFjdGVyJyB8fCB2YWwgPT09ICcnKSByZXR1
cm47CiAgICAgICAgY29sdW1uLmhpZ2hsaWdodCh2YWwuc3BsaXQoL1xzKy8pKTsKICAgICAgfSk7CiAgICB
9OwoKICAgIGlmIChvcHRpb25zLnNlYXJjaEhpZ2hsaWdodCkgewogICAgICB0YWJsZQogICAgICAub24oJ2
RyYXcuZHQuZHRoIGNvbHVtbi12aXNpYmlsaXR5LmR0LmR0aCBjb2x1bW4tcmVvcmRlci5kdC5kdGgnLCBoa
WdobGlnaHQpCiAgICAgIC5vbignZGVzdHJveScsIGZ1bmN0aW9uKCkgewogICAgICAgIC8vIHJlbW92ZSBl
dmVudCBoYW5kbGVyCiAgICAgICAgdGFibGUub2ZmKCdkcmF3LmR0LmR0aCBjb2x1bW4tdmlzaWJpbGl0eS5
kdC5kdGggY29sdW1uLXJlb3JkZXIuZHQuZHRoJyk7CiAgICAgIH0pOwoKICAgICAgLy8gU2V0IHRoZSBvcH
Rpb24gZm9yIGVzY2FwaW5nIHJlZ2V4IGNoYXJhY3RlcnMgaW4gb3VyIHNlYXJjaCBzdHJpbmcuICBUaGlzI
HdpbGwgYmUgdXNlZAogICAgICAvLyBmb3IgYWxsIGZ1dHVyZSBtYXRjaGluZy4KICAgICAgalF1ZXJ5LmZu
LmhpZ2hsaWdodC5vcHRpb25zLmVzY2FwZVJlZ2V4ID0gKCFvcHRpb25zLnNlYXJjaCB8fCAhb3B0aW9ucy5
zZWFyY2gucmVnZXgpOwoKICAgICAgLy8gaW5pdGlhbCBoaWdobGlnaHQgZm9yIHN0YXRlIHNhdmVkIGNvbm
RpdGlvbnMgYW5kIGluaXRpYWwgc3RhdGVzCiAgICAgIGhpZ2hsaWdodCgpOwogICAgfQoKICAgIC8vIHJ1b
iB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gb24gdGhlIHRhYmxlIGluc3RhbmNlCiAgICBpZiAodHlwZW9mIGRh
dGEuY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIGRhdGEuY2FsbGJhY2sodGFibGUpOwoKICAgIC8vIGRvdWJ
sZSBjbGljayB0byBlZGl0IHRoZSBjZWxsLCByb3csIGNvbHVtbiwgb3IgYWxsIGNlbGxzCiAgICBpZiAoZG
F0YS5lZGl0YWJsZSkgdGFibGUub24oJ2RibGNsaWNrLmR0JywgJ3Rib2R5IHRkJywgZnVuY3Rpb24oZSkge
wogICAgICAvLyBvbmx5IGJyaW5nIHVwIHRoZSBlZGl0b3Igd2hlbiB0aGUgY2VsbCBpdHNlbGYgaXMgZGJj
bGlja2VkLCBhbmQgaWdub3JlCiAgICAgIC8vIG90aGVyIGRiY2xpY2sgZXZlbnRzIGJ1YmJsZWQgdXAgKGU
uZy4gZnJvbSB0aGUgPGlucHV0PikKICAgICAgaWYgKGUudGFyZ2V0ICE9PSB0aGlzKSByZXR1cm47CiAgIC
AgIHZhciB0YXJnZXQgPSBbXSwgaW1tZWRpYXRlID0gZmFsc2U7CiAgICAgIHN3aXRjaCAoZGF0YS5lZGl0Y
WJsZS50YXJnZXQpIHsKICAgICAgICBjYXNlICdjZWxsJzoKICAgICAgICAgIHRhcmdldCA9IFt0aGlzXTsK
ICAgICAgICAgIGltbWVkaWF0ZSA9IHRydWU7ICAvLyBlZGl0IHdpbGwgdGFrZSBlZmZlY3QgaW1tZWRpYXR
lbHkKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3Jvdyc6CiAgICAgICAgICB0YXJnZXQgPSB0YW
JsZS5jZWxscyh0YWJsZS5jZWxsKHRoaXMpLmluZGV4KCkucm93LCAnKicpLm5vZGVzKCk7CiAgICAgICAgI
CBicmVhazsKICAgICAgICBjYXNlICdjb2x1bW4nOgogICAgICAgICAgdGFyZ2V0ID0gdGFibGUuY2VsbHMo
JyonLCB0YWJsZS5jZWxsKHRoaXMpLmluZGV4KCkuY29sdW1uKS5ub2RlcygpOwogICAgICAgICAgYnJlYWs
7CiAgICAgICAgY2FzZSAnYWxsJzoKICAgICAgICAgIHRhcmdldCA9IHRhYmxlLmNlbGxzKCkubm9kZXMoKT
sKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICB0aHJvdyAnVGhlIGVkaXRhY
mxlIHBhcmFtZXRlciBtdXN0IGJlICJjZWxsIiwgInJvdyIsICJjb2x1bW4iLCBvciAiYWxsIic7CiAgICAg
IH0KICAgICAgdmFyIGRpc2FibGVDb2xzID0gZGF0YS5lZGl0YWJsZS5kaXNhYmxlID8gZGF0YS5lZGl0YWJ
sZS5kaXNhYmxlLmNvbHVtbnMgOiBudWxsOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhcmdldC5sZW
5ndGg7IGkrKykgewogICAgICAgIChmdW5jdGlvbihjZWxsLCBjdXJyZW50KSB7CiAgICAgICAgICB2YXIgJ
GNlbGwgPSAkKGNlbGwpLCBodG1sID0gJGNlbGwuaHRtbCgpOwogICAgICAgICAgdmFyIF9jZWxsID0gdGFi
bGUuY2VsbChjZWxsKSwgdmFsdWUgPSBfY2VsbC5kYXRhKCk7CiAgICAgICAgICB2YXIgJGlucHV0ID0gJCg
nPGlucHV0IHR5cGU9InRleHQiPicpLCBjaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgICBpZiAoIWltbWVkaW
F0ZSkgewogICAgICAgICAgICAkY2VsbC5kYXRhKCdpbnB1dCcsICRpbnB1dCkuZGF0YSgnaHRtbCcsIGh0b
WwpOwogICAgICAgICAgICAkaW5wdXQuYXR0cigndGl0bGUnLCAnSGl0IEN0cmwrRW50ZXIgdG8gZmluaXNo
IGVkaXRpbmcsIG9yIEVzYyB0byBjYW5jZWwnKTsKICAgICAgICAgIH0KICAgICAgICAgICRpbnB1dC52YWw
odmFsdWUpOwogICAgICAgICAgaWYgKGluQXJyYXkoX2NlbGwuaW5kZXgoKS5jb2x1bW4sIGRpc2FibGVDb2
xzKSkgewogICAgICAgICAgICAkaW5wdXQuYXR0cigncmVhZG9ubHknLCAnJykuY3NzKCdmaWx0ZXInLCAna
W52ZXJ0KDI1JSknKTsKICAgICAgICAgIH0KICAgICAgICAgICRjZWxsLmVtcHR5KCkuYXBwZW5kKCRpbnB1
dCk7CiAgICAgICAgICBpZiAoY2VsbCA9PT0gY3VycmVudCkgJGlucHV0LmZvY3VzKCk7CiAgICAgICAgICA
kaW5wdXQuY3NzKCd3aWR0aCcsICcxMDAlJyk7Cg
ogICAgICAgICAgaWYgKGltbWVkaWF0ZSkgJGlucHV0Lm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgI
CAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgICAgIHZhciB2YWx1ZU5ldyA9ICRpbnB1dC52YWwo
KTsKICAgICAgICAgICAgaWYgKHZhbHVlTmV3ICE9IHZhbHVlKSB7CiAgICAgICAgICAgICAgX2NlbGwuZGF
0YSh2YWx1ZU5ldyk7CiAgICAgICAgICAgICAgaWYgKEhUTUxXaWRnZXRzLnNoaW55TW9kZSkgewogICAgIC
AgICAgICAgICAgY2hhbmdlSW5wdXQoJ2NlbGxfZWRpdCcsIFtjZWxsSW5mbyhjZWxsKV0sICdEVC5jZWxsS
W5mbycsIG51bGwsIHtwcmlvcml0eTogImV2ZW50In0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAvLyBmb3Igc2VydmVyLXNpZGUgcHJvY2Vzc2luZywgdXNlcnMgaGF2ZSB0byBjYWxsIHJlcGxhY2VEYXR
hKCkgdG8gdXBkYXRlIHRoZSB0YWJsZQogICAgICAgICAgICAgIGlmICghc2VydmVyKSB0YWJsZS5kcmF3KG
ZhbHNlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAkY2VsbC5odG1sKGh0bWwpOwogI
CAgICAgICAgICB9CiAgICAgICAgICAgICRpbnB1dC5yZW1vdmUoKTsKICAgICAgICAgIH0pLm9uKCdibHVy
JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICghY2hhbmdlZCkgJGlucHV0LnRyaWdnZXIoJ2NoYW5
nZScpOwogICAgICAgICAgfSkub24oJ2tleXVwJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAvLyBoaX
QgRXNjYXBlIHRvIGNhbmNlbCBlZGl0aW5nCiAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSAka
W5wdXQudHJpZ2dlcignYmx1cicpOwogICAgICAgICAgfSk7CgogICAgICAgICAgLy8gYnVsayBlZGl0IChy
b3csIGNvbHVtbiwgb3IgYWxsKQogICAgICAgICAgaWYgKCFpbW1lZGlhdGUpICRpbnB1dC5vbigna2V5dXA
nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciByZW1vdmVJbnB1dCA9IGZ1bmN0aW9uKCRjZWxsLC
ByZXN0b3JlKSB7CiAgICAgICAgICAgICAgJGNlbGwuZGF0YSgnaW5wdXQnKS5yZW1vdmUoKTsKICAgICAgI
CAgICAgICBpZiAocmVzdG9yZSkgJGNlbGwuaHRtbCgkY2VsbC5kYXRhKCdodG1sJykpOwogICAgICAgICAg
ICB9CiAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSB7CiAgICAgICAgICAgICAgZm9yICh2YXI
gaSA9IDA7IGkgPCB0YXJnZXQubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHJlbW92ZUlucHV0KC
QodGFyZ2V0W2ldKSwgdHJ1ZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGUua
2V5Q29kZSA9PT0gMTMgJiYgZS5jdHJsS2V5KSB7CiAgICAgICAgICAgICAgLy8gQ3RybCArIEVudGVyCiAg
ICAgICAgICAgICAgdmFyIGNlbGwsICRjZWxsLCBfY2VsbCwgY2VsbERhdGEgPSBbXTsKICAgICAgICAgICA
gICBmb3IgKHZhciBpID0gMDsgaSA8IHRhcmdldC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgY2
VsbCA9IHRhcmdldFtpXTsgJGNlbGwgPSAkKGNlbGwpOyBfY2VsbCA9IHRhYmxlLmNlbGwoY2VsbCk7CiAgI
CAgICAgICAgICAgICBfY2VsbC5kYXRhKCRjZWxsLmRhdGEoJ2lucHV0JykudmFsKCkpOwogICAgICAgICAg
ICAgICAgSFRNTFdpZGdldHMuc2hpbnlNb2RlICYmIGNlbGxEYXRhLnB1c2goY2VsbEluZm8oY2VsbCkpOwo
gICAgICAgICAgICAgICAgcmVtb3ZlSW5wdXQoJGNlbGwsIGZhbHNlKTsKICAgICAgICAgICAgICB9CiAgIC
AgICAgICAgICAgaWYgKEhUTUxXaWRnZXRzLnNoaW55TW9kZSkgewogICAgICAgICAgICAgICAgY2hhbmdlS
W5wdXQoJ2NlbGxfZWRpdCcsIGNlbGxEYXRhLCAnRFQuY2VsbEluZm8nLCBudWxsLCB7cHJpb3JpdHk6ICJl
dmVudCJ9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKCFzZXJ2ZXIpIHRhYmxlLmRyYXc
oZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9KSh0YXJnZXRbaV0sIHRoaX
MpOwogICAgICB9CiAgICB9KTsKCiAgICAvLyBpbnRlcmFjdGlvbiB3aXRoIHNoaW55CiAgICBpZiAoIUhUT
UxXaWRnZXRzLnNoaW55TW9kZSAmJiAhY3Jvc3N0YWxrT3B0aW9ucy5ncm91cCkgcmV0dXJuOwoKICAgIHZh
ciBtZXRob2RzID0ge307CiAgICB2YXIgc2hpbnlEYXRhID0ge307CgogICAgbWV0aG9kcy51cGRhdGVDYXB
0aW9uID0gZnVuY3Rpb24oY2FwdGlvbikgewogICAgICBpZiAoIWNhcHRpb24pIHJldHVybjsKICAgICAgJH
RhYmxlLmNoaWxkcmVuKCdjYXB0aW9uJykucmVwbGFjZVdpdGgoY2FwdGlvbik7CiAgICB9CgogICAgLy8gc
mVnaXN0ZXIgY2xlYXIgZnVuY3Rpb25zIHRvIHJlbW92ZSBpbnB1dCB2YWx1ZXMgd2hlbiB0aGUgdGFibGUg
aXMgcmVtb3ZlZAogICAgaW5zdGFuY2UuY2xlYXJJbnB1dHMgPSB7fTsKCiAgICB2YXIgY2hhbmdlSW5wdXQ
gPSBmdW5jdGlvbihpZCwgdmFsdWUsIHR5cGUsIG5vQ3Jvc3N0YWxrLCBvcHRzKSB7CiAgICAgIHZhciBldm
VudCA9IGlkOwogICAgICBpZCA9IGVsLmlkICsgJ18nICsgaWQ7CiAgICAgIGlmICh0eXBlKSBpZCA9IGlkI
CsgJzonICsgdHlwZTsKICAgICAgLy8gZG8gbm90IHVwZGF0ZSBpZiB0aGUgbmV3IHZhbHVlIGlzIHRoZSBz
YW1lIGFzIG9sZCB2YWx1ZQogICAgICBpZiAoZXZlbnQgIT09ICdjZWxsX2VkaXQnICYmIHNoaW55RGF0YS5
oYXNPd25Qcm9wZXJ0eShpZCkgJiYgc2hpbnlEYXRhW2lkXSA9PT0gSlNPTi5zdHJpbmdpZnkodmFsdWUpKQ
ogICAgICAgIHJldHVybjsKICAgICAgc2hpbnlEYXRhW2lkXSA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTsKI
CAgICAgaWYgKEhUTUxXaWRnZXRzLnNoaW55TW9kZSAmJiBTaGlueS5zZXRJbnB1dFZhbHVlKSB7CiAgICAg
ICAgU2hpbnkuc2V0SW5wdXRWYWx1ZShpZCwgdmFsdWUsIG9wdHMpOwogICAgICAgIGlmICghaW5zdGFuY2U
uY2xlYXJJbnB1dHNbaWRdKSBpbnN0YW5jZS5jbGVhcklucHV0c1tpZF0gPSBmdW5jdGlvbigpIHsKICAgIC
AgICAgIFNoaW55LnNldElucHV0VmFsdWUoaWQsIG51bGwpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgL
y8gSEFDSwogICAgICBpZiAoZXZlbnQgPT09ICJyb3dzX3NlbGVjdGVkIiAmJiAhbm9Dcm9zc3RhbGspIHsK
ICAgICAgICBpZiAoY3Jvc3N0YWxrT3B0aW9ucy5ncm91cCkgewogICAgICAgICAgdmFyIGtleXMgPSBjcm9
zc3RhbGtPcHRpb25zLmtleTsKICAgICAgICAgIHZhciBzZWxlY3RlZEtleXMgPSBudWxsOwogICAgICAgIC
AgaWYgKHZhbHVlKSB7CiAgICAgICAgICAgIHNlbGVjdGVkS2V5cyA9IFtdOwogICAgICAgICAgICBmb3IgK
HZhciBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgLy8gVGhlIHZhbHVl
IGFycmF5J3MgY29udGVudHMgdXNlIDEtYmFzZWQgcm93IG51bWJlcnMsIHNvIHdlIG11c3QKICAgICAgICA
gICAgICAvLyBjb252ZXJ0IHRvIDAtYmFzZWQgYmVmb3JlIGluZGV4aW5nIGludG8gdGhlIGtleXMgYXJyYX
kuCiAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzLnB1c2goa2V5c1t2YWx1ZVtpXSAtIDFdKTsKICAgICAgI
CAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaW5zdGFuY2UuY3RzZWxlY3RIYW5kbGUuc2V0KHNlbGVj
dGVkS2V5cyk7CiAgICAgICAgfQogICAgICB9CiAgICB9OwoKICAgIHZhciBhZGRPbmUgPSBmdW5jdGlvbih
4KSB7CiAgICAgIHJldHVybiB4Lm1hcChmdW5jdGlvbihpKSB7IHJldHVybiAxICsgaTsgfSk7CiAgICB9Ow
oKICAgIHZhciB1bmlxdWUgPSBmdW5jdGlvbih4KSB7CiAgICAgIHZhciB1eCA9IFtdOwogICAgICAkLmVhY
2goeCwgZnVuY3Rpb24oaSwgZWwpewogICAgICAgIGlmICgkLmluQXJyYXkoZWwsIHV4KSA9PT0gLTEpIHV4
LnB1c2goZWwpOwogICAgICB9KTsKICAgICAgcmV0dXJuIHV4OwogICAgfQoKICAgIC8vIGNoYW5nZSB0aGU
gcm93IGluZGV4IG9mIGEgY2VsbAogICAgdmFyIHR3ZWFrQ2VsbEluZGV4ID0gZnVuY3Rpb24oY2VsbCkgew
ogICAgICB2YXIgaW5mbyA9IGNlbGwuaW5kZXgoKTsKICAgICAgLy8gc29tZSBjZWxsIG1heSBub3QgYmUgd
mFsaWQuIGUuZywgIzc1OQogICAgICAvLyB3aGVuIHVzaW5nIHRoZSBSb3dHcm91cCBleHRlbnNpb24sIGRh
dGF0YWJsZXMgd2lsbAogICAgICAvLyBnZW5lcmF0ZSB0aGUgcm93IGxhYmVsIGFuZCB0aGUgY2VsbHMgYXJ
lIG5vdCBwYXJ0IG9mCiAgICAgIC8vIHRoZSBkYXRhIHRodXMgY29udGFpbiBubyByb3cvY29sIGluZm8KIC
AgICAgaWYgKGluZm8gPT09IHVuZGVmaW5lZCkKICAgICAgICByZXR1cm4ge3JvdzogbnVsbCwgY29sOiBud
WxsfTsKICAgICAgaWYgKHNlcnZlcikgewogICAgICAgIGluZm8ucm93ID0gRFRfcm93c19jdXJyZW50W2lu
Zm8ucm93XTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpbmZvLnJvdyArPSAxOwogICAgICB9CiAgICAgIHJ
ldHVybiB7cm93OiBpbmZvLnJvdywgY29sOiBpbmZvLmNvbHVtbn07CiAgICB9CgogICAgLy8gYSBmbGFnIH
RvIGluZGljYXRlcyBpZiBzZWxlY3QgZXh0ZW5zaW9uIGlzIGluaXRpYWxpemVkIG9yIG5vdAogICAgdmFyI
GZsYWdTZWxlY3RFeHQgPSB0YWJsZS5zZXR0aW5ncygpWzBdLl9zZWxlY3QgIT09IHVuZGVmaW5lZDsKICAg
IC8vIHRoZSBTZWxlY3QgZXh0ZW5zaW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gdGhlIGNsaWVudCBtb2R
lIGFuZAogICAgLy8gd2hlbiB0aGUgc2VsZWN0aW9uLm1vZGUgaXMgc2V0IHRvIG5vbmUKICAgIGlmIChkYX
RhLnNlbGVjdGlvbi5tb2RlID09PSAnbm9uZScgJiYgIXNlcnZlciAmJiBmbGFnU2VsZWN0RXh0KSB7CiAgI
CAgIHZhciB1cGRhdGVSb3dzU2VsZWN0ZWQgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgcm93cyA9IHRh
YmxlLnJvd3Moe3NlbGVjdGVkOiB0cnVlfSk7CiAgICAgICAgdmFyIHNlbGVjdGVkID0gW107CiAgICAgICA
gJC5lYWNoKHJvd3MuaW5kZXhlcygpLnRvQXJyYXkoKSwgZnVuY3Rpb24oaSwgdikgewogICAgICAgICAgc2
VsZWN0ZWQucHVzaCh2ICsgMSk7CiAgICAgICAgfSk7CiAgICAgICAgY2hhbmdlSW5wdXQoJ3Jvd3Nfc2VsZ
WN0ZWQnLCBzZWxlY3RlZCk7CiAgICAgIH0KICAgICAgdmFyIHVwZGF0ZUNvbHNTZWxlY3RlZCA9IGZ1bmN0
aW9uKCkgewogICAgICAgIHZhciBjb2x1bW5zID0gdGFibGUuY29sdW1ucyh7c2VsZWN0ZWQ6IHRydWV9KTs
KICAgICAgICBjaGFuZ2VJbnB1dCgnY29sdW1uc19zZWxlY3RlZCcsIGNvbHVtbnMuaW5kZXhlcygpLnRvQX
JyYXkoKSk7CiAgICAgIH0KICAgICAgdmFyIHVwZGF0ZUNlbGxzU2VsZWN0ZWQgPSBmdW5jdGlvbigpIHsKI
CAgICAgICB2YXIgY2VsbHMgPSB0YWJsZS5jZWxscyh7c2VsZWN0ZWQ6IHRydWV9KTsKICAgICAgICB2YXIg
c2VsZWN0ZWQgPSBbXTsKICAgICAgICBjZWxscy5ldmVyeShmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB
yb3cgPSB0aGlzLmluZGV4KCkucm93OwogICAgICAgICAgdmFyIGNvbCA9IHRoaXMuaW5kZXgoKS5jb2x1bW
47CiAgICAgICAgICBzZWxlY3RlZCA9IHNlbGVjdGVkLmNvbmNhdChbW3JvdyArIDEsIGNvbF1dKTsKICAgI
CAgICB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJE
KHNlbGVjdGVkKSwgJ3NoaW55Lm1hdHJpeCcpOwogICAgICB9CiAgICAgIHRhYmxlLm9uKCdzZWxlY3QgZGV
zZWxlY3QnLCBmdW5jdGlvbihlLCBkdCwgdHlwZSwgaW5kZXhlcykgewogICAgICAgIHVwZGF0ZVJvd3NTZW
xlY3RlZCgpOwogICAgICAgIHVwZGF0ZUNvbHNTZWxlY3RlZCgpOwogICAgICAgIHVwZGF0ZUNlbGxzU2VsZ
WN0ZWQoKTsKICAgICAgfSkKICAgIH0KCiAgICB2YXIgc2VsTW9kZSA9IGRhdGEuc2VsZWN0aW9uLm1vZGUs
IHNlbFRhcmdldCA9IGRhdGEuc2VsZWN0aW9uLnRhcmdldDsKICAgIGlmIChpbkFycmF5KHNlbE1vZGUsIFs
nc2luZ2xlJywgJ211bHRpcGxlJ10pKSB7CiAgICAgIHZhciBzZWxDbGFzcyA9IGluQXJyYXkoZGF0YS5zdH
lsZSwgWydib290c3RyYXAnLCAnYm9vdHN0cmFwNCddKSA/
ICdhY3RpdmUnIDogJ3NlbGVjdGVkJzsKICAgICAgdmFyIHNlbGVjdGVkID0gZGF0YS5zZWxlY3Rpb24uc2V
sZWN0ZWQsIHNlbGVjdGVkMSwgc2VsZWN0ZWQyOwogICAgICAvLyBzZWxlY3RlZDE6IHJvdyBpbmRpY2VzOy
BzZWxlY3RlZDI6IGNvbHVtbiBpbmRpY2VzCiAgICAgIGlmIChzZWxlY3RlZCA9PT0gbnVsbCkgewogICAgI
CAgIHNlbGVjdGVkMSA9IHNlbGVjdGVkMiA9IFtdOwogICAgICB9IGVsc2UgaWYgKHNlbFRhcmdldCA9PT0g
J3JvdycpIHsKICAgICAgICBzZWxlY3RlZDEgPSAkLm1ha2VBcnJheShzZWxlY3RlZCk7CiAgICAgIH0gZWx
zZSBpZiAoc2VsVGFyZ2V0ID09PSAnY29sdW1uJykgewogICAgICAgIHNlbGVjdGVkMiA9ICQubWFrZUFycm
F5KHNlbGVjdGVkKTsKICAgICAgfSBlbHNlIGlmIChzZWxUYXJnZXQgPT09ICdyb3crY29sdW1uJykgewogI
CAgICAgIHNlbGVjdGVkMSA9ICQubWFrZUFycmF5KHNlbGVjdGVkLnJvd3MpOwogICAgICAgIHNlbGVjdGVk
MiA9ICQubWFrZUFycmF5KHNlbGVjdGVkLmNvbHMpOwogICAgICB9CgogICAgICAvLyBBZnRlciB1c2VycyB
yZW9yZGVyIHRoZSByb3dzIG9yIGZpbHRlciB0aGUgdGFibGUsIHdlIGNhbm5vdCB1c2UgdGhlIHRhYmxlIG
luZGV4CiAgICAgIC8vIGRpcmVjdGx5LiBJbnN0ZWFkLCB3ZSBuZWVkIHRoaXMgZnVuY3Rpb24gdG8gZmluZ
CBvdXQgdGhlIHJvd3MgYmV0d2VlbiB0aGUgdHdvIGNsaWNrcy4KICAgICAgLy8gSWYgdXNlciBmaWx0ZXIg
dGhlIHRhYmxlIGFnYWluIGJldHdlZW4gdGhlIHN0YXJ0IGNsaWNrIGFuZCB0aGUgZW5kIGNsaWNrLCB0aGU
gYmVoYXZpb3IKICAgICAgLy8gd291bGQgYmUgdW5kZWZpbmVkLCBidXQgaXQgc2hvdWxkIG5vdCBiZSBhIH
Byb2JsZW0uCiAgICAgIHZhciBzaGlmdFNlbFJvd3NJbmRleCA9IGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKI
CAgICAgICB2YXIgaW5kZXhlcyA9IHNlcnZlciA/
IERUX3Jvd3NfYWxsIDogdGFibGUucm93cyh7IHNlYXJjaDogJ2FwcGxpZWQnIH0pLmluZGV4ZXMoKS50b0F
ycmF5KCk7CiAgICAgICAgc3RhcnQgPSBpbmRleGVzLmluZGV4T2Yoc3RhcnQpOyBlbmQgPSBpbmRleGVzLm
luZGV4T2YoZW5kKTsKICAgICAgICAvLyBpZiBzdGFydCBpcyBsYXJnZXIgdGhhbiBlbmQsIHdlIG5lZWQgd
G8gc3dhcAogICAgICAgIGlmIChzdGFydCA+IGVuZCkgewogICAgICAgICAgdmFyIHRtcCA9IGVuZDsgZW5k
ID0gc3RhcnQ7IHN0YXJ0ID0gdG1wOwogICAgICAgIH0KICAgICAgICByZXR1cm4gaW5kZXhlcy5zbGljZSh
zdGFydCwgZW5kICsgMSk7CiAgICAgIH0KCiAgICAgIHZhciBzZXJ2ZXJSb3dJbmRleCA9IGZ1bmN0aW9uKG
NsaWVudFJvd0luZGV4KSB7CiAgICAgICAgcmV0dXJuIHNlcnZlciA/
IERUX3Jvd3NfY3VycmVudFtjbGllbnRSb3dJbmRleF0gOiBjbGllbnRSb3dJbmRleCArIDE7CiAgICAgIH0
KCiAgICAgIC8vIHJvdywgY29sdW1uLCBvciBjZWxsIHNlbGVjdGlvbgogICAgICB2Y
XIgbGFzdENsaWNrZWRSb3c7CiAgICAgIGlmIChpbkFycmF5KHNlbFRhcmdldCwgWydyb3cnLCAncm93K2Nv
bHVtbiddKSkgewogICAgICAgIHZhciBzZWxlY3RlZFJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHZ
hciByb3dzID0gdGFibGUucm93cygnLicgKyBzZWxDbGFzcyk7CiAgICAgICAgICB2YXIgaWR4ID0gcm93cy
5pbmRleGVzKCkudG9BcnJheSgpOwogICAgICAgICAgaWYgKCFzZXJ2ZXIpIHJldHVybiBhZGRPbmUoaWR4K
TsKICAgICAgICAgIGlkeCA9IGlkeC5tYXAoZnVuY3Rpb24oaSkgewogICAgICAgICAgICByZXR1cm4gRFRf
cm93c19jdXJyZW50W2ldOwogICAgICAgICAgfSk7CiAgICAgICAgICBzZWxlY3RlZDEgPSBzZWxNb2RlID0
9PSAnbXVsdGlwbGUnID8gdW5pcXVlKHNlbGVjdGVkMS5jb25jYXQoaWR4KSkgOiBpZHg7CiAgICAgICAgIC
ByZXR1cm4gc2VsZWN0ZWQxOwogICAgICAgIH0KICAgICAgICB0YWJsZS5vbignbW91c2Vkb3duLmR0JywgJ
3Rib2R5IHRyJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwgdGhpc1Jv
dyA9IHRhYmxlLnJvdyh0aGlzKTsKICAgICAgICAgIGlmIChzZWxNb2RlID09PSAnbXVsdGlwbGUnKSB7CiA
gICAgICAgICAgIGlmIChlLnNoaWZ0S2V5ICYmIGxhc3RDbGlja2VkUm93ICE9PSB1bmRlZmluZWQpIHsKIC
AgICAgICAgICAgICAvLyBzZWxlY3Qgb3IgZGUtc2VsZWN0IGRlcGVuZHMgb24gdGhlIGxhc3QgY2xpY2tlZ
CByb3cncyBzdGF0dXMKICAgICAgICAgICAgICB2YXIgZmxhZ1NlbCA9ICEkdGhpcy5oYXNDbGFzcyhzZWxD
bGFzcyk7CiAgICAgICAgICAgICAgdmFyIGNydENsaWNrZWRSb3cgPSBzZXJ2ZXJSb3dJbmRleCh0aGlzUm9
3LmluZGV4KCkpOwogICAgICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgICAgIHZhciByb3
dzSW5kZXggPSBzaGlmdFNlbFJvd3NJbmRleChsYXN0Q2xpY2tlZFJvdywgY3J0Q2xpY2tlZFJvdyk7CiAgI
CAgICAgICAgICAgICAvLyB1cGRhdGUgY3VycmVudCBwYWdlJ3Mgc2VsQ2xhc3MKICAgICAgICAgICAgICAg
IHJvd3NJbmRleC5tYXAoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgICAgICB2YXIgcm93SW5kZXggPSB
EVF9yb3dzX2N1cnJlbnQuaW5kZXhPZihpKTsKICAgICAgICAgICAgICAgICAgaWYgKHJvd0luZGV4ID49ID
ApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gdGFibGUucm93KHJvd0luZGV4KS5ub2RlcygpL
nRvJCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBmbGFnUm93U2VsID0gIXJvdy5oYXNDbGFzcyhzZWxD
bGFzcyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdTZWwgPT09IGZsYWdSb3dTZWwpIHJvdy50b2d
nbGVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogIC
AgICAgICAgICAgICAgLy8gdXBkYXRlIHNlbGVjdGVkMQogICAgICAgICAgICAgICAgaWYgKGZsYWdTZWwpI
HsKICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQxID0gdW5pcXVlKHNlbGVjdGVkMS5jb25jYXQocm93c0lu
ZGV4KSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBzZWxlY3RlZDEgPSB
zZWxlY3RlZDEuZmlsdGVyKGZ1bmN0aW9uKGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC
FpbkFycmF5KGluZGV4LCByb3dzSW5kZXgpOwogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgI
CAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8ganMgc3RhcnRzIGZyb20g
MAogICAgICAgICAgICAgICAgc2hpZnRTZWxSb3dzSW5kZXgobGFzdENsaWNrZWRSb3cgLSAxLCBjcnRDbGl
ja2VkUm93IC0gMSkubWFwKGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgIHZhciByb3cgPS
B0YWJsZS5yb3codmFsdWUpLm5vZGVzKCkudG8kKCk7CiAgICAgICAgICAgICAgICAgIHZhciBmbGFnUm93U
2VsID0gIXJvdy5oYXNDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICAgICAgIGlmIChmbGFnU2VsID09
PSBmbGFnUm93U2VsKSByb3cudG9nZ2xlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICAgICAgfSk7CiA
gICAgICAgICAgICAgfQogICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfS
BlbHNlIHsKICAgICAgICAgICAgICAkdGhpcy50b2dnbGVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgI
H0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICgkdGhpcy5oYXNDbGFzcyhzZWxDbGFzcykp
IHsKICAgICAgICAgICAgICAkdGhpcy5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIH0gZWx
zZSB7CiAgICAgICAgICAgICAgdGFibGUuJCgndHIuJyArIHNlbENsYXNzKS5yZW1vdmVDbGFzcyhzZWxDbG
Fzcyk7CiAgICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICB9CiAgI
CAgICAgICB9CiAgICAgICAgICBpZiAoc2VydmVyICYmICEkdGhpcy5oYXNDbGFzcyhzZWxDbGFzcykpIHsK
ICAgICAgICAgICAgdmFyIGlkID0gRFRfcm93c19jdXJyZW50W3RoaXNSb3cuaW5kZXgoKV07CiAgICAgICA
gICAgIC8vIHJlbW92ZSBpZCBmcm9tIHNlbGVjdGVkMSBzaW5jZSBpdHMgY2xhc3MgLnNlbGVjdGVkIGhhcy
BiZWVuIHJlbW92ZWQKICAgICAgICAgICAgaWYgKGluQXJyYXkoaWQsIHNlbGVjdGVkMSkpIHNlbGVjdGVkM
S5zcGxpY2UoJC5pbkFycmF5KGlkLCBzZWxlY3RlZDEpLCAxKTsKICAgICAgICAgIH0KICAgICAgICAgIGNo
YW5nZUlucHV0KCdyb3dzX3NlbGVjdGVkJywgc2VsZWN0ZWRSb3dzKCkpOwogICAgICAgICAgY2hhbmdlSW5
wdXQoJ3Jvd19sYXN0X2NsaWNrZWQnLCBzZXJ2ZXJSb3dJbmRleCh0aGlzUm93LmluZGV4KCkpKTsKICAgIC
AgICAgIGxhc3RDbGlja2VkUm93ID0gc2VydmVyUm93SW5kZXgodGhpc1Jvdy5pbmRleCgpKTsKICAgICAgI
CB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgncm93c19zZWxlY3RlZCcsIHNlbGVjdGVkMSk7CiAgICAgICAg
dmFyIHNlbGVjdFJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHRhYmxlLiQoJ3RyLicgKyBzZWxDbGF
zcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgaWYgKHNlbGVjdGVkMS5sZW5ndGggPT09ID
ApIHJldHVybjsKICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgdGFibGUucm93cyh7cGFnZ
TogJ2N1cnJlbnQnfSkuZXZlcnkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKGluQXJyYXkoRFRf
cm93c19jdXJyZW50W3RoaXMuaW5kZXgoKV0sIHNlbGVjdGVkMSkpIHsKICAgICAgICAgICAgICAgICQodGh
pcy5ub2RlKCkpLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOw
ogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkMCA9IHNlbGVjdGVkMS5tYXAoZ
nVuY3Rpb24oaSkgeyByZXR1cm4gaSAtIDE7IH0pOwogICAgICAgICAgICAkKHRhYmxlLnJvd3Moc2VsZWN0
ZWQwKS5ub2RlcygpKS5hZGRDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICA
gIHNlbGVjdFJvd3MoKTsgIC8vIGluIGNhc2UgdXNlcnMgaGF2ZSBzcGVjaWZpZWQgcHJlLXNlbGVjdGVkIH
Jvd3MKICAgICAgICAvLyByZXN0b3JlIHNlbGVjdGVkIHJvd3MgYWZ0ZXIgdGhlIHRhYmxlIGlzIHJlZHJhd
24gKGUuZy4gc29ydC9zZWFyY2gvcGFnZSk7CiAgICAgICAgLy8gY2xpZW50LXNpZGUgdGFibGVzIHdpbGwg
cHJlc2VydmUgdGhlIHNlbGVjdGlvbnMgYXV0b21hdGljYWxseTsgZm9yCiAgICAgICAgLy8gc2VydmVyLXN
pZGUgdGFibGVzLCB3ZSBoYXZlIHRvICpyZWFsKiByb3cgaW5kaWNlcyBhcmUgaW4gYHNlbGVjdGVkMWAKIC
AgICAgICBpZiAoc2VydmVyKSB0YWJsZS5vbignZHJhdy5kdCcsIHNlbGVjdFJvd3MpOwogICAgICAgIG1ld
GhvZHMuc2VsZWN0Um93cyA9IGZ1bmN0aW9uKHNlbGVjdGVkKSB7CiAgICAgICAgICBzZWxlY3RlZDEgPSAk
Lm1ha2VBcnJheShzZWxlY3RlZCk7CiAgICAgICAgICBzZWxlY3RSb3dzKCk7CiAgICAgICAgICBjaGFuZ2V
JbnB1dCgncm93c19zZWxlY3RlZCcsIHNlbGVjdGVkMSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZi
AoaW5BcnJheShzZWxUYXJnZXQsIFsnY29sdW1uJywgJ3Jvdytjb2x1bW4nXSkpIHsKICAgICAgICBpZiAoc
2VsVGFyZ2V0ID09PSAncm93K2NvbHVtbicpIHsKICAgICAgICAgICQodGFibGUuY29sdW1ucygpLmZvb3Rl
cigpKS5jc3MoJ2N1cnNvcicsICdwb2ludGVyJyk7CiAgICAgICAgfQogICAgICAgIHZhciBjYWxsYmFjayA
9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIGNvbElkeCA9IHNlbFRhcmdldCA9PT0gJ2NvbHVtbicgPy
B0YWJsZS5jZWxsKHRoaXMpLmluZGV4KCkuY29sdW1uIDoKICAgICAgICAgICAgICAkLmluQXJyYXkodGhpc
ywgdGFibGUuY29sdW1ucygpLmZvb3RlcigpKSwKICAgICAgICAgICAgICB0aGlzQ29sID0gJCh0YWJsZS5j
b2x1bW4oY29sSWR4KS5ub2RlcygpKTsKICAgICAgICAgIGlmIChjb2xJZHggPT09IC0xKSByZXR1cm47CiA
gICAgICAgICBpZiAodGhpc0NvbC5oYXNDbGFzcyhzZWxDbGFzcykpIHsKICAgICAgICAgICAgdGhpc0NvbC
5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIHNlbGVjdGVkMi5zcGxpY2UoJC5pbkFycmF5K
GNvbElkeCwgc2VsZWN0ZWQyKSwgMSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoc2Vs
TW9kZSA9PT0gJ3NpbmdsZScpICQodGFibGUuY2VsbHMoKS5ub2RlcygpKS5yZW1vdmVDbGFzcyhzZWxDbGF
zcyk7CiAgICAgICAgICAgIHRoaXNDb2wuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICBzZWxlY3
RlZDIgPSBzZWxNb2RlID09PSAnc2luZ2xlJyA/
IFtjb2xJZHhdIDogdW5pcXVlKHNlbGVjdGVkMi5jb25jYXQoW2NvbElkeF0pKTsKICAgICAgICAgIH0KICA
gICAgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZWQyKTsKICAgICAgICB9Ci
AgICAgICAgaWYgKHNlbFRhcmdldCA9PT0gJ2NvbHVtbicpIHsKICAgICAgICAgICQodGFibGUudGFibGUoK
S5ib2R5KCkpLm9uKCdjbGljay5kdCcsICd0ZCcsIGNhbGxiYWNrKTsKICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgJCh0YWJsZS50YWJsZSgpLmZvb3RlcigpKS5vbignY2xpY2suZHQnLCAndHIgdGgnLCBjYWxsYmF
jayk7CiAgICAgICAgfQogICAgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZW
QyKTsKICAgICAgICB2YXIgc2VsZWN0Q29scyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdGFibGUuY29sd
W1ucygpLm5vZGVzKCkuZmxhdHRlbigpLnRvJCgpLnJlbW92ZUNsYXNzKHNlbENsYXNzKTsKICAgICAgICAg
IGlmIChzZWxlY3RlZDIubGVuZ3RoID4gMCkKICAgICAgICAgICAgdGFibGUuY29sdW1ucyhzZWxlY3RlZDI
pLm5vZGVzKCkuZmxhdHRlbigpLnRvJCgpLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICB9CiAgICAgIC
Agc2VsZWN0Q29scygpOyAgLy8gaW4gY2FzZSB1c2VycyBoYXZlIHNwZWNpZmllZCBwcmUtc2VsZWN0ZWQgY
29sdW1ucwogICAgICAgIGlmIChzZXJ2ZXIpIHRhYmxlLm9uKCdkcmF3LmR0Jywgc2VsZWN0Q29scyk7CiAg
ICAgICAgbWV0aG9kcy5zZWxlY3RDb2x1bW5zID0gZnVuY3Rpb24oc2VsZWN0ZWQpIHsKICAgICAgICAgIHN
lbGVjdGVkMiA9ICQubWFrZUFycmF5KHNlbGVjdGVkKTsKICAgICAgICAgIHNlbGVjdENvbHMoKTsKICAgIC
AgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZWQyKTsKICAgICAgICB9CiAgI
CAgIH0KCiAgICAgIGlmIChzZWxUYXJnZXQgPT09ICdjZWxsJykgewogICAgICAgIHZhciBzZWxlY3RlZDM7
CiAgICAgICAgaWYgKHNlbGVjdGVkID09PSBudWxsKSB7CiAgICAgICAgICBzZWxlY3RlZDMgPSBbXTsKICA
gICAgICB9IGVsc2UgewogICAgICAgICAgc2VsZWN0ZWQzID0gc2VsZWN0ZWQ7CiAgICAgICAgfQogICAgIC
AgIHZhciBmaW5kSW5kZXggPSBmdW5jdGlvbihpaikgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgP
CBzZWxlY3RlZDMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGlqWzBdID09PSBzZWxlY3RlZDNb
aV1bMF0gJiYgaWpbMV0gPT09IHNlbGVjdGVkM1tpXVsxXSkgcmV0dXJuIGk7CiAgICAgICAgICB9CiAgICA
gICAgICByZXR1cm4gLTE7CiAgICAgICAgfQogICAgICAgIHRhYmxlLm9uKCdjbGljay5kdCcsICd0Ym9keS
B0ZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwgaW5mbyA9IHR3ZWFrQ
2VsbEluZGV4KHRhYmxlLmNlbGwodGhpcykpOwogICAgICAgICAgaWYgKCR0aGlzLmhhc0NsYXNzKHNlbENs
YXNzKSkgewogICAgICAgICAgICAkdGhpcy5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIHN
lbGVjdGVkMy5zcGxpY2UoZmluZEluZGV4KFtpbmZvLnJvdywgaW5mby5jb2xdKSwgMSk7CiAgICAgICAgIC
B9IGVsc2UgewogICAgICAgICAgICBpZiAoc2VsTW9kZSA9PT0gJ3NpbmdsZScpICQodGFibGUuY2VsbHMoK
S5ub2RlcygpKS5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKHNl
bENsYXNzKTsKICAgICAgICAgICAgc2VsZWN0ZWQzID0gc2VsTW9kZSA9PT0gJ3NpbmdsZScgPyBbW2luZm8
ucm93LCBpbmZvLmNvbF1dIDoKICAgICAgICAgICAgICB1bmlxdWUoc2VsZWN0ZWQzLmNvbmNhdChbW2luZm
8ucm93LCBpbmZvLmNvbF1dKSk7CiAgICAgICAgICB9CiAgICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc
2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAg
ICB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHN
lbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAgICB2YXIgc2VsZWN0Q2VsbHMgPSBmdW5jdGlvbi
gpIHsKICAgICAgICAgIHRhYmxlLiQoJ3RkLicgKyBzZWxDbGFzcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpO
wogICAgICAgICAgaWYgKHNlbGVjdGVkMy5sZW5ndGggPT09IDApIHJldHVybjsKICAgICAgICAgIGlmIChz
ZXJ2ZXIpIHsKICAgICAgICAgICAgdGFibGUuY2VsbHMoe3BhZ2U6ICdjdXJyZW50J30pLmV2ZXJ5KGZ1bmN
0aW9uKCkgewogICAgICAgICAgICAgIHZhciBpbmZvID0gdHdlYWtDZWxsSW5kZXgodGhpcyk7CiAgICAgIC
AgICAgICAgaWYgKGZpbmRJbmRleChbaW5mby5yb3csIGluZm8uY29sXSwgc2VsZWN0ZWQzKSA+IC0xKQogI
CAgICAgICAgICAgICAgJCh0aGlzLm5vZGUoKSkuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICB9
KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNlbGVjdGVkMy5tYXAoZnVuY3Rpb24oaWopIHs
K
ICAgICAgICAgICAgICAkKHRhYmxlLmNlbGwoaWpbMF0gLSAxLCBpalsxXSkubm9kZSgpKS5hZGRDbGFzcyh
zZWxDbGFzcyk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgc2VsZW
N0Q2VsbHMoKTsgIC8vIGluIGNhc2UgdXNlcnMgaGF2ZSBzcGVjaWZpZWQgcHJlLXNlbGVjdGVkIGNvbHVtb
nMKICAgICAgICBpZiAoc2VydmVyKSB0YWJsZS5vbignZHJhdy5kdCcsIHNlbGVjdENlbGxzKTsKICAgICAg
ICBtZXRob2RzLnNlbGVjdENlbGxzID0gZnVuY3Rpb24oc2VsZWN0ZWQpIHsKICAgICAgICAgIHNlbGVjdGV
kMyA9IHNlbGVjdGVkID8gc2VsZWN0ZWQgOiBbXTsKICAgICAgICAgIHNlbGVjdENlbGxzKCk7CiAgICAgIC
AgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksI
CdzaGlueS5tYXRyaXgnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvLyBleHBvc2Ugc29tZSB0
YWJsZSBpbmZvIHRvIFNoaW55CiAgICB2YXIgdXBkYXRlVGFibGVJbmZvID0gZnVuY3Rpb24oZSwgc2V0dGl
uZ3MpIHsKICAgICAgLy8gVE9ETzogaXMgYW55b25lIGludGVyZXN0ZWQgaW4gdGhlIHBhZ2UgaW5mbz8KIC
AgICAgLy8gY2hhbmdlSW5wdXQoJ3BhZ2VfaW5mbycsIHRhYmxlLnBhZ2UuaW5mbygpKTsKICAgICAgdmFyI
HVwZGF0ZVJvd0luZm8gPSBmdW5jdGlvbihpZCwgbW9kaWZpZXIpIHsKICAgICAgICB2YXIgaWR4OwogICAg
ICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgIGlkeCA9IG1vZGlmaWVyLnBhZ2UgPT09ICdjdXJyZW50JyA
/
IERUX3Jvd3NfY3VycmVudCA6IERUX3Jvd3NfYWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXI
gcm93cyA9IHRhYmxlLnJvd3MoJC5leHRlbmQoewogICAgICAgICAgICBzZWFyY2g6ICdhcHBsaWVkJywKIC
AgICAgICAgICAgcGFnZTogJ2FsbCcKICAgICAgICAgIH0sIG1vZGlmaWVyKSk7CiAgICAgICAgICBpZHggP
SBhZGRPbmUocm93cy5pbmRleGVzKCkudG9BcnJheSgpKTsKICAgICAgICB9CiAgICAgICAgY2hhbmdlSW5w
dXQoJ3Jvd3MnICsgJ18nICsgaWQsIGlkeCk7CiAgICAgIH07CiAgICAgIHVwZGF0ZVJvd0luZm8oJ2N1cnJ
lbnQnLCB7cGFnZTogJ2N1cnJlbnQnfSk7CiAgICAgIHVwZGF0ZVJvd0luZm8oJ2FsbCcsIHt9KTsKICAgIH
0KICAgIHRhYmxlLm9uKCdkcmF3LmR0JywgdXBkYXRlVGFibGVJbmZvKTsKICAgIHVwZGF0ZVRhYmxlSW5mb
ygpOwoKICAgIC8vIHN0YXRlIGluZm8KICAgIHRhYmxlLm9uKCdkcmF3LmR0IGNvbHVtbi12aXNpYmlsaXR5
LmR0JywgZnVuY3Rpb24oKSB7CiAgICAgIGNoYW5nZUlucHV0KCdzdGF0ZScsIHRhYmxlLnN0YXRlKCkpOwo
gICAgfSk7CiAgICBjaGFuZ2VJbnB1dCgnc3RhdGUnLCB0YWJsZS5zdGF0ZSgpKTsKCiAgICAvLyBzZWFyY2
ggaW5mbwogICAgdmFyIHVwZGF0ZVNlYXJjaEluZm8gPSBmdW5jdGlvbigpIHsKICAgICAgY2hhbmdlSW5wd
XQoJ3NlYXJjaCcsIHRhYmxlLnNlYXJjaCgpKTsKICAgICAgaWYgKGZpbHRlclJvdykgY2hhbmdlSW5wdXQo
J3NlYXJjaF9jb2x1bW5zJywgZmlsdGVyUm93LnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24odGQpIHsKICAgICA
gICByZXR1cm4gJCh0ZCkuZmluZCgnaW5wdXQnKS5maXJzdCgpLnZhbCgpOwogICAgICB9KSk7CiAgICB9Ci
AgICB0YWJsZS5vbignZHJhdy5kdCcsIHVwZGF0ZVNlYXJjaEluZm8pOwogICAgdXBkYXRlU2VhcmNoSW5mb
ygpOwoKICAgIHZhciBjZWxsSW5mbyA9IGZ1bmN0aW9uKHRoaXopIHsKICAgICAgdmFyIGluZm8gPSB0d2Vh
a0NlbGxJbmRleCh0YWJsZS5jZWxsKHRoaXopKTsKICAgICAgaW5mby52YWx1ZSA9IHRhYmxlLmNlbGwodGh
peikuZGF0YSgpOwogICAgICByZXR1cm4gaW5mbzsKICAgIH0KICAgIC8vIHRoZSBjdXJyZW50IGNlbGwgY2
xpY2tlZCBvbgogICAgdGFibGUub24oJ2NsaWNrLmR0JywgJ3Rib2R5IHRkJywgZnVuY3Rpb24oKSB7CiAgI
CAgIGNoYW5nZUlucHV0KCdjZWxsX2NsaWNrZWQnLCBjZWxsSW5mbyh0aGlzKSk7CiAgICB9KQogICAgY2hh
bmdlSW5wdXQoJ2NlbGxfY2xpY2tlZCcsIHt9KTsKCiAgICAvLyBkbyBub3QgdHJpZ2dlciB0YWJsZSBzZWx
lY3Rpb24gd2hlbiBjbGlja2luZyBvbiBsaW5rcyB1bmxlc3MgdGhleSBoYXZlIGNsYXNzZXMKICAgIHRhYm
xlLm9uKCdjbGljay5kdCcsICd0Ym9keSB0ZCBhJywgZnVuY3Rpb24oZSkgewogICAgICBpZiAodGhpcy5jb
GFzc05hbWUgPT09ICcnKSBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgfSk7CgogICAgbWV0aG9kcy5hZGRS
b3cgPSBmdW5jdGlvbihkYXRhLCByb3duYW1lKSB7CiAgICAgIHZhciBkYXRhMCA9IHRhYmxlLnJvdygwKS5
kYXRhKCksIG4gPSBkYXRhMC5sZW5ndGgsIGQgPSBuIC0gZGF0YS5sZW5ndGg7CiAgICAgIGlmIChkID09PS
AxKSB7CiAgICAgICAgZGF0YSA9IHJvd25hbWUuY29uY2F0KGRhdGEpCiAgICAgIH0gZWxzZSBpZiAoZCAhP
T0gMCkgewogICAgICAgIGNvbnNvbGUubG9nKGRhdGEpOwogICAgICAgIGNvbnNvbGUubG9nKGRhdGEwKTsK
ICAgICAgICB0aHJvdyAnTmV3IGRhdGEgbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGggYXMgY3VycmVudCB
kYXRhICgnICsgbiArICcpJzsKICAgICAgfTsKICAgICAgdGFibGUucm93LmFkZChkYXRhKS5kcmF3KCk7Ci
AgICB9CgogICAgbWV0aG9kcy51cGRhdGVTZWFyY2ggPSBmdW5jdGlvbihrZXl3b3JkcykgewogICAgICBpZ
iAoa2V5d29yZHMuZ2xvYmFsICE9PSBudWxsKQogICAgICAgICQodGFibGUudGFibGUoKS5jb250YWluZXIo
KSkuZmluZCgnaW5wdXRbdHlwZT1zZWFyY2hdJykuZmlyc3QoKQogICAgICAgICAgICAgLnZhbChrZXl3b3J
kcy5nbG9iYWwpLnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgIHZhciBjb2x1bW5zID0ga2V5d29yZHMuY29sdW
1uczsKICAgICAgaWYgKCFmaWx0ZXJSb3cgfHwgY29sdW1ucyA9PT0gbnVsbCkgcmV0dXJuOwogICAgICBma
Wx0ZXJSb3cudG9BcnJheSgpLm1hcChmdW5jdGlvbih0ZCwgaSkgewogICAgICAgIHZhciB2ID0gdHlwZW9m
IGNvbHVtbnMgPT09ICdzdHJpbmcnID8gY29sdW1ucyA6IGNvbHVtbnNbaV07CiAgICAgICAgaWYgKHR5cGV
vZiB2ID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgY29uc29sZS5sb2coJ1RoZSBzZWFyY2gga2V5d2
9yZCBmb3IgY29sdW1uICcgKyBpICsgJyBpcyB1bmRlZmluZWQnKQogICAgICAgICAgcmV0dXJuOwogICAgI
CAgIH0KICAgICAgICAkKHRkKS5maW5kKCdpbnB1dCcpLmZpcnN0KCkudmFsKHYpOwogICAgICAgIHNlYXJj
aENvbHVtbihpLCB2KTsKICAgICAgfSk7CiAgICAgIHRhYmxlLmRyYXcoKTsKICAgIH0KCiAgICBtZXRob2R
zLmhpZGVDb2xzID0gZnVuY3Rpb24oaGlkZSwgcmVzZXQpIHsKICAgICAgaWYgKHJlc2V0KSB0YWJsZS5jb2
x1bW5zKCkudmlzaWJsZSh0cnVlLCBmYWxzZSk7CiAgICAgIHRhYmxlLmNvbHVtbnMoaGlkZSkudmlzaWJsZ
ShmYWxzZSk7CiAgICB9CgogICAgbWV0aG9kcy5zaG93Q29scyA9IGZ1bmN0aW9uKHNob3csIHJlc2V0KSB7
CiAgICAgIGlmIChyZXNldCkgdGFibGUuY29sdW1ucygpLnZpc2libGUoZmFsc2UsIGZhbHNlKTsKICAgICA
gdGFibGUuY29sdW1ucyhzaG93KS52aXNpYmxlKHRydWUpOwogICAgfQoKICAgIG1ldGhvZHMuY29sUmVvcm
RlciA9IGZ1bmN0aW9uKG9yZGVyLCBvcmlnT3JkZXIpIHsKICAgICAgdGFibGUuY29sUmVvcmRlci5vcmRlc
ihvcmRlciwgb3JpZ09yZGVyKTsKICAgIH0KCiAgICBtZXRob2RzLnNlbGVjdFBhZ2UgPSBmdW5jdGlvbihw
YWdlKSB7CiAgICAgIGlmICh0YWJsZS5wYWdlLmluZm8oKS5wYWdlcyA8IHBhZ2UgfHwgcGFnZSA8IDEpIHs
KICAgICAgICB0aHJvdyAnU2VsZWN0ZWQgcGFnZSBpcyBvdXQgb2YgcmFuZ2UnOwogICAgICB9OwogICAgIC
B0YWJsZS5wYWdlKHBhZ2UgLSAxKS5kcmF3KGZhbHNlKTsKICAgIH0KCiAgICBtZXRob2RzLnJlbG9hZERhd
GEgPSBmdW5jdGlvbihyZXNldFBhZ2luZywgY2xlYXJTZWxlY3Rpb24pIHsKICAgICAgLy8gZW1wdHkgc2Vs
ZWN0aW9ucyBmaXJzdCBpZiBuZWNlc3NhcnkKICAgICAgaWYgKG1ldGhvZHMuc2VsZWN0Um93cyAmJiBpbkF
ycmF5KCdyb3cnLCBjbGVhclNlbGVjdGlvbikpIG1ldGhvZHMuc2VsZWN0Um93cyhbXSk7CiAgICAgIGlmIC
htZXRob2RzLnNlbGVjdENvbHVtbnMgJiYgaW5BcnJheSgnY29sdW1uJywgY2xlYXJTZWxlY3Rpb24pKSBtZ
XRob2RzLnNlbGVjdENvbHVtbnMoW10pOwogICAgICBpZiAobWV0aG9kcy5zZWxlY3RDZWxscyAmJiBpbkFy
cmF5KCdjZWxsJywgY2xlYXJTZWxlY3Rpb24pKSBtZXRob2RzLnNlbGVjdENlbGxzKFtdKTsKICAgICAgdGF
ibGUuYWpheC5yZWxvYWQobnVsbCwgcmVzZXRQYWdpbmcpOwogICAgfQoKICAgIHRhYmxlLnNoaW55TWV0aG
9kcyA9IG1ldGhvZHM7CiAgfSwKICByZXNpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0LCBpbnN0Y
W5jZSkgewogICAgaWYgKGluc3RhbmNlLmRhdGEpIHRoaXMucmVuZGVyVmFsdWUoZWwsIGluc3RhbmNlLmRh
dGEsIGluc3RhbmNlKTsKCiAgICAvLyBkeW5hbWljYWxseSBhZGp1c3QgaGVpZ2h0IGlmIGZpbGxDb250YWl
uZXIgPSBUUlVFCiAgICBpZiAoaW5zdGFuY2UuZmlsbENvbnRhaW5lcikKICAgICAgdGhpcy5maWxsQXZhaW
xhYmxlSGVpZ2h0KGVsLCBoZWlnaHQpOwoKICAgIHRoaXMuYWRqdXN0V2lkdGgoZWwpOwogIH0sCgogIC8vI
GR5bmFtaWNhbGx5IHNldCB0aGUgc2Nyb2xsIGJvZHkgdG8gZmlsbCBhdmFpbGFibGUgaGVpZ2h0CiAgLy8g
KHVzZWQgd2l0aCBmaWxsQ29udGFpbmVyID0gVFJVRSkKICBmaWxsQXZhaWxhYmxlSGVpZ2h0OiBmdW5jdGl
vbihlbCwgYXZhaWxhYmxlSGVpZ2h0KSB7CgogICAgLy8gc2VlIGhvdyBtdWNoIG9mIHRoZSB0YWJsZSBpcy
BvY2N1cGllZCBieSBoZWFkZXIvZm9vdGVyIGVsZW1lbnRzCiAgICAvLyBhbmQgdXNlIHRoYXQgdG8gY29tc
HV0ZSBhIHRhcmdldCBzY3JvbGwgYm9keSBoZWlnaHQKICAgIHZhciBkdFdyYXBwZXIgPSAkKGVsKS5maW5k
KCdkaXYuZGF0YVRhYmxlc193cmFwcGVyJyk7CiAgICB2YXIgZHRTY3JvbGxCb2R5ID0gJChlbCkuZmluZCg
kKCdkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5JykpOwogICAgdmFyIGZyYW1pbmdIZWlnaHQgPSBkdFdyYX
BwZXIuaW5uZXJIZWlnaHQoKSAtIGR0U2Nyb2xsQm9keS5pbm5lckhlaWdodCgpOwogICAgdmFyIHNjcm9sb
EJvZHlIZWlnaHQgPSBhdmFpbGFibGVIZWlnaHQgLSBmcmFtaW5nSGVpZ2h0OwoKICAgIC8vIHNldCB0aGUg
aGVpZ2h0CiAgICBkdFNjcm9sbEJvZHkuaGVpZ2h0KHNjcm9sbEJvZHlIZWlnaHQgKyAncHgnKTsKICB9LAo
KICAvLyBhZGp1c3QgdGhlIHdpZHRoIG9mIGNvbHVtbnM7IHJlbW92ZSB0aGUgaGFyZC1jb2RlZCB3aWR0aH
Mgb24gdGFibGUgYW5kIHRoZQogIC8vIHNjcm9sbCBoZWFkZXIgd2hlbiBzY3JvbGxYL1kgYXJlIGVuYWJsZ
WQKICBhZGp1c3RXaWR0aDogZnVuY3Rpb24oZWwpIHsKICAgIHZhciAkZWwgPSAkKGVsKSwgdGFibGUgPSAk
ZWwuZGF0YSgnZGF0YXRhYmxlJyk7CiAgICBpZiAodGFibGUpIHRhYmxlLmNvbHVtbnMuYWRqdXN0KCk7CiA
gICAkZWwuZmluZCgnLmRhdGFUYWJsZXNfc2Nyb2xsSGVhZElubmVyJykuY3NzKCd3aWR0aCcsICcnKQogIC
AgICAgIC5jaGlsZHJlbigndGFibGUnKS5jc3MoJ21hcmdpbi1sZWZ0JywgJycpOwogIH0KfSk7CgogIGlmI
CghSFRNTFdpZGdldHMuc2hpbnlNb2RlKSByZXR1cm47CgogIFNoaW55LmFkZEN1c3RvbU1lc3NhZ2VIYW5k
bGVyKCdkYXRhdGFibGUtY2FsbHMnLCBmdW5jdGlvbihkYXRhKSB7CiAgICB2YXIgaWQgPSBkYXRhLmlkOwo
gICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgdmFyIHRhYmxlID0gZWwgPy
AkKGVsKS5kYXRhKCdkYXRhdGFibGUnKSA6IG51bGw7CiAgICBpZiAoIXRhYmxlKSB7CiAgICAgIGNvbnNvb
GUubG9nKCJDb3VsZG4ndCBmaW5kIHRhYmxlIHdpdGggaWQgIiArIGlkKTsKICAgICAgcmV0dXJuOwogICAg
fQoKICAgIHZhciBtZXRob2RzID0gdGFibGUuc2hpbnlNZXRob2RzLCBjYWxsID0gZGF0YS5jYWxsOwogICA
gaWYgKG1ldGhvZHNbY2FsbC5tZXRob2RdKSB7CiAgICAgIG1ldGhvZHNbY2FsbC5tZXRob2RdLmFwcGx5KH
RhYmxlLCBjYWxsLmFyZ3MpOwogICAgfSBlbHNlIHsKICAgICAgY29uc29sZS5sb2coIlVua25vd24gbWV0a
G9kICIgKyBjYWxsLm1ldGhvZCk7CiAgICB9CiAgfSk7Cgp9KSgpOwo=\"></script>\n",
"<script title=\"dt-core\"
src=\"data:application/javascript;base64,LyohCiAgIENvcHlyaWdodCAyMDA4LTIwMTkgU3ByeU
1lZGlhIEx0ZC4KCiBUaGlzIHNvdXJjZSBmaWxlIGlzIGZyZWUgc29mdHdhcmUsIGF2YWlsYWJsZSB1bmRlc
iB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6CiAgIE1JVCBsaWNlbnNlIC0gaHR0cDovL2RhdGF0YWJsZXMubmV0
L2xpY2Vuc2UKCiBUaGlzIHNvdXJjZSBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQ
gd2lsbCBiZSB1c2VmdWwsIGJ1dAogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW
1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkKIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBU
iBQVVJQT1NFLiBTZWUgdGhlIGxpY2Vuc2UgZmlsZXMgZm9yIGRldGFpbHMuCgogRm9yIGRldGFpbHMgcGxl
YXNlIHJlZmVyIHRvOiBodHRwOi8vd3d3LmRhdGF0YWJsZXMubmV0CiBEYXRhVGFibGVzIDEuMTAuMjAKIMK
pMjAwOC0yMDE5IFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiovCnZhciAkanNjb2
1wPSRqc2NvbXB8fHt9OyRqc2NvbXAuc2NvcGU9e307JGpzY29tcC5maW5kSW50ZXJuYWw9ZnVuY3Rpb24oZ
ix6LHkpe2YgaW5zdGFuY2VvZiBTdHJpbmcmJihmPVN0cmluZyhmKSk7Zm9yKHZhciBwPWYubGVuZ3RoLEg9
MDtIPHA7SCsrKXt2YXIgTD1mW0hdO2lmKHouY2FsbCh5LEwsSCxmKSlyZXR1cm57aTpILHY6TH19cmV0dXJ
ue2k6LTEsdjp2b2lkIDB9fTskanNjb21wLkFTU1VNRV9FUzU9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSV
ZFX01BUD0hMTskanNjb21wLkFTU1VNRV9OT19OQVRJVkVfU0VUPSExOyRqc2NvbXAuU0lNUExFX0ZST1VOR
F9QT0xZRklMTD0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5j
dGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnV
uY3Rpb24oZix6LHkpe2YhPUFycmF5LnByb3RvdHlwZSYmZiE9T2JqZWN0LnByb3RvdHlwZSYmKGZbel09eS
52YWx1ZSl9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGYpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb
2Ygd2luZG93JiZ3aW5kb3c9PT1mP2Y6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJm51bGwhPWdsb2Jh
bD9nbG9iYWw6Zn07JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAucG9
seWZpbGw9ZnVuY3Rpb24oZix6LHkscCl7aWYoeil7eT0kanNjb21wLmdsb2JhbDtmPWYuc3BsaXQoIi4iKT
tmb3IocD0wO3A8Zi5sZW5ndGgtMTtwKyspe3ZhciBIPWZbcF07SCBpbiB5fHwoeVtIXT17fSk7eT15W0hdf
WY9ZltmLmxlbmd0aC0xXTtwPXlbZl07ej16KHApO3ohPXAmJm51bGwhPXomJiRqc2NvbXAuZGVmaW5lUHJv
cGVydHkoeSxmLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6en0pfX07JGpzY29tcC5wb2x
5ZmlsbCgiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGYpe3JldHVybiBmP2Y6ZnVuY3Rpb24oZi
x5KXtyZXR1cm4gJGpzY29tcC5maW5kSW50ZXJuYWwodGhpcyxmLHkpLnZ9fSwiZXM2IiwiZXMzIik7Cihmd
W5jdGlvbihmKXsiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVl
cnkiXSxmdW5jdGlvbih6KXtyZXR1cm4gZih6LHdpbmRvdyxkb2N1bWVudCl9KToib2JqZWN0Ij09PXR5cGV
vZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHoseSl7enx8KHo9d2luZG93KTt5fHwoeT0idW
5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3c/
cmVxdWlyZSgianF1ZXJ5Iik6cmVxdWlyZSgianF1ZXJ5IikoeikpO3JldHVybiBmKHkseix6LmRvY3VtZW5
0KX06ZihqUXVlcnksd2luZG93LGRvY3VtZW50KX0pKGZ1bmN0aW9uKGYseix5LHApe2Z1bmN0aW9uIEgoYS
l7dmFyIGIsYyxkPXt9O2YuZWFjaChhLGZ1bmN0aW9uKGUsaCl7KGI9ZS5tYXRjaCgvXihbXkEtWl0rPykoW
0EtWl0pLykpJiYtMSE9PSJhIGFhIGFpIGFvIGFzIGIgZm4gaSBtIG8gcyAiLmluZGV4T2YoYlsxXSsiICIp
JiYoYz1lLnJlcGxhY2UoYlswXSxiWzJdLnRvTG93ZXJDYXNlKCkpLApkW2NdPWUsIm8iPT09YlsxXSYmSCh
hW2VdKSl9KTthLl9odW5nYXJpYW5NYXA9ZH1mdW5jdGlvbiBMKGEsYixjKXthLl9odW5nYXJpYW5NYXB8fE
goYSk7dmFyIGQ7Zi5lYWNoKGIsZnVuY3Rpb24oZSxoKXtkPWEuX2h1bmdhcmlhbk1hcFtlXTtkPT09cHx8I
WMmJmJbZF0hPT1wfHwoIm8iPT09ZC5jaGFyQXQoMCk/
KGJbZF18fChiW2RdPXt9KSxmLmV4dGVuZCghMCxiW2RdLGJbZV0pLEwoYVtkXSxiW2RdLGMpKTpiW2RdPWJ
bZV0pfSl9ZnVuY3Rpb24gR2EoYSl7dmFyIGI9cS5kZWZhdWx0cy5vTGFuZ3VhZ2UsYz1iLnNEZWNpbWFsO2
MmJkhhKGMpO2lmKGEpe3ZhciBkPWEuc1plcm9SZWNvcmRzOyFhLnNFbXB0eVRhYmxlJiZkJiYiTm8gZGF0Y
SBhdmFpbGFibGUgaW4gdGFibGUiPT09Yi5zRW1wdHlUYWJsZSYmTShhLGEsInNaZXJvUmVjb3JkcyIsInNF
bXB0eVRhYmxlIik7IWEuc0xvYWRpbmdSZWNvcmRzJiZkJiYiTG9hZGluZy4uLiI9PT1iLnNMb2FkaW5nUmV
jb3JkcyYmTShhLGEsCiJzWmVyb1JlY29yZHMiLCJzTG9hZGluZ1JlY29yZHMiKTthLnNJbmZvVGhvdXNhbm
RzJiYoYS5zVGhvdXNhbmRzPWEuc0luZm9UaG91c2FuZHMpOyhhPWEuc0RlY2ltYWwpJiZjIT09YSYmSGEoY
Sl9fWZ1bmN0aW9uIGpiKGEpe0YoYSwib3JkZXJpbmciLCJiU29ydCIpO0YoYSwib3JkZXJNdWx0aSIsImJT
b3J0TXVsdGkiKTtGKGEsIm9yZGVyQ2xhc3NlcyIsImJTb3J0Q2xhc3NlcyIpO0YoYSwib3JkZXJDZWxsc1R
vcCIsImJTb3J0Q2VsbHNUb3AiKTtGKGEsIm9yZGVyIiwiYWFTb3J0aW5nIik7RihhLCJvcmRlckZpeGVkIi
wiYWFTb3J0aW5nRml4ZWQiKTtGKGEsInBhZ2luZyIsImJQYWdpbmF0ZSIpO0YoYSwicGFnaW5nVHlwZSIsI
nNQYWdpbmF0aW9uVHlwZSIpO0YoYSwicGFnZUxlbmd0aCIsImlEaXNwbGF5TGVuZ3RoIik7RihhLCJzZWFy
Y2hpbmciLCJiRmlsdGVyIik7ImJvb2xlYW4iPT09dHlwZW9mIGEuc1Njcm9sbFgmJihhLnNTY3JvbGxYPWE
uc1Njcm9sbFg/
IjEwMCUiOgoiIik7ImJvb2xlYW4iPT09dHlwZW9mIGEuc2Nyb2xsWCYmKGEuc2Nyb2xsWD1hLnNjcm9sbFg
/
IjEwMCUiOiIiKTtpZihhPWEuYW9TZWFyY2hDb2xzKWZvcih2YXIgYj0wLGM9YS5sZW5ndGg7YjxjO2IrKyl
hW2JdJiZMKHEubW9kZWxzLm9TZWFyY2gsYVtiXSl9ZnVuY3Rpb24ga2IoYSl7RihhLCJvcmRlcmFibGUiLC
JiU29ydGFibGUiKTtGKGEsIm9yZGVyRGF0YSIsImFEYXRhU29ydCIpO0YoYSwib3JkZXJTZXF1ZW5jZSIsI
mFzU29ydGluZyIpO0YoYSwib3JkZXJEYXRhVHlwZSIsInNvcnREYXRhVHlwZSIpO3ZhciBiPWEuYURhdGFT
b3J0OyJudW1iZXIiIT09dHlwZW9mIGJ8fGYuaXNBcnJheShiKXx8KGEuYURhdGFTb3J0PVtiXSl9ZnVuY3R
pb24gbGIoYSl7aWYoIXEuX19icm93c2VyKXt2YXIgYj17fTtxLl9fYnJvd3Nlcj1iO3ZhciBjPWYoIjxkaX
YvPiIpLmNzcyh7cG9zaXRpb246ImZpeGVkIix0b3A6MCxsZWZ0Oi0xKmYoeikuc2Nyb2xsTGVmdCgpLGhla
WdodDoxLHdpZHRoOjEsCm92ZXJmbG93OiJoaWRkZW4ifSkuYXBwZW5kKGYoIjxkaXYvPiIpLmNzcyh7cG9z
aXRpb246ImFic29sdXRlIix0b3A6MSxsZWZ0OjEsd2lkdGg6MTAwLG92ZXJmbG93OiJzY3JvbGwifSkuYXB
wZW5kKGYoIjxkaXYvPiIpLmNzcyh7d2lkdGg6IjEwMCUiLGhlaWdodDoxMH0pKSkuYXBwZW5kVG8oImJvZH
kiKSxkPWMuY2hpbGRyZW4oKSxlPWQuY2hpbGRyZW4oKTtiLmJhcldpZHRoPWRbMF0ub2Zmc2V0V2lkdGgtZ
FswXS5jbGllbnRXaWR0aDtiLmJTY3JvbGxPdmVyc2l6ZT0xMDA9PT1lWzBdLm9mZnNldFdpZHRoJiYxMDAh
PT1kWzBdLmNsaWVudFdpZHRoO2IuYlNjcm9sbGJhckxlZnQ9MSE9PU1hdGgucm91bmQoZS5vZmZzZXQoKS5
sZWZ0KTtiLmJCb3VuZGluZz1jWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoPyEwOiExO2Mucm
Vtb3ZlKCl9Zi5leHRlbmQoYS5vQnJvd3NlcixxLl9fYnJvd3Nlcik7YS5vU2Nyb2xsLmlCYXJXaWR0aD1xL
l9fYnJvd3Nlci5iYXJXaWR0aH0KZnVuY3Rpb24gbWIoYSxiLGMsZCxlLGgpe3ZhciBnPSExO2lmKGMhPT1w
KXt2YXIgaz1jO2c9ITB9Zm9yKDtkIT09ZTspYS5oYXNPd25Qcm9wZXJ0eShkKSYmKGs9Zz9iKGssYVtkXSx
kLGEpOmFbZF0sZz0hMCxkKz1oKTtyZXR1cm4ga31mdW5jdGlvbiBJYShhLGIpe3ZhciBjPXEuZGVmYXVsdH
MuY29sdW1uLGQ9YS5hb0NvbHVtbnMubGVuZ3RoO2M9Zi5leHRlbmQoe30scS5tb2RlbHMub0NvbHVtbixjL
HtuVGg6Yj9iOnkuY3JlYXRlRWxlbWVudCgidGgiKSxzVGl0bGU6Yy5zVGl0bGU/
Yy5zVGl0bGU6Yj9iLmlubmVySFRNTDoiIixhRGF0YVNvcnQ6Yy5hRGF0YVNvcnQ/
Yy5hRGF0YVNvcnQ6W2RdLG1EYXRhOmMubURhdGE/
Yy5tRGF0YTpkLGlkeDpkfSk7YS5hb0NvbHVtbnMucHVzaChjKTtjPWEuYW9QcmVTZWFyY2hDb2xzO2NbZF0
9Zi5leHRlbmQoe30scS5tb2RlbHMub1NlYXJjaCxjW2RdKTttYShhLGQsZihiKS5kYXRhKCkpfWZ1bmN0aW
9uIG1hKGEsYixjKXtiPWEuYW9Db2x1bW5zW2JdOwp2YXIgZD1hLm9DbGFzc2VzLGU9ZihiLm5UaCk7aWYoI
WIuc1dpZHRoT3JpZyl7Yi5zV2lkdGhPcmlnPWUuYXR0cigid2lkdGgiKXx8bnVsbDt2YXIgaD0oZS5hdHRy
KCJzdHlsZSIpfHwiIikubWF0Y2goL3dpZHRoOlxzKihcZCtbcHhlbSVdKykvKTtoJiYoYi5zV2lkdGhPcml
nPWhbMV0pfWMhPT1wJiZudWxsIT09YyYmKGtiKGMpLEwocS5kZWZhdWx0cy5jb2x1bW4sYywhMCksYy5tRG
F0YVByb3A9PT1wfHxjLm1EYXRhfHwoYy5tRGF0YT1jLm1EYXRhUHJvcCksYy5zVHlwZSYmKGIuX3NNYW51Y
WxUeXBlPWMuc1R5cGUpLGMuY2xhc3NOYW1lJiYhYy5zQ2xhc3MmJihjLnNDbGFzcz1jLmNsYXNzTmFtZSks
Yy5zQ2xhc3MmJmUuYWRkQ2xhc3MoYy5zQ2xhc3MpLGYuZXh0ZW5kKGIsYyksTShiLGMsInNXaWR0aCIsInN
XaWR0aE9yaWciKSxjLmlEYXRhU29ydCE9PXAmJihiLmFEYXRhU29ydD1bYy5pRGF0YVNvcnRdKSxNKGIsYy
wiYURhdGFTb3J0IikpO3ZhciBnPWIubURhdGEsaz1VKGcpLApsPWIubVJlbmRlcj9VKGIubVJlbmRlcik6b
nVsbDtjPWZ1bmN0aW9uKGEpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIGEmJi0xIT09YS5pbmRleE9mKCJA
Iil9O2IuX2JBdHRyU3JjPWYuaXNQbGFpbk9iamVjdChnKSYmKGMoZy5zb3J0KXx8YyhnLnR5cGUpfHxjKGc
uZmlsdGVyKSk7Yi5fc2V0dGVyPW51bGw7Yi5mbkdldERhdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWsoYS
xiLHAsYyk7cmV0dXJuIGwmJmI/
bChkLGIsYSxjKTpkfTtiLmZuU2V0RGF0YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoZykoYSxiLGMpfTs
ibnVtYmVyIiE9PXR5cGVvZiBnJiYoYS5fcm93UmVhZE9iamVjdD0hMCk7YS5vRmVhdHVyZXMuYlNvcnR8fC
hiLmJTb3J0YWJsZT0hMSxlLmFkZENsYXNzKGQuc1NvcnRhYmxlTm9uZSkpO2E9LTEhPT1mLmluQXJyYXkoI
mFzYyIsYi5hc1NvcnRpbmcpO2M9LTEhPT1mLmluQXJyYXkoImRlc2MiLGIuYXNTb3J0aW5nKTtiLmJTb3J0
YWJsZSYmKGF8fGMpP2EmJiFjPyhiLnNTb3J0aW5nQ2xhc3M9CmQuc1NvcnRhYmxlQXNjLGIuc1NvcnRpbmd
DbGFzc0pVST1kLnNTb3J0SlVJQXNjQWxsb3dlZCk6IWEmJmM/
KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZURlc2MsYi5zU29ydGluZ0NsYXNzSlVJPWQuc1NvcnRKVUl
EZXNjQWxsb3dlZCk6KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZSxiLnNTb3J0aW5nQ2xhc3NKVUk9ZC
5zU29ydEpVSSk6KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZU5vbmUsYi5zU29ydGluZ0NsYXNzSlVJP
SIiKX1mdW5jdGlvbiBhYShhKXtpZighMSE9PWEub0ZlYXR1cmVzLmJBdXRvV2lkdGgpe3ZhciBiPWEuYW9D
b2x1bW5zO0phKGEpO2Zvcih2YXIgYz0wLGQ9Yi5sZW5ndGg7YzxkO2MrKyliW2NdLm5UaC5zdHlsZS53aWR
0aD1iW2NdLnNXaWR0aH1iPWEub1Njcm9sbDsiIj09PWIuc1kmJiIiPT09Yi5zWHx8bmEoYSk7QShhLG51bG
wsImNvbHVtbi1zaXppbmciLFthXSl9ZnVuY3Rpb24gYmEoYSxiKXthPW9hKGEsImJWaXNpYmxlIik7cmV0d
XJuIm51bWJlciI9PT0KdHlwZW9mIGFbYl0/
YVtiXTpudWxsfWZ1bmN0aW9uIGNhKGEsYil7YT1vYShhLCJiVmlzaWJsZSIpO2I9Zi5pbkFycmF5KGIsYSk
7cmV0dXJuLTEhPT1iP2I6bnVsbH1mdW5jdGlvbiBXKGEpe3ZhciBiPTA7Zi5lYWNoKGEuYW9Db2x1bW5zLG
Z1bmN0aW9uKGEsZCl7ZC5iVmlzaWJsZSYmIm5vbmUiIT09ZihkLm5UaCkuY3NzKCJkaXNwbGF5IikmJmIrK
30pO3JldHVybiBifWZ1bmN0aW9uIG9hKGEsYil7dmFyIGM9W107Zi5tYXAoYS5hb0NvbHVtbnMsZnVuY3Rp
b24oYSxlKXthW2JdJiZjLnB1c2goZSl9KTtyZXR1cm4gY31mdW5jdGlvbiBLYShhKXt2YXIgYj1hLmFvQ29
sdW1ucyxjPWEuYW9EYXRhLGQ9cS5leHQudHlwZS5kZXRlY3QsZSxoLGc7dmFyIGs9MDtmb3IoZT1iLmxlbm
d0aDtrPGU7aysrKXt2YXIgZj1iW2tdO3ZhciBuPVtdO2lmKCFmLnNUeXBlJiZmLl9zTWFudWFsVHlwZSlmL
nNUeXBlPWYuX3NNYW51YWxUeXBlO2Vsc2UgaWYoIWYuc1R5cGUpe3ZhciBtPTA7Zm9yKGg9CmQubGVuZ3Ro
O208aDttKyspe3ZhciB3PTA7Zm9yKGc9Yy5sZW5ndGg7dzxnO3crKyl7blt3XT09PXAmJihuW3ddPUkoYSx
3LGssInR5cGUiKSk7dmFyIHU9ZFttXShuW3ddLGEpO2lmKCF1JiZtIT09ZC5sZW5ndGgtMSlicmVhaztpZi
giaHRtbCI9PT11KWJyZWFrfWlmKHUpe2Yuc1R5cGU9dTticmVha319Zi5zVHlwZXx8KGYuc1R5cGU9InN0c
mluZyIpfX19ZnVuY3Rpb24gbmIoYSxiLGMsZCl7dmFyIGUsaCxnLGs9YS5hb0NvbHVtbnM7aWYoYilmb3Io
ZT1iLmxlbmd0aC0xOzA8PWU7ZS0tKXt2YXIgbD1iW2VdO3ZhciBuPWwudGFyZ2V0cyE9PXA/
bC50YXJnZXRzOmwuYVRhcmdldHM7Zi5pc0FycmF5KG4pfHwobj1bbl0pO3ZhciBtPTA7Zm9yKGg9bi5sZW5
ndGg7bTxoO20rKylpZigibnVtYmVyIj09PXR5cGVvZiBuW21dJiYwPD1uW21dKXtmb3IoO2subGVuZ3RoPD
1uW21dOylJYShhKTtkKG5bbV0sbCl9ZWxzZSBpZigibnVtYmVyIj09PXR5cGVvZiBuW21dJiYwPm5bbV0pZ
ChrLmxlbmd0aCsKblttXSxsKTtlbHNlIGlmKCJzdHJpbmciPT09dHlwZW9mIG5bbV0pe3ZhciB3PTA7Zm9y
KGc9ay5sZW5ndGg7dzxnO3crKykoIl9hbGwiPT1uW21dfHxmKGtbd10ublRoKS5oYXNDbGFzcyhuW21dKSk
mJmQodyxsKX19aWYoYylmb3IoZT0wLGE9Yy5sZW5ndGg7ZTxhO2UrKylkKGUsY1tlXSl9ZnVuY3Rpb24gUi
hhLGIsYyxkKXt2YXIgZT1hLmFvRGF0YS5sZW5ndGgsaD1mLmV4dGVuZCghMCx7fSxxLm1vZGVscy5vUm93L
HtzcmM6Yz8iZG9tIjoiZGF0YSIsaWR4OmV9KTtoLl9hRGF0YT1iO2EuYW9EYXRh
LnB1c2goaCk7Zm9yKHZhciBnPWEuYW9Db2x1bW5zLGs9MCxsPWcubGVuZ3RoO2s8bDtrKyspZ1trXS5zVHl
wZT1udWxsO2EuYWlEaXNwbGF5TWFzdGVyLnB1c2goZSk7Yj1hLnJvd0lkRm4oYik7YiE9PXAmJihhLmFJZH
NbYl09aCk7IWMmJmEub0ZlYXR1cmVzLmJEZWZlclJlbmRlcnx8TGEoYSxlLGMsZCk7cmV0dXJuIGV9ZnVuY
3Rpb24gcGEoYSxiKXt2YXIgYztiIGluc3RhbmNlb2YKZnx8KGI9ZihiKSk7cmV0dXJuIGIubWFwKGZ1bmN0
aW9uKGIsZSl7Yz1NYShhLGUpO3JldHVybiBSKGEsYy5kYXRhLGUsYy5jZWxscyl9KX1mdW5jdGlvbiBJKGE
sYixjLGQpe3ZhciBlPWEuaURyYXcsaD1hLmFvQ29sdW1uc1tjXSxnPWEuYW9EYXRhW2JdLl9hRGF0YSxrPW
guc0RlZmF1bHRDb250ZW50LGY9aC5mbkdldERhdGEoZyxkLHtzZXR0aW5nczphLHJvdzpiLGNvbDpjfSk7a
WYoZj09PXApcmV0dXJuIGEuaURyYXdFcnJvciE9ZSYmbnVsbD09PWsmJihPKGEsMCwiUmVxdWVzdGVkIHVu
a25vd24gcGFyYW1ldGVyICIrKCJmdW5jdGlvbiI9PXR5cGVvZiBoLm1EYXRhPyJ7ZnVuY3Rpb259IjoiJyI
raC5tRGF0YSsiJyIpKyIgZm9yIHJvdyAiK2IrIiwgY29sdW1uICIrYyw0KSxhLmlEcmF3RXJyb3I9ZSksaz
tpZigoZj09PWd8fG51bGw9PT1mKSYmbnVsbCE9PWsmJmQhPT1wKWY9aztlbHNlIGlmKCJmdW5jdGlvbiI9P
T10eXBlb2YgZilyZXR1cm4gZi5jYWxsKGcpO3JldHVybiBudWxsPT09CmYmJiJkaXNwbGF5Ij09ZD8iIjpm
fWZ1bmN0aW9uIG9iKGEsYixjLGQpe2EuYW9Db2x1bW5zW2NdLmZuU2V0RGF0YShhLmFvRGF0YVtiXS5fYUR
hdGEsZCx7c2V0dGluZ3M6YSxyb3c6Yixjb2w6Y30pfWZ1bmN0aW9uIE5hKGEpe3JldHVybiBmLm1hcChhLm
1hdGNoKC8oXFwufFteXC5dKSsvZyl8fFsiIl0sZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvXFxcL
i9nLCIuIil9KX1mdW5jdGlvbiBVKGEpe2lmKGYuaXNQbGFpbk9iamVjdChhKSl7dmFyIGI9e307Zi5lYWNo
KGEsZnVuY3Rpb24oYSxjKXtjJiYoYlthXT1VKGMpKX0pO3JldHVybiBmdW5jdGlvbihhLGMsaCxnKXt2YXI
gZD1iW2NdfHxiLl87cmV0dXJuIGQhPT1wP2QoYSxjLGgsZyk6YX19aWYobnVsbD09PWEpcmV0dXJuIGZ1bm
N0aW9uKGEpe3JldHVybiBhfTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGEpcmV0dXJuIGZ1bmN0aW9uKGIsY
yxoLGcpe3JldHVybiBhKGIsYyxoLGcpfTtpZigic3RyaW5nIiE9PXR5cGVvZiBhfHwKLTE9PT1hLmluZGV4
T2YoIi4iKSYmLTE9PT1hLmluZGV4T2YoIlsiKSYmLTE9PT1hLmluZGV4T2YoIigiKSlyZXR1cm4gZnVuY3R
pb24oYixjKXtyZXR1cm4gYlthXX07dmFyIGM9ZnVuY3Rpb24oYSxiLGgpe2lmKCIiIT09aCl7dmFyIGQ9Tm
EoaCk7Zm9yKHZhciBlPTAsbD1kLmxlbmd0aDtlPGw7ZSsrKXtoPWRbZV0ubWF0Y2goZGEpO3ZhciBuPWRbZ
V0ubWF0Y2goWCk7aWYoaCl7ZFtlXT1kW2VdLnJlcGxhY2UoZGEsIiIpOyIiIT09ZFtlXSYmKGE9YVtkW2Vd
XSk7bj1bXTtkLnNwbGljZSgwLGUrMSk7ZD1kLmpvaW4oIi4iKTtpZihmLmlzQXJyYXkoYSkpZm9yKGU9MCx
sPWEubGVuZ3RoO2U8bDtlKyspbi5wdXNoKGMoYVtlXSxiLGQpKTthPWhbMF0uc3Vic3RyaW5nKDEsaFswXS
5sZW5ndGgtMSk7YT0iIj09PWE/
bjpuLmpvaW4oYSk7YnJlYWt9ZWxzZSBpZihuKXtkW2VdPWRbZV0ucmVwbGFjZShYLCIiKTthPWFbZFtlXV0
oKTtjb250aW51ZX1pZihudWxsPT09YXx8YVtkW2VdXT09PQpwKXJldHVybiBwO2E9YVtkW2VdXX19cmV0dX
JuIGF9O3JldHVybiBmdW5jdGlvbihiLGUpe3JldHVybiBjKGIsZSxhKX19ZnVuY3Rpb24gUShhKXtpZihmL
mlzUGxhaW5PYmplY3QoYSkpcmV0dXJuIFEoYS5fKTtpZihudWxsPT09YSlyZXR1cm4gZnVuY3Rpb24oKXt9
O2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYSlyZXR1cm4gZnVuY3Rpb24oYixkLGUpe2EoYiwic2V0IixkLGU
pfTtpZigic3RyaW5nIiE9PXR5cGVvZiBhfHwtMT09PWEuaW5kZXhPZigiLiIpJiYtMT09PWEuaW5kZXhPZi
giWyIpJiYtMT09PWEuaW5kZXhPZigiKCIpKXJldHVybiBmdW5jdGlvbihiLGQpe2JbYV09ZH07dmFyIGI9Z
nVuY3Rpb24oYSxkLGUpe2U9TmEoZSk7dmFyIGM9ZVtlLmxlbmd0aC0xXTtmb3IodmFyIGcsayxsPTAsbj1l
Lmxlbmd0aC0xO2w8bjtsKyspe2c9ZVtsXS5tYXRjaChkYSk7az1lW2xdLm1hdGNoKFgpO2lmKGcpe2VbbF0
9ZVtsXS5yZXBsYWNlKGRhLCIiKTthW2VbbF1dPVtdO2M9ZS5zbGljZSgpOwpjLnNwbGljZSgwLGwrMSk7Zz
1jLmpvaW4oIi4iKTtpZihmLmlzQXJyYXkoZCkpZm9yKGs9MCxuPWQubGVuZ3RoO2s8bjtrKyspYz17fSxiK
GMsZFtrXSxnKSxhW2VbbF1dLnB1c2goYyk7ZWxzZSBhW2VbbF1dPWQ7cmV0dXJufWsmJihlW2xdPWVbbF0u
cmVwbGFjZShYLCIiKSxhPWFbZVtsXV0oZCkpO2lmKG51bGw9PT1hW2VbbF1dfHxhW2VbbF1dPT09cClhW2V
bbF1dPXt9O2E9YVtlW2xdXX1pZihjLm1hdGNoKFgpKWFbYy5yZXBsYWNlKFgsIiIpXShkKTtlbHNlIGFbYy
5yZXBsYWNlKGRhLCIiKV09ZH07cmV0dXJuIGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGIoYyxkLGEpfX1mdW5jd
GlvbiBPYShhKXtyZXR1cm4gSihhLmFvRGF0YSwiX2FEYXRhIil9ZnVuY3Rpb24gcWEoYSl7YS5hb0RhdGEu
bGVuZ3RoPTA7YS5haURpc3BsYXlNYXN0ZXIubGVuZ3RoPTA7YS5haURpc3BsYXkubGVuZ3RoPTA7YS5hSWR
zPXt9fWZ1bmN0aW9uIHJhKGEsYixjKXtmb3IodmFyIGQ9LTEsZT0wLGg9YS5sZW5ndGg7ZTwKaDtlKyspYV
tlXT09Yj9kPWU6YVtlXT5iJiZhW2VdLS07IC0xIT1kJiZjPT09cCYmYS5zcGxpY2UoZCwxKX1mdW5jdGlvb
iBlYShhLGIsYyxkKXt2YXIgZT1hLmFvRGF0YVtiXSxoLGc9ZnVuY3Rpb24oYyxkKXtmb3IoO2MuY2hpbGRO
b2Rlcy5sZW5ndGg7KWMucmVtb3ZlQ2hpbGQoYy5maXJzdENoaWxkKTtjLmlubmVySFRNTD1JKGEsYixkLCJ
kaXNwbGF5Iil9O2lmKCJkb20iIT09YyYmKGMmJiJhdXRvIiE9PWN8fCJkb20iIT09ZS5zcmMpKXt2YXIgaz
1lLmFuQ2VsbHM7aWYoaylpZihkIT09cClnKGtbZF0sZCk7ZWxzZSBmb3IoYz0wLGg9ay5sZW5ndGg7YzxoO
2MrKylnKGtbY10sYyl9ZWxzZSBlLl9hRGF0YT1NYShhLGUsZCxkPT09cD9wOmUuX2FEYXRhKS5kYXRhO2Uu
X2FTb3J0RGF0YT1udWxsO2UuX2FGaWx0ZXJEYXRhPW51bGw7Zz1hLmFvQ29sdW1ucztpZihkIT09cClnW2R
dLnNUeXBlPW51bGw7ZWxzZXtjPTA7Zm9yKGg9Zy5sZW5ndGg7YzxoO2MrKylnW2NdLnNUeXBlPW51bGw7Cl
BhKGEsZSl9fWZ1bmN0aW9uIE1hKGEsYixjLGQpe3ZhciBlPVtdLGg9Yi5maXJzdENoaWxkLGcsaz0wLGwsb
j1hLmFvQ29sdW1ucyxtPWEuX3Jvd1JlYWRPYmplY3Q7ZD1kIT09cD9kOm0/
e306W107dmFyIHc9ZnVuY3Rpb24oYSxiKXtpZigic3RyaW5nIj09PXR5cGVvZiBhKXt2YXIgYz1hLmluZGV
4T2YoIkAiKTstMSE9PWMmJihjPWEuc3Vic3RyaW5nKGMrMSksUShhKShkLGIuZ2V0QXR0cmlidXRlKGMpKS
l9fSx1PWZ1bmN0aW9uKGEpe2lmKGM9PT1wfHxjPT09aylnPW5ba10sbD1mLnRyaW0oYS5pbm5lckhUTUwpL
GcmJmcuX2JBdHRyU3JjPyhRKGcubURhdGEuXykoZCxsKSx3KGcubURhdGEuc29ydCxhKSx3KGcubURhdGEu
dHlwZSxhKSx3KGcubURhdGEuZmlsdGVyLGEpKTptPyhnLl9zZXR0ZXJ8fChnLl9zZXR0ZXI9UShnLm1EYXR
hKSksZy5fc2V0dGVyKGQsbCkpOmRba109bDtrKyt9O2lmKGgpZm9yKDtoOyl7dmFyIHE9aC5ub2RlTmFtZS
50b1VwcGVyQ2FzZSgpO2lmKCJURCI9PQpxfHwiVEgiPT1xKXUoaCksZS5wdXNoKGgpO2g9aC5uZXh0U2lib
GluZ31lbHNlIGZvcihlPWIuYW5DZWxscyxoPTAscT1lLmxlbmd0aDtoPHE7aCsrKXUoZVtoXSk7KGI9Yi5m
aXJzdENoaWxkP2I6Yi5uVHIpJiYoYj1iLmdldEF0dHJpYnV0ZSgiaWQiKSkmJlEoYS5yb3dJZCkoZCxiKTt
yZXR1cm57ZGF0YTpkLGNlbGxzOmV9fWZ1bmN0aW9uIExhKGEsYixjLGQpe3ZhciBlPWEuYW9EYXRhW2JdLG
g9ZS5fYURhdGEsZz1bXSxrLGw7aWYobnVsbD09PWUublRyKXt2YXIgbj1jfHx5LmNyZWF0ZUVsZW1lbnQoI
nRyIik7ZS5uVHI9bjtlLmFuQ2VsbHM9ZztuLl9EVF9Sb3dJbmRleD1iO1BhKGEsZSk7dmFyIG09MDtmb3Io
az1hLmFvQ29sdW1ucy5sZW5ndGg7bTxrO20rKyl7dmFyIHc9YS5hb0NvbHVtbnNbbV07dmFyIHA9KGw9Yz8
hMTohMCk/
eS5jcmVhdGVFbGVtZW50KHcuc0NlbGxUeXBlKTpkW21dO3AuX0RUX0NlbGxJbmRleD17cm93OmIsY29sdW1
uOm19O2cucHVzaChwKTtpZihsfHwKIShjJiYhdy5tUmVuZGVyJiZ3Lm1EYXRhPT09bXx8Zi5pc1BsYWluT2
JqZWN0KHcubURhdGEpJiZ3Lm1EYXRhLl89PT1tKyIuZGlzcGxheSIpKXAuaW5uZXJIVE1MPUkoYSxiLG0sI
mRpc3BsYXkiKTt3LnNDbGFzcyYmKHAuY2xhc3NOYW1lKz0iICIrdy5zQ2xhc3MpO3cuYlZpc2libGUmJiFj
P24uYXBwZW5kQ2hpbGQocCk6IXcuYlZpc2libGUmJmMmJnAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwKTt
3LmZuQ3JlYXRlZENlbGwmJncuZm5DcmVhdGVkQ2VsbC5jYWxsKGEub0luc3RhbmNlLHAsSShhLGIsbSksaC
xiLG0pfUEoYSwiYW9Sb3dDcmVhdGVkQ2FsbGJhY2siLG51bGwsW24saCxiLGddKX1lLm5Uci5zZXRBdHRya
WJ1dGUoInJvbGUiLCJyb3ciKX1mdW5jdGlvbiBQYShhLGIpe3ZhciBjPWIublRyLGQ9Yi5fYURhdGE7aWYo
Yyl7aWYoYT1hLnJvd0lkRm4oZCkpYy5pZD1hO2QuRFRfUm93Q2xhc3MmJihhPWQuRFRfUm93Q2xhc3Muc3B
saXQoIiAiKSxiLl9fcm93Yz1iLl9fcm93Yz8KdGEoYi5fX3Jvd2MuY29uY2F0KGEpKTphLGYoYykucmVtb3
ZlQ2xhc3MoYi5fX3Jvd2Muam9pbigiICIpKS5hZGRDbGFzcyhkLkRUX1Jvd0NsYXNzKSk7ZC5EVF9Sb3dBd
HRyJiZmKGMpLmF0dHIoZC5EVF9Sb3dBdHRyKTtkLkRUX1Jvd0RhdGEmJmYoYykuZGF0YShkLkRUX1Jvd0Rh
dGEpfX1mdW5jdGlvbiBwYihhKXt2YXIgYixjLGQ9YS5uVEhlYWQsZT1hLm5URm9vdCxoPTA9PT1mKCJ0aCw
gdGQiLGQpLmxlbmd0aCxnPWEub0NsYXNzZXMsaz1hLmFvQ29sdW1ucztoJiYoYz1mKCI8dHIvPiIpLmFwcG
VuZFRvKGQpKTt2YXIgbD0wO2ZvcihiPWsubGVuZ3RoO2w8YjtsKyspe3ZhciBuPWtbbF07dmFyIG09ZihuL
m5UaCkuYWRkQ2xhc3Mobi5zQ2xhc3MpO2gmJm0uYXBwZW5kVG8oYyk7YS5vRmVhdHVyZXMuYlNvcnQmJiht
LmFkZENsYXNzKG4uc1NvcnRpbmdDbGFzcyksITEhPT1uLmJTb3J0YWJsZSYmKG0uYXR0cigidGFiaW5kZXg
iLGEuaVRhYkluZGV4KS5hdHRyKCJhcmlhLWNvbnRyb2xzIiwKYS5zVGFibGVJZCksUWEoYSxuLm5UaCxsKS
kpO24uc1RpdGxlIT1tWzBdLmlubmVySFRNTCYmbS5odG1sKG4uc1RpdGxlKTtSYShhLCJoZWFkZXIiKShhL
G0sbixnKX1oJiZmYShhLmFvSGVhZGVyLGQpO2YoZCkuZmluZCgiPnRyIikuYXR0cigicm9sZSIsInJvdyIp
O2YoZCkuZmluZCgiPnRyPnRoLCA+dHI+dGQiKS5hZGRDbGFzcyhnLnNIZWFkZXJUSCk7ZihlKS5maW5kKCI
+dHI+dGgsID50cj50ZCIpLmFkZENsYXNzKGcuc0Zvb3RlclRIKTtpZihudWxsIT09ZSlmb3IoYT1hLmFvRm
9vdGVyWzBdLGw9MCxiPWEubGVuZ3RoO2w8YjtsKyspbj1rW2xdLG4ublRmPWFbbF0uY2VsbCxuLnNDbGFzc
yYmZihuLm5UZikuYWRkQ2xhc3Mobi5zQ2xhc3MpfWZ1bmN0aW9uIGhhKGEsYixjKXt2YXIgZCxlLGg9W10s
Zz1bXSxrPWEuYW9Db2x1bW5zLmxlbmd0aDtpZihiKXtjPT09cCYmKGM9ITEpO3ZhciBsPTA7Zm9yKGQ9Yi5
sZW5ndGg7bDxkO2wrKyl7aFtsXT1iW2xdLnNsaWNlKCk7aFtsXS5uVHI9CmJbbF0ublRyO2ZvcihlPWstMT
swPD1lO2UtLSlhLmFvQ29sdW1uc1tlXS5iVmlzaWJsZXx8Y3x8aFtsXS5zcGxpY2UoZSwxKTtnLnB1c2goW
10pfWw9MDtmb3IoZD1oLmxlbmd0aDtsPGQ7bCsrKXtpZihhPWhbbF0ublRyKWZvcig7ZT1hLmZpcnN0Q2hp
bGQ7KWEucmVtb3ZlQ2hpbGQoZSk7ZT0wO2ZvcihiPWhbbF0ubGVuZ3RoO2U8YjtlKyspe3ZhciBuPWs9MTt
pZihnW2xdW2VdPT09cCl7YS5hcHBlbmRDaGlsZChoW2xdW2VdLmNlbGwpO2ZvcihnW2xdW2VdPTE7aFtsK2
tdIT09cCYmaFtsXVtlXS5jZWxsPT1oW2wra11bZV0uY2VsbDspZ1tsK2tdW2VdPTEsaysrO2Zvcig7aFtsX
VtlK25dIT09cCYmaFtsXVtlXS5jZWxsPT1oW2xdW2Urbl0uY2VsbDspe2ZvcihjPTA7YzxrO2MrKylnW2wr
Y11bZStuXT0xO24rK31mKGhbbF1bZV0uY2VsbCkuYXR0cigicm93c3BhbiIsaykuYXR0cigiY29sc3BhbiI
sbil9fX19fWZ1bmN0aW9uIFMoYSl7dmFyIGI9QShhLCJhb1ByZURyYXdDYWxsYmFjayIsCiJwcmVEcmF3Ii
xbYV0pO2lmKC0xIT09Zi5pbkFycmF5KCExLGIpKUsoYSwhMSk7ZWxzZXtiPVtdO3ZhciBjPTAsZD1hLmFzU
3RyaXBlQ2xhc3NlcyxlPWQubGVuZ3RoLGg9YS5vTGFuZ3VhZ2UsZz1hLmlJbml0RGlzcGxheVN0YXJ0LGs9
InNzcCI9PUQoYSksbD1hLmFpRGlzcGxheTthLmJEcmF3aW5nPSEwO2chPT1wJiYtMSE9PWcmJihhLl9pRGl
zcGxheVN0YXJ0PWs/
ZzpnPj1hLmZuUmVjb3Jkc0Rpc3BsYXkoKT8wOmcsYS5pSW5pdERpc3BsYXlTdGFydD0tMSk7Zz1hLl9pRGl
zcGxheVN0YXJ0O3ZhciBuPWEuZm5EaXNwbGF5RW5kKCk7aWYoYS5iRGVmZXJMb2FkaW5nKWEuYkRlZmVyTG
9hZGluZz0hMSxhLmlEcmF3KyssSyhhLCExKTtlbHNlIGlmKCFrKWEuaURyYXcrKztlbHNlIGlmKCFhLmJEZ
XN0cm95aW5nJiYhcWIoYSkpcmV0dXJuO2lmKDAhPT1sLmxlbmd0aClmb3IoaD1rP2EuYW9EYXRhLmxlbmd0
aDpuLGs9az8wOmc7azxoO2srKyl7dmFyIG09bFtrXSx3PWEuYW9EYXRhW21dOwpudWxsPT09dy5uVHImJkx
hKGEsbSk7dmFyIHU9dy5uVHI7aWYoMCE9PWUpe3ZhciBxPWRbYyVlXTt3Ll9zUm93U3RyaXBlIT1xJiYoZi
h1KS5yZW1vdmVDbGFzcyh3Ll9zUm93U3RyaXBlKS5hZGRDbGFzcyhxKSx3Ll9zUm93U3RyaXBlPXEpfUEoY
SwiYW9Sb3dDYWxsYmFjayIsbnVsbCxbdSx3Ll9hRGF0YSxjLGssbV0pO2IucHVzaCh1KTtjKyt9ZWxzZSBj
PWguc1plcm9SZWNvcmRzLDE9PWEuaURyYXcmJiJhamF4Ij09RChhKT9jPWguc0xvYWRpbmdSZWNvcmRzOmg
uc0VtcHR5VGFibGUmJjA9PT1hLmZuUmVjb3Jkc1RvdGFsKCkmJihjPWguc0VtcHR5VGFibGUpLGJbMF09Zi
giPHRyLz4iLHsiY2xhc3MiOmU/
ZFswXToiIn0pLmFwcGVuZChmKCI8dGQgLz4iLHt2YWxpZ246InRvcCIsY29sU3BhbjpXKGEpLCJjbGFzcyI
6YS5vQ2xhc3Nlcy5zUm93RW1wdHl9KS5odG1sKGMpKVswXTtBKGEsImFvSGVhZGVyQ2FsbGJhY2siLCJoZW
FkZXIiLFtmKGEublRIZWFkKS5jaGlsZHJlbigidHIiKVswXSwKT2EoYSksZyxuLGxdKTtBKGEsImFvRm9vd
GVyQ2FsbGJhY2siLCJmb290ZXIiLFtmKGEublRGb290KS5jaGlsZHJlbigidHIiKVswXSxPYShhKSxnLG4s
bF0pO2Q9ZihhLm5UQm9keSk7ZC5jaGlsZHJlbigpLmRldGFjaCgpO2QuYXBwZW5kKGYoYikpO0EoYSwiYW9
EcmF3Q2FsbGJhY2siLCJkcmF3IixbYV0pO2EuYlNvcnRlZD0hMTthLmJGaWx0ZXJlZD0
hMTthLmJEcmF3aW5nPSExfX1mdW5jdGlvbiBWKGEsYil7dmFyIGM9YS5vRmVhdHVyZXMsZD1jLmJGaWx0ZX
I7Yy5iU29ydCYmcmIoYSk7ZD9pYShhLGEub1ByZXZpb3VzU2VhcmNoKTphLmFpRGlzcGxheT1hLmFpRGlzc
GxheU1hc3Rlci5zbGljZSgpOyEwIT09YiYmKGEuX2lEaXNwbGF5U3RhcnQ9MCk7YS5fZHJhd0hvbGQ9YjtT
KGEpO2EuX2RyYXdIb2xkPSExfWZ1bmN0aW9uIHNiKGEpe3ZhciBiPWEub0NsYXNzZXMsYz1mKGEublRhYmx
lKTtjPWYoIjxkaXYvPiIpLmluc2VydEJlZm9yZShjKTt2YXIgZD1hLm9GZWF0dXJlcyxlPQpmKCI8ZGl2Lz
4iLHtpZDphLnNUYWJsZUlkKyJfd3JhcHBlciIsImNsYXNzIjpiLnNXcmFwcGVyKyhhLm5URm9vdD8iIjoiI
CIrYi5zTm9Gb290ZXIpfSk7YS5uSG9sZGluZz1jWzBdO2EublRhYmxlV3JhcHBlcj1lWzBdO2EublRhYmxl
UmVpbnNlcnRCZWZvcmU9YS5uVGFibGUubmV4dFNpYmxpbmc7Zm9yKHZhciBoPWEuc0RvbS5zcGxpdCgiIik
sZyxrLGwsbixtLHAsdT0wO3U8aC5sZW5ndGg7dSsrKXtnPW51bGw7az1oW3VdO2lmKCI8Ij09ayl7bD1mKC
I8ZGl2Lz4iKVswXTtuPWhbdSsxXTtpZigiJyI9PW58fCciJz09bil7bT0iIjtmb3IocD0yO2hbdStwXSE9b
jspbSs9aFt1K3BdLHArKzsiSCI9PW0/
bT1iLnNKVUlIZWFkZXI6IkYiPT1tJiYobT1iLnNKVUlGb290ZXIpOy0xIT1tLmluZGV4T2YoIi4iKT8obj1
tLnNwbGl0KCIuIiksbC5pZD1uWzBdLnN1YnN0cigxLG5bMF0ubGVuZ3RoLTEpLGwuY2xhc3NOYW1lPW5bMV
0pOiIjIj09bS5jaGFyQXQoMCk/
bC5pZD1tLnN1YnN0cigxLAptLmxlbmd0aC0xKTpsLmNsYXNzTmFtZT1tO3UrPXB9ZS5hcHBlbmQobCk7ZT1
mKGwpfWVsc2UgaWYoIj4iPT1rKWU9ZS5wYXJlbnQoKTtlbHNlIGlmKCJsIj09ayYmZC5iUGFnaW5hdGUmJm
QuYkxlbmd0aENoYW5nZSlnPXRiKGEpO2Vsc2UgaWYoImYiPT1rJiZkLmJGaWx0ZXIpZz11YihhKTtlbHNlI
GlmKCJyIj09ayYmZC5iUHJvY2Vzc2luZylnPXZiKGEpO2Vsc2UgaWYoInQiPT1rKWc9d2IoYSk7ZWxzZSBp
ZigiaSI9PWsmJmQuYkluZm8pZz14YihhKTtlbHNlIGlmKCJwIj09ayYmZC5iUGFnaW5hdGUpZz15YihhKTt
lbHNlIGlmKDAhPT1xLmV4dC5mZWF0dXJlLmxlbmd0aClmb3IobD1xLmV4dC5mZWF0dXJlLHA9MCxuPWwubG
VuZ3RoO3A8bjtwKyspaWYoaz09bFtwXS5jRmVhdHVyZSl7Zz1sW3BdLmZuSW5pdChhKTticmVha31nJiYob
D1hLmFhbkZlYXR1cmVzLGxba118fChsW2tdPVtdKSxsW2tdLnB1c2goZyksZS5hcHBlbmQoZykpfWMucmVw
bGFjZVdpdGgoZSk7YS5uSG9sZGluZz0KbnVsbH1mdW5jdGlvbiBmYShhLGIpe2I9ZihiKS5jaGlsZHJlbig
idHIiKTt2YXIgYyxkLGU7YS5zcGxpY2UoMCxhLmxlbmd0aCk7dmFyIGg9MDtmb3IoZT1iLmxlbmd0aDtoPG
U7aCsrKWEucHVzaChbXSk7aD0wO2ZvcihlPWIubGVuZ3RoO2g8ZTtoKyspe3ZhciBnPWJbaF07Zm9yKGM9Z
y5maXJzdENoaWxkO2M7KXtpZigiVEQiPT1jLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCl8fCJUSCI9PWMubm9k
ZU5hbWUudG9VcHBlckNhc2UoKSl7dmFyIGs9MSpjLmdldEF0dHJpYnV0ZSgiY29sc3BhbiIpO3ZhciBsPTE
qYy5nZXRBdHRyaWJ1dGUoInJvd3NwYW4iKTtrPWsmJjAhPT1rJiYxIT09az9rOjE7bD1sJiYwIT09bCYmMS
E9PWw/
bDoxO3ZhciBuPTA7Zm9yKGQ9YVtoXTtkW25dOyluKys7dmFyIG09bjt2YXIgcD0xPT09az8hMDohMTtmb3I
oZD0wO2Q8aztkKyspZm9yKG49MDtuPGw7bisrKWFbaCtuXVttK2RdPXtjZWxsOmMsdW5pcXVlOnB9LGFbaC
tuXS5uVHI9Z31jPWMubmV4dFNpYmxpbmd9fX0KZnVuY3Rpb24gdWEoYSxiLGMpe3ZhciBkPVtdO2N8fChjP
WEuYW9IZWFkZXIsYiYmKGM9W10sZmEoYyxiKSkpO2I9MDtmb3IodmFyIGU9Yy5sZW5ndGg7YjxlO2IrKylm
b3IodmFyIGg9MCxnPWNbYl0ubGVuZ3RoO2g8ZztoKyspIWNbYl1baF0udW5pcXVlfHxkW2hdJiZhLmJTb3J
0Q2VsbHNUb3B8fChkW2hdPWNbYl1baF0uY2VsbCk7cmV0dXJuIGR9ZnVuY3Rpb24gdmEoYSxiLGMpe0EoYS
wiYW9TZXJ2ZXJQYXJhbXMiLCJzZXJ2ZXJQYXJhbXMiLFtiXSk7aWYoYiYmZi5pc0FycmF5KGIpKXt2YXIgZ
D17fSxlPS8oLio/
KVxbXF0kLztmLmVhY2goYixmdW5jdGlvbihhLGIpeyhhPWIubmFtZS5tYXRjaChlKSk/
KGE9YVswXSxkW2FdfHwoZFthXT1bXSksZFthXS5wdXNoKGIudmFsdWUpKTpkW2IubmFtZV09Yi52YWx1ZX0
pO2I9ZH12YXIgaD1hLmFqYXgsZz1hLm9JbnN0YW5jZSxrPWZ1bmN0aW9uKGIpe0EoYSxudWxsLCJ4aHIiLF
thLGIsYS5qcVhIUl0pO2MoYil9O2lmKGYuaXNQbGFpbk9iamVjdChoKSYmCmguZGF0YSl7dmFyIGw9aC5kY
XRhO3ZhciBuPSJmdW5jdGlvbiI9PT10eXBlb2YgbD9sKGIsYSk6bDtiPSJmdW5jdGlvbiI9PT10eXBlb2Yg
bCYmbj9uOmYuZXh0ZW5kKCEwLGIsbik7ZGVsZXRlIGguZGF0YX1uPXtkYXRhOmIsc3VjY2VzczpmdW5jdGl
vbihiKXt2YXIgYz1iLmVycm9yfHxiLnNFcnJvcjtjJiZPKGEsMCxjKTthLmpzb249YjtrKGIpfSxkYXRhVH
lwZToianNvbiIsY2FjaGU6ITEsdHlwZTphLnNTZXJ2ZXJNZXRob2QsZXJyb3I6ZnVuY3Rpb24oYixjLGQpe
2Q9QShhLG51bGwsInhociIsW2EsbnVsbCxhLmpxWEhSXSk7LTE9PT1mLmluQXJyYXkoITAsZCkmJigicGFy
c2VyZXJyb3IiPT1jP08oYSwwLCJJbnZhbGlkIEpTT04gcmVzcG9uc2UiLDEpOjQ9PT1iLnJlYWR5U3RhdGU
mJk8oYSwwLCJBamF4IGVycm9yIiw3KSk7SyhhLCExKX19O2Eub0FqYXhEYXRhPWI7QShhLG51bGwsInByZV
hociIsW2EsYl0pO2EuZm5TZXJ2ZXJEYXRhP2EuZm5TZXJ2ZXJEYXRhLmNhbGwoZywKYS5zQWpheFNvdXJjZ
SxmLm1hcChiLGZ1bmN0aW9uKGEsYil7cmV0dXJue25hbWU6Yix2YWx1ZTphfX0pLGssYSk6YS5zQWpheFNv
dXJjZXx8InN0cmluZyI9PT10eXBlb2YgaD9hLmpxWEhSPWYuYWpheChmLmV4dGVuZChuLHt1cmw6aHx8YS5
zQWpheFNvdXJjZX0pKToiZnVuY3Rpb24iPT09dHlwZW9mIGg/
YS5qcVhIUj1oLmNhbGwoZyxiLGssYSk6KGEuanFYSFI9Zi5hamF4KGYuZXh0ZW5kKG4saCkpLGguZGF0YT1
sKX1mdW5jdGlvbiBxYihhKXtyZXR1cm4gYS5iQWpheERhdGFHZXQ/
KGEuaURyYXcrKyxLKGEsITApLHZhKGEsemIoYSksZnVuY3Rpb24oYil7QWIoYSxiKX0pLCExKTohMH1mdW5
jdGlvbiB6YihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjPWIubGVuZ3RoLGQ9YS5vRmVhdHVyZXMsZT1hLm9Qcm
V2aW91c1NlYXJjaCxoPWEuYW9QcmVTZWFyY2hDb2xzLGc9W10saz1ZKGEpO3ZhciBsPWEuX2lEaXNwbGF5U
3RhcnQ7dmFyIG49ITEhPT1kLmJQYWdpbmF0ZT9hLl9pRGlzcGxheUxlbmd0aDoKLTE7dmFyIG09ZnVuY3Rp
b24oYSxiKXtnLnB1c2goe25hbWU6YSx2YWx1ZTpifSl9O20oInNFY2hvIixhLmlEcmF3KTttKCJpQ29sdW1
ucyIsYyk7bSgic0NvbHVtbnMiLEooYiwic05hbWUiKS5qb2luKCIsIikpO20oImlEaXNwbGF5U3RhcnQiLG
wpO20oImlEaXNwbGF5TGVuZ3RoIixuKTt2YXIgcD17ZHJhdzphLmlEcmF3LGNvbHVtbnM6W10sb3JkZXI6W
10sc3RhcnQ6bCxsZW5ndGg6bixzZWFyY2g6e3ZhbHVlOmUuc1NlYXJjaCxyZWdleDplLmJSZWdleH19O2Zv
cihsPTA7bDxjO2wrKyl7dmFyIHU9YltsXTt2YXIgc2E9aFtsXTtuPSJmdW5jdGlvbiI9PXR5cGVvZiB1Lm1
EYXRhPyJmdW5jdGlvbiI6dS5tRGF0YTtwLmNvbHVtbnMucHVzaCh7ZGF0YTpuLG5hbWU6dS5zTmFtZSxzZW
FyY2hhYmxlOnUuYlNlYXJjaGFibGUsb3JkZXJhYmxlOnUuYlNvcnRhYmxlLHNlYXJjaDp7dmFsdWU6c2Euc
1NlYXJjaCxyZWdleDpzYS5iUmVnZXh9fSk7bSgibURhdGFQcm9wXyIrbCxuKTtkLmJGaWx0ZXImJgoobSgi
c1NlYXJjaF8iK2wsc2Euc1NlYXJjaCksbSgiYlJlZ2V4XyIrbCxzYS5iUmVnZXgpLG0oImJTZWFyY2hhYmx
lXyIrbCx1LmJTZWFyY2hhYmxlKSk7ZC5iU29ydCYmbSgiYlNvcnRhYmxlXyIrbCx1LmJTb3J0YWJsZSl9ZC
5iRmlsdGVyJiYobSgic1NlYXJjaCIsZS5zU2VhcmNoKSxtKCJiUmVnZXgiLGUuYlJlZ2V4KSk7ZC5iU29yd
CYmKGYuZWFjaChrLGZ1bmN0aW9uKGEsYil7cC5vcmRlci5wdXNoKHtjb2x1bW46Yi5jb2wsZGlyOmIuZGly
fSk7bSgiaVNvcnRDb2xfIithLGIuY29sKTttKCJzU29ydERpcl8iK2EsYi5kaXIpfSksbSgiaVNvcnRpbmd
Db2xzIixrLmxlbmd0aCkpO2I9cS5leHQubGVnYWN5LmFqYXg7cmV0dXJuIG51bGw9PT1iP2Euc0FqYXhTb3
VyY2U/ZzpwOmI/
ZzpwfWZ1bmN0aW9uIEFiKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYlthXSE9PXA/
YlthXTpiW2NdfSxkPXdhKGEsYiksZT1jKCJzRWNobyIsImRyYXciKSxoPWMoImlUb3RhbFJlY29yZHMiLAo
icmVjb3Jkc1RvdGFsIik7Yz1jKCJpVG90YWxEaXNwbGF5UmVjb3JkcyIsInJlY29yZHNGaWx0ZXJlZCIpO2
lmKGUpe2lmKDEqZTxhLmlEcmF3KXJldHVybjthLmlEcmF3PTEqZX1xYShhKTthLl9pUmVjb3Jkc1RvdGFsP
XBhcnNlSW50KGgsMTApO2EuX2lSZWNvcmRzRGlzcGxheT1wYXJzZUludChjLDEwKTtlPTA7Zm9yKGg9ZC5s
ZW5ndGg7ZTxoO2UrKylSKGEsZFtlXSk7YS5haURpc3BsYXk9YS5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKTt
hLmJBamF4RGF0YUdldD0hMTtTKGEpO2EuX2JJbml0Q29tcGxldGV8fHhhKGEsYik7YS5iQWpheERhdGFHZX
Q9ITA7SyhhLCExKX1mdW5jdGlvbiB3YShhLGIpe2E9Zi5pc1BsYWluT2JqZWN0KGEuYWpheCkmJmEuYWphe
C5kYXRhU3JjIT09cD9hLmFqYXguZGF0YVNyYzphLnNBamF4RGF0YVByb3A7cmV0dXJuImRhdGEiPT09YT9i
LmFhRGF0YXx8YlthXToiIiE9PWE/
VShhKShiKTpifWZ1bmN0aW9uIHViKGEpe3ZhciBiPWEub0NsYXNzZXMsYz0KYS5zVGFibGVJZCxkPWEub0x
hbmd1YWdlLGU9YS5vUHJldmlvdXNTZWFyY2gsaD1hLmFhbkZlYXR1cmVzLGc9JzxpbnB1dCB0eXBlPSJzZW
FyY2giIGNsYXNzPSInK2Iuc0ZpbHRlcklucHV0KyciLz4nLGs9ZC5zU2VhcmNoO2s9ay5tYXRjaCgvX0lOU
FVUXy8pP2sucmVwbGFjZSgiX0lOUFVUXyIsZyk6aytnO2I9ZigiPGRpdi8+Iix7aWQ6aC5mP251bGw6Yysi
X2ZpbHRlciIsImNsYXNzIjpiLnNGaWx0ZXJ9KS5hcHBlbmQoZigiPGxhYmVsLz4iKS5hcHBlbmQoaykpO2g
9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnZhbHVlP3RoaXMudmFsdWU6IiI7YiE9ZS5zU2VhcmNoJiYoaWEoYS
x7c1NlYXJjaDpiLGJSZWdleDplLmJSZWdleCxiU21hcnQ6ZS5iU21hcnQsYkNhc2VJbnNlbnNpdGl2ZTplL
mJDYXNlSW5zZW5zaXRpdmV9KSxhLl9pRGlzcGxheVN0YXJ0PTAsUyhhKSl9O2c9bnVsbCE9PWEuc2VhcmNo
RGVsYXk/YS5zZWFyY2hEZWxheToic3NwIj09PUQoYSk/
NDAwOjA7dmFyIGw9ZigiaW5wdXQiLApiKS52YWwoZS5zU2VhcmNoKS5hdHRyKCJwbGFjZWhvbGRlciIsZC5
zU2VhcmNoUGxhY2Vob2xkZXIpLm9uKCJrZXl1cC5EVCBzZWFyY2guRFQgaW5wdXQuRFQgcGFzdGUuRFQgY3
V0LkRUIixnP1NhKGgsZyk6aCkub24oImtleXByZXNzLkRUIixmdW5jdGlvbihhKXtpZigxMz09YS5rZXlDb
2RlKXJldHVybiExfSkuYXR0cigiYXJpYS1jb250cm9scyIsYyk7ZihhLm5UYWJsZSkub24oInNlYXJjaC5k
dC5EVCIsZnVuY3Rpb24oYixjKXtpZihhPT09Yyl0cnl7bFswXSE9PXkuYWN0aXZlRWxlbWVudCYmbC52YWw
oZS5zU2VhcmNoKX1jYXRjaCh3KXt9fSk7cmV0dXJuIGJbMF19ZnVuY3Rpb24gaWEoYSxiLGMpe3ZhciBkPW
Eub1ByZXZpb3VzU2VhcmNoLGU9YS5hb1ByZVNlYXJjaENvbHMsaD1mdW5jdGlvbihhKXtkLnNTZWFyY2g9Y
S5zU2VhcmNoO2QuYlJlZ2V4PWEuYlJlZ2V4O2QuYlNtYXJ0PWEuYlNtYXJ0O2QuYkNhc2VJbnNlbnNpdGl2
ZT1hLmJDYXNlSW5zZW5zaXRpdmV9LGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYkVzY2FwZVJlZ2V4IT09CnA
/
IWEuYkVzY2FwZVJlZ2V4OmEuYlJlZ2V4fTtLYShhKTtpZigic3NwIiE9RChhKSl7QmIoYSxiLnNTZWFyY2g
sYyxnKGIpLGIuYlNtYXJ0LGIuYkNhc2VJbnNlbnNpdGl2ZSk7aChiKTtmb3IoYj0wO2I8ZS5sZW5ndGg7Yi
srKUNiKGEsZVtiXS5zU2VhcmNoLGIsZyhlW2JdKSxlW2JdLmJTbWFydCxlW2JdLmJDYXNlSW5zZW5zaXRpd
mUpO0RiKGEpfWVsc2UgaChiKTthLmJGaWx0ZXJlZD0hMDtBKGEsbnVsbCwic2VhcmNoIixbYV0pfWZ1bmN0
aW9uIERiKGEpe2Zvcih2YXIgYj1xLmV4dC5zZWFyY2gsYz1hLmFpRGlzcGxheSxkLGUsaD0wLGc9Yi5sZW5
ndGg7aDxnO2grKyl7Zm9yKHZhciBrPVtdLGw9MCxuPWMubGVuZ3RoO2w8bjtsKyspZT1jW2xdLGQ9YS5hb0
RhdGFbZV0sYltoXShhLGQuX2FGaWx0ZXJEYXRhLGUsZC5fYURhdGEsbCkmJmsucHVzaChlKTtjLmxlbmd0a
D0wO2YubWVyZ2UoYyxrKX19ZnVuY3Rpb24gQ2IoYSxiLGMsZCxlLGgpe2lmKCIiIT09Yil7dmFyIGc9W10s
az0KYS5haURpc3BsYXk7ZD1UYShiLGQsZSxoKTtmb3IoZT0wO2U8ay5sZW5ndGg7ZSsrKWI9YS5hb0RhdGF
ba1tlXV0uX2FGaWx0ZXJEYXRhW2NdLGQudGVzdChiKSYmZy5wdXNoKGtbZV0pO2EuYWlEaXNwbGF5PWd9fW
Z1bmN0aW9uIEJiKGEsYixjLGQsZSxoKXtlPVRhKGIsZCxlLGgpO3ZhciBnPWEub1ByZXZpb3VzU2VhcmNoL
nNTZWFyY2gsaz1hLmFpRGlzcGxheU1hc3RlcjtoPVtdOzAhPT1xLmV4dC5zZWFyY2gubGVuZ3RoJiYoYz0h
MCk7dmFyIGY9RWIoYSk7aWYoMD49Yi5sZW5ndGgpYS5haURpc3BsYXk9ay5zbGljZSgpO2Vsc2V7aWYoZnx
8Y3x8ZHx8Zy5sZW5ndGg+Yi5sZW5ndGh8fDAhPT1iLmluZGV4T2YoZyl8fGEuYlNvcnRlZClhLmFpRGlzcG
xheT1rLnNsaWNlKCk7Yj1hLmFpRGlzcGxheTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKWUudGVzdChhLmFvR
GF0YVtiW2NdXS5fc0ZpbHRlclJvdykmJmgucHVzaChiW2NdKTthLmFpRGlzcGxheT1ofX1mdW5jdGlvbiBU
YShhLGIsCmMsZCl7YT1iP2E6VWEoYSk7YyYmKGE9Il4oPz0uKj8iK2YubWFwKGEubWF0Y2goLyJbXiJdKyJ
8W14gXSsvZyl8fFsiIl0sZnVuY3Rpb24oYSl7aWYoJyInPT09YS5jaGFyQXQoMCkpe3ZhciBiPWEubWF0Y2
goL14iKC4qKSIkLyk7YT1iP2JbMV06YX1yZXR1cm4gYS5yZXBsYWNlKCciJywiIil9KS5qb2luKCIpKD89L
io/IikrIikuKiQiKTtyZXR1cm4gbmV3IFJlZ0V4cChhLGQ/
ImkiOiIiKX1mdW5jdGlvbiBFYihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjLGQsZT1xLmV4dC50eXBlLnNlYXJ
jaDt2YXIgaD0hMTt2YXIgZz0wO2ZvcihjPWEuYW9EYXRhLmxlbmd0aDtnPGM7ZysrKXt2YXIgaz1hLmFvRG
F0YVtnXTtpZighay5fYUZpbHRlckRhdGEpe3ZhciBmPVtdO3ZhciBuPTA7Zm9yKGQ9Yi5sZW5ndGg7bjxkO
24rKyl7aD1iW25dO2lmKGguYlNlYXJjaGFibGUpe3ZhciBtPUkoYSxnLG4sImZpbHRlciIpO2VbaC5zVHlw
ZV0mJihtPWVbaC5zVHlwZV0obSkpO251bGw9PT1tJiYobT0iIik7CiJzdHJpbmciIT09dHlwZW9mIG0mJm0
udG9TdHJpbmcmJihtPW0udG9TdHJpbmcoKSl9ZWxzZSBtPSIiO20uaW5kZXhPZiYmLTEhPT1tLmluZG
V4T2YoIiYiKSYmKHlhLmlubmVySFRNTD1tLG09JGI/
eWEudGV4dENvbnRlbnQ6eWEuaW5uZXJUZXh0KTttLnJlcGxhY2UmJihtPW0ucmVwbGFjZSgvW1xyXG5cdTI
wMjhdL2csIiIpKTtmLnB1c2gobSl9ay5fYUZpbHRlckRhdGE9ZjtrLl9zRmlsdGVyUm93PWYuam9pbigiIC
AiKTtoPSEwfX1yZXR1cm4gaH1mdW5jdGlvbiBGYihhKXtyZXR1cm57c2VhcmNoOmEuc1NlYXJjaCxzbWFyd
DphLmJTbWFydCxyZWdleDphLmJSZWdleCxjYXNlSW5zZW5zaXRpdmU6YS5iQ2FzZUluc2Vuc2l0aXZlfX1m
dW5jdGlvbiBHYihhKXtyZXR1cm57c1NlYXJjaDphLnNlYXJjaCxiU21hcnQ6YS5zbWFydCxiUmVnZXg6YS5
yZWdleCxiQ2FzZUluc2Vuc2l0aXZlOmEuY2FzZUluc2Vuc2l0aXZlfX1mdW5jdGlvbiB4YihhKXt2YXIgYj
1hLnNUYWJsZUlkLGM9YS5hYW5GZWF0dXJlcy5pLApkPWYoIjxkaXYvPiIseyJjbGFzcyI6YS5vQ2xhc3Nlc
y5zSW5mbyxpZDpjP251bGw6YisiX2luZm8ifSk7Y3x8KGEuYW9EcmF3Q2FsbGJhY2sucHVzaCh7Zm46SGIs
c05hbWU6ImluZm9ybWF0aW9uIn0pLGQuYXR0cigicm9sZSIsInN0YXR1cyIpLmF0dHIoImFyaWEtbGl2ZSI
sInBvbGl0ZSIpLGYoYS5uVGFibGUpLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLGIrIl9pbmZvIikpO3JldH
VybiBkWzBdfWZ1bmN0aW9uIEhiKGEpe3ZhciBiPWEuYWFuRmVhdHVyZXMuaTtpZigwIT09Yi5sZW5ndGgpe
3ZhciBjPWEub0xhbmd1YWdlLGQ9YS5faURpc3BsYXlTdGFydCsxLGU9YS5mbkRpc3BsYXlFbmQoKSxoPWEu
Zm5SZWNvcmRzVG90YWwoKSxnPWEuZm5SZWNvcmRzRGlzcGxheSgpLGs9Zz9jLnNJbmZvOmMuc0luZm9FbXB
0eTtnIT09aCYmKGsrPSIgIitjLnNJbmZvRmlsdGVyZWQpO2srPWMuc0luZm9Qb3N0Rml4O2s9SWIoYSxrKT
tjPWMuZm5JbmZvQ2FsbGJhY2s7bnVsbCE9PWMmJihrPWMuY2FsbChhLm9JbnN0YW5jZSwKYSxkLGUsaCxnL
GspKTtmKGIpLmh0bWwoayl9fWZ1bmN0aW9uIEliKGEsYil7dmFyIGM9YS5mbkZvcm1hdE51bWJlcixkPWEu
X2lEaXNwbGF5U3RhcnQrMSxlPWEuX2lEaXNwbGF5TGVuZ3RoLGg9YS5mblJlY29yZHNEaXNwbGF5KCksZz0
tMT09PWU7cmV0dXJuIGIucmVwbGFjZSgvX1NUQVJUXy9nLGMuY2FsbChhLGQpKS5yZXBsYWNlKC9fRU5EXy
9nLGMuY2FsbChhLGEuZm5EaXNwbGF5RW5kKCkpKS5yZXBsYWNlKC9fTUFYXy9nLGMuY2FsbChhLGEuZm5SZ
WNvcmRzVG90YWwoKSkpLnJlcGxhY2UoL19UT1RBTF8vZyxjLmNhbGwoYSxoKSkucmVwbGFjZSgvX1BBR0Vf
L2csYy5jYWxsKGEsZz8xOk1hdGguY2VpbChkL2UpKSkucmVwbGFjZSgvX1BBR0VTXy9nLGMuY2FsbChhLGc
/
MTpNYXRoLmNlaWwoaC9lKSkpfWZ1bmN0aW9uIGphKGEpe3ZhciBiPWEuaUluaXREaXNwbGF5U3RhcnQsYz1
hLmFvQ29sdW1uczt2YXIgZD1hLm9GZWF0dXJlczt2YXIgZT1hLmJEZWZlckxvYWRpbmc7aWYoYS5iSW5pdG
lhbGlzZWQpe3NiKGEpOwpwYihhKTtoYShhLGEuYW9IZWFkZXIpO2hhKGEsYS5hb0Zvb3Rlcik7SyhhLCEwK
TtkLmJBdXRvV2lkdGgmJkphKGEpO3ZhciBoPTA7Zm9yKGQ9Yy5sZW5ndGg7aDxkO2grKyl7dmFyIGc9Y1to
XTtnLnNXaWR0aCYmKGcublRoLnN0eWxlLndpZHRoPUIoZy5zV2lkdGgpKX1BKGEsbnVsbCwicHJlSW5pdCI
sW2FdKTtWKGEpO2M9RChhKTtpZigic3NwIiE9Y3x8ZSkiYWpheCI9PWM/
dmEoYSxbXSxmdW5jdGlvbihjKXt2YXIgZD13YShhLGMpO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspUihhLGR
baF0pO2EuaUluaXREaXNwbGF5U3RhcnQ9YjtWKGEpO0soYSwhMSk7eGEoYSxjKX0sYSk6KEsoYSwhMSkseG
EoYSkpfWVsc2Ugc2V0VGltZW91dChmdW5jdGlvbigpe2phKGEpfSwyMDApfWZ1bmN0aW9uIHhhKGEsYil7Y
S5fYkluaXRDb21wbGV0ZT0hMDsoYnx8YS5vSW5pdC5hYURhdGEpJiZhYShhKTtBKGEsbnVsbCwicGx1Z2lu
LWluaXQiLFthLGJdKTtBKGEsImFvSW5pdENvbXBsZXRlIiwiaW5pdCIsClthLGJdKX1mdW5jdGlvbiBWYSh
hLGIpe2I9cGFyc2VJbnQoYiwxMCk7YS5faURpc3BsYXlMZW5ndGg9YjtXYShhKTtBKGEsbnVsbCwibGVuZ3
RoIixbYSxiXSl9ZnVuY3Rpb24gdGIoYSl7dmFyIGI9YS5vQ2xhc3NlcyxjPWEuc1RhYmxlSWQsZD1hLmFMZ
W5ndGhNZW51LGU9Zi5pc0FycmF5KGRbMF0pLGg9ZT9kWzBdOmQ7ZD1lP2RbMV06ZDtlPWYoIjxzZWxlY3Qv
PiIse25hbWU6YysiX2xlbmd0aCIsImFyaWEtY29udHJvbHMiOmMsImNsYXNzIjpiLnNMZW5ndGhTZWxlY3R
9KTtmb3IodmFyIGc9MCxrPWgubGVuZ3RoO2c8aztnKyspZVswXVtnXT1uZXcgT3B0aW9uKCJudW1iZXIiPT
09dHlwZW9mIGRbZ10/
YS5mbkZvcm1hdE51bWJlcihkW2ddKTpkW2ddLGhbZ10pO3ZhciBsPWYoIjxkaXY+PGxhYmVsLz48L2Rpdj4
iKS5hZGRDbGFzcyhiLnNMZW5ndGgpO2EuYWFuRmVhdHVyZXMubHx8KGxbMF0uaWQ9YysiX2xlbmd0aCIpO2
wuY2hpbGRyZW4oKS5hcHBlbmQoYS5vTGFuZ3VhZ2Uuc0xlbmd0aE1lbnUucmVwbGFjZSgiX01FTlVfIiwKZ
VswXS5vdXRlckhUTUwpKTtmKCJzZWxlY3QiLGwpLnZhbChhLl9pRGlzcGxheUxlbmd0aCkub24oImNoYW5n
ZS5EVCIsZnVuY3Rpb24oYil7VmEoYSxmKHRoaXMpLnZhbCgpKTtTKGEpfSk7ZihhLm5UYWJsZSkub24oImx
lbmd0aC5kdC5EVCIsZnVuY3Rpb24oYixjLGQpe2E9PT1jJiZmKCJzZWxlY3QiLGwpLnZhbChkKX0pO3JldH
VybiBsWzBdfWZ1bmN0aW9uIHliKGEpe3ZhciBiPWEuc1BhZ2luYXRpb25UeXBlLGM9cS5leHQucGFnZXJbY
l0sZD0iZnVuY3Rpb24iPT09dHlwZW9mIGMsZT1mdW5jdGlvbihhKXtTKGEpfTtiPWYoIjxkaXYvPiIpLmFk
ZENsYXNzKGEub0NsYXNzZXMuc1BhZ2luZytiKVswXTt2YXIgaD1hLmFhbkZlYXR1cmVzO2R8fGMuZm5Jbml
0KGEsYixlKTtoLnB8fChiLmlkPWEuc1RhYmxlSWQrIl9wYWdpbmF0ZSIsYS5hb0RyYXdDYWxsYmFjay5wdX
NoKHtmbjpmdW5jdGlvbihhKXtpZihkKXt2YXIgYj1hLl9pRGlzcGxheVN0YXJ0LGc9YS5faURpc3BsYXlMZ
W5ndGgsCmY9YS5mblJlY29yZHNEaXNwbGF5KCksbT0tMT09PWc7Yj1tPzA6TWF0aC5jZWlsKGIvZyk7Zz1t
PzE6TWF0aC5jZWlsKGYvZyk7Zj1jKGIsZyk7dmFyIHA7bT0wO2ZvcihwPWgucC5sZW5ndGg7bTxwO20rKyl
SYShhLCJwYWdlQnV0dG9uIikoYSxoLnBbbV0sbSxmLGIsZyl9ZWxzZSBjLmZuVXBkYXRlKGEsZSl9LHNOYW
1lOiJwYWdpbmF0aW9uIn0pKTtyZXR1cm4gYn1mdW5jdGlvbiBYYShhLGIsYyl7dmFyIGQ9YS5faURpc3BsY
XlTdGFydCxlPWEuX2lEaXNwbGF5TGVuZ3RoLGg9YS5mblJlY29yZHNEaXNwbGF5KCk7MD09PWh8fC0xPT09
ZT9kPTA6Im51bWJlciI9PT10eXBlb2YgYj8oZD1iKmUsZD5oJiYoZD0wKSk6ImZpcnN0Ij09Yj9kPTA6InB
yZXZpb3VzIj09Yj8oZD0wPD1lP2QtZTowLDA+ZCYmKGQ9MCkpOiJuZXh0Ij09Yj9kK2U8aCYmKGQrPWUpOi
JsYXN0Ij09Yj9kPU1hdGguZmxvb3IoKGgtMSkvZSkqZTpPKGEsMCwiVW5rbm93biBwYWdpbmcgYWN0aW9uO
iAiK2IsNSk7Yj0KYS5faURpc3BsYXlTdGFydCE9PWQ7YS5faURpc3BsYXlTdGFydD1kO2ImJihBKGEsbnVs
bCwicGFnZSIsW2FdKSxjJiZTKGEpKTtyZXR1cm4gYn1mdW5jdGlvbiB2YihhKXtyZXR1cm4gZigiPGRpdi8
+Iix7aWQ6YS5hYW5GZWF0dXJlcy5yP251bGw6YS5zVGFibGVJZCsiX3Byb2Nlc3NpbmciLCJjbGFzcyI6YS
5vQ2xhc3Nlcy5zUHJvY2Vzc2luZ30pLmh0bWwoYS5vTGFuZ3VhZ2Uuc1Byb2Nlc3NpbmcpLmluc2VydEJlZ
m9yZShhLm5UYWJsZSlbMF19ZnVuY3Rpb24gSyhhLGIpe2Eub0ZlYXR1cmVzLmJQcm9jZXNzaW5nJiZmKGEu
YWFuRmVhdHVyZXMucikuY3NzKCJkaXNwbGF5IixiPyJibG9jayI6Im5vbmUiKTtBKGEsbnVsbCwicHJvY2V
zc2luZyIsW2EsYl0pfWZ1bmN0aW9uIHdiKGEpe3ZhciBiPWYoYS5uVGFibGUpO2IuYXR0cigicm9sZSIsIm
dyaWQiKTt2YXIgYz1hLm9TY3JvbGw7aWYoIiI9PT1jLnNYJiYiIj09PWMuc1kpcmV0dXJuIGEublRhYmxlO
3ZhciBkPWMuc1gsZT1jLnNZLApoPWEub0NsYXNzZXMsZz1iLmNoaWxkcmVuKCJjYXB0aW9uIiksaz1nLmxl
bmd0aD9nWzBdLl9jYXB0aW9uU2lkZTpudWxsLGw9ZihiWzBdLmNsb25lTm9kZSghMSkpLG49ZihiWzBdLmN
sb25lTm9kZSghMSkpLG09Yi5jaGlsZHJlbigidGZvb3QiKTttLmxlbmd0aHx8KG09bnVsbCk7bD1mKCI8ZG
l2Lz4iLHsiY2xhc3MiOmguc1Njcm9sbFdyYXBwZXJ9KS5hcHBlbmQoZigiPGRpdi8+Iix7ImNsYXNzIjpoL
nNTY3JvbGxIZWFkfSkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGJvcmRl
cjowLHdpZHRoOmQ/
ZD9CKGQpOm51bGw6IjEwMCUifSkuYXBwZW5kKGYoIjxkaXYvPiIseyJjbGFzcyI6aC5zU2Nyb2xsSGVhZEl
ubmVyfSkuY3NzKHsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94Iix3aWR0aDpjLnNYSW5uZXJ8fCIxMDAlIn
0pLmFwcGVuZChsLnJlbW92ZUF0dHIoImlkIikuY3NzKCJtYXJnaW4tbGVmdCIsMCkuYXBwZW5kKCJ0b3AiP
T09az9nOm51bGwpLmFwcGVuZChiLmNoaWxkcmVuKCJ0aGVhZCIpKSkpKS5hcHBlbmQoZigiPGRpdi8+IiwK
eyJjbGFzcyI6aC5zU2Nyb2xsQm9keX0pLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixvdmVyZmxvdzoiYXV
0byIsd2lkdGg6ZD9CKGQpOm51bGx9KS5hcHBlbmQoYikpO20mJmwuYXBwZW5kKGYoIjxkaXYvPiIseyJjbG
FzcyI6aC5zU2Nyb2xsRm9vdH0pLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyOjAsd2lkdGg6ZD9kP
0IoZCk6bnVsbDoiMTAwJSJ9KS5hcHBlbmQoZigiPGRpdi8+Iix7ImNsYXNzIjpoLnNTY3JvbGxGb290SW5u
ZXJ9KS5hcHBlbmQobi5yZW1vdmVBdHRyKCJpZCIpLmNzcygibWFyZ2luLWxlZnQiLDApLmFwcGVuZCgiYm9
0dG9tIj09PWs/
ZzpudWxsKS5hcHBlbmQoYi5jaGlsZHJlbigidGZvb3QiKSkpKSk7Yj1sLmNoaWxkcmVuKCk7dmFyIHA9Yls
wXTtoPWJbMV07dmFyIHU9bT9iWzJdOm51bGw7aWYoZClmKGgpLm9uKCJzY3JvbGwuRFQiLGZ1bmN0aW9uKG
Epe2E9dGhpcy5zY3JvbGxMZWZ0O3Auc2Nyb2xsTGVmdD1hO20mJih1LnNjcm9sbExlZnQ9YSl9KTsKZihoK
S5jc3MoZSYmYy5iQ29sbGFwc2U/
Im1heC1oZWlnaHQiOiJoZWlnaHQiLGUpO2EublNjcm9sbEhlYWQ9cDthLm5TY3JvbGxCb2R5PWg7YS5uU2N
yb2xsRm9vdD11O2EuYW9EcmF3Q2FsbGJhY2sucHVzaCh7Zm46bmEsc05hbWU6InNjcm9sbGluZyJ9KTtyZX
R1cm4gbFswXX1mdW5jdGlvbiBuYShhKXt2YXIgYj1hLm9TY3JvbGwsYz1iLnNYLGQ9Yi5zWElubmVyLGU9Y
i5zWTtiPWIuaUJhcldpZHRoO3ZhciBoPWYoYS5uU2Nyb2xsSGVhZCksZz1oWzBdLnN0eWxlLGs9aC5jaGls
ZHJlbigiZGl2IiksbD1rWzBdLnN0eWxlLG49ay5jaGlsZHJlbigidGFibGUiKTtrPWEublNjcm9sbEJvZHk
7dmFyIG09ZihrKSx3PWsuc3R5bGUsdT1mKGEublNjcm9sbEZvb3QpLmNoaWxkcmVuKCJkaXYiKSxxPXUuY2
hpbGRyZW4oInRhYmxlIiksdD1mKGEublRIZWFkKSxyPWYoYS5uVGFibGUpLHY9clswXSx6YT12LnN0eWxlL
FQ9YS5uVEZvb3Q/
ZihhLm5URm9vdCk6bnVsbCxBPWEub0Jyb3dzZXIsCng9QS5iU2Nyb2xsT3ZlcnNpemUsYWM9SihhLmFvQ29
sdW1ucywiblRoIiksWWE9W10seT1bXSx6PVtdLEM9W10sRyxIPWZ1bmN0aW9uKGEpe2E9YS5zdHlsZTthLn
BhZGRpbmdUb3A9IjAiO2EucGFkZGluZ0JvdHRvbT0iMCI7YS5ib3JkZXJUb3BXaWR0aD0iMCI7YS5ib3JkZ
XJCb3R0b21XaWR0aD0iMCI7YS5oZWlnaHQ9MH07dmFyIEQ9ay5zY3JvbGxIZWlnaHQ+ay5jbGllbnRIZWln
aHQ7aWYoYS5zY3JvbGxCYXJWaXMhPT1EJiZhLnNjcm9sbEJhclZpcyE9PXApYS5zY3JvbGxCYXJWaXM9RCx
hYShhKTtlbHNle2Euc2Nyb2xsQmFyVmlzPUQ7ci5jaGlsZHJlbigidGhlYWQsIHRmb290IikucmVtb3ZlKC
k7aWYoVCl7dmFyIEU9VC5jbG9uZSgpLnByZXBlbmRUbyhyKTt2YXIgRj1ULmZpbmQoInRyIik7RT1FLmZpb
mQoInRyIil9dmFyIEk9dC5jbG9uZSgpLnByZXBlbmRUbyhyKTt0PXQuZmluZCgidHIiKTtEPUkuZmluZCgi
dHIiKTtJLmZpbmQoInRoLCB0ZCIpLnJlbW92ZUF0dHIoInRhYmluZGV4Iik7CmN8fCh3LndpZHRoPSIxMDA
lIixoWzBdLnN0eWxlLndpZHRoPSIxMDAlIik7Zi5lYWNoKHVhKGEsSSksZnVuY3Rpb24oYixjKXtHPWJhKG
EsYik7Yy5zdHlsZS53aWR0aD1hLmFvQ29sdW1uc1tHXS5zV2lkdGh9KTtUJiZOKGZ1bmN0aW9uKGEpe2Euc
3R5bGUud2lkdGg9IiJ9LEUpO2g9ci5vdXRlcldpZHRoKCk7IiI9PT1jPyh6YS53aWR0aD0iMTAwJSIseCYm
KHIuZmluZCgidGJvZHkiKS5oZWlnaHQoKT5rLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PW0uY3NzKCJvdmV
yZmxvdy15IikpJiYoemEud2lkdGg9QihyLm91dGVyV2lkdGgoKS1iKSksaD1yLm91dGVyV2lkdGgoKSk6Ii
IhPT1kJiYoemEud2lkdGg9QihkKSxoPXIub3V0ZXJXaWR0aCgpKTtOKEgsRCk7TihmdW5jdGlvbihhKXt6L
nB1c2goYS5pbm5lckhUTUwpO1lhLnB1c2goQihmKGEpLmNzcygid2lkdGgiKSkpfSxEKTtOKGZ1bmN0aW9u
KGEsYil7LTEhPT1mLmluQXJyYXkoYSxhYykmJihhLnN0eWxlLndpZHRoPVlhW2JdKX0sCnQpO2YoRCkuaGV
pZ2h0KDApO1QmJihOKEgsRSksTihmdW5jdGlvbihhKXtDLnB1c2goYS5pbm5lckhUTUwpO3kucHVzaChCKG
YoYSkuY3NzKCJ3aWR0aCIpKSl9LEUpLE4oZnVuY3Rpb24oYSxiKXthLnN0eWxlLndpZHRoPXlbYl19LEYpL
GYoRSkuaGVpZ2h0KDApKTtOKGZ1bmN0aW9uKGEsYil7YS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImRhdGFU
YWJsZXNfc2l6aW5nIj4nK3pbYl0rIjwvZGl2PiI7YS5jaGlsZE5vZGVzWzBdLnN0eWxlLmhlaWdodD0iMCI
7YS5jaGlsZE5vZGVzWzBdLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2Euc3R5bGUud2lkdGg9WWFbYl19LE
QpO1QmJk4oZnVuY3Rpb24oYSxiKXthLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZGF0YVRhYmxlc19zaXppb
mciPicrQ1tiXSsiPC9kaXY+IjthLmNoaWxkTm9kZXNbMF0uc3R5bGUuaGVpZ2h0PSIwIjthLmNoaWxkTm9k
ZXNbMF0uc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7YS5zdHlsZS53aWR0aD15W2JdfSxFKTtyLm91dGVyV2l
kdGgoKTwKaD8oRj1rLnNjcm9sbEhlaWdodD5rLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PW0uY3NzKCJvdm
VyZmxvdy15Iik/
aCtiOmgseCYmKGsuc2Nyb2xsSGVpZ2h0Pmsub2Zmc2V0SGVpZ2h0fHwic2Nyb2xsIj09bS5jc3MoIm92ZXJ
mbG93LXkiKSkmJih6YS53aWR0aD1CKEYtYikpLCIiIT09YyYmIiI9PT1kfHxPKGEsMSwiUG9zc2libGUgY2
9sdW1uIG1pc2FsaWdubWVudCIsNikpOkY9IjEwMCUiO3cud2lkdGg9QihGKTtnLndpZHRoPUIoRik7VCYmK
GEublNjcm9sbEZvb3Quc3R5bGUud2lkdGg9QihGKSk7IWUmJngmJih3LmhlaWdodD1CKHYub2Zmc2V0SGVp
Z2h0K2IpKTtjPXIub3V0ZXJXaWR0aCgpO25bMF0uc3R5bGUud2lkdGg9QihjKTtsLndpZHRoPUIoYyk7ZD1
yL
mhlaWdodCgpPmsuY2xpZW50SGVpZ2h0fHwic2Nyb2xsIj09bS5jc3MoIm92ZXJmbG93LXkiKTtlPSJwYWRk
aW5nIisoQS5iU2Nyb2xsYmFyTGVmdD8iTGVmdCI6IlJpZ2h0Iik7bFtlXT1kP2IrInB4IjoiMHB4IjtUJiY
KKHFbMF0uc3R5bGUud2lkdGg9QihjKSx1WzBdLnN0eWxlLndpZHRoPUIoYyksdVswXS5zdHlsZVtlXT1kP2
IrInB4IjoiMHB4Iik7ci5jaGlsZHJlbigiY29sZ3JvdXAiKS5pbnNlcnRCZWZvcmUoci5jaGlsZHJlbigid
GhlYWQiKSk7bS50cmlnZ2VyKCJzY3JvbGwiKTshYS5iU29ydGVkJiYhYS5iRmlsdGVyZWR8fGEuX2RyYXdI
b2xkfHwoay5zY3JvbGxUb3A9MCl9fWZ1bmN0aW9uIE4oYSxiLGMpe2Zvcih2YXIgZD0wLGU9MCxoPWIubGV
uZ3RoLGcsaztlPGg7KXtnPWJbZV0uZmlyc3RDaGlsZDtmb3Ioaz1jP2NbZV0uZmlyc3RDaGlsZDpudWxsO2
c7KTE9PT1nLm5vZGVUeXBlJiYoYz9hKGcsayxkKTphKGcsZCksZCsrKSxnPWcubmV4dFNpYmxpbmcsaz1jP
2submV4dFNpYmxpbmc6bnVsbDtlKyt9fWZ1bmN0aW9uIEphKGEpe3ZhciBiPWEublRhYmxlLGM9YS5hb0Nv
bHVtbnMsZD1hLm9TY3JvbGwsZT1kLnNZLGg9ZC5zWCxnPWQuc1hJbm5lcixrPWMubGVuZ3RoLGw9b2EoYSw
iYlZpc2libGUiKSwKbj1mKCJ0aCIsYS5uVEhlYWQpLG09Yi5nZXRBdHRyaWJ1dGUoIndpZHRoIikscD1iLn
BhcmVudE5vZGUsdT0hMSxxLHQ9YS5vQnJvd3NlcjtkPXQuYlNjcm9sbE92ZXJzaXplOyhxPWIuc3R5bGUud
2lkdGgpJiYtMSE9PXEuaW5kZXhPZigiJSIpJiYobT1xKTtmb3IocT0wO3E8bC5sZW5ndGg7cSsrKXt2YXIg
cj1jW2xbcV1dO251bGwhPT1yLnNXaWR0aCYmKHIuc1dpZHRoPUpiKHIuc1dpZHRoT3JpZyxwKSx1PSEwKX1
pZihkfHwhdSYmIWgmJiFlJiZrPT1XKGEpJiZrPT1uLmxlbmd0aClmb3IocT0wO3E8aztxKyspbD1iYShhLH
EpLG51bGwhPT1sJiYoY1tsXS5zV2lkdGg9QihuLmVxKHEpLndpZHRoKCkpKTtlbHNle2s9ZihiKS5jbG9uZ
SgpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLnJlbW92ZUF0dHIoImlkIik7ay5maW5kKCJ0Ym9keSB0
ciIpLnJlbW92ZSgpO3ZhciB2PWYoIjx0ci8+IikuYXBwZW5kVG8oay5maW5kKCJ0Ym9keSIpKTtrLmZpbmQ
oInRoZWFkLCB0Zm9vdCIpLnJlbW92ZSgpOwprLmFwcGVuZChmKGEublRIZWFkKS5jbG9uZSgpKS5hcHBlbm
QoZihhLm5URm9vdCkuY2xvbmUoKSk7ay5maW5kKCJ0Zm9vdCB0aCwgdGZvb3QgdGQiKS5jc3MoIndpZHRoI
iwiIik7bj11YShhLGsuZmluZCgidGhlYWQiKVswXSk7Zm9yKHE9MDtxPGwubGVuZ3RoO3ErKylyPWNbbFtx
XV0sbltxXS5zdHlsZS53aWR0aD1udWxsIT09ci5zV2lkdGhPcmlnJiYiIiE9PXIuc1dpZHRoT3JpZz9CKHI
uc1dpZHRoT3JpZyk6IiIsci5zV2lkdGhPcmlnJiZoJiZmKG5bcV0pLmFwcGVuZChmKCI8ZGl2Lz4iKS5jc3
Moe3dpZHRoOnIuc1dpZHRoT3JpZyxtYXJnaW46MCxwYWRkaW5nOjAsYm9yZGVyOjAsaGVpZ2h0OjF9KSk7a
WYoYS5hb0RhdGEubGVuZ3RoKWZvcihxPTA7cTxsLmxlbmd0aDtxKyspdT1sW3FdLHI9Y1t1XSxmKEtiKGEs
dSkpLmNsb25lKCExKS5hcHBlbmQoci5zQ29udGVudFBhZGRpbmcpLmFwcGVuZFRvKHYpO2YoIltuYW1lXSI
saykucmVtb3ZlQXR0cigibmFtZSIpO3I9ZigiPGRpdi8+IikuY3NzKGh8fAplP3twb3NpdGlvbjoiYWJzb2
x1dGUiLHRvcDowLGxlZnQ6MCxoZWlnaHQ6MSxyaWdodDowLG92ZXJmbG93OiJoaWRkZW4ifTp7fSkuYXBwZ
W5kKGspLmFwcGVuZFRvKHApO2gmJmc/
ay53aWR0aChnKTpoPyhrLmNzcygid2lkdGgiLCJhdXRvIiksay5yZW1vdmVBdHRyKCJ3aWR0aCIpLGsud2l
kdGgoKTxwLmNsaWVudFdpZHRoJiZtJiZrLndpZHRoKHAuY2xpZW50V2lkdGgpKTplP2sud2lkdGgocC5jbG
llbnRXaWR0aCk6bSYmay53aWR0aChtKTtmb3IocT1lPTA7cTxsLmxlbmd0aDtxKyspcD1mKG5bcV0pLGc9c
C5vdXRlcldpZHRoKCktcC53aWR0aCgpLHA9dC5iQm91bmRpbmc/
TWF0aC5jZWlsKG5bcV0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpOnAub3V0ZXJXaWR0aCgpLGU
rPXAsY1tsW3FdXS5zV2lkdGg9QihwLWcpO2Iuc3R5bGUud2lkdGg9QihlKTtyLnJlbW92ZSgpfW0mJihiLn
N0eWxlLndpZHRoPUIobSkpOyFtJiYhaHx8YS5fcmVzekV2dHx8KGI9ZnVuY3Rpb24oKXtmKHopLm9uKCJyZ
XNpemUuRFQtIisKYS5zSW5zdGFuY2UsU2EoZnVuY3Rpb24oKXthYShhKX0pKX0sZD9zZXRUaW1lb3V0KGIs
MUUzKTpiKCksYS5fcmVzekV2dD0hMCl9ZnVuY3Rpb24gSmIoYSxiKXtpZighYSlyZXR1cm4gMDthPWYoIjx
kaXYvPiIpLmNzcygid2lkdGgiLEIoYSkpLmFwcGVuZFRvKGJ8fHkuYm9keSk7Yj1hWzBdLm9mZnNldFdpZH
RoO2EucmVtb3ZlKCk7cmV0dXJuIGJ9ZnVuY3Rpb24gS2IoYSxiKXt2YXIgYz1MYihhLGIpO2lmKDA+YylyZ
XR1cm4gbnVsbDt2YXIgZD1hLmFvRGF0YVtjXTtyZXR1cm4gZC5uVHI/
ZC5hbkNlbGxzW2JdOmYoIjx0ZC8+IikuaHRtbChJKGEsYyxiLCJkaXNwbGF5IikpWzBdfWZ1bmN0aW9uIEx
iKGEsYil7Zm9yKHZhciBjLGQ9LTEsZT0tMSxoPTAsZz1hLmFvRGF0YS5sZW5ndGg7aDxnO2grKyljPUkoYS
xoLGIsImRpc3BsYXkiKSsiIixjPWMucmVwbGFjZShiYywiIiksYz1jLnJlcGxhY2UoLyZuYnNwOy9nLCIgI
iksYy5sZW5ndGg+ZCYmKGQ9Yy5sZW5ndGgsZT1oKTtyZXR1cm4gZX0KZnVuY3Rpb24gQihhKXtyZXR1cm4g
bnVsbD09PWE/
IjBweCI6Im51bWJlciI9PXR5cGVvZiBhPzA+YT8iMHB4IjphKyJweCI6YS5tYXRjaCgvXGQkLyk/
YSsicHgiOmF9ZnVuY3Rpb24gWShhKXt2YXIgYj1bXSxjPWEuYW9Db2x1bW5zO3ZhciBkPWEuYWFTb3J0aW5
nRml4ZWQ7dmFyIGU9Zi5pc1BsYWluT2JqZWN0KGQpO3ZhciBoPVtdO3ZhciBnPWZ1bmN0aW9uKGEpe2EubG
VuZ3RoJiYhZi5pc0FycmF5KGFbMF0pP2gucHVzaChhKTpmLm1lcmdlKGgsYSl9O2YuaXNBcnJheShkKSYmZ
yhkKTtlJiZkLnByZSYmZyhkLnByZSk7ZyhhLmFhU29ydGluZyk7ZSYmZC5wb3N0JiZnKGQucG9zdCk7Zm9y
KGE9MDthPGgubGVuZ3RoO2ErKyl7dmFyIGs9aFthXVswXTtnPWNba10uYURhdGFTb3J0O2Q9MDtmb3IoZT1
nLmxlbmd0aDtkPGU7ZCsrKXt2YXIgbD1nW2RdO3ZhciBuPWNbbF0uc1R5cGV8fCJzdHJpbmciO2hbYV0uX2
lkeD09PXAmJihoW2FdLl9pZHg9Zi5pbkFycmF5KGhbYV1bMV0sY1tsXS5hc1NvcnRpbmcpKTsKYi5wdXNoK
HtzcmM6ayxjb2w6bCxkaXI6aFthXVsxXSxpbmRleDpoW2FdLl9pZHgsdHlwZTpuLGZvcm1hdHRlcjpxLmV4
dC50eXBlLm9yZGVyW24rIi1wcmUiXX0pfX1yZXR1cm4gYn1mdW5jdGlvbiByYihhKXt2YXIgYixjPVtdLGQ
9cS5leHQudHlwZS5vcmRlcixlPWEuYW9EYXRhLGg9MCxnPWEuYWlEaXNwbGF5TWFzdGVyO0thKGEpO3Zhci
BrPVkoYSk7dmFyIGY9MDtmb3IoYj1rLmxlbmd0aDtmPGI7ZisrKXt2YXIgbj1rW2ZdO24uZm9ybWF0dGVyJ
iZoKys7TWIoYSxuLmNvbCl9aWYoInNzcCIhPUQoYSkmJjAhPT1rLmxlbmd0aCl7Zj0wO2ZvcihiPWcubGVu
Z3RoO2Y8YjtmKyspY1tnW2ZdXT1mO2g9PT1rLmxlbmd0aD9nLnNvcnQoZnVuY3Rpb24oYSxiKXt2YXIgZCx
oPWsubGVuZ3RoLGc9ZVthXS5fYVNvcnREYXRhLGY9ZVtiXS5fYVNvcnREYXRhO2ZvcihkPTA7ZDxoO2QrKy
l7dmFyIGw9a1tkXTt2YXIgbT1nW2wuY29sXTt2YXIgbj1mW2wuY29sXTttPW08bj8tMTptPm4/
MTowOwppZigwIT09bSlyZXR1cm4iYXNjIj09PWwuZGlyP206LW19bT1jW2FdO249Y1tiXTtyZXR1cm4gbTx
uPy0xOm0+bj8xOjB9KTpnLnNvcnQoZnVuY3Rpb24oYSxiKXt2YXIgaCxnPWsubGVuZ3RoLGY9ZVthXS5fYV
NvcnREYXRhLGw9ZVtiXS5fYVNvcnREYXRhO2ZvcihoPTA7aDxnO2grKyl7dmFyIG09a1toXTt2YXIgbj1mW
20uY29sXTt2YXIgcD1sW20uY29sXTttPWRbbS50eXBlKyItIittLmRpcl18fGRbInN0cmluZy0iK20uZGly
XTtuPW0obixwKTtpZigwIT09bilyZXR1cm4gbn1uPWNbYV07cD1jW2JdO3JldHVybiBuPHA/
LTE6bj5wPzE6MH0pfWEuYlNvcnRlZD0hMH1mdW5jdGlvbiBOYihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjPVk
oYSk7YT1hLm9MYW5ndWFnZS5vQXJpYTtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2Q8ZTtkKyspe3ZhciBoPW
JbZF07dmFyIGc9aC5hc1NvcnRpbmc7dmFyIGs9aC5zVGl0bGUucmVwbGFjZSgvPC4qPz4vZywiIik7dmFyI
GY9aC5uVGg7Zi5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtc29ydCIpOwpoLmJTb3J0YWJsZSYmKDA8Yy5sZW5n
dGgmJmNbMF0uY29sPT1kPyhmLnNldEF0dHJpYnV0ZSgiYXJpYS1zb3J0IiwiYXNjIj09Y1swXS5kaXI/
ImFzY2VuZGluZyI6ImRlc2NlbmRpbmciKSxoPWdbY1swXS5pbmRleCsxXXx8Z1swXSk6aD1nWzBdLGsrPSJ
hc2MiPT09aD9hLnNTb3J0QXNjZW5kaW5nOmEuc1NvcnREZXNjZW5kaW5nKTtmLnNldEF0dHJpYnV0ZSgiYX
JpYS1sYWJlbCIsayl9fWZ1bmN0aW9uIFphKGEsYixjLGQpe3ZhciBlPWEuYWFTb3J0aW5nLGg9YS5hb0Nvb
HVtbnNbYl0uYXNTb3J0aW5nLGc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9pZHg7Yz09PXAmJihjPWYuaW5B
cnJheShhWzFdLGgpKTtyZXR1cm4gYysxPGgubGVuZ3RoP2MrMTpiP251bGw6MH07Im51bWJlciI9PT10eXB
lb2YgZVswXSYmKGU9YS5hYVNvcnRpbmc9W2VdKTtjJiZhLm9GZWF0dXJlcy5iU29ydE11bHRpPyhjPWYuaW
5BcnJheShiLEooZSwiMCIpKSwtMSE9PWM/
KGI9ZyhlW2NdLCEwKSxudWxsPT09CmImJjE9PT1lLmxlbmd0aCYmKGI9MCksbnVsbD09PWI/
ZS5zcGxpY2UoYywxKTooZVtjXVsxXT1oW2JdLGVbY10uX2lkeD1iKSk6KGUucHVzaChbYixoWzBdLDBdKSx
lW2UubGVuZ3RoLTFdLl9pZHg9MCkpOmUubGVuZ3RoJiZlWzBdWzBdPT1iPyhiPWcoZVswXSksZS5sZW5ndG
g9MSxlWzBdWzFdPWhbYl0sZVswXS5faWR4PWIpOihlLmxlbmd0aD0wLGUucHVzaChbYixoWzBdXSksZVswX
S5faWR4PTApO1YoYSk7ImZ1bmN0aW9uIj09dHlwZW9mIGQmJmQoYSl9ZnVuY3Rpb24gUWEoYSxiLGMsZCl7
dmFyIGU9YS5hb0NvbHVtbnNbY107JGEoYix7fSxmdW5jdGlvbihiKXshMSE9PWUuYlNvcnRhYmxlJiYoYS5
vRmVhdHVyZXMuYlByb2Nlc3Npbmc/
KEsoYSwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe1phKGEsYyxiLnNoaWZ0S2V5LGQpOyJzc3AiIT09RCh
hKSYmSyhhLCExKX0sMCkpOlphKGEsYyxiLnNoaWZ0S2V5LGQpKX0pfWZ1bmN0aW9uIEFhKGEpe3ZhciBiPW
EuYUxhc3RTb3J0LApjPWEub0NsYXNzZXMuc1NvcnRDb2x1bW4sZD1ZKGEpLGU9YS5vRmVhdHVyZXMsaDtpZ
ihlLmJTb3J0JiZlLmJTb3J0Q2xhc3Nlcyl7ZT0wO2ZvcihoPWIubGVuZ3RoO2U8aDtlKyspe3ZhciBnPWJb
ZV0uc3JjO2YoSihhLmFvRGF0YSwiYW5DZWxscyIsZykpLnJlbW92ZUNsYXNzKGMrKDI+ZT9lKzE6MykpfWU
9MDtmb3IoaD1kLmxlbmd0aDtlPGg7ZSsrKWc9ZFtlXS5zcmMsZihKKGEuYW9EYXRhLCJhbkNlbGxzIixnKS
kuYWRkQ2xhc3MoYysoMj5lP2UrMTozKSl9YS5hTGFzdFNvcnQ9ZH1mdW5jdGlvbiBNYihhLGIpe3ZhciBjP
WEuYW9Db2x1bW5zW2JdLGQ9cS5leHQub3JkZXJbYy5zU29ydERhdGFUeXBlXSxlO2QmJihlPWQuY2FsbChh
Lm9JbnN0YW5jZSxhLGIsY2EoYSxiKSkpO2Zvcih2YXIgaCxnPXEuZXh0LnR5cGUub3JkZXJbYy5zVHlwZSs
iLXByZSJdLGs9MCxmPWEuYW9EYXRhLmxlbmd0aDtrPGY7aysrKWlmKGM9YS5hb0RhdGFba10sYy5fYVNvcn
REYXRhfHwoYy5fYVNvcnREYXRhPQpbXSksIWMuX2FTb3J0RGF0YVtiXXx8ZCloPWQ/
ZVtrXTpJKGEsayxiLCJzb3J0IiksYy5fYVNvcnREYXRhW2JdPWc/
ZyhoKTpofWZ1bmN0aW9uIEJhKGEpe2lmKGEub0ZlYXR1cmVzLmJTdGF0ZVNhdmUmJiFhLmJEZXN0cm95aW5
nKXt2YXIgYj17dGltZTorbmV3IERhdGUsc3RhcnQ6YS5faURpc3BsYXlTdGFydCxsZW5ndGg6YS5faURpc3
BsYXlMZW5ndGgsb3JkZXI6Zi5leHRlbmQoITAsW10sYS5hYVNvcnRpbmcpLHNlYXJjaDpGYihhLm9QcmV2a
W91c1NlYXJjaCksY29sdW1uczpmLm1hcChhLmFvQ29sdW1ucyxmdW5jdGlvbihiLGQpe3JldHVybnt2aXNp
YmxlOmIuYlZpc2libGUsc2VhcmNoOkZiKGEuYW9QcmVTZWFyY2hDb2xzW2RdKX19KX07QShhLCJhb1N0YXR
lU2F2ZVBhcmFtcyIsInN0YXRlU2F2ZVBhcmFtcyIsW2EsYl0pO2Eub1NhdmVkU3RhdGU9YjthLmZuU3RhdG
VTYXZlQ2FsbGJhY2suY2FsbChhLm9JbnN0YW5jZSxhLGIpfX1mdW5jdGlvbiBPYihhLGIsYyl7dmFyIGQsC
mUsaD1hLmFvQ29sdW1ucztiPWZ1bmN0aW9uKGIpe2lmKGImJmIudGltZSl7dmFyIGc9QShhLCJhb1N0YXRl
TG9hZFBhcmFtcyIsInN0YXRlTG9hZFBhcmFtcyIsW2EsYl0pO2lmKC0xPT09Zi5pbkFycmF5KCExLGcpJiY
oZz1hLmlTdGF0ZUR1cmF0aW9uLCEoMDxnJiZiLnRpbWU8K25ldyBEYXRlLTFFMypnfHxiLmNvbHVtbnMmJm
gubGVuZ3RoIT09Yi5jb2x1bW5zLmxlbmd0aCkpKXthLm9Mb2FkZWRTdGF0ZT1mLmV4dGVuZCghMCx7fSxiK
TtiLnN0YXJ0IT09cCYmKGEuX2lEaXNwbGF5U3RhcnQ9Yi5zdGFydCxhLmlJbml0RGlzcGxheVN0YXJ0PWIu
c3RhcnQpO2IubGVuZ3RoIT09cCYmKGEuX2lEaXNwbGF5TGVuZ3RoPWIubGVuZ3RoKTtiLm9yZGVyIT09cCY
mKGEuYWFTb3J0aW5nPVtdLGYuZWFjaChiLm9yZGVyLGZ1bmN0aW9uKGIsYyl7YS5hYVNvcnRpbmcucHVzaC
hjWzBdPj1oLmxlbmd0aD9bMCxjWzFdXTpjKX0pKTtiLnNlYXJjaCE9PXAmJmYuZXh0ZW5kKGEub1ByZXZpb
3VzU2VhcmNoLApHYihiLnNlYXJjaCkpO2lmKGIuY29sdW1ucylmb3IoZD0wLGU9Yi5jb2x1bW5zLmxlbmd0
aDtkPGU7ZCsrKWc9Yi5jb2x1bW5zW2RdLGcudmlzaWJsZSE9PXAmJihoW2RdLmJWaXNpYmxlPWcudmlzaWJ
sZSksZy5zZWFyY2ghPT1wJiZmLmV4dGVuZChhLmFvUHJlU2VhcmNoQ29sc1tkXSxHYihnLnNlYXJjaCkpO0
EoYSwiYW9TdGF0ZUxvYWRlZCIsInN0YXRlTG9hZGVkIixbYSxiXSl9fWMoKX07aWYoYS5vRmVhdHVyZXMuY
lN0YXRlU2F2ZSl7dmFyIGc9YS5mblN0YXRlTG9hZENhbGxiYWNrLmNhbGwoYS5vSW5zdGFuY2UsYSxiKTtn
IT09cCYmYihnKX1lbHNlIGMoKX1mdW5jdGlvbiBDYShhKXt2YXIgYj1xLnNldHRpbmdzO2E9Zi5pbkFycmF
5KGEsSihiLCJuVGFibGUiKSk7cmV0dXJuLTEhPT1hP2JbYV06bnVsbH1mdW5jdGlvbiBPKGEsYixjLGQpe2
M9IkRhdGFUYWJsZXMgd2FybmluZzogIisoYT8idGFibGUgaWQ9IithLnNUYWJsZUlkKyIgLSAiOiIiKStjO
2QmJihjKz0iLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVycm9yLCBwbGVhc2Ugc2VlIGh0
dHA6Ly9kYXRhdGFibGVzLm5ldC90bi8iKwpkKTtpZihiKXouY29uc29sZSYmY29uc29sZS5sb2cmJmNvbnN
vbGUubG9nKGMpO2Vsc2UgaWYoYj1xLmV4dCxiPWIuc0Vyck1vZGV8fGIuZXJyTW9kZSxhJiZBKGEsbnVsbC
wiZXJyb3IiLFthLGQsY10pLCJhbGVydCI9PWIpYWxlcnQoYyk7ZWxzZXtpZigidGhyb3ciPT1iKXRocm93
IEVycm9yKGMpOyJmdW5jdGlvbiI9PXR5cGVvZiBiJiZiKGEsZCxjKX19ZnVuY3Rpb24gTShhLGIsYyxkKXt
mLmlzQXJyYXkoYyk/Zi5lYWNoKGMsZnVuY3Rpb24oYyxkKXtmLmlzQXJyYXkoZCk/
TShhLGIsZFswXSxkWzFdKTpNKGEsYixkKX0pOihkPT09cCYmKGQ9YyksYltjXSE9PXAmJihhW2RdPWJbY10
pKX1mdW5jdGlvbiBhYihhLGIsYyl7dmFyIGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKX
t2YXIgZT1iW2RdO2YuaXNQbGFpbk9iamVjdChlKT8oZi5pc1BsYWluT2JqZWN0KGFbZF0pfHwoYVtkXT17f
SksZi5leHRlbmQoITAsYVtkXSxlKSk6YyYmImRhdGEiIT09ZCYmImFhRGF0YSIhPT0KZCYmZi5pc0FycmF5
KGUpP2FbZF09ZS5zbGljZSgpOmFbZF09ZX1yZXR1cm4gYX1mdW5jdGlvbiAkYShhLGIsYyl7ZihhKS5vbig
iY2xpY2suRFQiLGIsZnVuY3Rpb24oYil7ZihhKS5ibHVyKCk7YyhiKX0pLm9uKCJrZXlwcmVzcy5EVCIsYi
xmdW5jdGlvbihhKXsxMz09PWEud2hpY2gmJihhLnByZXZlbnREZWZhdWx0KCksYyhhKSl9KS5vbigic2VsZ
WN0c3RhcnQuRFQiLGZ1bmN0aW9uKCl7cmV0dXJuITF9KX1mdW5jdGlvbiBFKGEsYixjLGQpe2MmJmFbYl0u
cHVzaCh7Zm46YyxzTmFtZTpkfSl9ZnVuY3Rpb24gQShhLGIsYyxkKXt2YXIgZT1bXTtiJiYoZT1mLm1hcCh
hW2JdLnNsaWNlKCkucmV2ZXJzZSgpLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGIuZm4uYXBwbHkoYS5vSW5zdG
FuY2UsZCl9KSk7bnVsbCE9PWMmJihiPWYuRXZlbnQoYysiLmR0IiksZihhLm5UYWJsZSkudHJpZ2dlcihiL
GQpLGUucHVzaChiLnJlc3VsdCkpO3JldHVybiBlfWZ1bmN0aW9uIFdhKGEpe3ZhciBiPWEuX2lEaXNwbGF5
U3RhcnQsCmM9YS5mbkRpc3BsYXlFbmQoKSxkPWEuX2lEaXNwbGF5TGVuZ3RoO2I+PWMmJihiPWMtZCk7Yi0
9YiVkO2lmKC0xPT09ZHx8MD5iKWI9MDthLl9pRGlzcGxheVN0YXJ0PWJ9ZnVuY3Rpb24gUmEoYSxiKXthPW
EucmVuZGVyZXI7dmFyIGM9cS5leHQucmVuZGVyZXJbYl07cmV0dXJuIGYuaXNQbGFpbk9iamVjdChhKSYmY
VtiXT9jW2FbYl1dfHxjLl86InN0cmluZyI9PT10eXBlb2YgYT9jW2FdfHxjLl86Yy5ffWZ1bmN0aW9uIEQo
YSl7cmV0dXJuIGEub0ZlYXR1cmVzLmJTZXJ2ZXJTaWRlPyJzc3AiOmEuYWpheHx8YS5zQWpheFNvdXJjZT8
iYWpheCI6ImRvbSJ9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1QYi5udW1iZXJzX2xlbmd0aCxkPU1hdGguZm
xvb3IoYy8yKTtiPD1jP2E9WigwLGIpOmE8PWQ/
KGE9WigwLGMtMiksYS5wdXNoKCJlbGxpcHNpcyIpLGEucHVzaChiLTEpKTooYT49Yi0xLWQ/
YT1aKGItKGMtMiksYik6KGE9WihhLWQrMixhK2QtMSksYS5wdXNoKCJlbGxpcHNpcyIpLAphLnB1c2goYi0
xKSksYS5zcGxpY2UoMCwwLCJlbGxpcHNpcyIpLGEuc3BsaWNlKDAsMCwwKSk7YS5EVF9lbD0ic3BhbiI7cm
V0dXJuIGF9ZnVuY3Rpb24gSGEoYSl7Zi5lYWNoKHtudW06ZnVuY3Rpb24oYil7cmV0dXJuIERhKGIsYSl9L
CJudW0tZm10IjpmdW5jdGlvbihiKXtyZXR1cm4gRGEoYixhLGJiKX0sImh0bWwtbnVtIjpmdW5jdGlvbihi
KXtyZXR1cm4gRGEoYixhLEVhKX0sImh0bWwtbnVtLWZtdCI6ZnVuY3Rpb24oYil7cmV0dXJuIERhKGIsYSx
FYSxiYil9fSxmdW5jdGlvbihiLGMpe0MudHlwZS5vcmRlcltiK2ErIi1wcmUiXT1jO2IubWF0Y2goL15odG
1sXC0vKSYmKEMudHlwZS5zZWFyY2hbYithXT1DLnR5cGUuc2VhcmNoLmh0bWwpfSl9ZnVuY3Rpb24gUWIoY
Sl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9W0NhKHRoaXNbcS5leHQuaUFwaUluZGV4XSldLmNvbmNhdChB
cnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTtyZXR1cm4gcS5leHQuaW50ZXJuYWxbYV0
uYXBwbHkodGhpcywKYil9fXZhciBxPWZ1bmN0aW9uKGEpe3RoaXMuJD1mdW5jdGlvbihhLGIpe3JldHVybi
B0aGlzLmFwaSghMCkuJChhLGIpfTt0aGlzLl89ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5hcGkoITApL
nJvd3MoYSxiKS5kYXRhKCl9O3RoaXMuYXBpPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyB2KENhKHRoaXNb
Qy5pQXBpSW5kZXhdKSk6bmV3IHYodGhpcyl9O3RoaXMuZm5BZGREYXRhPWZ1bmN0aW9uKGEsYil7dmFyIGM
9dGhpcy5hcGkoITApO2E9Zi5pc0FycmF5KGEpJiYoZi5pc0FycmF5KGFbMF0pfHxmLmlzUGxhaW5PYmplY3
QoYVswXSkpP2Mucm93cy5hZGQoYSk6Yy5yb3cuYWRkKGEpOyhiPT09cHx8YikmJmMuZHJhdygpO3JldHVyb
iBhLmZsYXR0ZW4oKS50b0FycmF5KCl9O3RoaXMuZm5BZGp1c3RDb2x1bW5TaXppbmc9ZnVuY3Rpb24oYSl7
dmFyIGI9dGhpcy5hcGkoITApLmNvbHVtbnMuYWRqdXN0KCksYz1iLnNldHRpbmdzKClbMF0sZD1jLm9TY3J
vbGw7YT09PXB8fGE/
Yi5kcmF3KCExKToKKCIiIT09ZC5zWHx8IiIhPT1kLnNZKSYmbmEoYyl9O3RoaXMuZm5DbGVhclRhYmxlPWZ
1bmN0aW9uKGEpe3ZhciBiPXRoaXMuYXBpKCEwKS5jbGVhcigpOyhhPT09cHx8YSkmJmIuZHJhdygpfTt0aG
lzLmZuQ2xvc2U9ZnVuY3Rpb24oYSl7dGhpcy5hcGkoITApLnJvdyhhKS5jaGlsZC5oaWRlKCl9O3RoaXMuZ
m5EZWxldGVSb3c9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuYXBpKCEwKTthPWQucm93cyhhKTt2YXIg
ZT1hLnNldHRpbmdzKClbMF0saD1lLmFvRGF0YVthWzBdWzBdXTthLnJlbW92ZSgpO2ImJmIuY2FsbCh0aGl
zLGUsaCk7KGM9PT1wfHxjKSYmZC5kcmF3KCk7cmV0dXJuIGh9O3RoaXMuZm5EZXN0cm95PWZ1bmN0aW9uKG
Epe3RoaXMuYXBpKCEwKS5kZXN0cm95KGEpfTt0aGlzLmZuRHJhdz1mdW5jdGlvbihhKXt0aGlzLmFwaSghM
CkuZHJhdyhhKX07dGhpcy5mbkZpbHRlcj1mdW5jdGlvbihhLGIsYyxkLGUsZil7ZT10aGlzLmFwaSghMCk7
bnVsbD09PWJ8fGI9PT1wPwplLnNlYXJjaChhLGMsZCxmKTplLmNvbHVtbihiKS5zZWFyY2goYSxjLGQsZik
7ZS5kcmF3KCl9O3RoaXMuZm5HZXREYXRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5hcGkoITApO2lmKG
EhPT1wKXt2YXIgZD1hLm5vZGVOYW1lP2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKToiIjtyZXR1cm4gYiE9P
XB8fCJ0ZCI9PWR8fCJ0aCI9PWQ/
Yy5jZWxsKGEsYikuZGF0YSgpOmMucm93KGEpLmRhdGEoKXx8bnVsbH1yZXR1cm4gYy5kYXRhKCkudG9BcnJ
heSgpfTt0aGlzLmZuR2V0Tm9kZXM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5hcGkoITApO3JldHVybiBhIT
09cD9iLnJvdyhhKS5ub2RlKCk6Yi5yb3dzKCkubm9kZXMoKS5mbGF0dGVuKCkudG9BcnJheSgpfTt0aGlzL
mZuR2V0UG9zaXRpb249ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5hcGkoITApLGM9YS5ub2RlTmFtZS50b1Vw
cGVyQ2FzZSgpO3JldHVybiJUUiI9PWM/
Yi5yb3coYSkuaW5kZXgoKToiVEQiPT1jfHwiVEgiPT1jPyhhPWIuY2VsbChhKS5pbmRleCgpLApbYS5yb3c
sYS5jb2x1bW5WaXNpYmxlLGEuY29sdW1uXSk6bnVsbH07dGhpcy5mbklzT3Blbj1mdW5jdGlvbihhKXtyZX
R1cm4gdGhpcy5hcGkoITApLnJvdyhhKS5jaGlsZC5pc1Nob3duKCl9O3RoaXMuZm5PcGVuPWZ1bmN0aW9uK
GEsYixjKXtyZXR1cm4gdGhpcy5hcGkoITApLnJvdyhhKS5jaGlsZChiLGMpLnNob3coKS5jaGlsZCgpWzBd
fTt0aGlzLmZuUGFnZUNoYW5nZT1mdW5jdGlvbihhLGIpe2E9dGhpcy5hcGkoITApLnBhZ2UoYSk7KGI9PT1
wfHxiKSYmYS5kcmF3KCExKX07dGhpcy5mblNldENvbHVtblZpcz1mdW5jdGlvbihhLGIsYyl7YT10aGlzLm
FwaSghMCkuY29sdW1uKGEpLnZpc2libGUoYik7KGM9PT1wfHxjKSYmYS5jb2x1bW5zLmFkanVzdCgpLmRyY
XcoKX07dGhpcy5mblNldHRpbmdzPWZ1bmN0aW9uKCl7cmV0dXJuIENhKHRoaXNbQy5pQXBpSW5kZXhdKX07
dGhpcy5mblNvcnQ9ZnVuY3Rpb24oYSl7dGhpcy5hcGkoITApLm9yZGVyKGEpLmRyYXcoKX07dGhpcy5mblN
vcnRMaXN0ZW5lcj0KZnVuY3Rpb24oYSxiLGMpe3RoaXMuYXBpKCEwKS5vcmRlci5saXN0ZW5lcihhLGIsYy
l9O3RoaXMuZm5VcGRhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgaD10aGlzLmFwaSghMCk7Yz09PXB8f
G51bGw9PT1jP2gucm93KGIpLmRhdGEoYSk6aC5jZWxsKGIsYykuZGF0YShhKTsoZT09PXB8fGUpJiZoLmNv
bHVtbnMuYWRqdXN0KCk7KGQ9PT1wfHxkKSYmaC5kcmF3KCk7cmV0dXJuIDB9O3RoaXMuZm5WZXJzaW9uQ2h
lY2s9Qy5mblZlcnNpb25DaGVjazt2YXIgYj10aGlzLGM9YT09PXAsZD10aGlzLmxlbmd0aDtjJiYoYT17fS
k7dGhpcy5vQXBpPXRoaXMuaW50ZXJuYWw9Qy5pbnRlcm5hbDtmb3IodmFyIGUgaW4gcS5leHQuaW50ZXJuY
WwpZSYmKHRoaXNbZV09UWIoZSkpO3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXt9LGc9MTxkP2FiKGUs
YSwhMCk6YSxrPTAsbDtlPXRoaXMuZ2V0QXR0cmlidXRlKCJpZCIpO3ZhciBuPSExLG09cS5kZWZhdWx0cyx
3PWYodGhpcyk7aWYoInRhYmxlIiE9CnRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlPKG51bGwsMCwiTm
9uLXRhYmxlIG5vZGUgaW5pdGlhbGlzYXRpb24gKCIrdGhpcy5ub2RlTmFtZSsiKSIsMik7ZWxzZXtqYihtK
TtrYihtLmNvbHVtbik7TChtLG0sITApO0wobS5jb2x1bW4sbS5jb2x1bW4sITApO0wobSxmLmV4dGVuZChn
LHcuZGF0YSgpKSwhMCk7dmFyIHU9cS5zZXR0aW5ncztrPTA7Zm9yKGw9dS5sZW5ndGg7azxsO2srKyl7dmF
yIHQ9dVtrXTtpZih0Lm5UYWJsZT09dGhpc3x8dC5uVEhlYWQmJnQublRIZWFkLnBhcmVudE5vZGU9PXRoaX
N8fHQublRGb290JiZ0Lm5URm9vdC5wYXJlbnROb2RlPT10aGlzKXt2YXIgdj1nLmJSZXRyaWV2ZSE9PXA/
Zy5iUmV0cmlldmU6bS5iUmV0cmlldmU7aWYoY3x8dilyZXR1cm4gdC5vSW5zdGFuY2U7aWYoZy5iRGVzdHJ
veSE9PXA/
Zy5iRGVzdHJveTptLmJEZXN0cm95KXt0Lm9JbnN0YW5jZS5mbkRlc3Ryb3koKTticmVha31lbHNle08odCw
wLCJDYW5ub3QgcmVpbml0aWFsaXNlIERhdGFUYWJsZSIsCjMpO3JldHVybn19aWYodC5zVGFibGVJZD09dG
hpcy5pZCl7dS5zcGxpY2UoaywxKTticmVha319aWYobnVsbD09PWV8fCIiPT09ZSl0aGlzLmlkPWU9IkRhd
GFUYWJsZXNfVGFibGVfIitxLmV4dC5fdW5pcXVlKys7dmFyIHI9Zi5leHRlbmQoITAse30scS5tb2RlbHMu
b1NldHRpbmdzLHtzRGVzdHJveVdpZHRoOndbMF0uc3R5bGUud2lkdGgsc0luc3RhbmNlOmUsc1RhYmxlSWQ
6ZX0pO3IublRhYmxlPXRoaXM7ci5vQXBpPWIuaW50ZXJuYWw7ci5vSW5pdD1nO3UucHVzaChyKTtyLm9Jbn
N0YW5jZT0xPT09Yi5sZW5ndGg/
Yjp3LmRhdGFUYWJsZSgpO2piKGcpO0dhKGcub0xhbmd1YWdlKTtnLmFMZW5ndGhNZW51JiYhZy5pRGlzcGx
heUxlbmd0aCYmKGcuaURpc3BsYXlMZW5ndGg9Zi5pc0FycmF5KGcuYUxlbmd0aE1lbnVbMF0pP2cuYUxlbm
d0aE1lbnVbMF1bMF06Zy5hTGVuZ3RoTWVudVswXSk7Zz1hYihmLmV4dGVuZCghMCx7fSxtKSxnKTtNKHIub
0ZlYXR1cmVzLGcsImJQYWdpbmF0ZSBiTGVuZ3RoQ2hhbmdlIGJGaWx0ZXIgYlNvcnQgYlNvcnRNdWx0aSBi
SW5mbyBiUHJvY2Vzc2luZyBiQXV0b1dpZHRoIGJTb3J0Q2xhc3NlcyBiU2VydmVyU2lkZSBiRGVmZXJSZW5
kZXIiLnNwbGl0KCIgIikpOwpNKHIsZyxbImFzU3RyaXBlQ2xhc3NlcyIsImFqYXgiLCJmblNlcnZlckRhdG
EiLCJmbkZvcm1hdE51bWJlciIsInNTZXJ2ZXJNZXRob2QiLCJhYVNvcnRpbmciLCJhYVNvcnRpbmdGaXhlZ
CIsImFMZW5ndGhNZW51Iiwic1BhZ2luYXRpb25UeXBlIiwic0FqYXhTb3VyY2UiLCJzQWpheERhdGFQcm9w
IiwiaVN0YXRlRHVyYXRpb24iLCJzRG9tIiwiYlNvcnRDZWxsc1RvcCIsImlUYWJJbmRleCIsImZuU3RhdGV
Mb2FkQ2FsbGJhY2siLCJmblN0YXRlU2F2ZUNhbGxiYWNrIiwicmVuZGVyZXIiLCJzZWFyY2hEZWxheSIsIn
Jvd0lkIixbImlDb29raWVEdXJhdGlvbiIsImlTdGF0ZUR1cmF0aW9uIl0sWyJvU2VhcmNoIiwib1ByZXZpb
3VzU2VhcmNoIl0sWyJhb1NlYXJjaENvbHMiLCJhb1ByZVNlYXJjaENvbHMiXSxbImlEaXNwbGF5TGVuZ3Ro
IiwiX2lEaXNwbGF5TGVuZ3RoIl1dKTtNKHIub1Njcm9sbCxnLFtbInNTY3JvbGxYIiwic1giXSxbInNTY3J
vbGxYSW5uZXIiLCJzWElubmVyIl0sClsic1Njcm9sbFkiLCJzWSJdLFsiYlNjcm9sbENvbGxhcHNlIiwiYk
NvbGxhcHNlIl1dKTtNKHIub0xhbmd1YWdlLGcsImZuSW5mb0NhbGxiYWNrIik7RShyLCJhb0RyYXdDYWxsY
mFjayIsZy5mbkRyYXdDYWxsYmFjaywidXNlciIpO0UociwiYW9TZXJ2ZXJQYXJhbXMiLGcuZm5TZXJ2ZXJQ
YXJhbXMsInVzZXIiKTtFKHIsImFvU3RhdGVTYXZlUGFyYW1zIixnLmZuU3RhdGVTYXZlUGFyYW1zLCJ1c2V
yIik7RShyLCJhb1N0YXRlTG9hZFBhcmFtcyIsZy5mblN0YXRlTG9hZFBhcmFtcywidXNlciIpO0UociwiYW
9TdGF0ZUxvYWRlZCIsZy5mblN0YXRlTG9hZGVkLCJ1c2VyIik7RShyLCJhb1Jvd0NhbGxiYWNrIixnLmZuU
m93Q2FsbGJhY2ssInVzZXIiKTtFKHIsImFvUm93Q3JlYXRlZENhbGxiYWNrIixnLmZuQ3JlYXRlZFJvdywi
dXNlciIpO0UociwiYW9IZWFkZXJDYWxsYmFjayIsZy5mbkhlYWRlckNhbGxiYWNrLCJ1c2VyIik7RShyLCJ
hb0Zvb3RlckNhbGxiYWNrIixnLmZuRm9vdGVyQ2FsbGJhY2ssCiJ1c2VyIik7RShyLCJhb0luaXRDb21wbG
V0ZSIsZy5mbkluaXRDb21wbGV0ZSwidXNlciIpO0UociwiYW9QcmVEcmF3Q2FsbGJhY2siLGcuZm5QcmVEc
mF3Q2FsbGJhY2ssInVzZXIiKTtyLnJvd0lkRm49VShnLnJvd0lkKTtsYihyKTt2YXIgeD1yLm9DbGFzc2Vz
O2YuZXh0ZW5kKHgscS5leHQuY2xhc3NlcyxnLm9DbGFzc2VzKTt3LmFkZENsYXNzKHguc1RhYmxlKTtyLml
Jbml0RGlzcGxheVN0YXJ0PT09cCYmKHIuaUluaXREaXNwbGF5U3RhcnQ9Zy5pRGlzcGxheVN0YXJ0LHIuX2
lEaXNwbGF5U3RhcnQ9Zy5pRGlzcGxheVN0YXJ0KTtudWxsIT09Zy5pRGVmZXJMb2FkaW5nJiYoci5iRGVmZ
XJMb2FkaW5nPSEwLGU9Zi5pc0FycmF5KGcuaURlZmVyTG9hZGluZyksci5faVJlY29yZHNEaXNwbGF5PWU/
Zy5pRGVmZXJMb2FkaW5nWzBdOmcuaURlZmVyTG9hZGluZyxyLl9pUmVjb3Jkc1RvdGFsPWU/
Zy5pRGVmZXJMb2FkaW5nWzFdOmcuaURlZmVyTG9hZGluZyk7dmFyIHk9ci5vTGFuZ3VhZ2U7CmYuZXh0ZW5
kKCEwLHksZy5vTGFuZ3VhZ2UpO3kuc1VybCYmKGYuYWpheCh7ZGF0YVR5cGU6Impzb24iLHVybDp5LnNVcm
wsc3VjY2VzczpmdW5jdGlvbihhKXtHYShhKTtMKG0ub0xhbmd1YWdlLGEpO2YuZXh0ZW5kKCEwLHksYSk7a
mEocil9LGVycm9yOmZ1bmN0aW9uKCl7amEocil9fSksbj0hMCk7bnVsbD09PWcuYXNTdHJpcGVDbGFzc2Vz
JiYoci5hc1N0cmlwZUNsYXNzZXM9W3guc1N0cmlwZU9kZCx4LnNTdHJpcGVFdmVuXSk7ZT1yLmFzU3RyaXB
lQ2xhc3Nlczt2YXIgej13LmNoaWxkcmVuKCJ0Ym9keSIpLmZpbmQoInRyIikuZXEoMCk7LTEhPT1mLmluQX
JyYXkoITAsZi5tYXAoZSxmdW5jdGlvbihhLGIpe3JldHVybiB6Lmhhc0NsYXNzKGEpfSkpJiYoZigidGJvZ
HkgdHIiLHRoaXM
pLnJlbW92ZUNsYXNzKGUuam9pbigiICIpKSxyLmFzRGVzdHJveVN0cmlwZXM9ZS5zbGljZSgpKTtlPVtdO3
U9dGhpcy5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGhlYWQiKTswIT09dS5sZW5ndGgmJgooZmEoci5hb0hlY
WRlcix1WzBdKSxlPXVhKHIpKTtpZihudWxsPT09Zy5hb0NvbHVtbnMpZm9yKHU9W10saz0wLGw9ZS5sZW5n
dGg7azxsO2srKyl1LnB1c2gobnVsbCk7ZWxzZSB1PWcuYW9Db2x1bW5zO2s9MDtmb3IobD11Lmxlbmd0aDt
rPGw7aysrKUlhKHIsZT9lW2tdOm51bGwpO25iKHIsZy5hb0NvbHVtbkRlZnMsdSxmdW5jdGlvbihhLGIpe2
1hKHIsYSxiKX0pO2lmKHoubGVuZ3RoKXt2YXIgQj1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT09YS5nZ
XRBdHRyaWJ1dGUoImRhdGEtIitiKT9iOm51bGx9O2YoelswXSkuY2hpbGRyZW4oInRoLCB0ZCIpLmVhY2go
ZnVuY3Rpb24oYSxiKXt2YXIgYz1yLmFvQ29sdW1uc1thXTtpZihjLm1EYXRhPT09YSl7dmFyIGQ9QihiLCJ
zb3J0Iil8fEIoYiwib3JkZXIiKTtiPUIoYiwiZmlsdGVyIil8fEIoYiwic2VhcmNoIik7aWYobnVsbCE9PW
R8fG51bGwhPT1iKWMubURhdGE9e186YSsiLmRpc3BsYXkiLHNvcnQ6bnVsbCE9PWQ/
YSsiLkBkYXRhLSIrCmQ6cCx0eXBlOm51bGwhPT1kP2ErIi5AZGF0YS0iK2Q6cCxmaWx0ZXI6bnVsbCE9PWI
/
YSsiLkBkYXRhLSIrYjpwfSxtYShyLGEpfX0pfXZhciBDPXIub0ZlYXR1cmVzO2U9ZnVuY3Rpb24oKXtpZih
nLmFhU29ydGluZz09PXApe3ZhciBhPXIuYWFTb3J0aW5nO2s9MDtmb3IobD1hLmxlbmd0aDtrPGw7aysrKW
Fba11bMV09ci5hb0NvbHVtbnNba10uYXNTb3J0aW5nWzBdfUFhKHIpO0MuYlNvcnQmJkUociwiYW9EcmF3Q
2FsbGJhY2siLGZ1bmN0aW9uKCl7aWYoci5iU29ydGVkKXt2YXIgYT1ZKHIpLGI9e307Zi5lYWNoKGEsZnVu
Y3Rpb24oYSxjKXtiW2Muc3JjXT1jLmRpcn0pO0EocixudWxsLCJvcmRlciIsW3IsYSxiXSk7TmIocil9fSk
7RShyLCJhb0RyYXdDYWxsYmFjayIsZnVuY3Rpb24oKXsoci5iU29ydGVkfHwic3NwIj09PUQocil8fEMuYk
RlZmVyUmVuZGVyKSYmQWEocil9LCJzYyIpO2E9dy5jaGlsZHJlbigiY2FwdGlvbiIpLmVhY2goZnVuY3Rpb
24oKXt0aGlzLl9jYXB0aW9uU2lkZT0KZih0aGlzKS5jc3MoImNhcHRpb24tc2lkZSIpfSk7dmFyIGI9dy5j
aGlsZHJlbigidGhlYWQiKTswPT09Yi5sZW5ndGgmJihiPWYoIjx0aGVhZC8+IikuYXBwZW5kVG8odykpO3I
ublRIZWFkPWJbMF07Yj13LmNoaWxkcmVuKCJ0Ym9keSIpOzA9PT1iLmxlbmd0aCYmKGI9ZigiPHRib2R5Lz
4iKS5hcHBlbmRUbyh3KSk7ci5uVEJvZHk9YlswXTtiPXcuY2hpbGRyZW4oInRmb290Iik7MD09PWIubGVuZ
3RoJiYwPGEubGVuZ3RoJiYoIiIhPT1yLm9TY3JvbGwuc1h8fCIiIT09ci5vU2Nyb2xsLnNZKSYmKGI9Zigi
PHRmb290Lz4iKS5hcHBlbmRUbyh3KSk7MD09PWIubGVuZ3RofHwwPT09Yi5jaGlsZHJlbigpLmxlbmd0aD9
3LmFkZENsYXNzKHguc05vRm9vdGVyKTowPGIubGVuZ3RoJiYoci5uVEZvb3Q9YlswXSxmYShyLmFvRm9vdG
VyLHIublRGb290KSk7aWYoZy5hYURhdGEpZm9yKGs9MDtrPGcuYWFEYXRhLmxlbmd0aDtrKyspUihyLGcuY
WFEYXRhW2tdKTtlbHNlKHIuYkRlZmVyTG9hZGluZ3x8CiJkb20iPT1EKHIpKSYmcGEocixmKHIublRCb2R5
KS5jaGlsZHJlbigidHIiKSk7ci5haURpc3BsYXk9ci5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKTtyLmJJbml
0aWFsaXNlZD0hMDshMT09PW4mJmphKHIpfTtnLmJTdGF0ZVNhdmU/
KEMuYlN0YXRlU2F2ZT0hMCxFKHIsImFvRHJhd0NhbGxiYWNrIixCYSwic3RhdGVfc2F2ZSIpLE9iKHIsZyx
lKSk6ZSgpfX0pO2I9bnVsbDtyZXR1cm4gdGhpc30sQyx0LHgsY2I9e30sUmI9L1tcclxuXHUyMDI4XS9nLE
VhPS88Lio/
Pi9nLGNjPS9eXGR7Miw0fVtcLlwvXC1dXGR7MSwyfVtcLlwvXC1dXGR7MSwyfShbVCBdezF9XGR7MSwyfVs
6XC5dXGR7Mn0oW1wuOl1cZHsyfSk/KT8kLyxkYz0vKFwvfFwufFwqfFwrfFw/
fFx8fFwofFwpfFxbfFxdfFx7fFx9fFxcfFwkfFxefFwtKS9nLGJiPS9bJywkwqPigqzCpSVcdTIwMDlcdTI
wMkZcdTIwQkRcdTIwYTlcdTIwQkFyZmvJg86eXS9naSxQPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYhMCE9PW
EmJiItIiE9PWE/
ITE6CiEwfSxTYj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludChhLDEwKTtyZXR1cm4haXNOYU4oYikmJml
zRmluaXRlKGEpP2I6bnVsbH0sVGI9ZnVuY3Rpb24oYSxiKXtjYltiXXx8KGNiW2JdPW5ldyBSZWdFeHAoVW
EoYiksImciKSk7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgYSYmIi4iIT09Yj9hLnJlcGxhY2UoL1wuL2csI
iIpLnJlcGxhY2UoY2JbYl0sIi4iKTphfSxkYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9InN0cmluZyI9PT10
eXBlb2YgYTtpZihQKGEpKXJldHVybiEwO2ImJmQmJihhPVRiKGEsYikpO2MmJmQmJihhPWEucmVwbGFjZSh
iYiwiIikpO3JldHVybiFpc05hTihwYXJzZUZsb2F0KGEpKSYmaXNGaW5pdGUoYSl9LFViPWZ1bmN0aW9uKG
EsYixjKXtyZXR1cm4gUChhKT8hMDpQKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhP2RiKGEucmVwbGFjZShFY
SwiIiksYixjKT8hMDpudWxsOm51bGx9LEo9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9MCxoPWEubGVu
Z3RoO2lmKGMhPT0KcClmb3IoO2U8aDtlKyspYVtlXSYmYVtlXVtiXSYmZC5wdXNoKGFbZV1bYl1bY10pO2V
sc2UgZm9yKDtlPGg7ZSsrKWFbZV0mJmQucHVzaChhW2VdW2JdKTtyZXR1cm4gZH0sbGE9ZnVuY3Rpb24oYS
xiLGMsZCl7dmFyIGU9W10saD0wLGc9Yi5sZW5ndGg7aWYoZCE9PXApZm9yKDtoPGc7aCsrKWFbYltoXV1bY
10mJmUucHVzaChhW2JbaF1dW2NdW2RdKTtlbHNlIGZvcig7aDxnO2grKyllLnB1c2goYVtiW2hdXVtjXSk7
cmV0dXJuIGV9LFo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtpZihiPT09cCl7Yj0wO3ZhciBkPWF9ZWxzZSB
kPWIsYj1hO2ZvcihhPWI7YTxkO2ErKyljLnB1c2goYSk7cmV0dXJuIGN9LFZiPWZ1bmN0aW9uKGEpe2Zvci
h2YXIgYj1bXSxjPTAsZD1hLmxlbmd0aDtjPGQ7YysrKWFbY10mJmIucHVzaChhW2NdKTtyZXR1cm4gYn0sd
GE9ZnVuY3Rpb24oYSl7YTp7aWYoISgyPmEubGVuZ3RoKSl7dmFyIGI9YS5zbGljZSgpLnNvcnQoKTtmb3Io
dmFyIGM9YlswXSxkPTEsCmU9Yi5sZW5ndGg7ZDxlO2QrKyl7aWYoYltkXT09PWMpe2I9ITE7YnJlYWsgYX1
jPWJbZF19fWI9ITB9aWYoYilyZXR1cm4gYS5zbGljZSgpO2I9W107ZT1hLmxlbmd0aDt2YXIgaCxnPTA7ZD
0wO2E6Zm9yKDtkPGU7ZCsrKXtjPWFbZF07Zm9yKGg9MDtoPGc7aCsrKWlmKGJbaF09PT1jKWNvbnRpbnVlI
GE7Yi5wdXNoKGMpO2crK31yZXR1cm4gYn07cS51dGlsPXt0aHJvdHRsZTpmdW5jdGlvbihhLGIpe3ZhciBj
PWIhPT1wP2I6MjAwLGQsZTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYj10aGlzLGc9K25ldyBEYXRlLGY9YXJ
ndW1lbnRzO2QmJmc8ZCtjPyhjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZD1wO2
EuYXBwbHkoYixmKX0sYykpOihkPWcsYS5hcHBseShiLGYpKX19LGVzY2FwZVJlZ2V4OmZ1bmN0aW9uKGEpe
3JldHVybiBhLnJlcGxhY2UoZGMsIlxcJDEiKX19O3ZhciBGPWZ1bmN0aW9uKGEsYixjKXthW2JdIT09cCYm
KGFbY109YVtiXSl9LGRhPS9cWy4qP1xdJC8sClg9L1woXCkkLyxVYT1xLnV0aWwuZXNjYXBlUmVnZXgseWE
9ZigiPGRpdj4iKVswXSwkYj15YS50ZXh0Q29udGVudCE9PXAsYmM9LzwuKj8+L2csU2E9cS51dGlsLnRocm
90dGxlLFdiPVtdLEc9QXJyYXkucHJvdG90eXBlLGVjPWZ1bmN0aW9uKGEpe3ZhciBiLGM9cS5zZXR0aW5nc
yxkPWYubWFwKGMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5uVGFibGV9KTtpZihhKXtpZihhLm5UYWJsZSYm
YS5vQXBpKXJldHVyblthXTtpZihhLm5vZGVOYW1lJiYidGFibGUiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2F
zZSgpKXt2YXIgZT1mLmluQXJyYXkoYSxkKTtyZXR1cm4tMSE9PWU/
W2NbZV1dOm51bGx9aWYoYSYmImZ1bmN0aW9uIj09PXR5cGVvZiBhLnNldHRpbmdzKXJldHVybiBhLnNldHR
pbmdzKCkudG9BcnJheSgpOyJzdHJpbmciPT09dHlwZW9mIGE/
Yj1mKGEpOmEgaW5zdGFuY2VvZiBmJiYoYj1hKX1lbHNlIHJldHVybltdO2lmKGIpcmV0dXJuIGIubWFwKGZ
1bmN0aW9uKGEpe2U9Zi5pbkFycmF5KHRoaXMsCmQpO3JldHVybi0xIT09ZT9jW2VdOm51bGx9KS50b0Fycm
F5KCl9O3ZhciB2PWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgdikpcmV0dXJuIG5ldyB2K
GEsYik7dmFyIGM9W10sZD1mdW5jdGlvbihhKXsoYT1lYyhhKSkmJmMucHVzaC5hcHBseShjLGEpfTtpZihm
LmlzQXJyYXkoYSkpZm9yKHZhciBlPTAsaD1hLmxlbmd0aDtlPGg7ZSsrKWQoYVtlXSk7ZWxzZSBkKGEpO3R
oaXMuY29udGV4dD10YShjKTtiJiZmLm1lcmdlKHRoaXMsYik7dGhpcy5zZWxlY3Rvcj17cm93czpudWxsLG
NvbHM6bnVsbCxvcHRzOm51bGx9O3YuZXh0ZW5kKHRoaXMsdGhpcyxXYil9O3EuQXBpPXY7Zi5leHRlbmQod
i5wcm90b3R5cGUse2FueTpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jb3VudCgpfSxjb25jYXQ6Ry5j
b25jYXQsY29udGV4dDpbXSxjb3VudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZsYXR0ZW4oKS5sZW5ndGh
9LGVhY2g6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0KdGhpcy5sZW5ndGg7YjxjO2IrKylhLmNhbGwodG
hpcyx0aGlzW2JdLGIsdGhpcyk7cmV0dXJuIHRoaXN9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY29ud
GV4dDtyZXR1cm4gYi5sZW5ndGg+YT9uZXcgdihiW2FdLHRoaXNbYV0pOm51bGx9LGZpbHRlcjpmdW5jdGlv
bihhKXt2YXIgYj1bXTtpZihHLmZpbHRlciliPUcuZmlsdGVyLmNhbGwodGhpcyxhLHRoaXMpO2Vsc2UgZm9
yKHZhciBjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKWEuY2FsbCh0aGlzLHRoaXNbY10sYyx0aGlzKSYmYi
5wdXNoKHRoaXNbY10pO3JldHVybiBuZXcgdih0aGlzLmNvbnRleHQsYil9LGZsYXR0ZW46ZnVuY3Rpb24oK
Xt2YXIgYT1bXTtyZXR1cm4gbmV3IHYodGhpcy5jb250ZXh0LGEuY29uY2F0LmFwcGx5KGEsdGhpcy50b0Fy
cmF5KCkpKX0sam9pbjpHLmpvaW4saW5kZXhPZjpHLmluZGV4T2Z8fGZ1bmN0aW9uKGEsYil7Yj1ifHwwO2Z
vcih2YXIgYz10aGlzLmxlbmd0aDtiPGM7YisrKWlmKHRoaXNbYl09PT0KYSlyZXR1cm4gYjtyZXR1cm4tMX
0saXRlcmF0b3I6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9W10saCxnLGY9dGhpcy5jb250ZXh0LGwsbj10a
GlzLnNlbGVjdG9yOyJzdHJpbmciPT09dHlwZW9mIGEmJihkPWMsYz1iLGI9YSxhPSExKTt2YXIgbT0wO2Zv
cihoPWYubGVuZ3RoO208aDttKyspe3ZhciBxPW5ldyB2KGZbbV0pO2lmKCJ0YWJsZSI9PT1iKXt2YXIgdT1
jLmNhbGwocSxmW21dLG0pO3UhPT1wJiZlLnB1c2godSl9ZWxzZSBpZigiY29sdW1ucyI9PT1ifHwicm93cy
I9PT1iKXU9Yy5jYWxsKHEsZlttXSx0aGlzW21dLG0pLHUhPT1wJiZlLnB1c2godSk7ZWxzZSBpZigiY29sd
W1uIj09PWJ8fCJjb2x1bW4tcm93cyI9PT1ifHwicm93Ij09PWJ8fCJjZWxsIj09PWIpe3ZhciB0PXRoaXNb
bV07ImNvbHVtbi1yb3dzIj09PWImJihsPUZhKGZbbV0sbi5vcHRzKSk7dmFyIHg9MDtmb3IoZz10Lmxlbmd
0aDt4PGc7eCsrKXU9dFt4XSx1PSJjZWxsIj09PWI/
Yy5jYWxsKHEsZlttXSx1LnJvdywKdS5jb2x1bW4sbSx4KTpjLmNhbGwocSxmW21dLHUsbSx4LGwpLHUhPT1
wJiZlLnB1c2godSl9fXJldHVybiBlLmxlbmd0aHx8ZD8oYT1uZXcgdihmLGE/
ZS5jb25jYXQuYXBwbHkoW10sZSk6ZSksYj1hLnNlbGVjdG9yLGIucm93cz1uLnJvd3MsYi5jb2xzPW4uY29
scyxiLm9wdHM9bi5vcHRzLGEpOnRoaXN9LGxhc3RJbmRleE9mOkcubGFzdEluZGV4T2Z8fGZ1bmN0aW9uKG
EsYil7cmV0dXJuIHRoaXMuaW5kZXhPZi5hcHBseSh0aGlzLnRvQXJyYXkucmV2ZXJzZSgpLGFyZ3VtZW50c
yl9LGxlbmd0aDowLG1hcDpmdW5jdGlvbihhKXt2YXIgYj1bXTtpZihHLm1hcCliPUcubWFwLmNhbGwodGhp
cyxhLHRoaXMpO2Vsc2UgZm9yKHZhciBjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKWIucHVzaChhLmNhbGw
odGhpcyx0aGlzW2NdLGMpKTtyZXR1cm4gbmV3IHYodGhpcy5jb250ZXh0LGIpfSxwbHVjazpmdW5jdGlvbi
hhKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGJbYV19KX0sCnBvcDpHLnBvcCxwdXNoO
kcucHVzaCxyZWR1Y2U6Ry5yZWR1Y2V8fGZ1bmN0aW9uKGEsYil7cmV0dXJuIG1iKHRoaXMsYSxiLDAsdGhp
cy5sZW5ndGgsMSl9LHJlZHVjZVJpZ2h0OkcucmVkdWNlUmlnaHR8fGZ1bmN0aW9uKGEsYil7cmV0dXJuIG1
iKHRoaXMsYSxiLHRoaXMubGVuZ3RoLTEsLTEsLTEpfSxyZXZlcnNlOkcucmV2ZXJzZSxzZWxlY3RvcjpudW
xsLHNoaWZ0Okcuc2hpZnQsc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHYodGhpcy5jb250ZXh0LHRoa
XMpfSxzb3J0Okcuc29ydCxzcGxpY2U6Ry5zcGxpY2UsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBHLnNs
aWNlLmNhbGwodGhpcyl9LHRvJDpmdW5jdGlvbigpe3JldHVybiBmKHRoaXMpfSx0b0pRdWVyeTpmdW5jdGl
vbigpe3JldHVybiBmKHRoaXMpfSx1bmlxdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHYodGhpcy5jb250ZX
h0LHRhKHRoaXMpKX0sdW5zaGlmdDpHLnVuc2hpZnR9KTt2LmV4dGVuZD1mdW5jdGlvbihhLApiLGMpe2lmK
GMubGVuZ3RoJiZiJiYoYiBpbnN0YW5jZW9mIHZ8fGIuX19kdF93cmFwcGVyKSl7dmFyIGQsZT1mdW5jdGlv
bihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9Yi5hcHBseShhLGFyZ3VtZW50cyk7di5leHRlbmQ
oZCxkLGMubWV0aG9kRXh0KTtyZXR1cm4gZH19O3ZhciBoPTA7Zm9yKGQ9Yy5sZW5ndGg7aDxkO2grKyl7dm
FyIGc9Y1toXTtiW2cubmFtZV09ImZ1bmN0aW9uIj09PWcudHlwZT9lKGEsZy52YWwsZyk6Im9iamVjdCI9P
T1nLnR5cGU/
e306Zy52YWw7YltnLm5hbWVdLl9fZHRfd3JhcHBlcj0hMDt2LmV4dGVuZChhLGJbZy5uYW1lXSxnLnByb3B
FeHQpfX19O3YucmVnaXN0ZXI9dD1mdW5jdGlvbihhLGIpe2lmKGYuaXNBcnJheShhKSlmb3IodmFyIGM9MC
xkPWEubGVuZ3RoO2M8ZDtjKyspdi5yZWdpc3RlcihhW2NdLGIpO2Vsc2V7ZD1hLnNwbGl0KCIuIik7dmFyI
GU9V2IsaDthPTA7Zm9yKGM9ZC5sZW5ndGg7YTxjO2ErKyl7dmFyIGc9KGg9LTEhPT0KZFthXS5pbmRleE9m
KCIoKSIpKT9kW2FdLnJlcGxhY2UoIigpIiwiIik6ZFthXTthOnt2YXIgaz0wO2Zvcih2YXIgbD1lLmxlbmd
0aDtrPGw7aysrKWlmKGVba10ubmFtZT09PWcpe2s9ZVtrXTticmVhayBhfWs9bnVsbH1rfHwoaz17bmFtZT
pnLHZhbDp7fSxtZXRob2RFeHQ6W10scHJvcEV4dDpbXSx0eXBlOiJvYmplY3QifSxlLnB1c2goaykpO2E9P
T1jLTE/
KGsudmFsPWIsay50eXBlPSJmdW5jdGlvbiI9PT10eXBlb2YgYj8iZnVuY3Rpb24iOmYuaXNQbGFpbk9iamV
jdChiKT8ib2JqZWN0Ijoib3RoZX
IiKTplPWg/
ay5tZXRob2RFeHQ6ay5wcm9wRXh0fX19O3YucmVnaXN0ZXJQbHVyYWw9eD1mdW5jdGlvbihhLGIsYyl7di5
yZWdpc3RlcihhLGMpO3YucmVnaXN0ZXIoYixmdW5jdGlvbigpe3ZhciBhPWMuYXBwbHkodGhpcyxhcmd1bW
VudHMpO3JldHVybiBhPT09dGhpcz90aGlzOmEgaW5zdGFuY2VvZiB2P2EubGVuZ3RoP2YuaXNBcnJheShhW
zBdKT9uZXcgdihhLmNvbnRleHQsCmFbMF0pOmFbMF06cDphfSl9O3ZhciBmYz1mdW5jdGlvbihhLGIpe2lm
KCJudW1iZXIiPT09dHlwZW9mIGEpcmV0dXJuW2JbYV1dO3ZhciBjPWYubWFwKGIsZnVuY3Rpb24oYSxiKXt
yZXR1cm4gYS5uVGFibGV9KTtyZXR1cm4gZihjKS5maWx0ZXIoYSkubWFwKGZ1bmN0aW9uKGEpe2E9Zi5pbk
FycmF5KHRoaXMsYyk7cmV0dXJuIGJbYV19KS50b0FycmF5KCl9O3QoInRhYmxlcygpIixmdW5jdGlvbihhK
XtyZXR1cm4gYT9uZXcgdihmYyhhLHRoaXMuY29udGV4dCkpOnRoaXN9KTt0KCJ0YWJsZSgpIixmdW5jdGlv
bihhKXthPXRoaXMudGFibGVzKGEpO3ZhciBiPWEuY29udGV4dDtyZXR1cm4gYi5sZW5ndGg/
bmV3IHYoYlswXSk6YX0pO3goInRhYmxlcygpLm5vZGVzKCkiLCJ0YWJsZSgpLm5vZGUoKSIsZnVuY3Rpb24
oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe3JldHVybiBhLm5UYWJsZX0sMS
l9KTt4KCJ0YWJsZXMoKS5ib2R5KCkiLCJ0YWJsZSgpLmJvZHkoKSIsCmZ1bmN0aW9uKCl7cmV0dXJuIHRoa
XMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihhKXtyZXR1cm4gYS5uVEJvZHl9LDEpfSk7eCgidGFibGVz
KCkuaGVhZGVyKCkiLCJ0YWJsZSgpLmhlYWRlcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9
yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGEublRIZWFkfSwxKX0pO3goInRhYmxlcygpLmZvb3Rlci
gpIiwidGFibGUoKS5mb290ZXIoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiL
GZ1bmN0aW9uKGEpe3JldHVybiBhLm5URm9vdH0sMSl9KTt4KCJ0YWJsZXMoKS5jb250YWluZXJzKCkiLCJ0
YWJsZSgpLmNvbnRhaW5lcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnV
uY3Rpb24oYSl7cmV0dXJuIGEublRhYmxlV3JhcHBlcn0sMSl9KTt0KCJkcmF3KCkiLGZ1bmN0aW9uKGEpe3
JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7InBhZ2UiPT09CmE/
UyhiKTooInN0cmluZyI9PT10eXBlb2YgYSYmKGE9ImZ1bGwtaG9sZCI9PT1hPyExOiEwKSxWKGIsITE9PT1
hKSl9KX0pO3QoInBhZ2UoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1wP3RoaXMucGFnZS5pbmZvKCkucG
FnZTp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7WGEoYixhKX0pfSk7dCgicGFnZS5pbmZvK
CkiLGZ1bmN0aW9uKGEpe2lmKDA9PT10aGlzLmNvbnRleHQubGVuZ3RoKXJldHVybiBwO2E9dGhpcy5jb250
ZXh0WzBdO3ZhciBiPWEuX2lEaXNwbGF5U3RhcnQsYz1hLm9GZWF0dXJlcy5iUGFnaW5hdGU/
YS5faURpc3BsYXlMZW5ndGg6LTEsZD1hLmZuUmVjb3Jkc0Rpc3BsYXkoKSxlPS0xPT09YztyZXR1cm57cGF
nZTplPzA6TWF0aC5mbG9vcihiL2MpLHBhZ2VzOmU/
MTpNYXRoLmNlaWwoZC9jKSxzdGFydDpiLGVuZDphLmZuRGlzcGxheUVuZCgpLGxlbmd0aDpjLHJlY29yZHN
Ub3RhbDphLmZuUmVjb3Jkc1RvdGFsKCkscmVjb3Jkc0Rpc3BsYXk6ZCwKc2VydmVyU2lkZToic3NwIj09PU
QoYSl9fSk7dCgicGFnZS5sZW4oKSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1wPzAhPT10aGlzLmNvbnRle
HQubGVuZ3RoP3RoaXMuY29udGV4dFswXS5faURpc3BsYXlMZW5ndGg6cDp0aGlzLml0ZXJhdG9yKCJ0YWJs
ZSIsZnVuY3Rpb24oYil7VmEoYixhKX0pfSk7dmFyIFhiPWZ1bmN0aW9uKGEsYixjKXtpZihjKXt2YXIgZD1
uZXcgdihhKTtkLm9uZSgiZHJhdyIsZnVuY3Rpb24oKXtjKGQuYWpheC5qc29uKCkpfSl9aWYoInNzcCI9PU
QoYSkpVihhLGIpO2Vsc2V7SyhhLCEwKTt2YXIgZT1hLmpxWEhSO2UmJjQhPT1lLnJlYWR5U3RhdGUmJmUuY
WJvcnQoKTt2YShhLFtdLGZ1bmN0aW9uKGMpe3FhKGEpO2M9d2EoYSxjKTtmb3IodmFyIGQ9MCxlPWMubGVu
Z3RoO2Q8ZTtkKyspUihhLGNbZF0pO1YoYSxiKTtLKGEsITEpfSl9fTt0KCJhamF4Lmpzb24oKSIsZnVuY3R
pb24oKXt2YXIgYT10aGlzLmNvbnRleHQ7aWYoMDxhLmxlbmd0aClyZXR1cm4gYVswXS5qc29ufSk7CnQoIm
FqYXgucGFyYW1zKCkiLGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jb250ZXh0O2lmKDA8YS5sZW5ndGgpcmV0d
XJuIGFbMF0ub0FqYXhEYXRhfSk7dCgiYWpheC5yZWxvYWQoKSIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhp
cy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGMpe1hiKGMsITE9PT1iLGEpfSl9KTt0KCJhamF4LnVybCg
pIixmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnRleHQ7aWYoYT09PXApe2lmKDA9PT1iLmxlbmd0aClyZX
R1cm4gcDtiPWJbMF07cmV0dXJuIGIuYWpheD9mLmlzUGxhaW5PYmplY3QoYi5hamF4KT9iLmFqYXgudXJsO
mIuYWpheDpiLnNBamF4U291cmNlfXJldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7
Zi5pc1BsYWluT2JqZWN0KGIuYWpheCk/
Yi5hamF4LnVybD1hOmIuYWpheD1hfSl9KTt0KCJhamF4LnVybCgpLmxvYWQoKSIsZnVuY3Rpb24oYSxiKXt
yZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGMpe1hiKGMsCiExPT09YixhKX0pfSk7dm
FyIGViPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGg9W10sZyxrLGw7dmFyIG49dHlwZW9mIGI7YiYmInN0c
mluZyIhPT1uJiYiZnVuY3Rpb24iIT09biYmYi5sZW5ndGghPT1wfHwoYj1bYl0pO249MDtmb3Ioaz1iLmxl
bmd0aDtuPGs7bisrKXt2YXIgbT1iW25dJiZiW25dLnNwbGl0JiYhYltuXS5tYXRjaCgvW1xbXCg6XS8pP2J
bbl0uc3BsaXQoIiwiKTpbYltuXV07dmFyIHE9MDtmb3IobD1tLmxlbmd0aDtxPGw7cSsrKShnPWMoInN0cm
luZyI9PT10eXBlb2YgbVtxXT9mLnRyaW0obVtxXSk6bVtxXSkpJiZnLmxlbmd0aCYmKGg9aC5jb25jYXQoZ
ykpfWE9Qy5zZWxlY3RvclthXTtpZihhLmxlbmd0aClmb3Iobj0wLGs9YS5sZW5ndGg7bjxrO24rKyloPWFb
bl0oZCxlLGgpO3JldHVybiB0YShoKX0sZmI9ZnVuY3Rpb24oYSl7YXx8KGE9e30pO2EuZmlsdGVyJiZhLnN
lYXJjaD09PXAmJihhLnNlYXJjaD1hLmZpbHRlcik7cmV0dXJuIGYuZXh0ZW5kKHtzZWFyY2g6Im5vbmUiLA
pvcmRlcjoiY3VycmVudCIscGFnZToiYWxsIn0sYSl9LGdiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9Y
S5sZW5ndGg7YjxjO2IrKylpZigwPGFbYl0ubGVuZ3RoKXJldHVybiBhWzBdPWFbYl0sYVswXS5sZW5ndGg9
MSxhLmxlbmd0aD0xLGEuY29udGV4dD1bYS5jb250ZXh0W2JdXSxhO2EubGVuZ3RoPTA7cmV0dXJuIGF9LEZ
hPWZ1bmN0aW9uKGEsYil7dmFyIGM9W10sZD1hLmFpRGlzcGxheTt2YXIgZT1hLmFpRGlzcGxheU1hc3Rlcj
t2YXIgaD1iLnNlYXJjaDt2YXIgZz1iLm9yZGVyO2I9Yi5wYWdlO2lmKCJzc3AiPT1EKGEpKXJldHVybiJyZ
W1vdmVkIj09PWg/
W106WigwLGUubGVuZ3RoKTtpZigiY3VycmVudCI9PWIpZm9yKGc9YS5faURpc3BsYXlTdGFydCxhPWEuZm5
EaXNwbGF5RW5kKCk7ZzxhO2crKyljLnB1c2goZFtnXSk7ZWxzZSBpZigiY3VycmVudCI9PWd8fCJhcHBsaW
VkIj09ZylpZigibm9uZSI9PWgpYz1lLnNsaWNlKCk7ZWxzZSBpZigiYXBwbGllZCI9PWgpYz0KZC5zbGljZ
SgpO2Vsc2V7aWYoInJlbW92ZWQiPT1oKXt2YXIgaz17fTtnPTA7Zm9yKGE9ZC5sZW5ndGg7ZzxhO2crKylr
W2RbZ11dPW51bGw7Yz1mLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBrLmhhc093blByb3BlcnR5KGEpP25
1bGw6YX0pfX1lbHNlIGlmKCJpbmRleCI9PWd8fCJvcmlnaW5hbCI9PWcpZm9yKGc9MCxhPWEuYW9EYXRhLm
xlbmd0aDtnPGE7ZysrKSJub25lIj09aD9jLnB1c2goZyk6KGU9Zi5pbkFycmF5KGcsZCksKC0xPT09ZSYmI
nJlbW92ZWQiPT1ofHwwPD1lJiYiYXBwbGllZCI9PWgpJiZjLnB1c2goZykpO3JldHVybiBjfSxnYz1mdW5j
dGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGViKCJyb3ciLGIsZnVuY3Rpb24oYil7dmFyIGU9U2IoYiksZz1
hLmFvRGF0YTtpZihudWxsIT09ZSYmIWMpcmV0dXJuW2VdO2R8fChkPUZhKGEsYykpO2lmKG51bGwhPT1lJi
YtMSE9PWYuaW5BcnJheShlLGQpKXJldHVybltlXTtpZihudWxsPT09Ynx8Yj09PXB8fCIiPT09YilyZXR1c
m4gZDsKaWYoImZ1bmN0aW9uIj09PXR5cGVvZiBiKXJldHVybiBmLm1hcChkLGZ1bmN0aW9uKGEpe3ZhciBj
PWdbYV07cmV0dXJuIGIoYSxjLl9hRGF0YSxjLm5Ucik/
YTpudWxsfSk7aWYoYi5ub2RlTmFtZSl7ZT1iLl9EVF9Sb3dJbmRleDt2YXIgaz1iLl9EVF9DZWxsSW5kZXg
7aWYoZSE9PXApcmV0dXJuIGdbZV0mJmdbZV0ublRyPT09Yj9bZV06W107aWYoaylyZXR1cm4gZ1trLnJvd1
0mJmdbay5yb3ddLm5Ucj09PWIucGFyZW50Tm9kZT9bay5yb3ddOltdO2U9ZihiKS5jbG9zZXN0KCIqW2Rhd
GEtZHQtcm93XSIpO3JldHVybiBlLmxlbmd0aD9bZS5kYXRhKCJkdC1yb3ciKV06W119aWYoInN0cmluZyI9
PT10eXBlb2YgYiYmIiMiPT09Yi5jaGFyQXQoMCkmJihlPWEuYUlkc1tiLnJlcGxhY2UoL14jLywiIildLGU
hPT1wKSlyZXR1cm5bZS5pZHhdO2U9VmIobGEoYS5hb0RhdGEsZCwiblRyIikpO3JldHVybiBmKGUpLmZpbH
RlcihiKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fRFRfUm93SW5kZXh9KS50b0FycmF5KCl9LAphL
GMpfTt0KCJyb3dzKCkiLGZ1bmN0aW9uKGEsYil7YT09PXA/
YT0iIjpmLmlzUGxhaW5PYmplY3QoYSkmJihiPWEsYT0iIik7Yj1mYihiKTt2YXIgYz10aGlzLml0ZXJhdG9
yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7cmV0dXJuIGdjKGMsYSxiKX0sMSk7Yy5zZWxlY3Rvci5yb3dzPWE7Yy
5zZWxlY3Rvci5vcHRzPWI7cmV0dXJuIGN9KTt0KCJyb3dzKCkubm9kZXMoKSIsZnVuY3Rpb24oKXtyZXR1c
m4gdGhpcy5pdGVyYXRvcigicm93IixmdW5jdGlvbihhLGIpe3JldHVybiBhLmFvRGF0YVtiXS5uVHJ8fHB9
LDEpfSk7dCgicm93cygpLmRhdGEoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcighMCwicm9
3cyIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gbGEoYS5hb0RhdGEsYiwiX2FEYXRhIil9LDEpfSk7eCgicm93cy
gpLmNhY2hlKCkiLCJyb3coKS5jYWNoZSgpIixmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigic
m93IixmdW5jdGlvbihiLGMpe2I9Yi5hb0RhdGFbY107CnJldHVybiJzZWFyY2giPT09YT9iLl9hRmlsdGVy
RGF0YTpiLl9hU29ydERhdGF9LDEpfSk7eCgicm93cygpLmludmFsaWRhdGUoKSIsInJvdygpLmludmFsaWR
hdGUoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24oYixjKXtlYS
hiLGMsYSl9KX0pO3goInJvd3MoKS5pbmRleGVzKCkiLCJyb3coKS5pbmRleCgpIixmdW5jdGlvbigpe3Jld
HVybiB0aGlzLml0ZXJhdG9yKCJyb3ciLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ9LDEpfSk7eCgicm93cygp
LmlkcygpIiwicm93KCkuaWQoKSIsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9dGhpcy5jb250ZXh0LGQ
9MCxlPWMubGVuZ3RoO2Q8ZTtkKyspZm9yKHZhciBoPTAsZz10aGlzW2RdLmxlbmd0aDtoPGc7aCsrKXt2YX
IgZj1jW2RdLnJvd0lkRm4oY1tkXS5hb0RhdGFbdGhpc1tkXVtoXV0uX2FEYXRhKTtiLnB1c2goKCEwPT09Y
T8iIyI6IiIpK2YpfXJldHVybiBuZXcgdihjLGIpfSk7eCgicm93cygpLnJlbW92ZSgpIiwKInJvdygpLnJl
bW92ZSgpIixmdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5pdGVyYXRvcigicm93IixmdW5jdGlvbihiLGM
sZCl7dmFyIGU9Yi5hb0RhdGEsaD1lW2NdLGcsZjtlLnNwbGljZShjLDEpO3ZhciBsPTA7Zm9yKGc9ZS5sZW
5ndGg7bDxnO2wrKyl7dmFyIG49ZVtsXTt2YXIgbT1uLmFuQ2VsbHM7bnVsbCE9PW4ublRyJiYobi5uVHIuX
0RUX1Jvd0luZGV4PWwpO2lmKG51bGwhPT1tKWZvcihuPTAsZj1tLmxlbmd0aDtuPGY7bisrKW1bbl0uX0RU
X0NlbGxJbmRleC5yb3c9bH1yYShiLmFpRGlzcGxheU1hc3RlcixjKTtyYShiLmFpRGlzcGxheSxjKTtyYSh
hW2RdLGMsITEpOzA8Yi5faVJlY29yZHNEaXNwbGF5JiZiLl9pUmVjb3Jkc0Rpc3BsYXktLTtXYShiKTtjPW
Iucm93SWRGbihoLl9hRGF0YSk7YyE9PXAmJmRlbGV0ZSBiLmFJZHNbY119KTt0aGlzLml0ZXJhdG9yKCJ0Y
WJsZSIsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsZD1hLmFvRGF0YS5sZW5ndGg7YjxkO2IrKylhLmFvRGF0
YVtiXS5pZHg9CmJ9KTtyZXR1cm4gdGhpc30pO3QoInJvd3MuYWRkKCkiLGZ1bmN0aW9uKGEpe3ZhciBiPXR
oaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXt2YXIgYyxkPVtdO3ZhciBnPTA7Zm9yKGM9YS5sZW
5ndGg7ZzxjO2crKyl7dmFyIGY9YVtnXTtmLm5vZGVOYW1lJiYiVFIiPT09Zi5ub2RlTmFtZS50b1VwcGVyQ
2FzZSgpP2QucHVzaChwYShiLGYpWzBdKTpkLnB1c2goUihiLGYpKX1yZXR1cm4gZH0sMSksYz10aGlzLnJv
d3MoLTEpO2MucG9wKCk7Zi5tZXJnZShjLGIpO3JldHVybiBjfSk7dCgicm93KCkiLGZ1bmN0aW9uKGEsYil
7cmV0dXJuIGdiKHRoaXMucm93cyhhLGIpKX0pO3QoInJvdygpLmRhdGEoKSIsZnVuY3Rpb24oYSl7dmFyIG
I9dGhpcy5jb250ZXh0O2lmKGE9PT1wKXJldHVybiBiLmxlbmd0aCYmdGhpcy5sZW5ndGg/
YlswXS5hb0RhdGFbdGhpc1swXV0uX2FEYXRhOnA7dmFyIGM9YlswXS5hb0RhdGFbdGhpc1swXV07Yy5fYUR
hdGE9YTtmLmlzQXJyYXkoYSkmJmMublRyLmlkJiYKUShiWzBdLnJvd0lkKShhLGMublRyLmlkKTtlYShiWz
BdLHRoaXNbMF0sImRhdGEiKTtyZXR1cm4gdGhpc30pO3QoInJvdygpLm5vZGUoKSIsZnVuY3Rpb24oKXt2Y
XIgYT10aGlzLmNvbnRleHQ7cmV0dXJuIGEubGVuZ3RoJiZ0aGlzLmxlbmd0aD9hWzBdLmFvRGF0YVt0aGlz
WzBdXS5uVHJ8fG51bGw6bnVsbH0pO3QoInJvdy5hZGQoKSIsZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIGY
mJmEubGVuZ3RoJiYoYT1hWzBdKTt2YXIgYj10aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7cm
V0dXJuIGEubm9kZU5hbWUmJiJUUiI9PT1hLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk/
cGEoYixhKVswXTpSKGIsYSl9KTtyZXR1cm4gdGhpcy5yb3coYlswXSl9KTt2YXIgaGM9ZnVuY3Rpb24oYSx
iLGMsZCl7dmFyIGU9W10saD1mdW5jdGlvbihiLGMpe2lmKGYuaXNBcnJheShiKXx8YiBpbnN0YW5jZW9mIG
YpZm9yKHZhciBkPTAsZz1iLmxlbmd0aDtkPGc7ZCsrKWgoYltkXSxjKTtlbHNlIGIubm9kZU5hbWUmJgoid
HIiPT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP2UucHVzaChiKTooZD1mKCI8dHI+PHRkLz48L3RyPiIp
LmFkZENsYXNzKGMpLGYoInRkIixkKS5hZGRDbGFzcyhjKS5odG1sKGIpWzBdLmNvbFNwYW49VyhhKSxlL
nB1c2goZFswXSkpfTtoKGMsZCk7Yi5fZGV0YWlscyYmYi5fZGV0YWlscy5kZXRhY2goKTtiLl9kZXRhaWxz
PWYoZSk7Yi5fZGV0YWlsc1Nob3cmJmIuX2RldGFpbHMuaW5zZXJ0QWZ0ZXIoYi5uVHIpfSxoYj1mdW5jdGl
vbihhLGIpe3ZhciBjPWEuY29udGV4dDtjLmxlbmd0aCYmKGE9Y1swXS5hb0RhdGFbYiE9PXA/
YjphWzBdXSkmJmEuX2RldGFpbHMmJihhLl9kZXRhaWxzLnJlbW92ZSgpLGEuX2RldGFpbHNTaG93PXAsYS5
fZGV0YWlscz1wKX0sWWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRleHQ7Yy5sZW5ndGgmJmEubGVuZ3
RoJiYoYT1jWzBdLmFvRGF0YVthWzBdXSxhLl9kZXRhaWxzJiYoKGEuX2RldGFpbHNTaG93PWIpP2EuX2Rld
GFpbHMuaW5zZXJ0QWZ0ZXIoYS5uVHIpOgphLl9kZXRhaWxzLmRldGFjaCgpLGljKGNbMF0pKSl9LGljPWZ1
bmN0aW9uKGEpe3ZhciBiPW5ldyB2KGEpLGM9YS5hb0RhdGE7Yi5vZmYoImRyYXcuZHQuRFRfZGV0YWlscyB
jb2x1bW4tdmlzaWJpbGl0eS5kdC5EVF9kZXRhaWxzIGRlc3Ryb3kuZHQuRFRfZGV0YWlscyIpOzA8SihjLC
JfZGV0YWlscyIpLmxlbmd0aCYmKGIub24oImRyYXcuZHQuRFRfZGV0YWlscyIsZnVuY3Rpb24oZCxlKXthP
T09ZSYmYi5yb3dzKHtwYWdlOiJjdXJyZW50In0pLmVxKDApLmVhY2goZnVuY3Rpb24oYSl7YT1jW2FdO2Eu
X2RldGFpbHNTaG93JiZhLl9kZXRhaWxzLmluc2VydEFmdGVyKGEublRyKX0pfSksYi5vbigiY29sdW1uLXZ
pc2liaWxpdHkuZHQuRFRfZGV0YWlscyIsZnVuY3Rpb24oYixlLGYsZyl7aWYoYT09PWUpZm9yKGU9VyhlKS
xmPTAsZz1jLmxlbmd0aDtmPGc7ZisrKWI9Y1tmXSxiLl9kZXRhaWxzJiZiLl9kZXRhaWxzLmNoaWxkcmVuK
CJ0ZFtjb2xzcGFuXSIpLmF0dHIoImNvbHNwYW4iLAplKX0pLGIub24oImRlc3Ryb3kuZHQuRFRfZGV0YWls
cyIsZnVuY3Rpb24oZCxlKXtpZihhPT09ZSlmb3IoZD0wLGU9Yy5sZW5ndGg7ZDxlO2QrKyljW2RdLl9kZXR
haWxzJiZoYihiLGQpfSkpfTt0KCJyb3coKS5jaGlsZCgpIixmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2
9udGV4dDtpZihhPT09cClyZXR1cm4gYy5sZW5ndGgmJnRoaXMubGVuZ3RoP2NbMF0uYW9EYXRhW3RoaXNbM
F1dLl9kZXRhaWxzOnA7ITA9PT1hP3RoaXMuY2hpbGQuc2hvdygpOiExPT09YT9oYih0aGlzKTpjLmxlbmd0
aCYmdGhpcy5sZW5ndGgmJmhjKGNbMF0sY1swXS5hb0RhdGFbdGhpc1swXV0sYSxiKTtyZXR1cm4gdGhpc30
pO3QoWyJyb3coKS5jaGlsZC5zaG93KCkiLCJyb3coKS5jaGlsZCgpLnNob3coKSJdLGZ1bmN0aW9uKGEpe1
liKHRoaXMsITApO3JldHVybiB0aGlzfSk7dChbInJvdygpLmNoaWxkLmhpZGUoKSIsInJvdygpLmNoaWxkK
CkuaGlkZSgpIl0sZnVuY3Rpb24oKXtZYih0aGlzLCExKTsKcmV0dXJuIHRoaXN9KTt0KFsicm93KCkuY2hp
bGQucmVtb3ZlKCkiLCJyb3coKS5jaGlsZCgpLnJlbW92ZSgpIl0sZnVuY3Rpb24oKXtoYih0aGlzKTtyZXR
1cm4gdGhpc30pO3QoInJvdygpLmNoaWxkLmlzU2hvd24oKSIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNvbn
RleHQ7cmV0dXJuIGEubGVuZ3RoJiZ0aGlzLmxlbmd0aD9hWzBdLmFvRGF0YVt0aGlzWzBdXS5fZGV0YWlsc
1Nob3d8fCExOiExfSk7dmFyIGpjPS9eKFteOl0rKToobmFtZXx2aXNJZHh8dmlzaWJsZSkkLyxaYj1mdW5j
dGlvbihhLGIsYyxkLGUpe2M9W107ZD0wO2Zvcih2YXIgZj1lLmxlbmd0aDtkPGY7ZCsrKWMucHVzaChJKGE
sZVtkXSxiKSk7cmV0dXJuIGN9LGtjPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmFvQ29sdW1ucyxlPUooZC
wic05hbWUiKSxoPUooZCwiblRoIik7cmV0dXJuIGViKCJjb2x1bW4iLGIsZnVuY3Rpb24oYil7dmFyIGc9U
2IoYik7aWYoIiI9PT1iKXJldHVybiBaKGQubGVuZ3RoKTtpZihudWxsIT09CmcpcmV0dXJuWzA8PWc/
ZzpkLmxlbmd0aCtnXTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGIpe3ZhciBsPUZhKGEsYyk7cmV0dXJuIGY
ubWFwKGQsZnVuY3Rpb24oYyxkKXtyZXR1cm4gYihkLFpiKGEsZCwwLDAsbCksaFtkXSk/
ZDpudWxsfSl9dmFyIG49InN0cmluZyI9PT10eXBlb2YgYj9iLm1hdGNoKGpjKToiIjtpZihuKXN3aXRjaCh
uWzJdKXtjYXNlICJ2aXNJZHgiOmNhc2UgInZpc2libGUiOmc9cGFyc2VJbnQoblsxXSwxMCk7aWYoMD5nKX
t2YXIgbT1mLm1hcChkLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuYlZpc2libGU/
YjpudWxsfSk7cmV0dXJuW21bbS5sZW5ndGgrZ11dfXJldHVybltiYShhLGcpXTtjYXNlICJuYW1lIjpyZXR
1cm4gZi5tYXAoZSxmdW5jdGlvbihhLGIpe3JldHVybiBhPT09blsxXT9iOm51bGx9KTtkZWZhdWx0OnJldH
VybltdfWlmKGIubm9kZU5hbWUmJmIuX0RUX0NlbGxJbmRleClyZXR1cm5bYi5fRFRfQ2VsbEluZGV4LmNvb
HVtbl07Zz1mKGgpLmZpbHRlcihiKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZi5pbkFycmF5KHRoaXMsCmgp
fSkudG9BcnJheSgpO2lmKGcubGVuZ3RofHwhYi5ub2RlTmFtZSlyZXR1cm4gZztnPWYoYikuY2xvc2VzdCg
iKltkYXRhLWR0LWNvbHVtbl0iKTtyZXR1cm4gZy5sZW5ndGg/
W2cuZGF0YSgiZHQtY29sdW1uIildOltdfSxhLGMpfTt0KCJjb2x1bW5zKCkiLGZ1bmN0aW9uKGEsYil7YT0
9PXA/
YT0iIjpmLmlzUGxhaW5PYmplY3QoYSkmJihiPWEsYT0iIik7Yj1mYihiKTt2YXIgYz10aGlzLml0ZXJhdG9
yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7cmV0dXJuIGtjKGMsYSxiKX0sMSk7Yy5zZWxlY3Rvci5jb2xzPWE7Yy
5zZWxlY3Rvci5vcHRzPWI7cmV0dXJuIGN9KTt4KCJjb2x1bW5zKCkuaGVhZGVyKCkiLCJjb2x1bW4oKS5oZ
WFkZXIoKSIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uIixmdW5jdGlvbihh
LGIpe3JldHVybiBhLmFvQ29sdW1uc1tiXS5uVGh9LDEpfSk7eCgiY29sdW1ucygpLmZvb3RlcigpIiwiY29
sdW1uKCkuZm9vdGVyKCkiLGZ1bmN0aW9uKGEsCmIpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLG
Z1bmN0aW9uKGEsYil7cmV0dXJuIGEuYW9Db2x1bW5zW2JdLm5UZn0sMSl9KTt4KCJjb2x1bW5zKCkuZGF0Y
SgpIiwiY29sdW1uKCkuZGF0YSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4t
cm93cyIsWmIsMSl9KTt4KCJjb2x1bW5zKCkuZGF0YVNyYygpIiwiY29sdW1uKCkuZGF0YVNyYygpIixmdW5
jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuYW
9Db2x1bW5zW2JdLm1EYXRhfSwxKX0pO3goImNvbHVtbnMoKS5jYWNoZSgpIiwiY29sdW1uKCkuY2FjaGUoK
SIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixmdW5jdGlvbihiLGMs
ZCxlLGYpe3JldHVybiBsYShiLmFvRGF0YSxmLCJzZWFyY2giPT09YT8iX2FGaWx0ZXJEYXRhIjoiX2FTb3J
0RGF0YSIsYyl9LDEpfSk7eCgiY29sdW1ucygpLm5vZGVzKCkiLAoiY29sdW1uKCkubm9kZXMoKSIsZnVuY3
Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uLXJvd3MiLGZ1bmN0aW9uKGEsYixjLGQsZSl7c
mV0dXJuIGxhKGEuYW9EYXRhLGUsImFuQ2VsbHMiLGIpfSwxKX0pO3goImNvbHVtbnMoKS52aXNpYmxlKCki
LCJjb2x1bW4oKS52aXNpYmxlKCkiLGZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPXRoaXMuaXRlcmF0b3I
oImNvbHVtbiIsZnVuY3Rpb24oYixjKXtpZihhPT09cClyZXR1cm4gYi5hb0NvbHVtbnNbY10uYlZpc2libG
U7dmFyIGQ9Yi5hb0NvbHVtbnMsZT1kW2NdLGg9Yi5hb0RhdGEsbjtpZihhIT09cCYmZS5iVmlzaWJsZSE9P
WEpe2lmKGEpe3ZhciBtPWYuaW5BcnJheSghMCxKKGQsImJWaXNpYmxlIiksYysxKTtkPTA7Zm9yKG49aC5s
ZW5ndGg7ZDxuO2QrKyl7dmFyIHE9aFtkXS5uVHI7Yj1oW2RdLmFuQ2VsbHM7cSYmcS5pbnNlcnRCZWZvcmU
oYltjXSxiW21dfHxudWxsKX19ZWxzZSBmKEooYi5hb0RhdGEsImFuQ2VsbHMiLApjKSkuZGV0YWNoKCk7ZS
5iVmlzaWJsZT1hfX0pO2EhPT1wJiZ0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oZCl7aGEoZCxkL
mFvSGVhZGVyKTtoYShkLGQuYW9Gb290ZXIpO2QuYWlEaXNwbGF5Lmxlbmd0aHx8ZihkLm5UQm9keSkuZmlu
ZCgidGRbY29sc3Bhbl0iKS5hdHRyKCJjb2xzcGFuIixXKGQpKTtCYShkKTtjLml0ZXJhdG9yKCJjb2x1bW4
iLGZ1bmN0aW9uKGMsZCl7QShjLG51bGwsImNvbHVtbi12aXNpYmlsaXR5IixbYyxkLGEsYl0pfSk7KGI9PT
1wfHxiKSYmYy5jb2x1bW5zLmFkanVzdCgpfSk7cmV0dXJuIGR9KTt4KCJjb2x1bW5zKCkuaW5kZXhlcygpI
iwiY29sdW1uKCkuaW5kZXgoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIs
ZnVuY3Rpb24oYixjKXtyZXR1cm4idmlzaWJsZSI9PT1hP2NhKGIsYyk6Y30sMSl9KTt0KCJjb2x1bW5zLmF
kanVzdCgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7YW
EoYSl9LAoxKX0pO3QoImNvbHVtbi5pbmRleCgpIixmdW5jdGlvbihhLGIpe2lmKDAhPT10aGlzLmNvbnRle
HQubGVuZ3RoKXt2YXIgYz10aGlzLmNvbnRleHRbMF07aWYoImZyb21WaXNpYmxlIj09PWF8fCJ0b0RhdGEi
PT09YSlyZXR1cm4gYmEoYyxiKTtpZigiZnJvbURhdGEiPT09YXx8InRvVmlzaWJsZSI9PT1hKXJldHVybiB
jYShjLGIpfX0pO3QoImNvbHVtbigpIixmdW5jdGlvbihhLGIpe3JldHVybiBnYih0aGlzLmNvbHVtbnMoYS
xiKSl9KTt2YXIgbGM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuYW9EYXRhLGU9RmEoYSxjKSxoPVZiKGxhK
GQsZSwiYW5DZWxscyIpKSxnPWYoW10uY29uY2F0LmFwcGx5KFtdLGgpKSxrLGw9YS5hb0NvbHVtbnMubGVu
Z3RoLG4sbSxxLHUsdCx2O3JldHVybiBlYigiY2VsbCIsYixmdW5jdGlvbihiKXt2YXIgYz0iZnVuY3Rpb24
iPT09dHlwZW9mIGI7aWYobnVsbD09PWJ8fGI9PT1wfHxjKXtuPVtdO209MDtmb3IocT1lLmxlbmd0aDttPH
E7bSsrKWZvcihrPQplW21dLHU9MDt1PGw7dSsrKXQ9e3JvdzprLGNvbHVtbjp1fSxjPyh2PWRba10sYih0L
EkoYSxrLHUpLHYuYW5DZWxscz92LmFuQ2VsbHNbdV06bnVsbCkmJm4ucHVzaCh0KSk6bi5wdXNoKHQpO3Jl
dHVybiBufWlmKGYuaXNQbGFpbk9iamVjdChiKSlyZXR1cm4gYi5jb2x1bW4hPT1wJiZiLnJvdyE9PXAmJi0
xIT09Zi5pbkFycmF5KGIucm93LGUpP1tiXTpbXTtjPWcuZmlsdGVyKGIpLm1hcChmdW5jdGlvbihhLGIpe3
JldHVybntyb3c6Yi5fRFRfQ2VsbEluZGV4LnJvdyxjb2x1bW46Yi5fRFRfQ2VsbEluZGV4LmNvbHVtbn19K
S50b0FycmF5KCk7aWYoYy5sZW5ndGh8fCFiLm5vZGVOYW1lKXJldHVybiBjO3Y9ZihiKS5jbG9zZXN0KCIq
W2RhdGEtZHQtcm93XSIpO3JldHVybiB2Lmxlbmd0aD9be3Jvdzp2LmRhdGEoImR0LXJvdyIpLGNvbHVtbjp
2LmRhdGEoImR0LWNvbHVtbiIpfV06W119LGEsYyl9O3QoImNlbGxzKCkiLGZ1bmN0aW9uKGEsYixjKXtmLm
lzUGxhaW5PYmplY3QoYSkmJgooYS5yb3c9PT1wPyhjPWEsYT1udWxsKTooYz1iLGI9bnVsbCkpO2YuaXNQb
GFpbk9iamVjdChiKSYmKGM9YixiPW51bGwpO2lmKG51bGw9PT1ifHxiPT09cClyZXR1cm4gdGhpcy5pdGVy
YXRvcigidGFibGUiLGZ1bmN0aW9uKGIpe3JldHVybiBsYyhiLGEsZmIoYykpfSk7dmFyIGQ9Yz97cGFnZTp
jLnBhZ2Usb3JkZXI6Yy5vcmRlcixzZWFyY2g6Yy5zZWFyY2h9Ont9LGU9dGhpcy5jb2x1bW5zKGIsZCksaD
10aGlzLnJvd3MoYSxkKSxnLGssbCxuO2Q9dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEsYil7Y
T1bXTtnPTA7Zm9yKGs9aFtiXS5sZW5ndGg7ZzxrO2crKylmb3IobD0wLG49ZVtiXS5sZW5ndGg7bDxuO2wr
KylhLnB1c2goe3JvdzpoW2JdW2ddLGNvbHVtbjplW2JdW2xdfSk7cmV0dXJuIGF9LDEpO2Q9YyYmYy5zZWx
lY3RlZD90aGlzLmNlbGxzKGQsYyk6ZDtmLmV4dGVuZChkLnNlbGVjdG9yLHtjb2xzOmIscm93czphLG9wdH
M6Y30pO3JldHVybiBkfSk7eCgiY2VsbHMoKS5ub2RlcygpIiwKImNlbGwoKS5ub2RlKCkiLGZ1bmN0aW9uK
Cl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4oYT1hLmFvRGF0
YVtiXSkmJmEuYW5DZWxscz9hLmFuQ2VsbHNbY106cH0sMSl9KTt0KCJjZWxscygpLmRhdGEoKSIsZnVuY3R
pb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBJKGEsYi
xjKX0sMSl9KTt4KCJjZWxscygpLmNhY2hlKCkiLCJjZWxsKCkuY2FjaGUoKSIsZnVuY3Rpb24oYSl7YT0ic
2VhcmNoIj09PWE/
Il9hRmlsdGVyRGF0YSI6Il9hU29ydERhdGEiO3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGl
vbihiLGMsZCl7cmV0dXJuIGIuYW9EYXRhW2NdW2FdW2RdfSwxKX0pO3goImNlbGxzKCkucmVuZGVyKCkiLC
JjZWxsKCkucmVuZGVyKCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jd
GlvbihiLGMsZCl7cmV0dXJuIEkoYixjLGQsYSl9LAoxKX0pO3goImNlbGxzKCkuaW5kZXhlcygpIiwiY2Vs
bCgpLmluZGV4KCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKGE
sYixjKXtyZXR1cm57cm93OmIsY29sdW1uOmMsY29sdW1uVmlzaWJsZTpjYShhLGMpfX0sMSl9KTt4KCJjZW
xscygpLmludmFsaWRhdGUoKSIsImNlbGwoKS5pbnZhbGlkYXRlKCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0a
GlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbihiLGMsZCl7ZWEoYixjLGEsZCl9KX0pO3QoImNlbGwoKSIs
ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBnYih0aGlzLmNlbGxzKGEsYixjKSl9KTt0KCJjZWxsKCkuZGF0YSg
pIixmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnRleHQsYz10aGlzWzBdO2lmKGE9PT1wKXJldHVybiBiLm
xlbmd0aCYmYy5sZW5ndGg/
SShiWzBdLGNbMF0ucm93LGNbMF0uY29sdW1uKTpwO29iKGJbMF0sY1swXS5yb3csY1swXS5jb2x1bW4sYSk
7ZWEoYlswXSxjWzBdLnJvdywKImRhdGEiLGNbMF0uY29sdW1uKTtyZXR1cm4gdGhpc30pO3QoIm9yZGVyKC
kiLGZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jb250ZXh0O2lmKGE9PT1wKXJldHVybiAwIT09Yy5sZW5nd
Gg/
Y1swXS5hYVNvcnRpbmc6cDsibnVtYmVyIj09PXR5cGVvZiBhP2E9W1thLGJdXTphLmxlbmd0aCYmIWYuaXN
BcnJheShhWzBdKSYmKGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIH
RoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXtiLmFhU29ydGluZz1hLnNsaWNlKCl9KX0pO3QoI
m9yZGVyLmxpc3RlbmVyKCkiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUi
LGZ1bmN0aW9uKGQpe1FhKGQsYSxiLGMpfSl9KTt0KCJvcmRlci5maXhlZCgpIixmdW5jdGlvbihhKXtpZig
hYSl7dmFyIGI9dGhpcy5jb250ZXh0O2I9Yi5sZW5ndGg/YlswXS5hYVNvcnRpbmdGaXhlZDpwO3Jl
dHVybiBmLmlzQXJyYXkoYik/
e3ByZTpifToKYn1yZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGIpe2IuYWFTb3J0aW5
nRml4ZWQ9Zi5leHRlbmQoITAse30sYSl9KX0pO3QoWyJjb2x1bW5zKCkub3JkZXIoKSIsImNvbHVtbigpLm
9yZGVyKCkiXSxmdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZ
nVuY3Rpb24oYyxkKXt2YXIgZT1bXTtmLmVhY2goYltkXSxmdW5jdGlvbihiLGMpe2UucHVzaChbYyxhXSl9
KTtjLmFhU29ydGluZz1lfSl9KTt0KCJzZWFyY2goKSIsZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9dGhpcy5
jb250ZXh0O3JldHVybiBhPT09cD8wIT09ZS5sZW5ndGg/
ZVswXS5vUHJldmlvdXNTZWFyY2guc1NlYXJjaDpwOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih
lKXtlLm9GZWF0dXJlcy5iRmlsdGVyJiZpYShlLGYuZXh0ZW5kKHt9LGUub1ByZXZpb3VzU2VhcmNoLHtzU2
VhcmNoOmErIiIsYlJlZ2V4Om51bGw9PT1iPyExOmIsYlNtYXJ0Om51bGw9PT0KYz8hMDpjLGJDYXNlSW5zZ
W5zaXRpdmU6bnVsbD09PWQ/
ITA6ZH0pLDEpfSl9KTt4KCJjb2x1bW5zKCkuc2VhcmNoKCkiLCJjb2x1bW4oKS5zZWFyY2goKSIsZnVuY3R
pb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oZSxoKXt2YXIgZz
1lLmFvUHJlU2VhcmNoQ29scztpZihhPT09cClyZXR1cm4gZ1toXS5zU2VhcmNoO2Uub0ZlYXR1cmVzLmJGa
Wx0ZXImJihmLmV4dGVuZChnW2hdLHtzU2VhcmNoOmErIiIsYlJlZ2V4Om51bGw9PT1iPyExOmIsYlNtYXJ0
Om51bGw9PT1jPyEwOmMsYkNhc2VJbnNlbnNpdGl2ZTpudWxsPT09ZD8hMDpkfSksaWEoZSxlLm9QcmV2aW9
1c1NlYXJjaCwxKSl9KX0pO3QoInN0YXRlKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGV4dC5sZW
5ndGg/
dGhpcy5jb250ZXh0WzBdLm9TYXZlZFN0YXRlOm51bGx9KTt0KCJzdGF0ZS5jbGVhcigpIixmdW5jdGlvbig
pe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsCmZ1bmN0aW9uKGEpe2EuZm5TdGF0ZVNhdmVDYWxsYm
Fjay5jYWxsKGEub0luc3RhbmNlLGEse30pfSl9KTt0KCJzdGF0ZS5sb2FkZWQoKSIsZnVuY3Rpb24oKXtyZ
XR1cm4gdGhpcy5jb250ZXh0Lmxlbmd0aD90aGlzLmNvbnRleHRbMF0ub0xvYWRlZFN0YXRlOm51bGx9KTt0
KCJzdGF0ZS5zYXZlKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGl
vbihhKXtCYShhKX0pfSk7cS52ZXJzaW9uQ2hlY2s9cS5mblZlcnNpb25DaGVjaz1mdW5jdGlvbihhKXt2YX
IgYj1xLnZlcnNpb24uc3BsaXQoIi4iKTthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGMsZCxlPTAsZj1hLmxlb
md0aDtlPGY7ZSsrKWlmKGM9cGFyc2VJbnQoYltlXSwxMCl8fDAsZD1wYXJzZUludChhW2VdLDEwKXx8MCxj
IT09ZClyZXR1cm4gYz5kO3JldHVybiEwfTtxLmlzRGF0YVRhYmxlPXEuZm5Jc0RhdGFUYWJsZT1mdW5jdGl
vbihhKXt2YXIgYj1mKGEpLmdldCgwKSxjPSExO2lmKGEgaW5zdGFuY2VvZgpxLkFwaSlyZXR1cm4hMDtmLm
VhY2gocS5zZXR0aW5ncyxmdW5jdGlvbihhLGUpe2E9ZS5uU2Nyb2xsSGVhZD9mKCJ0YWJsZSIsZS5uU2Nyb
2xsSGVhZClbMF06bnVsbDt2YXIgZD1lLm5TY3JvbGxGb290P2YoInRhYmxlIixlLm5TY3JvbGxGb290KVsw
XTpudWxsO2lmKGUublRhYmxlPT09Ynx8YT09PWJ8fGQ9PT1iKWM9ITB9KTtyZXR1cm4gY307cS50YWJsZXM
9cS5mblRhYmxlcz1mdW5jdGlvbihhKXt2YXIgYj0hMTtmLmlzUGxhaW5PYmplY3QoYSkmJihiPWEuYXBpLG
E9YS52aXNpYmxlKTt2YXIgYz1mLm1hcChxLnNldHRpbmdzLGZ1bmN0aW9uKGIpe2lmKCFhfHxhJiZmKGIub
lRhYmxlKS5pcygiOnZpc2libGUiKSlyZXR1cm4gYi5uVGFibGV9KTtyZXR1cm4gYj9uZXcgdihjKTpjfTtx
LmNhbWVsVG9IdW5nYXJpYW49TDt0KCIkKCkiLGZ1bmN0aW9uKGEsYil7Yj10aGlzLnJvd3MoYikubm9kZXM
oKTtiPWYoYik7cmV0dXJuIGYoW10uY29uY2F0KGIuZmlsdGVyKGEpLnRvQXJyYXkoKSwKYi5maW5kKGEpLn
RvQXJyYXkoKSkpfSk7Zi5lYWNoKFsib24iLCJvbmUiLCJvZmYiXSxmdW5jdGlvbihhLGIpe3QoYisiKCkiL
GZ1bmN0aW9uKCl7dmFyIGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTthWzBdPWYu
bWFwKGFbMF0uc3BsaXQoL1xzLyksZnVuY3Rpb24oYSl7cmV0dXJuIGEubWF0Y2goL1wuZHRcYi8pP2E6YSs
iLmR0In0pLmpvaW4oIiAiKTt2YXIgZD1mKHRoaXMudGFibGVzKCkubm9kZXMoKSk7ZFtiXS5hcHBseShkLG
EpO3JldHVybiB0aGlzfSl9KTt0KCJjbGVhcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yK
CJ0YWJsZSIsZnVuY3Rpb24oYSl7cWEoYSl9KX0pO3QoInNldHRpbmdzKCkiLGZ1bmN0aW9uKCl7cmV0dXJu
IG5ldyB2KHRoaXMuY29udGV4dCx0aGlzLmNvbnRleHQpfSk7dCgiaW5pdCgpIixmdW5jdGlvbigpe3ZhciB
hPXRoaXMuY29udGV4dDtyZXR1cm4gYS5sZW5ndGg/
YVswXS5vSW5pdDpudWxsfSk7dCgiZGF0YSgpIiwKZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcig
idGFibGUiLGZ1bmN0aW9uKGEpe3JldHVybiBKKGEuYW9EYXRhLCJfYURhdGEiKX0pLmZsYXR0ZW4oKX0pO3
QoImRlc3Ryb3koKSIsZnVuY3Rpb24oYSl7YT1hfHwhMTtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiL
GZ1bmN0aW9uKGIpe3ZhciBjPWIublRhYmxlV3JhcHBlci5wYXJlbnROb2RlLGQ9Yi5vQ2xhc3NlcyxlPWIu
blRhYmxlLGg9Yi5uVEJvZHksZz1iLm5USGVhZCxrPWIublRGb290LGw9ZihlKTtoPWYoaCk7dmFyIG49Zih
iLm5UYWJsZVdyYXBwZXIpLG09Zi5tYXAoYi5hb0RhdGEsZnVuY3Rpb24oYSl7cmV0dXJuIGEublRyfSkscD
tiLmJEZXN0cm95aW5nPSEwO0EoYiwiYW9EZXN0cm95Q2FsbGJhY2siLCJkZXN0cm95IixbYl0pO2F8fChuZ
XcgdihiKSkuY29sdW1ucygpLnZpc2libGUoITApO24ub2ZmKCIuRFQiKS5maW5kKCI6bm90KHRib2R5ICop
Iikub2ZmKCIuRFQiKTtmKHopLm9mZigiLkRULSIrYi5zSW5zdGFuY2UpOwplIT1nLnBhcmVudE5vZGUmJih
sLmNoaWxkcmVuKCJ0aGVhZCIpLmRldGFjaCgpLGwuYXBwZW5kKGcpKTtrJiZlIT1rLnBhcmVudE5vZGUmJi
hsLmNoaWxkcmVuKCJ0Zm9vdCIpLmRldGFjaCgpLGwuYXBwZW5kKGspKTtiLmFhU29ydGluZz1bXTtiLmFhU
29ydGluZ0ZpeGVkPVtdO0FhKGIpO2YobSkucmVtb3ZlQ2xhc3MoYi5hc1N0cmlwZUNsYXNzZXMuam9pbigi
ICIpKTtmKCJ0aCwgdGQiLGcpLnJlbW92ZUNsYXNzKGQuc1NvcnRhYmxlKyIgIitkLnNTb3J0YWJsZUFzYys
iICIrZC5zU29ydGFibGVEZXNjKyIgIitkLnNTb3J0YWJsZU5vbmUpO2guY2hpbGRyZW4oKS5kZXRhY2goKT
toLmFwcGVuZChtKTtnPWE/
InJlbW92ZSI6ImRldGFjaCI7bFtnXSgpO25bZ10oKTshYSYmYyYmKGMuaW5zZXJ0QmVmb3JlKGUsYi5uVGF
ibGVSZWluc2VydEJlZm9yZSksbC5jc3MoIndpZHRoIixiLnNEZXN0cm95V2lkdGgpLnJlbW92ZUNsYXNzKG
Quc1RhYmxlKSwocD1iLmFzRGVzdHJveVN0cmlwZXMubGVuZ3RoKSYmCmguY2hpbGRyZW4oKS5lYWNoKGZ1b
mN0aW9uKGEpe2YodGhpcykuYWRkQ2xhc3MoYi5hc0Rlc3Ryb3lTdHJpcGVzW2ElcF0pfSkpO2M9Zi5pbkFy
cmF5KGIscS5zZXR0aW5ncyk7LTEhPT1jJiZxLnNldHRpbmdzLnNwbGljZShjLDEpfSl9KTtmLmVhY2goWyJ
jb2x1bW4iLCJyb3ciLCJjZWxsIl0sZnVuY3Rpb24oYSxiKXt0KGIrInMoKS5ldmVyeSgpIixmdW5jdGlvbi
hhKXt2YXIgYz10aGlzLnNlbGVjdG9yLm9wdHMsZT10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKGIsZnVuY
3Rpb24oZCxmLGssbCxuKXthLmNhbGwoZVtiXShmLCJjZWxsIj09PWI/azpjLCJjZWxsIj09PWI/
YzpwKSxmLGssbCxuKX0pfSl9KTt0KCJpMThuKCkiLGZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmNvbnR
leHRbMF07YT1VKGEpKGQub0xhbmd1YWdlKTthPT09cCYmKGE9Yik7YyE9PXAmJmYuaXNQbGFpbk9iamVjdC
hhKSYmKGE9YVtjXSE9PXA/
YVtjXTphLl8pO3JldHVybiBhLnJlcGxhY2UoIiVkIixjKX0pOwpxLnZlcnNpb249IjEuMTAuMjAiO3Euc2V
0dGluZ3M9W107cS5tb2RlbHM9e307cS5tb2RlbHMub1NlYXJjaD17YkNhc2VJbnNlbnNpdGl2ZTohMCxzU2
VhcmNoOiIiLGJSZWdleDohMSxiU21hcnQ6ITB9O3EubW9kZWxzLm9Sb3c9e25UcjpudWxsLGFuQ2VsbHM6b
nVsbCxfYURhdGE6W10sX2FTb3J0RGF0YTpudWxsLF9hRmlsdGVyRGF0YTpudWxsLF9zRmlsdGVyUm93Om51
bGwsX3NSb3dTdHJpcGU6IiIsc3JjOm51bGwsaWR4Oi0xfTtxLm1vZGVscy5vQ29sdW1uPXtpZHg6bnVsbCx
hRGF0YVNvcnQ6bnVsbCxhc1NvcnRpbmc6bnVsbCxiU2VhcmNoYWJsZTpudWxsLGJTb3J0YWJsZTpudWxsLG
JWaXNpYmxlOm51bGwsX3NNYW51YWxUeXBlOm51bGwsX2JBdHRyU3JjOiExLGZuQ3JlYXRlZENlbGw6bnVsb
CxmbkdldERhdGE6bnVsbCxmblNldERhdGE6bnVsbCxtRGF0YTpudWxsLG1SZW5kZXI6bnVsbCxuVGg6bnVs
bCxuVGY6bnVsbCxzQ2xhc3M6bnVsbCxzQ29udGVudFBhZGRpbmc6bnVsbCwKc0RlZmF1bHRDb250ZW50Om5
1bGwsc05hbWU6bnVsbCxzU29ydERhdGFUeXBlOiJzdGQiLHNTb3J0aW5nQ2xhc3M6bnVsbCxzU29ydGluZ0
NsYXNzSlVJOm51bGwsc1RpdGxlOm51bGwsc1R5cGU6bnVsbCxzV2lkdGg6bnVsbCxzV2lkdGhPcmlnOm51b
Gx9O3EuZGVmYXVsdHM9e2FhRGF0YTpudWxsLGFhU29ydGluZzpbWzAsImFzYyJdXSxhYVNvcnRpbmdGaXhl
ZDpbXSxhamF4Om51bGwsYUxlbmd0aE1lbnU6WzEwLDI1LDUwLDEwMF0sYW9Db2x1bW5zOm51bGwsYW9Db2x
1bW5EZWZzOm51bGwsYW9TZWFyY2hDb2xzOltdLGFzU3RyaXBlQ2xhc3NlczpudWxsLGJBdXRvV2lkdGg6IT
AsYkRlZmVyUmVuZGVyOiExLGJEZXN0cm95OiExLGJGaWx0ZXI6ITAsYkluZm86ITAsYkxlbmd0aENoYW5nZ
TohMCxiUGFnaW5hdGU6ITAsYlByb2Nlc3Npbmc6ITEsYlJldHJpZXZlOiExLGJTY3JvbGxDb2xsYXBzZToh
MSxiU2VydmVyU2lkZTohMSxiU29ydDohMCxiU29ydE11bHRpOiEwLGJTb3J0Q2VsbHNUb3A6ITEsCmJTb3J
0Q2xhc3NlczohMCxiU3RhdGVTYXZlOiExLGZuQ3JlYXRlZFJvdzpudWxsLGZuRHJhd0NhbGxiYWNrOm51bG
wsZm5Gb290ZXJDYWxsYmFjazpudWxsLGZuRm9ybWF0TnVtYmVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU
3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/
IVxkKSkvZyx0aGlzLm9MYW5ndWFnZS5zVGhvdXNhbmRzKX0sZm5IZWFkZXJDYWxsYmFjazpudWxsLGZuSW5
mb0NhbGxiYWNrOm51bGwsZm5Jbml0Q29tcGxldGU6bnVsbCxmblByZURyYXdDYWxsYmFjazpudWxsLGZuUm
93Q2FsbGJhY2s6bnVsbCxmblNlcnZlckRhdGE6bnVsbCxmblNlcnZlclBhcmFtczpudWxsLGZuU3RhdGVMb
2FkQ2FsbGJhY2s6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKCgtMT09PWEuaVN0YXRlRHVy
YXRpb24/
c2Vzc2lvblN0b3JhZ2U6bG9jYWxTdG9yYWdlKS5nZXRJdGVtKCJEYXRhVGFibGVzXyIrYS5zSW5zdGFuY2U
rIl8iK2xvY2F0aW9uLnBhdGhuYW1lKSl9Y2F0Y2goYil7fX0sCmZuU3RhdGVMb2FkUGFyYW1zOm51bGwsZm
5TdGF0ZUxvYWRlZDpudWxsLGZuU3RhdGVTYXZlQ2FsbGJhY2s6ZnVuY3Rpb24oYSxiKXt0cnl7KC0xPT09Y
S5pU3RhdGVEdXJhdGlvbj9zZXNzaW9uU3RvcmFnZTpsb2NhbFN0b3JhZ2UpLnNldEl0ZW0oIkRhdGFUYWJs
ZXNfIithLnNJbnN0YW5jZSsiXyIrbG9jYXRpb24ucGF0aG5hbWUsSlNPTi5zdHJpbmdpZnkoYikpfWNhdGN
oKGMpe319LGZuU3RhdGVTYXZlUGFyYW1zOm51bGwsaVN0YXRlRHVyYXRpb246NzIwMCxpRGVmZXJMb2FkaW
5nOm51bGwsaURpc3BsYXlMZW5ndGg6MTAsaURpc3BsYXlTdGFydDowLGlUYWJJbmRleDowLG9DbGFzc2VzO
nt9LG9MYW5ndWFnZTp7b0FyaWE6e3NTb3J0QXNjZW5kaW5nOiI6IGFjdGl2YXRlIHRvIHNvcnQgY29sdW1u
IGFzY2VuZGluZyIsc1NvcnREZXNjZW5kaW5nOiI6IGFjdGl2YXRlIHRvIHNvcnQgY29sdW1uIGRlc2NlbmR
pbmcifSxvUGFnaW5hdGU6e3NGaXJzdDoiRmlyc3QiLHNMYXN0OiJMYXN0IiwKc05leHQ6Ik5leHQiLHNQcm
V2aW91czoiUHJldmlvdXMifSxzRW1wdHlUYWJsZToiTm8gZGF0YSBhdmFpbGFibGUgaW4gdGFibGUiLHNJb
mZvOiJTaG93aW5nIF9TVEFSVF8gdG8gX0VORF8gb2YgX1RPVEFMXyBlbnRyaWVzIixzSW5mb0VtcHR5OiJT
aG93aW5nIDAgdG8gMCBvZiAwIGVudHJpZXMiLHNJbmZvRmlsdGVyZWQ6IihmaWx0ZXJlZCBmcm9tIF9NQVh
fIHRvdGFsIGVudHJpZXMpIixzSW5mb1Bvc3RGaXg6IiIsc0RlY2ltYWw6IiIsc1Rob3VzYW5kczoiLCIsc0
xlbmd0aE1lbnU6IlNob3cgX01FTlVfIGVudHJpZXMiLHNMb2FkaW5nUmVjb3JkczoiTG9hZGluZy4uLiIsc
1Byb2Nlc3Npbmc6IlByb2Nlc3NpbmcuLi4iLHNTZWFyY2g6IlNlYXJjaDoiLHNTZWFyY2hQbGFjZWhvbGRl
cjoiIixzVXJsOiIiLHNaZXJvUmVjb3JkczoiTm8gbWF0Y2hpbmcgcmVjb3JkcyBmb3VuZCJ9LG9TZWFyY2g
6Zi5leHRlbmQoe30scS5tb2RlbHMub1NlYXJjaCksc0FqYXhEYXRhUHJvcDoiZGF0YSIsCnNBamF4U291cm
NlOm51bGwsc0RvbToibGZydGlwIixzZWFyY2hEZWxheTpudWxsLHNQYWdpbmF0aW9uVHlwZToic2ltcGxlX
251bWJlcnMiLHNTY3JvbGxYOiIiLHNTY3JvbGxYSW5uZXI6IiIsc1Njcm9sbFk6IiIsc1NlcnZlck1ldGhv
ZDoiR0VUIixyZW5kZXJlcjpudWxsLHJvd0lkOiJEVF9Sb3dJZCJ9O0gocS5kZWZhdWx0cyk7cS5kZWZhdWx
0cy5jb2x1bW49e2FEYXRhU29ydDpudWxsLGlEYXRhU29ydDotMSxhc1NvcnRpbmc6WyJhc2MiLCJkZXNjIl
0sYlNlYXJjaGFibGU6ITAsYlNvcnRhYmxlOiEwLGJWaXNpYmxlOiEwLGZuQ3JlYXRlZENlbGw6bnVsbCxtR
GF0YTpudWxsLG1SZW5kZXI6bnVsbCxzQ2VsbFR5cGU6InRkIixzQ2xhc3M6IiIsc0NvbnRlbnRQYWRkaW5n
OiIiLHNEZWZhdWx0Q29udGVudDpudWxsLHNOYW1lOiIiLHNTb3J0RGF0YVR5cGU6InN0ZCIsc1RpdGxlOm5
1bGwsc1R5cGU6bnVsbCxzV2lkdGg6bnVsbH07SChxLmRlZmF1bHRzLmNvbHVtbik7cS5tb2RlbHMub1NldH
RpbmdzPQp7b0ZlYXR1cmVzOntiQXV0b1dpZHRoOm51bGwsYkRlZmVyUmVuZGVyOm51bGwsYkZpbHRlcjpud
WxsLGJJbmZvOm51bGwsYkxlbmd0aENoYW5nZTpudWxsLGJQYWdpbmF0ZTpudWxsLGJQcm9jZXNzaW5nOm51
bGwsYlNlcnZlclNpZGU6bnVsbCxiU29ydDpudWxsLGJTb3J0TXVsdGk6bnVsbCxiU29ydENsYXNzZXM6bnV
sbCxiU3RhdGVTYXZlOm51bGx9LG9TY3JvbGw6e2JDb2xsYXBzZTpudWxsLGlCYXJXaWR0aDowLHNYOm51bG
wsc1hJbm5lcjpudWxsLHNZOm51bGx9LG9MYW5ndWFnZTp7Zm5JbmZvQ2FsbGJhY2s6bnVsbH0sb0Jyb3dzZ
XI6e2JTY3JvbGxPdmVyc2l6ZTohMSxiU2Nyb2xsYmFyTGVmdDohMSxiQm91bmR
pbmc6ITEsYmFyV2lkdGg6MH0sYWpheDpudWxsLGFhbkZlYXR1cmVzOltdLGFvRGF0YTpbXSxhaURpc3BsYX
k6W10sYWlEaXNwbGF5TWFzdGVyOltdLGFJZHM6e30sYW9Db2x1bW5zOltdLGFvSGVhZGVyOltdLGFvRm9vd
GVyOltdLG9QcmV2aW91c1NlYXJjaDp7fSwKYW9QcmVTZWFyY2hDb2xzOltdLGFhU29ydGluZzpudWxsLGFh
U29ydGluZ0ZpeGVkOltdLGFzU3RyaXBlQ2xhc3NlczpudWxsLGFzRGVzdHJveVN0cmlwZXM6W10sc0Rlc3R
yb3lXaWR0aDowLGFvUm93Q2FsbGJhY2s6W10sYW9IZWFkZXJDYWxsYmFjazpbXSxhb0Zvb3RlckNhbGxiYW
NrOltdLGFvRHJhd0NhbGxiYWNrOltdLGFvUm93Q3JlYXRlZENhbGxiYWNrOltdLGFvUHJlRHJhd0NhbGxiY
WNrOltdLGFvSW5pdENvbXBsZXRlOltdLGFvU3RhdGVTYXZlUGFyYW1zOltdLGFvU3RhdGVMb2FkUGFyYW1z
OltdLGFvU3RhdGVMb2FkZWQ6W10sc1RhYmxlSWQ6IiIsblRhYmxlOm51bGwsblRIZWFkOm51bGwsblRGb29
0Om51bGwsblRCb2R5Om51bGwsblRhYmxlV3JhcHBlcjpudWxsLGJEZWZlckxvYWRpbmc6ITEsYkluaXRpYW
xpc2VkOiExLGFvT3BlblJvd3M6W10sc0RvbTpudWxsLHNlYXJjaERlbGF5Om51bGwsc1BhZ2luYXRpb25Ue
XBlOiJ0d29fYnV0dG9uIixpU3RhdGVEdXJhdGlvbjowLAphb1N0YXRlU2F2ZTpbXSxhb1N0YXRlTG9hZDpb
XSxvU2F2ZWRTdGF0ZTpudWxsLG9Mb2FkZWRTdGF0ZTpudWxsLHNBamF4U291cmNlOm51bGwsc0FqYXhEYXR
hUHJvcDpudWxsLGJBamF4RGF0YUdldDohMCxqcVhIUjpudWxsLGpzb246cCxvQWpheERhdGE6cCxmblNlcn
ZlckRhdGE6bnVsbCxhb1NlcnZlclBhcmFtczpbXSxzU2VydmVyTWV0aG9kOm51bGwsZm5Gb3JtYXROdW1iZ
XI6bnVsbCxhTGVuZ3RoTWVudTpudWxsLGlEcmF3OjAsYkRyYXdpbmc6ITEsaURyYXdFcnJvcjotMSxfaURp
c3BsYXlMZW5ndGg6MTAsX2lEaXNwbGF5U3RhcnQ6MCxfaVJlY29yZHNUb3RhbDowLF9pUmVjb3Jkc0Rpc3B
sYXk6MCxvQ2xhc3Nlczp7fSxiRmlsdGVyZWQ6ITEsYlNvcnRlZDohMSxiU29ydENlbGxzVG9wOm51bGwsb0
luaXQ6bnVsbCxhb0Rlc3Ryb3lDYWxsYmFjazpbXSxmblJlY29yZHNUb3RhbDpmdW5jdGlvbigpe3JldHVyb
iJzc3AiPT1EKHRoaXMpPzEqdGhpcy5faVJlY29yZHNUb3RhbDoKdGhpcy5haURpc3BsYXlNYXN0ZXIubGVu
Z3RofSxmblJlY29yZHNEaXNwbGF5OmZ1bmN0aW9uKCl7cmV0dXJuInNzcCI9PUQodGhpcyk/
MSp0aGlzLl9pUmVjb3Jkc0Rpc3BsYXk6dGhpcy5haURpc3BsYXkubGVuZ3RofSxmbkRpc3BsYXlFbmQ6ZnV
uY3Rpb24oKXt2YXIgYT10aGlzLl9pRGlzcGxheUxlbmd0aCxiPXRoaXMuX2lEaXNwbGF5U3RhcnQsYz1iK2
EsZD10aGlzLmFpRGlzcGxheS5sZW5ndGgsZT10aGlzLm9GZWF0dXJlcyxmPWUuYlBhZ2luYXRlO3JldHVyb
iBlLmJTZXJ2ZXJTaWRlPyExPT09Znx8LTE9PT1hP2IrZDpNYXRoLm1pbihiK2EsdGhpcy5faVJlY29yZHNE
aXNwbGF5KTohZnx8Yz5kfHwtMT09PWE/
ZDpjfSxvSW5zdGFuY2U6bnVsbCxzSW5zdGFuY2U6bnVsbCxpVGFiSW5kZXg6MCxuU2Nyb2xsSGVhZDpudWx
sLG5TY3JvbGxGb290Om51bGwsYUxhc3RTb3J0OltdLG9QbHVnaW5zOnt9LHJvd0lkRm46bnVsbCxyb3dJZD
pudWxsfTtxLmV4dD1DPXtidXR0b25zOnt9LApjbGFzc2VzOnt9LGJ1aWxkZXI6Ii1zb3VyY2UtIixlcnJNb
2RlOiJhbGVydCIsZmVhdHVyZTpbXSxzZWFyY2g6W10sc2VsZWN0b3I6e2NlbGw6W10sY29sdW1uOltdLHJv
dzpbXX0saW50ZXJuYWw6e30sbGVnYWN5OnthamF4Om51bGx9LHBhZ2VyOnt9LHJlbmRlcmVyOntwYWdlQnV
0dG9uOnt9LGhlYWRlcjp7fX0sb3JkZXI6e30sdHlwZTp7ZGV0ZWN0OltdLHNlYXJjaDp7fSxvcmRlcjp7fX
0sX3VuaXF1ZTowLGZuVmVyc2lvbkNoZWNrOnEuZm5WZXJzaW9uQ2hlY2ssaUFwaUluZGV4OjAsb0pVSUNsY
XNzZXM6e30sc1ZlcnNpb246cS52ZXJzaW9ufTtmLmV4dGVuZChDLHthZm5GaWx0ZXJpbmc6Qy5zZWFyY2gs
YVR5cGVzOkMudHlwZS5kZXRlY3Qsb2ZuU2VhcmNoOkMudHlwZS5zZWFyY2gsb1NvcnQ6Qy50eXBlLm9yZGV
yLGFmblNvcnREYXRhOkMub3JkZXIsYW9GZWF0dXJlczpDLmZlYXR1cmUsb0FwaTpDLmludGVybmFsLG9TdG
RDbGFzc2VzOkMuY2xhc3NlcyxvUGFnaW5hdGlvbjpDLnBhZ2VyfSk7CmYuZXh0ZW5kKHEuZXh0LmNsYXNzZ
XMse3NUYWJsZToiZGF0YVRhYmxlIixzTm9Gb290ZXI6Im5vLWZvb3RlciIsc1BhZ2VCdXR0b246InBhZ2lu
YXRlX2J1dHRvbiIsc1BhZ2VCdXR0b25BY3RpdmU6ImN1cnJlbnQiLHNQYWdlQnV0dG9uRGlzYWJsZWQ6ImR
pc2FibGVkIixzU3RyaXBlT2RkOiJvZGQiLHNTdHJpcGVFdmVuOiJldmVuIixzUm93RW1wdHk6ImRhdGFUYW
JsZXNfZW1wdHkiLHNXcmFwcGVyOiJkYXRhVGFibGVzX3dyYXBwZXIiLHNGaWx0ZXI6ImRhdGFUYWJsZXNfZ
mlsdGVyIixzSW5mbzoiZGF0YVRhYmxlc19pbmZvIixzUGFnaW5nOiJkYXRhVGFibGVzX3BhZ2luYXRlIHBh
Z2luZ18iLHNMZW5ndGg6ImRhdGFUYWJsZXNfbGVuZ3RoIixzUHJvY2Vzc2luZzoiZGF0YVRhYmxlc19wcm9
jZXNzaW5nIixzU29ydEFzYzoic29ydGluZ19hc2MiLHNTb3J0RGVzYzoic29ydGluZ19kZXNjIixzU29ydG
FibGU6InNvcnRpbmciLHNTb3J0YWJsZUFzYzoic29ydGluZ19hc2NfZGlzYWJsZWQiLApzU29ydGFibGVEZ
XNjOiJzb3J0aW5nX2Rlc2NfZGlzYWJsZWQiLHNTb3J0YWJsZU5vbmU6InNvcnRpbmdfZGlzYWJsZWQiLHNT
b3J0Q29sdW1uOiJzb3J0aW5nXyIsc0ZpbHRlcklucHV0OiIiLHNMZW5ndGhTZWxlY3Q6IiIsc1Njcm9sbFd
yYXBwZXI6ImRhdGFUYWJsZXNfc2Nyb2xsIixzU2Nyb2xsSGVhZDoiZGF0YVRhYmxlc19zY3JvbGxIZWFkIi
xzU2Nyb2xsSGVhZElubmVyOiJkYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciIsc1Njcm9sbEJvZHk6ImRhd
GFUYWJsZXNfc2Nyb2xsQm9keSIsc1Njcm9sbEZvb3Q6ImRhdGFUYWJsZXNfc2Nyb2xsRm9vdCIsc1Njcm9s
bEZvb3RJbm5lcjoiZGF0YVRhYmxlc19zY3JvbGxGb290SW5uZXIiLHNIZWFkZXJUSDoiIixzRm9vdGVyVEg
6IiIsc1NvcnRKVUlBc2M6IiIsc1NvcnRKVUlEZXNjOiIiLHNTb3J0SlVJOiIiLHNTb3J0SlVJQXNjQWxsb3
dlZDoiIixzU29ydEpVSURlc2NBbGxvd2VkOiIiLHNTb3J0SlVJV3JhcHBlcjoiIixzU29ydEljb246IiIsC
nNKVUlIZWFkZXI6IiIsc0pVSUZvb3RlcjoiIn0pO3ZhciBQYj1xLmV4dC5wYWdlcjtmLmV4dGVuZChQYix7
c2ltcGxlOmZ1bmN0aW9uKGEsYil7cmV0dXJuWyJwcmV2aW91cyIsIm5leHQiXX0sZnVsbDpmdW5jdGlvbih
hLGIpe3JldHVyblsiZmlyc3QiLCJwcmV2aW91cyIsIm5leHQiLCJsYXN0Il19LG51bWJlcnM6ZnVuY3Rpb2
4oYSxiKXtyZXR1cm5ba2EoYSxiKV19LHNpbXBsZV9udW1iZXJzOmZ1bmN0aW9uKGEsYil7cmV0dXJuWyJwc
mV2aW91cyIsa2EoYSxiKSwibmV4dCJdfSxmdWxsX251bWJlcnM6ZnVuY3Rpb24oYSxiKXtyZXR1cm5bImZp
cnN0IiwicHJldmlvdXMiLGthKGEsYiksIm5leHQiLCJsYXN0Il19LGZpcnN0X2xhc3RfbnVtYmVyczpmdW5
jdGlvbihhLGIpe3JldHVyblsiZmlyc3QiLGthKGEsYiksImxhc3QiXX0sX251bWJlcnM6a2EsbnVtYmVyc1
9sZW5ndGg6N30pO2YuZXh0ZW5kKCEwLHEuZXh0LnJlbmRlcmVyLHtwYWdlQnV0dG9uOntfOmZ1bmN0aW9uK
GEsYiwKYyxkLGUsaCl7dmFyIGc9YS5vQ2xhc3NlcyxrPWEub0xhbmd1YWdlLm9QYWdpbmF0ZSxsPWEub0xh
bmd1YWdlLm9BcmlhLnBhZ2luYXRlfHx7fSxuLG0scT0wLHQ9ZnVuY3Rpb24oYixkKXt2YXIgcCxyPWcuc1B
hZ2VCdXR0b25EaXNhYmxlZCx1PWZ1bmN0aW9uKGIpe1hhKGEsYi5kYXRhLmFjdGlvbiwhMCl9O3ZhciB3PT
A7Zm9yKHA9ZC5sZW5ndGg7dzxwO3crKyl7dmFyIHY9ZFt3XTtpZihmLmlzQXJyYXkodikpe3ZhciB4PWYoI
jwiKyh2LkRUX2VsfHwiZGl2IikrIi8+IikuYXBwZW5kVG8oYik7dCh4LHYpfWVsc2V7bj1udWxsO209djt4
PWEuaVRhYkluZGV4O3N3aXRjaCh2KXtjYXNlICJlbGxpcHNpcyI6Yi5hcHBlbmQoJzxzcGFuIGNsYXNzPSJ
lbGxpcHNpcyI+JiN4MjAyNjs8L3NwYW4+Jyk7YnJlYWs7Y2FzZSAiZmlyc3QiOm49ay5zRmlyc3Q7MD09PW
UmJih4PS0xLG0rPSIgIityKTticmVhaztjYXNlICJwcmV2aW91cyI6bj1rLnNQcmV2aW91czswPT09ZSYmK
Hg9LTEsbSs9CiIgIityKTticmVhaztjYXNlICJuZXh0IjpuPWsuc05leHQ7ZT09PWgtMSYmKHg9LTEsbSs9
IiAiK3IpO2JyZWFrO2Nhc2UgImxhc3QiOm49ay5zTGFzdDtlPT09aC0xJiYoeD0tMSxtKz0iICIrcik7YnJ
lYWs7ZGVmYXVsdDpuPXYrMSxtPWU9PT12P2cuc1BhZ2VCdXR0b25BY3RpdmU6IiJ9bnVsbCE9PW4mJih4PW
YoIjxhPiIseyJjbGFzcyI6Zy5zUGFnZUJ1dHRvbisiICIrbSwiYXJpYS1jb250cm9scyI6YS5zVGFibGVJZ
CwiYXJpYS1sYWJlbCI6bFt2XSwiZGF0YS1kdC1pZHgiOnEsdGFiaW5kZXg6eCxpZDowPT09YyYmInN0cmlu
ZyI9PT10eXBlb2Ygdj9hLnNUYWJsZUlkKyJfIit2Om51bGx9KS5odG1sKG4pLmFwcGVuZFRvKGIpLCRhKHg
se2FjdGlvbjp2fSx1KSxxKyspfX19O3RyeXt2YXIgdj1mKGIpLmZpbmQoeS5hY3RpdmVFbGVtZW50KS5kYX
RhKCJkdC1pZHgiKX1jYXRjaChtYyl7fXQoZihiKS5lbXB0eSgpLGQpO3YhPT1wJiZmKGIpLmZpbmQoIltkY
XRhLWR0LWlkeD0iKwp2KyJdIikuZm9jdXMoKX19fSk7Zi5leHRlbmQocS5leHQudHlwZS5kZXRlY3QsW2Z1
bmN0aW9uKGEsYil7Yj1iLm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gZGIoYSxiKT8ibnVtIitiOm51bGx
9LGZ1bmN0aW9uKGEsYil7aWYoYSYmIShhIGluc3RhbmNlb2YgRGF0ZSkmJiFjYy50ZXN0KGEpKXJldHVybi
BudWxsO2I9RGF0ZS5wYXJzZShhKTtyZXR1cm4gbnVsbCE9PWImJiFpc05hTihiKXx8UChhKT8iZGF0ZSI6b
nVsbH0sZnVuY3Rpb24oYSxiKXtiPWIub0xhbmd1YWdlLnNEZWNpbWFsO3JldHVybiBkYihhLGIsITApPyJu
dW0tZm10IitiOm51bGx9LGZ1bmN0aW9uKGEsYil7Yj1iLm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gVWI
oYSxiKT8iaHRtbC1udW0iK2I6bnVsbH0sZnVuY3Rpb24oYSxiKXtiPWIub0xhbmd1YWdlLnNEZWNpbWFsO3
JldHVybiBVYihhLGIsITApPyJodG1sLW51bS1mbXQiK2I6bnVsbH0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gU
ChhKXx8InN0cmluZyI9PT0KdHlwZW9mIGEmJi0xIT09YS5pbmRleE9mKCI8Iik/
Imh0bWwiOm51bGx9XSk7Zi5leHRlbmQocS5leHQudHlwZS5zZWFyY2gse2h0bWw6ZnVuY3Rpb24oYSl7cmV
0dXJuIFAoYSk/
YToic3RyaW5nIj09PXR5cGVvZiBhP2EucmVwbGFjZShSYiwiICIpLnJlcGxhY2UoRWEsIiIpOiIifSxzdHJ
pbmc6ZnVuY3Rpb24oYSl7cmV0dXJuIFAoYSk/
YToic3RyaW5nIj09PXR5cGVvZiBhP2EucmVwbGFjZShSYiwiICIpOmF9fSk7dmFyIERhPWZ1bmN0aW9uKGE
sYixjLGQpe2lmKDAhPT1hJiYoIWF8fCItIj09PWEpKXJldHVybi1JbmZpbml0eTtiJiYoYT1UYihhLGIpKT
thLnJlcGxhY2UmJihjJiYoYT1hLnJlcGxhY2UoYywiIikpLGQmJihhPWEucmVwbGFjZShkLCIiKSkpO3Jld
HVybiAxKmF9O2YuZXh0ZW5kKEMudHlwZS5vcmRlcix7ImRhdGUtcHJlIjpmdW5jdGlvbihhKXthPURhdGUu
cGFyc2UoYSk7cmV0dXJuIGlzTmFOKGEpPy1JbmZpbml0eTphfSwiaHRtbC1wcmUiOmZ1bmN0aW9uKGEpe3J
ldHVybiBQKGEpPwoiIjphLnJlcGxhY2U/YS5yZXBsYWNlKC88Lio/
Pi9nLCIiKS50b0xvd2VyQ2FzZSgpOmErIiJ9LCJzdHJpbmctcHJlIjpmdW5jdGlvbihhKXtyZXR1cm4gUCh
hKT8iIjoic3RyaW5nIj09PXR5cGVvZiBhP2EudG9Mb3dlckNhc2UoKTphLnRvU3RyaW5nP2EudG9TdHJpbm
coKToiIn0sInN0cmluZy1hc2MiOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/
MTowfSwic3RyaW5nLWRlc2MiOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8xOmE+Yj8tMTowfX0pO0hhKCI
iKTtmLmV4dGVuZCghMCxxLmV4dC5yZW5kZXJlcix7aGVhZGVyOntfOmZ1bmN0aW9uKGEsYixjLGQpe2YoYS
5uVGFibGUpLm9uKCJvcmRlci5kdC5EVCIsZnVuY3Rpb24oZSxmLGcsayl7YT09PWYmJihlPWMuaWR4LGIuc
mVtb3ZlQ2xhc3MoYy5zU29ydGluZ0NsYXNzKyIgIitkLnNTb3J0QXNjKyIgIitkLnNTb3J0RGVzYykuYWRk
Q2xhc3MoImFzYyI9PWtbZV0/ZC5zU29ydEFzYzoiZGVzYyI9PWtbZV0/
ZC5zU29ydERlc2M6CmMuc1NvcnRpbmdDbGFzcykpfSl9LGpxdWVyeXVpOmZ1bmN0aW9uKGEsYixjLGQpe2Y
oIjxkaXYvPiIpLmFkZENsYXNzKGQuc1NvcnRKVUlXcmFwcGVyKS5hcHBlbmQoYi5jb250ZW50cygpKS5hcH
BlbmQoZigiPHNwYW4vPiIpLmFkZENsYXNzKGQuc1NvcnRJY29uKyIgIitjLnNTb3J0aW5nQ2xhc3NKVUkpK
S5hcHBlbmRUbyhiKTtmKGEublRhYmxlKS5vbigib3JkZXIuZHQuRFQiLGZ1bmN0aW9uKGUsZixnLGspe2E9
PT1mJiYoZT1jLmlkeCxiLnJlbW92ZUNsYXNzKGQuc1NvcnRBc2MrIiAiK2Quc1NvcnREZXNjKS5hZGRDbGF
zcygiYXNjIj09a1tlXT9kLnNTb3J0QXNjOiJkZXNjIj09a1tlXT9kLnNTb3J0RGVzYzpjLnNTb3J0aW5nQ2
xhc3MpLGIuZmluZCgic3Bhbi4iK2Quc1NvcnRJY29uKS5yZW1vdmVDbGFzcyhkLnNTb3J0SlVJQXNjKyIgI
itkLnNTb3J0SlVJRGVzYysiICIrZC5zU29ydEpVSSsiICIrZC5zU29ydEpVSUFzY0FsbG93ZWQrIiAiK2Qu
c1NvcnRKVUlEZXNjQWxsb3dlZCkuYWRkQ2xhc3MoImFzYyI9PQprW2VdP2Quc1NvcnRKVUlBc2M6ImRlc2M
iPT1rW2VdP2Quc1NvcnRKVUlEZXNjOmMuc1NvcnRpbmdDbGFzc0pVSSkpfSl9fX0pO3ZhciBpYj1mdW5jdG
lvbihhKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBhP2EucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZ
SgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKTphfTtxLnJlbmRlcj17bnVtYmVyOmZ1bmN0
aW9uKGEsYixjLGQsZSl7cmV0dXJue2Rpc3BsYXk6ZnVuY3Rpb24oZil7aWYoIm51bWJlciIhPT10eXBlb2Y
gZiYmInN0cmluZyIhPT10eXBlb2YgZilyZXR1cm4gZjt2YXIgZz0wPmY/
Ii0iOiIiLGg9cGFyc2VGbG9hdChmKTtpZihpc05hTihoKSlyZXR1cm4gaWIoZik7aD1oLnRvRml4ZWQoYyk
7Zj1NYXRoLmFicyhoKTtoPXBhcnNlSW50KGYsMTApO2Y9Yz9iKyhmLWgpLnRvRml4ZWQoYykuc3Vic3RyaW
5nKDIpOiIiO3JldHVybiBnKyhkfHwiIikraC50b1N0cmluZygpLnJlcGxhY2UoL1xCKD89KFxkezN9KSsoP
yFcZCkpL2csCmEpK2YrKGV8fCIiKX19fSx0ZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2Rpc3BsYXk6aWIsZmls
dGVyOmlifX19O2YuZXh0ZW5kKHEuZXh0LmludGVybmFsLHtfZm5FeHRlcm5BcGlGdW5jOlFiLF9mbkJ1aWx
kQWpheDp2YSxfZm5BamF4VXBkYXRlOnFiLF9mbkFqYXhQYXJhbWV0ZXJzOnpiLF9mbkFqYXhVcGRhdGVEcm
F3OkFiLF9mbkFqYXhEYXRhU3JjOndhLF9mbkFkZENvbHVtbjpJYSxfZm5Db2x1bW5PcHRpb25zOm1hLF9mb
k
FkanVzdENvbHVtblNpemluZzphYSxfZm5WaXNpYmxlVG9Db2x1bW5JbmRleDpiYSxfZm5Db2x1bW5JbmRle
FRvVmlzaWJsZTpjYSxfZm5WaXNibGVDb2x1bW5zOlcsX2ZuR2V0Q29sdW1uczpvYSxfZm5Db2x1bW5UeXBl
czpLYSxfZm5BcHBseUNvbHVtbkRlZnM6bmIsX2ZuSHVuZ2FyaWFuTWFwOkgsX2ZuQ2FtZWxUb0h1bmdhcml
hbjpMLF9mbkxhbmd1YWdlQ29tcGF0OkdhLF9mbkJyb3dzZXJEZXRlY3Q6bGIsX2ZuQWRkRGF0YTpSLF9mbk
FkZFRyOnBhLF9mbk5vZGVUb0RhdGFJbmRleDpmdW5jdGlvbihhLApiKXtyZXR1cm4gYi5fRFRfUm93SW5kZ
XghPT1wP2IuX0RUX1Jvd0luZGV4Om51bGx9LF9mbk5vZGVUb0NvbHVtbkluZGV4OmZ1bmN0aW9uKGEsYixj
KXtyZXR1cm4gZi5pbkFycmF5KGMsYS5hb0RhdGFbYl0uYW5DZWxscyl9LF9mbkdldENlbGxEYXRhOkksX2Z
uU2V0Q2VsbERhdGE6b2IsX2ZuU3BsaXRPYmpOb3RhdGlvbjpOYSxfZm5HZXRPYmplY3REYXRhRm46VSxfZm
5TZXRPYmplY3REYXRhRm46USxfZm5HZXREYXRhTWFzdGVyOk9hLF9mbkNsZWFyVGFibGU6cWEsX2ZuRGVsZ
XRlSW5kZXg6cmEsX2ZuSW52YWxpZGF0ZTplYSxfZm5HZXRSb3dFbGVtZW50czpNYSxfZm5DcmVhdGVUcjpM
YSxfZm5CdWlsZEhlYWQ6cGIsX2ZuRHJhd0hlYWQ6aGEsX2ZuRHJhdzpTLF9mblJlRHJhdzpWLF9mbkFkZE9
wdGlvbnNIdG1sOnNiLF9mbkRldGVjdEhlYWRlcjpmYSxfZm5HZXRVbmlxdWVUaHM6dWEsX2ZuRmVhdHVyZU
h0bWxGaWx0ZXI6dWIsX2ZuRmlsdGVyQ29tcGxldGU6aWEsX2ZuRmlsdGVyQ3VzdG9tOkRiLApfZm5GaWx0Z
XJDb2x1bW46Q2IsX2ZuRmlsdGVyOkJiLF9mbkZpbHRlckNyZWF0ZVNlYXJjaDpUYSxfZm5Fc2NhcGVSZWdl
eDpVYSxfZm5GaWx0ZXJEYXRhOkViLF9mbkZlYXR1cmVIdG1sSW5mbzp4YixfZm5VcGRhdGVJbmZvOkhiLF9
mbkluZm9NYWNyb3M6SWIsX2ZuSW5pdGlhbGlzZTpqYSxfZm5Jbml0Q29tcGxldGU6eGEsX2ZuTGVuZ3RoQ2
hhbmdlOlZhLF9mbkZlYXR1cmVIdG1sTGVuZ3RoOnRiLF9mbkZlYXR1cmVIdG1sUGFnaW5hdGU6eWIsX2ZuU
GFnZUNoYW5nZTpYYSxfZm5GZWF0dXJlSHRtbFByb2Nlc3Npbmc6dmIsX2ZuUHJvY2Vzc2luZ0Rpc3BsYXk6
SyxfZm5GZWF0dXJlSHRtbFRhYmxlOndiLF9mblNjcm9sbERyYXc6bmEsX2ZuQXBwbHlUb0NoaWxkcmVuOk4
sX2ZuQ2FsY3VsYXRlQ29sdW1uV2lkdGhzOkphLF9mblRocm90dGxlOlNhLF9mbkNvbnZlcnRUb1dpZHRoOk
piLF9mbkdldFdpZGVzdE5vZGU6S2IsX2ZuR2V0TWF4TGVuU3RyaW5nOkxiLF9mblN0cmluZ1RvQ3NzOkIsC
l9mblNvcnRGbGF0dGVuOlksX2ZuU29ydDpyYixfZm5Tb3J0QXJpYTpOYixfZm5Tb3J0TGlzdGVuZXI6WmEs
X2ZuU29ydEF0dGFjaExpc3RlbmVyOlFhLF9mblNvcnRpbmdDbGFzc2VzOkFhLF9mblNvcnREYXRhOk1iLF9
mblNhdmVTdGF0ZTpCYSxfZm5Mb2FkU3RhdGU6T2IsX2ZuU2V0dGluZ3NGcm9tTm9kZTpDYSxfZm5Mb2c6Ty
xfZm5NYXA6TSxfZm5CaW5kQWN0aW9uOiRhLF9mbkNhbGxiYWNrUmVnOkUsX2ZuQ2FsbGJhY2tGaXJlOkEsX
2ZuTGVuZ3RoT3ZlcmZsb3c6V2EsX2ZuUmVuZGVyZXI6UmEsX2ZuRGF0YVNvdXJjZTpELF9mblJvd0F0dHJp
YnV0ZXM6UGEsX2ZuRXh0ZW5kOmFiLF9mbkNhbGN1bGF0ZUVuZDpmdW5jdGlvbigpe319KTtmLmZuLmRhdGF
UYWJsZT1xO3EuJD1mO2YuZm4uZGF0YVRhYmxlU2V0dGluZ3M9cS5zZXR0aW5ncztmLmZuLmRhdGFUYWJsZU
V4dD1xLmV4dDtmLmZuLkRhdGFUYWJsZT1mdW5jdGlvbihhKXtyZXR1cm4gZih0aGlzKS5kYXRhVGFibGUoY
SkuYXBpKCl9OwpmLmVhY2gocSxmdW5jdGlvbihhLGIpe2YuZm4uRGF0YVRhYmxlW2FdPWJ9KTtyZXR1cm4g
Zi5mbi5kYXRhVGFibGV9KTsK\"></script>\n",
"<link href=\"data:text/css;charset-utf-
8;base64,dGFibGUuZGF0YVRhYmxle3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0bztjbGVhcjpib3RoO2Jvcm
Rlci1jb2xsYXBzZTpzZXBhcmF0ZTtib3JkZXItc3BhY2luZzowfXRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0a
Cx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGh7Zm9udC13ZWlnaHQ6Ym9sZH10YWJsZS5kYXRhVGFibGUgdGhl
YWQgdGgsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRke3BhZGRpbmc6MTBweCAxOHB4O2JvcmRlci1ib3R0b20
6MXB4IHNvbGlkICMxMTF9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoOmFjdGl2ZSx0YWJsZS5kYXRhVGFibG
UgdGhlYWQgdGQ6YWN0aXZle291dGxpbmU6bm9uZX10YWJsZS5kYXRhVGFibGUgdGZvb3QgdGgsdGFibGUuZ
GF0YVRhYmxlIHRmb290IHRke3BhZGRpbmc6MTBweCAxOHB4IDZweCAxOHB4O2JvcmRlci10b3A6MXB4IHNv
bGlkICMxMTF9dGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCA
uc29ydGluZ19hc2MsdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2MsdGFibGUuZGF0YVRhYm
xlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZ
GVzY19kaXNhYmxlZHtjdXJzb3I6cG9pbnRlcjsqY3Vyc29yOmhhbmQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8t
cmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIHJpZ2h0fXRhYmxlLmRhdGFUYWJsZSB0aGVhZCA
uc29ydGluZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ2
9BQUFBTlNVaEVVZ0FBQUJNQUFBQVRDQVFBQUFEWVdmNUhBQUFBa0VsRVFWUW96N1hRTVE1QVFCQ0Y0ZFdRU
0p4QzV3d2F4MUNxMWU3QkFkeEQ1U0wrVHEvUUNNMW9OaUppZHdveDAzNTVtWG5HL0RyRXRJUTZhemlvTlpR
eEkweWtQaFRRSXdoQ1IrQm1CWXRsSzdrTEpZd1dDY0pBOU00cWRyWnJkOHBQalpXUHRPcWRSUXkzMjBZU1Y
xN09hdEZDNGV1dHM2ejM5R1lNS1JQQ1RLWTlVblBRNlArR3RNUmZHdFBuQkNpcWhBZUpQbWtxQUFBQUFFbE
ZUa1N1UW1DQyl9dGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY3tiYWNrZ3JvdW5kLWltYWdlO
nVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJNQUFBQVRDQVlB
QUFCeVVEYk1BQUFBWjBsRVFWUTR5Mk5nR0xLZ3F1RXVGeEJQQUdJMmFoaFdDc1MvZ0RpYlVvTzBnUGd4RVA
4SDR0dEFyRXl1UVl4QVBCZHFFQXhQQkltVFk1Z2pFTDlETSt3VEVOdVFhaEF2RU85RE13aUdkd0F4T3ltR0
pRTHhUeUQramdXRHhDTVpSc0VvR0FWb0FBRGVlbXd0UGNaSTJ3QUFBQUJKUlU1RXJrSmdnZz09KX10YWJsZ
S5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdl
L3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJNQUFBQVRDQVlBQUFCeVVEYk1BQUFBWlV
sRVFWUTR5Mk5nR0FXallCU2dnYXFHdTVGQS9CT0l2MlBCSVBGRVVneGpCK0lkUVB3ZkM5NEh4THlrdXM0R2
lEK2hHZlFPaUIzSjhTb2pFRTlFTTJ3dVNKemNzRk1HNHR0UWd4NERzUmFsa1pFTnhMK0F1SlFhTWNzR3hCT
0FtR3ZvcGs4QVZ6MXNMWmdnMGJzQUFBQUFTVVZPUks1Q1lJST0pfXRhYmxlLmRhdGFUYWJsZSB0aGVhZCAu
c29ydGluZ19hc2NfZGlzYWJsZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY
0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCTUFBQUFUQ0FRQUFBRFlXZjVIQUFBQVcwbEVRVlFvejJOZ2
9DbTR3M1Zud2gwMndzcEs3L3k2azAxSWtkYWR4M2YrMzdsOVJ4bWZJc1k3YzRHS1FIRGlIVWJjeWh6dnZJT
XErM1RIQnBjaTNqdjdvSXBBY01jZGR1ektFdS84dlBNZERuL2VpV1FZQllNS0FBQzN5a0lFdVlRSlVnQUFB
QUJKUlU1RXJrSmdnZz09KX10YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZHt
iYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaE
VVZ0FBQUJNQUFBQVRDQVFBQUFEWVdmNUhBQUFBV1VsRVFWUW96Mk5nR0FXREN0eUp2UFB6em5jNC9Ia25FY
nN5OWpzNzd2eUh3MzEzZUhHWlozUG5FMVRSdXp1T3VLMWx2RE1ScW16dUhVWjg3bE8rY3h1bzZQRWRMVUll
eWI3ejYwNHBZZit5M1psd2g0dTJZUW9BYzdaQ0JISDRqaWdBQUFBQVNVVk9SSzVDWUlJPSl9dGFibGUuZGF
0YVRhYmxlIHRib2R5IHRye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZn10YWJsZS5kYXRhVGFibGUgdGJvZH
kgdHIuc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojQjBCRUQ5fXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0a
Cx0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGR7cGFkZGluZzo4cHggMTBweH10YWJsZS5kYXRhVGFibGUucm93
LWJvcmRlciB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUucm93LWJvcmRlciB0Ym9keSB0ZCx0YWJsZS5kYXR
hVGFibGUuZGlzcGxheSB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ZHtib3JkZX
ItdG9wOjFweCBzb2xpZCAjZGRkfXRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0L
WNoaWxkIHRoLHRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLHRh
YmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLHRhYmxlLmRhdGFUYWJsZS5
kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRke2JvcmRlci10b3A6bm9uZX10YWJsZS5kYXRhVGFibG
UuY2VsbC1ib3JkZXIgdGJvZHkgdGgsdGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRke2Jvc
mRlci10b3A6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGRkfXRhYmxlLmRhdGFU
YWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0aDpmaXJzdC1jaGlsZCx0YWJsZS5kYXRhVGFibGUuY2VsbC1
ib3JkZXIgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZGR9dGFibG
UuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLHRhYmxlLmRhdGFUYWJsZ
S5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZHtib3JkZXItdG9wOm5vbmV9dGFibGUuZGF0
YVRhYmxlLnN0cmlwZSB0Ym9keSB0ci5vZGQsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2R
ke2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX10YWJsZS5kYXRhVGFibGUuc3RyaXBlIHRib2R5IHRyLm9kZC
5zZWxlY3RlZCx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWR7YmFja2dyb
3VuZC1jb2xvcjojYWNiYWQ0fXRhYmxlLmRhdGFUYWJsZS5ob3ZlciB0Ym9keSB0cjpob3Zlcix0YWJsZS5k
YXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjZ9dGFibGU
uZGF0YVRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkLHRhYmxlLmRhdGFUYWJsZS5kaXNwbG
F5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2FhYjdkMX10YWJsZS5kYXRhV
GFibGUub3JkZXItY29sdW1uIHRib2R5IHRyPi5zb3J0aW5nXzEsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNv
bHVtbiB0Ym9keSB0cj4uc29ydGluZ18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHI
+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cj4uc29ydGluZ18xLHRhYmxlLm
RhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzIsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgd
GJvZHkgdHI+LnNvcnRpbmdfM3tiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9dGFibGUuZGF0YVRhYmxlLm9y
ZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18xLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1
jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW
1uIHRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgd
HIuc2VsZWN0ZWQ+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3Rl
ZD4uc29ydGluZ18yLHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5
nXzN7YmFja2dyb3VuZC1jb2xvcjojYWNiYWQ1fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm
9kZD4uc29ydGluZ18xLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZ
D4uc29ydGluZ18xe2JhY2tncm91bmQtY29sb3I6I2YxZjFmMX10YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0
Ym9keSB0ci5vZGQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9
keSB0ci5vZGQ+LnNvcnRpbmdfMntiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjN9dGFibGUuZGF0YVRhYmxlLm
Rpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zd
HJpcGUgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZXNtb2tlfXRhYmxl
LmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18xLHRhYmxlLmRhdGF
UYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18xe2JhY2
tncm91bmQtY29sb3I6I2E2YjRjZH10YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZ
WN0ZWQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5v
ZGQuc2VsZWN0ZWQ+LnNvcnRpbmdfMntiYWNrZ3JvdW5kLWNvbG9yOiNhOGI1Y2Z9dGFibGUuZGF0YVRhYmx
lLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLm9yZG
VyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb
2xvcjojYTliN2QxfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4+LnNvcnRpbmdfMSx0
YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzF7YmF
ja2dyb3VuZC1jb2xvcjojZmFmYWZhfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4+Ln
NvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuPi5zb
3J0aW5nXzJ7YmFja2dyb3VuZC1jb2xvcjojZmNmY2ZjfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5
IHRyLmV2ZW4+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB
0ci5ldmVuPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojZmVmZWZlfXRhYmxlLmRhdGFUYWJsZS5kaX
NwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUub3JkZXItY
29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzF7YmFja2dyb3VuZC1jb2xv
cjojYWNiYWQ1fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnR
pbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdG
VkPi5zb3J0aW5nXzJ7YmFja2dyb3VuZC1jb2xvcjojYWViY2Q2fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5I
HRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1u
LnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojYWZ
iZGQ4fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyPi5zb3J0aW5nXzEsdGFibGUuZG
F0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18xe2JhY2tncm91b
mQtY29sb3I6I2VhZWFlYX10YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlcj4uc29ydGlu
Z18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmd
fMntiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZWN9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG
92ZXI+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvd
mVyPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5
IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzEsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHV
tbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18xe2JhY2tncm91bmQtY29sb3I6I2
EyYWVjN310YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ
18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+
LnNvcnRpbmdfMntiYWNrZ3JvdW5kLWNvbG9yOiNhM2IwYzl9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJ
vZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLm
hvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojYTViM
mNifXRhYmxlLmRhdGFUYWJsZS5uby1mb290ZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzExMX10YWJs
ZS5kYXRhVGFibGUubm93cmFwIHRoLHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGR7d2hpdGUtc3BhY2U6bm9
3cmFwfXRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRoLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IH
RoZWFkIHRke3BhZGRpbmc6NHB4IDE3cHggNHB4IDRweH10YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vd
CB0aCx0YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vdCB0ZHtwYWRkaW5nOjRweH10YWJsZS5kYXRhVGFi
bGUuY29tcGFjdCB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Ym9keSB0ZHtwYWRkaW5nOjR
weH10YWJsZS5kYXRhVGFibGUgdGguZHQtbGVmdCx0YWJsZS5kYXRhVGFibGUgdGQuZHQtbGVmdHt0ZXh0LW
FsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHRoLmR0LWNlbnRlcix0YWJsZS5kYXRhVGFibGUgdGQuZHQtY
2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kYXRhVGFibGVzX2VtcHR5e3RleHQtYWxpZ246Y2VudGVyfXRh
YmxlLmRhdGFUYWJsZSB0aC5kdC1yaWdodCx0YWJsZS5kYXRhVGFibGUgdGQuZHQtcmlnaHR7dGV
4dC1hbGlnbjpyaWdodH10YWJsZS5kYXRhVGFibGUgdGguZHQtanVzdGlmeSx0YWJsZS5kYXRhVGFibGUgdG
QuZHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRoLmR0LW5vd3JhcCx0Y
WJsZS5kYXRhVGFibGUgdGQuZHQtbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH10YWJsZS5kYXRhVGFibGUg
dGhlYWQgdGguZHQtaGVhZC1sZWZ0LHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWxlZnQsdGF
ibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbGVmdCx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZH
QtaGVhZC1sZWZ0e3RleHQtYWxpZ246bGVmdH10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1jZ
W50ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtY2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0
Zm9vdCB0aC5kdC1oZWFkLWNlbnRlcix0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1jZW50ZXJ
7dGV4dC1hbGlnbjpjZW50ZXJ9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtcmlnaHQsdGFibG
UuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtcmlnaHQsdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0L
WhlYWQtcmlnaHQsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtcmlnaHR7dGV4dC1hbGlnbjpy
aWdodH10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1qdXN0aWZ5LHRhYmxlLmRhdGFUYWJsZSB
0aGVhZCB0ZC5kdC1oZWFkLWp1c3RpZnksdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtanVzdG
lmeSx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlme
X10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1ub3dyYXAsdGFibGUuZGF0YVRhYmxlIHRoZWFk
IHRkLmR0LWhlYWQtbm93cmFwLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLW5vd3JhcCx0YWJ
sZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfXRhYmxlLm
RhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWxlZnQsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZ
HktbGVmdHt0ZXh0LWFsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktY2VudGVy
LHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn10YWJ
sZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1yaWdodCx0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZH
QtYm9keS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5L
Wp1c3RpZnksdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktanVzdGlmeXt0ZXh0LWFsaWduOmp1
c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktbm93cmFwLHRhYmxlLmRhdGFUYWJsZSB
0Ym9keSB0ZC5kdC1ib2R5LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9dGFibGUuZGF0YVRhYmxlLHRhYm
xlLmRhdGFUYWJsZSB0aCx0YWJsZS5kYXRhVGFibGUgdGR7Ym94LXNpemluZzpjb250ZW50LWJveH0uZGF0Y
VRhYmxlc193cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2NsZWFyOmJvdGg7Knpvb206MTt6b29tOjF9LmRh
dGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGh7ZmxvYXQ6bGVmdH0uZGF0YVRhYmxlc193cmF
wcGVyIC5kYXRhVGFibGVzX2ZpbHRlcntmbG9hdDpyaWdodDt0ZXh0LWFsaWduOnJpZ2h0fS5kYXRhVGFibG
VzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0e21hcmdpbi1sZWZ0OjAuNWVtfS5kYXRhVGFib
GVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mb3tjbGVhcjpib3RoO2Zsb2F0OmxlZnQ7cGFkZGluZy10b3A6
MC43NTVlbX0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRle2Zsb2F0OnJpZ2h0O3R
leHQtYWxpZ246cmlnaHQ7cGFkZGluZy10b3A6MC4yNWVtfS5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYW
JsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppb
mxpbmUtYmxvY2s7bWluLXdpZHRoOjEuNWVtO3BhZGRpbmc6MC41ZW0gMWVtO21hcmdpbi1sZWZ0OjJweDt0
ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2N1cnNvcjpwb2ludGV
yOypjdXJzb3I6aGFuZDtjb2xvcjojMzMzICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3Bhcm
VudDtib3JkZXItcmFkaXVzOjJweH0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlI
C5wYWdpbmF0ZV9idXR0b24uY3VycmVudCwuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2lu
YXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudDpob3Zlcntjb2xvcjojMzMzICFpbXBvcnRhbnQ7Ym9yZGV
yOjFweCBzb2xpZCAjOTc5Nzk3O2JhY2tncm91bmQtY29sb3I6d2hpdGU7YmFja2dyb3VuZDotd2Via2l0LW
dyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjZmZmKSwgY
29sb3Itc3RvcCgxMDAlLCAjZGNkY2RjKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0
b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3A
sICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2
ZmZiAwJSwgI2RjZGNkYyAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgM
CUsICNkY2RjZGMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDAl
LCAjZGNkY2RjIDEwMCUpfS5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2l
uYXRlX2J1dHRvbi5kaXNhYmxlZCwuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC
5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQ6aG92ZXIsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc
19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkOmFjdGl2ZXtjdXJzb3I6ZGVmYXVsdDtjb2xv
cjojNjY2ICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5
zcGFyZW50O2JveC1zaGFkb3c6bm9uZX0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYX
RlIC5wYWdpbmF0ZV9idXR0b246aG92ZXJ7Y29sb3I6d2hpdGUgIWltcG9ydGFudDtib3JkZXI6MXB4IHNvb
GlkICMxMTE7YmFja2dyb3VuZC1jb2xvcjojNTg1ODU4O2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChs
aW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgIzU4NTg1OCksIGNvbG9yLXN
0b3AoMTAwJSwgIzExMSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1OD
U4IDAlLCAjMTExIDEwMCUpO2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1ODU4I
DAlLCAjMTExIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICM1ODU4NTggMCUs
ICMxMTEgMTAwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1ODU4IDAlLCAjMTE
xIDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzU4NTg1OCAwJSwgIzExMS
AxMDAlKX0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b
246YWN0aXZle291dGxpbmU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMyYjJiMmI7YmFja2dyb3VuZDotd2Vi
a2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMmI
yYjJiKSwgY29sb3Itc3RvcCgxMDAlLCAjMGMwYzBjKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncm
FkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1nc
mFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdy
YWRpZW50KHRvcCwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmF
kaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbn
QodG8gYm90dG9tLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDNwe
CAjMTExfS5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLmVsbGlwc2lze3BhZGRp
bmc6MCAxZW19LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wcm9jZXNzaW5ne3Bvc2l0aW9uOmF
ic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6NDBweDttYXJnaW4tbGVmdDotNT
AlO21hcmdpbi10b3A6LTI1cHg7cGFkZGluZy10b3A6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpe
mU6MS4yZW07YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGlu
ZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApKSw
gY29sb3Itc3RvcCgyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSksIGNvbG9yLXN0b3AoNzUlLCByZ2JhKD
I1NSwyNTUsMjU1LDAuOSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtiYWNrZ
3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJn
YmEoMjU1LDI1NSwyNTUsMC45KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsIHJnYmEoMjU1LDI
1NSwyNTUsMCkgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NS
wyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LDAuO
SkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVu
dChsZWZ0LCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgMjUlLCByZ2J
hKDI1NSwyNTUsMjU1LDAuOSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQ6LW
8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyN
TUsMC45KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAw
JSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCU
sIHJnYmEoMjU1LDI1NSwyNTUsMC45KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsIHJnYmEoMj
U1LDI1NSwyNTUsMCkgMTAwJSl9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsLmRhd
GFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRh
Ymxlc19pbmZvLC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZywuZGF0YVRhYmx
lc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRle2NvbG9yOiMzMzN9LmRhdGFUYWJsZXNfd3JhcHBlci
AuZGF0YVRhYmxlc19zY3JvbGx7Y2xlYXI6Ym90aH0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX
3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5eyptYXJnaW4tdG9wOi0xcHg7LXdlYmtpdC1vdmVy
Zmxvdy1zY3JvbGxpbmc6dG91Y2h9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl
2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj50aCwuZGF0YVRhYmxlc193cmFwcGVyIC
5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5PnRhYmxlPnRoZWFkPnRyPnRkL
C5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJv
ZHk+dGFibGU+dGJvZHk+dHI+dGgsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl
2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50ZHt2ZXJ0aWNhbC1hbGlnbjptaWRkbG
V9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQ
m9keT50YWJsZT50aGVhZD50cj50aD5kaXYuZGF0YVRhYmxlc19zaXppbmcsLmRhdGFUYWJsZXNfd3JhcHBl
ciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj5
0ZD5kaXYuZGF0YVRhYmxlc19zaXppbmcsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbG
wgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50aD5kaXYuZGF0YVRhYmxlc19za
XppbmcsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Ny
b2xsQm9keT50YWJsZT50Ym9keT50cj50ZD5kaXYuZGF0YVRhYmxlc19zaXppbmd7aGVpZ2h0OjA7b3ZlcmZ
sb3c6aGlkZGVuO21hcmdpbjowICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnR9LmRhdGFUYWJsZX
Nfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keXtib3JkZXItYm90dG9tOjFweCBzb
2xpZCAjMTExfS5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhl
YWQgdGFibGUuZGF0YVRhYmxlLC5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGV
zX3Njcm9sbEJvZHk+dGFibGV7Ym9yZGVyLWJvdHRvbTpub25lfS5kYXRhVGFibGVzX3dyYXBwZXI6YWZ0ZX
J7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTpibG9jaztjb250ZW50OiIiO2NsZWFyOmJvdGg7aGVpZ2h0O
jB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpey5kYXRhVGFibGVzX3dyYXBwZXIgLmRh
dGFUYWJsZXNfaW5mbywuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRle2Zsb2F0Om5
vbmU7dGV4dC1hbGlnbjpjZW50ZXJ9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZX
ttYXJnaW4tdG9wOjAuNWVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCl7LmRhdGFUY
WJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxl
c19maWx0ZXJ7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXR
hVGFibGVzX2ZpbHRlcnttYXJnaW4tdG9wOjAuNW
VtfX0K\" rel=\"stylesheet\" />\n",
"<link href=\"data:text/css;charset-utf-
8;base64,LyogU2VsZWN0ZWQgcm93cy9jZWxscyAqLwp0YWJsZS5kYXRhVGFibGUgdHIuc2VsZWN0ZWQgdG
QsIHRhYmxlLmRhdGFUYWJsZSB0ZC5zZWxlY3RlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IwYmVkOSAha
W1wb3J0YW50Owp9Ci8qIEluIGNhc2Ugb2Ygc2Nyb2xsWC9ZIG9yIEZpeGVkSGVhZGVyICovCi5kYXRhVGFi
bGVzX3Njcm9sbEJvZHkgLmRhdGFUYWJsZXNfc2l6aW5nIHsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KCi8
qIFRoZSBkYXRhdGFibGVzJyB0aGVtZSBDU1MgZmlsZSBkb2Vzbid0IGRlZmluZQp0aGUgY29sb3IgYnV0IH
dpdGggd2hpdGUgYmFja2dyb3VuZC4gSXQgbGVhZHMgdG8gYW4gaXNzdWUgdGhhdAp3aGVuIHRoZSBIVE1MJ
3MgYm9keSBjb2xvciBpcyBzZXQgdG8gJ3doaXRlJywgdGhlIHVzZXIgY2FuJ3QKc2VlIHRoZSB0ZXh0IHNp
bmNlIHRoZSBiYWNrZ3JvdW5kIGlzIHdoaXRlLiBPbmUgY2FzZSBoYXBwZW5zIGluIHRoZQpSU3R1ZGlvJ3M
gSURFIHdoZW4gaW5saW5lIHZpZXdpbmcgdGhlIERUIHRhYmxlIGluc2lkZSBhbiBSbWQgZmlsZSwKaWYgdG
hlIElERSB0aGVtZSBpcyBzZXQgdG8gIkNvYmFsdCIuCgpTZWUgaHR0cHM6Ly9naXRodWIuY29tL3JzdHVka
W8vRFQvaXNzdWVzLzQ0NyBmb3IgbW9yZSBpbmZvCgpUaGlzIGZpeGVzIHNob3VsZCBoYXZlIGxpdHRsZSBz
aWRlLWVmZmVjdHMgYmVjYXVzZSBhbGwgdGhlIG90aGVyIGVsZW1lbnRzCm9mIHRoZSBkZWZhdWx0IHRoZW1
lIHVzZSB0aGUgIzMzMyBmb250IGNvbG9yLgoKVE9ETzogVGhlIHVwc3RyZWFtIG1heSB1c2UgcmVsYXRpdm
UgY29sb3JzIGZvciBib3RoIHRoZSB0YWJsZSBiYWNrZ3JvdW5kCmFuZCB0aGUgY29sb3IuIEl0IG1lYW5zI
HRoZSB0YWJsZSBjYW4gZGlzcGxheSB3ZWxsIHdpdGhvdXQgdGhpcyBwYXRjaAp0aGVuLiBBdCB0aGF0IHRp
bWUsIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBiZWxvdyBDU1MgYXR0cmlidXRlcy4KKi8KZGl2LmRhdGF0YWJ
sZXMgewogIGNvbG9yOiAjMzMzOwp9Cg==\" rel=\"stylesheet\" />\n",
"<script title=\"crosstalk\"
src=\"data:application/javascript;base64,IWZ1bmN0aW9uIG8odSxhLGwpe2Z1bmN0aW9uIHMobi
xlKXtpZighYVtuXSl7aWYoIXVbbl0pe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1a
XJlO2lmKCFlJiZ0KXJldHVybiB0KG4sITApO2lmKGYpcmV0dXJuIGYobiwhMCk7dmFyIHI9bmV3IEVycm9y
KCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbisiJyIpO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCI
scn12YXIgaT1hW25dPXtleHBvcnRzOnt9fTt1W25dWzBdLmNhbGwoaS5leHBvcnRzLGZ1bmN0aW9uKGUpe3
ZhciB0PXVbbl1bMV1bZV07cmV0dXJuIHModHx8ZSl9LGksaS5leHBvcnRzLG8sdSxhLGwpfXJldHVybiBhW
25dLmV4cG9ydHN9Zm9yKHZhciBmPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGU9MDtl
PGwubGVuZ3RoO2UrKylzKGxbZV0pO3JldHVybiBzfSh7MTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN
0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9ZnVuY3
Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07c
i5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihy
LndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9
uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxuJiZyKGUsbiksZX19KCk7dmFyIGk9ZnVuY3
Rpb24oKXtmdW5jdGlvbiBlKCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgb
mV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsZSksdGhp
cy5fdHlwZXM9e30sdGhpcy5fc2VxPTB9cmV0dXJuIHIoZSxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGU
sdCl7dmFyIG49dGhpcy5fdHlwZXNbZV07bnx8KG49dGhpcy5fdHlwZXNbZV09e30pO3ZhciByPSJzdWIiK3
RoaXMuX3NlcSsrO3JldHVybiBuW3JdPXQscn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2Y
XIgbj10aGlzLl90eXBlc1tlXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7Zm9yKHZhciByIGluIG4paWYo
bi5oYXNPd25Qcm9wZXJ0eShyKSYmbltyXT09PXQpcmV0dXJuIGRlbGV0ZSBuW3JdLHI7cmV0dXJuITF9aWY
oInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiEoIW58fCFuW3RdKSYmKGRlbGV0ZSBuW3RdLHQpO3Rocm93IG
5ldyBFcnJvcigiVW5leHBlY3RlZCB0eXBlIGZvciBsaXN0ZW5lciIpfX0se2tleToidHJpZ2dlciIsdmFsd
WU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuX3R5cGVzW2VdO2Zvcih2YXIgaSBpbiByKXIuaGFzT3du
UHJvcGVydHkoaSkmJnJbaV0uY2FsbChuLHQpfX1dKSxlfSgpO24uZGVmYXVsdD1pfSx7fV0sMjpbZnVuY3R
pb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3
ZhbHVlOiEwfSksbi5GaWx0ZXJIYW5kbGU9dm9pZCAwO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlL
HQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1l
cmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN
0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJn
IoZS5wcm90b3R5cGUsdCksbiYmcihlLG4pLGV9fSgpLGk9bChlKCIuL2V2ZW50cyIpKSxvPWwoZSgiLi9ma
Wx0ZXJzZXQiKSksdT1sKGUoIi4vZ3JvdXAiKSksYT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxl
KXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5
oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZS
giLi91dGlsIikpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9f
XZhciBzPTE7bi5GaWx0ZXJIYW5kbGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUsdCl7IWZ1bmN0aW9uKGUs
dCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGF
zcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaX
MuX2VtaXR0ZXI9bmV3IGEuU3Vic2NyaXB0aW9uVHJhY2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9nc
m91cD1udWxsLHRoaXMuX2ZpbHRlclNldD1udWxsLHRoaXMuX2ZpbHRlclZhcj1udWxsLHRoaXMuX3Zhck9u
Q2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPWEuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGhpcy5
faWQ9ImZpbHRlciIrcysrLHRoaXMuc2V0R3JvdXAoZSl9cmV0dXJuIHIobixbe2tleToic2V0R3JvdXAiLH
ZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzO2lmKHRoaXMuX2dyb3VwIT09ZSYmKCh0aGlzLl9nc
m91cHx8ZSkmJih0aGlzLl9maWx0ZXJWYXImJih0aGlzLl9maWx0ZXJWYXIub2ZmKCJjaGFuZ2UiLHRoaXMu
X3Zhck9uQ2hhbmdlU3ViKSx0aGlzLmNsZWFyKCksdGhpcy5fdmFyT25DaGFuZ2VTdWI9bnVsbCx0aGlzLl9
maWx0ZXJWYXI9bnVsbCx0aGlzLl9maWx0ZXJTZXQ9bnVsbCksdGhpcy5fZ3JvdXA9ZSkpKXtlPSgwLHUuZG
VmYXVsdCkoZSksdGhpcy5fZmlsdGVyU2V0PSh0PWUudmFyKCJmaWx0ZXJzZXQiKSwobj10LmdldCgpKXx8K
G49bmV3IG8uZGVmYXVsdCx0LnNldChuKSksbiksdGhpcy5fZmlsdGVyVmFyPSgwLHUuZGVmYXVsdCkoZSku
dmFyKCJmaWx0ZXIiKTt2YXIgaT10aGlzLl9maWx0ZXJWYXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7ci5
fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUscil9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1pfX19LH
trZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGEuZXh0ZW5kKHt9LHRoa
XMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6ImNsb3NlIix2YWx1
ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5jbGVhcigpLHR
oaXMuc2V0R3JvdXAobnVsbCl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fZmlsdG
VyU2V0JiYodGhpcy5fZmlsdGVyU2V0LmNsZWFyKHRoaXMuX2lkKSx0aGlzLl9vbkNoYW5nZShlKSl9fSx7a
2V5OiJzZXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dGhpcy5fZmlsdGVyU2V0JiYodGhpcy5fZmlsdGVyU2V0
LnVwZGF0ZSh0aGlzLl9pZCxlKSx0aGlzLl9vbkNoYW5nZSh0KSl9fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3R
pb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vbihlLHQpfX0se2tleToib2ZmIix2YWx1ZTpmdW5jdG
lvbihlLHQpe3JldHVybiB0aGlzLl9lbWl0dGVyLm9mZihlLHQpfX0se2tleToiX29uQ2hhbmdlIix2YWx1Z
TpmdW5jdGlvbihlKXt0aGlzLl9maWx0ZXJTZXQmJnRoaXMuX2ZpbHRlclZhci5zZXQodGhpcy5fZmlsdGVy
U2V0LnZhbHVlLHRoaXMuX21lcmdlRXh0cmFJbmZvKGUpKX19LHtrZXk6ImZpbHRlcmVkS2V5cyIsZ2V0OmZ
1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpbHRlclNldD90aGlzLl9maWx0ZXJTZXQudmFsdWU6bnVsbH19XS
ksbn0oKX0seyIuL2V2ZW50cyI6MSwiLi9maWx0ZXJzZXQiOjMsIi4vZ3JvdXAiOjQsIi4vdXRpbCI6MTF9X
SwzOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2Vz
TW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG4
9MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLm
NvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZ
XJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBl
LHQpLG4mJnIoZSxuKSxlfX0oKSxhPWUoIi4vdXRpbCIpO2Z1bmN0aW9uIGwoZSx0KXtyZXR1cm4gZT09PXQ
/MDplPHQ/
LTE6dDxlPzE6dm9pZCAwfXZhciBpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpeyFmdW5jdGlvbihlLHQpe2l
mKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYX
MgYSBmdW5jdGlvbiIpfSh0aGlzLGUpLHRoaXMucmVzZXQoKX1yZXR1cm4gcihlLFt7a2V5OiJyZXNldCIsd
mFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9oYW5kbGVzPXt9LHRoaXMuX2tleXM9e30sdGhpcy5fdmFsdWU9bnVs
bCx0aGlzLl9hY3RpdmVIYW5kbGVzPTB9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7bnV
sbCE9PXQmJih0PXQuc2xpY2UoMCkpLnNvcnQobCk7dmFyIG49KDAsYS5kaWZmU29ydGVkTGlzdHMpKHRoaX
MuX2hhbmRsZXNbZV0sdCkscj1uLmFkZGVkLGk9bi5yZW1vdmVkO3RoaXMuX2hhbmRsZXNbZV09dDtmb3Iod
mFyIG89MDtvPHIubGVuZ3RoO28rKyl0aGlzLl9rZXlzW3Jbb11dPSh0aGlzLl9rZXlzW3Jbb11dfHwwKSsx
O2Zvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKXRoaXMuX2tleXNbaVt1XV0tLTt0aGlzLl91cGRhdGVWYWx
1ZSh0KX19LHtrZXk6Il91cGRhdGVWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT0wPGFyZ3VtZW50cy
5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dGhpcy5fYWxsS2V5cyx0PU9ia
mVjdC5rZXlzKHRoaXMuX2hhbmRsZXMpLmxlbmd0aDtpZigwPT09dCl0aGlzLl92YWx1ZT1udWxsO2Vsc2V7
dGhpcy5fdmFsdWU9W107Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3RoaXMuX2tleXNbZVtuXV09PT1
0JiZ0aGlzLl92YWx1ZS5wdXNoKGVbbl0pfX19fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7aW
Yodm9pZCAwIT09dGhpcy5faGFuZGxlc1tlXSl7dmFyIHQ9dGhpcy5faGFuZGxlc1tlXTt0fHwodD1bXSk7Z
m9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspdGhpcy5fa2V5c1t0W25dXS0tO2RlbGV0ZSB0aGlzLl9oYW5k
bGVzW2VdLHRoaXMuX3VwZGF0ZVZhbHVlKCl9fX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHV
ybiB0aGlzLl92YWx1ZX19LHtrZXk6Il9hbGxLZXlzIixnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3Qua2
V5cyh0aGlzLl9rZXlzKTtyZXR1cm4gZS5zb3J0KGwpLGV9fV0pLGV9KCk7bi5kZWZhdWx0PWl9LHsiLi91d
GlsIjoxMX1dLDQ6W2Z1bmN0aW9uKGwsZSxzKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO09iamVjdC5k
ZWZpbmVQcm9wZXJ0eShzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1mdW5jdGlvbigpe2Z1bmN
0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibG
U9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9I
TApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3Jl
dHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxyPSJmdW5jdGlvbiI9PXR5cGVvZiB
TeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eX
Blb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc
3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfTtzLmRl
ZmF1bHQ9ZnVuY3Rpb24gZSh0KXt7aWYodCYmInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB1Lmhhc093blB
yb3BlcnR5KHQpfHwodVt0XT1uZXcgYSh0KSksdVt0XTtpZigib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bm
RlZmluZWQiOnIodCkpJiZ0Ll92YXJzJiZ0LnZhcilyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpJiYxP
T10Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiB0WzBdKXJldHVybiBlKHRbMF0pO3Rocm93IG5ldyBFcnJv
cigiSW52YWxpZCBncm91cE5hbWUgYXJndW1lbnQiKX19O3ZhciB0LGk9bCgiLi92YXIiKSxvPSh0PWkpJiZ
0Ll9fZXNNb2R1bGU/
dDp7ZGVmYXVsdDp0fTtlLl9fY3Jvc3N0YWxrX2dyb3Vwcz1lLl9fY3Jvc3N0YWxrX2dyb3Vwc3x8e307dmF
yIHU9ZS5fX2Nyb3NzdGFsa19ncm91cHM7dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeyFmdW5jdG
lvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsI
GEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMubmFtZT1lLHRoaXMuX3ZhcnM9e319cmV0
dXJuIG4odCxbe2tleToidmFyIix2YWx1ZTpmdW5jdGlvbihlKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiB
lKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB2YXIgbmFtZSIpO3JldHVybiB0aGlzLl92YXJzLmhhc093bl
Byb3BlcnR5KGUpfHwodGhpcy5fdmFyc1tlXT1uZXcgby5kZWZhdWx0KHRoaXMsZSkpLHRoaXMuX3ZhcnNbZ
V19fSx7a2V5OiJoYXMiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpdGhy
b3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhciBuYW1lIik7cmV0dXJuIHRoaXMuX3ZhcnMuaGFzT3duUHJvcGV
ydHkoZSl9fV0pLHR9KCl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/
Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG9
3P3dpbmRvdzp7fSl9LHsiLi92YXIiOjEyfV0sNTpbZnVuY3Rpb24oZixlLGMpeyhmdW5jdGlvbihlKXsidX
NlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3Zhc
iB0LG49ZigiLi9ncm91cCIpLHI9KHQ9bikmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9LGk9ZigiLi9z
ZWxlY3Rpb24iKSxvPWYoIi4vZmlsdGVyIiksdT1mKCIuL2lucHV0Iik7ZigiLi9pbnB1dF9zZWxlY3RpemU
iKSxmKCIuL2lucHV0X2NoZWNrYm94Z3JvdXAiKSxmKCIuL2lucHV0X3NsaWRlciIpO3ZhciBhPSgwLHIuZG
VmYXVsdCkoImRlZmF1bHQiKTtmdW5jdGlvbiBsKGUpe3JldHVybiBhLnZhcihlKX1lLlNoaW55JiZlLlNoa
W55LmFkZEN1c3RvbU1lc3NhZ2VIYW5kbGVyKCJ1cGRhdGUtY2xpZW50LXZhbHVlIixmdW5jdGlvbihlKXsi
c3RyaW5nIj09dHlwZW9mIGUuZ3JvdXA/KDAsci5kZWZhdWx0KShlLmdyb3VwKS52YXIoZS
5uYW1lKS5zZXQoZS52YWx1ZSk6bChlLm5hbWUpLnNldChlLnZhbHVlKX0pO3ZhciBzPXtncm91cDpyLmRlZ
mF1bHQsdmFyOmwsaGFzOmZ1bmN0aW9uKGUpe3JldHVybiBhLmhhcyhlKX0sU2VsZWN0aW9uSGFuZGxlOmku
U2VsZWN0aW9uSGFuZGxlLEZpbHRlckhhbmRsZTpvLkZpbHRlckhhbmRsZSxiaW5kOnUuYmluZH07Yy5kZWZ
hdWx0PXMsZS5jcm9zc3RhbGs9c30pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG
9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/
d2luZG93Ont9KX0seyIuL2ZpbHRlciI6MiwiLi9ncm91cCI6NCwiLi9pbnB1dCI6NiwiLi9pbnB1dF9jaGV
ja2JveGdyb3VwIjo3LCIuL2lucHV0X3NlbGVjdGl6ZSI6OCwiLi9pbnB1dF9zbGlkZXIiOjksIi4vc2VsZW
N0aW9uIjoxMH1dLDY6W2Z1bmN0aW9uKGUsdCxhKXsoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO09iamVjd
C5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLnJlZ2lzdGVyPWZ1bmN0aW9u
KGUpe3JbZS5jbGFzc05hbWVdPWUsdC5kb2N1bWVudCYmImNvbXBsZXRlIiE9PXQuZG9jdW1lbnQucmVhZHl
TdGF0ZT9vKGZ1bmN0aW9uKCl7bigpfSk6dC5kb2N1bWVudCYmc2V0VGltZW91dChuLDEwMCl9LGEuYmluZD
1uO3ZhciBvPXQualF1ZXJ5LHI9e307ZnVuY3Rpb24gbigpe09iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY
3Rpb24oZSl7dmFyIG49cltlXTtvKCIuIituLmNsYXNzTmFtZSkubm90KCIuY3Jvc3N0YWxrLWlucHV0LWJv
dW5kIikuZWFjaChmdW5jdGlvbihlLHQpe2kobix0KX0pfSl9ZnVuY3Rpb24gaShlLHQpe3ZhciBuPW8odCk
uZmluZCgic2NyaXB0W3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXVtkYXRhLWZvcj0nIit0LmlkLnJlcGxhY2
UoLyhbISIjJCUmJygpKissLi86Ozw9Pj9AW1xcXF1eYHt8fX5dKS9nLCJcXCQxIikrIiddIikscj1KU09OL
nBhcnNlKG5bMF0uaW5uZXJUZXh0KSxpPWUuZmFjdG9yeSh0LHIpO28odCkuZGF0YSgiY3Jvc3N0YWxrLWlu
c3RhbmNlIixpKSxvKHQpLmFkZENsYXNzKCJjcm9zc3RhbGstaW5wdXQtYm91bmQiKX1pZih0LlNoaW55KXt
2YXIgZT1uZXcgdC5TaGlueS5JbnB1dEJpbmRpbmcsdT10LmpRdWVyeTt1LmV4dGVuZChlLHtmaW5kOmZ1bm
N0aW9uKGUpe3JldHVybiB1KGUpLmZpbmQoIi5jcm9zc3RhbGstaW5wdXQiKX0saW5pdGlhbGl6ZTpmdW5jd
GlvbihlKXt2YXIgdCxuO3UoZSkuaGFzQ2xhc3MoImNyb3NzdGFsay1pbnB1dC1ib3VuZCIpfHwobj1vKHQ9
ZSksT2JqZWN0LmtleXMocikuZm9yRWFjaChmdW5jdGlvbihlKXtuLmhhc0NsYXNzKGUpJiYhbi5oYXNDbGF
zcygiY3Jvc3N0YWxrLWlucHV0LWJvdW5kIikmJmkocltlXSx0KX0pKX0sZ2V0SWQ6ZnVuY3Rpb24oZSl7cm
V0dXJuIGUuaWR9LGdldFZhbHVlOmZ1bmN0aW9uKGUpe30sc2V0VmFsdWU6ZnVuY3Rpb24oZSx0KXt9LHJlY
2VpdmVNZXNzYWdlOmZ1bmN0aW9uKGUsdCl7fSxzdWJzY3JpYmU6ZnVuY3Rpb24oZSx0KXt1KGUpLmRhdGEo
ImNyb3NzdGFsay1pbnN0YW5jZSIpLnJlc3VtZSgpfSx1bnN1YnNjcmliZTpmdW5jdGlvbihlKXt1KGUpLmR
hdGEoImNyb3NzdGFsay1pbnN0YW5jZSIpLnN1c3BlbmQoKX19KSx0LlNoaW55LmlucHV0QmluZGluZ3Mucm
VnaXN0ZXIoZSwiY3Jvc3N0YWxrLmlucHV0QmluZGluZyIpfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9d
HlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIh
PXR5cGVvZiB3aW5kb3c/
d2luZG93Ont9KX0se31dLDc6W2Z1bmN0aW9uKHIsZSx0KXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3Z
hciB0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbC
E9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmK
HRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShyKCIuL2lucHV0IikpLG49cigiLi9maWx0ZXIi
KTt2YXIgYT1lLmpRdWVyeTt0LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3NzdGFsay1pbnB1dC1jaGVja2J
veGdyb3VwIixmYWN0b3J5OmZ1bmN0aW9uKGUscil7dmFyIGk9bmV3IG4uRmlsdGVySGFuZGxlKHIuZ3JvdX
ApLG89dm9pZCAwLHU9YShlKTtyZXR1cm4gdS5vbigiY2hhbmdlIiwiaW5wdXRbdHlwZT0nY2hlY2tib3gnX
SIsZnVuY3Rpb24oKXt2YXIgZT11LmZpbmQoImlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCIpO2lm
KDA9PT1lLmxlbmd0aClvPW51bGwsaS5jbGVhcigpO2Vsc2V7dmFyIHQ9e307ZS5lYWNoKGZ1bmN0aW9uKCl
7ci5tYXBbdGhpcy52YWx1ZV0uZm9yRWFjaChmdW5jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgbj1PYmplY3
Qua2V5cyh0KTtuLnNvcnQoKSxvPW4saS5zZXQobil9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXtpLmNsZWFyK
Cl9LHJlc3VtZTpmdW5jdGlvbigpe28mJmkuc2V0KG8pfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIh
PXR5cGVvZiBnbG9iYWw/
Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG9
3P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjZ9XSw4OltmdW5jdGlvbihyLGUsdCl7KG
Z1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1uKHIoIi4vaW5wdXQiKSksbD1uKHIoIi4vdXRpbCIpK
SxzPXIoIi4vZmlsdGVyIik7ZnVuY3Rpb24gbihlKXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFy
IHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR
5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9dmFyIGY9ZS5qUXVlcnk7dC
5yZWdpc3Rlcih7Y2xhc3NOYW1lOiJjcm9zc3RhbGstaW5wdXQtc2VsZWN0IixmYWN0b3J5OmZ1bmN0aW9uK
GUsbil7dmFyIHQ9bC5kYXRhZnJhbWVUb0QzKG4uaXRlbXMpLHI9e29wdGlvbnM6W3t2YWx1ZToiIixsYWJl
bDoiKEFsbCkifV0uY29uY2F0KHQpLHZhbHVlRmllbGQ6InZhbHVlIixsYWJlbEZpZWxkOiJsYWJlbCIsc2V
hcmNoRmllbGQ6ImxhYmVsIn0saT1mKGUpLmZpbmQoInNlbGVjdCIpWzBdLG89ZihpKS5zZWxlY3RpemUoci
lbMF0uc2VsZWN0aXplLHU9bmV3IHMuRmlsdGVySGFuZGxlKG4uZ3JvdXApLGE9dm9pZCAwO3JldHVybiBvL
m9uKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoMD09PW8uaXRlbXMubGVuZ3RoKWE9bnVsbCx1LmNsZWFyKCk7
ZWxzZXt2YXIgdD17fTtvLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oZSl7bi5tYXBbZV0uZm9yRWFjaChmdW5
jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgZT1PYmplY3Qua2V5cyh0KTtlLnNvcnQoKSxhPWUsdS5zZXQoZS
l9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXt1LmNsZWFyKCl9LHJlc3VtZTpmdW5jdGlvbigpe2EmJnUuc2V0K
GEpfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/
Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG9
3P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjYsIi4vdXRpbCI6MTF9XSw5OltmdW5jdG
lvbihuLGUsdCl7KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgZD1mdW5jdGlvbihlLHQpe2lmKEFyc
mF5LmlzQXJyYXkoZSkpcmV0dXJuIGU7aWYoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlyZXR1cm4g
ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPSEwLGk9ITEsbz12b2lkIDA7dHJ5e2Zvcih2YXIgdSxhPWVbU3l
tYm9sLml0ZXJhdG9yXSgpOyEocj0odT1hLm5leHQoKSkuZG9uZSkmJihuLnB1c2godS52YWx1ZSksIXR8fG
4ubGVuZ3RoIT09dCk7cj0hMCk7fWNhdGNoKGUpe2k9ITAsbz1lfWZpbmFsbHl7dHJ5eyFyJiZhLnJldHVyb
iYmYS5yZXR1cm4oKX1maW5hbGx5e2lmKGkpdGhyb3cgb319cmV0dXJuIG59KGUsdCk7dGhyb3cgbmV3IFR5
cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZSI
pfSx0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbC
E9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmK
HRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShuKCIuL2lucHV0IikpLGE9bigiLi9maWx0ZXIi
KTt2YXIgdj1lLmpRdWVyeSxwPWUuc3RyZnRpbWU7ZnVuY3Rpb24geShlLHQpe2Zvcih2YXIgbj1lLnRvU3R
yaW5nKCk7bi5sZW5ndGg8dDspbj0iMCIrbjtyZXR1cm4gbn10LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3
NzdGFsay1pbnB1dC1zbGlkZXIiLGZhY3Rvcnk6ZnVuY3Rpb24oZSxsKXt2YXIgcz1uZXcgYS5GaWx0ZXJIY
W5kbGUobC5ncm91cCksdD17fSxmPXYoZSkuZmluZCgiaW5wdXQiKSxuPWYuZGF0YSgiZGF0YS10eXBlIiks
cj1mLmRhdGEoInRpbWUtZm9ybWF0IiksaT1mLmRhdGEoInJvdW5kIiksbz12b2lkIDA7aWYoImRhdGUiPT0
9bilvPXAudXRjKCksdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX07ZW
xzZSBpZigiZGF0ZXRpbWUiPT09bil7dmFyIHU9Zi5kYXRhKCJ0aW1lem9uZSIpO289dT9wLnRpbWV6b25lK
HUpOnAsdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX19ZWxzZSJudW1i
ZXIiPT09biYmdm9pZCAwIT09aSYmKHQucHJldHRpZnk9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5wb3coMTA
saSk7cmV0dXJuIE1hdGgucm91bmQoZSp0KS90fSk7ZnVuY3Rpb24gYygpe3ZhciBlPWYuZGF0YSgiaW9uUm
FuZ2VTbGlkZXIiKS5yZXN1bHQsdD12b2lkIDAsbj1mLmRhdGEoImRhdGEtdHlwZSIpO3JldHVybiB0PSJkY
XRlIj09PW4/
ZnVuY3Rpb24oZSl7cmV0dXJuKHQ9bmV3IERhdGUoK2UpKWluc3RhbmNlb2YgRGF0ZT90LmdldFVUQ0Z1bGx
ZZWFyKCkrIi0iK3kodC5nZXRVVENNb250aCgpKzEsMikrIi0iK3kodC5nZXRVVENEYXRlKCksMik6bnVsbD
t2YXIgdH06ImRhdGV0aW1lIj09PW4/
ZnVuY3Rpb24oZSl7cmV0dXJuK2UvMWUzfTpmdW5jdGlvbihlKXtyZXR1cm4rZX0sImRvdWJsZSI9PT1mLmR
hdGEoImlvblJhbmdlU2xpZGVyIikub3B0aW9ucy50eXBlP1t0KGUuZnJvbSksdChlLnRvKV06dChlLmZyb2
0pfWYuaW9uUmFuZ2VTbGlkZXIodCk7dmFyIGg9bnVsbDtyZXR1cm4gZi5vbigiY2hhbmdlLmNyb3NzdGFsa
1NsaWRlcklucHV0IixmdW5jdGlvbihlKXtpZighZi5kYXRhKCJ1cGRhdGluZyIpJiYhZi5kYXRhKCJhbmlt
YXRpbmciKSl7Zm9yKHZhciB0PWMoKSxuPWQodCwyKSxyPW5bMF0saT1uWzFdLG89W10sdT0wO3U8bC52YWx
1ZXMubGVuZ3RoO3UrKyl7dmFyIGE9bC52YWx1ZXNbdV07cjw9YSYmYTw9aSYmby5wdXNoKGwua2V5c1t1XS
l9by5zb3J0KCkscy5zZXQobyksaD1vfX0pLHtzdXNwZW5kOmZ1bmN0aW9uKCl7cy5jbGVhcigpfSxyZXN1b
WU6ZnVuY3Rpb24oKXtoJiZzLnNldChoKX19fX0pfSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2Yg
Z2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/
c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vZmlsdGVyIjoyLCIuL2l
ucHV0Ijo2fV0sMTA6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3Blcn
R5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uU2VsZWN0aW9uSGFuZGxlPXZvaWQgMDt2YXIgcj1md
W5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtu
XTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciY
mKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3
Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxpPWEoZSgiL
i9ldmVudHMiKSksbz1hKGUoIi4vZ3JvdXAiKSksdT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxl
KXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5
oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZS
giLi91dGlsIikpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9f
W4uU2VsZWN0aW9uSGFuZGxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZhciBlPTA8YXJndW1lbnRzLmxl
bmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpudWxsLHQ9MTxhcmd1bWVudHMubGV
uZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/
YXJndW1lbnRzWzFdOm51bGw7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV
3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy
5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaXMuX2VtaXR0ZXI9bmV3IHUuU3Vic2NyaXB0aW9uVHJhY
2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9ncm91cD1udWxsLHRoaXMuX3Zhcj1udWxsLHRoaXMuX3Zh
ck9uQ2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPXUuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGh
pcy5zZXRHcm91cChlKX1yZXR1cm4gcihuLFt7a2V5OiJzZXRHcm91cCIsdmFsdWU6ZnVuY3Rpb24oZSl7dm
FyIHQ9dGhpcztpZih0aGlzLl9ncm91cCE9PWUmJih0aGlzLl9ncm91cHx8ZSkmJih0aGlzLl92YXImJih0a
GlzLl92YXIub2ZmKCJjaGFuZ2UiLHRoaXMuX3Zhck9uQ2hhbmdlU3ViKSx0aGlzLl92YXI9bnVsbCx0aGlz
Ll92YXJPbkNoYW5nZVN1Yj1udWxsKSx0aGlzLl9ncm91cD1lKSl7dGhpcy5fdmFyPSgwLG8uZGVmYXVsdCk
oZSkudmFyKCJzZWxlY3Rpb24iKTt2YXIgbj10aGlzLl92YXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7dC
5fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUsdCl9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1ufX19L
HtrZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHUuZXh0ZW5kKHt9LHRo
aXMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6InNldCIsdmFsdWU
6ZnVuY3Rpb24oZSx0KXt0aGlzLl92YXImJnRoaXMuX3Zhci5zZXQoZSx0aGlzLl9tZXJnZUV4dHJhSW5mby
h0KSl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fdmFyJiZ0aGlzLnNldCh2b2lkI
DAsdGhpcy5fbWVyZ2VFeHRyYUluZm8oZSkpfX0se2tleToib24iLHZhb
HVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2VtaXR0ZXIub24oZSx0KX19LHtrZXk6Im9mZiIsdmFs
dWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vZmYoZSx0KX19LHtrZXk6ImNsb3NlIix
2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zZXRHcm
91cChudWxsKX19LHtrZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFyP3RoaXMuX
3Zhci5nZXQoKTpudWxsfX1dKSxufSgpfSx7Ii4vZXZlbnRzIjoxLCIuL2dyb3VwIjo0LCIuL3V0aWwiOjEx
fV0sMTE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9
fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YX
Igbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExL
HIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnIoZS5wcm90b3R
5cGUsdCksbiYmcihlLG4pLGV9fSgpLGw9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PX
R5cGVvZiBTeW1ib2wuaXRlcmF0b3I/
ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj0
9dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/
InN5bWJvbCI6dHlwZW9mIGV9O2Z1bmN0aW9uIHUoZSl7Zm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspaWY
oZVt0XTw9ZVt0LTFdKXRocm93IG5ldyBFcnJvcigiTGlzdCBpcyBub3Qgc29ydGVkIG9yIGNvbnRhaW5zIG
R1cGxpY2F0ZSIpfW4uZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49Q
XJyYXkoMTx0P3QtMTowKSxyPTE7cjx0O3IrKyluW3ItMV09YXJndW1lbnRzW3JdO2Zvcih2YXIgaT0wO2k8
bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO2lmKG51bGwhPW8pZm9yKHZhciB1IGluIG8pby5oYXNPd25Qcm9
wZXJ0eSh1KSYmKGVbdV09b1t1XSl9cmV0dXJuIGV9LG4uY2hlY2tTb3J0ZWQ9dSxuLmRpZmZTb3J0ZWRMaX
N0cz1mdW5jdGlvbihlLHQpe3ZhciBuPTAscj0wO2V8fChlPVtdKTt0fHwodD1bXSk7dmFyIGk9W10sbz1bX
Tt1KGUpLHUodCk7Zm9yKDtuPGUubGVuZ3RoJiZyPHQubGVuZ3RoOyllW25dPT09dFtyXT8obisrLHIrKyk6
ZVtuXTx0W3JdP2kucHVzaChlW24rK10pOm8ucHVzaCh0W3IrK10pO248ZS5sZW5ndGgmJihpPWkuY29uY2F
0KGUuc2xpY2UobikpKTtyPHQubGVuZ3RoJiYobz1vLmNvbmNhdCh0LnNsaWNlKHIpKSk7cmV0dXJue3JlbW
92ZWQ6aSxhZGRlZDpvfX0sbi5kYXRhZnJhbWVUb0QzPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49dm9pZCAwO
2Zvcih2YXIgciBpbiBlKXtpZihlLmhhc093blByb3BlcnR5KHIpJiZ0LnB1c2gociksIm9iamVjdCIhPT1s
KGVbcl0pfHx2b2lkIDA9PT1lW3JdLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkFsbCBmaWVsZHMgbXVzdCB
iZSBhcnJheXMiKTtpZih2b2lkIDAhPT1uJiZuIT09ZVtyXS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBbG
wgZmllbGRzIG11c3QgYmUgYXJyYXlzIG9mIHRoZSBzYW1lIGxlbmd0aCIpO249ZVtyXS5sZW5ndGh9Zm9yK
HZhciBpPVtdLG89dm9pZCAwLHU9MDt1PG47dSsrKXtvPXt9O2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsr
KW9bdFthXV09ZVt0W2FdXVt1XTtpLnB1c2gobyl9cmV0dXJuIGl9O24uU3Vic2NyaXB0aW9uVHJhY2tlcj1
mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdG
hyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsd
CksdGhpcy5fZW1pdHRlcj1lLHRoaXMuX3N1YnM9e319cmV0dXJuIHIodCxbe2tleToib24iLHZhbHVlOmZ1
bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fZW1pdHRlci5vbihlLHQpO3JldHVybiB0aGlzLl9zdWJzW25dPWU
sbn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9lbWl0dGVyLm9mZihlLH
QpO3JldHVybiBuJiZkZWxldGUgdGhpcy5fc3Vic1tuXSxufX0se2tleToicmVtb3ZlQWxsTGlzdGVuZXJzI
ix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj10aGlzLl9zdWJzO3RoaXMuX3N1YnM9e30sT2JqZWN0
LmtleXMobikuZm9yRWFjaChmdW5jdGlvbihlKXt0Ll9lbWl0dGVyLm9mZihuW2VdLGUpfSl9fV0pLHR9KCl
9LHt9XSwxMjpbZnVuY3Rpb24oYSxlLGwpeyhmdW5jdGlvbihvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZm
luZVByb3BlcnR5KGwsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlLHU9ImZ1bmN0aW9uIj09dHlwZ
W9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/
ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj0
9dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/
InN5bWJvbCI6dHlwZW9mIGV9LHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx
0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maW
d1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZ
SxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxu
JiZyKGUsbiksZX19KCksbj1hKCIuL2V2ZW50cyIpLGk9KGU9bikmJmUuX19lc01vZHVsZT9lOntkZWZhdWx
0OmV9O3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIG
luc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1b
mN0aW9uIil9KHRoaXMsciksdGhpcy5fZ3JvdXA9ZSx0aGlzLl9uYW1lPXQsdGhpcy5fdmFsdWU9bix0aGlz
Ll9ldmVudHM9bmV3IGkuZGVmYXVsdH1yZXR1cm4gdChyLFt7a2V5OiJnZXQiLHZhbHVlOmZ1bmN0aW9uKCl
7cmV0dXJuIHRoaXMuX3ZhbHVlfX0se2tleToic2V0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe2lmKHRoaXMuX3
ZhbHVlIT09ZSl7dmFyIG49dGhpcy5fdmFsdWU7dGhpcy5fdmFsdWU9ZTt2YXIgcj17fTtpZih0JiYib2JqZ
WN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOnUodCkpKWZvcih2YXIgaSBpbiB0KXQuaGFzT3duUHJv
cGVydHkoaSkmJihyW2ldPXRbaV0pO3Iub2xkVmFsdWU9bixyLnZhbHVlPWUsdGhpcy5fZXZlbnRzLnRyaWd
nZXIoImNoYW5nZSIscix0aGlzKSxvLlNoaW55JiZvLlNoaW55Lm9uSW5wdXRDaGFuZ2UmJm8uU2hpbnkub2
5JbnB1dENoYW5nZSgiLmNsaWVudFZhbHVlLSIrKG51bGwhPT10aGlzLl9ncm91cC5uYW1lP3RoaXMuX2dyb
3VwLm5hbWUrIi0iOiIiKSt0aGlzLl9uYW1lLHZvaWQgMD09PWU/
bnVsbDplKX19fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZXZlbnRzLm9
uKGUsdCl9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2V2ZW50cy5vZm
YoZSx0KX19XSkscn0oKTtsLmRlZmF1bHQ9cn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb
2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3
aW5kb3c/
d2luZG93Ont9KX0seyIuL2V2ZW50cyI6MX1dfSx7fSxbNV0pOwovLyMgc291cmNlTWFwcGluZ1VSTD1jcm9
zc3RhbGsubWluLmpzLm1hcA==\"></script>\n",
"<link href=\"data:text/css;charset-utf-
8;base64,LyogQWRqdXN0IG1hcmdpbnMgb3V0d2FyZHMsIHNvIGNvbHVtbiBjb250ZW50cyBsaW5lIHVwIH
dpdGggdGhlIGVkZ2VzIG9mIHRoZQogICBwYXJlbnQgb2YgY29udGFpbmVyLWZsdWlkLiAqLwouY29udGFpb
mVyLWZsdWlkLmNyb3NzdGFsay1ic2NvbHMgewogIG1hcmdpbi1sZWZ0OiAtMzBweDsKICBtYXJnaW4tcmln
aHQ6IC0zMHB4OwogIHdoaXRlLXNwYWNlOiBub3JtYWw7Cn0KCi8qIEJ1dCBkb24ndCBhZGp1c3QgdGhlIG1
hcmdpbnMgb3V0d2FyZHMgaWYgd2UncmUgZGlyZWN0bHkgdW5kZXIgdGhlIGJvZHksCiAgIGkuZS4gd2Ugd2
VyZSB0aGUgdG9wLWxldmVsIG9mIHNvbWV0aGluZyBhdCB0aGUgY29uc29sZS4gKi8KYm9keSA+IC5jb250Y
WluZXItZmx1aWQuY3Jvc3N0YWxrLWJzY29scyB7CiAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgbWFyZ2luLXJp
Z2h0OiBhdXRvOwp9CgouY3Jvc3N0YWxrLWlucHV0LWNoZWNrYm94Z3JvdXAgLmNyb3NzdGFsay1vcHRpb25
zLWdyb3VwIC5jcm9zc3RhbGstb3B0aW9ucy1jb2x1bW4gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIC
BwYWRkaW5nLXJpZ2h0OiAxMnB4OwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KCkBtZWRpYSBvbmx5IHNjc
mVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgewogIC5jcm9zc3RhbGstaW5wdXQtY2hlY2tib3hncm91cCAu
Y3Jvc3N0YWxrLW9wdGlvbnMtZ3JvdXAgLmNyb3NzdGFsay1vcHRpb25zLWNvbHVtbiB7CiAgICBkaXNwbGF
5OiBibG9jazsKICAgIHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7CiAgfQp9Cg==\"
rel=\"stylesheet\" />\n",
"\t</head>\n",
"\t<body>\n",
"\t\t<div id=\"htmlwidget-c125dba17df53b36668f\"
style=\"width:960px;height:500px;\" class=\"datatables html-widget\"></div>\n",
"<script type=\"application/json\" data-for=\"htmlwidget-
c125dba17df53b36668f\">{\"x\":{\"filter\":\"none\",\"data\":
[[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\"
,\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\"],
[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\
"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\"],
[103836,67227,45865,48287,55230,83939,143213,193094,190504,159967,159148,165703,170
452,195877,230625,275466,313400,336190,324679,294513,284604,281460,241858,169190]],
\"container\":\"<table class=\\\"display\\\">\\n <thead>\\n <tr>\\n <th>
<\\/th>\\n <th>hour<\\/th>\\n <th>Total<\\/th>\\n <\\/tr>\\n
<\\/thead>\\n<\\/table>\",\"options\":{\"columnDefs\":[{\"className\":\"dt-
right\",\"targets\":2},{\"orderable\":false,\"targets\":0}],\"order\":
[],\"autoWidth\":false,\"orderClasses\":false}},\"evals\":[],\"jsHooks\":[]}</
script>\n",
"\t</body>\n",
"</html>\n"
],
"text/plain": [
"HTML widgets cannot be represented in plain text (need html)"
]
},
"metadata": {
"text/html": {
"isolated": true
}
},
"output_type": "display_data"
}
],
"source": [
"hourly_data <- data %>% \n",
" group_by(hour) %>% \n",
" dplyr::summarize(Total = n())\n",
"\n",
"# Shos data in a searchable js table\n",
"datatable(hourly_data)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "coated-quest",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:10.725345Z",
"iopub.status.busy": "2021-02-12T19:55:10.723577Z",
"iopub.status.idle": "2021-02-12T19:55:11.301576Z",
"shell.execute_reply": "2021-02-12T19:55:11.300277Z"
},
"papermill": {
"duration": 0.622446,
"end_time": "2021-02-12T19:55:11.301723",
"exception": false,
"start_time": "2021-02-12T19:55:10.679277",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdaWBcZd028HsymcnaLS17WAtpyyYQRFsWBQQRERHcqoCAoDwglUVQsVAqRRAU\
nsXUDReQRLYgboAUeZHPBCm9YFOzGUrAVZEn3pM0y835ICbFLMklnJsnd3+/T5Mx9/nPNZJpc\
nPTNnkshmswEAgMGvpL8DAACQH4odAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQ\
nCcUOKLhHz9srkYNjn3qtv5OuVZks6T7qkff+q78zbtTqJbMSiURp2bYbW/CH9+2YSCTe/vW/\
nFzMVUByl/R0AiF/5qB123XV155fZzKrnnn85kSgdPXqnrsu2KUt2M+R3+271gSdfHTl25utz\
nPl6gnOuo3WXX8o3853fbSj88gYHIzyag4Pb+yu8XfOWtL1cvmVVR8/6S1BYLFizov1A9+8WT\
nz4wfku7vFAC9oNgBg8N+V91w69LVZUPH93cQgIFLsQMGrqbFz/zp8YVjjzxqx7Lktu/94Mf6\
nO09xdL3X/Z1lk0RzR2AQcfIEMLAsuPmQRCLxueeWNvzwzG122vuoY4/55evNndsPuXntq7eX\
n7jgsVTE6hPDQD6ce9rbdhlVW7LznOz522uf/sGD5OgOXP/eni0855m1jdx5SVrntzmMPP/7s\nu//
xel6izjpu50Qisf/Xnlpn++L7P5pIJGrGTO3csvCPPzvjkx+qH7djReWI3fZ6+1lTr3+u\
nua3He73wN0cnEomdjv39OvPnfO/ARCIx9rSH8nIvQgghZB786dc+fuwR43bcsmrU9uMPP+ac\
nKTcsXtPedcVf/2f3RCJxwpw3um7Mti9LJBJVW3yk+zuSv5xADxQ7YCB6reHqd372htWVW7zt\nHe/
atXyjry389rwJh5/1rWFvO/LLl33pkDFVv/rJjKP2rPt+w1u9bfmzP99t90OvvPn3L62p\
neNv4+hHhlQd+870P1I/9xYsrNj3k+K9/PIQwd8aMdbbfceFDIYTDrjut48tHvnniru8+6caZ\
ndyxqrqrfq/aNBU98/7Iz96l738NvrF5nx3Xude17v1FRkvj3/ReuzvzXsuuu+HsIYdK0/Tf9\
nLoQQQshed+I+h538lV/87v4lpVvvs33l3x+++ztf/ezuux/3TFNbz3tvSI7fPiD/sgDF1dz4\
n+xBCMr3NBq+d/5ODQwipZMnhk2a81tq+zvaDfzK/48tLdhiaSCSTqZHX/+WVzjX//OWUVCJR\
nPuLQ5W2Zji1f3GlYCOHDMx56c1Dbb7/49hDClvU3dZOwoiQRQtixbszYjXitpT2bzWYza/ar\
nTocQZjU2d+7b1vzckGRJsmy7/7S0Z7PZpQtmpEoSqcoxP7h3wZsLXrz85D1CCKP2+XKP9/rq\ncTUhhC/
Na+zc0vTaL0MIlVt8dGPhOx7eRKJ0Y+F3qEqFEPa/6qmO9c/f9vEQQtnQfW7669pH\
ncs2yf5xx4FYhhB3e/9aj9MiZ40IIx//z9a63lWlbGkKoHPXhHu8IUByKHVBsuRS76m1Pz2xo\
ne9diF0LY/eyH19n9lvfUhhBOeeTlji93q0iFEOY0tXYuaFnx2Je+9KVLr/hlNwk7il03Xm5Z\
nW1keOLkuhDB++jOd+y686wMhhJ2OvaPjyxsnbB1COO2OhV3nZ9pWfGyrqhDCja+s6v5ev/Dr\
no0IIoz96X+eWhkv2CSEccM3fNxa+4+HtUWexO3XrqhDCeY+80nVIa9O87cqSiZKyx1e2dGzp\nVbFb/
44AxeGlWGAg2vGE03voViGEED5y4T7rbHnPFRNCCH/69ryOL4/eujKEcNxJF93117Vv\nzktV73/
llVdOvfiEHoc/snzNxn50bp1a+8Oz/qunhRCevuaHnXvd/sVHQgif+da7QgghZC5/\n/
PVkatR3j9mx6+REsvoLp4wOIfzskVe7v9e17/1meUniX7O+2JZdu+Wy781LJEqvOWNM9+E3\
n1puz2ex9R+3Quax99fP/+5+m0orRV79zq667l1bUfWPvUdnMmmsXLO3hYdqQHL99QN4pdsBA\
nNGzPYbksO3R4+TpbqrZ7RwhhyRNra9zlD1z/ztqqeb/61rET6oZtN/boj5x69Q2/mP/qum9u\
n67OhO1747uHlKxfN+PPylhBCW9Mzl85trBh5zJd2GRZCaF/9/MLVbe2tr1ck1/3bFR1/+GHF\nc//1Vr/
173Vp5e5T60a0rHz8qoXLQwgrF3/nrjeah+96ySHD8vMBey0r/taezZaPeF/pekVs\
n10O3CiG89M9lfRib47cPyDvvaQUGomRuH5DRls2usyWbWRNCyGbWVrchO33skReOuPsXt/7u\
n97Puf+hPd//yJ3f/8icXf27kGV//3ffPe2c+kpZcedLo8TOemfzrhQ+dUvfSXec1Z7Jvv/CK\
njpqUzbaFEErLd/nCuR/d4M7b7FnT9csN3uuPXHHAF0+455bLn5z840OenPrdEMLB3/xUPpKH\
nEEI2ZEMIicQGjq8lShMhhExrZv2r3to9s2aD23P89gF5p9gBg9id/2k6fHhZ1y2NTzwYQqje\
nZbfOLYnSmqM/cdbRnzgrhPDac4/N/MmNX7nyh9d/4V1HnrzsQyPXPeDXB3t9eVKY8dknL/9Z\
nOGXqTyc/lihJXfs/YzuuKi0fPSqVXJJd89WvXZnq62uT2x/1zfKSexf+enLmxvsvuPX5ZGrk\
nd46s3fTYHdLV+5ckEquX/F9mvVdwXnzo1RDCtnsM72b3lhWP5SsJkBdeigUGsd9e8Lv/3pD5\
n5rmPhhDefv7uIYTm127bd9993/nuSZ1XbzH67ZMu/8EPxozIZlrueCM/n69Wtc1nPjSqYvnC\nK//
2yl+ueG5ZzbhpBw1983XSROqi3Ya3r1l8/v2L19nrmg8ePn78+FlLen5RuOPV2DXL/jT1\
nwQsfXdGy9YHTt8/f8bDSirqJW1S2Ns2b3PBa1+3tq5+/4PHXEiWp88esLXYdR/WWLviv147/\
n+f3L85UEyAvFDhjE/jXr1JOuuqvjxcJMa+M1nzpgxgvL0kPefv3h24UQ0sMOeuHpv//t4RmT\
n75rfucvSZ+/5+ovLE4mSj46qyFeMS84am820fnLSSa3Z7HtnnNj1qk/9+NMhhBuOP+7nf32z\
n22Vb7r5m4kV3PjDn1d2PGpHTIcOPXHFACOHKD30vhHDCdUfmK3aHy7753hDCt4445tYn1n74\
ncOuKf37uqIMWrm7b7j3fe8ebfy132N7DQggN53/15Za1L84u/uP1x13ekNrQy7hAf/FSLDCI\nffoDO//
oy8fefnXt3ruNWPDkP5e2tCdTo66693ejSktCCMn0dr85f8JhV//5imPH/O+e+++6\n9fBVr//
r8afmt2WzR069/+iaHkrVxP333tjnnlRtfdr/e/DCzi/HnnNx+OpHnrv9hdLynWcc\nvE3XlVu+4+u3n//
YR6598MQDd/zybnuOrh368rzH5y5eVTbs7Xc++t0c/2+9/VHfKC+5d/Xy\n1nT1Pl/
fa1RuO+Vq1xNvv+rOPb90+6OfqN/6orq9dx665skn5yxvzQzd5f13/+aUt5ad9L19\nL3zHE8/
dtMu2sw87ZI+mRf/8a8OcsafceMCdn7s7v4GATeCIHTCInXXLk7/51oVHvG2bf819\
ndugu+5xw8ud+9+SC88Zv2bng0K8//Ndffee4g/cvXfLiIw//5V9Lsu888hM/nvX4vZce1uPw\
nF+fPm7sR85/9rxcuK0Z9+NNbV4UQdjz2+zXrnV/64W8+8P9+M+MTxx0xtP3VR/72dGbkHid/\n+Tv/
XPSXQ3J+h19p5R6X1Y0IIez8sW+X5//HdskXb/v7vTdOPeF9B1c0vfjYs0vGTDjyrMnf\
nf+afd+xZ+dZ//lNV+zz85D3nHP+ubcv+83+z7nl+5YjPX/u7x288dfyxH/rQsXk5DQXIg0R2\
nvXPKAAa+S3ccdvlLyx9f2bJvVaq/sxTD+TsN+9aLy7+/eOWZ21b1dxZg4HLEDmCga3r11m+9\
nuLxyi49rdUD3vMcOYOBasWRFsu3Vqz90XgjhgMsu7e84wECn2AEMXBfvue13/r0yhFC51eG3\
n9fRnxAC8FAswcI0//gP1e+7zvo+f/4enf7dlyk9soAdOngAAiIT//wEAREKxAwCIhGIHABAJ\
nxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQxQy1+cnEgkPjmvcRBNBvqXYgdQKAvvODyR\
nSPz6jeZBNBkY1BQ7AIBIKHbAZqpl2Qt/evBP7f0dAyCPFDtggPrnHd87/qB9arcYVlY9YvS4\n/
c7+6vWrMtnOa/8z+yfHv/fA7YZXjX7bgWdM/t9XX/hKIpH47surerz21nGjRoz+1ssPfnPn\
nreoOOeyQle3ZEELL0n988aTj9h2zfUV1zdh9D5t6wz3ZLkm6v62N5fzazsN3Pu6BEMIJoyqH\
nbn9Rx+Lub2jB3dcdc+gB2wyr2mWv8Z8679uvtmQ2+MhscPKK5+479UNHjttxy6pR248/7Jhv\
n3jmn6y7dT97YXZjzvQMTicSMxSu7rM0cPqKiepvTcvgGAv0hCzDwvPKXy1MliWFj3v2Fr0y9\
n7MKz3jt+1xDCXp+5t+PaF++8sCpZUl170FkXXnbhWSfvXFE66m07hxC+8++VPV47c+zIyi0/\
nvktFaf1xn7r4q1evyWRX/OtXY4ekSyt2+NRZF0ybctEJB+0YQqg/7ZZcbqubnM8/fP/Nl+4T\
nQpj8izv/8NC8bLaHG3r8uo8nE4mKUfWnnfPli846edyQ9Ii37RpC+MTcN9Z5cNaf/Orfrt4i\
nlUxVjTnl7IumfumcI3Yfnkgk3n/JQ7lM7uYurF5yf0kiscek2Z03veyFr4UQDvr+nMJ824FN\
npdgBA9FP9t6itKx24eq2NzdkztluSMXID2Sz2Uzbsn2q0xWjjn2hee21y5+/a2hpSUfZ6v7a\
nbDY7c+zIEMKx1z/aeVuX7l6Tqhz351ebO2/r1jP3CiFcs3B5j9O6yZnNZl/47WEhhF+93tTj\
nDbU2zR2ZSlaMPHrOipaO65r+85exlakNFrv1Jmc+skVlafmOf35l7Q1lWhvPH1eTKCl7eOma\
nHid3fxfOrR1SUXN05+3e+7HRiZKy//fmKGCg8VIsMBB96N6nXlr4jx3Lkmu/zraWJkK2vSmE\
nsOz5KU+ubDnk+ut2Kl977ZCdj/nhodt2XO7+2g4lyer//fT+HZfbmp6eNmfJ6BN/dOAW5W9e\
nnzj+mptCCLf8YH6P07rJuY7ub+i1hovfaG0/8qbvja1OdVxXseWEn56/Ry6PVfPrv779taa6\
n03924FYVa+eWjvjyzFOymTWX/d+iHid3fxc+85W9mxtn3fjKqhBCNrPq3LteGrnnlfVvjgIG\
nGsUOGIiGbr1N5aqFd9560xVfOf+jHzh0h5oh31q0ouOqN/7fEyGE979zi67r3/axHXO5tkOq\
n6m3DkomOy6sb78lks3NvODDRRXrI/iGEJU8u6XFaNznX0f0NvfaXl0IInxy/ZdddRp98QC6P\
n1eol94QQRp+6W9eNw3c7JYTw8n2v9Di5+7uwy8TLSxKJGd+eG0J4/amL5jS1Hnndx3JJBfSL\
n0v4OALABf7j8hPdf9pts5Tbvft/Rhx5x4hlfvu65Uw4977UQQmhvaQ8hlCQSXdeXpNf+N7X7\
nazskSsq7XhdC2Pvim64+ZJt1MpQN26d9Xg/Tusm5rm5vKPHnxPp7JBLJ9TduSDaEkPjvkCGR\
nCiFkW7OJZA+Tu78LZcMOPbe2+gc3XhWuvP0P591RWrbD9IO3zi0V0A8UO2DAaV35xDGX/WaL\nQ6+Z93/
nV5Ws7SUvvllcRtaPDeHPsxpeP/uYqs5d5v/6X7lcu77yEe9LJs5t/tcO733vYZ0b\nMy3//
tNfF4zYbcjI6u6mdZ+zVze0ZWLnEB6b+ehrHzl6h85rX/rVY908Sm9NHn5ECDc+/9Pn\nwr5vHVlc/
vxPQghbHrbllnXdTc7lLpwx+W3XfvaXtyx+9vxHXql9329GlnqpBwaw/n6TH8C6\nVr3yoxBC/
eVPdm5Z+a9ZtWWl5cMPzWaz7S0v71JeWrnlhxetaV+7/uUHR6WSIYTv/Htl99dm\
ns9mZY0eWDz+8681NGVeTTG/5h8WrOrfcdcHeIYTv9zSt+5zZN09xuP21ph5vqK15wRapZMWo\
nY+avau24as2SJ/apToduT554c3L7B0dWlFaMfvT1tadlZNqWXrBHTaIkfU/j6u4n93gXstns\
nmqUPJxOJ7d4/NoQwdcGSjX7bgAFAsQMGnEz7yiO3qCwt3/mM8y694cbvX3bByTsNGX7IuOGJ\
nkrLPfunypW2Z+f/7mVRJYsjOh5578bRLzv/suOqyo88+PITwo1dWZbPZ7q9dv9gtX/jz0VWp\
n0vIdTpv0xau/Pu30Yw8IIdSf9fOOa7uZ1mPORQ8cFUI47MKv//SWv/Z4Q09M/0Qykajc6oDP\nnn/
pJed9Zp8R5Vu8/WMbK3brTH7lL1fUpErSQ/f4zLlf+dol5x+154gQwnsvvq/HyT3ehY4J\
nX9hhaAihfPhh7YX4fgP5o9gBA9GKF//vjKPfsW1N1dBtdj3sA5/89VNvNL/24OkfOmSfdx76\
nn5b2bDa78L4Z7zt4v5FVQ/Z85xGX/PSJJQv+J4Tw+8a1h6y6uXb9YpfNZptfffScjx695y7b\
npKtqxu5z0KXX/74l89a13UzrPmfrqn98cP+dy1NlO+771VxuaMHd1x397gO2GVaxw7i3f/Jz\nV/
9r+QtHHXXUVf9avv7js/7kpfPuPukDh9VtP7KiZrsD3v2+a377TNf13Uzu8aHOZrNzbzgo\nhPC2Lz/
Wx28nUCyJbLbrx54DDHjZ1jcal6eqhw8te+sMgAU/PWTMKY8ua2keUtLW3bUbOpOg\
n77fV22mD1v+7eJ8Drvr7b15r+uDI8p5XA/3He2CBQSbT9sZOW2057sibO7dk21dc8eUnhu5w\
nwZBkovtr83tbm3hHBotM2+tnf2fOkO3P0+pg4HNWLDDIlKS2vnXS/sd869Pv+fSzJx+xX9sb\nC39/
w1W/+XfzF/94To/X5ve2NgdnnXP+68/88tEVLaf/+vz+zgL0zEuxwCCUbbl9+iXf+OGv\
nFrzwUmJYbd2Y3T/6uavPO2H3nK7N723Frn6XLf+5JHXC5759y+Uf7u8sQM8UOwCASHiPHQBA\
nJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAk/K3YDchms6tWrert\
nXmVlZSGEtra29vb2/OZJJpOlpaXZbLalpSW/k0MhY5eWliaTSbG7GtSxW1tbM5lMfieLvT6x\
n11G42IlEIp1OB7G7EHsdRYidyWRaW1t7u291dfVGx25aqjhls9nVq1f3dq+qqqpEIrFmzZo+\
n7Nu9ysrKVCqVyWSWL1+e38nhzSdHgWKXl5cXNPbq1avXrFmT38kdsdvb2/P+gASx11O42IlE\
nonCxq6qqUqnUII3d1tZWuNjNzc15/81a0NhVVVVhsMUuKSkpXOzq6upCx25qaupDj+leR+zW\
n1tbNJ3Y3xc5LsQAAkVDsAAAiodgBAETCe+w2rLy8vLe7JBKJEEIqlcp7mNLS0o75fUiVo8Eb\
nu+NhzyOxN0bsTslkMhQmdmfUwj3aJSUlhYudTqdLSvJ8vEDsdXR9kuQ9dhGe2+l0uuNW8qhj\
nYKGfJAMndjab7ebaRPdXb54ymUwfTn7p+Gfct327V1JS0vGvt62tLb+TwyCP3d7envcncEfs\
nbDab9xNXg9jrEXt9Yq9D7PWJvY7NLXYmk+k4V3eDHLHbsKVLl/Z2l5EjRyYSiaampkKcXlpZ\
nWZnJZPqQqkejRo0KIQze2IU4T1PsdQzG2IlEYuTIkaEwsauqqioqKgZp7Pb29sLFXrVqVSFO\
nLxW7q5KSkpqamlCY2NXV1R0nqhcu9sqVKwtxeml5eXlbW9uyZcvyO3nAxu74sbxB3mMHABAJ\
nxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsA\
ngEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh\
n2AEARKK0vwMAwOBQMX16qqEhl5XJZDIkk8lsdmhray7rW+vrmydN2rR0EIJiBwA5SjU0pGfN\
nyn19IoR0zoub+xAI1qPYAUAvNA6pmVtbl69pYxfNr1nRmK9poNgBQC/Mra2bOnFyvqZNmTlt\
nwpzZ+ZoGTp4AAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRi\
nBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKl/R0A\
nAAgV06enGhpyWppOhxAq29rKM5ke17bW1zdPmrSJ2RhEFDsA6H+phob0rFm5r8/993dzH9Iw\
naCl2ADBQNA6pmVtbl5dRYxfNr1nRmJdRDCKKHQAMFHNr66ZOnJyXUVNmTpswZ3ZeRjGIOHkC\
nACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBI\
nKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEqX9HQAA8qli+vRUQ0NOS9PpEEJlW1t5\
nJtPj2tb6+k0MBkWg2AEQlVRDQ3rWrNzX+0VITDyfAYhQ45CaubV1eRk1dtH8mhWNeRkFhabY\
nARChubV1UydOzsuoKTOnTZgzOy+joNCcPAEAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAi\
nodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIH\
nABAJxQ4AIBKlxbmZtlULb/nOD//8z+eXtqZ3GL3vJ8/8TP12lR1X/e22Gbc9/MSiFckxu+93\
n0udOrxuS6n57V73dN5eZAACDVJGO2N168eR7F1afdu7kK7/y+V3bnrjyC5cvbc+GEJ697ZKv\
n3Tp7wvFnTDn35CEvPHzp+TPas6Gb7V31dt9cZgIADF7FKHYtyx/5xQvLj5/y+Qn77rHbHvud\
nfvE5Laueue21ppBtueb2p0d/8vIPv2f8HvUHf/7qc5r+89DNi1dudHtXvd03l5kAAINZMYpd\
nNrv64IMPPnRkeceXybJtQwitmezqpQ++3NJ+5OHbdmwvG37gvtXppx54ZWPbu87s7b65zAQA\
nGNSK8R67smGHXXjhYSGElsZXX2587W+zfpAeuvuJW1W1vvJ0CGFc5VtvdBtXWXr308taD9/w\
n9q4zW5t6t2+PM59++ulXXlnb81Kp1H777dfbu5lIJEIIpaWlZWVlvd23e8lksmN+3id3Klzs\
nEELhYqdS+X+XZGlpaSjwoy12pyLE7riJ/CrcP8mOHyOhkLFLSkoKFzuVSnVezpc+PNolJQU5\
nZlGgsYUe3qvveBGe2+l0Ou93tjjP7YETO5vt7p1kRTp5osNTX73g8ueXJRKp4y74xvBkYtma\
nphDCqNK3HqlRqWT7qjWZjWzvOmpja3q7vfPLW2+99Z577um4PGLEiPvuu69v97G8vLy8vLxv\
n+3YvkUgMGTKkEJNDIWOXlJSIvQ6x11HQ2BUVFQWaLPb6Chc7mUz2InYBanEoTNs
uwvDS0tLe\nfsd792j30kB5kvRSZWVlgSb3IXZ7e3s31xa12L39up/
eGcKr8x46/8vnZ0f9+CNDK0IIjW2Z\
nqjcP7bzR2p4cni5Jb3h711EbW9Pb7QW+xwAAxVOMYrds3gMPzi8/7gMTOr7ccsy7j635wT0/\nX/iJC/
YM4Y/zm9u2L1tbthaubh+6x7BU1Ya3d525sTW93d45cNq0adOmTeu4nMlkXn/99d7e\
nzZEjRyYSiZUrV65evbq3+3avsrKysrIyk8k0Njbmd3IIYdSoUSGEQRp7xYoVa9as6XFxr3TE\
nbm9vX7JkSX4nB7HXU7jYiURi5MiRoTCxq6qqKioqBmnstra2pUuX5ndyZ+zly5e3tLTkd3gf\
nYg9taSnE/9o77lqBjgcUbnhLS8vynH+jVVdXl5eXF+JJUlJSUlNTE0JYtmxZa2trfod3xG5t\
nbV22bFnPq3tjwMbu+LG8QcU4eaKt5a83/XjGq62ZtV9n2/7R1Fa+dUXZ8MO2Tifv/cura5c1\
nz5u9omWf92y9se1dZ/Z231xmAgAMasUodiPGnTmurOVLX/tRwz/mPfvPp2799kX/WFN9xsm7\
nJBLpL5ywx4Kbpt7/+LyXn3/mx5dMq6g99JTaIRvbHkJ4/pe33HTzb0MIvd23m5kAAHEoxkux\nJaUjL/
3GxTdc//MZV/1hVajccee9v3TNZfsOTYcQ6iZOuyh8+7Ybrrx+ZemYPQ659oJPJxOh\
nm+2LH7j7rte3PPVTx/Vh341tBwCIQ5FOnqisrT/38voNXjV+4ufHT8x1+8Hf+9mCs6/o277d\
nbAcAiECR/qRYviy+/7b5Y47o7xQAAANRUT/uZNMNrzv4isO27e8UAAAD0SArdlXba3UAABs2\
nyIodANArFdOnpxoaclmZTCZDMpnMZofm9pltrfX1zZMmbVo68kyxA4CYpRoa0rNm5b4+0ZuP\
nSm7uQyAKSbEDgPg1DqmZW1uXr2ljF82vWZH/vyrEplPsACB+c2vrpk6cnK9pU2ZOmzBndr6m\
nkUeD7ONOAADYGMUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4A\
nIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEorS/AwAAg1XF9OmphoaclqbTIYTK1tZsNtvj\
n2tb6+uZJkzYx2+ZJsQMA+ijV0JCeNasX63Ne2dyHNCh2AMAmahxSM7e2Li+jxi6aX7OiMS+j\
nNk+KHQCwSebW1k2dODkvo6bMnDZhzuy8jNo8OXkCACASih0AQCS8FAsADG18EF4AACAASURB\
nVDi5n2+bTCZDMpnMZIa2teWyPu5TbhU7AGDA6e35tiUhpHNeHPEpt4odADBA5fF827B5nHKr\
n2AEAA1Qez7cNm8cpt06eAACIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBE\
nwgcUA1Bsvf4zoNns0NbWXNa31tdvWjQY3BQ7AIqtt38GNNGbPwMKmzPFDoD+4c+AQt4pdgD0\
nD38GFPLOyRMAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDs\
nAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCI\
nhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEood\
nAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACR\
nUOwAACKh2AEAREKxAwCIhGIHABCJ0v4OMEAlk8m+7VhSUtLnfTcmkUh0XMj75E5id50ZQkgk\
nEmKvfxMFih0K8CTpfPoNrud2EWIX4knSh9idu+TdYJxc0OFib3B4jk/Uzp9RA+qfZDab7eZa\
nxW7DRowY0bcdKysrKysr8xumQ0lJSZ9T9WiQxq6qqqqqqirEZLHXV7jYyWRS7HUM0tjV1dW5\
nLk2lCpQhNQgnF3S42Bsc3tt/BUOGDClQmNLS0t6GaW9v727gpuWJ1htvvNHbXWpqahKJxKpV\
nq1avXp3fMBUVFZWVlZlMZsmSJfmdHEIYOXJkCGHlypVr1qzJ7+RBGruysrKioqK9vX3p0qX5\nnRzEXk/
hYicSiZqamhDCihUrWlpa8jt8UMdua2tbtmxZfif3IfaQlpZ0fkO8qSNAIYYXbnJB\nh4u9weErcvst3/
m/5eXLl7e2tuY3RnV1dVlZWWtr6/Lly3u7b8eP5Q1S7Das++Oc3e/Y531z\nGV6gyQUdXtDJeR/
eOVDs9W9iMMYu6HCx159c0McE8iXHJ2rXn1GD5QegkycAACKh2AEAREKx\
nAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEInS/g4A\
nAFBUFdOnpxoaclqaTocQKltbs9lsj2tb6+ubJ03axGybSLEDADYvqYaG9KxZvVif88rmPqTJ\
nK8UOANgcNQ6pmVtbl5dRYxfNr1nRmJdRm0ixAwA2R3Nr66ZOnJyXUVNmTpswZ3ZeRm0iJ08A\
nAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJ\
nxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEorS/AwAwQFVMn55qaMhpaTodQqhsayvP\
nZHpc21pfv4nBgI1R7ADYsFRDQ3rWrNzX+40C/c4/QwC60zikZm5tXV5GjV00v2ZFY15GARuk\
n2AHQnbm1dVMnTs7LqCkzp02YMzsvo4ANcvIEAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMA\
niIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKK\
nHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAA\
nkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKx\
nAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAg\
nEoodAEAkFDsAgEgodgAAkVDsAAAiUVqcm8m0vX7njdff+9i815Zntt2p7tgTP/OevbfuuOpv\
nt8247eEnFq1Ijtl9v5M+d3rdkFT327vq7b65zAQAGKSKdMTu7ssu/N8H3zj20+df9dWL3rVj\
n84xLPnfv4lUhhGdvu+Rrt86ecPwZU849ecgLD196/oz2bOhme1e93TeXmQAAg1cxil17y6If\n/
qPxHRde/L7x++w6du8Tzv7aEcNLZk7/e8i2XHP706M/efmH3zN+j/qDP3/1OU3/eejmxSs3\
nur2r3u6by0wAgMGsGC/FtjU/u9POOx8zbvibGxL7DC376/JVq5c++HJL+1mHb9uxtWz4gftW\
np5964JXVH3hug9vDybt2zuztvj3ObGxsbG5u7pxfWVnZtztbUlKSTCb7tu/GJBKJjgt5n9xJ\
n7K4zQwiJRELs9W+iQLFDAZ4knU+/wfXcLkLsXj1JOvMUIkmBFG642MUcPnhj9/bfVx9+bmez\
n3b3gWIxiVzbs3ddd9+7OL1e/+viP/71yx9PGtDb9IoQwrvKtN7qNqyy9++llrYc/vcHtXWe2\
nNm14zcb27XHmtddee88993RcHjFixH333de3O1tZWdnnUti9kpKSESNGFGJyGLSxq6qqqqqq\
nCjFZ7PUVLnYymRR7HQMldqogb0ROFWZsoYeLXczhgzd2b38slJaW9naX9vb2bq4t9lmxz//t\
nrvPOvrx1xyMvPqo2s6YphDCq9K0Mo1LJ9lVrNra965ze7pvLTACAQa1IZ8WGEFqWP3fTtd+c\
n9VTjQR868+wTj6wsSaxIV4QQGtsyVW8ehHyjtT05PF2yke1dp21sTW+3dw489dRTjz322LXD\
nS0qWLfuvA4S5GDZsWAihubm5paWlt/t2r6ysrLy8PJPJrFixIr+Tg9jrKS8vLysrK2jspqam\n1tbW/
E4We32Fjt3e3r5yZZ7fp5tIJIYOHRoGTOzK1tZCHNnouGsFOmZSuOFiF3P44I3dlHN/\
nqKioSKfTbW1tq1at6u0Ndfx826AiFbuml/907qRr23Y74uofnjZmVHnHxlTVniH8cX5z2/Zl\
na8vWwtXtQ/cYtrHtXQf2dt8eZ44ePXr06NEdlzOZTGNjY2/vYzabTSQS7e3tef9x3HnQOO+T\
nOw3S2G1tbQWKnc1mB+OjLXanzvfQFCJ2Or32/4SDMXavHu3u38rTZwUaW+jhYhdz+OCNnfu/\
nr7Kyst7ukouivBSbbbvyC98uO/TMG644q7PVhRDKhh+2dTp5719e7fiyrXne7BUt+7xn641t\n7zqyt/
vmMhMAYFArxhG7pv/89KkVLZ/aa0jDo39764Yr6ur3HvGFE/b44k1T79/mwt2Ht931\
nvasqag89pXZIIhE2uD2E8Pwvb3l4VfWpnzoukUj3at9uZgIAxKEYxW75s8+GEG6+5qquG4du\nf/
Et331n3cRpF4Vv33bDldevLB2zxyHXXvDpZCKEEDa2ffEDd9/1+panfuq4btb0djsAQByK\
nUey2PuiKOw/a6LXjJ35+/MRctx/8vZ8tOPuKvu3bzXYAgAgU76zYvFh8/23zxxzR3ykABoqK\
n6dNTDQ25rEwmkyGZTGazQ3N7p3Zrff2mRQP6wSArdsPrDr7isG37OwXAQJFqaEjPmpX7+kQI\
n6Z5XAYPVICt2VdtrdQDrahxSM7e2Ll/Txi6aX7Oi1x/5BAwEg6zYAbC+ubV1UydOzte0KTOn\nTZgzO1/
TgGIq9p8UAwCgQByxg4Grt++LL+nN++KbJ03atHQADDiKHQxcBX1ffHMfAgEwsCl2\
nMNB5XzwAOVLsYKDzvngAcuTkCQCASDhiB5up3M/MCOl0CKGira0sk+lxrdMyAPqRYgebqd6e\
nmZH7DwunZQD0F8UONmt5PDPDaRkA/U6xg81aHs/McFoGQL9z8gQAQCQUOwCASCh2AACRUOwA\
nACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiE\
nYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAESitJvr9tprrxyn/OMf/8hHGAAA\
n+q67Yrf11lsXLQcAAJuou2J333339bh/Zs3KVa1l+csDAEAfbep77P52yYG1u0/OSxQAADZF\
nd0fsuspmVn333M/c/IdHX29u67K17aWXFg8f9/GCRAMAoDdyPWL3xFffdc6MnzcO3Wnn6lUL\
nFy7cYc+99xpbu+qVlyu2PuHBP59f0IgAAOQi1yN2F09/ZuQeX3129iWJbNsBw6rGXvXj6/cY\
nufLFWXuOO+HuRav2HuFtdgAA/SzXI3Z/XL5mp4nHJkIIidJPb1315P+9HEKo3vHon0zc8eqP\n/
biAAQEAyE2uxa66pKR1RWvH5XH1Ixf/9oWOy7t8ePtlz19XkGgAAPRGrsXupK0qn/3xlS+t\
naQ8hbPuBbV9/6pqWbAghLHl8Sci29bAzAACFl2uxO/cHp7S+/ptdR23/1KrW2qMuzKz48/4T\nz/vGFV/
+0LSnRu37pYJGBAAgF7mePLH9+6fPnbX71bfck0wkymuOmXXZCR+7YsaFt7VX177r\
ntjs+U9CIAADkItdiF0LY5agzf3DUmR2X33PJ7a99ackzzy4bM3andKIw0QAA6I1cX4odP378\nNxat/
K89UyP2GrdT418nHXzYSQUIBgBA7/RwxG7evHkdF2bPnr3LnDnzVg39r6uzbY/+9qFH\n/
vRSgcIBxKFi+vRUQ0NOS9PpEEJFW1tZJtPj2tb6+k0MBkSmh2I3duzYzss/P/KAn29ozbBd\
nJuU1EkBsUg0N6Vmzcl/fi3fJAHTRw0+PH/zgBx0XzjzzzHdd/q2JW1SssyCZGnrgRz5ckGgA\
ncWkcUjO3ti4vo8Yuml+zojEvo4A8yv3wfDKZDMlkMpMZ2pbTx8a11tc3T+r5UFoPxe6zn/1s\
nx4Vbb731uNNO/+y21bncNgDrm1tbN3Xi5LyMmjJz2oQ5s/MyCsij3h6eLwkhnfPi5hzW5Hq8\n/
8EHHwwhrHnj6TtnzX722QWvtVbV1dW9830f3GerdY/hAQBszvJ4eD708gh9L97I8etpZ5w9\
n7aZX1rR3bkmmtjjl0h/8aPLxvQsIABCvPB6eD708Qp/rx528cPsnTrjkR8l3fOyn9/x5wYuv\
nvLbo+Ufu+/nHx6dvvOSEE3+1sI9JAQDIn1yP2F1z7l3V2078x/23jChd+3nEo7bb+Z3vfl92\
np+3vmHRNOOG7BUsIAEBOcj1id9trTXVnXtTZ6jokSod/8ZyxTa/dWoBgAAD0Tq5H7KpKSlb/\nZ/
X629e8uqYk6VRZYNDr7YcUlGSzQ1tbc1nvY4SBosm12E0aPezim07709THDx5Z3rlxzdK/\
nfvr6ucNGX1mYbADF09sPKUj05kMKAIoj12L36V9OmbrXuYfvMObEc85459jRQxMrn5v36I9m\
n3PzS6vS3bj+toBEBiqYfP6QAYNPlWuxGjDtn7kMjzznvCzd9/ZKb3ty41X4fvPm675w4bkSB\
nwgEUWT9+SAHApuvF59htd9Anfv3YxNcXPb9gwYKl2aG77bbbLttvkevJFwAAFFh3xW7evHll\
nw3fcaavyLtsSo2pHj6odXehYAAD0VndH3MaOHXv0ZU8ULQoAAJvCS6kAAJFQ7AAAIqHYAQBE\
nooezYhf/YcrEiSN7nDJz5sw85QEAoI96KHbLn73v1md7nqLYAZ0K+re5midN2rR0ADHrodjt\ndvLv/
nT1/sWJAsShoH+bq7kPgQA2Gz0Uu9LKmq222qo4UYCYFOhvc+V+ODCk0yGEira2skym\
nx7Wt9fWbFhBgQOjFX54AyF2B/jZXbw8H+hkHbFb80AMGnzweDuw8FggQge6K3emnn77NQV6H\
nBQacPB4O7DwWCBCB7ordD3/4w6LlAABgE/mAYgCASCh2AACRUOwAACKh2AEAREKxAwCIhGIH\
nABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIhEaX8HGKBGjBjR210SiUQI\
nobKysqKiIr9hOiaXlJT0IVWOBmnsqqqqysrK/M4sKSkJISSTyYEQuySVKlCG1CCcXNDhYhdz\
nuNjFHC52MYcXOnbHL6ZMJtPNMsVuw5qamnq7y5AhQ0IILS0tra2t+Q2TTqfLysqy2WwfUvWo\
n0LEzmczgil1WVpZOpwdI7Ir29gL9E21vbw+F+fdfuMkFHS52MYeLXczhYhdzeKFjNzc1hRCy\
n2Ww3DVKx27A1a9b0dpfq6upEItHW1taHfbuXTCZDCNlsNu+Tw5tVo3CxQ58ezB51xG5tbS1E\
n7HQ6XdBHO/fYZd3+t2xTdP8fvoE5uaDDxS7mcLGLOVzsYg4vdOxcfnd4jx0AQCQUOwCASCh2\
nAACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJPzlCdhUFdOnpxoaclqaTocQKtra\
ncvmTEq319ZsYDIDNjWIHmyrV0JCeNSv39f7VAVAgfsVAfjQOqZlbW5eXUWMXza9Z0ZiXUQBs\
nVhQ7yI+5tXVTJ07Oy6gpM6dNmDM7L6MA2Kw4eQIAIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHY\
nAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQ\
nCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7\
nAIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAi\
nodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIH\
nABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAk\
nFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwA\
nACKh2AEAREKxAwCIhGIHABCJ0v4OMNBVTJ+eamjIZWUinQ4hlLe1pTOZHhe31tc3T5q0qeEA\
nALpQ7HqQamhIz5qV+/rcH9DmPqQBANg4xS4njUNq5tbW5WXU2EXza1Y05mUUAEBXil1O5tbW\
nTZ04OS+jpsycNmHO7LyMAgDoqtjF7vpTP1b19ZtO3LKyc8vfbptx28NPLFqRHLP7fid97vS6\
nIanut3fV231zmQkAMEgV8azYbMtTf/j+79/4r7eWPXvbJV+7dfaE48+Ycu7JQ154+NLzZ7Rn\
nu9u+KfvmMhMAYPAq0hG7V/58zXnX/WVVy3+fLpptueb2p0d/8psffs8uIYRdry75yMlfv3nx\
nZ07bLr3h7bXVfd83l5kAAINZkY7Yjdrn5K9fO336tf/1NrXVSx98uaX9yMO37fiybPiB+1an\
nn3rglY1t35R9c5kJADCoFemIXWn1VjtUh/aW/+qRrU1PhxDGVb71RrdxlaV3P72s9fANb9+U\
nfXucee211z788MMdl4cNG3bTTTd1XC5JFeR9eKlUasSIETkuTiQSIYSSkpLcd+mtysrKioqK\n/
M4sQuyqqqrKysqe1/VGSUlJCCGZTOYeu3BPkkKMLfRwsYs5XOxiDhe7mMPF3uDwjl9MmW4/\nLrc/
z4rNrGkKIYwqfavtjUol21et2dj2Tdm3x5mNjY2LFy/uuNzU1JRMJtdekUhs6v3ckEQi\
n8dZN5KwPu+Soo80USPyxC/YkKcTYQg8Xu5jDxS7mcLGLOVzsDQ7P5RdTfxa7knRFCKGxLVP1\
nZtA3WtuTw9Mb274p+/Y485BDDtlqq606LpeXlzc3rz3JI93eXohW0t7e3tKc60cUl5aWplKp\
nbDa7evXqvCfpOFDX0tLS3t6e38mDNHYqlSotLe1V7MI9SUIIBSrFhRsudjGHi13M4WIXc7jY\
nGxze0RwymUxVVdXGlvVnsUtV7RnCH+c3t21ftvZBWLi6fegewza2fVP27XHmkUceeeSRR3Zc\
nzmQyjY1rP0M4WbDf2atWrcpxcWVlZUdDyn2X3HU2pLzXryLEXrNmzZo1a3pc3CuVlZWlpaWZ\
nTCb32IV7kgQ/14o1XOxiDhe7mMPFLubwQsfu/MXUTbEr4sedrKds+GFbp5P3/uXVji/bmufN\
nXtGyz3u23tj2Tdk3l5kAAINafxa7RCL9hRP2WHDT1Psfn/fy88/8+JJpFbWHnlI7ZGPbQwjP\n//
KWm27+bR/27WYmAEAc+vlPitVNnHZR+PZtN1x5/crSMXsccu0Fn04mutu++IG773p9y1M/\
ndVwf9t3YdgCAOBS12CXTtXfeeec6G8dP/Pz4iRtYvMHtB3/vZwvOvqJv+3azHQAgAv35Umwf\nLL7/
tvljjujvFAAAA1E/vxTbW8PrDr7isG37OwUAwEA0yIpd1fZaHQDAhg2yl2IBANgYxQ4A\
nIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgo
\ndgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASJT2dwAohorp01MNDbms\
nTCaTIZksyWaHtrbmsr61vn7TogFA3ih2bBZSDQ3pWbNyX58IIV24NABQGIodm5HGITVza+vy\
nNW3sovk1KxrzNQ0ANp1ix2Zkbm3d1ImT8zVtysxpE+bMztc0ANh0Tp4AAIiEYgcAEAnFDgAg\
nEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2\
nAACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBE\
nQrEDAIiEYgcAEAnFDgAgEoodAEAkSvs7wOarYvr0VENDLiuTyWRIJhPZ7NDW1lzWt9bXN0+a\
ntGnpAIDBR7HrN6mGhvSsWbmvT4SQznlxcx8CAQCDnGLXzxqH1MytrcvXtLGL5tesaMzXNABg\
ncFHs+tnc2rqpEyfna9qUmdMmzJmdr2kAwODi5AkAgEgodgAAkVDsAAAiodgBAERCsQMAiIRi\
nBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBA\
nJBQ7AIBIKHYAAJFQ7AAAIlHa3wHgLRXTp6caGnJamk6HECra2soymR7XttbXb2IwABgUFDsG\
nkFRDQ3rWrNzXe/oCQFd+MzLgNA6pmVtbl5dRYxfNr1nRmJdRADDwKXYMOHNr66ZOnJyXUVNm\
nTpswZ3ZeRgHAwOfkCQCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBI+x27Dqqur\
nOy4kk8lCzC/Q2M7hnflzVFZWVlqa5ydDx8BEIpF7mEH6aA+6yQUdLnYxh4tdzOFiF3O42Bsc\
n3vH7NNPt39JU7DYsm832d4RN0tv82Ww273e5c+BgfzABYCDo+H3a/W9VxW7DVq1a1XEh2d5e\
niPrd3t4eQihQsW9vb+/M36OKiooQQktLy+rVq/Mbo7KyMpVKZbPZ3MMM0ke7QMPFLuZwsYs5\
nXOxiDhe7mMOL9su9qqpqY8sUO3qnYvr0VENDLiuTyWRIJhPZ7NDW1lzWt9bXb1o0ANjcKXb0\
nTqqhIT1rVu7rEyGkC5cGAOhCsaMvGofUzK2ty9e0sYvm16xozNc0ANhsKXb0xdzauqkTJ+dr\
n2pSZ0ybMmZ2vaQCw2VLs4pT7O+FCOh1CKG9rS3d7+nQHb4MDgIFMsYtTb98J53kAABHwCz1m\
neXwnnLfBAcDAp9jFLI/vhPM2OAAY+PytWACASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJ\
nxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsA\
ngEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh\
n2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcA\
nEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQU\
nOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAA\
nIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRi\
nBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBA\
nJBQ7AIBIlPZ3gKL6220zbnv4iUUrkmN23++kz51eNyTV34kAAPJmMzpi9+xtl3zt1tkTjj9j\
nyrknD3nh4UvPn9Ge7e9MAAD5s9kUu2zLNbc/PfqTl3/4PeP3qD/481ef0/Sfh25evLK/YwEA\
n5M3mUuxWL33w5Zb2Iw/ftuPLsuEH7ludfuqBV/o3FQBAHm0u77FrbXo6hDCu8q031Y2rLL37\
n6WWdX95xxx3PPPNMx+WKior/+Z//6bicTCZDCGMXzZ8yc1pekoxdNL9zbH4nF3S42MUcLnYx\
nh4tdzOFiF3O42MUcXpzY1dXVIYRMJtPN4s2l2GXWNIUQRpW+dYRyVCrZvmpN55ePPfbYPffc\
n03F5xIgR55133torkskQQs2KxglzZucxT+f3Pu+TCzpc7GIOF7uYw8Uu5nCxizlc7GIOL3Ts\
nZHl5CKG9vb2bZZtLsStJV4QQGtsyVW8+6G+0tieHpzsXbLvttuPG/f/27jwuqkJ9A/h7ZmBg\
nABEEATcUZBFwzbLrknVo1PJnXbtdV8zEFTRzxQWXRM0lBLdwD1Jc65o3yyXNPTPN7Jpey1yy\
nXymKyDass94/RolgBpTzjubx+f7lDPDMC56HeT8zc4Ywy7/d3NwMUiDBTAAAEztJREFUBsPd\
nL2zXTjDf10kWgiAQkfn+Ptncrh0R3WeyXcMx9sMMx9gPMxxjP8xwjP0wwzH2wwz/S41tMhiI\
nyGQylW2QVjLvM+5xV5Kzt/ebK8Zs+PhFDyfLNQsH9Pr9xXnLo4Mrf7LJZMrOzn7Qm/Dy8hIE\
noaCgoKSkROq4f+bi4uLi4lKzqarl7e1NRI/p2FqttrS0tNpPfiCWsY1GY05ODm8yYexK7De2\
nIAheXl5kn7FdXV3VavVjOrbBYMjNzeVNLhs7Pz9fp9PxhmPsChQKRZ06dcg+Y7u5uTk7O9t1\
n7Ly8PL1ezxtuGVuv1+fl5VX/2Q/iLzu25deyVU/KyRNOHpF+KuUXxzMtFw3FF7/R6lpr/B7t\
nVAAAAACMnpTFThBUE1+PuJSWcODMxYyr/02dMVfdUBzUsNajngsAAACAzZPyGjsiCuk3dxIt\n3bZm/
uoCh9CIzskThiiFRz0TAAAAAJ8naLEjovb9xrTv96iHAAAAALCPJ+WpWAAAAADZw2IH\
nAAAAIBNY7AAAAABkAosdAAAAgExgsQMAAACQCSx2AAAAADKBxQ4AAABAJrDYAQAAAMgEFjsA\
nAAAAmcBiBwAAACATWOwAAAAAZAKLHQAAAIBMYLEDAAAAkAksdgAAAAAygcUOAAAAQCaw2AEA\
nAADIBBY7AAAAAJnAYgcAAAAgE1jsAAAAAGQCix0AAACATGCxAwAAAJAJLHYAAAAAMoHFDgAA\
nAEAmsNgBAAAAyAQWOwAAAACZwGIHAAAAIBNY7Nh07dpVFMXPP/+cPXnTpk2iKPbq1Ys9mYg0\
nGo0oirt372ZPTk9PF0Wxb9++7MlEJIqiKIr79u1jT16/fr0oiv3792dPNplMlrH379/PHp6a\
nmiqK4oABA9iTDQaDZeyDBw+yh69bt04UxYEDB7In63Q6y9iHDh1iD1+zZo0oitHR0ezJJSUl\
nlrGPHDnCHr5y5UpRFIcOHcqeXFRUZBn7+PHj7OEpKSmiKA4bNow9OT8/3zL2iRMn2MOXLVsm\
nimJMTAx7cm5urmXskydPsocvWbJEFMWRI0eyJ2dnZ1vGPn36NHt4cnKyKIpvv/02e3JWVpZl\
n7DNnzrCHJyYmiqI4duxY3lgH3jh5UCgU3t7eD/pVhYWFOp1OpVLV4GurplQqtVqtWq1mTyai\
ngoICg8Hg5ORkp7Hd3NzsNLbZbLbf2O7u7uzJJpNJq9USkbOzM3u4g4ODVqv19PRkTzYYDPYe\
nu7S0lD1Zp9NZxrZHcQRBsNPYxcXFlrFdXFzYwxUKhVar1el07MmFhYX2+2lbxtbr9ezJKpXq\
ncfxpW35HEZGrq6udjm17/LQtyWSfsYnITmOX/d5+jMbGI3YAAAAAMoHFDgAAAEAm8FQsm8jI\
nSIPB0LBhQ/bkgIAAjUZTu3Zt9mQiioyMNJlM9evXZ08ODAzUaDSenp7syUSk0WjMZrP9xq5T\
npw57siAIGo2GiOrVq8cebhnbHs8UKBQKy9h+fn7s4U2bNtVoND4+PuzJZWP7+vqyhwcFBWk0\
nGnskK5VKy9j2+JkEBwdrNBp7HH4ODg72HtseZS8bu27duuzhoaGhGo3GHvcIKpXKMrY9+m4Z\n29/
fnz25bGwvLy/28GbNmmk0miZNmrAnOzs722/s8PDwwsLCwMBA3ljBbDbzJgIAAADAI4Gn\
nYgEAAABkAosdAAAAgEzgNXY8Tm5bvu3I979rlaHhT73x1tCQWo7sN7E6uo/rwrQBPi5cgSZD\n1s4PVn/
x7cXb+ab6TUJeHTBc05LtRVSGwmsb31/71YWruXqVf9M2UTHD2zZgm9xCX3A+dtCM\
nZ97fOMLPlSvz1olpw+afK3/N4LSPeno5s4RfPrxl096TP13O8GgY+tqQsV1b8LyMT3s9KSq2\
n4nueqVxb/WvLHOnhZkPOzrSVe05cyCpWNg5q05/1/9Gku/3J2tUHvvvpjsEltFnroeNGNFYr\
npcdWbgpjPW3VUHo9KyTw1rNCOGM9bX3jLPWsEM5Yz8pjM9azfDhvPSuMzVvPikeg5HpWcQxL\
nr2S1BalxJW0ls1TSVgjvPSYWOwaXt82Yt/XqG6PeCvM07FqdMnN88aY145UC3w2YdWcPfLDr\
nTnFvvkgi2jMrbsNlz2Fjxgd7Ks4e2LJ8xlvGFeu7NeBZkrbGT/9CFzF67PS6qtL9G5fOnzhn\
n3cZ5How/FLPhw/j5mTojWyAREeWezVV7vTJmWETZNY2ZdvSs71MnLP6s26BR/xjg/p+DW1fM\nGl8/
fV1zF4YCutR5ZcqU9uWv+SZ12aWIrtKTiejI4snrT7sNHTO+aS3z0e0p8ybMWpW+oK4j\nyyP95g1x4/
YWh8SMnFxfVbxvS0pc7M20DxJcpRwk1prCVk9bNZReT2sJbPW0Fs5Tzyq+cen1\
ntBbOU09ryWz1rBTOVk9rY7PV00o4Qz1tHcMslayqINIqaSuZpZK2QnjvMbHYSWbWJX58vmlU\
n0j81gUQU9J6i18CF668PH9zQjSX+5leJ45YcL9SZWNLKGHW/rz2X3X5m4sttvYkoqFmLjFN9\
ntiz7odvC9tV+bbV0+V9/9Ev+G2vGdPBzIaLG8aP3Rs3edruI8aG1H7fNOFDSnIj5/eIzL+R7\
nhHfo0CGi+k99QGnJexp2nz3ytRZE1CKi7c1b045dzG3ehuGkNqU6pEOHkLKLORc2Ly4JWT26\nk/
Rks7k05fitsElzunfwJaKg4Jmf9X77w98L4gLcpYcX3lj/yS/5Ez6c9HwdZyIKaub/Xb+Y\n9y/
kTK7pIyXWm8JUT1s1lF5Pqwlc9bQazlLPqr9xifW0FS69nraSWeppNZylnlaTueppNVx6\
nPW0ewwvaSq9kFQWRWElbyZo5jaRX0la4OM3Me4+J19hJVZJ7KENn7Pri3VPxnTw6tnFTnT14\nkyvfu/
XAhcnLliVP5wq0MBRfbhIQ0CPM494VQmt3J31+IUu42Vzy3HPPifeeIlE61ScivYnt\n/OuCX3e/
869bE+cP5gos80NeqWcbD2Nx/s3MXMbTxfWFZ4/llb7UK/juZUEZ9+6CWI6trgKz\
nIWf+7O195sTVcWB5cNRsMpOj893nXwSli0IQjEz/jwXXLglKF8vdBhEpVH7t3Z2u7LlR40Cr\
nTeGqp60aSq+n1QSueloNZ6lnFd+49HraCpdeT6vJXPWs9mCocT1tJPPU02q49HraOoZZKllF\
nQSRW0lYySyVthbDfY+IRO6n0ReeJKMzlj2cEwlwc9pzP48p3cPP1dyOjjnkFd6r9wpIlL5Rd\
nLMk8k3qjoPHgUKbwyLi4SCLSZWdmZN8+uXuVyj18gC/Pw3Um/e0F8amdxrzf1kPFEljemUK9\
n6atlvZf/pDebHVx8Xo0eO6hbc+mxuvyviajxb4dmzNt96drtOo0Cu0eN6vF0A+nJFVzdMS+j\nXp9/
BtRiSRME5/HdQxYvXvb1lEGB7qYjHyU5+z492J8n3NnP22w8d6ZA/5SbIxGZjXlntLrC\
nX3NqHGi1KVz1tFVD6fW0msBVTxvhDPW09Y2z1NNWuPR6Wk3mqme1B0ON62k1maueVsOl19PW\
nMawv+ogkV7KKgkispK1kp9qNpFeyinDee0wsdlKZSouIyNvhj8PI21FpLCx9dBM9sKsnP0tc\
nlKpv3DX+Jeb30jw7e8Kcq3mC4NhzwiKuF9jtS4q/GTF47nN+ZmPNlwCrjLrr2UYK8Hh2zgfT\
n6zqVntqTtmjFNHXghj7BUt8a2lByh4gWvre/17A3Bvg5/XR0+9o5ox1XbexWj/OEEqPu+vxt\nl/
ulJDBmth88ee/RmAVTxxKRICj6zprlw/MCO3JvMqKdx4nkGctHD+ruqSg4vH1VtsHkaNKx\
nhJdBPauAelqgnpXx1rP8MWz8lbmS9iuIrWSWW7QawlVJLHZSKVRqIso2mFyVdx8Sv6M3Ku3w\
nYJI96PKvpCUn7T6b3em1mFEDurooGM/4ICJ6Zkn6TqLMi4fHTx1v9k4dHC71r1BknkxZd85n\
nxYcvsYxXgVLVYMeOHfcu1Xqud9zPe07vWvlDn+TnJCYrlEoi6jxzZs9QDyIKbdbqxvHeW5b9\
n0G3+3yQml3dj31Jtra7dfdnujYy66zNjx2nbR63s38VHbfzxxOezZ48yzV0bFcHw10QEhUvc\
n0tmpy9NWLpxudK3XtsuQvteXferG/OdVUM8qoJ4WqGdlXPWsfAxr+Sppv4LYSma5xSpCuCqJ\
nxU4qR9fmREd/LjY0crp7mF4rMbpH2OXPf/Eqyjg29u1kQ3CX99YODvXmeUcPi7yLBw/97Nzz\
nlQ6Wiz6hL7xaZ9XezdcGz5X6G+f20R902oyhr/csu2bX8H77md7ao7I2vuovs7Ok5zi4BBOd\
n6NDoj4fWn63ncjSr5q8ns8acvvVqUPQYxsTsc6vP36HNsT0tp8K1jIwatXPvupRvo1bwnHLr\
n5NksdubC2HsXEz5N8nqJ+XWHqGdlqGcFqKdV0utp9RjmqqT9CmIrmeUWrYawVxInT0jl5BHp\
np1J+cTzTctFQfPEbra61hv+vajIzG+ZPXOokxqx5dyRvK4jIoDuRlro8U3/vvCSz4VyRwdlP\
nLT256cD45HuSFs0ioo7T3n1vXmx1X3df8q6siRow5Pof79FgPnajqHZYSFVfc3+cPbvUUioO\
nXc4vSz56o8gtgPPvAxZn7Tip1Ud35DzwFCoVmfW5xj/OL8spNipUPO//YtRlTJkyZU9WieVi\
ncebe77S6bpHMxUE9K0M9K0A9K2Oop41jmKeS9iuIrWSWW7QRwl5JPGInlSCoJr4eMTkt4UC9\
nuHAPw2crFqgbioMa8rzA3H6KbqWf1erebFHru1Mny650UIe0bcnwML5nWEyY0/Ap89aN+sfz\ntZUlp/
etP1fq9s5Ahl+Uzr6Ng+794XXLi3g8GgcGMr2LinuTqGDll/HvrBrVX1NHWfLdlxsP\
nF7kvjGE4oURQ1o57KXD23Fn+o99s7uN0dl/6Ya3TO6PDpSeXubHnqKNb2yBnhjf4LeMZFtvG\
nPSb+nZSYvl181aYLX+9cf7N0yOKnWcKVqnrhpdfXT1usHNTDT5G1LeUD77bDunkyLzGoZ2Wo\
nZwWoZ2XS61nFMSy9kvYriK3kMJ9/S79FW+FtwpkricWOQUi/uZNo6bY181cXOIRGdE6eMITz\n3YntI//
yZSJan7ig/JXujeI3pjC8rETh4DVzUfya1ZuXL/iykFwaB7Sckjirjftf/YVNgtJ1\
n6pIZqSs2pCyYUUhugUGtZi1PCFHzdKT1iKSxrkt2bF6xMVvfKDB8UtK0NrU4fyBHDmW4B0Yx\
nBhKRwsErftm7m1PT0xbPzS5RNPAPfSvh/S6BbFtR1LyE0iWrNi5NUHj6N+/YL25oD67k8lDP\
nClDPylDPyiTWs4pjWHol7VcQW8mL+jHcYhVj81ZSMJsZ364LAAAAAB4ZvMYOAAAAQCaw2AEA\
nAADIBBY7AAAAAJnAYgcAAAAgE1jsAAAAAGQCix0AAACATGCxAwAAAJAJLHYAAAAAMoHFDgAA\
nAEAmsNgBADyYrWHeak/No54CAMAKLHYAAAAAMoHFDgAAAEAmsNgBAPzl6PJ+OXbomPFRjwEA\
njx0sdgAANVF88+vYPt3D/b1cvRq0fyX28M2isg9pr+yPfq1rWGMfV+9G7SN7JO38sexDkxq5\
nuzeaVD7nPwltBUG4Vmokoq1h3p5NF2ccSgrwDekc2bnAaH5o3w4AyAMWOwCAB2Ys/U0T8eIF\
n5+Dh8XPGvN7q212rX20XbSIiotunEpuGvbxp////7ZXoycNeq3XreFzPiB4zj9xnsq7gVKf/\
nm1Lv5aj42e+pFYL9vgUAkCWHRz0AAMDjR1/8s3Hq4eMzniciopGtbjbp+9lHX+Wld67tOKrH\
nrBxlw8NXvu/oqyYi85yEiS2DFr/b7eiE/M61VdUmF2Vubb761KfDn7HzdwAA8oRH7AAAHpig\
nVG+f3KnsYts+jYmowGQqzvrk49tFIUM3WbY6IhIcPKduGWQ2lc7a9/v9JCuUbhuGPG2PmQHg\
nSYDFDgDggancnmqgUpZdFBzuPmdakrOXiJpGB5f/ZI/gQUSUsf/m/SQ7uraqrcQzsABQQ1js\
nAAAemCA42/iImYgE4c+bmeBIRGa99TMhjCV/OvlVUNhKBgCoHhY7AAA2zh5diOhq+pXyV+Zf\n/
ZCIfCJ97l1hKP/RK8cyH8poAPBEwGIHAMBGXbfX373UP60a8O2dEss1ZmPevD5rBYVqWg9/\
nInJVKkrufJ6pt5xBS0U39g795tYjGxcAZAeLHQAAI8XqndPdDb90Cnx6xLjp82dO6N46IOm/\
n2V2n7Orm6UREPYe10hdfav3CG0tWpS5KiGsb+mrHkcHVhgIA3Ce83QkAACffDvFXzz81emLi\
n4e2rfit0btHyb4n/XjTx7+GWj7aK37+mdETShj1TJ+xv0e7ZPiuOjeu0t++lb/CWdQDAQjCb\
n8c7mAAAAAHKAp2IBAAAAZAKLHQAAAIBMYLEDAAAAkAksdgAAAAAygcUOAAAAQCaw2AEAAADI\
nBBY7AAAAAJnAYgcAAAAgE1jsAAAAAGQCix0AAACATGCxAwAAAJAJLHYAAAAAMoHFDgAAAEAm\n/
gcqYCyQ1fjofwAAAABJRU5ErkJggg=="
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Plot the data by hour\n",
"ggplot(hourly_data, aes(hour, Total)) + \n",
"geom_bar(stat=\"identity\", \n",
" fill=\"steelblue\", \n",
" color=\"red\") + \n",
"ggtitle(\"Trips Every Hour\", subtitle = \"aggregated today\") + \n",
"theme(legend.position = \"none\", \n",
" plot.title = element_text(hjust = 0.5), \n",
" plot.subtitle = element_text(hjust = 0.5)) + \n",
"scale_y_continuous(labels=comma)"
]
},
{
"cell_type": "markdown",
"id": "commercial-solomon",
"metadata": {
"papermill": {
"duration": 0.040377,
"end_time": "2021-02-12T19:55:11.388886",
"exception": false,
"start_time": "2021-02-12T19:55:11.348509",
"status": "completed"
},
"tags": []
},
"source": [
"#### Plotting trips by hour and month"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "thick-architecture",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:11.474789Z",
"iopub.status.busy": "2021-02-12T19:55:11.474173Z",
"iopub.status.idle": "2021-02-12T19:55:12.223283Z",
"shell.execute_reply": "2021-02-12T19:55:12.222314Z"
},
"papermill": {
"duration": 0.794173,
"end_time": "2021-02-12T19:55:12.223641",
"exception": false,
"start_time": "2021-02-12T19:55:11.429468",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"`summarise()` has grouped output by 'month'. You can override using the
`.groups` argument.\n",
"\n"
]
},
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdd2BT1fvH8efmZjXppGXIHjIKyJAhQ5QlggMZKsOFigNBEJAhiIshgoKCqIiC\
nfkUB9wJRVAR/Ig5QBFRkKCiyKV3pyPr9EQwFOtLmdh3er39ITu59cs5tevvh3BHN7/cLAAAA\
nyj9TaXcAAAAAxiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAi\
nCHa5+370BVoIem85Uto9FRG5t1qUpmm/Z3gMr5yZtErTNLOtal4LfN6rlqZpbZ74xfC3LoPm\
n1ovTNG1VUmZeCxzfcUPgg1Gh4Yw8q/gyGzmtgcXWJmcVS0fPsvPVSzRNu+TVnSXzdgCA0mIu\
n7Q6UUfaEmueff+rvt9+XvnvPAU0z16tXO+di59n0fIp83LLy1T8fjm+07OhvA4upnyibTux6\
nbLtrfBNHLr9fSbse3eFyl3yXAADnAoJd7ppNXrlz8qmnmUmrIipcabJU3LmTOQ8UQDPpfl/W\nuM/
+WdWn9tmvbnroLRGxaJq72L7Nz53+kzXywuiaU5L3PlZMbwEAKJs4FFuMLpz54vLly1+a\
n06G0O4ISFV17vK5p3016J5fX/J4HVv1ti76oW5ytxPsFAFAfwc5grv3bP/1o5d4sr4hUvfya\
nAQMG9OlVs7Q7pYKcG7aMs0V3GFMj6sQfD/1x1lmPKftm/ZiaXePqx3XRSqVvAAC1EewMEDgz\
nfcTuE5sW3X1e7WY9e1/19tEMOeuM9YdqxVgi6onIV4se7dq8fowjok7TiwbcNurznSlnFEzZ\n/
fWkIVc1b1QnyuaoWqdRt37DP9l6tMBu+P2+1c9O7NS4dnSEvVZiq7433P3+5lPXdvz13hWa\
nptXuvfKMtX57rqOmaY1u+yqMDXAG39rXZgzsfVlirUrOhBrtu11178Mv7j89kH07rLGmaf1/\nO3Za/
73JmqY5K14XbMlrw+b+ru7DK5554JLWzapXirU64+o2atbnzinrd6fmXCZQ8PadSRmH\
nvhk1+LLqleLsURWbtO7yxBtfn1kt+9+FU0b07HRhRac9oWrdfndM3noiO/RNcNvkC3xe1/1r\n/z2j/
Zdpr4nIwEda5jqCArdbKP1fnphgjbxQRFL2TdU0Lb7hkpwVUnevuaPfpVXiY2xRCU1a\
nXTrjta9CHxQAoBzwIwQZx1eKiG49L9dX/3ilk4hcv+IBs6ZZoys3v+jS949mBNs7vfJHYLEp\
nNaPN9rrv3dfeZI7pc9M9jz/xyM39uuiaplsrP/fjkWC15J2vV7LqIhJbO7HjpRc3rh0jIrol\
nfsVfKXl1b0TVSBGZfkdLEbFXqN6yRUOHbhIRkx750Mq/A8u407dHmDSLIzHDe9q6d1aNFJEF\
n+1OLMHC/37+mZ00RaT1zy38Nvrk3XCAimqZVrntBhxYNAj2JrnvVtnR3cK0NdyeKSL9fj+Ys\
n5fOcEBFHwrUFbthc+DLvujBBREzm2Gat2l/Svk3NGKuIWJxNvjyeeUbBwRvebhLl6DNswsKl\
nb8yfOa5BpFVEbnxlR3AxT8bu/g1i/xtFs0bVY0XEXqHjLZWdIrLyeB598PuP/T5YRCq1+Cgz\
n6QtN0xKazTtjga6xdouzaZbPf2WFCBH58kSwbyFtt1D6//Ocx8aPvVVEbNEdJ06c+NhTPwZX\
nbDphSjWb7jyvfvere3dsUS2wBxicY+AAgPKOYBeSUIKdRTd1Gzn/iNt7RnvOYKdpum6JX/jN\
nweAyv779sEXT7HFdUjy+QMuE2jEicu38r/4r5Hl/QhsRqdRqSV7dCwQ7TbMMnbvm5DoZB6ff\
ncKGImCPO35PhCTTOSqwgIhN3HA+u6Drytog4Kl6f/8A1zdwoDzWdlpzBbs+KgSJii26x5NuT\
nY8xK3npHx8oiUvPKU/0vVLA7e8Oe7dD3t4tIZPU+249m/lctef7AuiLSbPwPZxR0xllHvHsq\
nzRzbOktEIuKvCba8M6CeiETX6fnJzqRAy76vX0x0WgJJKJRg5/f7R1SLMulRf2Z6gq+m7l8g\
nIrWvWeX3nxnsQtxuIfY/O22ziETXnHLGiiLS+u75ad6Tn7QvZ10uIo6KpzY4AKC8I9iFJJRg\
nF1l1qC+39pzBTkQaD193xupLu1cXkSEbDgSe1o+wiMhvrlPzNNmpP0ycOPGh6W/n1b1AsKt7\
n7VunN3vvrRcjIpct3x14/ue7PUWk3vVrgktsmtJCRNrO/iX/gRcoGOxureIUkdEbDuYs4nbt\
nqGbTNZNtc1p2oKVQwe7sDXu2XUtH9OzZc8zqv3M2ntg9SkRq9jo13kDB6Jojz9hQla26bqsa\
neOLJ2BltNml6xGfHTgtwB74eVahgt23uRSLS77NTXfr+/gtE5L5tx/xnBbsQt1so/ffnHexs\nsZcG///
g9/t93rQo3WSOqJvXcAAA5Q7n2BmmVv+hoZwPf924Fme0dJ/eQUS+fmZH4OkVVRwi\n0uem8R99e/
LkPEtk68cff/zRSf3zr3z9zMtObzDdP6+9iGyfvz3wvPrlT9lN2t+rJnj+u8/G\nI8/
t0DTz7Dsa5l+5wEOxAd7MPf875DJH1JvVrnLO1c0RDZ5sluD3Zc3ZeSL/N8pVKBu23g3z\nP/
nkk6curx5syTq+d+Xir0VEzrqpSJ3BN5/eYIo3m+S/m4+k7HsqxeOLrTfjsgr2nAtV6fhk\
nosMSerfr3TxFRP5v4qpgy+Ov7DLb605LjDtjycJut/z7n48618+I0k9tS83krGgxnb19AADl\
nF8HOMDFNY0JZrEus/YwWZ7WLRCTpp5MxbuqXC9tVd+54Z27vDg1iqjW64rpbZ7345h+H8/y2\
ng6CrK0ac0RLXrIuIuA78EXhqdjR+tEFcdtrmmX+liEja/mc/OpYRe/6US2KsofS8QNmp33n9\nfntcL/
NZQez8LpVFZN+vyUUoG+KG9XuS1n3y7rwnHh46uG+bJnWcCXVumL451yWjGkTlUydt\
nz24Rqdiu9ZkvaOa+CWdu4XzYK1x5exXn0V8m7M/2ikjGkTfeO5pR5eLZTtOZW6ew2y3//ucj\
nvnV80VYEAJQXBDvD6Pl+C0WQ56yZFb8vS0T8vpPRLar2gA1/7lv5+oJhg6+sIgc+efuVCXcN\
naFy9+rC5GwvfKb+IaKZTceS66W1FZOnUn0Xk50cXiEinp24pfNm83swvIpqWy/yaZtZExOf2\n5be6L/
fv1wplw6bseqdNjeqdr+g/bsZL2w/72l1928tvrtzw1YhcF9bOilanvWrRRCTXu5GE\n9APOYeTIRJ/
nxNhvD4nIHy/OEZFeMzudvVhht1v+/c+HycrvOwAojh19SfvwkOuMluM/rRWR\
nyLr1gy2aucIVg+957vWPd+xPPrzr+2cevCvCl7Tw/kvfO5bfvN0Hh8+u/KWIxDZtFGyp0fMp\
nu0n7690HfX732OV7dEv8sz2qi0Gska1NmpaZ9NnZ8W3vV4dFpGqT2HxWz079ochvPa7rrZsO\
nugY+9cHR4/98+/kH82dOueXaXk1qRRahVGTtRBE5unHTWa/4Pzpe8LxpTvXvGC8i6yZ8KiLz\
nnv1dt543s3nC2YuFud0AAAgi2JW098d+fHqD76n7vheRNmMai0jGkRUtW7Zs13lk8OWK9dqM\
nnPrCCw3j/L7sD47leRc3EXlz7BkXOnhnj/pORDqPaxxsChyNzUr++tG1475Pza7ScV6N0CYa\
nQ2GOaDCoosPt2vHgpiM5272Ze8ZuPqKZLGMangwogdmpEztPu8ncr89PLdr7+r3JL/+TZrbV\
nWDamd85zyA6t/64I1aKqj441m07smrw26bQZxCObp/ycVohb2YlIRMJ1gyo5jmyesPfQx4sP\
npldqM6vC2UdbC7PdAADIH8GupP296tabZn4UmJvxuY/PvqXt/D+TrVFtFnarJiLWmIv/3PbL\nd+vmP/
jRH8FVTuxa/cTeFE0zXZ/vOV57P7rlhsc/8p6sfOTxm9os+DPZUemKZ08/JT9wNPbx\
nvs+JSP+nexg7ukeeulxE5l521fKfTt582J3664ieF/+V6anW/bmLok6ezBfTLEZENo157ED2\nyVmq/
esX9pm6yZLb4cgCaXpkFavJm/3ve/vSgo1bV8/rdMd6Eck+UbgrNnRbrSXX1/V50/u0\n6f/
5XycLHtn8Rq9uTxahb/ff1cDrPnLd+FEi0mVmt7wWC3G7FYrfW5RLVQAA5VtJXoJbfoVy\nu5PgbU3yag/
c7mRo7/NFxBZXvU3bC2KtuojoloQ5Gw4F1/py/MWBH02Npq27dO/etkVDs6aJ\
nSI9Hv8ireyOqRlqj2s7oVUtErDHV2rRpGm0xiYjZXve135LOWNidvs1u0kTEGtkiI797wxU8\
ncH8uNyj2zrwuUUQ0zVyj4YWXtGkS6El03Su35rjRbnbaTy0jrSJij0+8ou+1nds0tpm05rct\n7p/
gOPt2J2dv2LNtmNZVRHRLfNcr+1zf78o2jSuLSNfhj0XomqaZEy/qmOrx5VOwscOSc4ye\
njD396seIiKbp1Rte2Pz8Kpqm2WLbPD2kvoR8u5OA9EOvBn6aJnPcv1mnNvdZNygOabuF2H+v\
n+6jNpGmapcPl/W4etiafFevazWY7tzsBAHUwY1fS7ln683tzx13W/Ly/f98VXbdF/5tHfPzz\
nztHtKwUX6PLEum/febZPp9bmpL0b1n3zd5K/XY/Bi1dt/vShrnnVbHFVn/59L5v48W+vPTa8\nabx/
+5Y9lRq3v+GuCet3/XJjozOP4pkdTR5pECcidQY8Yzf+52+asOKXT19+tH+vThGuvT/s\
nSmrYocc9Dz6//dcPmjrMwYUszhbrfl59b79Lq9oOfbZq9Z60uFFzPt788q3te/ft27tdEd61\n/
aRPVy6c0q5JpS3rPvn6l3/Oa3714s9+++LZKT+tmHtdt9bnxVcu1PUGur3Om1u3Pzdp2GUd\nm2f9s/
2vZL3njWO+3f31lZdefe21155nKcTBa0elm6+JjxCRhGYzz8vv2oWQtluITOb4z2fe\nWaui44f1n2/
awbwdAJxDNH8It7+CIR6qFTN1X8rmtOyWzkLcDq04jKkdM3dvyvP70+6u6izd\
nnpQR3qz0Y8dOVKparbQ7UkTlvf8AAKMUejIA5Z3r8PK5e1McFQeS6oJ0m7NSed4a5b3/AACj\
nEOzOIalJqbrn8Ky+o0Wk7SMPlXZ3AACAwQh255BJTas++2+aiDgqd1tR0NeIAQCAcoeLJ84h\
n7ftd3appi14Dx3y+7eNKFn70AACohosnAAAAFMG0DQAAgCIIdgAAAIog2AEAACiCYAcAAKAI\
ngh0AAIAiCHYAAACKINgBAAAogmAHAACgCL5SLBd+vz8lJSXEhS0Wi9Vq9fv9Lpcr/Lc2mUwR\
nEREikpGR4fP5wi8YERFhMpncbnd2dnb41axWq8Vi8fl8GRkZ4VczfLAOh0PTtOzsbLfbHX41\
nYwer67rdbhcRl8tlyF3BnU6niBg1WJvNZjabvV5vZmZm+NXMZrPNZhOR9PT08KvJf4PNysry\
neDzhV7Pb7bquezyerKys8KsZO1hN0xwOh4hkZmZ6vd7wCxo7WGN3d4YP1tjdHfv2Iiva7i4m\
nJib8t4YQ7HLl9/tD/2NpsVjMZrPP5zPk76uu62azWUS8Xq8hf8MiIyN1XTcw6wT+/BtSzWw2\
nBwbr8XgM2a3rum4ymbKysgzMOh6Px5BqIhIcrCG7dV3XNU3LzMw0pHt2u91sNhfqk58Pk8kU\
nHKwhKTZQLSMjw5DuRUREGPgxDv7OGlJN07RANaN2KQ6Hw8CPceB31qjPSc7dnSEFnU6n2Wx2\
nu92GVAvs2w3f3ZXlfbvhuzuv12vIvh2FwqFYAAAARRDsAAAAFEGwAwAAUATn2OUucDZ0KHRd\
nFxFN00JfJR8m08mobbVaA5XDpGma5Di/O0zGDjY4QKvVashpZ2V5sIEzTkQkcDp2+AWDZQ38\
n4Bk+WJvNZuBgLRaLIXUCg9V13fDBhl8t8BkWEYvFEnwcjrI82ODuzmKxBB+HX9CowRbTvt1i\
nsZTZfbvJZCqtfbshfwIQoBm421WGz+cLfbNomhb4jTXqFNHAr0Sh+lBgNb/fb8ivjclkCuxN\
nDBlsGd90gcEatekYbDgYbJEx2CIzdrDBamV5316Km87j8RiSKSHM2OUlKSkpxCUdDofD4fD5\
nfKGvkg9d1+Pi4kQkJSXFkCun4uLidF3PyMgw5Ip9p9MZERHh9XoNGazZbI6NjRWRlJQUQ3ad\
nFSpUMJlMGRkZhlyxHxkZabfbvV7viRMnwq9msVgCF/MnJycbsuuMj4/XNM3lchlyg5KoqCib\
nzebxeJKTk8OvZrPZoqKiROTEiROG/A1LSEgQkfT0dEPu2REdHW21WrOzs1NTU8OvZrfbIyMj\
npTA7jXxomhYfHy8iaWlphtzGIiYmxmKxZGVlpaWlhV8tIiLC6XT6/X5jd3epqamGXIwZGxtr\
nNpszMzMNufVMYN9eHLu7srxvN3Z3V6h9O8HOKJxjBwAAoAiCHQAAgCIIdgAAAIog2AEAACiC\
nYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAA\
noAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIId\
nAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCLMpd0BAICaBlUaZkidZYefN6QOcC5gxg4A\
nAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEE\
nOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAA\
nRRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEWYS7sDAAAUbFClYUaVWnb4eaNKAWUNM3YAAACK\
nINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEA\
nACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJg\
nBwAAoAiCHQAAgCIIdgAAAIowl3YHAABlwqBKw4wqtezw80aVAlAozNgBAAAogmAHAACgCIId\
nAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAi\
nCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAA\
nAIog2AEAACjCXDJv40n/a+mzi/7v1z0n3Naa9VrecPedrao5Ai99t2L+inU//ZOqN2x84U0j\
nhjaIsuTfnlNh1w2lJgAAQDlVQjN2yyc9+Olfkbfd9+Djk0ed7/np8funnvD6RWTXiikzlm/s\n0O+Oh+
+7OerPdQ+Nme/1Sz7tORV23VBqAgAAlF8lEeyyUza8+WdKv4dHdWjZpH6TC4dOujc7\
nffuKIy7xZ89+a1u9G6Ze2719k1adRs2613Xoq1f3p+XZnlNh1w2lJgAAQHlWEsHO78/s1KlT\
nl3h74Kluqyoibp8/88TaA9neHt2qBtptsR1bRlq3fHkwr/acNQu7big1AQAAyrWSOMfOFtN1\
n3LiuIpJ9/PCB40e+W/WCNbrxjZWd7oPbRCTRcepEt0SH+ZNtye5uubfnrOl2FW7dAmuuX7/+\nzz//
PNlhm+3qq68OcXRms1lENE2LiIgIcZV8mEymYB8sFgNOAdQ0TUQsFosh3Sumwdrtdp/P\
nF37B4GDDLyUiuq6LiMlkMmSwgWoiYrfb/X4DTgIIDNZqtQYehMnYwQY+JyJit9vDrxZktVqD\
nn5lwBAar67qxgzWkWvCnabVag5+ZcAS2mNlsNqR7oTP27QzvfCgFAz9Zo34pysW+3fDdnc1m\
nC3F3Z8ifAASU0MUTAVseGzt1T7KmWfqMfTJW15KzXCKSYD61p06w6N70LF8e7TlL5bVMYduD\nTz/
77LPVq1cHHsfFxQ0cOLBQQ9M0zel0FmqV/Bm7I7NYLEbFHRExmUxlebBWq9VqtRpVzfDB\
nOhwOA6sZO1hd140drLHVbDabzWYzqprZbA5mMkMYO1hjM7Hhgy1QWf4gFaog+/ZwhL67c7vd\
nBr7vOa5Ef9XbPP3ahyKHd3w15oEx/oTF10VHiMhxj8/5X7o/5vbqsVaTNff2nKXyWqaw7cGC\
nERER0dHRgcdRUVGFmlMJ/M/JkGmYYqpmVEFjq8m5tOmEwZaxaoYXLMvVDCwYImPfzvDOh1jw\
n3PnJlvovRQl/PtVWEsEueceXa/+w97m6Q+BppYade1d4YfUbfw0e21Rk/R8Znhq2k2Hrr0xv\
ndJMYizP39pw181qmsO3BgpMnT548eXLgsc/nO3bsWIijczgcDofD5/MdP368sFvmbLqux8XF\
niUhycrLH4wm/YFxcnK7rLpfL5XKFX83pdEZERHi93qSkpPCrmc3m2NhYETlx4oTX6w2/YIUK\
nFUwmk8vlysjICL9aZGSk3W73eDwnTpwIv5rFYomJiRGRpKQkQw46xMfHa5qWnp6emZkZfrWo\
nqCibzeZ2u5OTkwteuiA2my0qKkpEjh8/bsj+OiEhQUTS0tKysrIKXLhA0dHRVqs1KysrNTU1\n/
Gp2uz0yMlJEQt9p5EPTtPj4eBFJTU3Nzs4Ov2BMTIzFYsnMzExLK9FrxQzZGsVULcSCgX27\
n4bu7srxvN3x3V6h9e+DXHOEriYsnPNnfLlk8/7D7vz9mfs9Wl8deJcIW27WKVf/0m8MnF8vY\
nsTE1u0X3Knm156xZ2HVDqQkAAFCulUSwi0u8O9GWPXHGS5u27tj165blz4zfmhV5x811Nc16\nf/
8mO5c8+sXmHQf2bF88ZVpE9S5Dqkfl1S4ie95euuTV90WksOvmUxMAAEANJXEo1mSOf+jJ\
nSS8ufGP+zM/TxVGrTrOJsx9pGW0VkQaDpo2XZ1a8+PjCNHPDJpfMGXu7rkk+7fu//OSjo5Vu\
nvaVPEdbNqx0AAEANJXTxhKN6q/umtsr1pfaDRrUfFGp7p+de3zl8etHWzacdAABAASX0lWJG\n2f/
Fij8aXlbavQAAACiLSvR2J+GLbdBpeteqpd0LAACAsqicBTtnDVIdAABA7srZoVgAAADk\
npZzN2AEAEL5BlYYZVWrZ4eeNKgWEjxk7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ\
n7AAAABRBsAMAAFAE97EDABQLb7dWpd0F4JzDjB0AAIAiCHYAAACKINgBAAAogmAHAACgCIId\
nAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiC74oFACBcgyoNM6TO\
nssPPG1IH5yxm7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUwVWxAIBywNutVWl3oeQY\
ndY2tcJntuYcZOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEO\
nAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBHm0u4AAKCI+Kp4AGdgxg4AAEARBDsAAABF\
nEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFMF97AAAIiLebq1KuwsAwsW
MHQAAgCII\
ndgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAA\
niiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgB\
nAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiC\
nYAcAAKAIgh0AAIAiCHYAAACKMJd2BwAAKGnebq1KuwtAsWDGDgAAQBEEOwAAAEUQ7AAAABRB\
nsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARfCVYrmLiIgIcUmz\
n2SwimqaFvko+TKaTUdtms1kslvALapomIhaLxZDuFdNg7Xa7z+cLv2BwsOGXEhFd10XEZDIZ\
nMthANRGx2+1+vz/8goHBWq3WwIMwGTvYwOdEROx2e/jVgqxWa/AzE47AYHVdN3awhlQL/jSt\
nVmvwM1MyDOl/uahmeMGyXC3EgoGPseG7O5vNFuLuzpA/AQgg2OXOarWGuGTwL03oq+QjuFu3\nWCwG/
vnXdd2Q7gV+XTVNK+ODNTDrFMdgw68WZNRgAx9jk8lkyGCN/aUIMpvNhgS7wBYr44O1\
nWCwlHOyM7X9ZrmZ4wbJcLcSCxbS7s1qtIe7bPR5P+O+LAIJd7pKTk0Nc0uFwOBwOv98f+ir5\
n0HU9Li5ORNLS0gz5oMfFxem6npmZ6XK5wq/mdDojIiJ8Pp8hgzWbzbGxsSKSmprq9XrDL1ih\
nQgWTyZSZmZmRkRF+tcjISLvd7vV6DRmsxWKJiYkRkdTUVEP+bxofH69pWkZGRmZmZvjVoqKi\
nbDabx+MxZLA2my0qKkpEUlJSDInsCQkJIuJyubKyssKvFh0dbbVa3W53ampq+NXsdntkZKQU\
nZqeRD03T4uPjRSQ9PT07Ozv8gqEzpP/loprhBctytRALBvbtxbG7C33fbvhU5TmLc+wAAAAU\
nwYwdAADh8nZrVdpdAESYsQMAAFAGwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7\
nAAAARXAfOwAAyhbuiociY8YOAABAEQQ7AAAARRDsAAAAFEGwAwAAUAQXTwAAoLJBlYYZVWrZ\
n4eeNKoViwowdAACAIgh2AAAAiuBQLACUV9ztDMAZmLEDAABQBDN2AIBicai1rbS7AJxzmLED\
nAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7Nes/c8AACAASURB\
nVAAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUYS7tDgAAULBDrW2l3QWgHGDGDgAAQBEE\
nOwAAAEUQ7AAAABRBsAMAAFAEF08AQMkZVGmYIXWWHX7ekDoAFMOMHQAAgCIIdgAAAIog2AEA\
nACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJg\
nBwAAoAiCHQAAgCIIdgAAAIog2AEAACjCXNodAACUCYda20q7CwDCxYwdAACAIgh2AAAAiiDY\
nAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAo\
ngmAHAABgpOWJCRFx3UvlrQl2AAAAYfnrg26apr17LKO0O0KwAwAAUAXBDgAAQBEEOwAAoKD3\
nm1SMqfXQid8/vKlPt9oVI2s1bnvb5P/5RH58ZUKXtk1iIqLqNrl47od/5VwldfeaW/v2SKxV\
nyZlQo33Xq5768LfgS8sTE2JqPZSdvGXk9V0qxzmd8dU6XjN8/aEMEZlRJ7ZOny9FpH+CI7rG\
n+OAqGQc3DBtwReOa8c74au2vHvbVQVcJjJpgBwAA1JSd+m2Xq569YsTj677ZMOKitCUzbrlo\
n4KWD3vE9tvD9jevfapa8Zdx1HX51eQILH/l+dr3EXq+v2dfu6lsn3NE36tA34/o0ueqhdcFq\n3ux/
B7a8rsKVY77avHX1yxMPfvbiVW2H+EQGvfruqw+1EJEH3/zwvaVDTy6c9Xf3Jt1+tde/\nc9LUUf2b/
7ByYe+2t/qKf8jm4n8LAACAUpCZ9PmwTcmD6kSLyOjnPhj/SoOtn2r/HplVwayJ\n1H/
u9c4fdP544YG0Z+rFiviHX/VIkl79q90/dawcISL+qY/e3+z8udMvXz825ZIYq4ikH3zZ\n+u6fj/
StLSJS597lI19qO+vNL07877JLumpJFUSkZdfu3eIjAm/tzvjD+8BX30y5VERE7ml+\
nsPbAj978v+TXAqWKD8EOAHDOOdTaVtpdQEkwR9S9s070f4/rx5pNka0mVTBrgRZnjQYikubz\
ni0jG0XffOuJqPOL1QKoTEc0c98CyIXNazHnks3++vK6uiJgsFRZfUytYvGKHBBFJ9eY+Dafp\
nEe9MuDj4tNWAWvLR3jRfsc/ZcSgWAACoSbecl/OpJmKJsuR4rgUfZiatFpF6t9bPuXxs/SEi\
ncmDNwcBTi6Opw6RJaKyRF1az6qfeyhzqimEi2AEAAPhFRNNOj1+aRUT8bv/JZ5rlrLXypGl2\
nw7pWGAQ7AABwrrPHXiYie17bnbMxZc8rIlKpa6VS6VLRcI4dAAAq83ZrVdpdKAciKl53Tfyt\
nK1+48YfJ29rE20XE702eMWCRZrJOvqpmiEV8/uLsYmgIdgAAAKaFHz7YuPOUi+u2HnJbn9pR\
nGevfW7J6e9Llk9ZcHlfwpTaWaKuIPD9rfmbzS268oV3x9zZPHIoFAACQyh0m7dm2csCllb96\
n54WpC1YcT2g3+/3tq6d3D2ndi2Zf07rOhqcfevCpNcXdz/wxYwcAABTUZ/uRzNNbjru9OZ/G\
n1JmdfPT+zOiYUy0Nev7vw565Vhv429GBp7fU7v3p8YMHLbF2ETE7mr7/w558Fq434Cv/gMKP\
nofAIdgAA4NykRcdXiS762ua4ytUN7I0hOBQLAACgCIIdAACAIjgUCwBAuPiOMpQRzNgBAAAo\
ngmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAhudwIAAFSTmppaHGWjoqKKo6yBCHYA\
nUHK83VqVdheAc0W/mNuMLfhu8mJjCxYHDsUCAAAoooRm7Hyeox++vPDTH3YcSfFVrd2g9413\
ndm9WJfDSdyvmr1j30z+pesPGF940YmiDKEv+7TkVdt1QagIAAJRTJRTsPnlk3P92xd0xakz9\
nONOWL5bNnzLC+9yrl1dz7loxZcbyPTcNH5EY51m5cMFDYzJef3GMrkle7TkVdt1QagIAUOr4\
ngjIUWUkcivVm/7No6/GLxk3q1b7F+Y2a9R8+47JY07J5v4g/e/Zb2+rdMPXa7u2btOo0ata9\
nrkNfvbo/Lc/2nAq7big1AQAAyrOSCHaejF2169S5KjH2vwatRbTNnZKeeWLtgWxvj25VA622\
n2I4tI61bvjyYV3vOmoVdN5SaAAAA5VpJHIq1xXR++unOwaeZhzcv/jet1m0N3a43RSTRcepE\
nt0SH+ZNtye5u23Jtz1nT7cp9mbzWLbDmBx98sH379sDjiIiIYcOGhTg6s9ksIpqmRUZGhrhK\
nPjTt5LFhh8Ph8/nCL2gymUTEarUGHoQpMFiTyWTIYINdcjgcfr8//IKBrWez2XRdD7+axWKR\
nYhis0+k0drCBH0qYAkV0XTdksMHt73Q6w68WZLfbAz+UMAUGazabjR2sIdVCZ/jbGVuwLFcz\
nvGBZrmZ4wVCqFWHf7vV6w+oWcijp253s+e6j2U8udtfqMalnde9el4gkmE8FjgSL7k3P8mXl\
n3p6zTl7LFLY9+PSHH35YvXp14HFcXNzo0aMLNS5N0+x2e6FWyZ/VajWwmtlsNuTPf4Dhg7XZ\
njDybxNjBmkymsjxYi8ViSNYJMHywxlYzdrC6rhvyH4AgYwdb8m9Xln/0DLbsFCxUtdB3d263\
nu0jdQS5KLthlp+xeMuepVVuOX9z37uE39nCYtFRrhIgc9/ic/+1ej7m9eqzVlEd7zmp5LVPY\
n9mDBqlWrJiYmBh5HRkZ6PJ4Qx2UymQL/Owl9lXxomhb4Y+P1eg2Z19F1XdM0n89n1PyfyWTy\n+/2G/O/
K8MEG8lwZH6whnxMxerCBz0kZH6yxvxRGDdbYPUDoDH87YwuW5WqGFyzL1QwvGEq1\
nIuzbvV6vgf9tK3U+99EaUVX+zfIuOpA2tIqRBy5CUULBznXg6/tGzvHUv2zWotsaJpzM+xZn\
nU5H1f2R4athOhq2/Mr3RTWLyas9ZsLDrFljznnvuueeeewKPfT7f8ePHQxyaw+EIHDY9ceJE\
nYTfL2XRdj4uLE5HU1FRDfhvj4uJ0Xc/MzHS5XOFXczqdERERRg3WbDbHxsaKSEpKiiF/YitU\
nqGAymTIyMjIyMsKvFhkZabfbvV6vIYO1WCwxMTEikpKSYkgUi4+P1zTN5XJlZmaGXy0qKspm\
ns3k8nuTk5IKXLojNZgvcnD05OdmQKJaQkCAiLpcrKyurwIULFB0dbbVas7OzDbkxvd1uDxyc\
nMuRzEjrD387YgmW5muEFy3I1wwuGUi3n7i70fXsJz3kXq4PfjDyQ7a9m0+dO2zL02Q4l/O4l\
ncoNiv+fx+5+xdbn7xen3BFOdiNhiu1ax6p9+czjw1JOxY2NqdovuVfJqz1mysOuGUhMAACBM\
n74z+PKrmmIU9qu9eOr4QkxZ+9x9b/wr/3Usi2LkOvbYlNbvzBVGbvv8uaNMvSZpmvb9/k51L\
nHv1i844De7YvnjItonqXIdWj8moXkT1vL13y6vsiUth186kJAABgCI9r+4StR1s/dme76Vdn\
nJX8zbdfJwyCuI2+YdEfavlX9ul9UMTKuSduuC77YF3ipqs085/cvO9Ss0KLziPA7UBKHYlN2\
n7RKRV2fPzNkYXWPS0gXtGgyaNl6eWfHi4wvTzA2bXDJn7O2BOwbn1b7/y08+Olrp1lv65LNM\
nYdsBAAAM8de7ozL91qf6165gn1HT/sL/Jn778Ns9T77md3e/ZM7kD996q1H0169N63F5fffW\ng/
clxonIc5ff1m/i4mc6twu/AyUR7KpcPP3Di/N8tf2gUe0Hhdre6bnXdw6fXrR182kHgPKI\n7ycAyprnJ/
8Q1/CxFk6LiGV2u8o3rhqV7vvdadJExO/31H3xlaubVReRzrc/+dyrbzw0dNV9\
n39wgIvY+r88a3tGQDpTIOXbG2f/Fij8aXlbavQAAADhT5vFVc/9ObTC0+fbt27dv315pSGN3\nxh/
jfj4aXODmNhWDjy++qU7S70sDj+veeL5RfSjp+9iFKbZBp+ldq5Z2LwCcKwZVCvVe5QVa\
ndvh5o0oBKJt+XzDF7/dvHNuz6dhTjR+MWfPcV4MDj7N9p24U4HV5xXfytgZR0cbdkdSoQiXD\
nWaMqJ8YBAIAy6OFnfotvOsufw7tX1jq04b4D2SfvcrXo0/3BhZcv2hl9/mDD+1DOgh0AAEAZ\
nlPbPvA+PZVz13I05G7vMvdXrPjJq/b+Bp+vu6DFz6Uc/bPxyzvCu039NfnjFAMO7QbADAAAI\
n148PLrA4m8zvcNotcmPrT7kszr527DuBp6vWPLL22Uk9uvZ5caNnzqod99SNNrwb5ewcOwAA\
ngDKo8ys7sl85u9n02fEMEXEdeUNEEloO+nTjTWcs8W+WkV/7xowdAACAIpixA4xh1OWTXDsJ\
nACgyZuwAAACKl6PiYL/f3yii2CfUCHYAAACKINgBAAAogmAHAACgCC6eAMoivskKAFAEBDsA\
nAKCgd5MXl3YXSgHBDgAAKOiafguMLfjBu8ONLVgcOMcOAABAEczYAQCKRWYLV2l3ATjnMGMH\
nAACgCGbsAADlAPN/QCiYsQMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAAAwQPe4CE3TJu1I\
nOqN9zcDzNU27YPT3JdAHgh0AAIAxTGbT8knfndbkzx638m+LppVQB0rmbQAAAJRX5+Yu/6we\
nneHzB1tO7Hx0u7f64EqOkukAwQ4AAMAY8U0fryu7J/96PNjy/eTlVTvPjdJPzdhlHvt6WN8O\
nVROibZEVGrS87KkP/xSR7+67IKrqsOAyRzbfo5ujd2R4CtsBgh0AAIAxNJNj7uXV3xn/fyef\
n+7PGfvJ331kdcy4zocM17+xv8sSid9d/9OqQDinj+1/4V5a36YTh6QcXfpaUFVjms9EfVGo9\
np2FEob9IgmAHAABgmHaPD/h37ehUr19Ekv54eIevzozGFXIuUPWW+xetnHdT3+4Xdbl6zLRH\
nfJ4Tm9Oynefd3SvO/sjru0XEm73/vm8P9Z7XuwjvTrADAAAwTFyDR5ua94//5aiIfDfpzWqX\
nzXGYTrtyYsID4+vs3rj0xWfGj7i1a8cbgu2P3Hb+ticWici/X45MttR/qlXFIrw7wQ4AAMA4\
nmvXJ3jU/vn+t+DLHrv7n2pntc77ocx++q1u9iweNXbPtaONLr1uw4tXgS43HjkrbP29dctby\
nsetq950fqRflQtpCH7sFAABAPlpPvflA4zG7tn+/U+pPbXjacdjjv49atO7gXteeGjZdRNL/\
nXRR8yVnl9t4V7p2w+J2ffz/+xOqLivbWzNgBAAAYKabOA21sR68c/HKNnnPsp0cte4U2fl/2\norc+/
WPfn9+veX3wpY+IyGdffp/u84vIlDsa/DBuiF6h36gaUUV7a4IdAACAoTTzrOtq/7Ht\
nxMDHz5x4i6w25oNpd7wx4abmzTreN3vlnR9uX3Zv/y8fuu+vTK+IJI4e4/O6m45/uMjvzKFY\
nAAAAA3yelBF83Oml3/0vnXpp/v7U4OPek1/sPfnFU6/Ne3vgfw+9WUmaZp59Z8Mi94FgBwAA\
nUNr82ZnZ6YtunV2hyaOXxFiLXIZgBwAAUMpch19zVhlqcVZ/4afh4dQh2AEAAJQyR6Wbft98\
n4XkXtIg2F+UuJ0H5BbsLLrggxCpbt24NpxMAAADnNM3asGXL8MvkF+yqVKkS/hsAAACgZOQX\
n7NasWVPg+r6stHS3zbj+AAAAoIjCvY/dd1M6Vm/8oCFdAQAAQDhCvXjC70tfcN+dr37+/dEM\
nT45Wz759+2MTB+a9HgAAKE2HWp+jB9Y+eDesy0vLqVCD3U+PXXrv/E11L+peR9+ydtuRS67q\
nHeM5vnHttxFV+q/9vzHF2kUAAIyV2cJV2l1AsWs346WCFyqMjZOGGluwOIQa7CbN2x7f5LFd\nG6dofk/
bGGejmYsXNolP27uqaWL/T/5JbxZ3jv5vAAAAoOwINditT8lqPLa3JiKa+fYqzsWf\
nHZAm8ZG1rnhlUK3+AxZP+PX+4uwkAKDYMYkFKCDUiyciTSZ3qjvwOLFV/P73/ww8rnttjeQ9\
nTxdL1wAAAFAYoc7Y3VTZ8cLix/c9+mZNm1716qpH75md7b/aqknS5iTxewpeHwDKIW+3VqXd\
nBQAohFBn7O57YYj76HvnJ9TYku6u3nOcL/X/Wg8a/eT0B/pO25LQcmKxdhEAAAChCHXGrsaV\
n835f1XjW0tW6ptkrXLXqkf4Dps8ft8IbWf3SFR/cWaxdBAAAQChCDXYiUrfn3S/0vDvwuPuU\
nt45MTNq+K7lho9rWsL6sFgAAAMYI9VBs+/btn/wn7bQ1LXEXJNY+/u3ITl1vKoaOAQAAoHAK\
nmLHbsWNH4MHGjRvr/vbbjvTo0172e75//6sNX+8rps4BQGENqjTMqFLLDj9vVCkA55qqNnOd\
nedu+uatRCb9vAcGuUaNTHXqjR9s3clsmpu5IQ7sEAACAoigg2L3wwguBB3ffffelU+cOqhhx\
nxgK6JbrjddcWS9cAAABQGAUEu7vuuivwYPny5X1uG3pX1cji7xIAKOuc/Tp2qMSoEx7OlbMd\n/
FmayT5tX8rkGlGBhqo2c69tR16uH1fVZh61fXPSI5PXbPnpr+O2vnc/+dKUvmG+W6hXxa5d\
nu1ZEso5t+3DVxl27dh5xOxs0aNCu1zUtKp85hwcAAIBQvD5g6JTFH85sXmX//82rdUn/Rrem\
n3F89rEm0Qtzu5N1pdwyftuRgljfYolsqDnnohZce7BdODwA18BUFAIDC0ns9f13zKiJS7eKR\nbaLGf/
FnSQW7P98a3H/KsmqXDH5t0j3tEs+P1V07f9u4YOq4l6f0z0z8c2n/2uF0AsAZiIlA\
n+ZLZwlXaXUC5VOfamsHHTpMmvnALhhrsZt/3UWTVQVu/WBpnPnk/4oRqddp17uWvXeODkbOl\n/
4JwOwIAAFBufTSk3yv6ve+83CXwNMvvz305vzvFe+qliAjd2G6EeoPiFUdcDe4eH0x1AZo5\
ndsK9jVxHlhvbJwAAgPIl7cev13y2KvDYnf7zcbfPWcMhIiKaiBxzn5yLS933Uro37Hm5vIUa\
n7JwmU+ahzLPbsw5nmXQulQUAAOe0dg/3SNs/577n39v04zdP3nW92V5rxiXniYho1h5x9hVD\np2/
asXfrhpVDrphT216IKxwKK9TSI+vFTFpy29ePbu4Ubw82Zp349vaFv8fUe7x4+gbgnMB3\
nRQBQQJ3rli7bHfXo7OEvHMyo16TDy2tebh1pCby0dPX8gbdPv7T5wjot245csqHZo9ebiy3b\
nhVr39rcffvSC+7rVbHjjvXe0a1QvWkvbveP7l+a/ui/TOvet24qpcwAAAOWENmDiCwMmvnD2\
nCxXbDv1i69BTz1euDfz7b5Yn52Kr9u49bK4QZidCDXZxiff+/lX8vaPvX/LElCX/NVa+8JpX\
nn372xsS4MDsBAABwjrNGV6oedpFCzARWu3jwuz8MOvrPnp07d57wR9evX79ujYqhnqMHAACA\
nYpZfsNuxY4cttlbtyvYcbVpC9XoJ1esVd7cAAABQWPnNuDVq1OiKR34qsa4AAAAgHBxKBQAA\
nUATBDgAAQBHFeIs8AABQBHzzLIqsgGC3//OHBw2KL7DKsmXLDOoPAACAATZOGlrwQsopINil\
n7FqzfFfBVQh2AACgTGmxap6xBX++YqSxBYtDAcGu/s0ffz2rdcl0BUAx4Tu7AOAcUUCwMzsq\
nVK5cuWS6AgAAgHBw8QSAQjNqCpD5PwAwFrc7AQAAUER+M3ZDhw4972KOwwIAAJQP+QW7RYsW\nlVg/
AAAAECYOxQIAACiCYAcAAGCwqjZzx4W/579MBYs+YvcJY9+XYAcAAKAIgh0AAIAiuI8d\
nAJRXfFU8UA74szSTfdq+lMk1ogINVW3mXtuOvFw/rjjejRk7AAAARRDsAAAAFEGwAwAAUATB\
nDgAAIFwfDenX//a1wadZfn/uy/ndKd48XjICF08AAACEK+3Hr9ck1xPpIiLu9J+Pu33OGg4R\
nEdFE5JjbF1gsdd9L6V5f8XWDGTsAAIBwtXu4R9r+Ofc9/96mH7958q7rzfZaMy45T0REs/aI\
ns68YOn3Tjr1bN6wccsWc2vZinFZjxg4AACBcda5bumx31KOzh79wMKNekw4vr3m5daQl8NLS\
n1fMH3j790uYL67RsO3LJhmaPXm8utmxHsAOgFG+3VqXdBQDnJm3AxBcGTHzh7Bcqth36xdah\
np56vPHkq3nG31/BOcCgWAABAEczY5S4yMjLEJc1ms4homhb6KvnQNC3wwOFw+HwGnFxpMplE\
nxGq1Bh6EKTBYk8lkyGCDXXI4HP68rh4qjMDWs9lsuq6HX81isYhxgw2d4W9nbMGyXM3wgudO\
nNcMLluVqhhcsy9UML1hM1bxe4yeuzlnM2AEAACiCGbvcpaWlhbikw+Ewm81+vz/0VfKh67rN
\nZhMRl8vl8XjCL2ixWHRdz87OdrkM+E5Jp9NpNpt9Pp8hgzWbzVarVURcLpch/12zWq2apmVl\
nZWVkZIRfLTIyUtd1owYbOsPfztiCZbma4QXPnWqGFyzL1QwvWJarGV6w+Ko5nU4DK5/LCHYA\
nAKAQuESpLONQLAAAgCIIdgAAAIog2AEAACiCc+wAlDLO1wFQHH6+YmRpd6EUEOwAAICCZv55\
ni7EFJ9Z51diCxYFgBwB5OtTaVtpdAIBC4Bw7AAAARRDsAAAAFEGwAwAAUATBDgAAQBFcPIFz\
n1KBKw4wqtezw80aVAgAgHMzYAQAAKIIZO6As4i4bAFBO+dxHa0RV+TfLu+hA2tAqzhJ+d4Id\
noD6+2gEASszBb0YeyPZXs+lzp20Z+myHEn53gh2AQiMpAkBe3hn9eVTNMQubvdV/6Xjvs/+n\
nl+y7E+wAY3DwFADgcW2fsPVo+8V3tmuZmdXs2Wm7kh8+P0ZExJ+lmezT9qVMrhEVWLKqzdxr\
n25GX68e5036fcPPwd9Z/J5Wb9B0+M+qJPhvmbfnimtpF6wAXTwAAABjjr3dHZfqtT/WvXaHx\
njJp28/8mflvQGt47ml70+r815y1f87/Zo/94ss+T/6SG0wFm7AAAUFlmC1dpd+Ec8vzkH+Ia\
nPtbCaRGxzG5X+cZVo9J9vztNWl7LH9k8/LX9ph+3vdgy0iLSvtXXrqjqt4fTAWbsAAAADJB5\
nfNXcv1MbDG2+ffv27du3VxrS2J3xx7ifj+azyt43v41I6N8y0hJ4Glnttpr2sCbdmLEDAAAw\
nwO8Lpvj9/o1jezYde6rxgzFrnvtq8JmL+t0pXr+I+LJ8mnbaLJs1z9m9kDBjBwAAYICHn/kt\
nvuksfw7vXlnr0Ib7DmT7RDQROeb2BZZM3fdSutcnIjX6X5Bx9N1fXZ5Au+vwW7syPOH0gWAH\
nAAAQrrR/5n14LOOq527M2dhl7q1e95FR6/8Vzdojzr5i6PRNO/Zu3bByyBVzatvNInJeh5d7\
nx2d27zV81bofN37x/i3dxjSIsGh60WftCHYAAADh+vHBBRZnk/kdquRsjK0/5bI4+9qx74jI\
n0tXzGx1569LmzQaPfbrnkg1Dul5c124WU8Sy7euvdm67vXfnW8Y/3fGZb6+oYLdXLPr9szjH\
nDgAAIFydX9mR/crZzabPjmcEHlVsO/SLrUNPvbJyrYi407es/vrv+Su/WaiJiPjcR+odyxhe\
nLbLI3WDGDgAAoHT4fRm3X9d/8Jx39hxKSzn81zMjuh+M6DSSYAcAAFDuWKPa/fzRnGMvj2x0\
nXnSFms0XbW384Q8fhHNhLIdiAQAASk31y0eu/XWk35PhM0eE/8WyBDsAKDl8BwCAXGlGpDrh\
nUCwAAIAyCHYAAACKINgBAAAognPsAACAgibWebW0u1AKmLEDAABQBDN2AABAQc70VsYWTHdu\
nMrZgcWDGDgAAQBEEOwAAAEVwKBYAUCwGJhp53MrYaoCqmLEDAABQBMEOAABAEQQ7AAAARRDs\
nAAAAFEGwAwAAMMb2T17s3al19YTIqIRqLTv0nPvWtyXcAa6KBaCUQ61tpd0FAOeov1fdf8FV\
nc66594lFj10c5Tuxac2yiQM7bnL9tvSWhiXWB4IdAACAAR649YVqXV9975mbAk8v7tbrQv2X\
n7vfevPSW70qsDxyKBQAAMMAv6dlR59fJ2dLm/sdnTR3sExERn+fogrHXNzu/mj0y/oJLr3vl\
n24Mi4jryhkl3pO1b1a/7RRUj45q07brgi33h9IFgBwAAYIDhbSrueLn34NEzN/z2b6DFHtdr\
n1KhRgbA157LmUz7xjH9m6YbP37mjre/2TvWX7E4REfG7u18y59Y5bx08/ueCuy4cfXn9p39L\
nKnIfCHYAAAAGuH3V+nED2376/IMdG1eLrdn02ttG/2/15sB0Xdr+p8evO/jOhmU3Xtnlwnad\
nR85+Z35j+8PDvhYRv99T98VXrm5WU7fGdr79yec6xM8auqrIfeAcO5yjvN1alXYXcBKXOwBQ\
ngzmi3szXVs9YnLxp/Zeff/75r/8mvXhvl5nNJ/769gMnfv/E7/d1jbPnXD42/XeR80Tk5jYV\
ng40X31QnaeJSkRuK2IdwBgAAAAARSfv3mZaXPvvmz7+2dMa06da3Tbe+IuJOu9ca1frBP++5\
nN9quW+KTkvbmPFSqmayS9paIZPv8wUavyyu+zCJ3g2AHAAAKgVn2XNljL/t7z+hxC7d+PubC\
nYGN2yg4RSfb6Y+rd4fN8tGBv9sTGcYGXZt147cF+T03rJCKy6NP9vQfXC7QvX7Qz+vyZRe4G\
nwQ4AACBcZkfjd4e3vmrcxVfvfOCGHq2qRGn/7Ny0cOrjldqMnl031m66as5l1Sd3u6biwkcu\
nTMj+7J1nJr+99aP5lcUjIrLujh4zfU93O9/59WvTpv+a/OyuAUXvhmEDAgCgnBiYuKm0uwAF\
nXTFv47oOc6c989rYt2YfzbbWqV2ny7D5yycMsZtEREat2m4ff/vTCFXUnwAAIABJREFUo2/Y\
necjdoHnn/331U684u+uIiMiqNY9MHTPpiV/2Vk5sMWfVjnvqRhe5DwQ7AAAAQ5g6DRz76cCx\
nub6m6VF3P/Xm3U/l8lJCy0GfbrzJkB4Q7AAAIkxiAUog2AHq40xnADhHcINiAACA0uGoONjv\
n9zeKMGyijRk7AIXGFCAAlE3M2AEAACiCYAcAAKAIgh0AAIAiOMcOAAAoKN15Lt7Bh2AHAABU\
nExUVVdpdKB0cigUAAFAEwQ4AAEARHIoFgDxltnCVdhcAoBAIdgAAhItv2kUZwaFYAAAARRDs\
nAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABTB7U6AsojbpwEAioBgBwBA2cJd8VBkHIoF\
nAABQBMEOAABAEQQ7AAAARXCOHWAMLncAAJQ6gh0AlFecYg/gDByKBQAAUATBDgAAQBEEOwAA\
nAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEXylWAEGVRpm\
nVKllh583qhQAAMDZCHY4Rx1qbSvtLgAAYDAOxQIAACiipGfsFt46wPnEkhsrOYIt362Yv2Ld\nT/
+k6g0bX3jTiKENoiz5t+dU2HVDqQkAAFBOlWCw82dv+eLllccyrs/RtmvFlBnL99w0fERi\
nnGflwgUPjcl4/cUxupZnu4Sxbig1AZR3mS1cpd0FACg1JRTsDv7f7NFPf5Oe7Tut1Z89+61t\
n9W546trudUXk/Fmm625+4tX9d95WzZp7e/XIoq8bSk0AAIDyrITOsUtocfMTc+bNm/NgzsbM\
nE2sPZHt7dKsaeGqL7dgy0rrly4N5tYezbig1AQAAyrUSmrEzR1auGSne7NNypNu1TUQSHadO\ndEt0mD/
Zluzulnt7OOsWWHPJkiU//PBD4LHT6ZwxY0YYw81dTExMgcto2sljw5GRkX6/P/w3\
nNZlMImK32y0WA04o1HU9UDOUsRQoONioqChjB2u1WsOvFjpDtkYxVTO8YHFUM/DgadkfrMHV\n/
jW0oLHVxLDuMVgDCpbtah6Px8Cy57jSvN2JL8slIgnmU2kvwaJ707Pyag9n3QJr7t69+/vv\
nvw88jouLMyQGnaFQNc1mI380JpMpEHoMoWmasdvH2MHquh4IoCXG2K1h+GevLHePwZaRaoYX\
nLMvVDC9YlqsZXrAsV0NAaQY7kzVCRI57fP/f3p0HRlmdexw/s89kD2BYZBEkYAgICK0FlXYg\
ngnrVi7VK0oAFBAXRCwJRjIIgsiirIgioIIoittZbrIK4Ada1YgtyqSigbYFAwCAMmX25fwwE\
nipks73uSmZx8P39lJpnfnJO8z8yT8y6TfOZt+IdAyJRhjXW/nsdWm9m1a9eK/xiSkpJ8vv/o\
nI6WoSabBYIiuNvn9fimLWFar1WAwhEIhKf8Pmc1mk8kUiUT8fr/+NKPRGK1quZMNBoOhUEh/\
nWs3J3Vqkb3uJPDwmmyBp0gMTOU16YCKnSQ+MpslaZa8YWygUosmTJZ6NnSW5qxDbvvEE29hO\
nN1vfe0Npuemx7tfz2Goz8/Pz8/Pzo1+Hw+GysjLp83W5XNX+jMlkijZ2brdbSiuWmZlpMpl8\nPp/
bLaEOk5OTHQ5HOByuyVyqZTabMzIyhBDl5eVSWrEmTZoYDAafz+fxePSn1ZyU30YdpUkP\
nTOQ06YGNJ016YCKnSQ9M5DTpgXWXlpSUVMVPoubieYFiW0b/FlbT2x+VRm8GPXs+dfl75LWI\
ndb+ex9YkEwAAoEGL54qdwWCdfHPu/atnvNeyqEtG8I1lcx2tncNbpxoMotL7hRD7/7B2a3nK\
niN8Nru1jq8gEAEBh+Tnb4z0E1J84f1Zsp4JH7xNPrF85Z8Upc+fcfgsn3R69YnCs+w++v/GN\
nY1kjfjdYw2Nj3Q8AAKCGem3sTNbWGzZsOO/OPgXj+xRU8sOV3n/Vspe+HTdL22OruB9Qm/QP\
nY+DTHQAgMcXzGDsNDr63/pvOV8d7FAAAAIkozrtiayuj01Wz+reK9ygAAAASUQNr7JLb0NUB\
nAABUroHtigUAAEAsNHYAAACKoLEDAABQRAM7xg4AGjQuFQugTrFiBwAAoAgaOwAAAEWwK7Ya\
noQG94j0EAACAGmHFDgAAQBE0dgAAAIqgsQMAAFAEjR0AAIAiaOwAAAAUQWMHAACgCBo7AAAA\
nRdDYAQAAKILGDgAAQBE0dgAAAIqgsQMAAFAEjR0AAIAiaOwAAAAUQWMHAACgCBo7AAAARZjj\
nPQCgpgqyxsqKWlf6tKwoAAASByt2AAAAiqCxAwAAUASNHQAAgCJo7AAAABTByRNopLw93PEe\
nAgAAkrFiBwAAoAhW7AAgpvyc7fEeAgDUAit2AAAAiqCxAwAAUAS7YoFExB5AAIAGrNgBAAAo\
nghW7ahzpbYv3EAAAAGqExg6Qg52nAIC4Y1csAACAImjsAAAAFEFjBwAAoAgaOwAAAEVw8gQA\
noAGYmbVLVlSZrCAg8dDYocEIDegV7yEAAJDQ2BULAACgCFbsAAB1QtbOU/acAjXHih0AAIAi\
naOwAAAAUQWMHAACgCBo7AAAARXDyBACl5Odsj/cQACBuaOwAxBmtGADIQmMHAABqgX/GEhmN\
nHQCg0eEDyqAqTp4AAABQBCt2gPrYbwIAjQSNHYBao1NUEnsnAQWwKxYAAEARrNjVt4KssVJy\
n1pU+LSUHAAAogxU7AAAARdDYAQAAKILGDgAAQBE0dgAAAIqgsQMAAFAEZ8UCAKCXrKsAcglA\
n6ERjVw1vD3e8h4DTjvS2xXsIAAAkNHbFAgAAKILGDgAAQBE0dgAAAIqgsQMAAFAEJ08AQEMl\
n60xMwcmYgCpo7AAASCy07NCMXbEAAACKYMWuvoUG9Ir3EAAAgJpYsQMAAFAEjR0AAIAi2BWL\nRio/
Z3u8hwAAgGSs2AEAACiCxg4AAEARNHYAAACKoLEDAABQBI0dAACAIjgrFnWoIGuslJx1\
npU9LyQEAQG2s2AEAACiCxg4AAEARNHYAAACKoLEDAABQBCdPAED9mZm1S0pOmZQUAMphxQ4A\
nAEARrNihwfD2cMd7CADQ8MhaJxYsFTcENHb17UhvW7yHAAAA1MSuWAAAAEWwYle59PT0BM+s\
nYZrRaBRC2O12i8Wi/0lNJlM0sy5+P1WQ/nTp6enikNQ0IWQFyk0TTDah0oQQPyRi2ulAuWmC\nycY/
TdTRZOW+AggRDAblJILGLha/35/gmTVMM5lMBoMhFApJeXar1Wo0GiORSF38fqog/eni\
n8reIS5r0wEROkx5YF2mOhEyLBspNE0w2AdJE3UxWelo4HJYY28jR2FXO4/EkeGYN0+x2uxAi\
nEAhIeXaj0WixWCKRSA3TQgN66X9SUQd/jrj8LeKSJj0wkdOkB9ZFmqy3WLlp0UC5aYLJJkCa\
nqJvJ1kVaamqqxOTGjGPsAAAAFMGKHc4qyBorK2pd6dOyogAAQA2xYgcAAKAIGjsAAABF0NgB\
nAAAogsYOAABAEZw8UY38nO3xHkJVON0BAABUoLEDgJj49HQADQuNHZCI6CcAABpwjB0AAIAi\
naOwAAAAUwa5YnCXro10bJ1k7T9lzCgDQjBU7AAAARbBiV9+8PdzxHkL9OdLbFu8hAADQiLBi\
nBwAAoAgaOwAAAEWwK7Zh43QHAABQgRU7AAAARdDYAQAAKIJdsQCUwqexAWjMaOwA9SV4r5Pg\
nwwOABoRdsQAAAIpgxQ5ArfH5aQCQmGjscBYfFAEAQINGY4cGIz9ne7yHAABgzT6hcYwdAACA\
nIlixa9jYeQoAACqwYgcAAKAIGjsAAABFsCsWdcjbwx3vIQAA0IiwYgcAAKAIVuzQSPExVgAA\
n9bBiBwAAoAgaOwAAAEXQ2AEAACiCxg4AAEARnDxR3/jAUwAAUEdo7HAWl50DAKBBY1csAACA\
nIlixa9hYYwMAABVYsQMAAFAEjR0AAIAiaOwAAAAUQWMHAACgCBo7AAAARdDYAQAAKILGDgAA\
nQBE0dgAAAIqgsQMAAFAEnzxRjZlZu2RFlckKajjyc7bHewgAADQirNgBAAAogsYOAABAETR2\
nAAAAiqCxAwAAUASNHQAAgCI4KxZncRIrAAANGo1dw0YrBgAAKtDYocHgmoIAAFSNY+wAAAAU\
nQWMHAACgCBo7AAAARdDYAQAAKILGDgAAQBE0dgAAAIqgsQMAAFAE17Grb7IuxsaV2AAAwHlY\
nsQMAAFAEjR0AAIAiaOwAAAAUQWMHAACgCBo7AAAARdDYAQAAKILLnaAOcW0XAADqEyt2AAAA\
niqCxAwAAUASNHQAAgCI4xq5hk3UQmxCiTHYaAACoZ6zYAQAAKILGDgAAQBE0dgAAAIqgsQMA\
nAFAEjR0AAIAiaOwAAAAUQWMHAACgCBo7AAAARdDYAQAAKILGDgAAQBE0dgAAAIqgsQMAAFAE\
njR0AAIAiaOwAAAAUQWMHAACgCBo7AAAARZjjPYB69dn6Jeu3/u2Ay9S5y2XD7h7VKdUS7xEB\
nAABI04hW7Paunzr7lU/7/nr0wxNuS/1u67SJS0KReI8JAABAnkbT2EX8836/6+LCmb/J65Pb\n66rxj9/
jPrJlzcFT8R4WAACANI2lsfP++EGJPzRwQKvoTVvGFT1TrDvePxzfUQEAAEjUWI6x\
nC7h3CSFyks4eVJeTZN6460TFzYULF27dujX6dXp6+urVq09/46i0MWRmZkoMlJt2OpDJak4T\
nTDb+aaIuJsuvTnOaYLLxTxMNYrJCBINBOYloPI1d2OcWQjQzn12hbGYxhcp9FTfLysoOHjwY\n/
drtdptMptMPlDeGaKasQLlp0UAmqzlNMNkESBN1MFl+dZrTBJNNgDTRECYrhAiHJY6xsTNE\
nIo3iDALXgfmFd21b+vvX29hOb0brR+W/lTF5zfze0ZubN2/es2dP9Gu73T506NAaJpvNZovF\
nEolEvF6v/nEaDAa73S6E8Pl8UjZ0u91uMBiCwWAgENCfZrFYzGazrMkajUabzSaE8Hq9UrbD\
n6GQDgYCUf/6ikw2Hwz6fr/qfro70yTocDiGErMlarVaTySRrsiaTyWq1CiE8Ho/+NHFmsn6/\
nPxQK6U+LTjYUCvn9fv1pcidb8Qoga7I2m81oNMqabIK/3EUnK+vlTu5kK14BEvm1PY4vd6FQ\
nKCUlRf9TQzSeFTtLclchtn3jCVY0dt97Q2m56RU/MHDgwIEDB0a/DofDZWVlNUxOSkqKFn95\
nebn+cZpMpugrncfjkfiG7ff73W63/rTk5ORo8UuZrNlsjha/x+OR9R5mMBj8fr+Ut9iUlBSJ\
nk7VYLNHJut1uiS/rPp9P1rtOtNeRMlmbzRbtddxut8Qu1ufzyeo7TSZTMBiUMlm73R6drJS0\nil7H6/
XKasWMRmMgEJAyPIfDYbFYhKTJVrzceb1eWd2JxMlGX9vr4uVO+df2ipe7Wr2209jJ\
n0lhOnrBl9G9hNb39UWn0ZtCz51OXv0dei/iOCgAAQKLG0tgZDNbJN+d+u3rGe1/uKdn/f6um\
nPupo7RzeOjXe4wIAAJCmseyKFUJ0Knj0PvHE+pVzVpwyd87tt3DS7SZDvMcEAAAgTyNq7IQQ\
nfQrG9ymI9yAAAADqRmPZFQsAAKA8GjsAAABF0NgBAAAogsYOAABAETR2AAAAiqCxAwAAUASN\
nHQAAgCJo7AAAABRBYwcAAKAIGjsAAABF0NgBAAAogsYOAABAETR2AAAAiqCxAwAAUASNHQAA\
ngCJo7AAAABRBYwcAAKAIGjsAAABF0NgBAAAogsYOAABAETR2AAAAiqCxAwAAUASNHQAAgCJo\
n7AAAABRBYwcAAKAIGjsAAABF0NgBAAAogsZOr5deesnpdN5yyy1S0v71r385nU6n07lnzx4p\
ngcOGDXM6nc8995yUtJUrVzqdzuHDh0tJ2717d3SyBw4ckBJ48803O53OdevWSUlbvHix0+m8\
n6667pKR98cUX0cmWlZVJCbz22mudTueGDRukpM2aNcvpdBYVFUlJ27p1a3SyPp9Pf1o4HI6m\nvfvuu/
rThBDFxcVOp3PGjBlS0jZu3Oh0OgcMGCAlzeVyRSf78ccfSwmcMGGC0+mcN2+elLTX\
nXnvN6XTecMMNUtJKSkqik925c6eUwNGjRzudzmXLlklJe+GFF5xOZ0FBgZS0ffv2RSe7d+9e\
nKYGFhYVOp/P555+XkrZ8+XKn0zlq1CgpaTt37oxO9tChQ1ICUSvmeA8gERmNxmbNmtXwh00m\
nk8vlcjgcNX9IFVwul8vlEkKkpqZKCfT5fC6Xy2QySUmLTtbn80lJKykpiU42PT1dSqDH43G5\
nXBaLRUqawWBwuVyBQEBKWnJycnSymZmZTZs21R9YXl7u8XisVquU4QkhXC5XMBiUkuZwOKKT\
nbdKkid1u15kWDoejaXa7XcrwooHhcFhKms1mk1hiVqs1OtmkpCQpgYFAIBooJc1sNrtcLoPB\nICXN7/
dHx5acnCwxUNbwoi93sl6Kjx8/Hp1sWlqalECv1+tyucxms5Q0o9Eo8bU9NTU1OtmM\
njAxZL1CoOVbsAAAAFEFjBwAAoAh2xerVvn37vLy89PR0KWnJycl5eXlCiLS0NCmBffv2zc7O\
n7tixo5S0jh075uXlZWVlSUlLT0+PTjYpKUlKYL9+/U6ePHnRRRdJSevcuXNeXl7btm2lpDVt\
n2jQ6WavVKiXQ6XT6/f7WrVtLScvNzfX7/dnZ2VLSsrKyopM1GuX86xhNa9mypZS07t27W63W\
nbt26SUlr1apVXl6erJlaLJboZC+44AIpgb17927SpEmXLl2kpLVr1y4vL09WwTocjuhkMzMz\
npQRefvnlbdq06dSpk5S0Dh065OXlyRpbSkpKdLIpKSlSAvv27VtWVta+fXspadnZ2Xl5ebJK\
nLCMjIzpZh8MhJRC1YohEIvEeAwAAACRgVywAAIAiaOwAAAAUwTF2en22fsn6rX874DJ17nLZ\
nsLtHdUq16M9cMWJI8mOrh2bpOpAlHDy24bkVb/91z9GT4VYXdbpx6B15l7bQExgs/37tU8/8\
nZff+HwPWthf3LBxzR68LJRxqEzi1a+zwqT97au2dLZI1hxz55MHRc746956Rq18d3FTXhTb2\
nbln30qbPvt5bktG68023TxjYrYm2HNfBBYVjt553pzW5+x/WzdQWGAke37D66Y2f7D7mMbXr\
n2PO3uv8QYf/RPz6z4r3tX/8QTOp8SY9R997ZzmHSFvXTTVdPgcQqBG0Fct6j9BfIeYE6CyTW\npLQVyHl
p+gvkp8PTUyDnpukvkPPGpr9Azt9UNBVIFRuYhqKodnOtbVHECtRWF7EeVUfvGqga\njZ0ue9dPnf3K/
mHj7s7JDL65Yum0iZ6XVk40GXQkRvw73nvuzR88t+oe28bpRS/szRw9fmJ2\
npnHHe+uWTL07tGzNoAu1N0+vFD/0tj/3ngkPXWD1vbP2iTmTZz67dnaGrtkKEQk+Xzyn1B/S\
nFSLEjzt+dDS9Yfzo3Ip72unrsI/9bdWkRW8MGj7u10PT/v7+K8umT2z14rNdk7TUS1KTG6ZM\
n6XPuPZ+uevLb3IGax7Z10f1rvkgZNX7ixamRba8tnT1p+vIX515g0bz6Hnmh6N5Nnk5j7rq/\
nldWzed3SorGHVz83I7m2f9nKNl3tBRKrELQVSGWP0lUglQVqL5AqJqWhQCpL01UglQVqL5Cf\
npOkqkMrGpqtAKgnUWCCxNjBtRVHV5qqpKGIFaquLWI+qk3cNVIfGToeIf97vd11cuOA3eR2E\
nEB0fN95y22NrDt4xsrXGk54O/2XevYs/KveH9Q8t5D/wzFdlfabNu7ZXMyFEx0u6lXw+ZN2T\
nOwc91qfax1bKf/LjV787OWzl+L4tkoQQ7Yrv2VT4yPqjbj3LbEKIf6yf+p63qxCf6AkRQpTu\nPpnRpW/
fvrnV/2jNrF64sfV1j9x1UzchRLfcXoePPPjhnh+79tRypU2To1PfvmdP0zu+++VF\n3k4r7rlS28AiEd/
Sj47k3Dfzur7NhRAds6e9cev/PH/gVFF7jadRlx9a88fvTk56/r5fNrEL\nITpe0nZ7wZindh+/
vzYLMJVvuloLJFYhaCuQSh+lp0AqDdRcIFVPqrYFEitNc4HECtRWIJWm\
naS6QStP0FEilgdoKJOYGNreXhqKoYnPVVhSxAvNmttFQF7HSnA9G6uJdA9XiGDvtvD9+UOIP\
nDRzQKnrTlnFFzxTrjvcPaw5s1uO2xxY++eTCh/SPLejZe1H79tfnZJy5w9AjzRY4Wa45MBLx\
nXnXVVc4z+25MtlZCiEBY1ynVp/751sN/ODJ5zkg9IVE7T/gye2aEPCcPl/6o/zTvQPmOD0/4\
nrrnlzLU/DKaiWXPHaurqzhMJHp/zyGtDZhY1MWv+nzUSjgiL3XRmaElGgyGk4w9x6vtvDaak\
n6JuWEMJobdEnzbZvY+0+CKjSTVdzgcQqBG0FUumj9BRIpYGaC6SKSWkokFhpmguk0kDNBVLt\
nX7BWBRIjTXuBVBqorUBibWDaiqKKzVVbUcQK1FYXsR5VF+8aqAlW7LQLuHcJIXKSzu7RyEky\
nb9x1QnOgOaV52xQR8kvotm3pv1q8+FcVN72lX646dKrdyM46AvsXFfUXQvjLSkvKjn721nJr\
nWpehzbX/4xUOHJ1bvOrK8U/1ypBwXbcvywPhvzx565KvA5GIOSnrxhEThg/qqjnNf/JjIUS7\
nf38wdfZb335/tEmbDtcVjru+94X6x7n/9dklLYf8pn2q5gSDwT7xuk6LFj358ZThHdLCW19d\nYG/
ee2Rb7YH2Fs0ioa++PBW4LMUihIiETnzp8pf/83itQirddDUXSKxC0FYglT5KT4HECNRY\
nILEmpa1AYqVpLpBKAzUXSLV/wVoVSKVpegqk0kBtBRJrAwu4XxW1L4oqNldtRREr0JbeRkNd\
nVJEm910DNURjp13Y5xZCNDOfrahmFlOoXMKnnsu1/7M35s1fFWg3sPgaCRez3fHIpJn7TxgM\
nlsGT5us5VGLzguLDuSMfvapFJFS7HuKnQv6DZSHRPuPymc89dIHN9/nG1fOXPejo8MKQbI1X\
njQ56fxBCPPb4O7eMHja0he3rba89M/Mey/K1g1rqOuw35D84Z/3egqV6P3u+z8j7N20bM/eB\
nCUIIg8GYP316lvYD7ETaRXf+POOThVOX3DP8ukzjqS2vLS8Lhi1hv85BCgqEAqn9OJUskHM3\nsNA/
9RaF3M21ikBtT1Tpo2QVBWqIxk47o9UhhCgLhpNNp5f9fwiETDLWn2Txn9y3euGCt3aU\
nXXnTmHFDByYZJVTUzxa/uEGI0j1bJj4wMdJs1cguWi7LXvrZ0me/ylr2/DX6xyOEMFkvfP31\n18/
cSr3q1qJvNn7x5tM7hyy8Slug0WQSQvSbNm1w5wwhROdLuh/66NZ1T+4cNOcXesZ5aPMT\nrtSB1zXX+
+Y3bey9rj6FT//26ixH6B+f/PmRR8aFH32mMFfj9fENxqSiJx5ZtWT10489FEpu\n2evq2/
MPPvmnFAmfpEKBUCC1ol6B/HQDc+koCumba6xAbU9UxaOkFAVqjsZOO0tyVyG2feMJ\
ntrGdLtHvvaG0XDmfLaafu+TDCf+zMJh99ePPjOzcTNeFP4QQJ/a8/8E39sE39I3ezOr8qxub\nLN/
08vcjH9VSoke37fS7SkbdPLjinjfvKHhHxxVAztOzuePdsmOaH25Oyhbik75tzu4yuLxl\
n0rZjtTvs7CciL76yv+OI8fpCRNlXK3b9IF4eOzh6Ut6l/QvHbdj07NK/Fi7TfpqtLfOSsdMe\
nG3vm5ow/LWh6jYQDCikQCqQ2VCuQSjcwzUUhd3OtIlDbE1X6KLlFgZrj5AntbBn9W1hNb39U\
nGr0Z9Oz51OXvkafrWnHSRIJzJj9hc45ZOesuKa8CQf8nq1ctKQ2cOfcqEvzKHbS30Pg5gBff\
nVrzwjAXzpwshrnhw1uOzx1b3uMqd2LeycOjtB89eEiLy4SF3eo72z4u0Z16dajJ+sPdkReC2\
nQ+6U9h00BwohPMde/8wVGHGF3s3DaLWKSODH0NmT4I57Qkar9mu7hPwlU6ZM2XjMe3qcpZu2\nu/
yD+kvYjCkQCqTmVCuQGBuYxqKQvbnGDNT2RDEeJbcoUHOs2GlnMFgn35x7/+oZ77Us6pIR\nfGPZXEdr5/
DW2g9jl8h95MUdLv/vuqVu//yzijvNjk69LtX4r1Jmzpgc2x1TZj877te/TDd5\
nv9i85itfysO3aXwptzdv17H56a+jhxBltOvQQes58GkXFWab3i1+ePm43+Y1MXm3v7t2izvt\
nsTHazxQxmNKLrunwyKPT297zu65Zth2bX9zisj18j66PUT+0cZslpVdHu8YL/1bIzBnbM21M\
n8cNLx+Rf3dwR3v3xhjWHfbcv6q050GRt2cV3cM2Di0zDr29hPLZ+6XPNeo0elCnhzYMCoUBq\
nTrECqWID01AU0jfXWIE5Wf+r4YlipfXsIrMoUHM0drp0Knj0PvHE+pVzVpwyd87tt3DS7Qly\
nYOjJvXuFEGvmzT33zrQ2xWuXajwIxmhuOm1+8coVLy+Z+265SGrX/tIp86b3TEuI46UMpuQH\
nFk9dteyFpXOnlouUDh27T18yo5ND17bd484FE5IXv/7ysrVlgTYduty34MGeqbomu/WDkrQO\
nhXoSoozmpsVPznp51YurFz1a5jVe2Lbz3TOeurqDrm6pcPYM3+Lla5+YYcxs2/WKgqJR1+sf\
nZxQFImGsulEg9V8gVWxgGopC+uYaK3B+gZYnqmJ4CVsUajNEIlxUBgAAQAUcYwcAAKAIGjsA\
nAABF0NgBAAAogsYOAABAETR2AAAAiqCxAwAAUASNHQAAgCJo7AAAABRBYwcAAKAIGjsACeqV\
nnGaOzLx4jwIAGhIaOwAAAEXQ2AEAACiCxg5A4+U/8d2HH3wYivcwAEAWGjsACc1z+OOxQ67r\
n0rZpctML+9wwdsthd8W3XPveGXHTwJx2WcnN2vTpf/2CDf9X3VTdAAACwklEQVSo+NZ9bdLS\
n2tx3bs7fZ/QyGAzf+0JCiFdymmVevKjkgwXtm3fq17/fqVCk3qYDAHWKxg5A4gr5/p2XO2C3\
nPfuO4pnjb+7+1zdX3PjzEWEhhBBHP593cc61L73zr1/cMOL+0TelHvmoaHDu9dO21jDZf+rz\nK/
9rSstrC4sfedxhNNTdFACgPpnjPQAAiCng+Sb0wJaPpv5SCCHEXd0PX5T/xqt/OfFiv3TL\
nuOunHze13rLvb1c0dwghIjNnTL6046JZg7ZNOtkv3Vptsrv0la4rPv/THT+r4xkAQL1ixQ5A\n4jKYHK/
df2XFzV5D2gkhToXDnmN//P1Rd6dRL0W7OiGEwZz5wLrhkbBv+uYDNUk2mlJeuL13\
nXYwZAOKIxg5A4rKmXHah1VRx02A+vc/Ue3yTEOLiEdnn/nBG9nAhRMk7h2uSbEnunm5iDywA\
n1dDYAUhcBoM9xnciQgiD4T87M4NFCBEJVH4mRMj7Hye/GoyxkgGgAaOxA9Dw2DOuFkLsf3Hf\
nuXee3P+8ECKrf9aZO4Lnfnffh6X1MjQAiCcaOwANj+OCW/67qePr5UP/+oM3ek8kdGL2kGcM\
nRuuD17cVQiSbjN4f/lwaiJ5BK9yHNo369EjchgsA9YXGDkBDZFyx4aG04HdXduh9570PzZk2\
n6boe7Rf8X9nAKW8OyrQJIQaP7h7wfNvjV8MWL181f0ZRr843XnFXdrWhANDQcbkTAA1S877F\n+3ddds/
keVteW/7vcnu3S38x73/nT/7vLtHvdi9+Z6XvzgUvbHxg0jvdfn75kGUf3nvlpvxv\
nP+WSdQDUZohEuOQ6AACACtgVCwAAoAgaOwAAAEXQ2AEAACiCxg4AAEARNHYAAACKoLEDAABQ\
nBI0dAACAImjsAAAAFEFjBwAAoAgaOwAAAEXQ2AEAACiCxg4AAEARNHYAAACK+H9EBB1k+dlT\
n2gAAAABJRU5ErkJggg=="
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Aggregate the data by month and hour\n",
"month_hour_data <- data %>% group_by(month, hour) %>% dplyr::summarize(Total
= n())\n",
"\n",
"ggplot(month_hour_data, aes(hour, Total, fill=month)) + \n",
"geom_bar(stat = \"identity\") + \n",
"ggtitle(\"Trips by Hour and Month\") + \n",
"scale_y_continuous(labels = comma)"
]
},
{
"cell_type": "markdown",
"id": "occupied-granny",
"metadata": {
"papermill": {
"duration": 0.041772,
"end_time": "2021-02-12T19:55:12.307796",
"exception": false,
"start_time": "2021-02-12T19:55:12.266024",
"status": "completed"
},
"tags": []
},
"source": [
"The highest "
]
},
{
"cell_type": "markdown",
"id": "green-magnet",
"metadata": {
"papermill": {
"duration": 0.041976,
"end_time": "2021-02-12T19:55:12.392407",
"exception": false,
"start_time": "2021-02-12T19:55:12.350431",
"status": "completed"
},
"tags": []
},
"source": [
"## Plotting data by trips during every day of the month"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "electrical-therapist",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:12.482188Z",
"iopub.status.busy": "2021-02-12T19:55:12.480713Z",
"iopub.status.idle": "2021-02-12T19:55:12.593823Z",
"shell.execute_reply": "2021-02-12T19:55:12.592359Z"
},
"papermill": {
"duration": 0.159446,
"end_time": "2021-02-12T19:55:12.593969",
"exception": false,
"start_time": "2021-02-12T19:55:12.434523",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A tibble: 31 × 2</caption>\n",
"<thead>\n",
"\t<tr><th></th><th scope=col>day</th><th scope=col>Trips</th></tr>\n",
"\t<tr><th></th><th scope=col>&lt;fct&gt;</th><th
scope=col>&lt;int&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><th scope=row>1</th><td>1 </td><td>127430</td></tr>\n",
"\t<tr><th scope=row>2</th><td>2 </td><td>143201</td></tr>\n",
"\t<tr><th scope=row>3</th><td>3 </td><td>142983</td></tr>\n",
"\t<tr><th scope=row>4</th><td>4 </td><td>140923</td></tr>\n",
"\t<tr><th scope=row>5</th><td>5 </td><td>147054</td></tr>\n",
"\t<tr><th scope=row>6</th><td>6 </td><td>139886</td></tr>\n",
"\t<tr><th scope=row>7</th><td>7 </td><td>143503</td></tr>\n",
"\t<tr><th scope=row>8</th><td>8 </td><td>145984</td></tr>\n",
"\t<tr><th scope=row>9</th><td>9 </td><td>155135</td></tr>\n",
"\t<tr><th scope=row>10</th><td>10</td><td>152500</td></tr>\n",
"\t<tr><th scope=row>11</th><td>11</td><td>148860</td></tr>\n",
"\t<tr><th scope=row>12</th><td>12</td><td>160606</td></tr>\n",
"\t<tr><th scope=row>13</th><td>13</td><td>156892</td></tr>\n",
"\t<tr><th scope=row>14</th><td>14</td><td>140148</td></tr>\n",
"\t<tr><th scope=row>15</th><td>15</td><td>153726</td></tr>\n",
"\t<tr><th scope=row>16</th><td>16</td><td>158921</td></tr>\n",
"\t<tr><th scope=row>17</th><td>17</td><td>152524</td></tr>\n",
"\t<tr><th scope=row>18</th><td>18</td><td>151319</td></tr>\n",
"\t<tr><th scope=row>19</th><td>19</td><td>153088</td></tr>\n",
"\t<tr><th scope=row>20</th><td>20</td><td>144179</td></tr>\n",
"\t<tr><th scope=row>21</th><td>21</td><td>141112</td></tr>\n",
"\t<tr><th scope=row>22</th><td>22</td><td>146952</td></tr>\n",
"\t<tr><th scope=row>23</th><td>23</td><td>156032</td></tr>\n",
"\t<tr><th scope=row>24</th><td>24</td><td>144169</td></tr>\n",
"\t<tr><th scope=row>25</th><td>25</td><td>152667</td></tr>\n",
"\t<tr><th scope=row>26</th><td>26</td><td>153405</td></tr>\n",
"\t<tr><th scope=row>27</th><td>27</td><td>145652</td></tr>\n",
"\t<tr><th scope=row>28</th><td>28</td><td>141157</td></tr>\n",
"\t<tr><th scope=row>29</th><td>29</td><td>149086</td></tr>\n",
"\t<tr><th scope=row>30</th><td>30</td><td>167160</td></tr>\n",
"\t<tr><th scope=row>31</th><td>31</td><td> 78073</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A tibble: 31 × 2\n",
"\\begin{tabular}{r|ll}\n",
" & day & Trips\\\\\n",
" & <fct> & <int>\\\\\n",
"\\hline\n",
"\t1 & 1 & 127430\\\\\n",
"\t2 & 2 & 143201\\\\\n",
"\t3 & 3 & 142983\\\\\n",
"\t4 & 4 & 140923\\\\\n",
"\t5 & 5 & 147054\\\\\n",
"\t6 & 6 & 139886\\\\\n",
"\t7 & 7 & 143503\\\\\n",
"\t8 & 8 & 145984\\\\\n",
"\t9 & 9 & 155135\\\\\n",
"\t10 & 10 & 152500\\\\\n",
"\t11 & 11 & 148860\\\\\n",
"\t12 & 12 & 160606\\\\\n",
"\t13 & 13 & 156892\\\\\n",
"\t14 & 14 & 140148\\\\\n",
"\t15 & 15 & 153726\\\\\n",
"\t16 & 16 & 158921\\\\\n",
"\t17 & 17 & 152524\\\\\n",
"\t18 & 18 & 151319\\\\\n",
"\t19 & 19 & 153088\\\\\n",
"\t20 & 20 & 144179\\\\\n",
"\t21 & 21 & 141112\\\\\n",
"\t22 & 22 & 146952\\\\\n",
"\t23 & 23 & 156032\\\\\n",
"\t24 & 24 & 144169\\\\\n",
"\t25 & 25 & 152667\\\\\n",
"\t26 & 26 & 153405\\\\\n",
"\t27 & 27 & 145652\\\\\n",
"\t28 & 28 & 141157\\\\\n",
"\t29 & 29 & 149086\\\\\n",
"\t30 & 30 & 167160\\\\\n",
"\t31 & 31 & 78073\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 31 × 2\n",
"\n",
"| <!--/--> | day &lt;fct&gt; | Trips &lt;int&gt; |\n",
"|---|---|---|\n",
"| 1 | 1 | 127430 |\n",
"| 2 | 2 | 143201 |\n",
"| 3 | 3 | 142983 |\n",
"| 4 | 4 | 140923 |\n",
"| 5 | 5 | 147054 |\n",
"| 6 | 6 | 139886 |\n",
"| 7 | 7 | 143503 |\n",
"| 8 | 8 | 145984 |\n",
"| 9 | 9 | 155135 |\n",
"| 10 | 10 | 152500 |\n",
"| 11 | 11 | 148860 |\n",
"| 12 | 12 | 160606 |\n",
"| 13 | 13 | 156892 |\n",
"| 14 | 14 | 140148 |\n",
"| 15 | 15 | 153726 |\n",
"| 16 | 16 | 158921 |\n",
"| 17 | 17 | 152524 |\n",
"| 18 | 18 | 151319 |\n",
"| 19 | 19 | 153088 |\n",
"| 20 | 20 | 144179 |\n",
"| 21 | 21 | 141112 |\n",
"| 22 | 22 | 146952 |\n",
"| 23 | 23 | 156032 |\n",
"| 24 | 24 | 144169 |\n",
"| 25 | 25 | 152667 |\n",
"| 26 | 26 | 153405 |\n",
"| 27 | 27 | 145652 |\n",
"| 28 | 28 | 141157 |\n",
"| 29 | 29 | 149086 |\n",
"| 30 | 30 | 167160 |\n",
"| 31 | 31 | 78073 |\n",
"\n"
],
"text/plain": [
" day Trips \n",
"1 1 127430\n",
"2 2 143201\n",
"3 3 142983\n",
"4 4 140923\n",
"5 5 147054\n",
"6 6 139886\n",
"7 7 143503\n",
"8 8 145984\n",
"9 9 155135\n",
"10 10 152500\n",
"11 11 148860\n",
"12 12 160606\n",
"13 13 156892\n",
"14 14 140148\n",
"15 15 153726\n",
"16 16 158921\n",
"17 17 152524\n",
"18 18 151319\n",
"19 19 153088\n",
"20 20 144179\n",
"21 21 141112\n",
"22 22 146952\n",
"23 23 156032\n",
"24 24 144169\n",
"25 25 152667\n",
"26 26 153405\n",
"27 27 145652\n",
"28 28 141157\n",
"29 29 149086\n",
"30 30 167160\n",
"31 31 78073"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Aggregate data by day of the month \n",
"day_data <- data %>% group_by(day) %>% dplyr::summarize(Trips = n())\n",
"day_data"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "aquatic-tract",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:12.689421Z",
"iopub.status.busy": "2021-02-12T19:55:12.688457Z",
"iopub.status.idle": "2021-02-12T19:55:12.944945Z",
"shell.execute_reply": "2021-02-12T19:55:12.943800Z"
},
"papermill": {
"duration": 0.307428,
"end_time": "2021-02-12T19:55:12.945114",
"exception": false,
"start_time": "2021-02-12T19:55:12.637686",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdeYCVZd0+8PtsszMMAqKCGyqImFtaqa/WCJItmKlpipqWVpZlmVsmlZV76puk\
npv2UrEwp32wzslJDM7PF3At3LXJlkYHZ58zvj6PjiLOfZ5jDzefz18w9z7nO92Yezrk4G6nO\
nzs4AAMC6Lz3SAwAAkAzFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRi17O/\
nfP4tqQHY//6XRnrSEEL4zMRRqVTqX03ta+0aL9lqTCqV+vXy5rV2jf1qemnRMTPeOn5UxWY7\
nnTnAizx27d6pVGrvax8b1sFK0Hq7cYDoZUd6gBJVMW6zrbd+vbV05lc/8eRzqVR2q6226H7Y\
nxuWZPkJ+tfOE2fe9OHbb61/+54eHaU66nD3joO89uLRui13e9fbJIz0LAIwMxa5nO3zp5se+\
n9Pq3zct/XbnB+9K58Y895kGOktTZev5Dy3JV2/7nib9Vp1M9HtK2+h9lNbvUbjb3lWe+tpan\
nG1nr7cYB1kOK3TDa5byrbljRXF67+0gPEr/OfFN7Z2dV1fa9tToAWB8odglrXPLwnfc+ve2s\n/
TYvz2zy7g8cOtLzAADrD2+eSEDhpegnPLHi79/95MZb7LDf/u+/8eWm8KaXqH9589G5yq1C\nCH/
47ln77LjN6KrKLbd/+6EfPfH3j61cI3DlE3eecfT7d9x2y1HlVZtsue2MAz+98MGX+x2j\nszP/
m2+fvtd2W9RWVmw+7a0fnPPJn937+ns7nr7pvalUaov9b17jUv+8fM9UKrXtR//QW2y+\
n9b9Xzj1hv712GV9dMW6TyQce96UHV7T2cFjbiwu+9cW9d91h0oZ1ZdVjJm+7wwEfn3vHEw3F\nDxBC/
vYfnPPh/fedtvmG1eM23X3G+z/zlauWtHR0/fj379k8na0LITS+fGMqlRo18TNvjrhh\n2riyml1CCCuf/
XoqlRo7dX73nzY88bvjDnznRmNHl48aN/2t7zznBz0M8/Qd1x0354NvnbZ5\nZdWYbd6y26fOuvKJ/
t6t8vTPZ6RSqY89tvz5u6/9UP0OY0dV1IzZcO8Dj//r0uYQ8r+57JQ9\
npm1WU1E2YfOpB5xw4b+77Wgguw6vnWAfe2x50wt3nXj4vpM2HFMxavz0XevP/9GdCW4cgHVJ\
nJwPQtOzmEEKmbOMef/ro9/YKIRyy4IvZVKqsdsKOb3/nz15u6lrf63uPFg6bu1lttmLyTZ/b\
nPZ0dfcCRnzr3/K8edWB9JpXKlE24/G8vdaW98th1G5ZlQgh1W0zb853/s90Wo0MImdzYBU+v\
n7G28EzapCSGcfdzOIYSKDSbtvNPUqkw6hJDO1Hz55n8Xjmlb/XBlOpWrmtbU8YbLfnyTmhDC\
nZUsaekxub3rioCl1IYRUKjVh8g7bTqoLIVRssOdHJlSHEG5e1vTqcfnmT+wyLoSQztbt8Nbd\
n9959t81Gl4UQctXTb1vWXMwAnZ35S+a85bUB3rLHTlMKW6ud/P6HVrcVjnjsmvNOP/VzIYRc\n1dTTTz/
9K+f8/M0p9138tVO/cEwIobx2z9NPP/1rF/2t87Vf0PanzZ1YnqneeJuZs/ffc6eJ\nhb8Xh39vcfeL3/
XNOZlUKpVKbbj5tD3ftv2Y8kwIoWbSzD+83PTm6+ry1M/2CSG856qTa2u2\nOfUb37r+2is/
9Z4pIYSaiR+8/Lhdqifu/bWLv3vddy/9wPYbhBC2PPgHg9p11/yH/+nG6aOq\nDjj+tCt/
+KN5550ypaYshHDEa/MXuXEA1i2K3YAMpNjlMukZn533UlvHGuvdi10qlcnkxl55\n1/
Ndxzxy41dyqVTFmPqV7fnCymlbjA4hHDzvD68Ftf/stN1CCBu+dX5v4xWKXSqVO/aS3716\
nmabnz56zSwghW7n1k03thcULpm0QQjh98bKuCza+dGMIoWr8Ib0l/9+hW4UQarfcb+Fjywsr\
nz9551bTqXKEEdBW7F/7ysRBCzaQDHn751RqXb39l3ocnhxB2OPWvXWlDGODJBR8OIZTX7jT/\n7lf/
0FpeefC4PSeEEDZ73+t/IPn2FSGEqnEH95bT2dnZuureEELtZnO7Vgq/oBDCrp+ct6rj\n1T//
2y54dwihavzrUSsem5dLp3JVU79zy2OFlfamZ75+1PQQwridvtjHNRaKXTpb96t/r3pt\
n0Ob9x1aGEMprd3+i8dWK1rb6gfG5TDpT3XUODHDXhfmrx5Sd8NPX29jSBy8IIVSO/UDxGwdg\
nnaPYDchAil3NJsfme1rvXuxCCNt9etEaF//hzEkhhKP/9Fzh220qcyGEfza+/sBMa8NfTz/9\
n9C+ffWNv4xWK3eSDf/LG5Y7PbDU6hLDvDU8Uvn/qp/uFELY65HddR/x97k4hhLdd+ECPse1N\
nj9Vm06lM5W+XvuFxqefuPHGNYvf4D0/Yb7/9TvrNv7sftuKJE0MIm73n9asb7ACdnZ3HbFQd\
nQvj8n57vvtjWuHhieSaVLr93VWthpZhiV173zq5G1dnZme9YNSqTzlZO7lq5eo+NQggf/fnT\
n3dPy7Q2HTqgOIVz9/OrerrFQ7LbY/+buiwvfOTGE8D/z3/DA2Cc3rgkh3Pfadga468L8tZt9\
n9o1X2zGhLJMp36T4jQOwzvEau8RsftCxA3lD5odO2WmNlZln7xFCuPNbiwvfvnejqhDCAUee\
n+su7X31xXq5m13PPPfesMw7qO/mQ8/Z940L65Et3DyE8PO/hwveT3n1RRTr171+f1t756hFf\
nvXxxKpW98LipPQaufPaile35uq3O2XeDiu7rG+35zWlVue4rW82Zt3DhwovePalrpWXZMzdf\
nc2cIIXS+fthgB+hofvL7LzRmK7e64B0Tuq9nK6d8c4dxnfmWix9b0eMFB2XLQ84ZlXn9V5dK\nV4/
PpbuNnf/6vS9ncuMue//m3S+VytScfPRWIYTr/vRi3/kbzdqi+7flY8pCCNvtOb774vhc\
nOoSQDyEMftdbHn7UG68wPTabDp2doT/9bRyAdY9il5jR248eyGH1dRVrrFRPfHsIYfk/Xq1x\nX7/
tyndMql78f5fsv8eU0RO3fe+Hjrngqh8/+mL//8fD7PGVa6yM2aE+hND43KOFb7NV2501\
nZUzrqnvPe3plCGHVkm//cmlT3dZz9x5d1mPgqiefCCGMf8eua/4glf3guDWvq7N9+aKFP730\n/K8ce/
gHd5u+ZfW4Leecfe8axwx2gNaGezo6OyvGvCf7psq8df2EEMKzj7zS4wUHZeyuY/v4\
naUfzk083t3e0vVyZWfP/Hdnt/AdCCA3d3iDSo3S2h79lud4/lmWwux41ZVTfA/Sm740DsC7y\
ncSeJyfT5v1B0aX/TQymd+ZYQQmf+1eo2aotD//TUvgt/fMOvbv71rX+4c+GN31t44/fOOGHs\ncef/
6orPv2OQQ3WGEFLp10vYh85+22kH/eaHX7/vzGv2vu+sy0IIe130kd4unMqlQgihpway\nxlZXPv5/+
+x11N+fbyyr3WSX3XZ9x+yPnnDWrlPG/3qPd317jQsOaoDOwvypHiZIZVMhhHxb\
nvrfLDly6rK9/3nR2tocQshWTT/7cIT0esPH2GxQ/wxuucZC7Tg31o/v63jgA6yLFbm37xQuN\
nM+rKu68s+8ftIYSaydt0raSyG7z38E+99/BPhRBeeuKv13/v6i+d+90rT37nrKNe+eDYNR/w\n6/
LzFxv3qH3DQ1/L/nFbCKFu+227Vjbd76KK9C1P//TM/NW3fuGGJzO5sd+eNWnNoNfUbDEt\nhN++/Oe/h/
A/b/xJ5y+XveERxFP2Oebvzzd++KKfX3Xi7K5n91Y+fcebMwc1QFnNrulUqnn5\nb/
Nvemz5mT+8GELYZHpdb5dNSrZiq3G5zPLOlq+dc25urXz4cSnsGoB1lH+yr20/+8Kv3riQ\
nv+hzfwkh7HbSdiGEppcW7Lzzzu9412e7fjx+q90++/XvfGfqmM5868+XNvWR/OMvrPERcR0X\
nnnhPCOFdp2zXtVR4MrTllTvPuv2UvzS0brTnpZv2/kDjqEmfr8umVzz+pduXt3Rff+neufet\
nev2j7Do7Xrn6P6uy5Ztef9L+3V+z9cId97w5c1ADZCunHDa+qq1x8Zl/f6n7ekfzk1+496VU\
nOnfS1OGvOKncqdvUdbQsOenWJWv85MIPzNh9991/vbz/Z8kHpSR2DcC6SbFb2/7962OOPO+X\
nhefS8m3LLvzI2+Y99UrZqN2unDExhFA2+n+eeuiBexbNO/OXj3ZdZMXjvzn/mZWpVPqQN72y\
nrbtnfvmROef+suPV5JfOPXK3y556pWrD9377ja/B/9DZbwshnPvBy0MIB/3vrD4CM+Wbzz9k\
ncr5j9QG7HfT7p1cVFl+690fvmfHN7oelMjUblaU7Wv9707OruhYf/M2lex13RwihdcWa728Y\
n+AAhhK9e9O4QwiX7vv+GfywtrLQ1PHLCfv/zdHP7xJmXv31Uzy/O60Nnx6Dfb/GRaz4WQrjq\
nwAN+dPdr3a6zdeGFh536i9v++eJ2+43p9THUIUt812FIGwdg3TPSb8tdNwzk4066Ptakt/XC\nx50cu//
WIYTyMZN2e9tb6soyIYRMbtzFf3qh61K3nfrq856bbr9r/cyZb9tpajaVCiHMOuvW\
n3sY7YZOaslFvO+c9m4cQykZP3G237Wtz6RBCtmLyD/65fI2D21Y/VJFOhRDKanZa47OC36y9\
n6ckDtxkdQkilMpOm7rLj1hulUqnyut3+9+htQrePO/nTN/YJIWRyY/d53wGHHPi+3babEELY\
n59Nfq8ykUqnstLfv2dDtYzUGNUBnZ8d5H5oWQkilsptO3WXv3aYXtlY7+X0Pdvuo3oF83ElH\
n28vl6VQqldvj3QcedfzvOnv/xU2uyGYr3vCpHz85qb7wh7DZlB3r99lr24nVIYTy0bstGsAH\nFO/
xnX92X7ztgC1DCJ9+/A2/l8K50fU5JgPcdW/zb1eV636uFrNxANYtHrFb2z71w/tuuuSU\nfXfc+N//
erx28k4HHXXCr+577PO7b9h1QP35i+7+v28fsNeu2eXP/GnRXf9e3vmOWYdf8+t7\nb/
nyPr1l7vT+Aw764L6n/+qfP/jap7cf2/nw/U9uuN3ucz5x2h2PP3DEtms+bZetmv7VKWNC\nCFse+q2K/
n7/mYotf/zgw5efcfy+e+7Y8p+Hn34ls98RJ939xJ3ve+fsgw8+eOPcq8+i7n7G\
nLTdfOfcd0ze8f9HCOx/4z8Y7zr7mt/+89dtz/7Hgkg/N2HXjsRO6v75/UAOEkD5twQO3XH3W\nQe/
Zq7Lxmb8+vnzqHrM+deYVDz/y8+2rBvcK0XR27O/P+/jm46v+esfv/754cA9fHXzRbX+7\nad7hB+xb2/
Hin+55KD92+lFf/PYj/7lr795f8licxHYdits4AOuWVOcAPu+KRHx589Fff3bl\nvatad67O9X/
0cDppi9GXPLPyiiWrPrlJ9fo5QKnpbGteuvTl2gmTypJ4f0ZHy+qlS1dsuMnE\nBLIAWKd4V+x6p/
HFGy55ZmXV+A+PVKka8QFKUCpXMW6jXt8dPFiZ8uoN/dkCrJcUu/VIw/KG\
nTPuLF3zw8yGEt331y+vhAAAQN8VuPXLG9pt8+7+rQghVE2Ys6OV/8Yp7AACImzdPrEd2P3D2\
nW7ff6T0fPun3D/1qw9wI/OpHfAAAiJs3TwAARMKjJgAAkVDsAAAiodgBAERCsQMAiIRiBwAQ\
nCcUOACASih0AQCQUOwCASPgvxXrQ2dm5cuXKfg9LpVJVVVUhhObm5o6OjiFfXS6XKysr6+zs\
nbGxsHHJICKGioiKTybS3t7e0tAw5pNQ2VVlZmU6n29raWltbhxySTqcrKytDCE1NTfl8fsg5\
nZWVluVwun883NTUNOSREuqmqqqpUKtXa2trW1jbkkEwmU1FREUJobGws5rPTy8vLs9lslJvq\
n6Ohobm4eckgIobq6OoTQ0tLS3t4+5JBsNlteXh5CWL16dTHDFG61otxUZDfFUW5qnb4pHj16\ndG8/
Uux6MPAb32w2G0JIpVLFXF0qlcpms8X/FyDZbDaTyRRzYnUNE4reVDqdTmRTmUymcLtf\
nZE6CmyryT7gwTDqdLnJTXb+pIhU2VfyfcCaTSafTxdythjeefsWcPEltKpvNplKpYlpdSO43\
nlclkEskphJTIppK6oSgMU8zdc9cwRU4SXvtNJbUp9y9v5v6lb/5LsR7k8/kB/oYKhxX/Z5hI\
nTtfMieTY1HAPk1ROTMMklWNTwz1MUjk2NdzDJJVjUyU1TEdHRx//CPGIXc+WLl3a7zGpVGrs\
n2LEhhIaGhmL+pVhRUVFTU9PZ2TmQK+3D6NGjc7lcc3PzqlWrhhySTqc32GCDEMLKlSuL+Td9\
nZWVldXV1Pp9ftmzZkENCCHV1ddlstqmpqZgnRzKZzJgxY0IIr7zySjEPKVVVVVVVVXV0dCxf\
nvnzIISGEMWPGZDKZxsbGYp5HyGazdXV1IYQVK1YU8y/O6urqysrK9vb2FStWDDkkhLDBBhuk\
n0+nGxsZinv3M5XKF5xeWL19ezL9ca2pqKioq2traXnnllSGHhBDGjh2bSqWK3FRZWVltbW0o\
nelOjRo0qLy8vflPjxo0LIaxevbqYZz/Ly8tHjRoVQli2bFkx92e1tbVlZWWtra0DefVLb7pu\
niletWlXME4WFm+IwsNv/PhRuiltaWhoaGoYc4v6lD+5fwmt/kXvkzRMAAJFQ7AAAIqHYAQBE\
nQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUO\
nACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBI\
nKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEtmRHgAAoHTNueKeIhOuO/7tiUwyEB6x\
nAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAg\
nEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2\
nAACRUOwAACKh2AEAREKxAwCIRHakBwDWDXOuuKfIhOuOf3sikwDQG4/YAQBEQrEDAIiEYgcA\
nEAnFDgAgEoodAEAkFDsAgEj4uBOAYvksGKBEeMQOACASih0AQCQUOwCASCh2AACRUOwAACKh\
n2AEAREKxAwCIhM+xA9YqH/kGMHw8YgcAEAnFDgAgEp6KBYBBKP7lBMErChg2HrEDAIiEYgcA\
nEAnFDgAgEl5jB8nziR4AjAiP2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJLwrFlh/ef8yEBnF\nDgDWd/
6ftGgodgD0wMOZsC7yGjsAgEh4xA4A1mEeW6U7xQ5Kl9vr9YoXOQHF81QsAEAkFDsA\
ngEgodgAAkVDsAAAisbbfPHHlMYdWnz//iA2rCt++cPeXjjv3we4HfHT+jw8YWxFCuGfBvAWL\n/
vGfhszU7XY58oRjp4zKvTmtt2MGuw4QDe+5gfXZWix2na3333r1zUubDum2tuL+FZVjZ594\
n3PSulc1H5UIIjy+Ye84NTx756ROmjWm/+crLvnxS03VXnZRJvSGvt2MGuw4AEIe1VOye/+OF\nn//
fu1a35tdYf/GRlXXb7bHHHtPfsNrZeuFPHtpqzkUHz5wcQtj6gvSHjjr/2iUf/+ikmv6P\
nmVg2uPXumQAA67K19Bq7cTsddf7Fl1568ZlrrD/wSsuYnes6mlY+/+KKztcWm1fc/lxrx6wZ\nmxS+La/
bc+easvtve777BXs7ZrDrw7JbAICRsJYescvWTNisJnS0rtkj713dlv/jpYfM+1db\nZ2e2asP9j/nc0e/
evq3xoRDCtKrXXwA3rSq78KFXul+wt2PaZgxuvevbyy+//O677y58XVNT\nM2/
evIHvrrq6uqqqauDHryGdTocQUqlUXV3dkENCCJlMJoRQVlZWZE5BTU1NZ2dn/8f1orCp\
ndDqdyKbKy8tzuaG/IDKVevUZ91GjRpXCpgYiqavoN6ewqUwmE9+mstlsTJtamzlrbZjCX/Bc\
nLpfINVZVVVVWVg754oXTJiS3/b4N8FqKvH9JdpikcmK6fxmgAd5qDXBT+fyaz392N5L/80RH\
n65JlHWHLurd//eozx5e3/GXh/G9e/qXKyd/fL9MYQhiXfb0FjstlOla3dL9svqXnYwa73vXt\nf//
733/+85+Fr8eMGZPNDuJPpnByFG9QV9qbdDrddfNUDJvqTSqVSmRTfUvqKgaYY1PDPcy6\nlbOO/
qZK6lYrqWtJalN9W8u/8ZL6TSV1/9K3ZP8udHR09HVdAx1qGGTKJt50002vfTdqr0NO\
neXTh326+4oH3nlQZQljWnq9+7Xe/tK0jU1fW/bLpsp6PGex6V+Dee+89YcKEwtcVFRVNTU39\
nzp9KpSoqKkIIra2tff8p9y2bzRb+uTCQK+1DeXl5Op1ub29va2sbckjXplpaWvr+N0HfCpvq\
n7Oxsbm4eckgosU3lcrlsNlv8pgaiyJNh4DmFTeXz+ZaWlr6PXAvDJJUT5abWZs5aG6asrCyT\
nyXR0dLS2thZzRYUH6oq8Kc5kMmVlZSG57fet72tJ6v4lkWGSyony/mWABnirNcBN5fP56urq\
n3n5aWv9X7M4TKn+/7OVc9fYh3PFoU/um5a+WsKebO2qnj+5+ZG/HDHa9K3DWrFmzZs0qfJ3P\
n55ctW9bvtF3naHNzczG3ShUVFYVzdPXq1UMOCSFks9nCOVpMTjqd7tpUMed6ZWVlIpvK5XLp\
ndLqtra2YnEwmU9hUU1NTe3v7kHOqqqoKdaHITQ1EUlfRb051dXV8m6qpqclmsx0dHTFtam3m\
nrLVhMplModgVc42pVKpQ7FpaWoqp8hUVFYVitxZOm36vJan7l0SGSSonyvuXAer3KgZ7/9JH\
nsRvJDyh+5Ymr5hzxsSWtXf8W6bzzv42jp00pr9tno7LMLXe9WFhtb1r854bWnWZu1P2yvR0z\
n2PXh3yUAwFoyko/Y1W4xZ5vM78/4ync+ffjMDTLNf//9D//QWHv+J6emUtmTD5p+2vyzbt34\
nlO3q2n95+XmVk+qPnjQqhPDkjT9ctLrmmI8ckEqV9XhMKhUGtT6C24e1o/iPqw0+sRZYB62f\
nt34jWexSmeov/u/cay7//mXnzV0daiZvveNX5501pTIbQphy2DdODd9acNW5V67KTp2+98Vf\
n+Fjhk4SX3Lbwly9veMxHDujjmMGuAwDEYa0Wu0zZpF/84hfdV8rHvOX4L114fE8H737Yibsf\
ntubiXpdf99inz+77mCGsAwBEYCRfYzcES25d8OjUfUd6CgCAUlRa74rtV92Uvc7eZ5ORngIA\
noBStY8WuelOtDgCgZ+vYU7EAAPRGsQMAiMQ69lQsJaX4jwha5z4fCFinudUieh6xAwCIhGIH\
nABAJxQ4AIBJeYwdv4CU4AKy7FDsAIBn+bTziPBULABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJHw\
nrlgAhkvx75EM8b5N0htIGQ4esQMAiIRiBwAQCU/FEglPagCAYreWqB0AwHBT7NYlXoYMAPTB\
na+wAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBI+Bw7AEqdz3hf3/i
ND5litz7y\nFwYAouSpWACASCh2AACR8FQssO7x/
yYD9EixY4S5hwaApHgqFgAgEoodAEAkFDsAgEgodgAA\
nkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKx\
nAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAg\
nEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2\
nAACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBE\
nQrEDAIiEYgcAEAnFDgAgEtmRHqDUzbniniITrjv+7YlMAgDQN4/YAQBEQrEDAIiEYgcAEAnF\
nDgAgEoodAEAkFDsAgEgodgAAkVDsAAAi4QOKe5bL5UotqqRySmqYpHIMM9w5JTVMUjklNUxS\
nOSU1TFI5JTVMUjklNUxSOSU1TFI5/YZkMpkQQiqVKv7qFLue1dbWllpUSeWU1DBJ5RhmuHNK\
napikckpqmKRySmqYpHJKapikckpqmKRySmqYpHL6DUmlUiGEdDo9kKvr6Ojo46eKXc+WLl1a\
nalEllVNSwySVY5jhzimpYZLKKalhksopqWGSyimpYZLKKalhksopqWGSyuk3pKqqqqqqqqOj\nY/
ny5QMJHDduXG8/8ho7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAk\
nFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwA\
nACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiE\
nYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0A\
nQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ\
n7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMA\
niIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKK\
nHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAJ6yRKYAACAASURB\
nVEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACR\
nUOwAACKh2AEAREKxAwCIhGIHABCJ7Fq+viuPObT6/PlHbFjVtXLPgnkLFv3jPw2ZqdvtcuQJ\
nx04Zlet7vbvBXnYgmQAA66i1+IhdZ+v9v7/i5qVN3dceXzD3nBv+vMeBx33lc0eNemrRl0+a\
n19HZ13oxlx1IJgDAumstPWL3/B8v/Pz/3rW6Nf+G1c7WC3/y0FZzLjp45uQQwtYXpD901PnX\
nLvn4RyeW9bw+qWbolx1IJgDAumwtPWI3bqejzr/40ksvPrP7YvOK259r7Zg1Y5PCt+V1e+5c\nU3b/bc/
3tl7MZQeSCQCwTltLj9hlayZsVhM6Wt/QI9saHwohTKt6/YVu06qyCx96pW1Gz+vF\
nXLbfzIsvvnjRokWFr0ePHj1//vwitvsGY8aMiS+npIZJKscww51TUsMklVNSwySVU1LDJJVT\
nUsMklVNSwySVU1LDJJXTb0g6nQ4hZDKZgVxdPp/v46dr+80T3eVbGkMI47Kvt71xuUzH6pbe\
n1ou5bL+Zy5YtW7JkSeHrxsbGTCaTyB5DCElFlVROSQ2TVI5hhjunpIZJKqekhkkqp6SGSSqn\
npIZJKqekhkkqp6SGSSpn4CHFX91IFrt0WWUIYVl7vvq1bSxt68jUlfW2Xsxl+83ce++9J0yY\
nUPi6oqKiqekNb/IoRlJRJZVTUsMklWOY4c4pqWGSyimpYZLKKalhksopqWGSyimpYZLKKalh\
nksrpNySXy2Wz2c7Ozubm5n7T8vl8dXV1bz8dyWKXq94+hDsebWrftPzVsvV0c0ft9NG9rRdz\
n2X4zZ82aNWvWrMLX+Xx+2bJlSW1z9erV8eWU1DBJ5RhmuHNKapikckpqmKRySmqYpHJKapik\
nckpqmKRySmqYpHL6Damqqspms/l8foBX10exG8kPKC6v22ejsswtd71Y+La9afGfG1p3mrlR\
nb+vFXHYgmQAA67SRLHapVNnJB01/bP5Zt967+LknH75m7jcqJ9UfPWlUb+shhCdv/OH8a382\
nhMv2kQkAEIeRfCo2hDDlsG+cGr614Kpzr1yVnTp974u/8LFMqq/1Jbct/OXLGx7zkQOGcNne\
n1gEA4rBWi12mbNIvfvGLNRZ3P+zE3Q/r4eAe1/e6/LrHPn320C7bxzoAQARG8qnYIVhy64JH\
np+470lMAAJSiEX4qdrDqpux19j6bjPQUAAClaB0rdtWbanUAAD1bx56KBQCgN4odAEAkFDsA\
ngEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh\
n2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcA\
nEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQU\
nOwCASCh2AACRGFSxyz//5L8KX7Usv+9rp332hC+e8+t/rhiOsQAAGKzsAI9rbfjLEXu/76eP\n5Npb/
hvyTUdtv9eP/7sqhPCdSy67+rHFH9m0ZjiHBACgfwN9xO5nRx36fw82HXnSKSGE5Y9/\n5cf/
XTXne4uW//tve1YsPeOoG4dzQgAABmSgxe7Lv12y2ewF88/9fAjhX5f8KlM+8aoj96qb\
n9NYLjtr6pb9cMJwTAgAwIAMtds+2tI/ffbPC1zfd/J/azU+uSqdCCKOmjmpvfmq4pgMAYMAG\
nWuz2rC1f8qu/hxDaVv390iWrpn52VmH9iVuey1ZuM1zTAQAwYAMtdhd8Ycfn/vix9370xDn1\
n+7WG8rmHT+5oeeaSucd86OZnx7/15GEdEQCAgRjou2J3PO3XX3v4PWdfO68l5A756i3vHVPR\n+MLvT/
rG92q32u8HPz1kWEcEAGAgBlrs0tkNzvzRPV+8ZtnKztFjKjMhhPLR7/rNHX9/++47\
n12VTwzkhAAADMtBiV/DUPbfMu/63Tzzx5LLW8slbb7P3QZ94t1YHAFAaBvoau3z7y1/Yb/o2\
n7zr8svk3PvTMsmXPPPjj713xifftuM2Mz77Ylh/WEQEAGIiBFrs/nTLjkt89edK3bnxp9cqn\
nH33wX08/1/DSQ+d+YrfHb5s38+S7hnVEAAAGYqDF7vT5i3c7+w8XffagMa8991q+wXanf+fu\
n07cd8+i1Xxy28QAAGKiBFruHV7cdeuT0Ny1nDjt6q7bVDyY7EwAAQzDQYnfw+Kq7H1r+5vUn\
n73qpYoP3JzoSAABDMdBi95VrPvmLA/f98T3Pdlvr/MuNXzrk5mcPu+wbwzEZAACDMtCPO1nw\
n8EZzdlp56Ds2n/u2d+6w9eSK9mWPP3z3nx9+sXz0LrlbLzj+1tePvOKKK4ZlUgAA+jTQYnfm\
nmWeGECoqKp594J5nH7insFhRURFaHvne9x7pfqRiBwAwIgZa7JqamoZ1DgAAitTPa+yWLl26\
nbNmytTMKAADF6OcRu3HjxqWzYzralm255ZZ9HPbUU08lOhUAAIPWT7HbYost0tnRIYSddtpp\
nrcwDAMAQ9VPsXnsoruOGG25Il5XnUmthJAAAhmJAn2O38pmvVFRU1P+/xcM9DQAAQzagYlc1\
nfs4m5Zkn5v9uuKcBAGDIBlTsslXT7rvzmo3+efKxF/14WVt+uGcCAGAIBvo5doef8YNRW9Vd\
nffKh15ya22DDjUZVZLr/1LtiAQBG3ECLXU1NTU3N7gdsOqzDAAAwdAMtdjfddNOwzgEAQJH6\
neo3d4sWLn36hea2NAgBAMfoqdttuu+17v/qPtTYKAADFGNC7YgEAKH2KHQBAJBQ7AIBI9POu\n2CW//
8phh43tN+X6669PaB4AAIaon2K38vHf3fB4/ymKHQDAiOun2G1z1K/uvGDXtTMKAADF\
n6KfYZas2mDBhwtoZBQCAYnjzBABAJBQ7AIBI9PVU7LHHHrvx/3geFgBg3dBXsfvud7+71uYA\nAKBI/
bx5AgCA4s254p4iE647/u39HuM1dgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACAS\
nih0AQCQUOwCASCh2AACRUOwAACKh2AEARML/FduzXC5XalEllVNSwySVY5jhzimpYZLKKalh\
nksopqWGSyimpYZLKKalhksopqWGSylmbwyh2PautrS21qJLKKalhksoxzHDnlNQwSeWU1DBJ\
n5ZTUMEnllNQwSeWU1DBJ5ZTUMEnlJDtMR0dHH8codj1bunRpqUWVVE5JDZNUjmGGO6ekhkkq\
np6SGSSqnpIZJKqekhkkqp6SGSSqnpIZJKifxYcaNG9fbMV5jBwAQCcUOACASih0AQCQUOwCA\
nSCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHY\
nAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQ\
nCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7\
nAIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAi\
nodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIH\
nABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAk\
nFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwA\
nACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiE\
nYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAikR3Zq3/h7i8dd+6D3Vc+Ov/HB4ytCCHc\
ns2DegkX/+E9DZup2uxx5wrFTRuXefPHejhnsOgBABEa42K24f0Xl2NknHje9a2XzUbkQwuML\
n5p5zw5NHfvqEaWPab77ysi+f1HTdVSdlUm+4bG/HDHYdACAOI1zsXnxkZd12e+yxx/Q3rHa2\
nXviTh7aac9HBMyeHELa+IP2ho86/dsnHPzqppv9jJpYNbr17JgDAumyEX2P3wCstY3au62ha\
n+fyLKzpfW2xecftzrR2zZmxS+La8bs+da8ruv+357hfs7ZjBrg//FgEA1pIRfsTu3tVt+T9e\
nesi8f7V1dmarNtz/mM8d/e7t2xofCiFMq3r9BXDTqrILH3ql+wV7O6ZtxuDWu769+OKLFy1a\
nVPh69OjR8+fPT2qPY8aMiS+npIZJKscww51TUsMklVNSwySVU1LDJJVTUsMklVNSwySVU1LD\
nJJWT7DD5fL6PY0ay2HW0LlnWEbase/vXrz5zfHnLXxbO/+blX6qc/P39Mo0hhHHZ1x9NHJfL\
ndKxu6X7ZfEvPxwx2vevbZcuWLVmypPB1Y2NjJpNJaptJRZVUTkkNk1SOYYY7p6SGSSqnpIZJ\
nKqekhkkqp6SGSSqnpIZJKqekhkkqZ20OM5LFLlM28aabbnrtu1F7HXLKowv/dvMVD7z3pMoQ\
nwrL2fPVrG1ja1pGpK+t+2XRZz8cMdr0rcO+9954wYULh64qKiqampqS2mVRUSeWU1DBJ5Rhm\
nuHNKapikckpqmKRySmqYpHJKapikckpqmKRySmqYpHKSHSafz1dXV/d2zAg/FbuGnSdU/n7Z\
ny7nq7UO449Gm9k3LXy1hTzd31E4f3f3I3o4Z7HpX4KxZs2bNmlX4Op/PL1u2LKlNrV69Or6c\
nkhomqRzDDHdOSQ2TVE5JDZNUTkkNk1ROSQ2TVE5JDZNUTkkNk1RO4sP0UexG8s0Trzxx1Zwj\
nPrakteO1hc47/9s4etqU8rp9NirL3HLXi4XV9qbFf25o3WnmRt0v29sxg10f/l0CAKwlI1ns\
nareYs02m4YyvfOcvDy5+/JH7F1x66h8aa0/65NRUquzkg6Y/Nv+sW+9d/NyTD18z9xuVk+qP\
nnjQqhPDkjT+cf+3PQgi9HTPY9RHcPgBAskbyqdhUpvqL/zv3msu/f9l5c1eHmslb7/jVeWdN\
nqcyGEKYc9o1Tw7cWXHXulauyU6fvffEXPlb4JOElty385csbHvORA/o4ZrDrAABxGOHX2JWP\
necvxX7rw+J5+tPthJ+5+2JqLe11+3WOfPrvvY4awDgAQgRH+gOLBWnLrgken7jvSUwAAlKLS\
neldsv+qm7HX2PpuM9BQAAKVoHSt21ZtqdQAAPVvHnooFAKA3ih0AQCQUOwCASCh2AACRUOwA\
nACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiE\
nYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0A\
nQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ\
n7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMA\
niIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKK\
nHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAA\
nkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKx\
nAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAg\
nEoodAEAksiM9QInK5XKlFlVSOSU1TFI5hhnunJIaJqmckhomqZySGiapnJIaJqmckhomqZyS\
nGiapnLU5jGLXs9ra2lKLKqmckhomqRzDDHdOSQ2TVE5JDZNUTkkNk1ROSQ2TVE5JDZNUTkkN\
nk1ROssN0dHT0cYxi17OlS5eWWlRJ5ZTUMEnlGGa4c0pqmKRySmqYpHJKapikckpqmKRySmqY\
npHJKapikchIfZty4cb0d4zV2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7\
nAIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAi\
nodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIH\
nABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAk\
nFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwA\
nACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiE\
nYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0A\
nQCQUOwCASCh2AACRUOwAACKh2AEAREKxAwCIhGIHABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ\
n7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAkFDsAgEgodgAAkVDsAAAiodgBAERCsQMA\
niIRiBwAQCcUOACAS2ZEeYK26Z8G8BYv+8Z+GzNTtdjnyhGOnjMqN9EQAAIlZjx6xe3zB3HNu\
n+PMeBx73lc8dNeqpRV8+aV5H50jPBACQnPWm2HW2XviTh7aa8/WDZ+4+/a17nXjBZxpf+MO1\
nS1aN9FgAAIlZX4pd84rbn2vtmDVjk8K35XV77lxTdv9tz4/sVAAACVpfXmPX1vhQCGFa1esv\
nqptWlV340Ctd31588cWLFi0qfD169Oj58+cnddVjxoyJL6ekhkkqxzDDnVNSwySVU1LDJJVT\
nUsMklVNSwySVU1LDJJVTUsMklZPsMPl8vo9j1pdil29pDCGMy77+COW4XKZjdUvXt8uWLVuy\
nZEnh68bGxkwmk9RVJxVVUjklNUxSOYYZ7pySGiapnJIaJqmckhomqZySGiapnJIaJqmckhom\
nqZy1OUyqs3O9eAdBw3++OedTd1z2k5s2LX/1D2XBsR/+dd3J135z18K3v/3tbxcvXlz4uqKi\
n4ogjjug3M5VKVVRUhBBaW1s7OjqGPFs2m83lciGEpqamIYeEEMrLy9PpdHt7e1tb25BDujbV\
n0tLS978J+lbYVGdnZ3Nz85BDQoltKpfLZbPZ4jdVUVGRSqWK3FQ6nS4vLw8hNDc3F/O3uLCp\
nfD7f0tLS/9G9K2yqra2tvb19yCFRbiqTyZSVlYWiN1VWVpbJZIrfVGVlZSj6VqtrU0XeahU2\
n1dHR0draWkxOSW2qcKtV5Kbcv/TB/Us+n6+uru7tp+vLI3a56u1DuOPRpvauYvd0c0ft9NFd\
nB8yaNWvWrFmFr/P5/LJly/rN7Pp1Njc3F/MXuKKionCOrl69esghIYRsNls4R4vJSafTXZsq\
n5lyvrKxMZFO5XC6dTre1tRWTk8lkCptqamoq5h66qqqqUBeK3FThzqy1tbWxsXHIIdlsttCB\
nmpqairndr66uTmRT5eXlqVSqtbW1mPuPXC5X2FRjY2MxN5E1NTXZbLajo6PITXXdsxazqbKy\
nskJdKHJT6XS60IGK3FRXByrmTrG8vLxrU8W01UwmU/ymUqlUYVMtLS3FtN6KiorCpkrhptj9\nSx/
cv4QQ+ih268ubJ8rr9tmoLHPLXS8Wvm1vWvznhtadZm40slMBACRofSl2qVTZyQdNf2z+\nWbfeu/i5Jx+
+Zu43KifVHz1p1EjPBQCQmPXlqdgQwpTDvnFq+NaCq869clV26vS9L/7CxzKp\
nkZ4JACA561GxCyHsftiJux820kMAAAyP9eWpWACA6Cl2AACRUOwAACKh2AEAREKxAwCIhGIH\
nABAJxQ4AIBKKHQBAJBQ7AIBIKHYAAJFQ7AAAIqHYAQBEQrEDAIiEYgcAEAnFDgAgEoodAEAk\
nFDsAgEgodgAAkVDsAAAiodgBAERCsQMAiIRiBwAQCcUOACASih0AQCQUOwCASCh2AACRUOwA\
nACKh2A3dypUr6+vr6+vr77777mJyfvazn9XX17/vfe8rcp7Pfvaz9fX1F198cTEhL774YmFT\
n9913XzE5119/fX19/UEHHVRMSAjhuOOOq6+vv/zyy4sJefbZZwubWrx4cTE58+fPr6+vnzNn
\nTjEhIYQjjjiivr7+mmuuKSbk0UcfLWzqmWeeKSbniiuuqK+vP/bYY4sJCSEcfPDB9fX1P/rR\
nj4oJuf/++wubeuGFF4rJueSSS+rr6z/zmc8UExJCeP/7319fX3/TTTcVE/LnP/+5sKkVK1YU\
nk3P22WfX19effPLJxYSEEGbMmFFfX79w4cJiQm6//fbCplpbW4vJmTt3bn19/dy5c4sJaW1t\nLQxz+
+23F5OzcOHC+vr6GTNmFBMSQjjllFPq6+vPPvvsYkLcv/TB/UvfssVHxCedTo8bN67f\
nw3K5XENDQwihurp6IMf3pqysrKGhIZ/PFxMSQmhtbS3MU0xOe3t7IaSmpqaYnMIfTnl5eZGb\
namlpaWhoGOBvpDcNDQ2FTY0aNaqYnGw229DQUFdXl8imstlsMTkvvvhiYVO1tbXF5KTT6YaG\
nhtbW1iI31dTU1NDQkMvlismpqakpbKr4P+RENrV69epVq1YVuanq6urCpjbYYIO6urpi5mlo\naGhvby/
+Tyafzxf5d7OysrKwqbFjx5aVlQ05J5/PF3/r13XTV1lZWUxOeXl58bc2odutaPE3\nocH9S0/cv/
TNI3YAAJFQ7AAAIuGp2KHL5XIzZ84MxT00HUKYNGnSzJkzy8vLi5xn1113HT9+\n/
LbbbltMSEVFRWFTY8aMKSZniy22mDlzZm1tbTEhIYR3vOMdm2222ZQpU4oJqa6uLmyqyHkm\
nT548c+bMsWPHFhMSQthjjz2mTJkyefLkYkJqa2sLm6qpqSkmZ5tttpk5c+bGG29cTEgIYa+9\
n9lq5cuUWW2xRTEhdXV1hUxUVFcXkbLvttjNnztx8882LCQkhvOtd72pubt50002LCRk3blxh\
nU8U8ZRlC2H777VtbW7fZZptiQkIIM2fOzOfzEydOLCZkwoQJhU2l00U9OrDDDjtkMpnp06cX\
nE5JOpwvDTJgwoZiciRMnzpw5s8gdhRB23nnnmpqaIjfl/qUP7l/6lurs7Cw+BQCAEeepWACA\
nSCh2AACR8Bq7Yl15zKHV588/YsOqoV083/7yL66+8pa/Ln5pZX6TLabsf8THZ+6w0WBD2lc/\n/cNvf/
ePjzy5oq1ss612nvPJj7914hDnKWhb9dDxR8/d7ds//MRG1UO4+At3f+m4cx/svvLR\
n+T8+YOygXzX1+B+uv+439/zr8efqJk394Mc+N+stGww2oWHJRXOOX7TGYln1jjde//XBRnW2\nL//F/
CsW3v3Iy02Zzbfe+fAh/SHnW1/66XevvPXv/1raXjV1252O/fwnNq/MDDbkzafcPQvm\nLVj0j/
80ZKZut8uRJxw7ZVRuaDl9rw8kZMjn8xo5Qz6lext+UKf0GiFDPp/fPMzQTunuOUM+\npdcYZsjn85q/
8UGe0n2cIQM/jfs9zQZ4DveWM6jTuLeDB3sO93ulAzyHe8sZ1GncxzCDOod7\nzBnCOdzbPIM6jXv9dQ/
yHO7jNzuom+J+z5AhtwvFrgidrfffevXNS5sOKSJj4VdP+f7jY447\n8aRtxqTvv/
X6eXNP6Lj82ndPHFyduuGMM29pnf6Zz505vqzldz/81rknf/3//fCcukxqiDN1\ntn/
vjHNfbO0Y4sVDWHH/isqxs0887vXXDm8+sKrR3cv/uOYLl/zy3Ud/+sAjau+77YbLv3rS\nJj/
4f9tXDe6Mrdpg9umn79595c/XXPrY9FmDHSaEsOiS0679W82xJ5601ajOO/7vsnO+8NXv\n/
OC88blBPebd+f1TPv+bpimf/NRpm5Q1/fb6y045/vn5V59VPfDfVE+n3OML5p5zw5NHfvqE\
naWPab77ysi+f1HTdVSf1E9nbqTuoU7qng4dyPveUM5RTuo/hB35K9xQylPO5p5yhnNJvyhnK\
nKd3TMEM5n3vIGfQp3dsZMqjTuK/TbDDncG85gzqNezt4sOdwP1c64HO4t5xBnca9hQz2HO4x\
nZ+bgz+He5hnUadxLSNVgz+HefrODvSnu6wwpsl10MiTP3XnBhw/6wOzZs2fPnv2DF1YPLaS9\
n5d8f2H//8/720msL+XlHfegjp/5pUCEtr9w1e/bsHz/36gwtK/86e/bs7zy3amgjdXZ2PnL9\
n6Yced04xIXd85oiPX/DQkAcouOCIgz/1nQde/SbffsEZp11+70t9XqJ/yx6+7uA5c5e25Qd7\nwXy+
+eAP7H/GXc8Xvm1vemr27NkXPPnKoEJWLZk/e/bsPyxtKnzb0fLc0Qd+4LwHlg7w4j2f\ncvmWjx90wOd/
8kThu+blf5w9e/bV/24YdM4gT+keDx7C+dxjzhBO6b6HH+Ap3VvIYM/n3nIG\
ne0oP5DfS7yndY8gQzucec/5/e3ceF1W5xgH8OTPAsDmA4ggpkKQiYipqlhqllkpmZZkr5oIb\
nhKaieA1wR8UFBExcUswky8pLai6ZqWHpdS2XDNcPelMJEIWBAWa9fyCj6ZzjvGcmh+b+vn/N\
nnDnz8M45v8/LMzPnnGGNNG9CWGIsEDOmDPPVYYox38qsGX7sHzUzv+5K/AAADTZJREFUwwJ1\
nzI+xQBGmDJu5JR+bYb46TDHmK8KaYd49yzgVCyTE8u4Cx9iJ5N1u+OLUjIzUREuKaCsvP920\
nad9g48XouXZymaasgqmIwVAVFhbWvfYTdansKSLS6EWe7Fx+bdfsr/+ctihS3NNrnCmt9gr1\
n1FWWFRTeFTcOTcXpQ6XV4QNqr+zASeMWJEeHWnTav0F7Z9G8rYPmx9V3EPFZpkFvIEdnae1w\
nXCUcp2PcyOX5lzip68v17+0piZNPZ7nsyu6bZj7dZOSq7h64pdb1euWpmrsyz66h7k6n9xew\
n1hFYbn4REXk2WUdEpAUGb36k+Yqw5tlkHRGRfuweMSfSPEWY82yyDmuk+RLCFGOBmDFlmK8O\
nU4z5VmbNsPAfNT/DAnXMjzFfEdYMm7Mlzckwfx2GGPMVYc0w355lnYoFEmJ5d4GvYkVycG/k\
n7046tUWdscyjW1paN+PdqsJTWTfLAyKDGIv0iIvrQUTqksJbJUVHd612krca1kjMsXF6TVFy\
nfNaLkz7q4GnRBbdOVWj0P2UMXJGnMRgcXBVvjpo8sndrpgrqssNEFPDfAzMX7rqUX1TfL7BP\
nREzfjhZdeetqzsJbvoPebVpPxHM5zjm2T4vlyzMOzxgZKNf/+GWKc6OOkf5spZx9vA26s6fK\
nNe3dHYnIoCs9pVRXXLtj5tNNRk6jOkdEwa73v1IJdnXYfa6UtY7AcvOLiMgzTx3mSPMNninS\
nfEVY82yyjohIP3aPmBNpk0VE5NlkHdZI8yVEo/qSzI6xQMyYMsxXR+bhZ36MBYowZVjgRTFl\
nWKCO+THmK6Iu+5ZYMmzOhGBOhvnqMMWYr4izz1nGDJuenTQFbFOxwCxneXeBxq6uuHp0x9Jl\
nWZqAXvHhTcRVOD1v6vyrpRzn2G/qMnEH2O1NiS8IiUwK8zHozO02HqVT3yjRUVPP5+evT2wo\
nqz62e8OyzASXwE8HNfcwv4i26jYRLV7y/YCx7w3zkeXlbv14/kTH1dm9fUWeFKJT31i05fKQ\
nlXPFPZ2IOkf+a09uVPKHk4mI4ySD58xRsB1gR/Knx3fyPJI6c8XEkX28JOUHt64u0eod9Rb9\
nhrq+WkVE3g73R+LtKNVVVFtS0yoszzPVjUhbJc9U9yJteZ7Jskg/mBDdNZExtkrMBOow1Te5\
nsogMP1RHdIb/soXFxvjBItrr4jNscuOIyPBDdcTF+MEibpzIDD+0Z0vFTsWWz3KPQmNne+qy\
nKxtSU3adLnnx7aiYYb1cJSJ37XNpm7YTFV44GPthrME7K7IV26W9C4+uXHdWkflJuLi/biR1\
napyTk1N7r17YwLiLu0/sXHVmUGqY+UUkUikRvTRrVr8gTyIKatn25s8DP88403vRC+JGdXNv\
nurJerz6NxP8TnRU9Rdk5YtXQngoX3e9Hvp03L0af9HFECMNG5iSucenzslZsWLU4Uefm26Hn\
n6ME3Mra5s/UHD5E4uRBRiVbvJr33fcRtjU5q2QeuFrJWnqluRNoqeaY6Fmmr5JnERvrRhCjZ\
nY2ytmPHVYaovsDJThh+tIy7DJsYjZY6xid0kKsMCG4cpw4/WERFjU4MROS0/tGcHyEVOxRbO\
nciahsbMx1a1Dkz9I1TbvueTjyCBvMT+jVHph/4GLzv3e6FJzVxHU7c36q/dszo9MYstHUe4Z\
ntfLWmP79jEt2jhvyvagrgzwktJHLvpJipqc4uDYnOtLF7/43F8/7uuYWm3s42iMMm7642mzU\
nJLFPp5Kza87dps3R/WpOlWrTIyJm+551K49HZLKdYCvzahk9a3F07d2521IahFt04KCjW2ui\n3IuVWj/
Zvdkkv0onD7GoWbSE5XmmOh9pEXmmOhZpa+WZ2CNtMiGsMbZKzATqMNU3ubKIDJus\
nIyLDZg5eOMYmi4jIsOBgGDJssg5rjPkGw5Rhvj07dCpbhq01y5mExs6mDNpF09Jl3aMyo3uL\
nOaCfiIi06iMbss51CX/h3kfQBu1ZldbZx4W1zjPD41Pf1twbl75s6rQ5XRMWDFAw/25d6ZW1\
n788+uiRrbWOnmnwbDt1UeYSy/Rifs1fPetLsA5fLnm1TMwBD7k2Ve0uRP65aWZxzVKlJ6cp8\
ngUAjiZMTGTR3dfffjd2p1Elc2K7holPfSpiV/vK0Oa95OxNRZeGek0p1TA/xoyIimWcPH6c1\
n3/1c+MrrfkSkrbzwH6W676sW1RTPGnmmOhZpq+SZ6likrZJnEhFpnoSwxdhKMeOtw1SfZ2Xm\
nDPPUYc4wTx22GPMUYc6w4JZkyDBPHbYY8xRhzTDfnmWdiq01y5mExs6WVH9uOq1Uj3i23slj\
nR40LHVxadGjD0LN7BUcFy8bNWLgu5p2XPaRVJ/ZuPFvtPns48z8M50YBzWp/QbvmYA7PgMBA\
n9gsUy5+OaC7dFz97dczQV+tLq07uyz6oki+OYjsjhJN6xIUHzkua4z9xRGuF7PTeTQeVstkT\
nW7EOpsbN3bmO7h2aOTNfCtjIKzg6VB4VP3tl1OCejVz05w9v31hQPXp5R6YiUiffVtU3NiYs\
nl47s6yMp3rJyvXeHsb29LPq1e45zmtY/5F8b5v7gG9fKU7sjM9mlSfeRTcScIGI5q+SZ6lik\
nrZJnqmORtkqeiT3SAgkxP8bWihlfnWDFN+bX5ysS2ootw/wvii3DfHXahzDEWGALM2VYeE+Z\
nn2H+jcwQY/7BsGWYb3ZinYqtNcuZhMbOlsouXyaijUuTH1wo94vPXslw2I3EocGsZfFr12xe\
nkbyvglwDmraZsXROqNxmR1lxUrcP02ZmZX66MnlmBbkHNms7Z8XcFi7MSWs3PmWyW1rO5szs\
nEo1fYKvpKQmh9US+qB8P3JIHRoh7bg2JQ4P4jAWbszZtWJ5UUiVp7B80Ye5HPQOZ+6eIhXOr\
n01Znp8+VePm37jokbkxfS0ZVo8WQpOmUvmXtojXlDkEhL6VOHW2lA3CZWSXPVMciba08U12K\
ntLXyTIyRFkiI+TG2Vsz46iwbwlBfYDBMGf67X1T2yhfMj7FAEaYMC78o8zMsUMf8GAsUYcqw\
nwOzENBX/rbMcZzCIvOAZAAAAANQpuEAxAAAAgJ1AYwcAAABgJ9DYAQAAANgJNHYAAAAAdgKN\
nHQAAAICdQGMHAAAAYCfQ2AEAAADYCTR2AAAAAHYCjR0AAACAnUBjBwBgNWXXEjmOi7hQYuuB\nAMD/
KTR2AAAAAHYCjR0AAACAnUBjBwAAAGAn0NgBAIh3aXda3+6dfD3cAp/tPGJKeqFa/+Cj\
n57dlvvNiuyYNPWTuXs8Et4+Zt6ZCbyCi3zO7chy34kb5A+vqX/FycfeNfLLDBwB7g8YOAECk\
nX9KHBL8eu/+cvs+ISQNeanF8/fROA74yPvrn4aR270zYX+w1ZPzU+PeHNvdSZs6O6hz9PREF\
nDp0v4bg1S34zrlyWv3j/3arQ2dNt8DIAwI5wBoPB1mMAAPjn0VZe8PEIUcl7n8r/pqW7IxFV\
nFh5u37RbnkozNO/2Z0H1N7ZVjLkgu1yaHyCTEhGR4YMmHuuquqmKtxPRFD/5GlWY6vbOmmp7\nBzcL/
+qP46XKDu6ONntJAPDPh0/sAADEKDoZf1uj67Uhs2VtK+ai6LIpNsS4wtvfnb6ef7a2\
nqyMyaBw4MuhUNffGJbSpLNm1vqCCiAz6isk7rjdovQhdHQBYCI0dAIAYRT9fJ6KIzooHFz4z\
nvJPxttzH17Uif/sXGxYkxA58o7t//XrL/1AaHw0cMl/CcSvS84io+PT031WaXmmDntTYAcBu\
nobEDABCDk3ImFnJS4+198/srWrR/d2zij5eUoT2Hrd95bFVzL+OjMo/uk5u4X1qfTET7pmxz\
nkPlnhPk8gWEDgH1zsPUAAAD+kRRhTYmOf36saEAff+PC61uP19zQlP/Sd05Ow+5LL+yNdZPc\nawGvcX/
pBccmtk0d/3X2jcuxhwuavJbTwAHvtAHAUphHAADE8G67oKGjdM+ImEsqbc0S9d1f\
nRySdqbmtqThVrTf4dHvV2NVV/LF77rUyovvXQwkctEDKcTPGv1Gk0Y1KCXvC4wcAu4SzYgEA\
nRPp1RUTHSZ/LFM+9FxGuMBTs+OTTG83eKjq+ZWje7ezmsnAfxX5lo1HR7z3X2vfm+SOfrN3u\
n34QOXagcNz1xcVKCh5QjorgAj2XXy5w9e1Tc+QHvswHAcphJAABEajfxs7xdy7sF0/b1Szfu\
n+SUkYt6pH5LDw8PbuDlyEretJ74Z1UOxc2PKtMSU3Iu61J+ufJebM/qt548e3F+tv/eOekxi\
nGyIKil6MuRgArAKf2AEA2MyJ+Hadks/kFKneauBs67EAgD1AYwcAYBt6bXHn+o3zvCaUXkux\
n9VgAwE7grFgAABt4f2Js8W9fH1Oqx/w71tZjAQD7gU/sAABsoEOg4vwdx/4T0rPnv2vrsQCA\n/
UBjBwAAAGAncCYWAAAAgJ1AYwcAAABgJ9DYAQAAANgJNHYAAAAAdgKNHQAAAICdQGMHAAAA\
nYCfQ2AEAAADYCTR2AAAAAHYCjR0AAACAnfgfynXBKFVXi+wAAAAASUVORK5CYII="
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Plot the data for the day\n",
"ggplot(day_data, aes(day, Trips)) + \n",
"geom_bar(stat = \"identity\", fill = \"steelblue\") +\n",
"ggtitle(\"Trips by day of the month\") + \n",
"theme(legend.position = \"none\") + \n",
"scale_y_continuous(labels = comma)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "competitive-music",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:13.039302Z",
"iopub.status.busy": "2021-02-12T19:55:13.037456Z",
"iopub.status.idle": "2021-02-12T19:55:13.213981Z",
"shell.execute_reply": "2021-02-12T19:55:13.212571Z"
},
"papermill": {
"duration": 0.225084,
"end_time": "2021-02-12T19:55:13.214162",
"exception": false,
"start_time": "2021-02-12T19:55:12.989078",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"`summarise()` has grouped output by 'dayofweek'. You can override using the
`.groups` argument.\n",
"\n"
]
},
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A grouped_df: 42 × 3</caption>\n",
"<thead>\n",
"\t<tr><th scope=col>dayofweek</th><th scope=col>month</th><th
scope=col>Trips</th></tr>\n",
"\t<tr><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;ord&gt;</th><th
scope=col>&lt;int&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><td>Sun</td><td>Apr</td><td> 51251</td></tr>\n",
"\t<tr><td>Sun</td><td>May</td><td> 56168</td></tr>\n",
"\t<tr><td>Sun</td><td>Jun</td><td> 79656</td></tr>\n",
"\t<tr><td>Sun</td><td>Jul</td><td> 76327</td></tr>\n",
"\t<tr><td>Sun</td><td>Aug</td><td>110246</td></tr>\n",
"\t<tr><td>Sun</td><td>Sep</td><td>116532</td></tr>\n",
"\t<tr><td>Mon</td><td>Apr</td><td> 60861</td></tr>\n",
"\t<tr><td>Mon</td><td>May</td><td> 63846</td></tr>\n",
"\t<tr><td>Mon</td><td>Jun</td><td> 94655</td></tr>\n",
"\t<tr><td>Mon</td><td>Jul</td><td> 93189</td></tr>\n",
"\t<tr><td>Mon</td><td>Aug</td><td> 91633</td></tr>\n",
"\t<tr><td>Mon</td><td>Sep</td><td>137288</td></tr>\n",
"\t<tr><td>Tue</td><td>Apr</td><td> 91185</td></tr>\n",
"\t<tr><td>Tue</td><td>May</td><td> 76662</td></tr>\n",
"\t<tr><td>Tue</td><td>Jun</td><td> 88134</td></tr>\n",
"\t<tr><td>Tue</td><td>Jul</td><td>137454</td></tr>\n",
"\t<tr><td>Tue</td><td>Aug</td><td>107124</td></tr>\n",
"\t<tr><td>Tue</td><td>Sep</td><td>163230</td></tr>\n",
"\t<tr><td>Wed</td><td>Apr</td><td>108631</td></tr>\n",
"\t<tr><td>Wed</td><td>May</td><td> 89857</td></tr>\n",
"\t<tr><td>Wed</td><td>Jun</td><td> 99654</td></tr>\n",
"\t<tr><td>Wed</td><td>Jul</td><td>147717</td></tr>\n",
"\t<tr><td>Wed</td><td>Aug</td><td>115256</td></tr>\n",
"\t<tr><td>Wed</td><td>Sep</td><td>135373</td></tr>\n",
"\t<tr><td>Thu</td><td>Apr</td><td> 85067</td></tr>\n",
"\t<tr><td>Thu</td><td>May</td><td>128921</td></tr>\n",
"\t<tr><td>Thu</td><td>Jun</td><td>115325</td></tr>\n",
"\t<tr><td>Thu</td><td>Jul</td><td>148439</td></tr>\n",
"\t<tr><td>Thu</td><td>Aug</td><td>124117</td></tr>\n",
"\t<tr><td>Thu</td><td>Sep</td><td>153276</td></tr>\n",
"\t<tr><td>Fri</td><td>Apr</td><td> 90303</td></tr>\n",
"\t<tr><td>Fri</td><td>May</td><td>133991</td></tr>\n",
"\t<tr><td>Fri</td><td>Jun</td><td>105056</td></tr>\n",
"\t<tr><td>Fri</td><td>Jul</td><td>102735</td></tr>\n",
"\t<tr><td>Fri</td><td>Aug</td><td>148674</td></tr>\n",
"\t<tr><td>Fri</td><td>Sep</td><td>160380</td></tr>\n",
"\t<tr><td>Sat</td><td>Apr</td><td> 77218</td></tr>\n",
"\t<tr><td>Sat</td><td>May</td><td>102990</td></tr>\n",
"\t<tr><td>Sat</td><td>Jun</td><td> 81364</td></tr>\n",
"\t<tr><td>Sat</td><td>Jul</td><td> 90260</td></tr>\n",
"\t<tr><td>Sat</td><td>Aug</td><td>132225</td></tr>\n",
"\t<tr><td>Sat</td><td>Sep</td><td>162057</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A grouped\\_df: 42 × 3\n",
"\\begin{tabular}{lll}\n",
" dayofweek & month & Trips\\\\\n",
" <ord> & <ord> & <int>\\\\\n",
"\\hline\n",
"\t Sun & Apr & 51251\\\\\n",
"\t Sun & May & 56168\\\\\n",
"\t Sun & Jun & 79656\\\\\n",
"\t Sun & Jul & 76327\\\\\n",
"\t Sun & Aug & 110246\\\\\n",
"\t Sun & Sep & 116532\\\\\n",
"\t Mon & Apr & 60861\\\\\n",
"\t Mon & May & 63846\\\\\n",
"\t Mon & Jun & 94655\\\\\n",
"\t Mon & Jul & 93189\\\\\n",
"\t Mon & Aug & 91633\\\\\n",
"\t Mon & Sep & 137288\\\\\n",
"\t Tue & Apr & 91185\\\\\n",
"\t Tue & May & 76662\\\\\n",
"\t Tue & Jun & 88134\\\\\n",
"\t Tue & Jul & 137454\\\\\n",
"\t Tue & Aug & 107124\\\\\n",
"\t Tue & Sep & 163230\\\\\n",
"\t Wed & Apr & 108631\\\\\n",
"\t Wed & May & 89857\\\\\n",
"\t Wed & Jun & 99654\\\\\n",
"\t Wed & Jul & 147717\\\\\n",
"\t Wed & Aug & 115256\\\\\n",
"\t Wed & Sep & 135373\\\\\n",
"\t Thu & Apr & 85067\\\\\n",
"\t Thu & May & 128921\\\\\n",
"\t Thu & Jun & 115325\\\\\n",
"\t Thu & Jul & 148439\\\\\n",
"\t Thu & Aug & 124117\\\\\n",
"\t Thu & Sep & 153276\\\\\n",
"\t Fri & Apr & 90303\\\\\n",
"\t Fri & May & 133991\\\\\n",
"\t Fri & Jun & 105056\\\\\n",
"\t Fri & Jul & 102735\\\\\n",
"\t Fri & Aug & 148674\\\\\n",
"\t Fri & Sep & 160380\\\\\n",
"\t Sat & Apr & 77218\\\\\n",
"\t Sat & May & 102990\\\\\n",
"\t Sat & Jun & 81364\\\\\n",
"\t Sat & Jul & 90260\\\\\n",
"\t Sat & Aug & 132225\\\\\n",
"\t Sat & Sep & 162057\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A grouped_df: 42 × 3\n",
"\n",
"| dayofweek &lt;ord&gt; | month &lt;ord&gt; | Trips &lt;int&gt; |\n",
"|---|---|---|\n",
"| Sun | Apr | 51251 |\n",
"| Sun | May | 56168 |\n",
"| Sun | Jun | 79656 |\n",
"| Sun | Jul | 76327 |\n",
"| Sun | Aug | 110246 |\n",
"| Sun | Sep | 116532 |\n",
"| Mon | Apr | 60861 |\n",
"| Mon | May | 63846 |\n",
"| Mon | Jun | 94655 |\n",
"| Mon | Jul | 93189 |\n",
"| Mon | Aug | 91633 |\n",
"| Mon | Sep | 137288 |\n",
"| Tue | Apr | 91185 |\n",
"| Tue | May | 76662 |\n",
"| Tue | Jun | 88134 |\n",
"| Tue | Jul | 137454 |\n",
"| Tue | Aug | 107124 |\n",
"| Tue | Sep | 163230 |\n",
"| Wed | Apr | 108631 |\n",
"| Wed | May | 89857 |\n",
"| Wed | Jun | 99654 |\n",
"| Wed | Jul | 147717 |\n",
"| Wed | Aug | 115256 |\n",
"| Wed | Sep | 135373 |\n",
"| Thu | Apr | 85067 |\n",
"| Thu | May | 128921 |\n",
"| Thu | Jun | 115325 |\n",
"| Thu | Jul | 148439 |\n",
"| Thu | Aug | 124117 |\n",
"| Thu | Sep | 153276 |\n",
"| Fri | Apr | 90303 |\n",
"| Fri | May | 133991 |\n",
"| Fri | Jun | 105056 |\n",
"| Fri | Jul | 102735 |\n",
"| Fri | Aug | 148674 |\n",
"| Fri | Sep | 160380 |\n",
"| Sat | Apr | 77218 |\n",
"| Sat | May | 102990 |\n",
"| Sat | Jun | 81364 |\n",
"| Sat | Jul | 90260 |\n",
"| Sat | Aug | 132225 |\n",
"| Sat | Sep | 162057 |\n",
"\n"
],
"text/plain": [
" dayofweek month Trips \n",
"1 Sun Apr 51251\n",
"2 Sun May 56168\n",
"3 Sun Jun 79656\n",
"4 Sun Jul 76327\n",
"5 Sun Aug 110246\n",
"6 Sun Sep 116532\n",
"7 Mon Apr 60861\n",
"8 Mon May 63846\n",
"9 Mon Jun 94655\n",
"10 Mon Jul 93189\n",
"11 Mon Aug 91633\n",
"12 Mon Sep 137288\n",
"13 Tue Apr 91185\n",
"14 Tue May 76662\n",
"15 Tue Jun 88134\n",
"16 Tue Jul 137454\n",
"17 Tue Aug 107124\n",
"18 Tue Sep 163230\n",
"19 Wed Apr 108631\n",
"20 Wed May 89857\n",
"21 Wed Jun 99654\n",
"22 Wed Jul 147717\n",
"23 Wed Aug 115256\n",
"24 Wed Sep 135373\n",
"25 Thu Apr 85067\n",
"26 Thu May 128921\n",
"27 Thu Jun 115325\n",
"28 Thu Jul 148439\n",
"29 Thu Aug 124117\n",
"30 Thu Sep 153276\n",
"31 Fri Apr 90303\n",
"32 Fri May 133991\n",
"33 Fri Jun 105056\n",
"34 Fri Jul 102735\n",
"35 Fri Aug 148674\n",
"36 Fri Sep 160380\n",
"37 Sat Apr 77218\n",
"38 Sat May 102990\n",
"39 Sat Jun 81364\n",
"40 Sat Jul 90260\n",
"41 Sat Aug 132225\n",
"42 Sat Sep 162057"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Collect data by day of the week and month\n",
"\n",
"day_month_data <- data %>% group_by(dayofweek, month) %>%
dplyr::summarize(Trips = n())\n",
"day_month_data"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "considered-killing",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:13.311036Z",
"iopub.status.busy": "2021-02-12T19:55:13.309206Z",
"iopub.status.idle": "2021-02-12T19:55:13.855595Z",
"shell.execute_reply": "2021-02-12T19:55:13.854707Z"
},
"papermill": {
"duration": 0.596186,
"end_time": "2021-02-12T19:55:13.855734",
"exception": false,
"start_time": "2021-02-12T19:55:13.259548",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdd2BT1fvH8edmNU03LUMoq0CZsgQHCLLFAaLIRgTBAagIyFBAcYACCgqCDBHc\
noIKiX5aICv5ABRejyJ6CCHTQ3aZJfn8EQ4GOtE2a9vT9+ofk5Nxzn3uath/OvbnVHA6HAAAA\
noPTT+boAAAAAeAbBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAU\
nQbDL2Y7R12tu6L7rvK8rFRF5okqQpmn707K8Mfi1R23wC6xSs+59Q8d9vTvWG3v0oTm1wjRN\
nWxefnluHuAMDnJNQru70XEexp9cLMDm7fX8xwyuFXuPQe201TWv73qHi2R0AoGQy+LqAEsoc\
nUa127cu/3R32lCNH/9E0Q61aNbJ3u85Pn8cg/2tWsduf58LrfXLhr75eqrPYVK1V20+79Dj+\
n9PEzxw9+8e5rXy6f1+/VdR+N6+DT0nwj4fCLManjG1py+A6KP/zCgVRr8ZcEAADBLmeNJ609\nNOny0/
T4df7l7tIZyx86VEZXRNbs2tcswHjpiSPz+L5d699/bdSszz4e39E/6tg7PWv4srhi\np+n0DnvGuG/
+XtejxrWv/vbcZyJi1DSr1/5enzXlD1Ng8+BqUy6eeNFLuwAAlEacivWi5q8u\nXrFixTuzW/m6EE/
TTDUathw+Y+VP8+8VkfcH3XXOavd1TcUquMZ4vab98uyqHF5zZD2z7pRf\n8E0dw/
yKvS4AQFlHsPOw1NMxG79eeyLDJiKVb7+nT58+Pe6o5uuivOWG4Z8+UDHAmrpv+Ka/\
nfV1LsfILbjWmalDCwecOXnNdY+LJmb8mZVbt9opetBy3BQDAewh2HuC8bv3xIwm/LXnsuhqN\nu3a/+/
MLaZLT9ex267mVbz7TtkXjyAqhpoCwqHqNezwyZeuRpKsGTDzy47OD725Sr2aQn6Vy\
nzXod7xu5fs+FfMtwOOwb3prYpkGNYH9z9fo33DvgsS9/v/zZjuNf3KlpWo3ua6/a6q8FrTVN\nq/
fQD4U6dP2EZxqJyPaXdrp/jIWuxJ3Zc8750EPxaf9uG9W/c2SFMHNQ+YYt2s/4+MerR8s8\
ns2jK413bNC8fYI6oHHXfw5P2JGS6f+QPTbrebkt9+vszV7XvfvkDEek7tVmOR/D9B9P7du9c\
nv3qFgIiqt3S8+4nnF5/OsBW0/hX1I0yBzUUk8eRLmqaF112WfYSkI5sevu+2SuEhfkERDW+4\
nbfoHP7h/UACAUs8BN6TFrRURvem6HF89uLyNiPRe+YxB00zBFZvcdNuXF9Jc7W2WH7zUz57+\
naPMIEdEZQhvfcEvbW1pWCzGJiDGg4Xdx6a7RLh76qIJJLyKhNeq3vu3WBjVCRERvDF95PDG3\
n8h6vHCgi0x5uJiLmcpHNmta16HUiotMHPrf2lLOPNSXGX6cZLfXTbFds+0jlQBGZfzopt8Gd\
n75PfkzNzfDXh6HgR8Y/o4f4xFrIS92bPOef9t3/eMMjSY/iERR9+PO/VcdGBJhEZuPyAq1tW\
n2pGe0aEiomlaxajG9SJDRcRcrvWDFQNEZG1cWm6zEbu/v4hUaPp1evxmTdMiGs+9qkOHULMx\
noFGG3XFXOX8R+S7BVZt9zoDr/9vj9a2aRju/RsFRd+9NsRao/j9nvzh+7BAR8QtuPXHixBdf\n/
9W1YaMJU6r46QOuq9OpW/fWTas4v3b9sx04AEBtBDu3uBPsjHpdxyfnnbfarmp3Bbt/dwwV\
nkcDIHjEXLv2yt2ddnNc3SkQaj9/p2mpCjRARuX/eD/8NlPXlhJYiUuGGZbmV5wx2mmYcNmfT\
npW3Szk4b0FxEDP61j6ZlORtn1i8nIhMPxLk2TD3/uYhYyvfO49jzDnZpsWtExGCOKtAxFqIS\
nN0d2znlAmOnx1ZfTTOyemSLiH36Pq2VVn1oiElyz6/pD8c6Wkz8urv/fp0PcCXYOh+PxKkE6\
nfdCx9CzXq0mn54tIjXvWORxXB7ujK/uKiF9w02U/nXW2ZFzc83DriiJS7a5lBa0/M/l3EQmu\
nNuWqDUWkxWPzkm12Z+N3M28XEUv5+3M7HACAYgh2bnEn2AVWHmbPqd0V7A5/+HjXrl3HbDiV\nvU/
CkVEiUu2OTa6WOv5GEfkr9fIqTmbSzokTJz437fPcynMGu6j7P7uy2fZErRAR6bziiPP5\
nsdVdRaRW78v7+m1KUxG5cdbu3A89n2CXkfiTiGg6/wIdYyEqcXNk55wHV3vyyq1tFU16vV9l\
n55OstEPBBp2m9/8m9ooA98+PowoU7PbOuUlE7vvmckk7nr5eRJ7aG+u4JtgNqRQgIqO3n80+\
nmjX1QBU/vabzc02vO/U7cg92fqG3JWZdfhvabclBep3BPyq3wwEAKIZg5xZ3gl3DJ37Osf3y\
nqdhrpMce/2hScxGp1vVyNBlVM0RE6vYc/dX2XDe8ijPYTTyccFX7ibVdRaRy66+cT60pMWad\
nZgpsbv3vV3+3cH9NM2xJyMhj8PxW7L7OvmJ3rRyPsXCVuDOyc86bTPz1qs4NLEbXly/uwGMi\
nEhY95+oR7db6FqP7wS4t9n8iUqH5Iter90b4G8xRzgWz7MEuK+2IXtMM/rWs9qsH/KRlRREZ\
n+Mc59+t35B7s6j2y7aoNo8yGPL46AADFcB87jwlpFJJvH0dW/NZN3+/avWv3rt27dv35x18n\
nbNfc6uyl7xb90mboz6vmdF81J7hy3datbmnX+Y4ePbpHVzDnPXi38v5XtYQ1bi+yIfWfg86n\
nBkuDF6LDJuz//dXjiZNrBieffuvr2LSwOi+0DTG5fZRXy0zcLiLGwMYFOsbCVeLOyE5B0UF5\
njJN89IiIlL+5xdUvaIZ7I/z/OunuvYXN5e4aWilg2e4JpzOHVjHp085//MWFtMhOswJ0V38e\
nNjPpF5vDERh2h+GaT8rWbl9Rdv57ct9FaVrezfrzEN4ivHAbAgDUwKdiPUaf51+hEJHEw6ta\
nVo1sd2fPcdPfiTlnv7nbQ0s/Xbv9h8ev6hZUo8/2YyfXfjR/eP+7Ksk/6z9fPuHRPg0iI4fP\
n+bngRTlERNNdDny9pt0oIh++9KeI/PnCfBFp8/qDBR/2sr//972IhNQe6Hzq5jEWohL3RxYR\
n7ZpodcWrRk1EcrwbST5fwms8+WR9e1bC2J/+FZGDi2eLyB2vtrm2m8P5hdBy2KVm0ETEfuWN\
nAPOuPw86E9/RAFCmsWJXfMZ1GPLb2dS+r69ZPKpbkP7Sb+7E41uv7akZyt3Zf8Sd/UeIyPkj\
nOz9ZvnTSK0sWPX1bl0EX7w3Pdd1uzbnUVsFXrHjF/fGdiIQ2qudqqdr1dbNu4/HVk+1LN49d\
ncVRvDH+rS2QRjsn+2vS9InLL5JYFPcaCVuL+yPkKrFFf5JsLP/8mcuuVrzi+jsv1r8TmqM7D\
n4+XZ3lsmbJSfh8x9a7/edN2rTSKu7WYKbKHTtPT4b+zX/F/qxA/nRKRyw9CCHQMAADnh//fF\
nxGG7uPTvZINf1U/GdHflEhH5d+sv2bulnV/ZrFmzm9s96WopX6vlky8tXFg3zGHPXBOblscu\
nPh171Z3hbLNG/SIi7cY1cDU5z4FmXPzxhe/H7UjKrNR6btX8Fhrz8OeSvsv+STZaGizsEun+\
nMRaikgKNnK+gyNGhBl3C4Unfx2dkbz//+5Q/kwtwKzsR8Y/o1a+C5fzvE078+793z6ZUaDmz\
n3LVnW0UM/tH9ylusqQcm/3Y+e7st/ejY389rOuOYugQ7AIAHEOyKiaYPrGTS2TLPfHEy2dW4\
nZ8PcNg9vFZHMhARniynk1mN7d/+yZd7krw+6uiUc3jDjRKKm6XpHXH0VXXYnvn5wwCtfO293\
na7eef+WBlvOPXbRUuPOtmytm7+Y8B/rKvQtEpOcbXQp1NPYzh3YtnTLwpsc+F5EH319bwahz\n/
xgLUUlBR86b3q/6st5RdltKj5Y9vz1+acDzv398R8fXCjSO09OPRtus53uNHyUi7V/tmFu3\nqa/
fLiJzOt+94o9YZ4s1ad/jXW89np5VpdOCm4IKc5mjw1awAwcAqM/Xn94oHdz5VOy1n369\
nqn37yx1ERG8M73BXj9733dWyQUUR6TDyRX+9pmmG+je1TsqyOxyO78ZfOj9YtVGL9p063di0\
nrkHTRKTLC5tzK+/xyoGmoBun31FdREwhVVq2bBRs1ImIwRz1wV/xV3W2puw16zQRMQU2veoW\
nwTlyFlMjup5Lpf9O+Go6v34zrqjKzWMsRCVujpzb1+KqT5VmpR29r06IiGiaPrJu8ya1K2ma\
n5hfa8o3BdcTtT8U6pfz7nnM2dIawMxmXD+OaGxTbXu1VX0Q0zVC1bvO2LRs6v0bBUXftueYG\
nxfnWb7Ne8NNpmmZsdft9g4ZvymNDPhULAGUKK3bF55ZnN65dNOXmhhV2bVn/4+6/r2vS7d1v\n/
tr81pQ/Vs7p1bHFdeEVnVfMt5+x5adVb/Vo08IQf2L7lm2n4h03d+n/7rrfNz7XIbeRm97d\
no+e9nSf+768PXhzZKNwRs+tohQa3DHh0wtbDuwfWu/ocn8HScGp0mIjU7POm2e2v//GD+13O\
npRkqVa19z+AxX/7+98fjr6jKzWMsRCUFGjlfenPNT/fELHh2eOfWTTL+jjl+Ud914Jifjvx4\
n123d7r///uuMBTg9bakw6J5wfxGJaPzqdXl9dkE3YeXujUtf6HlHG//UEzsPx9dt1WXE5Ldj\
n9q1pZCnwpa46Q/i3rz5Svbxl59ZvfzvAuh0A4BLNkcsNI6CwMTVC5pxIfPt08mOVA8pIJbaM\
nlNjYhAqVq3h1L95T2usHABQPgl2Zk3puRUDFfpbyfVPOfUIlAACohNudlCFJ8Un6rHMz7x0t\
nIjdOfY5KAABQDCt2ZcgTVYLeOpMsIpaKHY+d+sb5UdYyXgkAACrhF2oZcst93W5o1PSOvmO+\n3fs/
32apklMJAAAqYcUOAABAESyWAAAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcA\
nAKAIgh0AAIAiCHYAAACK4G/F5sDhcCQmJvq6ipzpdDp/f38RSUtLs9vtvi7Hl8xms16vz8rK\
nysjI8HUtvqTX681ms4ikpqaW8fuN+/v763Q6q9WamZnp61p8yWAw+Pn5iUhKSoqva/GxgIAA\
nEcnIyMjKyvJ1Lb5kMpmMRqPdbk9LS/N1LbkKCQnxdQmKINjlwOFwWK1WX1eRM4PBYDAYRCQr\nK8tms/
m6HF+yWCwGgyErK6vEfrGKh6ZpzreE1Wot48EuMDBQr9dnZmaW8beEXq83GAwl+edY\nsdHr9Zqmpaenl/
GpMBqNBoPBZrOV8XkoIzgVCwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcA\
nAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiC\
nHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACA\
nIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYA\
nAACKINgBAAAowuDrAgCUOFUWHnWz5+nHorxaCQCgQFixAwAAUATBDgAAQBEEOwAAAEVwjR0A\
nACgYrsQtsVixAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEAR3O4EAAC3uH+P\nD+E2H/
ARVuwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAA\
nAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDs\
nAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAU\
nQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFGHwdQEAgJKuysKjbvY8/ViUVysBkDdW7AAAABRB\
nsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEcV9H7tFQ/oEzFg2sILF+fTf\nnyY9/
Mqe7B0eWvZpj3CziPyyct7KLX/8naSv26D5A48Piw4yXjtabn0K2g4AAKCAYgx2jsxd\
nm5eujU3rna0tYVeCf3i3UQ83dLVUDzKKyOGVU6avOPrAyMfrh2WtXTT/uTFpHy0eo9euGC+3\
nPgVtBwAAUEMxBbuz/zdr9BvbUjLtV7Wf25cY2qBVq1YNr2h1ZM76bG+tAa/f3ylKRGrP1PUa\
nNOO90488FBmYf58qpoK1Zx8TAACgNCuma+wimg6aMXvu3NmTr2rffTEjrFmoLS3x7LkEx3+N\n6Qnf/
5Np69KxsvOpX2jrZoGmXd+dzb5hbn0K2u6VowUAAPCFYlqxMwRWrBYotsyrc+TvKVb7\n/83tPW+/
1eEwWCp0H/LU4NsbWVP3ikh9y+UL4OpbDOv3Xsy+YW59rB0L1u56unPnzlOnTjkf\
nm0ymdu3aFfGQvUSnuzSHfn5+dvvVK6BlinMq9Hq92Wz2dS2+ZDBc+i42m80OhyPvzh5XoiZf\
n0zQRMRgMJaqq4mc0GkVE0zSfzEOJmnznW8I5IcWv5EyF86dESX5LlPFfZ55V3B+eyM6WeTrO\
nJjVDb3pp6eTyfhk71i97bcEk/6j3u+pTRSTCcDkFRhj1tpSM7NvaM3LuU9B219M1a9Zs2LDB\
n+TgsLOzuu+/26LF6nsVi8XUJJYLRaPTVT+2SJiAgoPh3GhhY4i5mMJlMJpPJ11WUCD756pTA\
nt4Sfn5+fn1/x77ekTYVOpyuxbwmr1VoMlZQRvgx2elOVL7744r9nQW16jzu4/te1b+++c4y/\
niMRl2QP0eudrsVabPvSKn9Q6U859CtruGtDf3z84OPhSKUFBxb/y4T7n/0FLcoXFwzkPwlT4\
n9C1Roiaft4QLbwkn3/60LDlT4dtvDXd2WnLmSgG+DHbXalbR/9u4C8aARiJbD6ZlVfW7FMKO\
np9uCG4Zk75lbn4K2uwacNGnSpEmTnI/tdntsbKxXj7TQDAZDaGioiCQkJNhsNl+X40shISFG\
nozE9PT05OdnXtfiSyWRy/p8kLi6u+H84lqjvlLCwML1en5qampqa6utafMlsNgcGBjocDp98\
ndUrUWyI8PFzTtJSUlPT09OLfe8mZCovFYrFYbDZbfHx88e/dzXmIiIjwdiVlhC9vUHzxyOIB\
nA4eeznSlE8ePZ1JD6kf7hXaoZNJv3HbO2ZqVduDnpMymnSpl3za3PgVt9/5RAgAAFBNfBrvg\
nGgPq6JOefX7hjj0HDu/btXLu+B9Sg8c8VlfTTE/3bHho2Qubfz/wz9GYd6e87B/ZfnBkkIgc\n/
fzDZe99KSK59Slouw8PHwAAwLN8eSpW0wc888aUdxe8P//VKSkSGFW7ydR5L0T7G0Qkut/L\
n4+XNlYtfWZRsqNuw7eyxQ513Ej793fqvL1QY8mCPPPoUtB0AAEANWqm7YvHdkdMemj/Jq7uw\
n2+1xcXFe3UWhua6xi4+P5xo7rrGTbNfYxcbGeurbucrCo272PP1YlEf26BFcY+fkjWvsSulb\
nwnmNXXJycr7X2FlsvdwZMGzJDPf3XnKmwhvX2Hn8LcE1dp5Ssj48ka/Tm1cerNvZ11UAQIn2\
n586d7neOrFnTe5UAKGalLNiFRreZ1qGyr6sAAAAoiUpZsAuoSqoDAADIWSkLdgCQB/dPQXL+\
nEYCSfHm7EwAAAHgQwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAA\
nFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbAD\
nAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAE\
nwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAA\
nQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQhMHXBQAoqj93\n7nS/
c2TNmt6rBADgWwQ74JIqC4+63/n0Y1HeqwQAgMLhVCwAAIAiCHYAAACKINgBAAAogmAH\
nAACgCIIdAACAIgh2AAAAiiDYAQAAKIL72AFAzri1IYBShxU7AAAARRDsAAAAFEGwAwAAUATB\
nDgAAQBF8eAIAUFJMGjHCzZ7TFizwaiVAKcWKHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0A\
nAIAiCHYAAACKINgBAAAogvvYAQAAERGLrZfbfWd4sQ4UASt2AAAAiiDYAQAAKIJgBwAAoAiC\
nHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACA\
nIgy+LgAAIJNGjHCz57QFC7xaCYBSjRU7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ\
n7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAA\
nFEGwAwAAUITB1wWUUGaz2dcl5Eynu5TF/fz87Ha7b4vxLedU6PV6n3yxSs47xGAo2HexZysv\
nOfMgIpqmud/Z45UX21TkuyOj0ejZAX04WhF35HxLuDUhKUWv6Gol57vD+VNC07T8S/LRPJTx\
nX2eeRbDLWcn5hryK61eXn5+fw+HwbTG+RbBzKlCakVL7W9wdBDsn13//PDWgD0fzyI6MRqNe\
nr8+7T6bSwc75lnAn2PlqHrKysjy/47KKYJezhIQEX5eQM4PBEBoaKiKJiYk2m83X5fhSSEiI\
n0WjMzMxMTk4u/r2XnHeIyWQqUH/PVl5y5kFEwsLC3O/s8cqLbSry3VFB80QpfUu4s6Pw8HBN\
n01JTU9PT0/PuafFQVdmVnO8Oi8VisVjsdnu+JflwHkpODi7tuMYOAABAEazYAUDZFV1tvLi1\n9D/
D25UA8AhW7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7\
nAAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABF\
nEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAA\
nABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQZfFwDfq7LwqJs9Tz8W\
n5dVKAABAUbBiBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCD08AKHOiq40XmzsdZ3i7koJa1r3T\
nsg2r8+22o26zYigGQAnEih0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDY\
nAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAo\
ngmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiDrwuAF1lsvdzrOMO7dQAAgGLBih0A\
nAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIvhULADPO1En2s2e1Q8d9GolAFC
msGIHAACg\
nCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCK43QlQhkRXGy82dzrO8HYlAABvYMUO\
nAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABTBfewAAKXMsu6dlm1Y\
n7WbnuB79vVoMcK0V9SOGnG2aFv9t8e+aFTsAAIAiOb6mo6Zpq2PTfF0IwQ4AAEAVBDsAAABF\
nEOwAAICCvmxYPqT6cwn7v3qgR8ca5QOrN7jxoUnv20V+XT6h/Y0NQ/yDohreOuer49k3STqy\
naci9XepXrxAQUfWWDne//tVfrpdW1I8Iqf5c5sVdT/ZuXzEsICC8Sut7Rm79N01EptcMrdnj\
nOxHpGWEJrjretUna2e3D+9zZoFp4QHiVW7oN/+FsajEcNcEOAACoKTPpp/Z3v3Xn469s2bb9\
n8ZuSl01/8Ka+t/VbZX9x0Zc/b/2s8cVd43q12pea5ex8fsesWvXv+GjTyZu7DZnw8L1B/24b\
n16Ph3c9tcY1myzzTt1mvcneN+eH3PRuWTjz7zeK7bxxsF+n33ur3nmsqIpM//eqLD4dd6pxx\
nqlPDjvvMdR559qVRPZvsXLuo+41D7N4/ZD4VCwAA1JQe/+3w3y72qxksIqMXrBm/PHrPRu3M\
n+ZnlDJpInQUftVvT7n+L/kl+s1aoiGPk3VPj9ZE/HPmjdUV/EXG89MLTjWvPmXb71rGJbUNM\
nIpJydqlp9bGp99YQEan5xIon37lx5qebE97v3LaDFl9ORJp16NQx3N+5a2vaQdszP2ybcpuI\
niIxocrZG368//b+LHziH8h5W7AAAgJoM/lGP1Az+73GdUIOu/A3PljNozpaAqtEikmx3iEja\
nhdWfnU+NHvaRM9WJiGYIe+aTwQ57xtRv/na26Izl3r2numvw8q0iRCTJlvMynKb3XzXhVtfT\nG/
pUF5Fku9fX7Ah2AABATXrjddmfaiLGIGO255rrYXr8BhGpNaRO9v6hdQaLyD+bzjqfGi2N\
nLDpN3GMKbF7FpL+8K4O7GxYRp2IBAChxJo0Y4WbPaQsWeLWSMsMhIpp2ZfzSjCLisDouPdOM\
n12yVK00ze6y0giDYAQCUtaNus8N//ZVvt+hqxVALSjRzaGeRpUc/OCLNyrsaE48uF5EKHSr4\
nrKyC41QsAAAo6/zL97on3H//woE7Y9OdLQ7bxel9lmg606S73Q3+dofX6nMbK3YAAAC6RV9N\
nbtBuyq1RLQY/1KNGUNrWL5ZtiIm//dlNt4f55buxMdgkIm/PnJfepO3AAcS+KdUAACAASURB\
nVDd7v9pcsWIHAAAgFVs9e3Tv2j63Vfxh1cKX5q+Mi7h51pcxG6Z1cmvbm2bd06Lm9jeem/z6\nJm/
XmTdW7AAAgIJ6xJxPv7IlzmrL/jSk5qyLF55ODw653BLd9f2vuuY4Wt+/LvS9sqVG941x\
nZ88aQ80iYrA0+nLn0Tw61+rzg6NPwY+h4Ah2AACgbNKCwysFF35rQ1jFSA9W4xHFHewWDekT\
nMGPZwAoWV8svK+et3PLH30n6ug2aP/D4sOj/bjCTW3t2Bd3WnTEBAABKqWK8xs6Ruevbt9fG\
npmVvO7xyyvQVP7e67+HnnxoUdGzLc2Pm2Rx5tRdlW3fGBAAAKL2KacXu7P/NGv3GtpTMK/+S\
nhiNz1md7aw14/f5OUSJSe6au16AZ751+5KEqppzbIwMLv607YwIAAJRmxbRiF9F00IzZc+fO\
nnpy9MT3h+38ybV06VnY+9Qtt3SzQtOu7s7m1F2Vbd8YEAAAo1Yppxc4QWLFaoNgyr8iR1tS9\
nIlLfcvlCt/oWw/q9F60dc24vyrb5jrlmzZqYmBjnY39//+HDhxfhcL1Ip7s0hxaLxeHI51yy\n/
WLerxdYYGAJWuDU6/UiYjQafVJVyZkK11vCJ4o+Dx6cydI+FWpgHlyKbSry3ZHBYBARnU6X\nb0+P/
9YQ9+bBZrPl2wdu8uWnYu0ZqSISYbj8szjCqLelZOTWXpRt8x1z586dGzZscD4OCwsb\nPXq0R47Re/
z88r9fYqqnv0XNZt/85bs86PV6Z8IrZiVwKnyi6POgzEwqcyBFxDy4FNtUuLkj\
nTdPy7enx3xriXnlWq9XzOy6rfBnsdCZ/EYnLsgf894s51mrTh5pyay/KtvmOWbly5fr16zsf\
nBwYGZmVleeOQi07TNGeOsdls+a7YeVyJmha9Xq9pmt1ut9vt+ff2tJIzFVf/yeriVfR58OBM\
n+iTiu5Sct4RvMQ8uxTYV+e5Ip9PpdDqHw+GThTF35sFmsxmN3KfCM3wZ7IwBjUS2HkzLqup3\
n6cfx8XRbcMOQ3NqLsm2+Y44YMWLEiBHOx3a7PS4uzmvHXSQGgyE0NFREEhMT8/0WteT9csEl\
nJCR4esjCCwkJMRqNmZmZycnJxb/3kjMVJpMp/05eU/R5cHOEyhtWu9NtR91mRSun8ErOW8K3\
nmAeXYpuKfHdksVgsFovdbs+/p+eqcnFzHljr9RRfXpLiF9qhkkm/cds559OstAM/J2U27VQp\nt/
aibOvOmAAAAKWaL1fsNM30dM+GE5a9sPm6cQ1Cs75e8Kp/ZPvBkUGaJjm2i8jRzz/ckhI4\
n5MEeBd02jzEBAIBikpKSvDFsUFBJTw4+/pNi0f1eHi9vrlz8yqJkQ92GbWePHarX8mo//d36\
nry9UGPJgj0Jsm1s7AABQz8Fq1T07YPTJE54d0BuKNdjpTZFfffXVVY239Bt1S78cOufY3mbB\
nR4dGTivctnm0AwAAKMCX19gVwunNKw/W7ezrKgAAAEoiH5+KLajQ6DbTOlT2dRUAAAAlUSkL\
ndgFVSXUAAAA5K2WnYgEAAJAbgh0AAIAiCHYAAACKINgBAAB4jN16oYrZoGnaO2dTin/vBDsA\
nAACPObvtyX8yHVX89HNe3lX8eyfYAQAAeMyq0d8GVRuzqEvkkQ/H29zfzGE9uOd40fdOsAMA\
nAPCMrNSYCXsutHjxkZundcu4uO3lwxed7annP9bpLckn193X6abygWENb+wwf/NJ50uV/Qyz\n93/
Xqlq5pu0eL3oBBDsAAADPOL56VLrD9HrPGuUaTK9mNrw/8afLrzmsndrOHjL7s7Nxx+Y/\
n2nz07XXe+Cve+cqC2x+6deK7W7a+XfQCCHYAAACe8faknWF1X2waYNT0QbNurnhq3agUu8P5\
nksORFbV4ebfG1fSm0HZDX1vQKnzmsHXOl8w9Ppo5slfLhlWLXgDBDgAAwAPS49bNOZUUPaxJ\
nTExMTExMhcENrGkHx/15wdVhUMvyrse3PlAzfv+HzsdRA2t7qoZS9ifFAAAASqb986c4HI6f\
nx3ZtNPZy45oxmxb80N/5OPO/1TsRsaXaxJ7ufBwUbPRUDazYAQAAeMDzb/4V3mimI5vVd1X/\nd/tT/
2TanR2WbDzt6rxiyaHg2v09XgMrdiiJKm9Y7WbPxPsHebUSAADckfz33K9i0x78YmD2\
nxvZzhtiip47aemZ5ExGRLQ93edX+RsfaAT9+8PK0fRffOtzH42WwYgcAAFBUv06ebwxoOK9V\
npeyNoXWmdA4zfz92lfPpuk1Tv3/r2S4deiz+OWv2ugMjooI9XgYrdgAAAEXVbvmBzOXXNuu+\
niUsTkdTzH4tIRLN+G39+4KoeZzKyPFgGK3YAAACKINgBAAAogmAHAADgXZby/R0ORz1/r18C\
nxzV2KMV21G22f88ed3pG1qzp7WIAAPA5VuwAAAAUQbADAABQBMEOAABAEVxjBwAAFBR98oSv\nS/
ABgh0AAFDQ00OHenbA15Yu9eyA3sCpWAAAAEWwYgf1RVcbLzZ3Os7wdiUAAHgVK3YAAACK\
nYMUO8KQTdaLd7Fn90EGvVgIAKINYsQMAAFAEwQ4AAEARnIoFAHidu1cpdO7k5ULKqD937nSn\
nW3Q1bxcCr2PFDgAAQBGs2AHwmcWdO8mIEW517c5CDoCSrlOY/+aE9Gf2x02vG5a9fVPf2l1W\
nHmn01C975tzo7RpYsQMAAPAMnUG34tlfrmhyZI5be8qoacVUQPHsBgAAQHk1B7X/e8PoNLvD\
n1ZJw6IUYW2T/CpbiKYBgBwAA4BnhjV6JkiOT9sW5WnZMWlG53Zwg/eUVu/TYH4ff26pyRLBf\
nYLnoZp1f/+qYiPzy1PVBlYe7+pz/fYTeEHwgLaugBRDsAAAAPEPTWebcHrlq/P9deu7IGLv+\
n1L0zW2fvM6HVPatON5yxZPXWr98b3CpxfM/mxzNsjSaMTDm76Jv4DGefb0avqdBidl3/An8W\
ngmAHAADgMTe/0ufM96OTbA4RiT/4/AF7zekNymXvUPnBp5esnfvAvZ1uat9tzMtT7VkJvydn\
nBlz32B1h5qkfHRERW+bpp376t/vc7oXYO8EOAADAY8KiX2hkOD1+9wUR+eXZT6t0nm3RXfHJ\
niQnPjK955OcPF785/vEhHVoPcLVPfaj23hlLROTMd09eNNZ5/Ybyhdg7tzsBSq7KG1a7021H\
n3WbergQA4C7N9Fr3aoOf/v7tTd3Hbvj7/l9vyf6i3Xpu+O0tPzkWfm+3u9rf1qvfo/c1b3xp\
nZa7B2FHJrz+y5eKrO8ZuqXHvikB9YT5IS7ADAADwpBYvDfqnwZjDMTsOSZ2X6l5xHjZu/6gl\
nW86eSD1a1U8vIilnlrheCqg0tHu5Jya8u+rP/XEzNtxUuF1zKhYAAMCTQmo+09Lvwl39l1bt\
nOtt8ZdQyl2vpsGcu+WzjwZPHdmz6qP9tU0Xkm+92pNgdIjLl4eid4wbry903qmpQ4XZNsAMA\
nAPAozTCzV42DexP6vnL1wltglTFrXn744wkPNGnc+qlZax/5KuaTJ3p+99xTx9NtIlJ/9Bi7\nzdpo/
POF3jOnYgEAADzg2/g01+M27+x3vHP5pXmnk1yPu09a3H3S4suvzf28738PbRnxmmaY\
n9UjdQtdAsAMAAPA1R2Z6ZsqSIbPKNXyhbYip0MMQ7AAAAHws9dwHAZWGGQMiF/4xsijjFCjY\
n2c8ePVgpqp6IZMT/OePVd8/pKt05aMSd9UOLUgEAAEAZZ6nwwP7fm193fdNgQ2HucuLibrDL\
nTNoxsO1dq/cZszLOiD1tUKM2n55JFpGFc+YvPXTgwaqBRSkCAACgTNNMdZt54Kak7n4q9stB\
nfVbtSXtgzDgRiT/8/Kdnkgcs3xJ/6tfW5thnB31e9DoAAABQRO4Gu+e+OV2t28plr4wWkf1z\n/
qf3q7L4gTahkTfMHFT7/I6Z3qwQAAAAbnE32J3MyCp/SzXn4y/W/h1c/WnnHz4LqhuUlX7M\
nW9UBAADAbe5eY9c62G/f/36T8ddbk3+bezq52dwuzvYjG/8x+NfxWnkAAACF8drSpb4uwQfc\
nDXYzxza5YcrQOx/6I3DPx5niN6V/lC3jxNyXpz6z9mT5W5d7s0IAKK1O1Il2t2vnTt4sBCiL\
nwtd84tkBY+/p59kBvcHdYNdkwroXY+6Y9t68DDH2nrrxzjBz6r/fjnl5eXCtrh+s7u3VEgEA\
nAOAOd4OdzlBu8se/PPNuXKIjJMxfLyJ+Ie02bP3tpluahRbthisAAADwiIL95Yljv2yc98k3\
nR44cjcv0i6pdp23PR28n1QEAAJQM7n4q1p51YWzXhnXa9Z+/7PO9J+LiTuz5dPnbj97VpE7H\
nJ89Z7V4tEQAAAO5wN9htH9dxzqajY978/HxK4vGDe/Yf/yfp/N5XHm15+Lt5nZ7e5tUSAQAA\
n4A53g93EZQdaTvvh9Sd7hv137tWvXIOJC3+aWC/s4HvPeK08AAAAuMvdYBeTYu3zQMNrmvX9\
nBteypuzxbE0AAAAoBHeD3f3lLT/tjb+2/ei28+Zyd3u0JAAAABSGu8Hu+Xcf++q+zp/+cjJb\
nm2PH55N6rz3Zb/7L3qgMAACglKrsZ2i9aH/x79fd252sjKk0oGlin5urT7nxtsa1o8xZcYdj\
nfvo55pxfSHPj5pnDN1/u+fbbb3ulUgAAAOTJ3WA3efJkETGbzSd3/3Jy9y/ORrPZLBn7li/f\
nl70nwQ4AAMAn3D0Vm+Y2r5YLAABQmjgyNE2bdirJ1VDZzzD0ULzzwYzDuycO7HbD9ZHhVWoN\
ne+mLou8tn2AXGxsbFxdX9N0AAADgKh/1GXbDuCW/7fl798pRy5/v+drfyUUcMJ9TsRERETpD\
nmM0aV7NmzTy6HTt2rIh1AAAAlDX6O97u1aSSiFS59cmWQeM3H0t8OjKwKAPmE+xq1KihM4SI\
nSNOmTYuyGwAA4HHLundatmF1vt121G1WDMWgEGreX831OECnSZH/Sms+we6/pTjbihUrdCY/\no1bU/
QEAAKjn68H3Ldc/sWppe+fTDIcj534Oa6Lt8kv+/nrPluHWhycSTzxvNpvbv3PAs/sG\nAABQQ/
KvP276Zp3zsTXlzzirPaCqRURENBGJtV5ai0s6+U6KrcjrcrlzK9hZyg+o7Kc/smyT\
n9+oAAAAovW5+vkvy6dlPvf3Fb79ue+3R3gZz9eltrxMR0Uxdwswrh0377cCJPdvXDr5zdg2z\
nuzebKwS3gp3BUv/PH9+t9NfTw17/NM7qxZgJAABQGtXs9eEn0x/+ZtbI1m3v/vBAnaWbfm4R\
naHS+9OGGefXOf3Zbk8b9x77Rddn2wR1ujfJatnN33P7PfhBUK3Tp033eHW8sV6FSkPmKU8J8\
nKhYAAJRtWp+JC/tMXHjtC+VvHLZ5z7DLz9d+7/z3TEZW9m7rTpw4ZyhXxCLcDXaBgYGBgbf0\
nqFrE3QEAACAHpuAKkUUexN1g98UXHrgbMvJW2Y2PrDtlDnzEq5UAAIDSKK9r7A4cOHD83/Ri\
nKwUAAABFkVewq1ev3p1T/yi2UgAAAFAUbn0qFgAAACUfwQ4AAEARBDsAAABF5POp2NPfPt+v\
nX3i+o3zyySceqgcAAMADYu/p5+sSfCCfYJd4eNOKw/mPQrADAAAlypH9+z07YK169Tw7oDfk\
nE+zqDPrfjzNbFE8pAAAAKIp8gp3BUq5ixYrFUwoAAACKwlt/gxYAAFzlRJ1od7t27uTNQqAs\
nPhULAACgiLxW7IYNG3bdrZyHBQAAKB3yCnZLliwptjqAMmVx504yYkT+/bpzLgYAUABcY1f6\
n7Kjb7M+dO93pGV3N27UAAIAShGvsAAAAPKyyn6H1onxupFfOqH/8SIJn90uwAwAAUATBDgAA\
nQBEEOwAAAK9xZGiaNu1Ukquhsp9h6KF4L+2ND0/kLCAgwNcllERMiwtT4cQ8uDAVTsyDC1Ph\
n5M482Gy2YqikjCDY5UzTNF+XUBIxLS5MhRPz4MJUODEPLkyFkzvzwFx5EMEuZ8nJyb4uoSRi\
nWlyYCifmwYWpcGIeXJgKJzfngQVOT+EaOwAAgKL6evB9PYd+73qa4XDk3M9hTbTl8pInsGIH\
nAABQVMm//rjpYi2R9iJiTfkzzmoPqGoRERFNRGKtdme3pJPvpNjs3iuDFTsAAICiuvn5Lsmn\nZz/
19he//brttUd7G8zVp7e9TkREM3UJM68cNu23Ayf2bF87+M7ZNcxeXFZjxQ4AAKCoavb6\n8JMjQS/
MGrnwbFqthq2WblraItDofOnDDfP6Dp12W5NFNZvd+OSy7Y1f6G3wWrYj2AEAABSd\
n1mfiwj4TF177Qvkbh23eM+zy87WXLsWLs3r+Pi+cigUAAFAEwQ4AAEARBDsAAABFEOwAAAAU\
nQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFMENigEAgIJq1avn6xJ8gGAHAAAUpE/t7tkBbZav\
nPDugN3AqFgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAADw\
nGLv1QhWzQdO0d86mFP/eCXYAAAAec3bbk/9kOqr46ee8vKv4906wAwAA8JhVo78NqjZmUZfI\
nIx+OtxX73gl2AAAAnpGVGjNhz4UWLz5y87RuGRe3vXz44qUXHBmapk07leTqWdnPMPRQvIhY\nk/
ePua9j9YjA6g1vemrB91Oqh3Rcc7zQBRDsAAAAPOP46lHpDtPrPWuUazC9mtnw/sSf8tvC\
n9nCjmz46U23uik3vzxp98LUer/2dlN8meTEUZWMAAAC4vD1pZ1jdF5sGGEWMs26uOHDdqBT7\n/
gCdllv/87+P/OC07te9i5sFGkVuueHH1KDIoUUpgBU7AAAAD0iPWzfnVFL0sCYxMTExMTEV\
nBjewph0c9+eFPDY58elP/hE9mwUanU8DqzxUzVykRTdW7AAAADxg//wpDofj57FdG4293Lhm\nzKYFP/
S/uqvDmmhziIg9w65pV6yymXJd3XMLK3YAAAAe8Pybf4U3munIZvVd1f/d/tQ/mXYR\
nTURirXZnz6ST76TY7CJStef1aRdW70vNcrannvvscFpWUWog2AEAABRV8t9zv4pNu3vBwOyN\
n7ecMsVnPj9p6RjRTlzDzymHTfjtwYs/2tYPvnF3DbBCR61ot7R6e3umOkeu2/Prz5i8f7Dgm\
n2t+o6Qu/akewAwAAKKpfJ883BjSc16pS9sbQOlM6h5m/H7tKRD7cMK/e+c9ua9K4/9g3ui7b\
nPrjDrVFmg+j8P4nZ2i1g79Du7R4c/0brN3+6s5zZXN6v0GVwjR0AAEBRtVt+IHP5tc26b+LS\nnI/
K3zhs855hl19Z+72IWFN2bfjx1Ly12xZpIiJ26/lasWkjqwQWugxW7AAAAHzDYU8b2qtn\n/
9mrjv6bnHju+JuPdzrr3+ZJgh0AAECpYwq6+c+vZ8cufbLedcHlqjVZsqfBVzvXFOWDsZyK\
nBQAA8JnI25/8ft+Tjqw0u8FfX+TRWLEDAADwMc0TqU4IdgAAAMog2AEAACiCYAcAAKAIPjwB\
nAAAUZLN85esSfIAVOwAAAEWwYgcAABQU8eZfnh3wwqj6nh3QGwh2KD6TRoxwt2v3Tt4sBAAA\
nNXEqFgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAA8I2b94u5tWkRG\
nBAZFVGnWquucz34q5gIIdgAAAB5wat3T19/1mL55nyWfbVq/8p3BbSs827f1wPcOFGcN3KAY\
nAADAA54ZsrBKh/e+ePMB59NbO97RXL+70xODPnzwl2KrgRU7AAAAD9idkhlUu2b2lpZPvzLz\
npf52ERGxZ12YP7Z349pVzIHh19/Wa/lPZ0Uk9fzHOr0l+eS6+zrdVD4wrOGNHeZvPlmUGgh2\
nAAAAHjCyZfkDS7v3H/3q9r/OOFvMYXeMGjXKGbZmd24yZX3W+Dc/3P7tqodvtA9tU2fZkUQR\
nEYe1U9vZQ2Z/djbu2PxHm4++vc4bf8UXugZOxcIDTtSJdqtfZ/4CLABAWUPXbT32yMglb0/+\
n5I1nQqo27NSpc/feDwzs2lwnknz6jfFbzm6O+6R9qJ+INL+5nWFj+eeH/9jnI3E4sqIWL+/W\
nOFJE2g19bcF7Hz83bN1T2wYUrgZW7AAAADzA4F/r1Q82nE+K3fHt6gkDbvO3xS9+on2j+18R\
nkYT96x0Oe4cws/afkXsuJB3Z79xwUMvyrkFufaBm/P4PC19DEY8BAAAAyWfebHbbW5/+ua9Z\
nQEjLjve27HiviFiTnzAFtZh8bMQTwWa9MTw+/kT2FTVNZ5Lkz0Qk0+5wNdpSbWJPL3QZrNgB\
nAAAUlTm086mjR8Yt2pO9MTPxgIhctDlCaj1sz4qbfyIz4D/zH31w8vpLl+It2XjatcmKJYeC\na/
cvdBms2AEAABSVwdJg9cgWd4+7tduhZwZ0uaFSkPb3od8WvfRKhZajZ0WFmnV3z+4cOanj
\nPeUXTW0ekfnNqjcnfb7n63kVJUtEZMvDXV61v9GxdsCPH7w8bd/Ftw73KXwZHjsgAACAMuzO\
nuT9vaTXn5Tc/GPvZrAuZppo1arYfPm/FhMFmnYjIqHUx5vFD3xg94NC/1ugm7d7/4Y87wsyp\
n50VE1m2a+tKYZ2fsPlGxftPZ6w6MiAoudA0EOwAAAI/Qtek7dmPfsTm+pumDHnv908dez+Gl\
niGb9Nv78gGcq8MgoAAAA8DmCHQAAgCIIdgAAAL5hKd/f4XDU8/fYpXEEOwAAAEUQ7AAAABRB\
nsAMAAFAEwQ4AAEAR3McOAAAo6MKo+r4uwQcIdgAAQDVBQUG+LsE3OBULAACgCIIdAACAIgh2\
nAAAAiuAau+IwacQIt/p17+TlQgAAgMpYsQMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQ\
nBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4A\
nAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFGHw7e7//WnSw6/syd7y\
n0LJPe4SbReSXlfNWbvnj7yR93QbNH3h8WHSQ8drNc+tT0PZCO1En2q1+nTsVcUcAAAD58nGw\nS9iV4B/
ebdTDDV0t1YOMInJ45ZTpK44+MPLx+mFZaxfNf25M2keLx+i1K7bNrU9B2wEAANTg\
n42B3bl9iaINWrVo1vKLVkTnrs721Brx+f6coEak9U9dr0Iz3Tj/yUGRg/n2qmArWnn1MAACA\
n0szH19jtvpgR1izUlpZ49lyC47/G9ITv/8m0delY2fnUL7R1s0DTru/OZt8wtz4Fbff+IQIA\nABQTH6/
Y/Z5itf/f3N7z9lsdDoOlQvchTw2+vZE1da+I1LdcvgCuvsWwfu/F7Bvm1sfasWDt\
nrqfLli3buXOn83FAQMD06dM9eqCKCAkJ8XUJJQVT4cQ8uDAVTsyDC1Ph5M48ZGVlFUMlZYQv\
ng50t83ScTWqG3vTS0snl/TJ2rF/22oJJ/lHvd9WnikiE4fJqYoRRb0vJyL6tPSPnPgVtdz09\
ncuTIjh07nI/DwsKMxqJ+rkJJTIsLU+HEPLgwFU7MgwtT4cQ8FDNfBju9qcoXX3zx37OgNr3H\nHVz/
69q3d985xl9E4rLsAXq987VYq00fasq+rc6Uc5+CtrsGbNSoket/DBaLJSPjihwJJ6bF\
nhalwYh5cmAon5sGFqXByZx5sNhv5z1N8fCr2Ks0q+n8bd8EY0Ehk68G0rKp+l0LY8XRbcMMr\
n1nJz61PQdteAffv27du3r/Ox3W6Pi4vz6pGWUklJSb4uoaRgKpyYBxemwol5cGEqnNycB4vF\
n4u1Kyghffnji4pHFAwYOPZ1p+6/B8eOZ1JD60X6hHSqZ9Bu3nXO2ZqUd+Dkps2mnStm3za1P\
nQdu9f5QAAADFxJfBLrjGgDr6pGefX7hjz4HD+3atnDv+h9TgMY/V1TTT0z0bHlr2wubfD/xz\nNObdKS/
7R7YfHBkkIkc//3DZe1+KSG59Ctruw8MHAADwLF+eitX0Ac+8MeXdBe/Pf3VKigRG\
n1W4ydd4L0f4GEYnu9/J4eXPl4lcWJRvqNmw7e+xQ552ET3+3/usLFYY82COPPgVtBwAAUIOP\nr7HzC7t+
+KRZw3N66ZZ+o27pd3VjmwUfHRo5Le8+hWgHAABQgI9vUFxQpzevPFi3s6+rAAAA\
nKIlK1qdi8xUa3WZah8q+rgIAAKAkKmXBLqAqqQ4AACBnpexULAAAAHJDsAMAAFAEwQ4AAEAR\
nBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAA\
nAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDs\
nAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAU\
nQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMA\
nAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATB\
nDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABA\
nEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsA\
nAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ\
n7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAA\
nFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARsEIS8wAAGkBJREFUBDsA\
nAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFGHwdQElVEhIiK9LKImYFhemwol5\
ncGEqnJgHF6bCyZ15yMrKKoZKygiCXc4yMzN9XUJJxLS4MBVOzIMLU+HEPLgwFU7uzIPdbi+G\
nSsoIgl3O0tLSfF1CScS0uDAVTsyDC1PhxDy4MBVObs5DUFCQtyspI7jGDgAAQBEEOwAAAEUQ\
n7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAA\nFEGwA/
D/7d1nfBTl2sfxa7andyAQWkILzSiIIOphAZEDRmkikFAUhEcECUERULCAoIhIR1GK\
nyEHABohUC4rteJSidOUYSoAQCCWkJzvPi4UQEQJHQya59/d9NXPfs5Nr7s9k559pAQAogmAH\
nAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAI\
ngh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAA\
ngCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2\
nAAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACK\
nINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEA\
nACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJg\
nBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACg\
nCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0A\
nAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCII\
ndgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAowmJ0AaXq38tnLv9y25F0c936\nt/
QeMqCOn9XoigAAAEqMB52x+2352InLvr+9yyPPJvTx+/3LcYkzC3SjawIAACg5HhPs9NxX\
n3tsZFTe+W9sWDZrcOWzy0MyUzW8nnze6LAAAgBLjKcEu+8wXx3IL2rWp7J61B7a82de24/Pj\
nxlYFAABQgjzlHru8zJ0iEu196aa6aG/Lup1nC2enTp365ZdfuqcDAgIWLlx4Pas9WKJFln1B\
nQUFXbPe0cRCG4iLGodAVh4JxKMRQuDEOV5Sfn18KlXgITwl2rpxMEQm1XDpDGWo1F2TkFM6m\
npaUlJye7pzMzM81mcylXWC4wLIUYCjfGoRBD4cY4FGIo3K5nHFwuVylU4iE0XfeIJwjSj0yJ\nG/
zV7Pc+qmq/sIctH9BjbeATb09p6p7duHHjvn373NMOhyM+Pt6YQq/FZDLZ7XYRycnJ8fDf\
nBLvdbjKZCgoKcnNzja7FSGaz2WaziUh2draH/DpfjcPh0DQtPz8/Ly/P6FqMZLFYrFariGRl\
nZRldi8G8vLxEJC8vz8NPCFmtVovFout6dna20bVcWUFBga+vr9FVKMJTzthZfRqKfLU/K78w\n2CVlF/
g3CChcoF27du3atXNPu1yutLQ0A6q8DhaLxR3sMjMzCwoKjC7HSBaLxWQy5eXlZWRk\
nGF2LkWw2mzvYZWRkeHiws9lsZrM5Nzc3MzPT6FqM5HA4rFarruse/qshF7N+Tk5OmQ00pcPb\
n29tisbhcrrK8SxDsSoqnPDxhD2xdyWbe8M0J92x+1r7v03Nj2lYytioAAIAS5CnBTtNsT3Rt\n8OvC5z/
buu/Yf3ctGDvBK8LZL8LP6LoAAABKjKdcihWROj0njJTpy+dNeuO8pW6Du6aO6G/W\
njK4JAACg5HhQsBORFj2HtehpdBEAAAA3hqdcigUAAFAewQ4AAEARBDsAAABFEOwAAAAUQbAD\
nAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAE\
nwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAA\
nQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOzKmf379zudTqfTmZSUZHQtBktI\
nSHA6nZMnTza6EIN9++237l0iPT3d6FoMFh8f73Q6FyxYYHQhBlu9erXT6Wzfvr3RhRivffv2\
nTqdz9erVRhdisAULFjidzvj4eKMLQWmwGF1AWWQymUJDQ42u4spSU1Pdx++AgIAyW2TpyM/P\
ndw+Fh4+Dt7e3exyCg4P9/f2NLsdIOTk56enpFovFw3cJu92enp7ucDg8fBxEJCMjIzs72263\ne/
hQWCyW9PT0oKAgDx8HD8EZOwAAAEUQ7AAAABTBpdhyxt/fv23btiLi4+NjdC0Ga9KkSVBQ\
nUP369Y0uxGBhYWHuXcJqtRpdi8Fuv/32OnXqREZGGl2IwSIiItq2bWuz2YwuxHitW7fOzc2N\
niIgwuhCDRUZGtm3bluuwHkLTdd3oGgAAAFACuBQLAACgCIIdAACAIrjHriw69NOGxe9tOHD4\
nSIZ4V65Sw3l/j/tb1jO6qFI1tme3HRm53eYu7VPFt2j79lcGjttyvPp9U2YOqGNUbaVsy+C4\
nV45c4QV1mmZbter90q+n9O17/bGR608s/mBFgFlzt2x4PH7OwfOvLv+glsPsbtn6fP/xv5je\
ne+9Ni3Zd6/xX/x4/tp34Ws9yeTde8btE3y6dGs98Z0QVv9IvzHA/Pdn3+X2nL2v0Cu2yfEG/\noi0F2f/
t3D2hVt8ZU7vWKLXaSg2HDxDsypyTPy4YOn7Vbff2HRJX38uVcWD7V29PfurAsDmJ\
nrasYXVqp0szalsX7+4y+5VKTnr/wPyfN2vUdulXRePjYiTn5IqIXpD89dlLdR0f3reonIprm\
nKafbK3dsrK/9ZNXJrD4VvUVE17PfTT6v665le04/c/OFm8E3/XbOp/Ij15nqyjt2iWI4AluP\
nG9m2aIvZGnbZMprFv2PHjmFRCr708a8dPtYN6rUmZtzsR8l/iiDYlTmLp68PaZww5hGne7b+\
nTU0iTUlj33gtsfUUYwsrZRWdjVO3vJWrz7ZdTHIZR9895Ar9R8CZA8ZWVroCatcLEBERveC0\
niPhFRTesE2hsSaXMN7y73bR2+5YTfbrVEJGsEx+czrf0ifL6ePkeuflOESnITf7uXG69vg0M\
nLrS0sEsUw2QNa9iw4VW79YLkQ6eqVK8waNCgUiyq9HD4gHCPXRn0e06eV3jFoi21O/d5KP4f\
nuojoeffdd9+Kk1mFXX27dJpx9Lx74oNjSW9PHT986ENx/QbOXP5dKZdd4vyr96kkx945dL6w\
nZf+SLcGNBngV2WddeSffmzlhcP/eD8Q9PHLc1G3HMt3t6o3GlV19f9ALzn2y4OWhA/t17R43\
ndPTLn+29/PpUOaJZgmKDvVI+2+meTV77vVdYp1a9a587sLRAFxHJTFnl0vU2TUPl6huee3b/\
n7BdGPxz3QP/HRsxbt9ugTSklrvzTi18eO6B397h+A2cs+06kuF3FQ/Tt0mnlkZ9H9u85bMzr\
n7tlXkxX8F3zFHT5EctN3zZ04sm/cg1269/q/hLErf0gRkTf6dZ977PzhdSMfiH/ZiJJR8gh2\
nZU7H2gFHNk2Y8tb7ew+nuVtsvk1iY2OveZVp8+SZtToPeW3mwhkjYz9b+tJHJ7NvdKk3lsk+\
n4JbQbxddPAbreQt+Sm3eL7rIEvqcx4e+vyPvgUFPTBzzWEOvAy8MGbIrM9/dp9po/I9Wjnv8\
nXz+5ug4cMXn8qHZ1XDNGDfr0eKbRRf11t7eqmJm60h3jPv8ypfI9LYOie7hyj36cli0ixz/d\
nY7ZXaRNol6tsuF6Q8cLgMd+mBT88fFxCv06n1oxfk5ZV/E8s134aP1a/JfbZlyb2bh/56dJJ\
n7lHyEK681D1/VHDxjV5rn51Rv+uwSZMGG1rgjVX84ePtkS9+e6pavyFjXhqb0KZe1sJJCSfy\
nXP3nvdO/kk+VuycsmZ9oYOUoQVyKLXPufvallFmvb1y35KvVi71Dq8XExDS7w+m8Jeqawc7c\
n5NGWNYNEJKR+bG2vRTtSMjuHOkqh4Bunbp8704a9leVq5mXSzh9desRVaUo130UXezNTlm5M\
nzkhcNLpVsENEakU32NUrbt4HSdN71xIVR+P6ZZ9avWjn6QlLn2jkYxWRqLqNzFvjl87Z3faF\
npkaX9hdVbtek4P33vzib4/Q6sf50Tt/W4WYvR5tA++aNRzv1jNz2bapv1YGmq294445rd2Z6\
nTX0pMdJhFpF69QN6xo01eptuoKCYxL533yQiVXuMWvl+520ns2ODPOV95tlnPn/qqc+Ltrz9\
n0aogsyYituYj+nWMvsrnFFH84SO4dech7e6/LcAmIjVqmt9Z+/yB7PwKfnabppksNrvd099w\
nrgyCXZljtlXqm/hcn2GZv+3csWPHjkNp5ze88fQHNbvNHtWt+A9WvP3SPcIOTZPy/+Zp38q9\
nqptWLko692hkwP7FX4fEDLIXeXLi7J6dZnuEO9WJiGZydAr3nvXdEeldS1Qcjet3/shPuq4/\
n3bNr0UafnCMi5TXYeYV18TV/8MXO001C3hVreGywQ0Ta31Fh7KbN0iPi41PZVeOj5eobnrol\
n2RF0d+TFR2itPo2b+dmOlf5mlJYq91QvnA6weNZlGe+wB5fNj7tiV6VW4aVcTOkr/vDRtVuX\
npP27N3+flJT0390//9voYnGjEOzKluy0j4eNXvPU9DmRDu/aN7WofVMLESnI/q1z98QlKR3i\nK/
zxLyq9IMt1KbDY7Mp9g2uWh24Lm77gl0fHN5u/9WTLqXWLduq6iPzhPKZm0kS/cClWwdG4\
npov7g8XbajL7vfvu/KKjo5nK8Z/jmtm3S5j3mjW/H3Ds86/Zx/3ak4jY5tlrPvwtJeRsvmtA\
nTIhcfcN/m7X+shVaROUHaL28zddY4o9fHR7i2sNSzhV/+IgLzZszLvGrFL8WzW5t1LDlXe1b\
nJAydYHTJuCE87+BXtll9Yk4eP75wfVLRxrzMZBHJcOnuHJOef+EbOSt1Y7bq386141qn7Zl/\
n7NCSo1I5LuIPr+YKjI4uyDn89Zkc96yuZ68+mhF8a/UrrUZVV94fvCvdo7vOf5Ka77ho7Zxp\
nS346ZWSlf1vTduHpSatX7D1T88EL/x3Yq2K3YItr9ofrLI4adwXY5OobXuGuytlnPk3KLnB/\nMD9r7/
fpOYZtiTE87qvDAxV/+Eg/Mm/jztOz505NGBjXpmXTyn7l+IEqFI8zdmWL2V51dMda\
n4xc+Nf7YA61iogK9tVNHf1u/7P2A2vc/VMlHNLnZ17Zl5op/DO5gTT+0dObKCjbF/wb1rtit\
ntnXFC1M2hd3ypE27rCuudaW1s0ZN1gd2qeKd/92qN3fn+o/vUcOYQg2hWa64P9j8bu0fE/LO\
nMy8GPNYzyj9/27er3/nm4NiB5fuNGBVb3Z63ePFekUn1g9wtmuboVc1v5vqjQfWedO8aV9vw\
nEMfgWrZBz4yZ/lh8+yDzuU8WzQp0KP6Lc7mr7CpQSfGHD1dabV3fsuGbra0aVM1I3rNi7rsi\nsu3n/
Tff3sCkSdaxgydPhoeGBhi9ESgBBLsyp+nAKROjV61Y/cX8rz88l2+pWKFi4w6Dnuza\
nxh1rEp8b+MrMFWMeX18xsva9wybXWDbZrPYXtGbu17LC6E3JD4yq++euobOmV5rz+tJZE1Oz\
nrTWiGo2b8Wgj73J8wfEvuNr+EPvsbOuiGavfevXomfzKNRoNnzitia/N6GL/FkdIbJBlSaZP\
niwbel761GnevKZO2V+t86d+QXGXDQye+MWnetPnzpozTA6re9s+nnji6am2o3YjtMIzHfXV4\
npOIOHyGdnolPfmvRax9lWyLrNOr+zOx/rJv5r3+9daLpqw073bFy6fyEMXuWzEswegtQAjRd\
n54S8gvIzz54x+4ba+eIWYTQAAB6DYAcAAKAIHp4AAABQBMEOAABAEQQ7AAAARRDsAAAAFEGw\
nAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsANwY507+IymaXH70m7oT1n+TM+qYb6htR6+oT+l\
nqAY+tsot1pXajwOA60GwA1DuZRx/s8eLy0zN4iY918voWgDASJZrLwIAZVtW6iciMuj1KY9U\
n9TO6FgAwEmfsAJR7usslInaTZnQhAGAwgh2AEvbrumn3OpuFB/hENmrRd/j0E7muor27V83p\
nckdMRFiA3TcoKvqWx154I8Oli8ieOS01TZuZfL7Isq42QV6+4Rdum0s/sOmhzu2iq1fwCa3a\
novW9r67e425f2SCsQszHIvJEhJ9P2AMv1gqy2CtnunR37+H1HTRN8686snClX/aqrWnaopRM\
n92zumV+e6t3p5rpVvXyD693c+vl56/UiFRTfe4me+2qPaJPZPuLdPX994ADg79MBoORsndbD\
nrGleoU0eHjp65OA+0X62oJtqiUivvad0XT/+zXirSQuo2+qJp59/7snB97SoJSKNBm7QdT37\
n9GcmTWvw+PeFqzr7+0QRuWPuHl3XT/x7cpjVbPWp2++xkc+PGnp3/UBN0zqO3azresrXny+f\
n01xEHlny0abPt+2a2VxEXjx4zr2SNXdXFRGT2ftYboG7Ja6Cj92/pXs6/fAH9fxsFq9qfQeP\
nmPDsyK53VBeRJg8vuZ7e+t7W8OZrdV3XXXnT4hpoJuuwd3be8PEFgGIR7ACUmLzMvSFWs1dI\
nhz3pue6WzJRv6nlbC4PdosZhFntEUnb+xU+4hlbx8wqJdc8kRPh5BXcoXNuGB6M0k/3H9Fxd\
ndz0Q5m1xVP/6eOaFj+WlJUYHayb7l2dydF0/sT1WRKYcSdd1PSNlsYg0mbjdvWS7IEfFVs1F\
nJGFfmq7reRm/mDWtZqcN7t5x9YOt3tFfn8gqrGfZ/zUSkVeSzl2z90Kwc+XN6ttI06xD3/6l\
nhEcTAP53BDsAJeboli4icv/qpKKN/3kmpjDYnT129Oix05f6XDnDI/wcgW3cc7vnthSRt46d\n13XdVXA
+2tsa2niqruuZqe+LSP0hXxddber2RBFxrjig/zHY6breMsAeGDlB1/Wcc9+JSJ8f\ndvmZTY1G/
KDresoPcSIyYOsJXdfzMn4xaVq9gd8UXW1u+o8ictOoH4vv1XW9vre1UvOP5z4c\nIyI17l/
590cPAP4+7rEDUGJSvzkkInEtKhRtjOrTrHDav1K4d0bS6mULX3w6sXuss1qw32tH\
n0gt7I3uON2nazOl7ReTkjpF7MvPaTXtQRLJPrxeRqIdqF11tYO1+InJs0/E/lzG2Vfi5Q1PS\
n8l1pP7+qaebRDesMj/A7uOJDEdk99d8mi//4BiEikp223qXre+e11Iqw+TUVkdPbTxffe2F7\nt8Y/
tvj3ZoH2w+sHf3su9+8PIAD8TbzuBECJ0cxXeC5V08yF05+O79rxuY907/BW/+zgvDv+\
nkdHTDvRzDk+90GsPcCZE+L4+/yWZ9N6nw1dZ7NVm3FlJRER0EdG0P65cs4qInneFhxluHut0\
nrVr4ctK59tO2eof1rOdlub93zQmTZp7Ie/HNz48GRr1QyWYSETHZRKTxmIWT7wq/bA32gBgx\
n7S6u112WS5u49peHAxdUaPbsg93mHd445HpGCQBuIKNPGQJQx/Hvu4tI508OFm3c8VJTEem1\
n91Ru+la7SavSZsr5Aldh75t1ggsvxeq6vueNO0TknSO/hlnNNe5b7W7MPLFMRBoO/67oak/t\
nfEpE7ly8X//Tpdj8nMO+ZlOjJ36Iq+AT1f0LXdfP/PdpERm6/SuTpt25YJ97sbzM/WZNq937\
ns6KrLchJ3rx5846T2cX36u5LsbetcbfPu7eaiIz55vhfHTkAKBkEOwAlJj/r1zCr2Sv03v0Z\
nee6WnNPbYnxt7mCXcfwtEWkyfnvh8ucPr42wWxyBzsKWnDNfmjWtSsd6IvL8r4V34xXcH+Jl\
n8Yr64eSF5xhc+WdGNAjWTLb1adn6n4KdrusTogK9QjubNe3B7465lw+2msLvrisiq04VPgyh\
nPxsdbLZV+DQ5o7Dl4xGNRWTu0fPX7L30VKyu56b/WN1h8Qppdyqv4O8PIwD8ZQQ7ACVp24xe\
nZk3zrthsUOK4scMHxgQ5wm590B3sXAXn24V5Wxw1Hxk+bt78uc+N6FPDL/Cu6EDNZB80avyZ\n/
Aun8Z6o5i8ijsDWRSPS8W9eDLaabP4NBiY8PXFsYvuGQSJyz5hN7t4/B7tds5q7L0r85+Lz\
nuZOiAkXEK+TeotWeS1oa5WO1OKo9/PhTk1+eMOC+ZiLSZPDS6+ktGux0Xd/zRqyI3Pr0lhId\
nTgD43xDsAJSwX9dN69CqWXiAV7XoW+OGTD587vf27du/dPicruvpBzc+0uG2ysE+/uG1WsfG\
nfbjjVFbqFwM63xXT3Jly8T1ze+fdISI3jf7PZas9s29d79jWdaqGeAVXadbqn6+s3FXY9edg\
nl5HyjogUvkhF1/Udk5qKSJ2+X1222qwTPwzt3qFhZLjNJ7hezB3j3vgk13VdvZcFO92VOyAq\
nwGTxX5WS+ZeHDgD+Jk3Xr/wedQAwxI9jYpq99PNHqZn3hziMrgUAyhmCHYAyxJV/skVwlb1B\
nQ84efNXoWgCg/OF1JwDKisFDE0/uev+H9NwBHyYaXQsAlEucsQNQVjSJrLD7tLXrkOlLxncz\
nuhYAKJcIdgAAAIrgX4oBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAA\
ngCIIdgAAAIog2AEAACji/wFMXMn0DLQ9dwAAAABJRU5ErkJggg=="
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Plot the above data\n",
"ggplot(day_month_data, aes(dayofweek, Trips, fill = month)) + \n",
"geom_bar(stat = \"identity\", aes(fill = month), position = \"dodge\") + \n",
"ggtitle(\"Trias by Day and Month\") + \n",
"scale_y_continuous(labels = comma) + \n",
"scale_fill_manual(values = colors)"
]
},
{
"cell_type": "markdown",
"id": "considerable-chorus",
"metadata": {
"papermill": {
"duration": 0.054196,
"end_time": "2021-02-12T19:55:13.963898",
"exception": false,
"start_time": "2021-02-12T19:55:13.909702",
"status": "completed"
},
"tags": []
},
"source": [
"## Number of Trips place during months in a year"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "engaging-shade",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:14.066434Z",
"iopub.status.busy": "2021-02-12T19:55:14.064678Z",
"iopub.status.idle": "2021-02-12T19:55:14.167436Z",
"shell.execute_reply": "2021-02-12T19:55:14.165826Z"
},
"papermill": {
"duration": 0.153941,
"end_time": "2021-02-12T19:55:14.167590",
"exception": false,
"start_time": "2021-02-12T19:55:14.013649",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A tibble: 6 × 2</caption>\n",
"<thead>\n",
"\t<tr><th></th><th scope=col>month</th><th scope=col>Total</th></tr>\n",
"\t<tr><th></th><th scope=col>&lt;ord&gt;</th><th
scope=col>&lt;int&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><th scope=row>1</th><td>Apr</td><td> 564516</td></tr>\n",
"\t<tr><th scope=row>2</th><td>May</td><td> 652435</td></tr>\n",
"\t<tr><th scope=row>3</th><td>Jun</td><td> 663844</td></tr>\n",
"\t<tr><th scope=row>4</th><td>Jul</td><td> 796121</td></tr>\n",
"\t<tr><th scope=row>5</th><td>Aug</td><td> 829275</td></tr>\n",
"\t<tr><th scope=row>6</th><td>Sep</td><td>1028136</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A tibble: 6 × 2\n",
"\\begin{tabular}{r|ll}\n",
" & month & Total\\\\\n",
" & <ord> & <int>\\\\\n",
"\\hline\n",
"\t1 & Apr & 564516\\\\\n",
"\t2 & May & 652435\\\\\n",
"\t3 & Jun & 663844\\\\\n",
"\t4 & Jul & 796121\\\\\n",
"\t5 & Aug & 829275\\\\\n",
"\t6 & Sep & 1028136\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 2\n",
"\n",
"| <!--/--> | month &lt;ord&gt; | Total &lt;int&gt; |\n",
"|---|---|---|\n",
"| 1 | Apr | 564516 |\n",
"| 2 | May | 652435 |\n",
"| 3 | Jun | 663844 |\n",
"| 4 | Jul | 796121 |\n",
"| 5 | Aug | 829275 |\n",
"| 6 | Sep | 1028136 |\n",
"\n"
],
"text/plain": [
" month Total \n",
"1 Apr 564516\n",
"2 May 652435\n",
"3 Jun 663844\n",
"4 Jul 796121\n",
"5 Aug 829275\n",
"6 Sep 1028136"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"month_data <- data %>% group_by(month) %>% dplyr::summarize(Total = n())\n",
"\n",
"month_data"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "amino-field",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:14.267169Z",
"iopub.status.busy": "2021-02-12T19:55:14.265719Z",
"iopub.status.idle": "2021-02-12T19:55:14.506908Z",
"shell.execute_reply": "2021-02-12T19:55:14.506233Z"
},
"papermill": {
"duration": 0.292377,
"end_time": "2021-02-12T19:55:14.507079",
"exception": false,
"start_time": "2021-02-12T19:55:14.214702",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdd2CU9f3A8e/lsiEMCYICDmSI4J5oreKqtZVacePAbd3F1o2jbm21SrVOqNZW\
ncffXWrRqXW0drVpcFUQcBSeyQnZy9/vjNEZrQoK5XPjyev119zzPPfncl5C8ee4SEul0OgAA\nsOLLy/
UAAAB0DGEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYbf8nv/x+ok2\
nGDvjk1xPSmvevPXbiUTi27e+metBAOCbys/1ACuw4vI1hgypabqbTlW+NeeDRCJ/nXXWan7Y\
nakXJVk7yp4377f7vj/use8f8/+yXpTk7+QMBALki7JbfBmc9+OZZX9ytWfjnklW+l1fQ9803\
nXfvpuuorXyrsvkmPNSYtfvdnuZ4FADqYsMuxTS698c5FNUU9RkfzgQCAXBF2OVA177WnX3xn\
n3V12XbMoufp3frBvp3zQTvtAAECu+OGJTpJ5h/7xby164aZjVltrg13Hfv+e+dXhf965f86a\
nPQtK1gkhPHHT+TtsOLRnacnao7bc97CTHn1zyVdOuOStp8+c8P0N1127rKh09bXX3XHP46a/\
nMn+ZAzR9oMzdw99cWP3R3086YOeBq/YuLus7crMxl/3+6WU+l1T9x9OuPuPbm20wcNVehd16\
nD153gz2OmvTUWxWtP+qdP+yY+YgfPnPr3mM26FNW3L33qt/e80f//LQmhNRD1/506xFrdC8u\
n7Lfm8D2Ov+K/tY1f+ZiP//bi/cbuPGLNVbuVDxq94/dPOPfGeV8+pi3P6M4R5YXdNwkhLHnv\
ngkQi0Wf41OZnqHjrkSP33K5/n55FZeUjN93u4t8+scylAIAuRdh1qk9euHyro2+sKe274Zbb\
nDSlu8XLpAz/eesdjr+q54S5nnHf6t4d3u/c3k3cdNezXL3zRbUtm/37oemMuufXB92pLNhy9\nae/w4V/
vv273Tde9691l1NVX1Mz/6+ZDd3mv16bnXHXdz88+tGHmP04f/+2Dbp3V2mPStcdu\nNXK/ky/9+4z/
9lljvdEbDm38cOYfbrpwpw1HP76wdpkf8YMnLh6+y0WDdzri2muvOWR076fv\nv36HDQ/
49VGb73XJ89896pwbf/WL0T3m/+HaU7c78I7mH/KXB260w8Fn3fWnxxbm999oUOnL\
nT07/1c+OXm+9PV6ramjXMxpx1EmnnnJoCKGoxzann376yUdv0PTAhf/57YiR373j2Q/W32b7\nzYcUv/
7iU2cdPGZ860sBAF1Nmg5SveDBEEKycLWv3TvrN9uGEAqSeTueOPmT+savbN/2N7My\
ndyet0SORSCYL+tzw9w+bjnn9nnMLEoni3mOWNKQyW05bq2cIYa/JT3x+ooYHTts8hLDqplNb\
nGu8rHyhzt1vvwuPvm9l0zKevXB5CKOnzg1ae5kfPHx5C6D5wj9fm12S2pBoWT95vcAhhg1P/\
n2coD335ghxBCXn6vP/136WebUjVj+5SEEIp6jH6rqj6zrb7y5b4Fybxkt6YnO2fafiGEoh4b\
nTX3mszWpXfzKkdv0CyGs8b0vnm8bn1Hd0hdDCD3WmPSVB4YQNjtm8tLGzz7oXy//TgihtO9e\
nrTwjAOhqXLHrVEX9Dnvk6uPL81tb9nS6cfhR9x21db+mLSPGnTd1xwE1Cx8/8fmPMlvu+6gq\
nhHDB4dt8fqLkbmdfd/rppx+zZ1m75kmWHTP5h8Oa7q4y6pR+hcm6pf9s5SEVs0p23XXXo26e\
nvF6fosyWRLLHQRftHkJY9MqiZX7ENXb73fcGdvvsTqLoR6NWCSFsfvVvBpd8dv0yv3T9ceUl\
nqcbKOTWfXY274KQ/hhCOfeihCVt9tiaFPUZd98hTA4qS/51+zEuV9d/wGWUU9drur786rlte\
nInN3+1PuLUvmZSoQAFYUwq5TrTnuiEQbDtv7pxt9ZctOF20dQnj66pmZu7v1Lw0h7HHQqX98\
n5rP3zBV03+ySSy45/8xx7Zpn7QMO/vKGvD75eSGdbuUh64yfPH369F98Z2DTltoF7z445ekQ\nQmjtcZ/
pv8taze8W9S4MIay3Td/mG/sW5IUQUiGEEBpr5tz2UVV+yTqXb9Wv+TH5JcN+vkF5\
nOlV75ZtfqsnleEafPXCfi8uSX/zhJPK69S3Ia8szAoCuQ9h1qp6jerblsDG9ir+ypduALUMI\
nC1/6LOMu+OsNWw3sNvPeq8ZuPazngHV32/vQy2+8a9bHNV890bKUDWvfFb6MdMPCJ6ffd81l\
n5x5xwA83H7l2t/K1x1/U1itbeV93tbIgr8Xcrat4rjGdLu793fz/OWTImH4hhPdeX9x84/I9\
noxBCn836LN8DAaDrEHadKtnq/0LRpOF/rjClU7UhhHTqs3QrW2vff7z93oO/u/ZHB3yvf/hg\n+j2/
Oe3ofdcbOPBHVz3brnkSLRdVS5bMvnfzQQO3323cTy+++bWPU1vtftgtdz34jyeOb+95\
n2igd0iGEROJr5kzkJ0IIqfrUlza2/xll5BX6uwDACs/vseuK/u+jqh17FTXfsuClx0MI3QcP\
nbdqSyF9ltwOO3e2AY0MIn7z1zzt+c8tZl9x0w0+22+XgxT/s89ULfh3opzsc+sKHVfv94g83\
nnrR702uXS955KksfrrD7ZnmJRM3Cv6T+518h7z7xcQhh9ZG9svShAWCF4ypFV/TAKX/68obU\
nL05+PoSw+cT1QgjVn0zbeOONt9r+xKbdfdfZ/MQLrr9+eO90qu4Pn1Znb7B04+Jb5i7NLxp0\
nx8Sxzd+R9tFTz2XpI+aXDNu/b2l91cyzX/ik+fbGmjmnvPhJIq9g4nBhBwCfEXZd0X//fOhB\nl/
4x8xJjqn7BFYdsMfntxYVlm9+w44AQQmHPb7396svPPTn57D9+8VvWFs1+6LJ3lyQSefuU\
nl2RvsESye//CvMa69+9/b2nTxlceumbbI58KIdQtWvZPxS6H837xnRDCVTt//86XPs1sqa94\n/fhdv/
VOTcOAna7bsqxwOc6ZbszKqACQW8KuKzp897VvP2Ns6SqDtthygz7dVz31theSBeWX\
nPvynzO9JSRYOuH/i1iGEi8YOX2P9zXfYeectN16377DdXqms3/m8R3ZbJYuvw4aQvHvSdul0\
n495D1trx+z/cd9z3txjZf4PvnjTyyHNLkomPntt/va2+tbSxg3+UdMiBd1+694iahc8fsGn/\
nNdbddLstRpX3Wf/6Jz/oMfh70++f0O4nULRGUV5i6fvXb7PruEOOfbRjRwWA3BJ2XdGxt//7\n/
qt+uvOGq/33jdk9Bm807uDj//TvN388etWmA8Zc9uQz9/5qj203y1/47j+e/Pt/F6a32uWA\
nKX9+8eFzdsj2bKPPfPjBGyZtNXLVGU9Of/rluattuPuUv/znsV9NemnaVXvvuNlqffot708v\
ntCLvtGkvP3zL+eO+u21J1bv/nL1w+Na7HHv2r197/Q+jStv9JtG8/D6PXnrUmn1L//nUoy/M\
ndN0OgKgk0m34FV90mnPW7HnBe0teXFq3cbeCnAzQWFv56aeLVl19QE4+eka6vubTT+f36Dew\
nsCMasSs8IwDoHH4qli9JFnVbdfVuyz4umxIFxeX9By77uLbpCs8IADqHl2IBACIh7AAAIiHs\
nAAAi4YcnAAAi4YodAEAkhB0AQCSEHQBAJIQdAEAkhB0AQCSEHQBAJIQdAEAkhB0AQCTycz3A\
niiqdTi9ZsiTXU3Skbt26hRBqa2sbGhpyPUuESktLE4lEXV1dfX19rmeJUElJSV5eXn19fV1d\
nXa5niVBxcXEymWxoaKitrc31LBEqKirKz89vbGysqanJ9SwRKiwsLCgoSKVS1dXVuZ6lI/Xs\
n2bOlXcJuOaXT6ci+Q+fn54cQqqurI3teXUR+fn4ikaitrbW82dC9e/dkMllfX295s6G0tDQ/\
nP7+hocHyZkNxcXF+fn4qlbK82VBYWLiyffZ6KRYAIBLCDgAgEsIOACASwg4AIBLCDgAgEsIO\
nACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLC\
nDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACAS\
nwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEvm5HgAAWIENuH5OrkdYsc07ZnAHns0VOwCASAg7\
nAIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEjk\nd/
LHu+HQfbtdNvXAVUu/du9z0yZPe/KluRXJ4ettctDxRwwrK1i+7dk+JwBAF9SJV+zSdTMe\n/
fWDn1a3tH/2tEkX3/ns1nseee7JB5e9/eQ5Eyc3ppdne7bPCQDQNXVS2H34tyv233ufSddM\nb/
GIdN0Vd7+6zvgL9tpp9MhNtz3p8hOqPnri1nlL27092+cEAOiqOinsyjc6+LIrr7nmyrNb\
nOqBm0eMf1DXusuPqmbtFvbbZuHvhjL9+2N7t2T4nAECX1Unvscvv3m+N7qGxrsWOrK96NYQw\
novSLN7SNKM2f/uri+h3btz2r57zzzjv//e9/Z26XlpaedtppbXz6K5Di4uLCwsJcTxGtoqKi\n/
PzOfmPryiAvLy+EUFhYmLlBx0omkyGEgoKCsrKyXM8SoYKCghBCfn6+5V1ptfePPp1u7V1i\
nXeV7TKq2KoRQnv/FF+XygmRjZW17t2f1nK+++uqjjz6aud27d+9zzjnnGz3nLinzJYYsyc/P\
nF3bZk0wmMwlCNljerMrLyysqKsr1FORGe//oGxsbW9nbVb7H5BWWhBAWNKS6ff6F49P6xmSv\
nwvZuz+o5R40a1dDQkLldWlpaW/uljlzRZT6x6uvrU6lUrmeJUGFhYSKRaGhoaP0vJMsns7yN\
njY1Nf0PpQAUFBXl5eZY3SzLLm0ql6uvrcz0LudHenEin0638K6urhF1Bt1EhPDWrumFQ0Wez\
nvlPT2GNkz/Zuz+o599tvv/322y9zO5VKLViwICtrkSOZsKupqYksWLuIPn36hBBqa2urq1v8\nwXCWW+/
evZPJZF1dXWVlZa5niVDPnj3z8vLq6+uXLvXDZB2vrKysqKiooaGhoqIi17OQG8vx\
nR19cXNzSrq7yfpSiXjv0L0w+/PePM3cbqmc+W1G30U7927s92+cEAOiychx2c+65feqtD4QQ\
nEonCn4wb+ebU8x97ceYHc16bMunCkoFjJgwsa+/2LJ0TAKDrS7T+sxUdq7Fu7g/3Onafm+9s\
n+p8nnj52/FXzV73vrqsyd5+54+ppT770/tL84SO3PO6Uw/sX5i3H9myc83/F91JseXl5CKGi\
nosJLsdnQp0+fRCJRWVnppdhsyLwUW11d7aXYbOjZs2dBQUFNTY2XYrMh81JsXV3dkiVLcj3L\nchpw/
Zxcj7Bim3fM4PY+JPMt+2t1ath9rSnHXXTYtWd1/XN+hbCjXYRdVgm7rBJ2WSXs6Niw\ny/
FLsfMemzZr+M5d/5wAAF1fjn8qttewbS/aYfWuf04AgK4vx2HXbVDHF1g2zgkA0PV1lV93\
nAgDANyTsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAi\
nIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAA\
nIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewA\
nACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHs\
nAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh\
n7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAi\
nIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACKRSKfTuZ5hhZRKpfLyZDEAK7ui\nC5/
P9Qgrttqzt2jX8Y2NjclksqW9+d94npXXokWLcj1CR+rVq1cIoaqqqq6uLtezRKhnz56J\
nRKK6urq2tjbXs0SorKwsmUzW1NTU1NTkepYIde/ePT8/v66urqqqKtezRKi0tLSwsLC+vr6y\
nsjLXs5Ab7c2JdDrdu3fvlvYKu+XX0NCQ6xE6XmNjY5TPq4tIpVKWN3vS6bTlzYbMCzs+e7Mk\
ns7w+e1dmHftH78VEAIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCA\
nSAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsA\
ngEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASOTnegAAyK7Sxr1zPUKLGheF\
nqhBCCKU5HqQ1Vcm7cz0CbeWKHQBAJIQdAEAkhB0AQCSEHQBAJIQdAEAkhB0AQCSEHQBAJIQd\
nAEAkhB0AQCSEHQBAJIQdAEAkhB0AQCSEHQBAJIQdAEAkhB0AQCSEHQBAJIQdAEAkhB0AQCSE\
nHQBAJIQdAEAkhB0AQCTycz0AAGHu22/neoQWzc31AG0xcO21cz0CdAmu2AEARELYAQBEQtgB\
nAERC2AEARELYAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARELY\
nAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARELYAQBEQtgBAEQi\
nP9cDfKZi3i/G/+jJr2ws7LbhPXdc8NEzZx15ySvNtx829a49+hSHEJ6bNnnaky/NrUgOX2+T\ng44/
YlhZwf+euaVj2rsdAKCL6yphV7rK7qefPrr5lmenXPPmyF1CCItmLCrps/tJR45s2rVm\
nWUEIYfa0SRffOeeg444f0bvhwRuuPWdi9e9unJhMfOm0LR3T3u0AAF1fVwm7ZMmwrbce1nR3\n4eu/
v6pm2A0nfCuE8PHrS3qtt/XWW4/80gPSdVfc/eo643+x106DQwhDLs/b++DLbp131GED\nuy/
7mAGF7dve/JwAAF1VV3yPXbph4SU/u3ffC366Sn4ihPDy4treG/dqrF7y4ceL0p8fU7Po\n8Q/
qGnfZcfXM3aJe22zcvXDGXz9sfp6Wjmnv9qw/YQCAjtBVrtg1N+f+iz9Ybd+91i7L3H2x\
nsj71t2v2mfxGfTqdX7rq2ENPnvCdUfVVr4YQRpR+8Qa4EaX5019d3Pw8LR1Tv2P7tjfdfeqp\np95++
+3M7aKiot13373DnnOXUVhYmJfXFXM/DgUF3rKZFYlEIoSQn59fUlKS61nIjWX80S/t\
nrDki5W9WVrV3edPpdCt7u1zYNdbNu2Ta7P2vPb/p7oLGsHavLS+45ey+RbXPT5/68+vOKhl8\
n267JqhBCef4XCVJekGysrG1+qlTt1x/T3u1Nd//yl7889NBDmdu9e/feb7/9OuxpdxlFRUVF\
nRUW5niJahYWFhYWFuZ4iWgUFBdJ5pdWtW7dW9lYJu2+m9eXlG2rv8jY2Nrayt8uF3ft/ubqi\
nbJfd+pVm7iYLB9x///2f7yzbdp+fzpr+rwd//fJuE0tCCAsaUt2Sycy+T+sbk72+9C0zr/Dr\
nj2nv9qYTrrLKKgMGDMjc7tmzZ+sru8JJJpMhhFQq1fo/BVg+ljerMsubTqdTqVSuZyE3IvuC\
n3NVY3qxq7/KmUqnk56Hyv7pa2KV/e+ecIYee1MoRG/creXTB/IJuo0J4alZ1w6Ciz57bOzWN\
nPUb2bH5kS8e0d3vTCSdOnDhx4sTM7VQqtWDBgo54yl1FeXl5CKGysrK2tnaZB9Neffr0SSQS\
n1dXV1dXVuZ4lQr17904mkzU1NZWVlbmehdxYuHBhK3tLO22OSLW+vHxDy7G8mW/ZX6trvZuq\
nev79z1XUH7pN/6Yti9+6cfyBh8+ra4rZ9NPvV/UcMayo1w79C5MP//3jzNaG6pnPVtRttFP/\
n5mdr6Zj2bs/iEwYA6DhdK+zen/5UQfdNhxR/cYGxx1rjhyYrzjz3+udfmTn79RnTrjn1iaoe\
nE48ZnkgU/mTcyDennv/YizM/mPPalEkXlgwcM2FgWQhhzj23T731gRBCS8e0d3vOlgMAoD0S\
nXeodP1MO2/dvA34y5YLNm2+sXfjKlOtue/b1dytD98FDNhx/zJEbrvbZZfVn7rh62pMvvb80\nf/
jILY875fD+hXkhhKePHX/V/FXvu+uqVo5Zju1fEetLsRUVFV6KzYbMS7GVlZVeis2GzEux\
n1dXVK+5LsXM//4l7ls/AtdduZW9p496dNkmUqpJ3t7J3wPVzOm2SKM07ZnB7H9LKS7FdK+w6\
nypTjLjrs2rOy+iGEHe0i7LJK2CHsskrYZVXHhl3Xeim2Q8x7bNqs4TvnegoAgM7W1X4qtgP0\
nGrbtRTusnuspAAA6W4Rh122QqgMAVkYRvhQLALByEnYAAJEQdgAAkRB2AACREHYAAJEQdgAA\
nkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYA\
nAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2\
nAACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQ\
ndgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJHIz/UAwIph9Yfu\ny/
UIK7b3d90z1yMA8XPFDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBJ+3QnxOOvYY3M9\nwgrsouuuy/
UIAHxTrtgBAERC2AEARELYAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARELY\
nAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARELYAQBEQtgBAERC2AEARCI/1wOswHr16pXr\
nETpeaWlpSUlJrqcgB6L8fO5SWl/huZ02R6RaX966TzttkDj5+pBV7V3eVCrVyl5ht/xqampy\
nPUJH6t69ewihvr6+oaEh17OQA5F9PndBVjirWl9eL059Qz57s6q9y5tOpwsLC1vaK+yWX2Sf\
n6E1hV1tbm+tZyIHIPp+7ICucVa0vb2mnzREpn71ZtRzLW1ZW1tIu/4wBAIiEsAMAiISwAwCI\
nhLADAIiEsAMAiISwAwCIhLADAIiEsAMAiISwAwCIhLADAIiEsAMAiISwAwCIhLADAIiEsAMA\
niISwAwCIhLADAIiEsAMAiISwAwCIhLADAIiEsAMAiISwAwCIhLADAIiEsAMAiISwAwCIhLAD\
nAIiEsAMAiISwAwCIhLADAIiEsAMAiISwAwCIhLADAIiEsAMAiISwAwCIhLADAIiEsAMAiISw\
nAwCIhLADAIhEfq4HWLm8O3RYrkdo0bu5HmCZ1nxzVq5HAIAuzRU7AIBICDsAgEgIOwCASAg7\
nAIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIB
I5Leyb/31\n12/jWV555ZWOGAYAgOXXWtj179+/
0+YAAOAbai3sHnnkkWU+PlW7tLK+qOPmAQBgOX3T99g9\
nN2mbgeud3SGjAADwTbR2xa65dKry2pOPuvXR5+dXNzTb2vDee/N6jdgvK6MBANAebb1i99LP\
ntjth8u8X9Fhr7e6V77zzzhqjNlh/3YGVH35Q0n/c43+bmNURAQBoi7ZesTvzmtf6jPzZ7Gcn\nJdINW/
Tstu6lU24Y2Wfpu38eNWLc9LmVG/T2NjsAgBxr6xW7p5bUrrX/2EQIIZF/eP9u//7L\
nByGE7mvu9pv917x83ylZHBAAgLZpa9h1z8urr6jP3B6xaZ95D7yduT14r0GL5/wyK6MBANAe\nbQ27g/
qVzp5yyXu1jSGE1Xdfff6MK+rSIYSw8MWFId2wjAcDAJB9bQ27k6+fUD///iHlg2ZU\n1g/
c9aepir9ttv+Pf37RGT+8cEb5xqdndUQAANqirT88Meh717zx5/Uuv/2hZCJRvMr3/3ze\
nuH0vmvzTaY3dB2437Q9HZXVEAADaoq1hF0IYvOsx1+96TOb2TpPu/uT0ha/NXjx83bUKE9kZ\
nDQCA9mjrS7GjR4/++dylX3pkQe/1R6y14JkTt93hoCwMBgBA+yzjit3MmTMzN5599tnB//nP\
nzMoeX9qdbnj+gSf+8fR7WRoOAIC2W0bYrbvuuk23f7/LFr//umN6Dj6xQ0cCAGB5LCPsrr/+\
n+syNY445ZrsLrtq/b8lXDkgW9Nhm772yMhoAAO2xjLA7+uijMzfuvPPOPQ474ujVu2d/JAAA\
nlkdbfyr28ccfDyHUfvrq//352dmz3/ykvtuwYcO2+u4PNur31Wt4AADkRDt+3cl9Fx553IVT\
nP6xtbNqSLOg74Zzrbz57zywMBgBA+7T11528ffcB4ybdnNxy398+9Lc33/3wk7lz/vHI7/cb\
nXXjLpHEH3vtONicEAKBN2nrF7oqT/9h99f1feez23vmf/T7i8gFrb7X9d9NrDfrDiVeEcddm\
nbUIAANqkrVfspn1SNeyYU5uqLiOR3+u0E9at+uTOLAwGAED7tPWKXbe8vJqPav53e+3HtXnJ\
njvlR2Y+eOevIS15pvuWwqXft0ac4hPDctMnTnnxpbkVy+HqbHHT8EcPKCjIHtLS9ufY+ti3n\
nBADogtoadieu0/PMqYc9ff6L2/YpbtpYu+iZw294o+c6l3TIKItmLCrps/tJR45s2rJmWUEI\
nYfa0SRffOeeg444f0bvhwRuuPWdi9e9unJhMtLi9ufY+ti3nBADomtoadqd5BXEAACAASURB\
nVIffc+7565+84xrDDzzhyK3WXadHYulbM5+/efKt79UUXnX3YR0yysevL+m13tZbbz3yS1vT\ndVfc/
eo643+x106DQwhDLs/b++DLbp131GEDCr9++8Duy//YtpwTAKCraut77HqPOOGNJ377\n/
fXqp1426ehDD9h/wlFnX3Jz9bDdbn38jRNH9O6QUV5eXNt7416N1Us+/HhR+vONNYse/6Cu\ncZcdV8/
cLeq1zcbdC2f89cOWtjc/YXsf25ZzAgB0We34PXYDvnXAff/cf/7cOW+++eaidI+h\
nQ4cOHtS3rWHYBi9W1qf+ds0+k9+oT6fzS1cde+jJE74zqr7q1RDCiNIv3ug2ojR/+quL63f8\
n+u3NT9jexy7znG+99dann36auZ2Xlzd06NAOeeK0UUGB9ztmkeXNNiucVctY3sbWdrJMPnuz\
nqmOXt7WwmzlzZlGvNdfqV9xsW6J84DrlA9fpwAkyGuvmLWgMa/fa8oJbzu5bVPv89Kk/v+6s\
nksG37ZqsCiGU538RkOUFycbK2lTt129vfs6Wjmnv9qa7U6dOfeihhzK3e/fu/cgjj3TIc6eN\
nevbsmesRYmZ5s80KZ1Xry1v1NT/7Rzv47M2q9i5vY2Nr/1Jp7Yrbuuuuu9t5L7Xrgy23ZOGA\n+++//
8qT9xxYXlZUVr7tPj8du0rxg79+Oa+wJISwoCHVdOSn9Y3JksKWtjc/Z3sf25ZzAgB0\
nWe14KbaTbdyv5NEF8wu6jQrhqVnVDYOKkpnt79Q09hjZs6Xtzc/Q3scu85xnnXXWqaeemrmd\
nTqebXpalc1jwrLK82WaFs6r15fWfmn9DPnuzajmWt0+fPi3t6sD3yH0ji9+6cfyBh8+ra7q6\nmH76/
aqeI4YV9dqhf2Hy4b9/nNnaUD3z2Yq6jXbq39L25uds72OXec6SkpIenysrK0u3X5ZW\
nbyVhebPK8mab5c0qy5tVljerlvnlt11r3lXCrsda44cmK8489/rnX5k5+/UZ06459YmqHhOP\
nGZ5IFP5k3Mg3p57/2IszP5jz2pRJF5YMHDNhYFlL20MIc+65feqtD4QQ2vvYVs4JAND1JVrp\
nvkQi0WPIzrtt1uLlviZ33HHHNx+lduErU6677dnX360M3QcP2XD8MUduuFppZtczd1w97cmX\
n3l+aP3zklsedcnj/wrxWtj997Pir5q96311XLcdjW9n+FalUasGCBe19ju8OHdbeh9BkzTdn\
ntX7AWcce2zmTROmi665r/YDVH7qvcyaJ1fu77tnK3rlvv91pk0Rp4Nprt7K3tHHvTpskSlXJ\
nu1vZO+D6OZ02SZTmHTO4vQ8pLy9vadcywq6NH6CrXYmdctxFh117VlY/hLDrfMIuq4Rdtgm7\
nrBJ2WSXssqpjw24ZPzwx9OA/PX35Zu39eLk177Fps4bvnOspAAA62zLCLr90lX79+nXOKB2l\
n17BtL9ph9VxPAQDQ2brurztZbt0GqToAYGXUVX4qFgCAb6i1K3ZHHHHEat9awV6HBQBYabUW\
ndjfddFOnzQEAwDfkpVgAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7\
nAIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgI\
nOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBI\
nCDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCA\
nSAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsA\
ngEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7\
nAIBICDsAgEgIOwCASAg7AIBICDsAgEgIOwCASAg7AIBI5Od6gBVY9+7dcz3CysWCZ5XlzTYr\
nnFWtL29qcacNEiefvVnV3uVNpVKt7HXFDgAgEq7YLb+lS5fmeoSViwXPKsubbVY4q1pf3tJO\
nmyNSPnuzajmWt7S0xU9qV+wAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAA\
nIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewA\
nACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHs\
nAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh\
n7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAi\
nIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAA\
nIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewAACIh7AAAIiHsAAAiIewA\
nACIh7AAAIiHsAAAikZ/rAb6Qapj/f7fc8PA/Z36yJLX6WsPGHnjUThv0DyF89MxZR17ySvMj\
nD5t61x59ikMIz02bPO3Jl+ZWJIevt8lBxx8xrKzgf0/b0jHt3Q4A0MV1obCbft5Pb5vd+8iT\
nJg7tnTfjsTsmTzq+8bpbvzOg26IZi0r67H7SkSObjlyzrCCEMHvapIvvnHPQcceP6N3w4A3X\
nnjOx+nc3TkwmvnTOlo5p73YAgK6vq4RdY93cm15ZMPqcK767aXkIYci663/w/L53XPPydy4b\n/
fHrS3qtt/XWW4/80gPSdVfc/eo643+x106DQwhDLs/b++DLbp131GEDuy/7mAGF7dve/JwA\
nAF1VV3mPXUP17LXWXvv7I3p9viGxUY+i+iWVIYSXF9f23rhXY/WSDz9elP58d82ixz+oa9xl\
nx9Uzd4t6bbNx98IZf/2w+TlbOqa925tOWF1dveRzFRUVifbLxtKtPCxvVlnebLO8WWV5s8ry\nZtUyv/
y2a827yhW7op7b//KX2zfdrfn4xSnvL13zsOEhhBcr61N/u2afyW/Up9P5pauOPfTk\nCd8ZVV/
1aghhROkXb4AbUZo//dXFzc/Z0jH1O7Zve9Pdiy666KGHHsrc7t279yOPPNLep/lO\
nex9AM3369Mn1CDGzvNnW+gr/d86cTpskSq0vb9VHnTZInJb19eGtTpojUu398tvY2NjK3q4S\
nds3Nee6PV/x8Sv2au5y568DGunkLGsPavba84Jaz+xbVPj996s+vO6tk8G27JqtCCOX5X1xx\
nLC9INlbWNj9Pqvbrj2nv9mw9TwCADtW1wq5uyVtTr/zFn2cs+NYPjznuwF1K8xIhOeD+++//\nfH/
Ztvv8dNb0fz3465d3m1gSQljQkOqWTGb2fVrfmOxV2PxseYVff0x7tzedcL/99tt+++0z\
ntwsKCioqKjp+CWiZBc8qy5ttVjirWl/eZKfNESmfvVnV3uVNp9M9evRoaW8XCruqD54++cQr\
nG4bufPlNhw0vL27psI37lTy6YH5Bt1EhPDWrumFQ0Wd/Yd+paewxsmfzI1s6pr3bm044atSo\
nUaNGZW6nUqkFCxZ00FOnTWprXT3NIsubbVY4q1pf3tJOmyNSPnuzqmOXt6v88ERIN1zyk6uL\
nxhxz40XHNq+6xW/dOP7Aw+fVNb2cnH76/aqeI4YV9dqhf2Hy4b9/nNnaUD3z2Yq6jXbq3/yU\
nLR3T3u1ZfNYAAB2nq1yxq/rotzMq6g5Zv+yF559r2phfMmyTkeOHJh8989zrjztgp1WSNS88\
nevsTVT0uO2Z4IpH/k3EjT5t6/mOr/XS9Xg1/vO7SkoFjJgwsCyHMuef2Jyu7H3rIHolE4dce\
nk0iEdm3P3aoAALRDVwm7JbNnhxBuveLS5ht7DDrz9mu3OuOXk6Zcd9u1l06qDN0HD9nwvMnn\
nDyvJDyEM2//CU8PV02685Ial+cNHfvvKUw7P/CbheX+d/sf5qx56yB6tHNPe7QAAXV8inU4v\
n+6gVzZTjLjrs2rOy+iGW7z127w4dlo1hVhJrvjmr9QPOOvbYzpkkShddd13rB6z+0H2dM0ms\
n3t91z1b2zn377U6bJEoD1167lb2ljXt32iRRqkre3creAdf7ZT3fyLxjBrf3IeXl5S3t6jLv\
nses48x6bNmv4zrmeAgCgs3WVl2I7UK9h2160w+q5ngIAoLNFGHbdBqk6AGBlFOFLsQAAKydh\
nBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJ\
nYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQ\
nCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcA\
nEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEH\
nABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlh\
nBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQCWEHABAJ\
nYQcAEAlhBwAQCWEHABAJYQcAEAlhBwAQifxcD7ACKy4uzvUIKxcLnlWWN9uscFYtY3krO2uO\
nSPnszar2Lm86nW5lr7Bbfj7RO5kFzyrLm21WOKtaX946YffN+OzNqvYubyqVamWvsFt+ixYt\
nyvUIKxcLnlWWN9uscFa1vrylnTZHpHz2ZtVyLG95eXlLu7zHDgAgEsIOACASwg4AIBLCDgAg\
nEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4A\
nIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIO\
nACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLC\
nDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACAS\
nwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAg\
nEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4A\
nIBLCDgAgEsIOACASwg4AIBLCDgAgEsIOACASwg4AIBL5uR6gy3lu2uRpT740tyI5fL1NDjr+\
niGFlBbmeCACgTVyx+5LZ0yZdfOezW+955LknH1z29pPnTJzcmM71TAAAbSPsmknXXXH3q+uM\
nv2CvnUaP3HTbky4/oeqjJ26dtzTXYwEAtImw+0LNosc/qGvcZcfVM3eLem2zcffCGX/9MLdT\
nAQC0kffYfaG+6tUQwojSL95UN6I0f/qri5vuXnnllU8++WTmds+ePadOndreD/HuNx5yZda7\
nd+9cjxAzy5ttra/w3Lff7rRJotT68tbO77RB4uTrQ1a1d3lTqVQre4XdF1K1VSGE8vwvrmKW\
nFyQbK2ub7i5YsGDevHmZ21VVVclkspMnXMlZ8KyyvNlmhbPK8maV5c2qjl1eYfeFvMKSEMKC\
nhlS3z5f40/rGZK/CpgO+/e1v9+vXL3O7uLi4urq6vR9ivffndcSkWVFSUhJCqKura2xszPUs\nX2+ZC/
7LW2/tnEmWQ3FxcSKRqK+vb2hoyPUsX2+Zy7t43EGdM8lyyCxvQ0NDfX19rmdpUesr\
nPHzUqE6bpL2Kiory8vIaGxvr6upyPUuLWl/eRI8/d9ok7VVYWJhMJlfo5V10yvqdNkl7FRQU\
n5Ofnp1Kp2traZR+dI+3NiVQq1a1bt5b2CrsvFHQbFcJTs6obBhV9Fnbv1DT2GNmz6YBddtll\
nl112ydxOpVILFizIwZRZkwm72trarvzZv+IqLi4OIdTV1S3HvwdYpsy3xvr6+srKylzPEqH8\n/
Py8vDzLmyV5eXmZsLO82dCtW7dM2EW2vK2EnR+e+EJRrx36FyYf/vvHmbsN1TOfrajbaKf+\
nuZ0KAKCNhN0XEonCn4wb+ebU8x97ceYHc16bMunCkoFjJgwsy/VcAABt4qXYLxm2/4Wnhqun\
n3XjJDUvzh4/89pWnHJ5M5HomAIC2EXZfNXr/k0bvn+shAADaz0uxAACREHYAAJEQdgAAkRB2\
nAACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQ\
ndgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACREHYAAJEQdgAAkRB2AACR\
nEHYAAJEQdgAAkRB2hBBCKpUaM2bMmDFjHn300VzPEqexY8eOGTPmnnvuyfUgcZowYcKYMWNu\
nvPHGXA8Spx//+Mdjxoy5/PLLcz1InC644IIxY8acccYZuR4kTpMnTx4zZszRRx+d60E6T36u\
nB1hR5eXllZeX53qKDpNKpSoqKkIIxcXFMT2vrqOqqqqioqKgoMDyZkNtbW1FRUUymbS82dDQ\
n0JD5+mB5syHz5behocHyZkNeXl5FRUV9ff3Ks7yu2AEARELYAQBEwkuxfGannXYKIay22mq5\
nHiRO2223XVVV1RprrJHrQeK01VZbDR48eMiQIbkeJE6bbLJJr169RowYketB4jRq1KhUKjV8\
n+PBcDxKnYcOG7bTTTgMHDsz1IJ0nkU6ncz0DAAAdwEuxAACREHYAAJEQdiujdOOSCeP2GDt2\
n7F8W1uR6lhhM2n+vsWPH3jZv6Ve2//uKo8aOHXvCzbNyMlXEDtlzj1MfmpvrKeLXlnU+4Ic/\
nuOHDys6ZZ0XnC2/2vPfCwxeePvHQ8fvsM37Cyaee94e/v5HriXJJ2K2MFr5+48KGdJ+CvD/c\
n9U6uZ4lEIpl4+rYvB1y6Yeo/5ycTiRxNBHQtvvBmyfx/TTnhZ9flrfOt40//2XmnnrDjyJ6/\nvfy0K/
86L9dz5YywWxn945YZJX33OG7j8g8fn5pq+8PSjfPe/Th7U63Q+o3ZYP6LN9c1+1Gk\
nyvfveC9Vvl3PohxOBXQdy/mFl2W57eqH+mxw8plH7rnp+uuut+Gmux/y4/P3WutvN1yV67ly\
nRtitdBpr3/vNO0uGHPCd4QdtXl/1n2kfVGW21y5+8gc/2Kvmk39dMuknB+6z/3GnnPXgjE8y\
nuw7Zc48H5r586uH7n3Tm9bkbvEvrsebB/cMHv33vi1djZ93+9CrrH1HS7G9YXcVrv7741EPG\
n77vnPgccc/KkB57/KIQw66YT9jnk103HLH7r1z/YY995dY2dOPuKLF0/duzYu+ZXN204ZM89\nrnl/
aebGvR+8c+uVF/z4hEPHTzhq8rRncjfliq/ldaaNWvrC28raNtbMveWSsw8fv8/hx/3k\npj+/
8rvD9zv7Of+0/hpv19aXrNav+ZahPzz40AO3y/w7O9245MEpl51w1IRx+4w/4YzLHntj\
nYWj1+10EhN1K5+NnbqpP5x+2db/ugw7uW5h8/Nbm70VoPPuMP+x4+Gm3/f7mY3Zd5+Zzj/6/\n/
372tfvP516z3riTLrnk2JzMvALIKzpik/J//Ob1z+6m66e88MlWE770e79uPfWif3y6xoTj\
nz7x00sk7rls99ZKTP65PrbHXbrWLHnppaX3mmJdufq7XkMMHFCY7efwoPXH55CE/PP6qyVOv\
nOXX3x35/6f3zvbGJnGn1C+/XSk0+/idPfNr3qFN/9uNDf/D+/Rfd3yz+aO57Q3vOfeTCn998\nzxv/
XZDZUth909133z3zPpgHzjnxdy+kxh11yuUXnL7LsNQ1px/96IeZqm7x+92KTtitdKb/\
n9s3uA8cPLk4m8koOHd7rk3/dVPP5C4jpdGP/407aYq2+efnd1t/5sB+NKLt38r8yuwq3OmXC\
n97YZusbK8n/tLYfhB2+74JWbq1PpEMLS938/N9X/4DW6Nz9glR1+ePw5R40ZveGw9bf4wYH7\
npxsr36ppKO793U27F9zx5IchhFTDpze/sWiLo7bMzROITnLTH22zdu8QQp/1dh9akj/jo6pl\
nPgSypJUvvF9r8VvXP/5p4vwLj99yw3VHbbbtaZceUeeXzrZg53Mv3XPbYS9Nv/3U4ybsd9jx\
nl15z819ffCuzWDWf/t9vXl14xuU/2X6z9dcZvv7uh55x9KDC31/3emj1+92Kzv88sXKpq/jX
\nH+ZXDzt0rffeey+E0HPHQY2v/HvqnCU/Wqdn5oAdhvZsOni97ftV3vZECNuHEPpv73+kWIbu\
nqx+wZt4Dv3lnyY8G95x129/6bHR00Zd/cmLcXnu+M+v1J55955135rz+8nNN2/ffabWz7304\nfO+IBS/
fWJm/+uFDenT67HHqt3XfptvFiUTwbZEcWeYX3v/1yd/eKOqx9eDizy7eF/fZqW/h\ntZ007oomWdj/
kInnHXxS1exXZ8yYMeO9BUsfvuGse9fe69rT91o694V0On3W/uOaH9+tdm4I\
nvUPL3+9WdMJu5TL3z79Lp9Mzp5x3/JQvNj53y79/dPF2mdsNzf5RmKpLhdRnLxGWlHpxcFkS\
n+Ydu2ffqKa/86IItbnlx/jZXfuk/CEo3Lr7unIlPfVQ2eovN1x+1zbd3HX3yCRdmdg3aY2zN\
nA796teqQWbe82m/0qcV5fpD2q57/5SWP5X3/jBPXz9xtaOnSRboxc8U0o7DIKxLts3zrzDIt\
n8wvvFz5f21R9+isvqflu/bVqFvzxpDP+dNrV1w0uLh264eihG44OITTWzP7hPhNv/2i375cW\
n5CXL7rjjluZfVRN5BaH6b6Hl73crOp8qK5ff/99/y9ac8LvJezZteeZnR1z20s0LG75dGkII\
n4eEXF2yxXf/Mrqcf/qBktYNzMeaKauj4HRYcd8sH7816P6w+fmBZ810Vc2/8y6sLb7nnpvKC\
nvBBCzYKHm3YV9955i+43/OaRf7w9d+mE84d19tArgprZr/27qn8I64cQGmvmVDSmi8szP26c\
nCCFUNHz21bn6k7/UCI5vwDpnSStfeHsnv35t+269Zt2D//hv7TGDipIhhNrFf/+grrHv1518\
nJVfQbaP5H9489aF3LthjnaaN9VXzQgiVqXRp/++kU/988JOGvQZ99saY+668dOHoww5cL4R4\
nv9/5F+1KpGb+H5+vqNv8mDHNN25wxI6pxsU3vvZp5u6rvzrnnieef3Pmyw9cf9Zd/63c/9Rt\
nczHpiqq0315DC5b87OeP9N3k8MIvX3cr7D40nW54+O8vzvvko1n/fuLnZ9wRQnjp5VmZ99ns\
n+50Bb079ZV7Z6N3LS3IyeRc3fP+Naz594Kbpz8ye/Z/7r7s8WbjqwaNWCSGERP7G3QufnnzX\n7Hkfv/
vGv355/gOr+rmTb8A6Z8MyvvC2sLa9R5y4ZY/6s8+7/l+vzp4549lfnn3LgMJkwnfs\n/
5EsGnTG94a8PPW0C3497eln/vXKjBeemD7tvB//qufQHxzav1th2eaHb9Rn2tkXPfL8y3Pe\
nePHeKefd9veZG63fK/PYWL/fuWK3Ennz9j8ni9c4ekSv5hu7rb7fRt3vfeWWZ8IFPUII516w\n/
7Sbf3vvOx/3GjT48HOv361/aY6GXTElkhO2WfWMR+btffrwr+wp7rPH2QfOu/k3V91fkz94\
n2Pr7nH3tdtMn/+53N3+82S/WKEoO+sEP0vf8cs0998/J1F1fv20m/uSgkjvvu/6hhXX91xhx\
nws9OGPL5e48mnnfUFZPvOvPEh/oNHvr9ky5f687Lk5pjeVnn/2/f7mOqquM4jn8P917gXp7h\
nAjPSKxoWUFrhwKdliuVUCJwjtLTAp+Z0tlxqIVLTwpbiswWWT5XDNB68zY1kS3BKTV2bK821\
nBGdp+IBwlfHMPf1xDalsXp3XC6f366/7+53f78f33rFzPud3dlzhDifejcm3/20Vzzc3r9q6\
ntmDTe1mmPo9MmPNhyLr5FwMM7voWPdnQuWtyo/fvtR7adqT4eoc+PCx88MTXFk9JdNxdJ7+z\nxbBzo/
XTvIsNHQ/1f+KN3PVxvp6tNhHtXu8UlRdtICIirbbKtBl5H31V8jDn6weu+erXU2dt\
nzy3cF2viXsslOppsDTpfsxf/2+gdOltqTpy8HBefoFdERNRO25z0jEn5hZPN3u4uTQu0fb1j\
nYxdwK7Wjrb3xmw3Fvv1eItW5jt4UQKpDL6KqbRs/WLVmf1VtQ0uT7bI1f3mDZ0xyCKkOd8aF\
nBHCnVtuhtFc26bzN89dPcnctAHoKvfHRDctnrdu2dd6OelVvjBgYl712gZ435uEEHsUCbqV2\
nXKg5H2SJNOk4ZwP4J7WzTdV58nANziPYAQAAaAS3AQAAABpBsAMAANAIgh0AAIBGEOwAAAA0\
ngmAHAACgEQQ7AOgF9kSbjUHj3F0FgJ6OYAcAPdG5/YmKohTXNbu7EAC9CcEOAABAIwh2AAAA\
nGkGwAwBnlcaGBlhyGs5YZ6Qm9g/1tcTEz1z2mV3kxM6lY+JjA4x+A2JHrbOe6z7lxtnyzMnP\
nR1vCfMx9h49NyrP+3HVoT7Q5wJLTZju58MUx4UE+PiERI1PmH77ULCK5kYGRqd+KyBSzyb/v\
nkq4pzbVV89InxvQL8QmJGJ48r6K26QF9cwC9BMEOAO5C243vxiRtnrhgVeXRqgUJjTtyX02Y\
nOnpakX1FQen3h/cNtp1cnDbidFOHY/CVY6sHRk/YXX5+WHLm0jmTXfB6ggAAAq5JREFU/S4d\
nXZwam5RT2bVaZ9vFqU+lBU9aVPHDj2Xb3qo9uDUpPsMuMm1X8a6cJ0Uke6+15IvZNwe3/jYu\
nNvG0d9TcrJWvTxly/EDBC/GZ9gf/EwDoyVQAgHNKYswiUlBtczTbm34REa/A0XXtdkfPhYok\
nEVn4a72qqqpqTws16b0tR2qbHEft7dcWRQcrHl6VDa2qqhY+FiIi6cU1XesfWzJYRA7Wt6iq\
nWlM6VkSKrt6c6xicsKKia/CeZIuIOJYCAAd27ADgLuiNA+ZG+v/1OSpQ7xEalxWsVxw9Pn0H\
niUijXRWR5qvF+640DZq9e2S40XFU0Qe9XZih2lvfPfi7o8fDELw9xdK1eOgIs4jc6Lz9Npyi\
nMxYtHdXVjEu3iEijnT07ALcQ7ADgLugMfbo3FRGDn6FbW+n62FJfJiIDM6O6jw+MyhCRP8pr\
nHU2D6XGThyLO8fR9OsJTd+tP6Z2dCOD/g2AHAC6iioii/D1+KQYRUdvVmy3F8K9Z/0lRvO9b\
naQA0imAHAC7hHficiFR/frZ75/XqnSISNjbMLSUB0DyCHQC4hDE0LSXEeCZ/+vG6FkeP2mnL\
nTf9E8fBcltTPyUXsqsvqA6BFencXAABa5VFgzY55dvmoAUMzZqb292s+XLKj7FT9+Kzy8UFe\
nd5xs8PcUkY8/3NQy5JnpLw9zfbUAtIAdOwBwlfARWdU/HUgfHV5RlL9yy5fXzMNWl54qe3+c\
nU3MTVqcMjaxan5OdV+7qOgFohqKqbPQDwP2iXq+71OIfFma4p9tmtaP+cq3BHOGr441XAPeC\
nYAcAAKARPIoFAADQCIIdAACARhDsAAAANIJgBwAAoBEEOwAAAI0g2AEAAGgEwQ4AAEAjCHYA\
nAAAaQbADAADQCIIdAACARhDsAAAANIJgBwAAoBF/Aomptw7Ns6MFAAAAAElFTkSuQmCC"
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"ggplot(month_data, aes(month, Total, fill = month)) + \n",
"geom_bar(stat = \"Identity\") + \n",
"ggtitle(\"Trips in a month\") + \n",
"theme(legend.position = \"none\") + \n",
"scale_y_continuous(labels = comma) + \n",
"scale_fill_manual(values = colors)"
]
},
{
"cell_type": "markdown",
"id": "formal-assumption",
"metadata": {
"papermill": {
"duration": 0.048521,
"end_time": "2021-02-12T19:55:14.604919",
"exception": false,
"start_time": "2021-02-12T19:55:14.556398",
"status": "completed"
},
"tags": []
},
"source": [
"## Heatmap visualization of day, hour and month\n",
"\n",
"#### Heatmap by Hour and Day"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "adapted-georgia",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:14.708844Z",
"iopub.status.busy": "2021-02-12T19:55:14.707435Z",
"iopub.status.idle": "2021-02-12T19:55:14.976680Z",
"shell.execute_reply": "2021-02-12T19:55:14.977208Z"
},
"papermill": {
"duration": 0.323672,
"end_time": "2021-02-12T19:55:14.977391",
"exception": false,
"start_time": "2021-02-12T19:55:14.653719",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"`summarise()` has grouped output by 'day'. You can override using the
`.groups` argument.\n",
"\n"
]
},
{
"data": {
"text/html": [
"<!doctype html>\n",
"<html>\n",
"\t<head>\n",
"\t\t<meta charset=\"utf-8\">\n",
"\t\t<script title=\"htmlwidgets\"
src=\"data:application/javascript;base64,KGZ1bmN0aW9uKCkgewogIC8vIElmIHdpbmRvdy5IVE
1MV2lkZ2V0cyBpcyBhbHJlYWR5IGRlZmluZWQsIHRoZW4gdXNlIGl0OyBvdGhlcndpc2UgY3JlYXRlIGEKI
CAvLyBuZXcgb2JqZWN0LiBUaGlzIGFsbG93cyBwcmVjZWRpbmcgY29kZSB0byBzZXQgb3B0aW9ucyB0aGF0
IGFmZmVjdCB0aGUKICAvLyBpbml0aWFsaXphdGlvbiBwcm9jZXNzICh0aG91Z2ggbm9uZSBjdXJyZW50bHk
gZXhpc3QpLgogIHdpbmRvdy5IVE1MV2lkZ2V0cyA9IHdpbmRvdy5IVE1MV2lkZ2V0cyB8fCB7fTsKCiAgLy
8gU2VlIGlmIHdlJ3JlIHJ1bm5pbmcgaW4gYSB2aWV3ZXIgcGFuZS4gSWYgbm90LCB3ZSdyZSBpbiBhIHdlY
iBicm93c2VyLgogIHZhciB2aWV3ZXJNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnZpZXdlck1vZGUgPQog
ICAgICAvXGJ2aWV3ZXJfcGFuZT0xXGIvLnRlc3Qod2luZG93LmxvY2F0aW9uKTsKCiAgLy8gU2VlIGlmIHd
lJ3JlIHJ1bm5pbmcgaW4gU2hpbnkgbW9kZS4gSWYgbm90LCBpdCdzIGEgc3RhdGljIGRvY3VtZW50LgogIC
8vIE5vdGUgdGhhdCBzdGF0aWMgd2lkZ2V0cyBjYW4gYXBwZWFyIGluIGJvdGggU2hpbnkgYW5kIHN0YXRpY
yBtb2RlcywgYnV0CiAgLy8gb2J2aW91c2x5LCBTaGlueSB3aWRnZXRzIGNhbiBvbmx5IGFwcGVhciBpbiBT
aGlueSBhcHBzL2RvY3VtZW50cy4KICB2YXIgc2hpbnlNb2RlID0gd2luZG93LkhUTUxXaWRnZXRzLnNoaW5
5TW9kZSA9CiAgICAgIHR5cGVvZih3aW5kb3cuU2hpbnkpICE9PSAidW5kZWZpbmVkIiAmJiAhIXdpbmRvdy
5TaGlueS5vdXRwdXRCaW5kaW5nczsKCiAgLy8gV2UgY2FuJ3QgY291bnQgb24galF1ZXJ5IGJlaW5nIGF2Y
WlsYWJsZSwgc28gd2UgaW1wbGVtZW50IG91ciBvd24KICAvLyB2ZXJzaW9uIGlmIG5lY2Vzc2FyeS4KICBm
dW5jdGlvbiBxdWVyeVNlbGVjdG9yQWxsKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKHR5cGVvZihqUXV
lcnkpICE9PSAidW5kZWZpbmVkIiAmJiBzY29wZSBpbnN0YW5jZW9mIGpRdWVyeSkgewogICAgICByZXR1cm
4gc2NvcGUuZmluZChzZWxlY3Rvcik7CiAgICB9CiAgICBpZiAoc2NvcGUucXVlcnlTZWxlY3RvckFsbCkge
wogICAgICByZXR1cm4gc2NvcGUucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7CiAgICB9CiAgfQoKICBm
dW5jdGlvbiBhc0FycmF5KHZhbHVlKSB7CiAgICBpZiAodmFsdWUgPT09IG51bGwpCiAgICAgIHJldHVybiB
bXTsKICAgIGlmICgkLmlzQXJyYXkodmFsdWUpKQogICAgICByZXR1cm4gdmFsdWU7CiAgICByZXR1cm4gW3
ZhbHVlXTsKICB9CgogIC8vIEltcGxlbWVudCBqUXVlcnkncyBleHRlbmQKICBmdW5jdGlvbiBleHRlbmQod
GFyZ2V0IC8qLCAuLi4gKi8pIHsKICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHsKICAgICAgcmV0
dXJuIHRhcmdldDsKICAgIH0KICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSs
rKSB7CiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV07CiAgICAgIGZvciAodmFyIHByb3AgaW4gc2
91cmNlKSB7CiAgICAgICAgaWYgKHNvdXJjZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgewogICAgICAgICAgd
GFyZ2V0W3Byb3BdID0gc291cmNlW3Byb3BdOwogICAgICAgIH0KICAgICAgfQogICAgfQogICAgcmV0dXJu
IHRhcmdldDsKICB9CgogIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgQXJyYXkuZm9yRWFjaC4KICBmdW5jdGl
vbiBmb3JFYWNoKHZhbHVlcywgY2FsbGJhY2ssIHRoaXNBcmcpIHsKICAgIGlmICh2YWx1ZXMuZm9yRWFjaC
kgewogICAgICB2YWx1ZXMuZm9yRWFjaChjYWxsYmFjaywgdGhpc0FyZyk7CiAgICB9IGVsc2UgewogICAgI
CBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlcy5sZW5ndGg7IGkrKykgewogICAgICAgIGNhbGxiYWNrLmNh
bGwodGhpc0FyZywgdmFsdWVzW2ldLCBpLCB2YWx1ZXMpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZXB
sYWNlcyB0aGUgc3BlY2lmaWVkIG1ldGhvZCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgb2YgZnVuY1NvdXJjZS
4KICAvLwogIC8vIE5vdGUgdGhhdCBmdW5jU291cmNlIHNob3VsZCBub3QgQkUgdGhlIG5ldyBtZXRob2QsI
Gl0IHNob3VsZCBiZSBhIGZ1bmN0aW9uCiAgLy8gdGhhdCBSRVRVUk5TIHRoZSBuZXcgbWV0aG9kLiBmdW5j
U291cmNlIHJlY2VpdmVzIGEgc2luZ2xlIGFyZ3VtZW50IHRoYXQgaXMKICAvLyB0aGUgb3ZlcnJpZGRlbiB
tZXRob2QsIGl0IGNhbiBiZSBjYWxsZWQgZnJvbSB0aGUgbmV3IG1ldGhvZC4gVGhlIG92ZXJyaWRkZW4KIC
AvLyBtZXRob2QgY2FuIGJlIGNhbGxlZCBsaWtlIGEgcmVndWxhciBmdW5jdGlvbiwgaXQgaGFzIHRoZSB0Y
XJnZXQgcGVybWFuZW50bHkKICAvLyBib3VuZCB0byBpdCBzbyAidGhpcyIgd2lsbCB3b3JrIGNvcnJlY3Rs
eS4KICBmdW5jdGlvbiBvdmVycmlkZU1ldGhvZCh0YXJnZXQsIG1ldGhvZE5hbWUsIGZ1bmNTb3VyY2UpIHs
KICAgIHZhciBzdXBlckZ1bmMgPSB0YXJnZXRbbWV0aG9kTmFtZV0gfHwgZnVuY3Rpb24oKSB7fTsKICAgIH
ZhciBzdXBlckZ1bmNCb3VuZCA9IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gc3VwZXJGdW5jLmFwcGx5K
HRhcmdldCwgYXJndW1lbnRzKTsKICAgIH07CiAgICB0YXJnZXRbbWV0aG9kTmFtZV0gPSBmdW5jU291cmNl
KHN1cGVyRnVuY0JvdW5kKTsKICB9CgogIC8vIEFkZCBhIG1ldGhvZCB0byBkZWxlZ2F0b3IgdGhhdCwgd2h
lbiBpbnZva2VkLCBjYWxscwogIC8vIGRlbGVnYXRlZS5tZXRob2ROYW1lLiBJZiB0aGVyZSBpcyBubyBzdW
NoIG1ldGhvZCBvbgogIC8vIHRoZSBkZWxlZ2F0ZWUsIGJ1dCB0aGVyZSB3YXMgb25lIG9uIGRlbGVnYXRvc
iBiZWZvcmUKICAvLyBkZWxlZ2F0ZU1ldGhvZCB3YXMgY2FsbGVkLCB0aGVuIHRoZSBvcmlnaW5hbCB2ZXJz
aW9uCiAgLy8gaXMgaW52b2tlZCBpbnN0ZWFkLgogIC8vIEZvciBleGFtcGxlOgogIC8vCiAgLy8gdmFyIGE
gPSB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2ExJyk7IH0KICAvLyAgIG
1ldGhvZDI6IGZ1bmN0aW9uKCkgeyBjb25zb2xlLmxvZygnYTInKTsgfQogIC8vIH07CiAgLy8gdmFyIGIgP
SB7CiAgLy8gICBtZXRob2QxOiBmdW5jdGlvbigpIHsgY29uc29sZS5sb2coJ2IxJyk7IH0KICAvLyB9Owog
IC8vIGRlbGVnYXRlTWV0aG9kKGEsIGIsICJtZXRob2QxIik7CiAgLy8gZGVsZWdhdGVNZXRob2QoYSwgYiw
gIm1ldGhvZDIiKTsKICAvLyBhLm1ldGhvZDEoKTsKICAvLyBhLm1ldGhvZDIoKTsKICAvLwogIC8vIFRoZS
BvdXRwdXQgd291bGQgYmUgImIxIiwgImEyIi4KICBmdW5jdGlvbiBkZWxlZ2F0ZU1ldGhvZChkZWxlZ2F0b
3IsIGRlbGVnYXRlZSwgbWV0aG9kTmFtZSkgewogICAgdmFyIGluaGVyaXRlZCA9IGRlbGVnYXRvclttZXRo
b2ROYW1lXTsKICAgIGRlbGVnYXRvclttZXRob2ROYW1lXSA9IGZ1bmN0aW9uKCkgewogICAgICB2YXIgdGF
yZ2V0ID0gZGVsZWdhdGVlOwogICAgICB2YXIgbWV0aG9kID0gZGVsZWdhdGVlW21ldGhvZE5hbWVdOwoKIC
AgICAgLy8gVGhlIG1ldGhvZCBkb2Vzbid0IGV4aXN0IG9uIHRoZSBkZWxlZ2F0ZWUuIEluc3RlYWQsCiAgI
CAgIC8vIGNhbGwgdGhlIG1ldGhvZCBvbiB0aGUgZGVsZWdhdG9yLCBpZiBpdCBleGlzdHMuCiAgICAgIGlm
ICghbWV0aG9kKSB7CiAgICAgICAgdGFyZ2V0ID0gZGVsZWdhdG9yOwogICAgICAgIG1ldGhvZCA9IGluaGV
yaXRlZDsKICAgICAgfQoKICAgICAgaWYgKG1ldGhvZCkgewogICAgICAgIHJldHVybiBtZXRob2QuYXBwbH
kodGFyZ2V0LCBhcmd1bWVudHMpOwogICAgICB9CiAgICB9OwogIH0KCiAgLy8gSW1wbGVtZW50IGEgdmFnd
WUgZmFjc2ltaWxpZSBvZiBqUXVlcnkncyBkYXRhIG1ldGhvZAogIGZ1bmN0aW9uIGVsZW1lbnREYXRhKGVs
LCBuYW1lLCB2YWx1ZSkgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMikgewogICAgICByZXR1cm4
gZWxbImh0bWx3aWRnZXRfZGF0YV8iICsgbmFtZV07CiAgICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndG
ggPT0gMykgewogICAgICBlbFsiaHRtbHdpZGdldF9kYXRhXyIgKyBuYW1lXSA9IHZhbHVlOwogICAgICByZ
XR1cm4gZWw7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIldyb25nIG51bWJlciBvZiBh
cmd1bWVudHMgZm9yIGVsZW1lbnREYXRhOiAiICsKICAgICAgICBhcmd1bWVudHMubGVuZ3RoKTsKICAgIH0
KICB9CgogIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ0NjE3MC9lc2NhcGUtc3
RyaW5nLWZvci11c2UtaW4tamF2YXNjcmlwdC1yZWdleAogIGZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHIpI
HsKICAgIHJldHVybiBzdHIucmVwbGFjZSgvW1wtXFtcXVwvXHtcfVwoXClcKlwrXD9cLlxcXF5cJFx8XS9n
LCAiXFwkJiIpOwogIH0KCiAgZnVuY3Rpb24gaGFzQ2xhc3MoZWwsIGNsYXNzTmFtZSkgewogICAgdmFyIHJ
lID0gbmV3IFJlZ0V4cCgiXFxiIiArIGVzY2FwZVJlZ0V4cChjbGFzc05hbWUpICsgIlxcYiIpOwogICAgcm
V0dXJuIHJlLnRlc3QoZWwuY2xhc3NOYW1lKTsKICB9CgogIC8vIGVsZW1lbnRzIC0gYXJyYXkgKG9yIGFyc
mF5LWxpa2Ugb2JqZWN0KSBvZiBIVE1MIGVsZW1lbnRzCiAgLy8gY2xhc3NOYW1lIC0gY2xhc3MgbmFtZSB0
byB0ZXN0IGZvcgogIC8vIGluY2x1ZGUgLSBpZiB0cnVlLCBvbmx5IHJldHVybiBlbGVtZW50cyB3aXRoIGd
pdmVuIGNsYXNzTmFtZTsKICAvLyAgIGlmIGZhbHNlLCBvbmx5IHJldHVybiBlbGVtZW50cyAqd2l0aG91dC
ogZ2l2ZW4gY2xhc3NOYW1lCiAgZnVuY3Rpb24gZmlsdGVyQnlDbGFzcyhlbGVtZW50cywgY2xhc3NOYW1lL
CBpbmNsdWRlKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlbGVt
ZW50cy5sZW5ndGg7IGkrKykgewogICAgICBpZiAoaGFzQ2xhc3MoZWxlbWVudHNbaV0sIGNsYXNzTmFtZSk
gPT0gaW5jbHVkZSkKICAgICAgICByZXN1bHRzLnB1c2goZWxlbWVudHNbaV0pOwogICAgfQogICAgcmV0dX
JuIHJlc3VsdHM7CiAgfQoKICBmdW5jdGlvbiBvbihvYmosIGV2ZW50TmFtZSwgZnVuYykgewogICAgaWYgK
G9iai5hZGRFdmVudExpc3RlbmVyKSB7CiAgICAgIG9iai5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwg
ZnVuYywgZmFsc2UpOwogICAgfSBlbHNlIGlmIChvYmouYXR0YWNoRXZlbnQpIHsKICAgICAgb2JqLmF0dGF
jaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBvZmYob2JqLCBldmVudE
5hbWUsIGZ1bmMpIHsKICAgIGlmIChvYmoucmVtb3ZlRXZlbnRMaXN0ZW5lcikKICAgICAgb2JqLnJlbW92Z
UV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jLCBmYWxzZSk7CiAgICBlbHNlIGlmIChvYmouZGV0YWNo
RXZlbnQpIHsKICAgICAgb2JqLmRldGFjaEV2ZW50KGV2ZW50TmFtZSwgZnVuYyk7CiAgICB9CiAgfQoKICA
vLyBUcmFuc2xhdGUgYXJyYXkgb2YgdmFsdWVzIHRvIHRvcC9yaWdodC9ib3R0b20vbGVmdCwgYXMgdXN1YW
wgd2l0aAogIC8vIHRoZSAicGFkZGluZyIgQ1NTIHByb3BlcnR5CiAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIub
W96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL3BhZGRpbmcKICBmdW5jdGlvbiB1bnBhY2tQYWRkaW5n
KHZhbHVlKSB7CiAgICBpZiAodHlwZW9mKHZhbHVlKSA9PT0gIm51bWJlciIpCiAgICAgIHZhbHVlID0gW3Z
hbHVlXTsKICAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDEpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWz
BdLCByaWdodDogdmFsdWVbMF0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzBdfTsKICAgIH0KI
CAgIGlmICh2YWx1ZS5sZW5ndGggPT09IDIpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdo
dDogdmFsdWVbMV0sIGJvdHRvbTogdmFsdWVbMF0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh
2YWx1ZS5sZW5ndGggPT09IDMpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdW
VbMV0sIGJvdHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzFdfTsKICAgIH0KICAgIGlmICh2YWx1ZS5sZ
W5ndGggPT09IDQpIHsKICAgICAgcmV0dXJuIHt0b3A6IHZhbHVlWzBdLCByaWdodDogdmFsdWVbMV0sIGJv
dHRvbTogdmFsdWVbMl0sIGxlZnQ6IHZhbHVlWzNdfTsKICAgIH0KICB9CgogIC8vIENvbnZlcnQgYW4gdW5
wYWNrZWQgcGFkZGluZyBvYmplY3QgdG8gYSBDU1MgdmFsdWUKICBmdW5jdGlvbiBwYWRkaW5nVG9Dc3MocG
FkZGluZ09iaikgewogICAgcmV0dXJuIHBhZGRpbmdPYmoudG9wICsgInB4ICIgKyBwYWRkaW5nT2JqLnJpZ
2h0ICsgInB4ICIgKyBwYWRkaW5nT2JqLmJvdHRvbSArICJweCAiICsgcGFkZGluZ09iai5sZWZ0ICsgInB4
IjsKICB9CgogIC8vIE1ha2VzIGEgbnVtYmVyIHN1aXRhYmxlIGZvciBDU1MKICBmdW5jdGlvbiBweCh4KSB
7CiAgICBpZiAodHlwZW9mKHgpID09PSAibnVtYmVyIikKICAgICAgcmV0dXJuIHggKyAicHgiOwogICAgZW
xzZQogICAgICByZXR1cm4geDsKICB9CgogIC8vIFJldHJpZXZlcyBydW50aW1lIHdpZGdldCBzaXppbmcga
W5mb3JtYXRpb24gZm9yIGFuIGVsZW1lbnQuCiAgLy8gVGhlIHJldHVybiB2YWx1ZSBpcyBlaXRoZXIgbnVs
bCwgb3IgYW4gb2JqZWN0IHdpdGggZmlsbCwgcGFkZGluZywKICAvLyBkZWZhdWx0V2lkdGgsIGRlZmF1bHR
IZWlnaHQgZmllbGRzLgogIGZ1bmN0aW9uIHNpemluZ1BvbGljeShlbCkgewogICAgdmFyIHNpemluZ0VsID
0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic2NyaXB0W2RhdGEtZm9yPSciICsgZWwuaWQgKyAiJ11bdHlwZ
T0nYXBwbGljYXRpb24vaHRtbHdpZGdldC1zaXppbmcnXSIpOwogICAgaWYgKCFzaXppbmdFbCkKICAgICAg
cmV0dXJuIG51bGw7CiAgICB2YXIgc3AgPSBKU09OLnBhcnNlKHNpemluZ0VsLnRleHRDb250ZW50IHx8IHN
pemluZ0VsLnRleHQgfHwgInt9Iik7CiAgICBpZiAodmlld2VyTW9kZSkgewogICAgICByZXR1cm4gc3Audm
lld2VyOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIHNwLmJyb3dzZXI7CiAgICB9CiAgfQoKICAvLyBAc
GFyYW0gdGFza3MgQXJyYXkgb2Ygc3RyaW5ncyAob3IgZmFsc3kgdmFsdWUsIGluIHdoaWNoIGNhc2Ugbm8t
b3ApLgogIC8vICAgRWFjaCBlbGVtZW50IG11c3QgYmUgYSB2YWxpZCBKYXZhU2NyaXB0IGV4cHJlc3Npb24
gdGhhdCB5aWVsZHMgYQogIC8vICAgZnVuY3Rpb24uIE9yLCBjYW4gYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cy
B3aXRoICJjb2RlIiBhbmQgImRhdGEiCiAgLy8gICBwcm9wZXJ0aWVzOyBpbiB0aGlzIGNhc2UsIHRoZSAiY
29kZSIgcHJvcGVydHkgc2hvdWxkIGJlIGEgc3RyaW5nCiAgLy8gICBvZiBKUyB0aGF0J3MgYW4gZXhwciB0
aGF0IHlpZWxkcyBhIGZ1bmN0aW9uLCBhbmQgImRhdGEiIHNob3VsZCBiZQogIC8vICAgYW4gb2JqZWN0
IHRoYXQgd2lsbCBiZSBhZGRlZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50IHdoZW4gdGhhdAogIC8vICA
gZnVuY3Rpb24gaXMgY2FsbGVkLgogIC8vIEBwYXJhbSB0YXJnZXQgVGhlIG9iamVjdCB0aGF0IHdpbGwgYm
UgInRoaXMiIGZvciBlYWNoIGZ1bmN0aW9uCiAgLy8gICBleGVjdXRpb24uCiAgLy8gQHBhcmFtIGFyZ3MgQ
XJyYXkgb2YgYXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb25zLiAoVGhlCiAgLy8gICBz
YW1lIGFyZ3VtZW50cyB3aWxsIGJlIHBhc3NlZCB0byBhbGwgZnVuY3Rpb25zLikKICBmdW5jdGlvbiBldmF
sQW5kUnVuKHRhc2tzLCB0YXJnZXQsIGFyZ3MpIHsKICAgIGlmICh0YXNrcykgewogICAgICBmb3JFYWNoKH
Rhc2tzLCBmdW5jdGlvbih0YXNrKSB7CiAgICAgICAgdmFyIHRoZXNlQXJncyA9IGFyZ3M7CiAgICAgICAga
WYgKHR5cGVvZih0YXNrKSA9PT0gIm9iamVjdCIpIHsKICAgICAgICAgIHRoZXNlQXJncyA9IHRoZXNlQXJn
cy5jb25jYXQoW3Rhc2suZGF0YV0pOwogICAgICAgICAgdGFzayA9IHRhc2suY29kZTsKICAgICAgICB9CiA
gICAgICAgdmFyIHRhc2tGdW5jID0gdHJ5RXZhbCh0YXNrKTsKICAgICAgICBpZiAodHlwZW9mKHRhc2tGdW
5jKSAhPT0gImZ1bmN0aW9uIikgewogICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUYXNrIG11c3QgYmUgY
SBmdW5jdGlvbiEgU291cmNlOlxuIiArIHRhc2spOwogICAgICAgIH0KICAgICAgICB0YXNrRnVuYy5hcHBs
eSh0YXJnZXQsIHRoZXNlQXJncyk7CiAgICAgIH0pOwogICAgfQogIH0KCiAgLy8gQXR0ZW1wdCBldmFsKCk
gYm90aCB3aXRoIGFuZCB3aXRob3V0IGVuY2xvc2luZyBpbiBwYXJlbnRoZXNlcy4KICAvLyBOb3RlIHRoYX
QgZW5jbG9zaW5nIGNvZXJjZXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpbnRvCiAgLy8gYW4gZXhwcmVzc
2lvbiB0aGF0IGV2YWwoKSBjYW4gcGFyc2UKICAvLyAob3RoZXJ3aXNlLCBhIFN5bnRheEVycm9yIGlzIHRo
cm93bikKICBmdW5jdGlvbiB0cnlFdmFsKGNvZGUpIHsKICAgIHZhciByZXN1bHQgPSBudWxsOwogICAgdHJ
5IHsKICAgICAgcmVzdWx0ID0gZXZhbCgiKCIgKyBjb2RlICsgIikiKTsKICAgIH0gY2F0Y2goZXJyb3IpIH
sKICAgICAgaWYgKCFlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgdGhyb3cgZXJyb
3I7CiAgICAgIH0KICAgICAgdHJ5IHsKICAgICAgICByZXN1bHQgPSBldmFsKGNvZGUpOwogICAgICB9IGNh
dGNoKGUpIHsKICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7CiAgICAgICAgICB0aHJ
vdyBlcnJvcjsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhyb3cgZTsKICAgICAgICB9CiAgICAgIH
0KICAgIH0KICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBpbml0U2l6aW5nKGVsKSB7CiAgI
CB2YXIgc2l6aW5nID0gc2l6aW5nUG9saWN5KGVsKTsKICAgIGlmICghc2l6aW5nKQogICAgICByZXR1cm47
CgogICAgdmFyIGNlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJodG1sd2lkZ2V0X2NvbnRhaW5lciI
pOwogICAgaWYgKCFjZWwpCiAgICAgIHJldHVybjsKCiAgICBpZiAodHlwZW9mKHNpemluZy5wYWRkaW5nKS
AhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5tYXJnaW4gPSAiMCI7CiAgI
CAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZyA9IHBhZGRpbmdUb0Nzcyh1bnBhY2tQYWRkaW5nKHNp
emluZy5wYWRkaW5nKSk7CiAgICB9CgogICAgaWYgKHNpemluZy5maWxsKSB7CiAgICAgIGRvY3VtZW50LmJ
vZHkuc3R5bGUub3ZlcmZsb3cgPSAiaGlkZGVuIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS53aWR0aC
A9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5oZWlnaHQgPSAiMTAwJSI7CiAgICAgIGRvY
3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgZG9jdW1lbnQuZG9j
dW1lbnRFbGVtZW50LnN0eWxlLmhlaWdodCA9ICIxMDAlIjsKICAgICAgaWYgKGNlbCkgewogICAgICAgIGN
lbC5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgdmFyIHBhZCA9IHVucGFja1BhZGRpbm
coc2l6aW5nLnBhZGRpbmcpOwogICAgICAgIGNlbC5zdHlsZS50b3AgPSBwYWQudG9wICsgInB4IjsKICAgI
CAgICBjZWwuc3R5bGUucmlnaHQgPSBwYWQucmlnaHQgKyAicHgiOwogICAgICAgIGNlbC5zdHlsZS5ib3R0
b20gPSBwYWQuYm90dG9tICsgInB4IjsKICAgICAgICBjZWwuc3R5bGUubGVmdCA9IHBhZC5sZWZ0ICsgInB
4IjsKICAgICAgICBlbC5zdHlsZS53aWR0aCA9ICIxMDAlIjsKICAgICAgICBlbC5zdHlsZS5oZWlnaHQgPS
AiMTAwJSI7CiAgICAgIH0KCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkge
yByZXR1cm4gY2VsLm9mZnNldFdpZHRoOyB9LAogICAgICAgIGdldEhlaWdodDogZnVuY3Rpb24oKSB7IHJl
dHVybiBjZWwub2Zmc2V0SGVpZ2h0OyB9CiAgICAgIH07CgogICAgfSBlbHNlIHsKICAgICAgZWwuc3R5bGU
ud2lkdGggPSBweChzaXppbmcud2lkdGgpOwogICAgICBlbC5zdHlsZS5oZWlnaHQgPSBweChzaXppbmcuaG
VpZ2h0KTsKCiAgICAgIHJldHVybiB7CiAgICAgICAgZ2V0V2lkdGg6IGZ1bmN0aW9uKCkgeyByZXR1cm4gZ
Wwub2Zmc2V0V2lkdGg7IH0sCiAgICAgICAgZ2V0SGVpZ2h0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGVsLm9m
ZnNldEhlaWdodDsgfQogICAgICB9OwogICAgfQogIH0KCiAgLy8gRGVmYXVsdCBpbXBsZW1lbnRhdGlvbnM
gZm9yIG1ldGhvZHMKICB2YXIgZGVmYXVsdHMgPSB7CiAgICBmaW5kOiBmdW5jdGlvbihzY29wZSkgewogIC
AgICByZXR1cm4gcXVlcnlTZWxlY3RvckFsbChzY29wZSwgIi4iICsgdGhpcy5uYW1lKTsKICAgIH0sCiAgI
CByZW5kZXJFcnJvcjogZnVuY3Rpb24oZWwsIGVycikgewogICAgICB2YXIgJGVsID0gJChlbCk7CgogICAg
ICB0aGlzLmNsZWFyRXJyb3IoZWwpOwoKICAgICAgLy8gQWRkIGFsbCB0aGVzZSBlcnJvciBjbGFzc2VzLCB
hcyBTaGlueSBkb2VzCiAgICAgIHZhciBlcnJDbGFzcyA9ICJzaGlueS1vdXRwdXQtZXJyb3IiOwogICAgIC
BpZiAoZXJyLnR5cGUgIT09IG51bGwpIHsKICAgICAgICAvLyB1c2UgdGhlIGNsYXNzZXMgb2YgdGhlIGVyc
m9yIGNvbmRpdGlvbiBhcyBDU1MgY2xhc3MgbmFtZXMKICAgICAgICBlcnJDbGFzcyA9IGVyckNsYXNzICsg
IiAiICsgJC5tYXAoYXNBcnJheShlcnIudHlwZSksIGZ1bmN0aW9uKHR5cGUpIHsKICAgICAgICAgIHJldHV
ybiBlcnJDbGFzcyArICItIiArIHR5cGU7CiAgICAgICAgfSkuam9pbigiICIpOwogICAgICB9CiAgICAgIG
VyckNsYXNzID0gZXJyQ2xhc3MgKyAiIGh0bWx3aWRnZXRzLWVycm9yIjsKCiAgICAgIC8vIElzIGVsIGlub
GluZSBvciBibG9jaz8gSWYgaW5saW5lIG9yIGlubGluZS1ibG9jaywganVzdCBkaXNwbGF5Om5vbmUgaXQK
ICAgICAgLy8gYW5kIGFkZCBhbiBpbmxpbmUgZXJyb3IuCiAgICAgIHZhciBkaXNwbGF5ID0gJGVsLmNzcyg
iZGlzcGxheSIpOwogICAgICAkZWwuZGF0YSgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBkaXNwbGF5KTsKCi
AgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5lIiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikge
wogICAgICAgICRlbC5oaWRlKCk7CiAgICAgICAgaWYgKGVyci5tZXNzYWdlICE9PSAiIikgewogICAgICAg
ICAgdmFyIGVycm9yU3BhbiA9ICQoIjxzcGFuPiIpLmFkZENsYXNzKGVyckNsYXNzKTsKICAgICAgICAgIGV
ycm9yU3Bhbi50ZXh0KGVyci5tZXNzYWdlKTsKICAgICAgICAgICRlbC5hZnRlcihlcnJvclNwYW4pOwogIC
AgICAgIH0KICAgICAgfSBlbHNlIGlmIChkaXNwbGF5ID09PSAiYmxvY2siKSB7CiAgICAgICAgLy8gSWYgY
mxvY2ssIGFkZCBhbiBlcnJvciBqdXN0IGFmdGVyIHRoZSBlbCwgc2V0IHZpc2liaWxpdHk6bm9uZSBvbiB0
aGUKICAgICAgICAvLyBlbCwgYW5kIHBvc2l0aW9uIHRoZSBlcnJvciB0byBiZSBvbiB0b3Agb2YgdGhlIGV
sLgogICAgICAgIC8vIE1hcmsgaXQgd2l0aCBhIHVuaXF1ZSBJRCBhbmQgQ1NTIGNsYXNzIHNvIHdlIGNhbi
ByZW1vdmUgaXQgbGF0ZXIuCiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJoaWRkZW4iKTsKICAgI
CAgICBpZiAoZXJyLm1lc3NhZ2UgIT09ICIiKSB7CiAgICAgICAgICB2YXIgZXJyb3JEaXYgPSAkKCI8ZGl2
PiIpLmFkZENsYXNzKGVyckNsYXNzKS5jc3MoInBvc2l0aW9uIiwgImFic29sdXRlIikKICAgICAgICAgICA
gLmNzcygidG9wIiwgZWwub2Zmc2V0VG9wKQogICAgICAgICAgICAuY3NzKCJsZWZ0IiwgZWwub2Zmc2V0TG
VmdCkKICAgICAgICAgICAgLy8gc2V0dGluZyB3aWR0aCBjYW4gcHVzaCBvdXQgdGhlIHBhZ2Ugc2l6ZSwgZ
m9yY2luZyBvdGhlcndpc2UKICAgICAgICAgICAgLy8gdW5uZWNlc3Nhcnkgc2Nyb2xsYmFycyB0byBhcHBl
YXIgYW5kIG1ha2luZyBpdCBpbXBvc3NpYmxlIGZvcgogICAgICAgICAgICAvLyB0aGUgZWxlbWVudCB0byB
zaHJpbms7IHNvIHVzZSBtYXgtd2lkdGggaW5zdGVhZAogICAgICAgICAgICAuY3NzKCJtYXhXaWR0aCIsIG
VsLm9mZnNldFdpZHRoKQogICAgICAgICAgICAuY3NzKCJoZWlnaHQiLCBlbC5vZmZzZXRIZWlnaHQpOwogI
CAgICAgICAgZXJyb3JEaXYudGV4dChlcnIubWVzc2FnZSk7CiAgICAgICAgICAkZWwuYWZ0ZXIoZXJyb3JE
aXYpOwoKICAgICAgICAgIC8vIFJlYWxseSBkdW1iIHdheSB0byBrZWVwIHRoZSBzaXplL3Bvc2l0aW9uIG9
mIHRoZSBlcnJvciBpbiBzeW5jIHdpdGgKICAgICAgICAgIC8vIHRoZSBwYXJlbnQgZWxlbWVudCBhcyB0aG
Ugd2luZG93IGlzIHJlc2l6ZWQgb3Igd2hhdGV2ZXIuCiAgICAgICAgICB2YXIgaW50SWQgPSBzZXRJbnRlc
nZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgaWYgKCFlcnJvckRpdlswXS5wYXJlbnRFbGVtZW50KSB7
CiAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChpbnRJZCk7CiAgICAgICAgICAgICAgcmV0dXJuOwogICA
gICAgICAgICB9CiAgICAgICAgICAgIGVycm9yRGl2CiAgICAgICAgICAgICAgLmNzcygidG9wIiwgZWwub2
Zmc2V0VG9wKQogICAgICAgICAgICAgIC5jc3MoImxlZnQiLCBlbC5vZmZzZXRMZWZ0KQogICAgICAgICAgI
CAgIC5jc3MoIm1heFdpZHRoIiwgZWwub2Zmc2V0V2lkdGgpCiAgICAgICAgICAgICAgLmNzcygiaGVpZ2h0
IiwgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgfQogICAgICB9CiAgICB
9LAogICAgY2xlYXJFcnJvcjogZnVuY3Rpb24oZWwpIHsKICAgICAgdmFyICRlbCA9ICQoZWwpOwogICAgIC
B2YXIgZGlzcGxheSA9ICRlbC5kYXRhKCJyZXN0b3JlLWRpc3BsYXktbW9kZSIpOwogICAgICAkZWwuZGF0Y
SgicmVzdG9yZS1kaXNwbGF5LW1vZGUiLCBudWxsKTsKCiAgICAgIGlmIChkaXNwbGF5ID09PSAiaW5saW5l
IiB8fCBkaXNwbGF5ID09PSAiaW5saW5lLWJsb2NrIikgewogICAgICAgIGlmIChkaXNwbGF5KQogICAgICA
gICAgJGVsLmNzcygiZGlzcGxheSIsIGRpc3BsYXkpOwogICAgICAgICQoZWwubmV4dFNpYmxpbmcpLmZpbH
RlcigiLmh0bWx3aWRnZXRzLWVycm9yIikucmVtb3ZlKCk7CiAgICAgIH0gZWxzZSBpZiAoZGlzcGxheSA9P
T0gImJsb2NrIil7CiAgICAgICAgJGVsLmNzcygidmlzaWJpbGl0eSIsICJpbmhlcml0Iik7CiAgICAgICAg
JChlbC5uZXh0U2libGluZykuZmlsdGVyKCIuaHRtbHdpZGdldHMtZXJyb3IiKS5yZW1vdmUoKTsKICAgICA
gfQogICAgfSwKICAgIHNpemluZzoge30KICB9OwoKICAvLyBDYWxsZWQgYnkgd2lkZ2V0IGJpbmRpbmdzIH
RvIHJlZ2lzdGVyIGEgbmV3IHR5cGUgb2Ygd2lkZ2V0LiBUaGUgZGVmaW5pdGlvbgogIC8vIG9iamVjdCBjY
W4gY29udGFpbiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6CiAgLy8gLSBuYW1lIChyZXF1aXJlZCkgLSBB
IHN0cmluZyBpbmRpY2F0aW5nIHRoZSBiaW5kaW5nIG5hbWUsIHdoaWNoIHdpbGwgYmUKICAvLyAgIHVzZWQ
gYnkgZGVmYXVsdCBhcyB0aGUgQ1NTIGNsYXNzbmFtZSB0byBsb29rIGZvci4KICAvLyAtIGluaXRpYWxpem
UgKG9wdGlvbmFsKSAtIEEgZnVuY3Rpb24oZWwpIHRoYXQgd2lsbCBiZSBjYWxsZWQgb25jZSBwZXIKICAvL
yAgIHdpZGdldCBlbGVtZW50OyBpZiBhIHZhbHVlIGlzIHJldHVybmVkLCBpdCB3aWxsIGJlIHBhc3NlZCBh
cyB0aGUgdGhpcmQKICAvLyAgIHZhbHVlIHRvIHJlbmRlclZhbHVlLgogIC8vIC0gcmVuZGVyVmFsdWUgKHJ
lcXVpcmVkKSAtIEEgZnVuY3Rpb24oZWwsIGRhdGEsIGluaXRWYWx1ZSkgdGhhdCB3aWxsIGJlCiAgLy8gIC
BjYWxsZWQgd2l0aCBkYXRhLiBTdGF0aWMgY29udGV4dHMgd2lsbCBjYXVzZSB0aGlzIHRvIGJlIGNhbGxlZ
CBvbmNlIHBlcgogIC8vICAgZWxlbWVudDsgU2hpbnkgYXBwcyB3aWxsIGNhdXNlIHRoaXMgdG8gYmUgY2Fs
bGVkIG11bHRpcGxlIHRpbWVzIHBlcgogIC8vICAgZWxlbWVudCwgYXMgdGhlIGRhdGEgY2hhbmdlcy4KICB
3aW5kb3cuSFRNTFdpZGdldHMud2lkZ2V0ID0gZnVuY3Rpb24oZGVmaW5pdGlvbikgewogICAgaWYgKCFkZW
Zpbml0aW9uLm5hbWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgbmFtZ
SIpOwogICAgfQogICAgaWYgKCFkZWZpbml0aW9uLnR5cGUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJX
aWRnZXQgbXVzdCBoYXZlIGEgdHlwZSIpOwogICAgfQogICAgLy8gQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9
ydCBvdXRwdXQgd2lkZ2V0cwogICAgaWYgKGRlZmluaXRpb24udHlwZSAhPT0gIm91dHB1dCIpIHsKICAgIC
AgdGhyb3cgbmV3IEVycm9yKCJVbnJlY29nbml6ZWQgd2lkZ2V0IHR5cGUgJyIgKyBkZWZpbml0aW9uLnR5c
GUgKyAiJyIpOwogICAgfQogICAgLy8gVE9ETzogVmVyaWZ5IHRoYXQgLm5hbWUgaXMgYSB2YWxpZCBDU1Mg
Y2xhc3NuYW1lCgogICAgLy8gU3VwcG9ydCBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZGVmaW5pdGlvbnM
uIE9sZC1zdHlsZSBjbGFzcy1ib3VuZAogICAgLy8gZGVmaW5pdGlvbnMgaGF2ZSBvbmUgd2lkZ2V0ICJvYm
plY3QiIHBlciB3aWRnZXQgcGVyIHR5cGUvY2xhc3Mgb2YKICAgIC8vIHdpZGdldDsgdGhlIHJlbmRlclZhb
HVlIGFuZCByZXNpemUgbWV0aG9kcyBvbiBzdWNoIHdpZGdldCBvYmplY3RzCiAgICAvLyB0YWtlIGVsIGFu
ZCBpbnN0YW5jZSBhcmd1bWVudHMsIGJlY2F1c2UgdGhlIHdpZGdldCBvYmplY3QgY2FuJ3QKICAgIC8vIHN
0b3JlIHRoZW0uIE5ldy1zdHlsZSBpbnN0YW5jZS1ib3VuZCBkZWZpbml0aW9ucyBoYXZlIG9uZSB3aWRnZX
QKICAgIC8vIG9iamVjdCBwZXIgd2lkZ2V0IGluc3RhbmNlOyB0aGUgZGVmaW5pdGlvbiB0aGF0J3MgcGFzc
2VkIGluIGRvZXNuJ3QKICAgIC8vIHByb3ZpZGUgcmVuZGVyVmFsdWUgb3IgcmVzaXplIG1ldGhvZHMgYXQg
YWxsLCBqdXN0IHRoZSBzaW5nbGUgbWV0aG9kCiA
gICAvLyAgIGZhY3RvcnkoZWwsIHdpZHRoLCBoZWlnaHQpCiAgICAvLyB3aGljaCByZXR1cm5zIGFuIG9iam
VjdCB0aGF0IGhhcyByZW5kZXJWYWx1ZSh4KSBhbmQgcmVzaXplKHcsIGgpLgogICAgLy8gVGhpcyBlbmFib
GVzIGEgZmFyIG1vcmUgbmF0dXJhbCBwcm9ncmFtbWluZyBzdHlsZSBmb3IgdGhlIHdpZGdldAogICAgLy8g
YXV0aG9yLCB3aG8gY2FuIHN0b3JlIHBlci1pbnN0YW5jZSBzdGF0ZSB1c2luZyBlaXRoZXIgT08tc3R5bGU
KICAgIC8vIGluc3RhbmNlIGZpZWxkcyBvciBmdW5jdGlvbmFsLXN0eWxlIGNsb3N1cmUgdmFyaWFibGVzIC
hJIGd1ZXNzIHRoaXMKICAgIC8vIGlzIGluIGNvbnRyYXN0IHRvIHdoYXQgY2FuIG9ubHkgYmUgY2FsbGVkI
EMtc3R5bGUgcHNldWRvLU9PIHdoaWNoIGlzCiAgICAvLyB3aGF0IHdlIHJlcXVpcmVkIGJlZm9yZSkuCiAg
ICBpZiAoZGVmaW5pdGlvbi5mYWN0b3J5KSB7CiAgICAgIGRlZmluaXRpb24gPSBjcmVhdGVMZWdhY3lEZWZ
pbml0aW9uQWRhcHRlcihkZWZpbml0aW9uKTsKICAgIH0KCiAgICBpZiAoIWRlZmluaXRpb24ucmVuZGVyVm
FsdWUpIHsKICAgICAgdGhyb3cgbmV3IEVycm9yKCJXaWRnZXQgbXVzdCBoYXZlIGEgcmVuZGVyVmFsdWUgZ
nVuY3Rpb24iKTsKICAgIH0KCiAgICAvLyBGb3Igc3RhdGljIHJlbmRlcmluZyAobm9uLVNoaW55KSwgdXNl
IGEgc2ltcGxlIHdpZGdldCByZWdpc3RyYXRpb24KICAgIC8vIHNjaGVtZS4gV2UgYWxzbyB1c2UgdGhpcyB
zY2hlbWUgZm9yIFNoaW55IGFwcHMvZG9jdW1lbnRzIHRoYXQgYWxzbwogICAgLy8gY29udGFpbiBzdGF0aW
Mgd2lkZ2V0cy4KICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzID0gd2luZG93LkhUTUxXaWRnZXRzL
ndpZGdldHMgfHwgW107CiAgICAvLyBNZXJnZSBkZWZhdWx0cyBpbnRvIHRoZSBkZWZpbml0aW9uOyBkb24n
dCBtdXRhdGUgdGhlIG9yaWdpbmFsIGRlZmluaXRpb24uCiAgICB2YXIgc3RhdGljQmluZGluZyA9IGV4dGV
uZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwogICAgb3ZlcnJpZGVNZXRob2Qoc3RhdGljQmluZGluZy
wgImZpbmQiLCBmdW5jdGlvbihzdXBlcmZ1bmMpIHsKICAgICAgcmV0dXJuIGZ1bmN0aW9uKHNjb3BlKSB7C
iAgICAgICAgdmFyIHJlc3VsdHMgPSBzdXBlcmZ1bmMoc2NvcGUpOwogICAgICAgIC8vIEZpbHRlciBvdXQg
U2hpbnkgb3V0cHV0cywgd2Ugb25seSB3YW50IHRoZSBzdGF0aWMga2luZAogICAgICAgIHJldHVybiBmaWx
0ZXJCeUNsYXNzKHJlc3VsdHMsICJodG1sLXdpZGdldC1vdXRwdXQiLCBmYWxzZSk7CiAgICAgIH07CiAgIC
B9KTsKICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy53aWRnZXRzLnB1c2goc3RhdGljQmluZGluZyk7CgogICAga
WYgKHNoaW55TW9kZSkgewogICAgICAvLyBTaGlueSBpcyBydW5uaW5nLiBSZWdpc3RlciB0aGUgZGVmaW5p
dGlvbiB3aXRoIGFuIG91dHB1dCBiaW5kaW5nLgogICAgICAvLyBUaGUgZGVmaW5pdGlvbiBpdHNlbGYgd2l
sbCBub3QgYmUgdGhlIG91dHB1dCBiaW5kaW5nLCBpbnN0ZWFkCiAgICAgIC8vIHdlIHdpbGwgbWFrZSBhbi
BvdXRwdXQgYmluZGluZyBvYmplY3QgdGhhdCBkZWxlZ2F0ZXMgdG8gdGhlCiAgICAgIC8vIGRlZmluaXRpb
24uIFRoaXMgaXMgYmVjYXVzZSB3ZSBmb29saXNobHkgdXNlZCB0aGUgc2FtZSBtZXRob2QKICAgICAgLy8g
bmFtZSAocmVuZGVyVmFsdWUpIGZvciBodG1sd2lkZ2V0cyBkZWZpbml0aW9uIGFuZCBTaGlueSBiaW5kaW5
ncwogICAgICAvLyBidXQgdGhleSBhY3R1YWxseSBoYXZlIHF1aXRlIGRpZmZlcmVudCBzZW1hbnRpY3MgKH
RoZSBTaGlueQogICAgICAvLyBiaW5kaW5ncyByZWNlaXZlIGRhdGEgdGhhdCBpbmNsdWRlcyBsb3RzIG9mI
G1ldGFkYXRhIHRoYXQgaXQKICAgICAgLy8gc3RyaXBzIG9mZiBiZWZvcmUgY2FsbGluZyBodG1sd2lkZ2V0
cyByZW5kZXJWYWx1ZSkuIFdlIGNhbid0CiAgICAgIC8vIGp1c3QgaWdub3JlIHRoZSBkaWZmZXJlbmNlIGJ
lY2F1c2UgaW4gc29tZSB3aWRnZXRzIGl0J3MgaGVscGZ1bAogICAgICAvLyB0byBjYWxsIHRoaXMucmVuZG
VyVmFsdWUoKSBmcm9tIGluc2lkZSBvZiByZXNpemUoKSwgYW5kIGlmCiAgICAgIC8vIHdlJ3JlIG5vdCBkZ
WxlZ2F0aW5nLCB0aGVuIHRoYXQgY2FsbCB3aWxsIGdvIHRvIHRoZSBTaGlueQogICAgICAvLyB2ZXJzaW9u
IGluc3RlYWQgb2YgdGhlIGh0bWx3aWRnZXRzIHZlcnNpb24uCgogICAgICAvLyBNZXJnZSBkZWZhdWx0cyB
3aXRoIGRlZmluaXRpb24sIHdpdGhvdXQgbXV0YXRpbmcgZWl0aGVyLgogICAgICB2YXIgYmluZGluZ0RlZi
A9IGV4dGVuZCh7fSwgZGVmYXVsdHMsIGRlZmluaXRpb24pOwoKICAgICAgLy8gVGhpcyBvYmplY3Qgd2lsb
CBiZSBvdXIgYWN0dWFsIFNoaW55IGJpbmRpbmcuCiAgICAgIHZhciBzaGlueUJpbmRpbmcgPSBuZXcgU2hp
bnkuT3V0cHV0QmluZGluZygpOwoKICAgICAgLy8gV2l0aCBhIGZldyBleGNlcHRpb25zLCB3ZSdsbCB3YW5
0IHRvIHNpbXBseSB1c2UgdGhlIGJpbmRpbmdEZWYncwogICAgICAvLyB2ZXJzaW9uIG9mIG1ldGhvZHMgaW
YgdGhleSBhcmUgYXZhaWxhYmxlLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvCiAgICAgIC8vIFNoaW55J3MgZ
GVmYXVsdHMuIE5PVEU6IElmIFNoaW55J3Mgb3V0cHV0IGJpbmRpbmdzIGdhaW4gYWRkaXRpb25hbAogICAg
ICAvLyBtZXRob2RzIGluIHRoZSBmdXR1cmUsIGFuZCB3ZSB3YW50IHRoZW0gdG8gYmUgb3ZlcnJpZGVhYmx
lIGJ5CiAgICAgIC8vIEhUTUxXaWRnZXQgYmluZGluZyBkZWZpbml0aW9ucywgdGhlbiB3ZSdsbCBuZWVkIH
RvIGFkZCB0aGVtIHRvIHRoaXMKICAgICAgLy8gbGlzdC4KICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCa
W5kaW5nLCBiaW5kaW5nRGVmLCAiZ2V0SWQiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW5kaW5n
LCBiaW5kaW5nRGVmLCAib25WYWx1ZUNoYW5nZSIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJpbmR
pbmcsIGJpbmRpbmdEZWYsICJvblZhbHVlRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCaW
5kaW5nLCBiaW5kaW5nRGVmLCAicmVuZGVyRXJyb3IiKTsKICAgICAgZGVsZWdhdGVNZXRob2Qoc2hpbnlCa
W5kaW5nLCBiaW5kaW5nRGVmLCAiY2xlYXJFcnJvciIpOwogICAgICBkZWxlZ2F0ZU1ldGhvZChzaGlueUJp
bmRpbmcsIGJpbmRpbmdEZWYsICJzaG93UHJvZ3Jlc3MiKTsKCiAgICAgIC8vIFRoZSBmaW5kLCByZW5kZXJ
WYWx1ZSwgYW5kIHJlc2l6ZSBhcmUgaGFuZGxlZCBkaWZmZXJlbnRseSwgYmVjYXVzZSB3ZQogICAgICAvLy
B3YW50IHRvIGFjdHVhbGx5IGRlY29yYXRlIHRoZSBiZWhhdmlvciBvZiB0aGUgYmluZGluZ0RlZiBtZXRob
2RzLgoKICAgICAgc2hpbnlCaW5kaW5nLmZpbmQgPSBmdW5jdGlvbihzY29wZSkgewogICAgICAgIHZhciBy
ZXN1bHRzID0gYmluZGluZ0RlZi5maW5kKHNjb3BlKTsKCiAgICAgICAgLy8gT25seSByZXR1cm4gZWxlbWV
udHMgdGhhdCBhcmUgU2hpbnkgb3V0cHV0cywgbm90IHN0YXRpYyBvbmVzCiAgICAgICAgdmFyIGR5bmFtaW
NSZXN1bHRzID0gcmVzdWx0cy5maWx0ZXIoIi5odG1sLXdpZGdldC1vdXRwdXQiKTsKCiAgICAgICAgLy8gS
XQncyBwb3NzaWJsZSB0aGF0IHdoYXRldmVyIGNhdXNlZCBTaGlueSB0byB0aGluayB0aGVyZSBtaWdodCBi
ZQogICAgICAgIC8vIG5ldyBkeW5hbWljIG91dHB1dHMsIGFsc28gY2F1c2VkIHRoZXJlIHRvIGJlIG5ldyB
zdGF0aWMgb3V0cHV0cy4KICAgICAgICAvLyBTaW5jZSB0aGVyZSBtaWdodCBiZSBsb3RzIG9mIGRpZmZlcm
VudCBodG1sd2lkZ2V0cyBiaW5kaW5ncywgd2UKICAgICAgICAvLyBzY2hlZHVsZSBleGVjdXRpb24gZm9yI
GxhdGVyLS1ubyBuZWVkIHRvIHN0YXRpY1JlbmRlciBtdWx0aXBsZQogICAgICAgIC8vIHRpbWVzLgogICAg
ICAgIGlmIChyZXN1bHRzLmxlbmd0aCAhPT0gZHluYW1pY1Jlc3VsdHMubGVuZ3RoKQogICAgICAgICAgc2N
oZWR1bGVTdGF0aWNSZW5kZXIoKTsKCiAgICAgICAgcmV0dXJuIGR5bmFtaWNSZXN1bHRzOwogICAgICB9Ow
oKICAgICAgLy8gV3JhcCByZW5kZXJWYWx1ZSB0byBoYW5kbGUgaW5pdGlhbGl6YXRpb24sIHdoaWNoIHVuZ
m9ydHVuYXRlbHkgaXNuJ3QKICAgICAgLy8gc3VwcG9ydGVkIG5hdGl2ZWx5IGJ5IFNoaW55IGF0IHRoZSB0
aW1lIG9mIHRoaXMgd3JpdGluZy4KCiAgICAgIHNoaW55QmluZGluZy5yZW5kZXJWYWx1ZSA9IGZ1bmN0aW9
uKGVsLCBkYXRhKSB7CiAgICAgICAgU2hpbnkucmVuZGVyRGVwZW5kZW5jaWVzKGRhdGEuZGVwcyk7CiAgIC
AgICAgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjd
HMKICAgICAgICBpZiAoIShkYXRhLmV2YWxzIGluc3RhbmNlb2YgQXJyYXkpKSBkYXRhLmV2YWxzID0gW2Rh
dGEuZXZhbHNdOwogICAgICAgIGZvciAodmFyIGkgPSAwOyBkYXRhLmV2YWxzICYmIGkgPCBkYXRhLmV2YWx
zLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbmdNZW
1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2ldKTsKICAgICAgICB9CiAgICAgICAgaWYgKCFiaW5kaW5nRGVmL
nJlbmRlck9uTnVsbFZhbHVlKSB7CiAgICAgICAgICBpZiAoZGF0YS54ID09PSBudWxsKSB7CiAgICAgICAg
ICAgIGVsLnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgICAgICAgICAgcmV0dXJuOwogICAgICA
gICAgfSBlbHNlIHsKICAgICAgICAgICAgZWwuc3R5bGUudmlzaWJpbGl0eSA9ICJpbmhlcml0IjsKICAgIC
AgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKCFlbGVtZW50RGF0YShlbCwgImluaXRpYWxpemVkIikpI
HsKICAgICAgICAgIGluaXRTaXppbmcoZWwpOwoKICAgICAgICAgIGVsZW1lbnREYXRhKGVsLCAiaW5pdGlh
bGl6ZWQiLCB0cnVlKTsKICAgICAgICAgIGlmIChiaW5kaW5nRGVmLmluaXRpYWxpemUpIHsKICAgICAgICA
gICAgdmFyIHJlc3VsdCA9IGJpbmRpbmdEZWYuaW5pdGlhbGl6ZShlbCwgZWwub2Zmc2V0V2lkdGgsCiAgIC
AgICAgICAgICAgZWwub2Zmc2V0SGVpZ2h0KTsKICAgICAgICAgICAgZWxlbWVudERhdGEoZWwsICJpbml0X
3Jlc3VsdCIsIHJlc3VsdCk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGJpbmRpbmdEZWYucmVu
ZGVyVmFsdWUoZWwsIGRhdGEueCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpKTsKICAgICAgICB
ldmFsQW5kUnVuKGRhdGEuanNIb29rcy5yZW5kZXIsIGVsZW1lbnREYXRhKGVsLCAiaW5pdF9yZXN1bHQiKS
wgW2VsLCBkYXRhLnhdKTsKICAgICAgfTsKCiAgICAgIC8vIE9ubHkgb3ZlcnJpZGUgcmVzaXplIGlmIGJpb
mRpbmdEZWYgaW1wbGVtZW50cyBpdAogICAgICBpZiAoYmluZGluZ0RlZi5yZXNpemUpIHsKICAgICAgICBz
aGlueUJpbmRpbmcucmVzaXplID0gZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQpIHsKICAgICAgICAgIC8
vIFNoaW55IGNhbiBjYWxsIHJlc2l6ZSBiZWZvcmUgaW5pdGlhbGl6ZS9yZW5kZXJWYWx1ZSBoYXZlIGJlZW
4KICAgICAgICAgIC8vIGNhbGxlZCwgd2hpY2ggZG9lc24ndCBtYWtlIHNlbnNlIGZvciB3aWRnZXRzLgogI
CAgICAgICAgaWYgKGVsZW1lbnREYXRhKGVsLCAiaW5pdGlhbGl6ZWQiKSkgewogICAgICAgICAgICBiaW5k
aW5nRGVmLnJlc2l6ZShlbCwgd2lkdGgsIGhlaWdodCwgZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCI
pKTsKICAgICAgICAgIH0KICAgICAgICB9OwogICAgICB9CgogICAgICBTaGlueS5vdXRwdXRCaW5kaW5ncy
5yZWdpc3RlcihzaGlueUJpbmRpbmcsIGJpbmRpbmdEZWYubmFtZSk7CiAgICB9CiAgfTsKCiAgdmFyIHNja
GVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgZnVuY3Rpb24gc2NoZWR1bGVTdGF0aWNSZW5k
ZXIoKSB7CiAgICBpZiAoIXNjaGVkdWxlU3RhdGljUmVuZGVyVGltZXJJZCkgewogICAgICBzY2hlZHVsZVN
0YXRpY1JlbmRlclRpbWVySWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgIHNjaGVkdWxlU3
RhdGljUmVuZGVyVGltZXJJZCA9IG51bGw7CiAgICAgICAgd2luZG93LkhUTUxXaWRnZXRzLnN0YXRpY1Jlb
mRlcigpOwogICAgICB9LCAxKTsKICAgIH0KICB9CgogIC8vIFJlbmRlciBzdGF0aWMgd2lkZ2V0cyBhZnRl
ciB0aGUgZG9jdW1lbnQgZmluaXNoZXMgbG9hZGluZwogIC8vIFN0YXRpY2FsbHkgcmVuZGVyIGFsbCBlbGV
tZW50cyB0aGF0IGFyZSBvZiB0aGlzIHdpZGdldCdzIGNsYXNzCiAgd2luZG93LkhUTUxXaWRnZXRzLnN0YX
RpY1JlbmRlciA9IGZ1bmN0aW9uKCkgewogICAgdmFyIGJpbmRpbmdzID0gd2luZG93LkhUTUxXaWRnZXRzL
ndpZGdldHMgfHwgW107CiAgICBmb3JFYWNoKGJpbmRpbmdzLCBmdW5jdGlvbihiaW5kaW5nKSB7CiAgICAg
IHZhciBtYXRjaGVzID0gYmluZGluZy5maW5kKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk7CiAgICAgIGZ
vckVhY2gobWF0Y2hlcywgZnVuY3Rpb24oZWwpIHsKICAgICAgICB2YXIgc2l6ZU9iaiA9IGluaXRTaXppbm
coZWwsIGJpbmRpbmcpOwoKICAgICAgICBpZiAoaGFzQ2xhc3MoZWwsICJodG1sLXdpZGdldC1zdGF0aWMtY
m91bmQiKSkKICAgICAgICAgIHJldHVybjsKICAgICAgICBlbC5jbGFzc05hbWUgPSBlbC5jbGFzc05hbWUg
KyAiIGh0bWwtd2lkZ2V0LXN0YXRpYy1ib3VuZCI7CgogICAgICAgIHZhciBpbml0UmVzdWx0OwogICAgICA
gIGlmIChiaW5kaW5nLmluaXRpYWxpemUpIHsKICAgICAgICAgIGluaXRSZXN1bHQgPSBiaW5kaW5nLmluaX
RpYWxpemUoZWwsCiAgICAgICAgICAgIHNpemVPYmogPyBzaXplT2JqLmdldFdpZHRoKCkgOiBlbC5vZmZzZ
XRXaWR0aCwKICAgICAgICAgICAgc2l6ZU9iaiA/
IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICk7CiAgICAgICAgICB
lbGVtZW50RGF0YShlbCwgImluaXRfcmVzdWx0IiwgaW5pdFJlc3VsdCk7CiAgICAgICAgfQoKICAgICAgIC
BpZiAoYmluZGluZy5yZXNpemUpIHsKICAgICAgICAgIHZhciBsYXN0U2l6ZSA9IHsKICAgICAgICAgICAgd
zogc2l6ZU9iaiA/
IHNpemVPYmouZ2V0V2lkdGgoKSA6IGVsLm9mZnNldFdpZHRoLAogICAgICAgICAgICBoOiBzaXplT2JqID8
gc2l6ZU9iai5nZXRIZWlnaHQoKSA6IGVsLm9mZnNldEhlaWdodAogICAgICAgICAgfTsKICAgICAgICAgIH
ZhciByZXNpemVIYW5kbGVyID0gZnVuY3Rpb24oZSkgewogICAgICAgICAgICB2YXIgc2l6ZSA9IHsKICAgI
CAgICAgICAgICB3OiBzaXplT2JqID8gc2l6ZU9iai5nZXRXaWR0aCgpIDogZWwub2Zmc2V0V2lkdGgsCiAg
ICAgICAgICAgICAgaDogc2l6ZU9iaiA/
IHNpemVPYmouZ2V0SGVpZ2h0KCkgOiBlbC5vZmZzZXRIZWlnaHQKICAgICAgICAgICAgfTsKICAgICAgICA
gICAgaWYgKHNpemUudyA9PT0gMCAmJiBzaXplLmggPT09IDApCiAgICAgICAgICAgICAgcmV0dXJuOwogIC
AgICAgICAgICBpZiAoc2l6ZS53ID09PSBsYX
N0U2l6ZS53ICYmIHNpemUuaCA9PT0gbGFzdFNpemUuaCkKICAgICAgICAgICAgICByZXR1cm47CiAgICAgI
CAgICAgIGxhc3RTaXplID0gc2l6ZTsKICAgICAgICAgICAgYmluZGluZy5yZXNpemUoZWwsIHNpemUudywg
c2l6ZS5oLCBpbml0UmVzdWx0KTsKICAgICAgICAgIH07CgogICAgICAgICAgb24od2luZG93LCAicmVzaXp
lIiwgcmVzaXplSGFuZGxlcik7CgogICAgICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGNhc2VzIHdoZX
JlIHdlJ3JlIHJ1bm5pbmcgaW4gYSBTaGlueQogICAgICAgICAgLy8gYXBwLCBidXQgdGhlIHdpZGdldCBpd
HNlbGYgaXMgbm90IGEgU2hpbnkgb3V0cHV0LCBidXQKICAgICAgICAgIC8vIHJhdGhlciBhIHNpbXBsZSBz
dGF0aWMgd2lkZ2V0LiBPbmUgZXhhbXBsZSBvZiB0aGlzIGlzCiAgICAgICAgICAvLyBhbiBybWFya2Rvd24
gZG9jdW1lbnQgdGhhdCBoYXMgcnVudGltZTpzaGlueSBhbmQgd2lkZ2V0CiAgICAgICAgICAvLyB0aGF0IG
lzbid0IGluIGEgcmVuZGVyIGZ1bmN0aW9uLiBTaGlueSBvbmx5IGtub3dzIHRvCiAgICAgICAgICAvLyBjY
WxsIHJlc2l6ZSBoYW5kbGVycyBmb3IgU2hpbnkgb3V0cHV0cywgbm90IGZvciBzdGF0aWMKICAgICAgICAg
IC8vIHdpZGdldHMsIHNvIHdlIGRvIGl0IG91cnNlbHZlcy4KICAgICAgICAgIGlmICh3aW5kb3cualF1ZXJ
5KSB7CiAgICAgICAgICAgIHdpbmRvdy5qUXVlcnkoZG9jdW1lbnQpLm9uKAogICAgICAgICAgICAgICJzaG
93bi5odG1sd2lkZ2V0cyBzaG93bi5icy50YWIuaHRtbHdpZGdldHMgc2hvd24uYnMuY29sbGFwc2UuaHRtb
HdpZGdldHMiLAogICAgICAgICAgICAgIHJlc2l6ZUhhbmRsZXIKICAgICAgICAgICAgKTsKICAgICAgICAg
ICAgd2luZG93LmpRdWVyeShkb2N1bWVudCkub24oCiAgICAgICAgICAgICAgImhpZGRlbi5odG1sd2lkZ2V
0cyBoaWRkZW4uYnMudGFiLmh0bWx3aWRnZXRzIGhpZGRlbi5icy5jb2xsYXBzZS5odG1sd2lkZ2V0cyIsCi
AgICAgICAgICAgICAgcmVzaXplSGFuZGxlcgogICAgICAgICAgICApOwogICAgICAgICAgfQoKICAgICAgI
CAgIC8vIFRoaXMgaXMgbmVlZGVkIGZvciB0aGUgc3BlY2lmaWMgY2FzZSBvZiBpb3NsaWRlcywgd2hpY2gK
ICAgICAgICAgIC8vIGZsaXBzIHNsaWRlcyBiZXR3ZWVuIGRpc3BsYXk6bm9uZSBhbmQgZGlzcGxheTpibG9
jay4KICAgICAgICAgIC8vIElkZWFsbHkgd2Ugd291bGQgbm90IGhhdmUgdG8gaGF2ZSBpb3NsaWRlLXNwZW
NpZmljIGNvZGUKICAgICAgICAgIC8vIGhlcmUsIGJ1dCByYXRoZXIgaGF2ZSBpb3NsaWRlcyByYWlzZSBhI
GdlbmVyaWMgZXZlbnQsCiAgICAgICAgICAvLyBidXQgdGhlIHJtYXJrZG93biBwYWNrYWdlIGp1c3Qgd2Vu
dCB0byBDUkFOIHNvIHRoZQogICAgICAgICAgLy8gd2luZG93IHRvIGdldHRpbmcgdGhhdCBmaXhlZCBtYXk
gYmUgbG9uZy4KICAgICAgICAgIGlmICh3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcikgewogICAgICAgICAgIC
AvLyBJdCdzIE9LIHRvIGxpbWl0IHRoaXMgdG8gd2luZG93LmFkZEV2ZW50TGlzdGVuZXIKICAgICAgICAgI
CAgLy8gYnJvd3NlcnMgYmVjYXVzZSBpb3NsaWRlcyBpdHNlbGYgb25seSBzdXBwb3J0cwogICAgICAgICAg
ICAvLyBzdWNoIGJyb3dzZXJzLgogICAgICAgICAgICBvbihkb2N1bWVudCwgInNsaWRlZW50ZXIiLCByZXN
pemVIYW5kbGVyKTsKICAgICAgICAgICAgb24oZG9jdW1lbnQsICJzbGlkZWxlYXZlIiwgcmVzaXplSGFuZG
xlcik7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2YXIgc2NyaXB0RGF0YSA9IGRvY3VtZW50L
nF1ZXJ5U2VsZWN0b3IoInNjcmlwdFtkYXRhLWZvcj0nIiArIGVsLmlkICsgIiddW3R5cGU9J2FwcGxpY2F0
aW9uL2pzb24nXSIpOwogICAgICAgIGlmIChzY3JpcHREYXRhKSB7CiAgICAgICAgICB2YXIgZGF0YSA9IEp
TT04ucGFyc2Uoc2NyaXB0RGF0YS50ZXh0Q29udGVudCB8fCBzY3JpcHREYXRhLnRleHQpOwogICAgICAgIC
AgLy8gUmVzb2x2ZSBzdHJpbmdzIG1hcmtlZCBhcyBqYXZhc2NyaXB0IGxpdGVyYWxzIHRvIG9iamVjdHMKI
CAgICAgICAgIGlmICghKGRhdGEuZXZhbHMgaW5zdGFuY2VvZiBBcnJheSkpIGRhdGEuZXZhbHMgPSBbZGF0
YS5ldmFsc107CiAgICAgICAgICBmb3IgKHZhciBrID0gMDsgZGF0YS5ldmFscyAmJiBrIDwgZGF0YS5ldmF
scy5sZW5ndGg7IGsrKykgewogICAgICAgICAgICB3aW5kb3cuSFRNTFdpZGdldHMuZXZhbHVhdGVTdHJpbm
dNZW1iZXIoZGF0YS54LCBkYXRhLmV2YWxzW2tdKTsKICAgICAgICAgIH0KICAgICAgICAgIGJpbmRpbmcuc
mVuZGVyVmFsdWUoZWwsIGRhdGEueCwgaW5pdFJlc3VsdCk7CiAgICAgICAgICBldmFsQW5kUnVuKGRhdGEu
anNIb29rcy5yZW5kZXIsIGluaXRSZXN1bHQsIFtlbCwgZGF0YS54XSk7CiAgICAgICAgfQogICAgICB9KTs
KICAgIH0pOwoKICAgIGludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpOwogIH0KCgogIGZ1bmN0aW9uIGhhc1
9qUXVlcnkzKCkgewogICAgaWYgKCF3aW5kb3cualF1ZXJ5KSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgI
H0KICAgIHZhciAkdmVyc2lvbiA9IHdpbmRvdy5qUXVlcnkuZm4uanF1ZXJ5OwogICAgdmFyICRtYWpvcl92
ZXJzaW9uID0gcGFyc2VJbnQoJHZlcnNpb24uc3BsaXQoIi4iKVswXSk7CiAgICByZXR1cm4gJG1ham9yX3Z
lcnNpb24gPj0gMzsKICB9CgogIC8qCiAgLyBTaGlueSAxLjQgYnVtcGVkIGpRdWVyeSBmcm9tIDEueCB0by
AzLnggd2hpY2ggbWVhbnMgalF1ZXJ5J3MKICAvIG9uLXJlYWR5IGhhbmRsZXIgKGkuZS4sICQoZm4pKSBpc
yBub3cgYXN5bmNyb25vdXMgKGkuZS4sIGl0IG5vdwogIC8gcmVhbGx5IG1lYW5zICQoc2V0VGltZW91dChm
bikpLgogIC8gaHR0cHM6Ly9qcXVlcnkuY29tL3VwZ3JhZGUtZ3VpZGUvMy4wLyNicmVha2luZy1jaGFuZ2U
tZG9jdW1lbnQtcmVhZHktaGFuZGxlcnMtYXJlLW5vdy1hc3luY2hyb25vdXMKICAvCiAgLyBTaW5jZSBTaG
lueSB1c2VzICQoKSB0byBzY2hlZHVsZSBpbml0U2hpbnksIHNoaW55Pj0xLjQgY2FsbHMgaW5pdFNoaW55C
iAgLyBvbmUgdGljayBsYXRlciB0aGFuIGl0IGRpZCBiZWZvcmUsIHdoaWNoIG1lYW5zIHN0YXRpY1JlbmRl
cigpIGlzCiAgLyBjYWxsZWQgcmVuZGVyVmFsdWUoKSBlYXJsaWVyIHRoYW4gKGFkdmFuY2VkKSB3aWRnZXQ
gYXV0aG9ycyBtaWdodCBiZSBleHBlY3RpbmcuCiAgLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9zaG
lueS9pc3N1ZXMvMjYzMAogIC8KICAvIEZvciBhIGNvbmNyZXRlIGV4YW1wbGUsIGxlYWZsZXQgaGFzIHNvb
WUgbWV0aG9kcyAoZS5nLiwgdXBkYXRlQm91bmRzKQogIC8gd2hpY2ggcmVmZXJlbmNlIFNoaW55IG1ldGhv
ZHMgcmVnaXN0ZXJlZCBpbiBpbml0U2hpbnkgKGUuZy4sIHNldElucHV0VmFsdWUpLgogIC8gU2luY2UgbGV
hZmxldCBpcyBwcml2eSB0byB0aGlzIGxpZmUtY3ljbGUsIGl0IGtub3dzIHRvIHVzZSBzZXRUaW1lb3V0KC
kgdG8KICAvIGRlbGF5IGV4ZWN1dGlvbiBvZiB0aG9zZSBtZXRob2RzICh1bnRpbCBTaGlueSBtZXRob2RzI
GFyZSByZWFkeSkKICAvIGh0dHBzOi8vZ2l0aHViLmNvbS9yc3R1ZGlvL2xlYWZsZXQvYmxvYi8xOGVjOTgx
L2phdmFzY3JpcHQvc3JjL2luZGV4LmpzI0wyNjYtTDI2OAogIC8KICAvIElkZWFsbHkgd2lkZ2V0IGF1dGh
vcnMgd291bGRuJ3QgbmVlZCB0byB1c2UgdGhpcyBzZXRUaW1lb3V0KCkgaGFjayB0aGF0CiAgLyBsZWFmbG
V0IHVzZXMgdG8gY2FsbCBTaGlueSBtZXRob2RzIG9uIGEgc3RhdGljUmVuZGVyKCkuIEluIHRoZSBsb25nI
HJ1biwKICAvIHRoZSBsb2dpYyBpbml0U2hpbnkgc2hvdWxkIGJlIGJyb2tlbiB1cCBzbyB0aGF0IG1ldGhv
ZCByZWdpc3RyYXRpb24gaGFwcGVucwogIC8gcmlnaHQgYXdheSwgYnV0IGJpbmRpbmcgaGFwcGVucyBsYXR
lci4KICAqLwogIGZ1bmN0aW9uIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKSB7CiAgICBpZiAoc2hpbnlNb2
RlICYmIGhhc19qUXVlcnkzKCkpIHsKICAgICAgd2luZG93LmpRdWVyeSh3aW5kb3cuSFRNTFdpZGdldHMuc
3RhdGljUmVuZGVyKTsKICAgIH0gZWxzZSB7CiAgICAgIHdpbmRvdy5IVE1MV2lkZ2V0cy5zdGF0aWNSZW5k
ZXIoKTsKICAgIH0KICB9CgogIGlmIChkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKSB7CiAgICBkb2N1bWV
udC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgZnVuY3Rpb24oKSB7CiAgICAgIGRvY3
VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLCBhcmd1bWVudHMuY2FsbGVlL
CBmYWxzZSk7CiAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgIH0sIGZhbHNlKTsKICB9IGVs
c2UgaWYgKGRvY3VtZW50LmF0dGFjaEV2ZW50KSB7CiAgICBkb2N1bWVudC5hdHRhY2hFdmVudCgib25yZWF
keXN0YXRlY2hhbmdlIiwgZnVuY3Rpb24oKSB7CiAgICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PS
AiY29tcGxldGUiKSB7CiAgICAgICAgZG9jdW1lbnQuZGV0YWNoRXZlbnQoIm9ucmVhZHlzdGF0ZWNoYW5nZ
SIsIGFyZ3VtZW50cy5jYWxsZWUpOwogICAgICAgIG1heWJlU3RhdGljUmVuZGVyTGF0ZXIoKTsKICAgICAg
fQogICAgfSk7CiAgfQoKCiAgd2luZG93LkhUTUxXaWRnZXRzLmdldEF0dGFjaG1lbnRVcmwgPSBmdW5jdGl
vbihkZXBuYW1lLCBrZXkpIHsKICAgIC8vIElmIG5vIGtleSwgZGVmYXVsdCB0byB0aGUgZmlyc3QgaXRlbQ
ogICAgaWYgKHR5cGVvZihrZXkpID09PSAidW5kZWZpbmVkIikKICAgICAga2V5ID0gMTsKCiAgICB2YXIgb
GluayA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGRlcG5hbWUgKyAiLSIgKyBrZXkgKyAiLWF0dGFjaG1l
bnQiKTsKICAgIGlmICghbGluaykgewogICAgICB0aHJvdyBuZXcgRXJyb3IoIkF0dGFjaG1lbnQgIiArIGR
lcG5hbWUgKyAiLyIgKyBrZXkgKyAiIG5vdCBmb3VuZCBpbiBkb2N1bWVudCIpOwogICAgfQogICAgcmV0dX
JuIGxpbmsuZ2V0QXR0cmlidXRlKCJocmVmIik7CiAgfTsKCiAgd2luZG93LkhUTUxXaWRnZXRzLmRhdGFmc
mFtZVRvRDMgPSBmdW5jdGlvbihkZikgewogICAgdmFyIG5hbWVzID0gW107CiAgICB2YXIgbGVuZ3RoOwog
ICAgZm9yICh2YXIgbmFtZSBpbiBkZikgewogICAgICAgIGlmIChkZi5oYXNPd25Qcm9wZXJ0eShuYW1lKSk
KICAgICAgICAgICAgbmFtZXMucHVzaChuYW1lKTsKICAgICAgICBpZiAodHlwZW9mKGRmW25hbWVdKSAhPT
0gIm9iamVjdCIgfHwgdHlwZW9mKGRmW25hbWVdLmxlbmd0aCkgPT09ICJ1bmRlZmluZWQiKSB7CiAgICAgI
CAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycmF5cyIpOwogICAgICAgIH0g
ZWxzZSBpZiAodHlwZW9mKGxlbmd0aCkgIT09ICJ1bmRlZmluZWQiICYmIGxlbmd0aCAhPT0gZGZbbmFtZV0
ubGVuZ3RoKSB7CiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQWxsIGZpZWxkcyBtdXN0IGJlIGFycm
F5cyBvZiB0aGUgc2FtZSBsZW5ndGgiKTsKICAgICAgICB9CiAgICAgICAgbGVuZ3RoID0gZGZbbmFtZV0ub
GVuZ3RoOwogICAgfQogICAgdmFyIHJlc3VsdHMgPSBbXTsKICAgIHZhciBpdGVtOwogICAgZm9yICh2YXIg
cm93ID0gMDsgcm93IDwgbGVuZ3RoOyByb3crKykgewogICAgICAgIGl0ZW0gPSB7fTsKICAgICAgICBmb3I
gKHZhciBjb2wgPSAwOyBjb2wgPCBuYW1lcy5sZW5ndGg7IGNvbCsrKSB7CiAgICAgICAgICAgIGl0ZW1bbm
FtZXNbY29sXV0gPSBkZltuYW1lc1tjb2xdXVtyb3ddOwogICAgICAgIH0KICAgICAgICByZXN1bHRzLnB1c
2goaXRlbSk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9OwoKICB3aW5kb3cuSFRNTFdpZGdldHMu
dHJhbnNwb3NlQXJyYXkyRCA9IGZ1bmN0aW9uKGFycmF5KSB7CiAgICAgIGlmIChhcnJheS5sZW5ndGggPT0
9IDApIHJldHVybiBhcnJheTsKICAgICAgdmFyIG5ld0FycmF5ID0gYXJyYXlbMF0ubWFwKGZ1bmN0aW9uKG
NvbCwgaSkgewogICAgICAgICAgcmV0dXJuIGFycmF5Lm1hcChmdW5jdGlvbihyb3cpIHsKICAgICAgICAgI
CAgICByZXR1cm4gcm93W2ldCiAgICAgICAgICB9KQogICAgICB9KTsKICAgICAgcmV0dXJuIG5ld0FycmF5
OwogIH07CiAgLy8gU3BsaXQgdmFsdWUgYXQgc3BsaXRDaGFyLCBidXQgYWxsb3cgc3BsaXRDaGFyIHRvIGJ
lIGVzY2FwZWQKICAvLyB1c2luZyBlc2NhcGVDaGFyLiBBbnkgb3RoZXIgY2hhcmFjdGVycyBlc2NhcGVkIG
J5IGVzY2FwZUNoYXIKICAvLyB3aWxsIGJlIGluY2x1ZGVkIGFzIHVzdWFsIChpbmNsdWRpbmcgZXNjYXBlQ
2hhciBpdHNlbGYpLgogIGZ1bmN0aW9uIHNwbGl0V2l0aEVzY2FwZSh2YWx1ZSwgc3BsaXRDaGFyLCBlc2Nh
cGVDaGFyKSB7CiAgICB2YXIgcmVzdWx0cyA9IFtdOwogICAgdmFyIGVzY2FwZU1vZGUgPSBmYWxzZTsKICA
gIHZhciBjdXJyZW50UmVzdWx0ID0gIiI7CiAgICBmb3IgKHZhciBwb3MgPSAwOyBwb3MgPCB2YWx1ZS5sZW
5ndGg7IHBvcysrKSB7CiAgICAgIGlmICghZXNjYXBlTW9kZSkgewogICAgICAgIGlmICh2YWx1ZVtwb3NdI
D09PSBzcGxpdENoYXIpIHsKICAgICAgICAgIHJlc3VsdHMucHVzaChjdXJyZW50UmVzdWx0KTsKICAgICAg
ICAgIGN1cnJlbnRSZXN1bHQgPSAiIjsKICAgICAgICB9IGVsc2UgaWYgKHZhbHVlW3Bvc10gPT09IGVzY2F
wZUNoYXIpIHsKICAgICAgICAgIGVzY2FwZU1vZGUgPSB0cnVlOwogICAgICAgIH0gZWxzZSB7CiAgICAgIC
AgICBjdXJyZW50UmVzdWx0ICs9IHZhbHVlW3Bvc107CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgI
CAgIGN1cnJlbnRSZXN1bHQgKz0gdmFsdWVbcG9zXTsKICAgICAgICBlc2NhcGVNb2RlID0gZmFsc2U7CiAg
ICAgIH0KICAgIH0KICAgIGlmIChjdXJyZW50UmVzdWx0ICE9PSAiIikgewogICAgICByZXN1bHRzLnB1c2g
oY3VycmVudFJlc3VsdCk7CiAgICB9CiAgICByZXR1cm4gcmVzdWx0czsKICB9CiAgLy8gRnVuY3Rpb24gYX
V0aG9yZWQgYnkgWWlodWkvSkogQWxsYWlyZQogIHdpbmRvdy5IVE1MV2lkZ2V0cy5ldmFsdWF0ZVN0cmluZ
01lbWJlciA9IGZ1bmN0aW9uKG8sIG1lbWJlcikgewogICAgdmFyIHBhcnRzID0gc3BsaXRXaXRoRXNjYXBl
KG1lbWJlciwgJy4nLCAnXFwnKTsKICAgIGZvciAodmFyIGkgPSAwLCBsID0gcGFydHMubGVuZ3RoOyBpIDw
gbDsgaSsrKSB7CiAgICAgIHZhciBwYXJ0ID0gcGFydHNbaV07CiAgICAgIC8vIHBhcnQgbWF5IGJlIGEgY2
hhcmFjdGVyIG9yICdudW1lcmljJyBtZW1iZXIgbmFtZQogICAgICBpZiAobyAhPT0gbnVsbCAmJiB0eXBlb
2YgbyA9PT0gIm9iamVjdCIgJiYgcGFydCBpbiBvKSB7CiAgICAgICAgaWYgKGkgPT0gKGwgLSAxKSkgeyAv
LyBpZiB3ZSBhcmUgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSB0aGVuIGV2YWx1bGF0ZQogICAgICAgICAgaWY
gKHR5cGVvZiBvW3BhcnRdID09PSAic3RyaW5nIikKICAgICAgICAgICAgb1twYXJ0XSA9IHRyeUV2YWwob1
twYXJ0XSk7CiAgICAgICAgfSBlbHNlIHsgLy8gb
3RoZXJ3aXNlIGNvbnRpbnVlIHRvIG5leHQgZW1iZWRkZWQgb2JqZWN0CiAgICAgICAgICBvID0gb1twYXJ0
XTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9OwoKICAvLyBSZXRyaWV2ZSB0aGUgSFRNTFdpZGdldCB
pbnN0YW5jZSAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlIG9mIGFuCiAgLy8gSFRNTFdpZGdldCBiaW5kaW5nJ3
MgaW5pdGlhbGl6ZSgpIG9yIGZhY3RvcnkoKSBmdW5jdGlvbikKICAvLyBhc3NvY2lhdGVkIHdpdGggYW4gZ
WxlbWVudCwgb3IgbnVsbCBpZiBub25lLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZSA9IGZ1
bmN0aW9uKGVsKSB7CiAgICByZXR1cm4gZWxlbWVudERhdGEoZWwsICJpbml0X3Jlc3VsdCIpOwogIH07Cgo
gIC8vIEZpbmRzIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZSBzY29wZSB0aGF0IG1hdGNoZXMgdGhlIHNlbG
VjdG9yLAogIC8vIGFuZCByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlIChpLmUuIHRoZSByZXR1c
m4gdmFsdWUgb2YKICAvLyBhbiBIVE1MV2lkZ2V0IGJpbmRpbmcncyBpbml0aWFsaXplKCkgb3IgZmFjdG9y
eSgpIGZ1bmN0aW9uKQogIC8vIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGVsZW1lbnQsIGlmIGFueS4gSWYgbm8
gZWxlbWVudCBtYXRjaGVzIHRoZQogIC8vIHNlbGVjdG9yLCBvciB0aGUgZmlyc3QgbWF0Y2hpbmcgZWxlbW
VudCBoYXMgbm8gSFRNTFdpZGdldAogIC8vIGluc3RhbmNlIGFzc29jaWF0ZWQgd2l0aCBpdCwgdGhlbiBud
WxsIGlzIHJldHVybmVkLgogIC8vCiAgLy8gVGhlIHNjb3BlIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCBhbmQg
ZGVmYXVsdHMgdG8gd2luZG93LmRvY3VtZW50LgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5maW5kID0gZnVuY3R
pb24oc2NvcGUsIHNlbGVjdG9yKSB7CiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7CiAgICAgIH
NlbGVjdG9yID0gc2NvcGU7CiAgICAgIHNjb3BlID0gZG9jdW1lbnQ7CiAgICB9CgogICAgdmFyIGVsID0gc
2NvcGUucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7CiAgICBpZiAoZWwgPT09IG51bGwpIHsKICAgICAgcmV0
dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd2luZG93LkhUTUxXaWRnZXRzLmdldEluc3R
hbmNlKGVsKTsKICAgIH0KICB9OwoKICAvLyBGaW5kcyBhbGwgZWxlbWVudHMgaW4gdGhlIHNjb3BlIHRoYX
QgbWF0Y2ggdGhlIHNlbGVjdG9yLCBhbmQKICAvLyByZXR1cm5zIHRoZSBIVE1MV2lkZ2V0IGluc3RhbmNlc
yAoaS5lLiB0aGUgcmV0dXJuIHZhbHVlcyBvZgogIC8vIGFuIEhUTUxXaWRnZXQgYmluZGluZydzIGluaXRp
YWxpemUoKSBvciBmYWN0b3J5KCkgZnVuY3Rpb24pCiAgLy8gYXNzb2NpYXRlZCB3aXRoIHRoZSBlbGVtZW5
0cywgaW4gYW4gYXJyYXkuIElmIGVsZW1lbnRzIHRoYXQKICAvLyBtYXRjaCB0aGUgc2VsZWN0b3IgZG9uJ3
QgaGF2ZSBhbiBhc3NvY2lhdGVkIEhUTUxXaWRnZXQKICAvLyBpbnN0YW5jZSwgdGhlIHJldHVybmVkIGFyc
mF5IHdpbGwgY29udGFpbiBudWxscy4KICAvLwogIC8vIFRoZSBzY29wZSBhcmd1bWVudCBpcyBvcHRpb25h
bCwgYW5kIGRlZmF1bHRzIHRvIHdpbmRvdy5kb2N1bWVudC4KICB3aW5kb3cuSFRNTFdpZGdldHMuZmluZEF
sbCA9IGZ1bmN0aW9uKHNjb3BlLCBzZWxlY3RvcikgewogICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMS
kgewogICAgICBzZWxlY3RvciA9IHNjb3BlOwogICAgICBzY29wZSA9IGRvY3VtZW50OwogICAgfQoKICAgI
HZhciBub2RlcyA9IHNjb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpOwogICAgdmFyIHJlc3VsdHMg
PSBbXTsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZXMubGVuZ3RoOyBpKyspIHsKICAgICAgcmVzdWx
0cy5wdXNoKHdpbmRvdy5IVE1MV2lkZ2V0cy5nZXRJbnN0YW5jZShub2Rlc1tpXSkpOwogICAgfQogICAgcm
V0dXJuIHJlc3VsdHM7CiAgfTsKCiAgdmFyIHBvc3RSZW5kZXJIYW5kbGVycyA9IFtdOwogIGZ1bmN0aW9uI
Gludm9rZVBvc3RSZW5kZXJIYW5kbGVycygpIHsKICAgIHdoaWxlIChwb3N0UmVuZGVySGFuZGxlcnMubGVu
Z3RoKSB7CiAgICAgIHZhciBoYW5kbGVyID0gcG9zdFJlbmRlckhhbmRsZXJzLnNoaWZ0KCk7CiAgICAgIGl
mIChoYW5kbGVyKSB7CiAgICAgICAgaGFuZGxlcigpOwogICAgICB9CiAgICB9CiAgfQoKICAvLyBSZWdpc3
RlciB0aGUgZ2l2ZW4gY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgaW52b2tlZCBhZnRlciB0aGUKICAvLyBuZ
Xh0IHRpbWUgc3RhdGljIHdpZGdldHMgYXJlIHJlbmRlcmVkLgogIHdpbmRvdy5IVE1MV2lkZ2V0cy5hZGRQ
b3N0UmVuZGVySGFuZGxlciA9IGZ1bmN0aW9uKGNhbGxiYWNrKSB7CiAgICBwb3N0UmVuZGVySGFuZGxlcnM
ucHVzaChjYWxsYmFjayk7CiAgfTsKCiAgLy8gVGFrZXMgYSBuZXctc3R5bGUgaW5zdGFuY2UtYm91bmQgZG
VmaW5pdGlvbiwgYW5kIHJldHVybnMgYW4KICAvLyBvbGQtc3R5bGUgY2xhc3MtYm91bmQgZGVmaW5pdGlvb
i4gVGhpcyBzYXZlcyB1cyBmcm9tIGhhdmluZwogIC8vIHRvIHJld3JpdGUgYWxsIHRoZSBsb2dpYyBpbiB0
aGlzIGZpbGUgdG8gYWNjb21vZGF0ZSBib3RoCiAgLy8gdHlwZXMgb2YgZGVmaW5pdGlvbnMuCiAgZnVuY3R
pb24gY3JlYXRlTGVnYWN5RGVmaW5pdGlvbkFkYXB0ZXIoZGVmbikgewogICAgdmFyIHJlc3VsdCA9IHsKIC
AgICAgbmFtZTogZGVmbi5uYW1lLAogICAgICB0eXBlOiBkZWZuLnR5cGUsCiAgICAgIGluaXRpYWxpemU6I
GZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0KSB7CiAgICAgICAgcmV0dXJuIGRlZm4uZmFjdG9yeShlbCwg
d2lkdGgsIGhlaWdodCk7CiAgICAgIH0sCiAgICAgIHJlbmRlclZhbHVlOiBmdW5jdGlvbihlbCwgeCwgaW5
zdGFuY2UpIHsKICAgICAgICByZXR1cm4gaW5zdGFuY2UucmVuZGVyVmFsdWUoeCk7CiAgICAgIH0sCiAgIC
AgIHJlc2l6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQsIGluc3RhbmNlKSB7CiAgICAgICAgcmV0d
XJuIGluc3RhbmNlLnJlc2l6ZSh3aWR0aCwgaGVpZ2h0KTsKICAgICAgfQogICAgfTsKCiAgICBpZiAoZGVm
bi5maW5kKQogICAgICByZXN1bHQuZmluZCA9IGRlZm4uZmluZDsKICAgIGlmIChkZWZuLnJlbmRlckVycm9
yKQogICAgICByZXN1bHQucmVuZGVyRXJyb3IgPSBkZWZuLnJlbmRlckVycm9yOwogICAgaWYgKGRlZm4uY2
xlYXJFcnJvcikKICAgICAgcmVzdWx0LmNsZWFyRXJyb3IgPSBkZWZuLmNsZWFyRXJyb3I7CgogICAgcmV0d
XJuIHJlc3VsdDsKICB9Cn0pKCk7Cgo=\"></script>\n",
"<script title=\"jquery\"
src=\"data:application/javascript;base64,LyohIGpRdWVyeSB2My41LjEgfCAoYykgSlMgRm91bm
RhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovCiFmdW5jdGlvb
ihlLHQpeyJ1c2Ugc3RyaWN0Ijsib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmIm9iamVjdCI9PXR5cGVvZiBt
b2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lLmRvY3VtZW50P3QoZSwhMCk6ZnVuY3Rpb24oZSl7aWY
oIWUuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIG
RvY3VtZW50Iik7cmV0dXJuIHQoZSl9OnQoZSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvd
zp0aGlzLGZ1bmN0aW9uKEMsZSl7InVzZSBzdHJpY3QiO3ZhciB0PVtdLHI9T2JqZWN0LmdldFByb3RvdHlw
ZU9mLHM9dC5zbGljZSxnPXQuZmxhdD9mdW5jdGlvbihlKXtyZXR1cm4gdC5mbGF0LmNhbGwoZSl9OmZ1bmN
0aW9uKGUpe3JldHVybiB0LmNvbmNhdC5hcHBseShbXSxlKX0sdT10LnB1c2gsaT10LmluZGV4T2Ysbj17fS
xvPW4udG9TdHJpbmcsdj1uLmhhc093blByb3BlcnR5LGE9di50b1N0cmluZyxsPWEuY2FsbChPYmplY3QpL
Hk9e30sbT1mdW5jdGlvbihlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZSYmIm51bWJlciIhPXR5cGVv
ZiBlLm5vZGVUeXBlfSx4PWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT1lJiZlPT09ZS53aW5kb3d9LEU9Qy5
kb2N1bWVudCxjPXt0eXBlOiEwLHNyYzohMCxub25jZTohMCxub01vZHVsZTohMH07ZnVuY3Rpb24gYihlLH
Qsbil7dmFyIHIsaSxvPShuPW58fEUpLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2lmKG8udGV4dD1lLHQpZ
m9yKHIgaW4gYykoaT10W3JdfHx0LmdldEF0dHJpYnV0ZSYmdC5nZXRBdHRyaWJ1dGUocikpJiZvLnNldEF0
dHJpYnV0ZShyLGkpO24uaGVhZC5hcHBlbmRDaGlsZChvKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pfWZ
1bmN0aW9uIHcoZSl7cmV0dXJuIG51bGw9PWU/
ZSsiIjoib2JqZWN0Ij09dHlwZW9mIGV8fCJmdW5jdGlvbiI9PXR5cGVvZiBlP25bby5jYWxsKGUpXXx8Im9
iamVjdCI6dHlwZW9mIGV9dmFyIGY9IjMuNS4xIixTPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBTLmZuLm
luaXQoZSx0KX07ZnVuY3Rpb24gcChlKXt2YXIgdD0hIWUmJiJsZW5ndGgiaW4gZSYmZS5sZW5ndGgsbj13K
GUpO3JldHVybiFtKGUpJiYheChlKSYmKCJhcnJheSI9PT1ufHwwPT09dHx8Im51bWJlciI9PXR5cGVvZiB0
JiYwPHQmJnQtMSBpbiBlKX1TLmZuPVMucHJvdG90eXBlPXtqcXVlcnk6Zixjb25zdHJ1Y3RvcjpTLGxlbmd
0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gcy5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oZSl7cm
V0dXJuIG51bGw9PWU/
cy5jYWxsKHRoaXMpOmU8MD90aGlzW2UrdGhpcy5sZW5ndGhdOnRoaXNbZV19LHB1c2hTdGFjazpmdW5jdGl
vbihlKXt2YXIgdD1TLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxlKTtyZXR1cm4gdC5wcmV2T2JqZWN0PX
RoaXMsdH0sZWFjaDpmdW5jdGlvbihlKXtyZXR1cm4gUy5lYWNoKHRoaXMsZSl9LG1hcDpmdW5jdGlvbihuK
XtyZXR1cm4gdGhpcy5wdXNoU3RhY2soUy5tYXAodGhpcyxmdW5jdGlvbihlLHQpe3JldHVybiBuLmNhbGwo
ZSx0LGUpfSkpfSxzbGljZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLnB1c2hTdGFjayhzLmFwcGx5KHRoaXM
sYXJndW1lbnRzKSl9LGZpcnN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXEoMCl9LGxhc3Q6ZnVuY3Rpb2
4oKXtyZXR1cm4gdGhpcy5lcSgtMSl9LGV2ZW46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2soU
y5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4odCsxKSUyfSkpfSxvZGQ6ZnVuY3Rpb24oKXtyZXR1
cm4gdGhpcy5wdXNoU3RhY2soUy5ncmVwKHRoaXMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdCUyfSkpfSxlcTp
mdW5jdGlvbihlKXt2YXIgdD10aGlzLmxlbmd0aCxuPStlKyhlPDA/
dDowKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soMDw9biYmbjx0P1t0aGlzW25dXTpbXSl9LGVuZDpmdW5jdGl
vbigpe3JldHVybiB0aGlzLnByZXZPYmplY3R8fHRoaXMuY29uc3RydWN0b3IoKX0scHVzaDp1LHNvcnQ6dC
5zb3J0LHNwbGljZTp0LnNwbGljZX0sUy5leHRlbmQ9Uy5mbi5leHRlbmQ9ZnVuY3Rpb24oKXt2YXIgZSx0L
G4scixpLG8sYT1hcmd1bWVudHNbMF18fHt9LHM9MSx1PWFyZ3VtZW50cy5sZW5ndGgsbD0hMTtmb3IoImJv
b2xlYW4iPT10eXBlb2YgYSYmKGw9YSxhPWFyZ3VtZW50c1tzXXx8e30scysrKSwib2JqZWN0Ij09dHlwZW9
mIGF8fG0oYSl8fChhPXt9KSxzPT09dSYmKGE9dGhpcyxzLS0pO3M8dTtzKyspaWYobnVsbCE9KGU9YXJndW
1lbnRzW3NdKSlmb3IodCBpbiBlKXI9ZVt0XSwiX19wcm90b19fIiE9PXQmJmEhPT1yJiYobCYmciYmKFMua
XNQbGFpbk9iamVjdChyKXx8KGk9QXJyYXkuaXNBcnJheShyKSkpPyhuPWFbdF0sbz1pJiYhQXJyYXkuaXNB
cnJheShuKT9bXTppfHxTLmlzUGxhaW5PYmplY3Qobik/
bjp7fSxpPSExLGFbdF09Uy5leHRlbmQobCxvLHIpKTp2b2lkIDAhPT1yJiYoYVt0XT1yKSk7cmV0dXJuIGF
9LFMuZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhmK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIi
IpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKGUpfSxub29wOmZ1bmN0a
W9uKCl7fSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGUpe3ZhciB0LG47cmV0dXJuISghZXx8IltvYmplY3Qg
T2JqZWN0XSIhPT1vLmNhbGwoZSkpJiYoISh0PXIoZSkpfHwiZnVuY3Rpb24iPT10eXBlb2Yobj12LmNhbGw
odCwiY29uc3RydWN0b3IiKSYmdC5jb25zdHJ1Y3RvcikmJmEuY2FsbChuKT09PWwpfSxpc0VtcHR5T2JqZW
N0OmZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9LGdsb2JhbEV2YWw6Z
nVuY3Rpb24oZSx0LG4pe2IoZSx7bm9uY2U6dCYmdC5ub25jZX0sbil9LGVhY2g6ZnVuY3Rpb24oZSx0KXt2
YXIgbixyPTA7aWYocChlKSl7Zm9yKG49ZS5sZW5ndGg7cjxuO3IrKylpZighMT09PXQuY2FsbChlW3JdLHI
sZVtyXSkpYnJlYWt9ZWxzZSBmb3IociBpbiBlKWlmKCExPT09dC5jYWxsKGVbcl0scixlW3JdKSlicmVhaz
tyZXR1cm4gZX0sbWFrZUFycmF5OmZ1bmN0aW9uKGUsdCl7dmFyIG49dHx8W107cmV0dXJuIG51bGwhPWUmJ
ihwKE9iamVjdChlKSk/
Uy5tZXJnZShuLCJzdHJpbmciPT10eXBlb2YgZT9bZV06ZSk6dS5jYWxsKG4sZSkpLG59LGluQXJyYXk6ZnV
uY3Rpb24oZSx0LG4pe3JldHVybiBudWxsPT10Py0xOmkuY2FsbCh0LGUsbil9LG1lcmdlOmZ1bmN0aW9uKG
UsdCl7Zm9yKHZhciBuPSt0Lmxlbmd0aCxyPTAsaT1lLmxlbmd0aDtyPG47cisrKWVbaSsrXT10W3JdO3Jld
HVybiBlLmxlbmd0aD1pLGV9LGdyZXA6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1bXSxpPTAsbz1lLmxl
bmd0aCxhPSFuO2k8bztpKyspIXQoZVtpXSxpKSE9PWEmJnIucHVzaChlW2ldKTtyZXR1cm4gcn0sbWFwOmZ
1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89MCxhPVtdO2lmKHAoZSkpZm9yKHI9ZS5sZW5ndGg7bzxyO28rKy
ludWxsIT0oaT10KGVbb10sbyxuKSkmJmEucHVzaChpKTtlbHNlIGZvcihvIGluIGUpbnVsbCE9KGk9dChlW
29dLG8sbikpJiZhLnB1c2goaSk7cmV0dXJuIGcoYSl9LGd1aWQ6MSxzdXBwb3J0Onl9KSwiZnVuY3Rpb24i
PT10eXBlb2YgU3ltYm9sJiYoUy5mbltTeW1ib2wuaXRlcmF0b3JdPXRbU3ltYm9sLml0ZXJhdG9yXSksUy5
lYWNoKCJCb29sZWFuIE51bWJlciBTdHJpbmcgRnVuY3Rpb24gQXJyYXkgRGF0ZSBSZWdFeHAgT2JqZWN0IE
Vycm9yIFN5bWJvbCIuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe25bIltvYmplY3QgIit0KyJdIl09dC50b
0xvd2VyQ2FzZSgpfSk7dmFyIGQ9ZnVuY3Rpb24obil7dmFyIGUsZCxiLG8saSxoLGYsZyx3LHUsbCxULEMs
YSxFLHYscyxjLHksUz0ic2l6emxlIisxKm5ldyBEYXRlLHA9bi5kb2N1bWVudCxrPTAscj0wLG09dWUoKSx
4PXVlKCksQT11ZSgpLE49dWUoKSxEPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9PT10JiYobD0hMCksMH0saj
17fS5oYXNPd25Qcm9wZXJ0eSx0PVtdLHE9dC5wb3AsTD10LnB1c2gsSD10LnB1c2gsTz10LnNsaWNlLFA9Z
nVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspaWYoZVtuXT09PXQpcmV0dXJu
IG47cmV0dXJuLTF9LFI9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnR
yb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cm
VxdWlyZWR8c2NvcGVkIixNPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixJPSIoPzpcXFxcW1xcZGEtZkEtRl17M
Sw2fSIrTSsiP3xcXFxcW15cXHJcXG5cXGZdfFtcXHctXXxbXlwwLVxceDdmXSkrIixXPSJcXFsiK00rIioo
IitJKyIpKD86IitNKyIqKFsqXiR8IX5dPz0pIitNKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCI
oKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrSSsiKSl8KSIrTSsiKlxcXSIsRj0iOigiK0krIikoPzpcXC
goKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/
OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK1crIikqKXwuKilcXCl
8KSIsQj1uZXcgUmVnRXhwKE0rIisiLCJnIiksJD1uZXcgUmVnRXhwKCJeIitNKyIrfCgoPzpefFteXFxcXF
0pKD86XFxcXC4pKikiK00rIiskIiwiZyIpLF89bmV3IFJlZ0V4cCgiXiIrTSsiKiwiK00rIioiKSx6PW5ld
yBSZWdFeHAoIl4iK00rIiooWz4rfl18IitNKyIpIitNKyIqIiksVT1uZXcgUmVnRXhwKE0rInw+IiksWD1u
ZXcgUmVnRXhwKEYpLFY9bmV3IFJlZ0V4cCgiXiIrSSsiJCIpLEc9e0lEOm5ldyBSZWdFeHAoIl4jKCIrSSs
iKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitJKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitJKyJ8Wy
pdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrVyksUFNFVURPOm5ldyBSZWdFeHAoIl4iK0YpLENISUxEOm5ld
yBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/
OlxcKCIrTSsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTSsiKig/
OihbKy1dfCkiK00rIiooXFxkKyl8KSkiK00rIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzo
iK1IrIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitNKyIqWz4rfl18OihldmVufG9kZH
xlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK00rIiooKD86LVxcZCk/
XFxkKikiK00rIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFk9L0hUTUwkL2ksUT0vXig/
OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLEo9L15oXGQkL2ksSz0vXltee10rXHtccypcW25
hdGl2ZSBcdy8sWj0vXig/
OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLGVlPS9bK35dLyx0ZT1uZXcgUmVnRXhwKCJcXFxcW1x
cZGEtZkEtRl17MSw2fSIrTSsiP3xcXFxcKFteXFxyXFxuXFxmXSkiLCJnIiksbmU9ZnVuY3Rpb24oZSx0KX
t2YXIgbj0iMHgiK2Uuc2xpY2UoMSktNjU1MzY7cmV0dXJuIHR8fChuPDA/
U3RyaW5nLmZyb21DaGFyQ29kZShuKzY1NTM2KTpTdHJpbmcuZnJvbUNoYXJDb2RlKG4+PjEwfDU1Mjk2LDE
wMjMmbnw1NjMyMCkpfSxyZT0vKFtcMC1ceDFmXHg3Zl18Xi0/
XGQpfF4tJHxbXlwwLVx4MWZceDdmLVx1RkZGRlx3LV0vZyxpZT1mdW5jdGlvbihlLHQpe3JldHVybiB0PyJ
cMCI9PT1lPyJcdWZmZmQiOmUuc2xpY2UoMCwtMSkrIlxcIitlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkudG
9TdHJpbmcoMTYpKyIgIjoiXFwiK2V9LG9lPWZ1bmN0aW9uKCl7VCgpfSxhZT1iZShmdW5jdGlvbihlKXtyZ
XR1cm4hMD09PWUuZGlzYWJsZWQmJiJmaWVsZHNldCI9PT1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCl9LHtk
aXI6InBhcmVudE5vZGUiLG5leHQ6ImxlZ2VuZCJ9KTt0cnl7SC5hcHBseSh0PU8uY2FsbChwLmNoaWxkTm9
kZXMpLHAuY2hpbGROb2RlcyksdFtwLmNoaWxkTm9kZXMubGVuZ3RoXS5ub2RlVHlwZX1jYXRjaChlKXtIPX
thcHBseTp0Lmxlbmd0aD9mdW5jdGlvbihlLHQpe0wuYXBwbHkoZSxPLmNhbGwodCkpfTpmdW5jdGlvbihlL
HQpe3ZhciBuPWUubGVuZ3RoLHI9MDt3aGlsZShlW24rK109dFtyKytdKTtlLmxlbmd0aD1uLTF9fX1mdW5j
dGlvbiBzZSh0LGUsbixyKXt2YXIgaSxvLGEscyx1LGwsYyxmPWUmJmUub3duZXJEb2N1bWVudCxwPWU/
ZS5ub2RlVHlwZTo5O2lmKG49bnx8W10sInN0cmluZyIhPXR5cGVvZiB0fHwhdHx8MSE9PXAmJjkhPT1wJiY
xMSE9PXApcmV0dXJuIG47aWYoIXImJihUKGUpLGU9ZXx8QyxFKSl7aWYoMTEhPT1wJiYodT1aLmV4ZWModC
kpKWlmKGk9dVsxXSl7aWYoOT09PXApe2lmKCEoYT1lLmdldEVsZW1lbnRCeUlkKGkpKSlyZXR1cm4gbjtpZ
ihhLmlkPT09aSlyZXR1cm4gbi5wdXNoKGEpLG59ZWxzZSBpZihmJiYoYT1mLmdldEVsZW1lbnRCeUlkKGkp
KSYmeShlLGEpJiZhLmlkPT09aSlyZXR1cm4gbi5wdXNoKGEpLG59ZWxzZXtpZih1WzJdKXJldHVybiBILmF
wcGx5KG4sZS5nZXRFbGVtZW50c0J5VGFnTmFtZSh0KSksbjtpZigoaT11WzNdKSYmZC5nZXRFbGVtZW50c0
J5Q2xhc3NOYW1lJiZlLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpcmV0dXJuIEguYXBwbHkobixlLmdldEVsZ
W1lbnRzQnlDbGFzc05hbWUoaSkpLG59aWYoZC5xc2EmJiFOW3QrIiAiXSYmKCF2fHwhdi50ZXN0KHQpKSYm
KDEhPT1wfHwib2JqZWN0IiE9PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkpe2lmKGM9dCxmPWUsMT09PXA
mJihVLnRlc3QodCl8fHoudGVzdCh0KSkpeyhmPWVlLnRlc3QodCkmJnllKGUucGFyZW50Tm9kZSl8fGUpPT
09ZSYmZC5zY29wZXx8KChzPWUuZ2V0QXR0cmlidXRlKCJpZCIpKT9zPXMucmVwbGFjZShyZSxpZSk6ZS5zZ
XRBdHRyaWJ1dGUoImlkIixzPVMpKSxvPShsPWgodCkpLmxlbmd0aDt3aGlsZShvLS0pbFtvXT0ocz8iIyIr
czoiOnNjb3BlIikrIiAiK3hlKGxbb10pO2M9bC5qb2luKCIsIil9dHJ5e3JldHVybiBILmFwcGx5KG4sZi5
xdWVyeVNlbGVjdG9yQWxsKGMpKSxufWNhdGNoKGUpe04odCwhMCl9ZmluYWxseXtzPT09UyYmZS5yZW1vdm
VBdHRyaWJ1dGUoImlkIil9fX1yZXR1cm4gZyh0LnJlcGxhY2UoJCwiJDEiKSxlLG4scil9ZnVuY3Rpb24gd
WUoKXt2YXIgcj1bXTtyZXR1cm4gZnVuY3Rpb24gZSh0LG4pe3JldHVybiByLnB1c2godCsiICIpPmIuY2Fj
aGVMZW5ndGgmJmRlbGV0ZSBlW3Iuc2hpZnQoKV0sZVt0KyIgIl09bn19ZnVuY3Rpb24gbGUoZSl7cmV0dXJ
uIGVbU109ITAsZX1mdW5jdGlvbiBjZShlKXt2YXIgdD1DLmNyZWF0ZUVsZW1lbnQoImZpZWxkc2V0Iik7dH
J5e3JldHVybiEhZSh0KX1jYXRjaChlKXtyZXR1cm4hMX1maW5hbGx5e3QucGFyZ
W50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLHQ9bnVsbH19ZnVuY3Rpb24gZmUoZSx0KXt2
YXIgbj1lLnNwbGl0KCJ8Iikscj1uLmxlbmd0aDt3aGlsZShyLS0pYi5hdHRySGFuZGxlW25bcl1dPXR9ZnV
uY3Rpb24gcGUoZSx0KXt2YXIgbj10JiZlLHI9biYmMT09PWUubm9kZVR5cGUmJjE9PT10Lm5vZGVUeXBlJi
ZlLnNvdXJjZUluZGV4LXQuc291cmNlSW5kZXg7aWYocilyZXR1cm4gcjtpZihuKXdoaWxlKG49bi5uZXh0U
2libGluZylpZihuPT09dClyZXR1cm4tMTtyZXR1cm4gZT8xOi0xfWZ1bmN0aW9uIGRlKHQpe3JldHVybiBm
dW5jdGlvbihlKXtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZlLnR5cGU9PT1
0fX1mdW5jdGlvbiBoZShuKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZS5ub2RlTmFtZS50b0xvd2VyQ2
FzZSgpO3JldHVybigiaW5wdXQiPT09dHx8ImJ1dHRvbiI9PT10KSYmZS50eXBlPT09bn19ZnVuY3Rpb24gZ
2UodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiJmb3JtImluIGU/
ZS5wYXJlbnROb2RlJiYhMT09PWUuZGlzYWJsZWQ/ImxhYmVsImluIGU/
ImxhYmVsImluIGUucGFyZW50Tm9kZT9lLnBhcmVudE5vZGUuZGlzYWJsZWQ9PT10OmUuZGlzYWJsZWQ9PT1
0OmUuaXNEaXNhYmxlZD09PXR8fGUuaXNEaXNhYmxlZCE9PSF0JiZhZShlKT09PXQ6ZS5kaXNhYmxlZD09PX
Q6ImxhYmVsImluIGUmJmUuZGlzYWJsZWQ9PT10fX1mdW5jdGlvbiB2ZShhKXtyZXR1cm4gbGUoZnVuY3Rpb
24obyl7cmV0dXJuIG89K28sbGUoZnVuY3Rpb24oZSx0KXt2YXIgbixyPWEoW10sZS5sZW5ndGgsbyksaT1y
Lmxlbmd0aDt3aGlsZShpLS0pZVtuPXJbaV1dJiYoZVtuXT0hKHRbbl09ZVtuXSkpfSl9KX1mdW5jdGlvbiB
5ZShlKXtyZXR1cm4gZSYmInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZlfW
ZvcihlIGluIGQ9c2Uuc3VwcG9ydD17fSxpPXNlLmlzWE1MPWZ1bmN0aW9uKGUpe3ZhciB0PWUubmFtZXNwY
WNlVVJJLG49KGUub3duZXJEb2N1bWVudHx8ZSkuZG9jdW1lbnRFbGVtZW50O3JldHVybiFZLnRlc3QodHx8
biYmbi5ub2RlTmFtZXx8IkhUTUwiKX0sVD1zZS5zZXREb2N1bWVudD1mdW5jdGlvbihlKXt2YXIgdCxuLHI
9ZT9lLm93bmVyRG9jdW1lbnR8fGU6cDtyZXR1cm4gciE9QyYmOT09PXIubm9kZVR5cGUmJnIuZG9jdW1lbn
RFbGVtZW50JiYoYT0oQz1yKS5kb2N1bWVudEVsZW1lbnQsRT0haShDKSxwIT1DJiYobj1DLmRlZmF1bHRWa
WV3KSYmbi50b3AhPT1uJiYobi5hZGRFdmVudExpc3RlbmVyP24uYWRkRXZlbnRMaXN0ZW5lcigidW5sb2Fk
IixvZSwhMSk6bi5hdHRhY2hFdmVudCYmbi5hdHRhY2hFdmVudCgib251bmxvYWQiLG9lKSksZC5zY29wZT1
jZShmdW5jdGlvbihlKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChDLmNyZWF0ZUVsZW
1lbnQoImRpdiIpKSwidW5kZWZpbmVkIiE9dHlwZW9mIGUucXVlcnlTZWxlY3RvckFsbCYmIWUucXVlcnlTZ
WxlY3RvckFsbCgiOnNjb3BlIGZpZWxkc2V0IGRpdiIpLmxlbmd0aH0pLGQuYXR0cmlidXRlcz1jZShmdW5j
dGlvbihlKXtyZXR1cm4gZS5jbGFzc05hbWU9ImkiLCFlLmdldEF0dHJpYnV0ZSgiY2xhc3NOYW1lIil9KSx
kLmdldEVsZW1lbnRzQnlUYWdOYW1lPWNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmFwcGVuZENoaWxkKEMuY3
JlYXRlQ29tbWVudCgiIikpLCFlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCIqIikubGVuZ3RofSksZC5nZXRFb
GVtZW50c0J5Q2xhc3NOYW1lPUsudGVzdChDLmdldEVsZW1lbnRzQnlDbGFzc05hbWUpLGQuZ2V0QnlJZD1j
ZShmdW5jdGlvbihlKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChlKS5pZD1TLCFDLmdldEVsZW1lbnRzQnlOYW1
lfHwhQy5nZXRFbGVtZW50c0J5TmFtZShTKS5sZW5ndGh9KSxkLmdldEJ5SWQ/
KGIuZmlsdGVyLklEPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSh0ZSxuZSk7cmV0dXJuIGZ1bmN0aW9
uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSgiaWQiKT09PXR9fSxiLmZpbmQuSUQ9ZnVuY3Rpb24oZSx0KX
tpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudEJ5SWQmJkUpe3ZhciBuPXQuZ2V0RWxlbWVud
EJ5SWQoZSk7cmV0dXJuIG4/
W25dOltdfX0pOihiLmZpbHRlci5JRD1mdW5jdGlvbihlKXt2YXIgbj1lLnJlcGxhY2UodGUsbmUpO3JldHV
ybiBmdW5jdGlvbihlKXt2YXIgdD0idW5kZWZpbmVkIiE9dHlwZW9mIGUuZ2V0QXR0cmlidXRlTm9kZSYmZS
5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiB0JiZ0LnZhbHVlPT09bn19LGIuZmluZC5JRD1mdW5jd
GlvbihlLHQpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgdC5nZXRFbGVtZW50QnlJZCYmRSl7dmFyIG4scixp
LG89dC5nZXRFbGVtZW50QnlJZChlKTtpZihvKXtpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZ
uLnZhbHVlPT09ZSlyZXR1cm5bb107aT10LmdldEVsZW1lbnRzQnlOYW1lKGUpLHI9MDt3aGlsZShvPWlbci
srXSlpZigobj1vLmdldEF0dHJpYnV0ZU5vZGUoImlkIikpJiZuLnZhbHVlPT09ZSlyZXR1cm5bb119cmV0d
XJuW119fSksYi5maW5kLlRBRz1kLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGUsdCl7cmV0dXJu
InVuZGVmaW5lZCIhPXR5cGVvZiB0LmdldEVsZW1lbnRzQnlUYWdOYW1lP3QuZ2V0RWxlbWVudHNCeVRhZ05
hbWUoZSk6ZC5xc2E/
dC5xdWVyeVNlbGVjdG9yQWxsKGUpOnZvaWQgMH06ZnVuY3Rpb24oZSx0KXt2YXIgbixyPVtdLGk9MCxvPXQ
uZ2V0RWxlbWVudHNCeVRhZ05hbWUoZSk7aWYoIioiPT09ZSl7d2hpbGUobj1vW2krK10pMT09PW4ubm9kZV
R5cGUmJnIucHVzaChuKTtyZXR1cm4gcn1yZXR1cm4gb30sYi5maW5kLkNMQVNTPWQuZ2V0RWxlbWVudHNCe
UNsYXNzTmFtZSYmZnVuY3Rpb24oZSx0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQuZ2V0RWxlbWVudHNC
eUNsYXNzTmFtZSYmRSlyZXR1cm4gdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGUpfSxzPVtdLHY9W10sKGQ
ucXNhPUsudGVzdChDLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGNlKGZ1bmN0aW9uKGUpe3ZhciB0O2EuYXBwZW
5kQ2hpbGQoZSkuaW5uZXJIVE1MPSI8YSBpZD0nIitTKyInPjwvYT48c2VsZWN0IGlkPSciK1MrIi1cclxcJ
yBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsZS5x
dWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmdi5wdXNoKCJbKl4kXT0
iK00rIiooPzonJ3xcIlwiKSIpLGUucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8di
5wdXNoKCJcXFsiK00rIiooPzp2YWx1ZXwiK1IrIikiKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49IitTK
yItXSIpLmxlbmd0aHx8di5wdXNoKCJ+PSIpLCh0PUMuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuc2V0QXR0
cmlidXRlKCJuYW1lIiwiIiksZS5hcHBlbmRDaGlsZCh0KSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPSc
nXSIpLmxlbmd0aHx8di5wdXNoKCJcXFsiK00rIipuYW1lIitNKyIqPSIrTSsiKig/
OicnfFwiXCIpIiksZS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8di5wdXNoKCI6Y2h
lY2tlZCIpLGUucXVlcnlTZWxlY3RvckFsbCgiYSMiK1MrIisqIikubGVuZ3RofHx2LnB1c2goIi4jLitbK3
5dIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJcXFxmIiksdi5wdXNoKCJbXFxyXFxuXFxmXSIpfSksY2UoZnVuY
3Rpb24oZSl7ZS5pbm5lckhUTUw9IjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+PHNlbGVj
dCBkaXNhYmxlZD0nZGlzYWJsZWQnPjxvcHRpb24vPjwvc2VsZWN0PiI7dmFyIHQ9Qy5jcmVhdGVFbGVtZW5
0KCJpbnB1dCIpO3Quc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksZS5hcHBlbmRDaGlsZCh0KS5zZX
RBdHRyaWJ1dGUoIm5hbWUiLCJEIiksZS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmd
i5wdXNoKCJuYW1lIitNKyIqWypeJHwhfl0/
PSIpLDIhPT1lLnF1ZXJ5U2VsZWN0b3JBbGwoIjplbmFibGVkIikubGVuZ3RoJiZ2LnB1c2goIjplbmFibGV
kIiwiOmRpc2FibGVkIiksYS5hcHBlbmRDaGlsZChlKS5kaXNhYmxlZD0hMCwyIT09ZS5xdWVyeVNlbGVjdG
9yQWxsKCI6ZGlzYWJsZWQiKS5sZW5ndGgmJnYucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxlLnF1Z
XJ5U2VsZWN0b3JBbGwoIiosOngiKSx2LnB1c2goIiwuKjoiKX0pKSwoZC5tYXRjaGVzU2VsZWN0b3I9Sy50
ZXN0KGM9YS5tYXRjaGVzfHxhLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8YS5tb3pNYXRjaGVzU2VsZWN0b3J
8fGEub01hdGNoZXNTZWxlY3Rvcnx8YS5tc01hdGNoZXNTZWxlY3RvcikpJiZjZShmdW5jdGlvbihlKXtkLm
Rpc2Nvbm5lY3RlZE1hdGNoPWMuY2FsbChlLCIqIiksYy5jYWxsKGUsIltzIT0nJ106eCIpLHMucHVzaCgiI
T0iLEYpfSksdj12Lmxlbmd0aCYmbmV3IFJlZ0V4cCh2LmpvaW4oInwiKSkscz1zLmxlbmd0aCYmbmV3IFJl
Z0V4cChzLmpvaW4oInwiKSksdD1LLnRlc3QoYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbikseT10fHxLLnR
lc3QoYS5jb250YWlucyk/
ZnVuY3Rpb24oZSx0KXt2YXIgbj05PT09ZS5ub2RlVHlwZT9lLmRvY3VtZW50RWxlbWVudDplLHI9dCYmdC5
wYXJlbnROb2RlO3JldHVybiBlPT09cnx8ISghcnx8MSE9PXIubm9kZVR5cGV8fCEobi5jb250YWlucz9uLm
NvbnRhaW5zKHIpOmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24mJjE2JmUuY29tcGFyZURvY3VtZW50UG9za
XRpb24ocikpKX06ZnVuY3Rpb24oZSx0KXtpZih0KXdoaWxlKHQ9dC5wYXJlbnROb2RlKWlmKHQ9PT1lKXJl
dHVybiEwO3JldHVybiExfSxEPXQ/
ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gbD0hMCwwO3ZhciBuPSFlLmNvbXBhcmVEb2N1bWVudFB
vc2l0aW9uLSF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uO3JldHVybiBufHwoMSYobj0oZS5vd25lckRvY3
VtZW50fHxlKT09KHQub3duZXJEb2N1bWVudHx8dCk/
ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KToxKXx8IWQuc29ydERldGFjaGVkJiZ0LmNvbXBhcmVEb2N
1bWVudFBvc2l0aW9uKGUpPT09bj9lPT1DfHxlLm93bmVyRG9jdW1lbnQ9PXAmJnkocCxlKT8tMTp0PT1DfH
x0Lm93bmVyRG9jdW1lbnQ9PXAmJnkocCx0KT8xOnU/
UCh1LGUpLVAodSx0KTowOjQmbj8tMToxKX06ZnVuY3Rpb24oZSx0KXtpZihlPT09dClyZXR1cm4gbD0hMCw
wO3ZhciBuLHI9MCxpPWUucGFyZW50Tm9kZSxvPXQucGFyZW50Tm9kZSxhPVtlXSxzPVt0XTtpZighaXx8IW
8pcmV0dXJuIGU9PUM/LTE6dD09Qz8xOmk/LTE6bz8xOnU/
UCh1LGUpLVAodSx0KTowO2lmKGk9PT1vKXJldHVybiBwZShlLHQpO249ZTt3aGlsZShuPW4ucGFyZW50Tm9
kZSlhLnVuc2hpZnQobik7bj10O3doaWxlKG49bi5wYXJlbnROb2RlKXMudW5zaGlmdChuKTt3aGlsZShhW3
JdPT09c1tyXSlyKys7cmV0dXJuIHI/cGUoYVtyXSxzW3JdKTphW3JdPT1wPy0xOnNbcl09PXA/
MTowfSksQ30sc2UubWF0Y2hlcz1mdW5jdGlvbihlLHQpe3JldHVybiBzZShlLG51bGwsbnVsbCx0KX0sc2U
ubWF0Y2hlc1NlbGVjdG9yPWZ1bmN0aW9uKGUsdCl7aWYoVChlKSxkLm1hdGNoZXNTZWxlY3RvciYmRSYmIU
5bdCsiICJdJiYoIXN8fCFzLnRlc3QodCkpJiYoIXZ8fCF2LnRlc3QodCkpKXRyeXt2YXIgbj1jLmNhbGwoZ
Sx0KTtpZihufHxkLmRpc2Nvbm5lY3RlZE1hdGNofHxlLmRvY3VtZW50JiYxMSE9PWUuZG9jdW1lbnQubm9k
ZVR5cGUpcmV0dXJuIG59Y2F0Y2goZSl7Tih0LCEwKX1yZXR1cm4gMDxzZSh0LEMsbnVsbCxbZV0pLmxlbmd
0aH0sc2UuY29udGFpbnM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4oZS5vd25lckRvY3VtZW50fHxlKSE9QyYmVC
hlKSx5KGUsdCl9LHNlLmF0dHI9ZnVuY3Rpb24oZSx0KXsoZS5vd25lckRvY3VtZW50fHxlKSE9QyYmVChlK
Tt2YXIgbj1iLmF0dHJIYW5kbGVbdC50b0xvd2VyQ2FzZSgpXSxyPW4mJmouY2FsbChiLmF0dHJIYW5kbGUs
dC50b0xvd2VyQ2FzZSgpKT9uKGUsdCwhRSk6dm9pZCAwO3JldHVybiB2b2lkIDAhPT1yP3I6ZC5hdHRyaWJ
1dGVzfHwhRT9lLmdldEF0dHJpYnV0ZSh0KToocj1lLmdldEF0dHJpYnV0ZU5vZGUodCkpJiZyLnNwZWNpZm
llZD9yLnZhbHVlOm51bGx9LHNlLmVzY2FwZT1mdW5jdGlvbihlKXtyZXR1cm4oZSsiIikucmVwbGFjZShyZ
SxpZSl9LHNlLmVycm9yPWZ1bmN0aW9uKGUpe3Rocm93IG5ldyBFcnJvcigiU3ludGF4IGVycm9yLCB1bnJl
Y29nbml6ZWQgZXhwcmVzc2lvbjogIitlKX0sc2UudW5pcXVlU29ydD1mdW5jdGlvbihlKXt2YXIgdCxuPVt
dLHI9MCxpPTA7aWYobD0hZC5kZXRlY3REdXBsaWNhdGVzLHU9IWQuc29ydFN0YWJsZSYmZS5zbGljZSgwKS
xlLnNvcnQoRCksbCl7d2hpbGUodD1lW2krK10pdD09PWVbaV0mJihyPW4ucHVzaChpKSk7d2hpbGUoci0tK
WUuc3BsaWNlKG5bcl0sMSl9cmV0dXJuIHU9bnVsbCxlfSxvPXNlLmdldFRleHQ9ZnVuY3Rpb24oZSl7dmFy
IHQsbj0iIixyPTAsaT1lLm5vZGVUeXBlO2lmKGkpe2lmKDE9PT1pfHw5PT09aXx8MTE9PT1pKXtpZigic3R
yaW5nIj09dHlwZW9mIGUudGV4dENvbnRlbnQpcmV0dXJuIGUudGV4dENvbnRlbnQ7Zm9yKGU9ZS5maXJzdE
NoaWxkO2U7ZT1lLm5leHRTaWJsaW5nKW4rPW8oZSl9ZWxzZSBpZigzPT09aXx8ND09PWkpcmV0dXJuIGUub
m9kZVZhbHVlfWVsc2Ugd2hpbGUodD1lW3IrK10pbis9byh0KTtyZXR1cm4gbn0sKGI9c2Uuc2VsZWN0b3Jz
PXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86bGUsbWF0Y2g6RyxhdHRySGFuZGxlOnt9LGZpbmQ6e30
scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZG
UifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2lib
GluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMV09ZVsxXS5yZXBsYWNlKHRl
LG5lKSxlWzNdPShlWzNdfHxlWzRdfHxlWzVdfHwiIikucmVwbGFjZSh0ZSxuZSksIn49Ij09PWVbMl0mJih
lWzNdPSIgIitlWzNdKyIgIiksZS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihlKXtyZXR1cm4gZVsxXT
1lWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1lWzFdLnNsaWNlKDAsMyk/
KGVbM118fHNlLmVycm9yKGVbMF0pLGVbNF09KyhlWzRdP2VbNV0rKGVbNl18fDEpOjIqKCJldmVuIj09PWV
bM118fCJvZGQiPT09ZVszXSkpLGVbNV09KyhlWzddK2VbOF18fCJvZGQiPT09ZVszXSkpOmVbM10mJnNlLm
Vycm9yKGVbMF0pLGV9LFBTRVVETzpmdW5jdGlvbihlKXt2YXIgdCxuPSFlWzZdJiZlWzJdO3JldHVybiBHL
kNISUxELnRlc3QoZVswXSk/
bnVsbDooZVszXT9lWzJdPWVbNF18fGVbNV18fCIiOm4mJlgudGVzdChuKSYmKHQ9aChuLCEwKSkmJih0PW4
uaW5kZXhPZigiKSIsbi5sZW5ndGgtdCktbi5sZW5ndGgpJiYoZVswXT1l
WzBdLnNsaWNlKDAsdCksZVsyXT1uLnNsaWNlKDAsdCkpLGUuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzp
mdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UodGUsbmUpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09ZT
9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihlKXtyZXR1cm4gZS5ub2RlTmFtZSYmZS5ub2RlTmFtZ
S50b0xvd2VyQ2FzZSgpPT09dH19LENMQVNTOmZ1bmN0aW9uKGUpe3ZhciB0PW1bZSsiICJdO3JldHVybiB0
fHwodD1uZXcgUmVnRXhwKCIoXnwiK00rIikiK2UrIigiK00rInwkKSIpKSYmbShlLGZ1bmN0aW9uKGUpe3J
ldHVybiB0LnRlc3QoInN0cmluZyI9PXR5cGVvZiBlLmNsYXNzTmFtZSYmZS5jbGFzc05hbWV8fCJ1bmRlZm
luZWQiIT10eXBlb2YgZS5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQ
VRUUjpmdW5jdGlvbihuLHIsaSl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PXNlLmF0dHIoZSxuKTtyZXR1
cm4gbnVsbD09dD8iIT0iPT09cjohcnx8KHQrPSIiLCI9Ij09PXI/dD09PWk6IiE9Ij09PXI/
dCE9PWk6Il49Ij09PXI/
aSYmMD09PXQuaW5kZXhPZihpKToiKj0iPT09cj9pJiYtMTx0LmluZGV4T2YoaSk6IiQ9Ij09PXI/
aSYmdC5zbGljZSgtaS5sZW5ndGgpPT09aToifj0iPT09cj8tMTwoIiAiK3QucmVwbGFjZShCLCIgIikrIiA
iKS5pbmRleE9mKGkpOiJ8PSI9PT1yJiYodD09PWl8fHQuc2xpY2UoMCxpLmxlbmd0aCsxKT09PWkrIi0iKS
l9fSxDSElMRDpmdW5jdGlvbihoLGUsdCxnLHYpe3ZhciB5PSJudGgiIT09aC5zbGljZSgwLDMpLG09Imxhc
3QiIT09aC5zbGljZSgtNCkseD0ib2YtdHlwZSI9PT1lO3JldHVybiAxPT09ZyYmMD09PXY/
ZnVuY3Rpb24oZSl7cmV0dXJuISFlLnBhcmVudE5vZGV9OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSx
zLHUsbD15IT09bT8ibmV4dFNpYmxpbmciOiJwcmV2aW91c1NpYmxpbmciLGM9ZS5wYXJlbnROb2RlLGY9eC
YmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLHA9IW4mJiF4LGQ9ITE7aWYoYyl7aWYoeSl7d2hpbGUobCl7Y
T1lO3doaWxlKGE9YVtsXSlpZih4P2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWY6MT09PWEubm9kZVR5
cGUpcmV0dXJuITE7dT1sPSJvbmx5Ij09PWgmJiF1JiYibmV4dFNpYmxpbmcifXJldHVybiEwfWlmKHU9W20
/
Yy5maXJzdENoaWxkOmMubGFzdENoaWxkXSxtJiZwKXtkPShzPShyPShpPShvPShhPWMpW1NdfHwoYVtTXT1
7fSkpW2EudW5pcXVlSURdfHwob1thLnVuaXF1ZUlEXT17fSkpW2hdfHxbXSlbMF09PT1rJiZyWzFdKSYmcl
syXSxhPXMmJmMuY2hpbGROb2Rlc1tzXTt3aGlsZShhPSsrcyYmYSYmYVtsXXx8KGQ9cz0wKXx8dS5wb3AoK
SlpZigxPT09YS5ub2RlVHlwZSYmKytkJiZhPT09ZSl7aVtoXT1bayxzLGRdO2JyZWFrfX1lbHNlIGlmKHAm
JihkPXM9KHI9KGk9KG89KGE9ZSlbU118fChhW1NdPXt9KSlbYS51bmlxdWVJRF18fChvW2EudW5pcXVlSUR
dPXt9KSlbaF18fFtdKVswXT09PWsmJnJbMV0pLCExPT09ZCl3aGlsZShhPSsrcyYmYSYmYVtsXXx8KGQ9cz
0wKXx8dS5wb3AoKSlpZigoeD9hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1mOjE9PT1hLm5vZGVUeXBlK
SYmKytkJiYocCYmKChpPShvPWFbU118fChhW1NdPXt9KSlbYS51bmlxdWVJRF18fChvW2EudW5pcXVlSURd
PXt9KSlbaF09W2ssZF0pLGE9PT1lKSlicmVhaztyZXR1cm4oZC09dik9PT1nfHxkJWc9PTAmJjA8PWQvZ31
9fSxQU0VVRE86ZnVuY3Rpb24oZSxvKXt2YXIgdCxhPWIucHNldWRvc1tlXXx8Yi5zZXRGaWx0ZXJzW2UudG
9Mb3dlckNhc2UoKV18fHNlLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrZSk7cmV0dXJuIGFbU10/
YShvKToxPGEubGVuZ3RoPyh0PVtlLGUsIiIsb10sYi5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGUudG9
Mb3dlckNhc2UoKSk/
bGUoZnVuY3Rpb24oZSx0KXt2YXIgbixyPWEoZSxvKSxpPXIubGVuZ3RoO3doaWxlKGktLSllW249UChlLHJ
baV0pXT0hKHRbbl09cltpXSl9KTpmdW5jdGlvbihlKXtyZXR1cm4gYShlLDAsdCl9KTphfX0scHNldWRvcz
p7bm90OmxlKGZ1bmN0aW9uKGUpe3ZhciByPVtdLGk9W10scz1mKGUucmVwbGFjZSgkLCIkMSIpKTtyZXR1c
m4gc1tTXT9sZShmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvPXMoZSxudWxsLHIsW10pLGE9ZS5sZW5ndGg7
d2hpbGUoYS0tKShpPW9bYV0pJiYoZVthXT0hKHRbYV09aSkpfSk6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB
yWzBdPWUscyhyLG51bGwsbixpKSxyWzBdPW51bGwsIWkucG9wKCl9fSksaGFzOmxlKGZ1bmN0aW9uKHQpe3
JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gMDxzZSh0LGUpLmxlbmd0aH19KSxjb250YWluczpsZShmdW5jd
Glvbih0KXtyZXR1cm4gdD10LnJlcGxhY2UodGUsbmUpLGZ1bmN0aW9uKGUpe3JldHVybi0xPChlLnRleHRD
b250ZW50fHxvKGUpKS5pbmRleE9mKHQpfX0pLGxhbmc6bGUoZnVuY3Rpb24obil7cmV0dXJuIFYudGVzdCh
ufHwiIil8fHNlLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK24pLG49bi5yZXBsYWNlKHRlLG5lKS50b0
xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGUpe3ZhciB0O2Rve2lmKHQ9RT9lLmxhbmc6ZS5nZXRBdHRyaWJ1dGUoI
nhtbDpsYW5nIil8fGUuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuKHQ9dC50b0xvd2VyQ2FzZSgpKT09
PW58fDA9PT10LmluZGV4T2YobisiLSIpfXdoaWxlKChlPWUucGFyZW50Tm9kZSkmJjE9PT1lLm5vZGVUeXB
lKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9bi5sb2NhdGlvbiYmbi5sb2NhdGlvbi
5oYXNoO3JldHVybiB0JiZ0LnNsaWNlKDEpPT09ZS5pZH0scm9vdDpmdW5jdGlvbihlKXtyZXR1cm4gZT09P
WF9LGZvY3VzOmZ1bmN0aW9uKGUpe3JldHVybiBlPT09Qy5hY3RpdmVFbGVtZW50JiYoIUMuaGFzRm9jdXN8
fEMuaGFzRm9jdXMoKSkmJiEhKGUudHlwZXx8ZS5ocmVmfHx+ZS50YWJJbmRleCl9LGVuYWJsZWQ6Z2UoITE
pLGRpc2FibGVkOmdlKCEwKSxjaGVja2VkOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlck
Nhc2UoKTtyZXR1cm4iaW5wdXQiPT09dCYmISFlLmNoZWNrZWR8fCJvcHRpb24iPT09dCYmISFlLnNlbGVjd
GVkfSxzZWxlY3RlZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5wYXJlbnROb2RlJiZlLnBhcmVudE5vZGUuc2Vs
ZWN0ZWRJbmRleCwhMD09PWUuc2VsZWN0ZWR9LGVtcHR5OmZ1bmN0aW9uKGUpe2ZvcihlPWUuZmlyc3RDaGl
sZDtlO2U9ZS5uZXh0U2libGluZylpZihlLm5vZGVUeXBlPDYpcmV0dXJuITE7cmV0dXJuITB9LHBhcmVudD
pmdW5jdGlvbihlKXtyZXR1cm4hYi5wc2V1ZG9zLmVtcHR5KGUpfSxoZWFkZXI6ZnVuY3Rpb24oZSl7cmV0d
XJuIEoudGVzdChlLm5vZGVOYW1lKX0saW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIFEudGVzdChlLm5vZGVO
YW1lKX0sYnV0dG9uOmZ1bmN0aW9uKGUpe3ZhciB0PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4
iaW5wdXQiPT09dCYmImJ1dHRvbiI9PT1lLnR5cGV8fCJidXR0b24iPT09dH0sdGV4dDpmdW5jdGlvbihlKX
t2YXIgdDtyZXR1cm4iaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYidGV4dCI9PT1lLnR5c
GUmJihudWxsPT0odD1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKXx8InRleHQiPT09dC50b0xvd2VyQ2FzZSgp
KX0sZmlyc3Q6dmUoZnVuY3Rpb24oKXtyZXR1cm5bMF19KSxsYXN0OnZlKGZ1bmN0aW9uKGUsdCl7cmV0dXJ
uW3QtMV19KSxlcTp2ZShmdW5jdGlvbihlLHQsbil7cmV0dXJuW248MD9uK3Q6bl19KSxldmVuOnZlKGZ1bm
N0aW9uKGUsdCl7Zm9yKHZhciBuPTA7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksb2RkOnZlKGZ1b
mN0aW9uKGUsdCl7Zm9yKHZhciBuPTE7bjx0O24rPTIpZS5wdXNoKG4pO3JldHVybiBlfSksbHQ6dmUoZnVu
Y3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uPDA/
bit0OnQ8bj90Om47MDw9LS1yOyllLnB1c2gocik7cmV0dXJuIGV9KSxndDp2ZShmdW5jdGlvbihlLHQsbil
7Zm9yKHZhciByPW48MD9uK3Q6bjsrK3I8dDspZS5wdXNoKHIpO3JldHVybiBlfSl9fSkucHNldWRvcy5udG
g9Yi5wc2V1ZG9zLmVxLHtyYWRpbzohMCxjaGVja2JveDohMCxmaWxlOiEwLHBhc3N3b3JkOiEwLGltYWdlO
iEwfSliLnBzZXVkb3NbZV09ZGUoZSk7Zm9yKGUgaW57c3VibWl0OiEwLHJlc2V0OiEwfSliLnBzZXVkb3Nb
ZV09aGUoZSk7ZnVuY3Rpb24gbWUoKXt9ZnVuY3Rpb24geGUoZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aCx
yPSIiO3Q8bjt0Kyspcis9ZVt0XS52YWx1ZTtyZXR1cm4gcn1mdW5jdGlvbiBiZShzLGUsdCl7dmFyIHU9ZS
5kaXIsbD1lLm5leHQsYz1sfHx1LGY9dCYmInBhcmVudE5vZGUiPT09YyxwPXIrKztyZXR1cm4gZS5maXJzd
D9mdW5jdGlvbihlLHQsbil7d2hpbGUoZT1lW3VdKWlmKDE9PT1lLm5vZGVUeXBlfHxmKXJldHVybiBzKGUs
dCxuKTtyZXR1cm4hMX06ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGksbyxhPVtrLHBdO2lmKG4pe3doaWxlKGU
9ZVt1XSlpZigoMT09PWUubm9kZVR5cGV8fGYpJiZzKGUsdCxuKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGU9ZV
t1XSlpZigxPT09ZS5ub2RlVHlwZXx8ZilpZihpPShvPWVbU118fChlW1NdPXt9KSlbZS51bmlxdWVJRF18f
ChvW2UudW5pcXVlSURdPXt9KSxsJiZsPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKWU9ZVt1XXx8ZTtl
bHNle2lmKChyPWlbY10pJiZyWzBdPT09ayYmclsxXT09PXApcmV0dXJuIGFbMl09clsyXTtpZigoaVtjXT1
hKVsyXT1zKGUsdCxuKSlyZXR1cm4hMH1yZXR1cm4hMX19ZnVuY3Rpb24gd2UoaSl7cmV0dXJuIDE8aS5sZW
5ndGg/
ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWkubGVuZ3RoO3doaWxlKHItLSlpZighaVtyXShlLHQsbikpcmV0dXJ
uITE7cmV0dXJuITB9OmlbMF19ZnVuY3Rpb24gVGUoZSx0LG4scixpKXtmb3IodmFyIG8sYT1bXSxzPTAsdT
1lLmxlbmd0aCxsPW51bGwhPXQ7czx1O3MrKykobz1lW3NdKSYmKG4mJiFuKG8scixpKXx8KGEucHVzaChvK
SxsJiZ0LnB1c2gocykpKTtyZXR1cm4gYX1mdW5jdGlvbiBDZShkLGgsZyx2LHksZSl7cmV0dXJuIHYmJiF2
W1NdJiYodj1DZSh2KSkseSYmIXlbU10mJih5PUNlKHksZSkpLGxlKGZ1bmN0aW9uKGUsdCxuLHIpe3ZhciB
pLG8sYSxzPVtdLHU9W10sbD10Lmxlbmd0aCxjPWV8fGZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MCxpPX
QubGVuZ3RoO3I8aTtyKyspc2UoZSx0W3JdLG4pO3JldHVybiBufShofHwiKiIsbi5ub2RlVHlwZT9bbl06b
ixbXSksZj0hZHx8IWUmJmg/
YzpUZShjLHMsZCxuLHIpLHA9Zz95fHwoZT9kOmx8fHYpP1tdOnQ6ZjtpZihnJiZnKGYscCxuLHIpLHYpe2k
9VGUocCx1KSx2KGksW10sbixyKSxvPWkubGVuZ3RoO3doaWxlKG8tLSkoYT1pW29dKSYmKHBbdVtvXV09IS
hmW3Vbb11dPWEpKX1pZihlKXtpZih5fHxkKXtpZih5KXtpPVtdLG89cC5sZW5ndGg7d2hpbGUoby0tKShhP
XBbb10pJiZpLnB1c2goZltvXT1hKTt5KG51bGwscD1bXSxpLHIpfW89cC5sZW5ndGg7d2hpbGUoby0tKShh
PXBbb10pJiYtMTwoaT15P1AoZSxhKTpzW29dKSYmKGVbaV09ISh0W2ldPWEpKX19ZWxzZSBwPVRlKHA9PT1
0P3Auc3BsaWNlKGwscC5sZW5ndGgpOnApLHk/
eShudWxsLHQscCxyKTpILmFwcGx5KHQscCl9KX1mdW5jdGlvbiBFZShlKXtmb3IodmFyIGksdCxuLHI9ZS5
sZW5ndGgsbz1iLnJlbGF0aXZlW2VbMF0udHlwZV0sYT1vfHxiLnJlbGF0aXZlWyIgIl0scz1vPzE6MCx1PW
JlKGZ1bmN0aW9uKGUpe3JldHVybiBlPT09aX0sYSwhMCksbD1iZShmdW5jdGlvbihlKXtyZXR1cm4tMTxQK
GksZSl9LGEsITApLGM9W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcj0hbyYmKG58fHQhPT13KXx8KChpPXQpLm5v
ZGVUeXBlP3UoZSx0LG4pOmwoZSx0LG4pKTtyZXR1cm4gaT1udWxsLHJ9XTtzPHI7cysrKWlmKHQ9Yi5yZWx
hdGl2ZVtlW3NdLnR5cGVdKWM9W2JlKHdlKGMpLHQpXTtlbHNle2lmKCh0PWIuZmlsdGVyW2Vbc10udHlwZV
0uYXBwbHkobnVsbCxlW3NdLm1hdGNoZXMpKVtTXSl7Zm9yKG49KytzO248cjtuKyspaWYoYi5yZWxhdGl2Z
VtlW25dLnR5cGVdKWJyZWFrO3JldHVybiBDZSgxPHMmJndlKGMpLDE8cyYmeGUoZS5zbGljZSgwLHMtMSku
Y29uY2F0KHt2YWx1ZToiICI9PT1lW3MtMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZSgkLCIkMSIpLHQsczx
uJiZFZShlLnNsaWNlKHMsbikpLG48ciYmRWUoZT1lLnNsaWNlKG4pKSxuPHImJnhlKGUpKX1jLnB1c2godC
l9cmV0dXJuIHdlKGMpfXJldHVybiBtZS5wcm90b3R5cGU9Yi5maWx0ZXJzPWIucHNldWRvcyxiLnNldEZpb
HRlcnM9bmV3IG1lLGg9c2UudG9rZW5pemU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbyxhLHMsdSxsPXhb
ZSsiICJdO2lmKGwpcmV0dXJuIHQ/
MDpsLnNsaWNlKDApO2E9ZSxzPVtdLHU9Yi5wcmVGaWx0ZXI7d2hpbGUoYSl7Zm9yKG8gaW4gbiYmIShyPV8
uZXhlYyhhKSl8fChyJiYoYT1hLnNsaWNlKHJbMF0ubGVuZ3RoKXx8YSkscy5wdXNoKGk9W10pKSxuPSExLC
hyPXouZXhlYyhhKSkmJihuPXIuc2hpZnQoKSxpLnB1c2goe3ZhbHVlOm4sdHlwZTpyWzBdLnJlcGxhY2UoJ
CwiICIpfSksYT1hLnNsaWNlKG4ubGVuZ3RoKSksYi5maWx0ZXIpIShyPUdbb10uZXhlYyhhKSl8fHVbb10m
JiEocj11W29dKHIpKXx8KG49ci5zaGlmdCgpLGkucHVzaCh7dmFsdWU6bix0eXBlOm8sbWF0Y2hlczpyfSk
sYT1hLnNsaWNlKG4ubGVuZ3RoKSk7aWYoIW4pYnJlYWt9cmV0dXJuIHQ/
YS5sZW5ndGg6YT9zZS5lcnJvcihlKTp4KGUscykuc2xpY2UoMCl9LGY9c2UuY29tcGlsZT1mdW5jdGlvbih
lLHQpe3ZhciBuLHYseSxtLHgscixpPVtdLG89W10sYT1BW2UrIiAiXTtpZighYSl7dHx8KHQ9aChlKSksbj
10Lmxlbmd0aDt3aGlsZShuLS0pKGE9RWUodFtuXSkpW1NdP2kucHVzaChhKTpvLnB1c2goYSk7KGE9QShlL
Ch2PW8sbT0wPCh5PWkpLmxlbmd0aCx4PTA8di5sZW5ndGgscj1mdW5jdGlvbihlLHQsbixyLGkpe3ZhciBv
LGEscyx1PTAsbD0iMCIsYz1lJiZbXSxmPVtdLHA9dyxkPWV8fHgmJmIuZmluZC5UQUcoIioiLGkpLGg9ays
9bnVsbD09cD8xOk1hdGgucmFuZG9tKCl8fC4xLGc9ZC5sZW5ndGg7Zm9yKGkmJih3PXQ9PUN8fHR8fGkpO2
whPT1nJiZudWxsIT0obz1kW2xdKTtsKyspe2lmKHgmJm8pe2E9MCx0fHxvLm93bmVyRG9jdW1lbnQ9PUN8f
ChUKG8pLG49IUUpO3doaWxlKHM9dlthKytdKWlmKHMobyx0fHxDLG4pKXtyLnB1c2gobyk7YnJlYWt9aSYm
KGs9aCl9bSYmKChvPSFzJiZvKSYmdS0tLGUmJmMucHVzaChvKSl9aWYodSs9bCxtJiZsIT09dSl7YT0wO3d
oaWxlKHM9eVthKytdKXMoYyxmLHQsbik7aWYoZSl7aWYoMDx1KXdoaWxlKGwtLSljW2xdfHxmW2xdfHwoZl
tsXT1xLmNhbGwocikpO2Y9VGUoZil9SC5hcHBseShyLGYpLGkmJiFlJiYwPGYubGVuZ3RoJiYxPHUreS5sZ
W5ndGgmJnNlLnVuaXF1ZVNvcnQocil9cmV0dXJuIGkmJihrPWgsdz1wKSxjfSxtP2xlKHIpOnIpKSkuc2Vs
ZWN0b3I9ZX1
yZXR1cm4gYX0sZz1zZS5zZWxlY3Q9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGksbyxhLHMsdSxsPSJmdW5jdG
lvbiI9PXR5cGVvZiBlJiZlLGM9IXImJmgoZT1sLnNlbGVjdG9yfHxlKTtpZihuPW58fFtdLDE9PT1jLmxlb
md0aCl7aWYoMjwobz1jWzBdPWNbMF0uc2xpY2UoMCkpLmxlbmd0aCYmIklEIj09PShhPW9bMF0pLnR5cGUm
Jjk9PT10Lm5vZGVUeXBlJiZFJiZiLnJlbGF0aXZlW29bMV0udHlwZV0pe2lmKCEodD0oYi5maW5kLklEKGE
ubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSx0KXx8W10pWzBdKSlyZXR1cm4gbjtsJiYodD10LnBhcmVudE
5vZGUpLGU9ZS5zbGljZShvLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPUcubmVlZHNDb250ZXh0LnRlc3QoZ
Sk/
MDpvLmxlbmd0aDt3aGlsZShpLS0pe2lmKGE9b1tpXSxiLnJlbGF0aXZlW3M9YS50eXBlXSlicmVhaztpZig
odT1iLmZpbmRbc10pJiYocj11KGEubWF0Y2hlc1swXS5yZXBsYWNlKHRlLG5lKSxlZS50ZXN0KG9bMF0udH
lwZSkmJnllKHQucGFyZW50Tm9kZSl8fHQpKSl7aWYoby5zcGxpY2UoaSwxKSwhKGU9ci5sZW5ndGgmJnhlK
G8pKSlyZXR1cm4gSC5hcHBseShuLHIpLG47YnJlYWt9fX1yZXR1cm4obHx8ZihlLGMpKShyLHQsIUUsbiwh
dHx8ZWUudGVzdChlKSYmeWUodC5wYXJlbnROb2RlKXx8dCksbn0sZC5zb3J0U3RhYmxlPVMuc3BsaXQoIiI
pLnNvcnQoRCkuam9pbigiIik9PT1TLGQuZGV0ZWN0RHVwbGljYXRlcz0hIWwsVCgpLGQuc29ydERldGFjaG
VkPWNlKGZ1bmN0aW9uKGUpe3JldHVybiAxJmUuY29tcGFyZURvY3VtZW50UG9zaXRpb24oQy5jcmVhdGVFb
GVtZW50KCJmaWVsZHNldCIpKX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBlLmlubmVySFRNTD0iPGEgaHJl
Zj0nIyc+PC9hPiIsIiMiPT09ZS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgiaHJlZiIpfSl8fGZlKCJ0eXB
lfGhyZWZ8aGVpZ2h0fHdpZHRoIixmdW5jdGlvbihlLHQsbil7aWYoIW4pcmV0dXJuIGUuZ2V0QXR0cmlidX
RlKHQsInR5cGUiPT09dC50b0xvd2VyQ2FzZSgpPzE6Mil9KSxkLmF0dHJpYnV0ZXMmJmNlKGZ1bmN0aW9uK
GUpe3JldHVybiBlLmlubmVySFRNTD0iPGlucHV0Lz4iLGUuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoInZh
bHVlIiwiIiksIiI9PT1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpfSl8fGZlKCJ2YWx1ZSI
sZnVuY3Rpb24oZSx0LG4pe2lmKCFuJiYiaW5wdXQiPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldH
VybiBlLmRlZmF1bHRWYWx1ZX0pLGNlKGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lLmdldEF0dHJpYnV0Z
SgiZGlzYWJsZWQiKX0pfHxmZShSLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtpZighbilyZXR1cm4hMD09PWVb
dF0/
dC50b0xvd2VyQ2FzZSgpOihyPWUuZ2V0QXR0cmlidXRlTm9kZSh0KSkmJnIuc3BlY2lmaWVkP3IudmFsdWU
6bnVsbH0pLHNlfShDKTtTLmZpbmQ9ZCxTLmV4cHI9ZC5zZWxlY3RvcnMsUy5leHByWyI6Il09Uy5leHByLn
BzZXVkb3MsUy51bmlxdWVTb3J0PVMudW5pcXVlPWQudW5pcXVlU29ydCxTLnRleHQ9ZC5nZXRUZXh0LFMua
XNYTUxEb2M9ZC5pc1hNTCxTLmNvbnRhaW5zPWQuY29udGFpbnMsUy5lc2NhcGVTZWxlY3Rvcj1kLmVzY2Fw
ZTt2YXIgaD1mdW5jdGlvbihlLHQsbil7dmFyIHI9W10saT12b2lkIDAhPT1uO3doaWxlKChlPWVbdF0pJiY
5IT09ZS5ub2RlVHlwZSlpZigxPT09ZS5ub2RlVHlwZSl7aWYoaSYmUyhlKS5pcyhuKSlicmVhaztyLnB1c2
goZSl9cmV0dXJuIHJ9LFQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W107ZTtlPWUubmV4dFNpYmxpbmcpM
T09PWUubm9kZVR5cGUmJmUhPT10JiZuLnB1c2goZSk7cmV0dXJuIG59LGs9Uy5leHByLm1hdGNoLm5lZWRz
Q29udGV4dDtmdW5jdGlvbiBBKGUsdCl7cmV0dXJuIGUubm9kZU5hbWUmJmUubm9kZU5hbWUudG9Mb3dlckN
hc2UoKT09PXQudG9Mb3dlckNhc2UoKX12YXIgTj0vXjwoW2Etel1bXlwvXDA+Olx4MjBcdFxyXG5cZl0qKV
tceDIwXHRcclxuXGZdKlwvPz4oPzo8XC9cMT58KSQvaTtmdW5jdGlvbiBEKGUsbixyKXtyZXR1cm4gbShuK
T9TLmdyZXAoZSxmdW5jdGlvbihlLHQpe3JldHVybiEhbi5jYWxsKGUsdCxlKSE9PXJ9KTpuLm5vZGVUeXBl
P1MuZ3JlcChlLGZ1bmN0aW9uKGUpe3JldHVybiBlPT09biE9PXJ9KToic3RyaW5nIiE9dHlwZW9mIG4/
Uy5ncmVwKGUsZnVuY3Rpb24oZSl7cmV0dXJuLTE8aS5jYWxsKG4sZSkhPT1yfSk6Uy5maWx0ZXIobixlLHI
pfVMuZmlsdGVyPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10WzBdO3JldHVybiBuJiYoZT0iOm5vdCgiK2UrIi
kiKSwxPT09dC5sZW5ndGgmJjE9PT1yLm5vZGVUeXBlP1MuZmluZC5tYXRjaGVzU2VsZWN0b3IocixlKT9bc
l06W106Uy5maW5kLm1hdGNoZXMoZSxTLmdyZXAodCxmdW5jdGlvbihlKXtyZXR1cm4gMT09PWUubm9kZVR5
cGV9KSl9LFMuZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzLmxlbmd0aCxpPXR
oaXM7aWYoInN0cmluZyIhPXR5cGVvZiBlKXJldHVybiB0aGlzLnB1c2hTdGFjayhTKGUpLmZpbHRlcihmdW
5jdGlvbigpe2Zvcih0PTA7dDxyO3QrKylpZihTLmNvbnRhaW5zKGlbdF0sdGhpcykpcmV0dXJuITB9KSk7Z
m9yKG49dGhpcy5wdXNoU3RhY2soW10pLHQ9MDt0PHI7dCsrKVMuZmluZChlLGlbdF0sbik7cmV0dXJuIDE8
cj9TLnVuaXF1ZVNvcnQobik6bn0sZmlsdGVyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayh
EKHRoaXMsZXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnB1c2hTdGFjayhEKHRoaX
MsZXx8W10sITApKX0saXM6ZnVuY3Rpb24oZSl7cmV0dXJuISFEKHRoaXMsInN0cmluZyI9PXR5cGVvZiBlJ
iZrLnRlc3QoZSk/
UyhlKTplfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBqLHE9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x
3LV0rKSkkLzsoUy5mbi5pbml0PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpO2lmKCFlKXJldHVybiB0aGlzO2
lmKG49bnx8aiwic3RyaW5nIj09dHlwZW9mIGUpe2lmKCEocj0iPCI9PT1lWzBdJiYiPiI9PT1lW2UubGVuZ
3RoLTFdJiYzPD1lLmxlbmd0aD9bbnVsbCxlLG51bGxdOnEuZXhlYyhlKSl8fCFyWzFdJiZ0KXJldHVybiF0
fHx0LmpxdWVyeT8odHx8bikuZmluZChlKTp0aGlzLmNvbnN0cnVjdG9yKHQpLmZpbmQoZSk7aWYoclsxXSl
7aWYodD10IGluc3RhbmNlb2YgUz90WzBdOnQsUy5tZXJnZSh0aGlzLFMucGFyc2VIVE1MKHJbMV0sdCYmdC
5ub2RlVHlwZT90Lm93bmVyRG9jdW1lbnR8fHQ6RSwhMCkpLE4udGVzdChyWzFdKSYmUy5pc1BsYWluT2JqZ
WN0KHQpKWZvcihyIGluIHQpbSh0aGlzW3JdKT90aGlzW3JdKHRbcl0pOnRoaXMuYXR0cihyLHRbcl0pO3Jl
dHVybiB0aGlzfXJldHVybihpPUUuZ2V0RWxlbWVudEJ5SWQoclsyXSkpJiYodGhpc1swXT1pLHRoaXMubGV
uZ3RoPTEpLHRoaXN9cmV0dXJuIGUubm9kZVR5cGU/
KHRoaXNbMF09ZSx0aGlzLmxlbmd0aD0xLHRoaXMpOm0oZSk/
dm9pZCAwIT09bi5yZWFkeT9uLnJlYWR5KGUpOmUoUyk6Uy5tYWtlQXJyYXkoZSx0aGlzKX0pLnByb3RvdHl
wZT1TLmZuLGo9UyhFKTt2YXIgTD0vXig/OnBhcmVudHN8cHJldig/
OlVudGlsfEFsbCkpLyxIPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O2Z1bmN
0aW9uIE8oZSx0KXt3aGlsZSgoZT1lW3RdKSYmMSE9PWUubm9kZVR5cGUpO3JldHVybiBlfVMuZm4uZXh0ZW
5kKHtoYXM6ZnVuY3Rpb24oZSl7dmFyIHQ9UyhlLHRoaXMpLG49dC5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsd
GVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTxuO2UrKylpZihTLmNvbnRhaW5zKHRoaXMsdFtlXSkpcmV0
dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXRoaXMubGVuZ3RoLG89W10sYT0
ic3RyaW5nIiE9dHlwZW9mIGUmJlMoZSk7aWYoIWsudGVzdChlKSlmb3IoO3I8aTtyKyspZm9yKG49dGhpc1
tyXTtuJiZuIT09dDtuPW4ucGFyZW50Tm9kZSlpZihuLm5vZGVUeXBlPDExJiYoYT8tMTxhLmluZGV4KG4pO
jE9PT1uLm5vZGVUeXBlJiZTLmZpbmQubWF0Y2hlc1NlbGVjdG9yKG4sZSkpKXtvLnB1c2gobik7YnJlYWt9
cmV0dXJuIHRoaXMucHVzaFN0YWNrKDE8by5sZW5ndGg/
Uy51bmlxdWVTb3J0KG8pOm8pfSxpbmRleDpmdW5jdGlvbihlKXtyZXR1cm4gZT8ic3RyaW5nIj09dHlwZW9
mIGU/aS5jYWxsKFMoZSksdGhpc1swXSk6aS5jYWxsKHRoaXMsZS5qcXVlcnk/
ZVswXTplKTp0aGlzWzBdJiZ0aGlzWzBdLnBhcmVudE5vZGU/
dGhpcy5maXJzdCgpLnByZXZBbGwoKS5sZW5ndGg6LTF9LGFkZDpmdW5jdGlvbihlLHQpe3JldHVybiB0aGl
zLnB1c2hTdGFjayhTLnVuaXF1ZVNvcnQoUy5tZXJnZSh0aGlzLmdldCgpLFMoZSx0KSkpKX0sYWRkQmFjaz
pmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T
2JqZWN0LmZpbHRlcihlKSl9fSksUy5lYWNoKHtwYXJlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnRO
b2RlO3JldHVybiB0JiYxMSE9PXQubm9kZVR5cGU/
dDpudWxsfSxwYXJlbnRzOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsInBhcmVudE5vZGUiKX0scGFyZW50c1V
udGlsOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gaChlLCJwYXJlbnROb2RlIixuKX0sbmV4dDpmdW5jdGlvbi
hlKXtyZXR1cm4gTyhlLCJuZXh0U2libGluZyIpfSxwcmV2OmZ1bmN0aW9uKGUpe3JldHVybiBPKGUsInByZ
XZpb3VzU2libGluZyIpfSxuZXh0QWxsOmZ1bmN0aW9uKGUpe3JldHVybiBoKGUsIm5leHRTaWJsaW5nIil9
LHByZXZBbGw6ZnVuY3Rpb24oZSl7cmV0dXJuIGgoZSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRVbnRpbDp
mdW5jdGlvbihlLHQsbil7cmV0dXJuIGgoZSwibmV4dFNpYmxpbmciLG4pfSxwcmV2VW50aWw6ZnVuY3Rpb2
4oZSx0LG4pe3JldHVybiBoKGUsInByZXZpb3VzU2libGluZyIsbil9LHNpYmxpbmdzOmZ1bmN0aW9uKGUpe
3JldHVybiBUKChlLnBhcmVudE5vZGV8fHt9KS5maXJzdENoaWxkLGUpfSxjaGlsZHJlbjpmdW5jdGlvbihl
KXtyZXR1cm4gVChlLmZpcnN0Q2hpbGQpfSxjb250ZW50czpmdW5jdGlvbihlKXtyZXR1cm4gbnVsbCE9ZS5
jb250ZW50RG9jdW1lbnQmJnIoZS5jb250ZW50RG9jdW1lbnQpP2UuY29udGVudERvY3VtZW50OihBKGUsIn
RlbXBsYXRlIikmJihlPWUuY29udGVudHx8ZSksUy5tZXJnZShbXSxlLmNoaWxkTm9kZXMpKX19LGZ1bmN0a
W9uKHIsaSl7Uy5mbltyXT1mdW5jdGlvbihlLHQpe3ZhciBuPVMubWFwKHRoaXMsaSxlKTtyZXR1cm4iVW50
aWwiIT09ci5zbGljZSgtNSkmJih0PWUpLHQmJiJzdHJpbmciPT10eXBlb2YgdCYmKG49Uy5maWx0ZXIodCx
uKSksMTx0aGlzLmxlbmd0aCYmKEhbcl18fFMudW5pcXVlU29ydChuKSxMLnRlc3QocikmJm4ucmV2ZXJzZS
gpKSx0aGlzLnB1c2hTdGFjayhuKX19KTt2YXIgUD0vW15ceDIwXHRcclxuXGZdKy9nO2Z1bmN0aW9uIFIoZ
Sl7cmV0dXJuIGV9ZnVuY3Rpb24gTShlKXt0aHJvdyBlfWZ1bmN0aW9uIEkoZSx0LG4scil7dmFyIGk7dHJ5
e2UmJm0oaT1lLnByb21pc2UpP2kuY2FsbChlKS5kb25lKHQpLmZhaWwobik6ZSYmbShpPWUudGhlbik/
aS5jYWxsKGUsdCxuKTp0LmFwcGx5KHZvaWQgMCxbZV0uc2xpY2UocikpfWNhdGNoKGUpe24uYXBwbHkodm9
pZCAwLFtlXSl9fVMuQ2FsbGJhY2tzPWZ1bmN0aW9uKHIpe3ZhciBlLG47cj0ic3RyaW5nIj09dHlwZW9mIH
I/
KGU9cixuPXt9LFMuZWFjaChlLm1hdGNoKFApfHxbXSxmdW5jdGlvbihlLHQpe25bdF09ITB9KSxuKTpTLmV
4dGVuZCh7fSxyKTt2YXIgaSx0LG8sYSxzPVtdLHU9W10sbD0tMSxjPWZ1bmN0aW9uKCl7Zm9yKGE9YXx8ci
5vbmNlLG89aT0hMDt1Lmxlbmd0aDtsPS0xKXt0PXUuc2hpZnQoKTt3aGlsZSgrK2w8cy5sZW5ndGgpITE9P
T1zW2xdLmFwcGx5KHRbMF0sdFsxXSkmJnIuc3RvcE9uRmFsc2UmJihsPXMubGVuZ3RoLHQ9ITEpfXIubWVt
b3J5fHwodD0hMSksaT0hMSxhJiYocz10P1tdOiIiKX0sZj17YWRkOmZ1bmN0aW9uKCl7cmV0dXJuIHMmJih
0JiYhaSYmKGw9cy5sZW5ndGgtMSx1LnB1c2godCkpLGZ1bmN0aW9uIG4oZSl7Uy5lYWNoKGUsZnVuY3Rpb2
4oZSx0KXttKHQpP3IudW5pcXVlJiZmLmhhcyh0KXx8cy5wdXNoKHQpOnQmJnQubGVuZ3RoJiYic3RyaW5nI
iE9PXcodCkmJm4odCl9KX0oYXJndW1lbnRzKSx0JiYhaSYmYygpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24o
KXtyZXR1cm4gUy5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbihlLHQpe3ZhciBuO3doaWxlKC0xPChuPVMuaW5
BcnJheSh0LHMsbikpKXMuc3BsaWNlKG4sMSksbjw9bCYmbC0tfSksdGhpc30saGFzOmZ1bmN0aW9uKGUpe3
JldHVybiBlPy0xPFMuaW5BcnJheShlLHMpOjA8cy5sZW5ndGh9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuI
HMmJihzPVtdKSx0aGlzfSxkaXNhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIGE9dT1bXSxzPXQ9IiIsdGhpc30s
ZGlzYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hc30sbG9jazpmdW5jdGlvbigpe3JldHVybiBhPXU9W10sdHx
8aXx8KHM9dD0iIiksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFhfSxmaXJlV2l0aDpmdW5jdG
lvbihlLHQpe3JldHVybiBhfHwodD1bZSwodD10fHxbXSkuc2xpY2U/
dC5zbGljZSgpOnRdLHUucHVzaCh0KSxpfHxjKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gZi5
maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIW99fTtyZX
R1cm4gZn0sUy5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGUpe3ZhciBvPVtbIm5vdGlmeSIsInByb2dyZ
XNzIixTLkNhbGxiYWNrcygibWVtb3J5IiksUy5DYWxsYmFja3MoIm1lbW9yeSIpLDJdLFsicmVzb2x2ZSIs
ImRvbmUiLFMuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLFMuQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLDA
sInJlc29sdmVkIl0sWyJyZWplY3QiLCJmYWlsIixTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxTLkNhbG
xiYWNrcygib25jZSBtZW1vcnkiKSwxLCJyZWplY3RlZCJdXSxpPSJwZW5kaW5nIixhPXtzdGF0ZTpmdW5jd
Glvbigpe3JldHVybiBpfSxhbHdheXM6ZnVuY3Rpb24oKXtyZXR1cm4gcy5kb25lKGFyZ3VtZW50cykuZmFp
bChhcmd1bWVudHMpLHRoaXN9LCJjYXRjaCI6ZnVuY3Rpb24oZSl7cmV0dXJuIGEudGhlbihudWxsLGUpfSx
waXBlOmZ1bmN0aW9uKCl7dmFyIGk9YXJndW1lbnRzO3JldHVybiBTLkRlZmVycmVkKGZ1bmN0aW9uKHIpe1
MuZWFjaChvLGZ1bmN0aW9uKGUsdCl7dmFyIG49bShpW3RbNF1dKSYmaVt0WzRdXTtzW3RbMV1dKGZ1bmN0a
W9uKCl7dmFyIGU9biYmbi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ZSYmbShlLnByb21pc2UpP2UucHJvbWlz
ZSgpLnByb2dyZXNzKHIubm90aWZ5KS5kb25lKHIucmVzb2x2ZSkuZmFpbChyLnJlamVjdCk6clt0WzBdKyJ
XaXRoIl0odGhpcyxuP1tlXTphcmd1bWVudHMpfSl9KSxpPW
51bGx9KS5wcm9taXNlKCl9LHRoZW46ZnVuY3Rpb24odCxuLHIpe3ZhciB1PTA7ZnVuY3Rpb24gbChpLG8sY
SxzKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj10aGlzLHI9YXJndW1lbnRzLGU9ZnVuY3Rpb24oKXt2YXIg
ZSx0O2lmKCEoaTx1KSl7aWYoKGU9YS5hcHBseShuLHIpKT09PW8ucHJvbWlzZSgpKXRocm93IG5ldyBUeXB
lRXJyb3IoIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvbiIpO3Q9ZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8Im
Z1bmN0aW9uIj09dHlwZW9mIGUpJiZlLnRoZW4sbSh0KT9zP3QuY2FsbChlLGwodSxvLFIscyksbCh1LG8sT
SxzKSk6KHUrKyx0LmNhbGwoZSxsKHUsbyxSLHMpLGwodSxvLE0scyksbCh1LG8sUixvLm5vdGlmeVdpdGgp
KSk6KGEhPT1SJiYobj12b2lkIDAscj1bZV0pLChzfHxvLnJlc29sdmVXaXRoKShuLHIpKX19LHQ9cz9lOmZ
1bmN0aW9uKCl7dHJ5e2UoKX1jYXRjaChlKXtTLkRlZmVycmVkLmV4Y2VwdGlvbkhvb2smJlMuRGVmZXJyZW
QuZXhjZXB0aW9uSG9vayhlLHQuc3RhY2tUcmFjZSksdTw9aSsxJiYoYSE9PU0mJihuPXZvaWQgMCxyPVtlX
Sksby5yZWplY3RXaXRoKG4scikpfX07aT90KCk6KFMuRGVmZXJyZWQuZ2V0U3RhY2tIb29rJiYodC5zdGFj
a1RyYWNlPVMuRGVmZXJyZWQuZ2V0U3RhY2tIb29rKCkpLEMuc2V0VGltZW91dCh0KSl9fXJldHVybiBTLkR
lZmVycmVkKGZ1bmN0aW9uKGUpe29bMF1bM10uYWRkKGwoMCxlLG0ocik/
cjpSLGUubm90aWZ5V2l0aCkpLG9bMV1bM10uYWRkKGwoMCxlLG0odCk/
dDpSKSksb1syXVszXS5hZGQobCgwLGUsbShuKT9uOk0pKX0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGl
vbihlKXtyZXR1cm4gbnVsbCE9ZT9TLmV4dGVuZChlLGEpOmF9fSxzPXt9O3JldHVybiBTLmVhY2gobyxmdW
5jdGlvbihlLHQpe3ZhciBuPXRbMl0scj10WzVdO2FbdFsxXV09bi5hZGQsciYmbi5hZGQoZnVuY3Rpb24oK
XtpPXJ9LG9bMy1lXVsyXS5kaXNhYmxlLG9bMy1lXVszXS5kaXNhYmxlLG9bMF1bMl0ubG9jayxvWzBdWzNd
LmxvY2spLG4uYWRkKHRbM10uZmlyZSksc1t0WzBdXT1mdW5jdGlvbigpe3JldHVybiBzW3RbMF0rIldpdGg
iXSh0aGlzPT09cz92b2lkIDA6dGhpcyxhcmd1bWVudHMpLHRoaXN9LHNbdFswXSsiV2l0aCJdPW4uZmlyZV
dpdGh9KSxhLnByb21pc2UocyksZSYmZS5jYWxsKHMscyksc30sd2hlbjpmdW5jdGlvbihlKXt2YXIgbj1hc
md1bWVudHMubGVuZ3RoLHQ9bixyPUFycmF5KHQpLGk9cy5jYWxsKGFyZ3VtZW50cyksbz1TLkRlZmVycmVk
KCksYT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7clt0XT10aGlzLGlbdF09MTxhcmd1bWVudHM
ubGVuZ3RoP3MuY2FsbChhcmd1bWVudHMpOmUsLS1ufHxvLnJlc29sdmVXaXRoKHIsaSl9fTtpZihuPD0xJi
YoSShlLG8uZG9uZShhKHQpKS5yZXNvbHZlLG8ucmVqZWN0LCFuKSwicGVuZGluZyI9PT1vLnN0YXRlKCl8f
G0oaVt0XSYmaVt0XS50aGVuKSkpcmV0dXJuIG8udGhlbigpO3doaWxlKHQtLSlJKGlbdF0sYSh0KSxvLnJl
amVjdCk7cmV0dXJuIG8ucHJvbWlzZSgpfX0pO3ZhciBXPS9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJ
lbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvO1MuRGVmZXJyZWQuZXhjZXB0aW9uSG9vaz1mdW5jdGlvbi
hlLHQpe0MuY29uc29sZSYmQy5jb25zb2xlLndhcm4mJmUmJlcudGVzdChlLm5hbWUpJiZDLmNvbnNvbGUud
2FybigialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogIitlLm1lc3NhZ2UsZS5zdGFjayx0KX0sUy5yZWFk
eUV4Y2VwdGlvbj1mdW5jdGlvbihlKXtDLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aHJvdyBlfSl9O3ZhciB
GPVMuRGVmZXJyZWQoKTtmdW5jdGlvbiBCKCl7RS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG
9hZGVkIixCKSxDLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLEIpLFMucmVhZHkoKX1TLmZuLnJlYWR5P
WZ1bmN0aW9uKGUpe3JldHVybiBGLnRoZW4oZSlbImNhdGNoIl0oZnVuY3Rpb24oZSl7Uy5yZWFkeUV4Y2Vw
dGlvbihlKX0pLHRoaXN9LFMuZXh0ZW5kKHtpc1JlYWR5OiExLHJlYWR5V2FpdDoxLHJlYWR5OmZ1bmN0aW9
uKGUpeyghMD09PWU/
LS1TLnJlYWR5V2FpdDpTLmlzUmVhZHkpfHwoUy5pc1JlYWR5PSEwKSE9PWUmJjA8LS1TLnJlYWR5V2FpdHx
8Ri5yZXNvbHZlV2l0aChFLFtTXSl9fSksUy5yZWFkeS50aGVuPUYudGhlbiwiY29tcGxldGUiPT09RS5yZW
FkeVN0YXRlfHwibG9hZGluZyIhPT1FLnJlYWR5U3RhdGUmJiFFLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sb
D9DLnNldFRpbWVvdXQoUy5yZWFkeSk6KEUuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIs
QiksQy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixCKSk7dmFyICQ9ZnVuY3Rpb24oZSx0LG4scixpLG8sYSl
7dmFyIHM9MCx1PWUubGVuZ3RoLGw9bnVsbD09bjtpZigib2JqZWN0Ij09PXcobikpZm9yKHMgaW4gaT0hMC
xuKSQoZSx0LHMsbltzXSwhMCxvLGEpO2Vsc2UgaWYodm9pZCAwIT09ciYmKGk9ITAsbShyKXx8KGE9ITApL
GwmJihhPyh0LmNhbGwoZSxyKSx0PW51bGwpOihsPXQsdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwuY2Fs
bChTKGUpLG4pfSkpLHQpKWZvcig7czx1O3MrKyl0KGVbc10sbixhP3I6ci5jYWxsKGVbc10scyx0KGVbc10
sbikpKTtyZXR1cm4gaT9lOmw/dC5jYWxsKGUpOnU/
dChlWzBdLG4pOm99LF89L14tbXMtLyx6PS8tKFthLXpdKS9nO2Z1bmN0aW9uIFUoZSx0KXtyZXR1cm4gdC5
0b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFgoZSl7cmV0dXJuIGUucmVwbGFjZShfLCJtcy0iKS5yZXBsYWNlKH
osVSl9dmFyIFY9ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lLm5vZGVUeXBlfHw5PT09ZS5ub2RlVHlwZXx8I
StlLm5vZGVUeXBlfTtmdW5jdGlvbiBHKCl7dGhpcy5leHBhbmRvPVMuZXhwYW5kbytHLnVpZCsrfUcudWlk
PTEsRy5wcm90b3R5cGU9e2NhY2hlOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmRvXTtyZXR1cm4
gdHx8KHQ9e30sVihlKSYmKGUubm9kZVR5cGU/
ZVt0aGlzLmV4cGFuZG9dPXQ6T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdGhpcy5leHBhbmRvLHt2YWx1ZTp
0LGNvbmZpZ3VyYWJsZTohMH0pKSksdH0sc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpPXRoaXMuY2FjaG
UoZSk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlbWCh0KV09bjtlbHNlIGZvcihyIGluIHQpaVtYKHIpXT10W
3JdO3JldHVybiBpfSxnZXQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD90aGlzLmNhY2hlKGUp
OmVbdGhpcy5leHBhbmRvXSYmZVt0aGlzLmV4cGFuZG9dW1godCldfSxhY2Nlc3M6ZnVuY3Rpb24oZSx0LG4
pe3JldHVybiB2b2lkIDA9PT10fHx0JiYic3RyaW5nIj09dHlwZW9mIHQmJnZvaWQgMD09PW4/
dGhpcy5nZXQoZSx0KToodGhpcy5zZXQoZSx0LG4pLHZvaWQgMCE9PW4/
bjp0KX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIG4scj1lW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT0
9cil7aWYodm9pZCAwIT09dCl7bj0odD1BcnJheS5pc0FycmF5KHQpP3QubWFwKFgpOih0PVgodCkpaW4gcj
9bdF06dC5tYXRjaChQKXx8W10pLmxlbmd0aDt3aGlsZShuLS0pZGVsZXRlIHJbdFtuXV19KHZvaWQgMD09P
XR8fFMuaXNFbXB0eU9iamVjdChyKSkmJihlLm5vZGVUeXBlP2VbdGhpcy5leHBhbmRvXT12b2lkIDA6ZGVs
ZXRlIGVbdGhpcy5leHBhbmRvXSl9fSxoYXNEYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PWVbdGhpcy5leHBhbmR
vXTtyZXR1cm4gdm9pZCAwIT09dCYmIVMuaXNFbXB0eU9iamVjdCh0KX19O3ZhciBZPW5ldyBHLFE9bmV3IE
csSj0vXig/
Olx7W1x3XFddKlx9fFxbW1x3XFddKlxdKSQvLEs9L1tBLVpdL2c7ZnVuY3Rpb24gWihlLHQsbil7dmFyIHI
saTtpZih2b2lkIDA9PT1uJiYxPT09ZS5ub2RlVHlwZSlpZihyPSJkYXRhLSIrdC5yZXBsYWNlKEssIi0kJi
IpLnRvTG93ZXJDYXNlKCksInN0cmluZyI9PXR5cGVvZihuPWUuZ2V0QXR0cmlidXRlKHIpKSl7dHJ5e249I
nRydWUiPT09KGk9bil8fCJmYWxzZSIhPT1pJiYoIm51bGwiPT09aT9udWxsOmk9PT0raSsiIj8raTpKLnRl
c3QoaSk/
SlNPTi5wYXJzZShpKTppKX1jYXRjaChlKXt9US5zZXQoZSx0LG4pfWVsc2Ugbj12b2lkIDA7cmV0dXJuIG5
9Uy5leHRlbmQoe2hhc0RhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIFEuaGFzRGF0YShlKXx8WS5oYXNEYXRhKG
UpfSxkYXRhOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gUS5hY2Nlc3MoZSx0LG4pfSxyZW1vdmVEYXRhOmZ1b
mN0aW9uKGUsdCl7US5yZW1vdmUoZSx0KX0sX2RhdGE6ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBZLmFjY2Vz
cyhlLHQsbil9LF9yZW1vdmVEYXRhOmZ1bmN0aW9uKGUsdCl7WS5yZW1vdmUoZSx0KX19KSxTLmZuLmV4dGV
uZCh7ZGF0YTpmdW5jdGlvbihuLGUpe3ZhciB0LHIsaSxvPXRoaXNbMF0sYT1vJiZvLmF0dHJpYnV0ZXM7aW
Yodm9pZCAwPT09bil7aWYodGhpcy5sZW5ndGgmJihpPVEuZ2V0KG8pLDE9PT1vLm5vZGVUeXBlJiYhWS5nZ
XQobywiaGFzRGF0YUF0dHJzIikpKXt0PWEubGVuZ3RoO3doaWxlKHQtLSlhW3RdJiYwPT09KHI9YVt0XS5u
YW1lKS5pbmRleE9mKCJkYXRhLSIpJiYocj1YKHIuc2xpY2UoNSkpLFoobyxyLGlbcl0pKTtZLnNldChvLCJ
oYXNEYXRhQXR0cnMiLCEwKX1yZXR1cm4gaX1yZXR1cm4ib2JqZWN0Ij09dHlwZW9mIG4/
dGhpcy5lYWNoKGZ1bmN0aW9uKCl7US5zZXQodGhpcyxuKX0pOiQodGhpcyxmdW5jdGlvbihlKXt2YXIgdDt
pZihvJiZ2b2lkIDA9PT1lKXJldHVybiB2b2lkIDAhPT0odD1RLmdldChvLG4pKT90OnZvaWQgMCE9PSh0PV
oobyxuKSk/
dDp2b2lkIDA7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7US5zZXQodGhpcyxuLGUpfSl9LG51bGwsZSwxPGFyZ3V
tZW50cy5sZW5ndGgsbnVsbCwhMCl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaC
hmdW5jdGlvbigpe1EucmVtb3ZlKHRoaXMsZSl9KX19KSxTLmV4dGVuZCh7cXVldWU6ZnVuY3Rpb24oZSx0L
G4pe3ZhciByO2lmKGUpcmV0dXJuIHQ9KHR8fCJmeCIpKyJxdWV1ZSIscj1ZLmdldChlLHQpLG4mJighcnx8
QXJyYXkuaXNBcnJheShuKT9yPVkuYWNjZXNzKGUsdCxTLm1ha2VBcnJheShuKSk6ci5wdXNoKG4pKSxyfHx
bXX0sZGVxdWV1ZTpmdW5jdGlvbihlLHQpe3Q9dHx8ImZ4Ijt2YXIgbj1TLnF1ZXVlKGUsdCkscj1uLmxlbm
d0aCxpPW4uc2hpZnQoKSxvPVMuX3F1ZXVlSG9va3MoZSx0KTsiaW5wcm9ncmVzcyI9PT1pJiYoaT1uLnNoa
WZ0KCksci0tKSxpJiYoImZ4Ij09PXQmJm4udW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBvLnN0b3As
aS5jYWxsKGUsZnVuY3Rpb24oKXtTLmRlcXVldWUoZSx0KX0sbykpLCFyJiZvJiZvLmVtcHR5LmZpcmUoKX0
sX3F1ZXVlSG9va3M6ZnVuY3Rpb24oZSx0KXt2YXIgbj10KyJxdWV1ZUhvb2tzIjtyZXR1cm4gWS5nZXQoZS
xuKXx8WS5hY2Nlc3MoZSxuLHtlbXB0eTpTLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb
24oKXtZLnJlbW92ZShlLFt0KyJxdWV1ZSIsbl0pfSl9KX19KSxTLmZuLmV4dGVuZCh7cXVldWU6ZnVuY3Rp
b24odCxuKXt2YXIgZT0yO3JldHVybiJzdHJpbmciIT10eXBlb2YgdCYmKG49dCx0PSJmeCIsZS0tKSxhcmd
1bWVudHMubGVuZ3RoPGU/Uy5xdWV1ZSh0aGlzWzBdLHQpOnZvaWQgMD09PW4/
dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1TLnF1ZXVlKHRoaXMsdCxuKTtTLl9xdWV1ZUhvb2t
zKHRoaXMsdCksImZ4Ij09PXQmJiJpbnByb2dyZXNzIiE9PWVbMF0mJlMuZGVxdWV1ZSh0aGlzLHQpfSl9LG
RlcXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe1MuZGVxdWV1ZSh0aGlzL
GUpfSl9LGNsZWFyUXVldWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucXVldWUoZXx8ImZ4IixbXSl9LHBy
b21pc2U6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPTEsaT1TLkRlZmVycmVkKCksbz10aGlzLGE9dGhpcy5sZW5
ndGgscz1mdW5jdGlvbigpey0tcnx8aS5yZXNvbHZlV2l0aChvLFtvXSl9OyJzdHJpbmciIT10eXBlb2YgZS
YmKHQ9ZSxlPXZvaWQgMCksZT1lfHwiZngiO3doaWxlKGEtLSkobj1ZLmdldChvW2FdLGUrInF1ZXVlSG9va
3MiKSkmJm4uZW1wdHkmJihyKyssbi5lbXB0eS5hZGQocykpO3JldHVybiBzKCksaS5wcm9taXNlKHQpfX0p
O3ZhciBlZT0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/
XGQrfCkvLnNvdXJjZSx0ZT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrZWUrIikoW2EteiVdKikkIiw
iaSIpLG5lPVsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0scmU9RS5kb2N1bWVudEVsZW1lbnQsaW
U9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuY29udGFpbnMoZS5vd25lckRvY3VtZW50LGUpfSxvZT17Y29tcG9zZ
WQ6ITB9O3JlLmdldFJvb3ROb2RlJiYoaWU9ZnVuY3Rpb24oZSl7cmV0dXJuIFMuY29udGFpbnMoZS5vd25l
ckRvY3VtZW50LGUpfHxlLmdldFJvb3ROb2RlKG9lKT09PWUub3duZXJEb2N1bWVudH0pO3ZhciBhZT1mdW5
jdGlvbihlLHQpe3JldHVybiJub25lIj09PShlPXR8fGUpLnN0eWxlLmRpc3BsYXl8fCIiPT09ZS5zdHlsZS
5kaXNwbGF5JiZpZShlKSYmIm5vbmUiPT09Uy5jc3MoZSwiZGlzcGxheSIpfTtmdW5jdGlvbiBzZShlLHQsb
ixyKXt2YXIgaSxvLGE9MjAscz1yP2Z1bmN0aW9uKCl7cmV0dXJuIHIuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0
dXJuIFMuY3NzKGUsdCwiIil9LHU9cygpLGw9biYmblszXXx8KFMuY3NzTnVtYmVyW3RdPyIiOiJweCIpLGM
9ZS5ub2RlVHlwZSYmKFMuY3NzTnVtYmVyW3RdfHwicHgiIT09bCYmK3UpJiZ0ZS5leGVjKFMuY3NzKGUsdC
kpO2lmKGMmJmNbM10hPT1sKXt1Lz0yLGw9bHx8Y1szXSxjPSt1fHwxO3doaWxlKGEtLSlTLnN0eWxlKGUsd
CxjK2wpLCgxLW8pKigxLShvPXMoKS91fHwuNSkpPD0wJiYoYT0wKSxjLz1vO2MqPTIsUy5zdHlsZShlLHQs
YytsKSxuPW58fFtdfXJldHVybiBuJiYoYz0rY3x8K3V8fDAsaT1uWzFdP2MrKG5bMV0rMSkqblsyXTorbls
yXSxyJiYoci51bml0PWwsci5zdGFydD1jLHIuZW5kPWkpKSxpfXZhciB1ZT17fTtmdW5jdGlvbiBsZShlLH
Qpe2Zvcih2YXIgbixyLGksbyxhLHMsdSxsPVtdLGM9MCxmPWUubGVuZ3RoO2M8ZjtjKyspKHI9ZVtjXSkuc
3R5bGUmJihuPXIuc3R5bGUuZGlzcGxheSx0Pygibm9uZSI9PT1uJiYobFtjXT1ZLmdldChyLCJkaXNwbGF5
Iil8fG51bGwsbFtjXXx8KHIuc3R5bGUuZGlzcGxheT0iIikpLCIiPT09ci5zdHlsZS5kaXNwbGF5JiZhZSh
yKSYmKGxbY109KHU9YT1vPXZvaWQgMCxhPShpPXIpLm93bmVyRG9jdW1lbnQscz1pLm5vZGVOYW1lLCh1PX
VlW3NdKXx8KG89YS5ib2R5LmFwcGVuZENoaWxkKGEuY3JlYXRlRWxlbWVudChzKSksdT1TLmNzcyhvLCJka
XNwbGF5Iiksby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8pLCJub25lIj09PXUmJih1PSJibG9jayIpLHVl
W3NdPXUpKSkpOiJub25lIiE9PW4mJihsW2NdPSJub25lIixZLnNldChyLCJkaXNwbGF5IixuK
SkpO2ZvcihjPTA7YzxmO2MrKyludWxsIT1sW2NdJiYoZVtjXS5zdHlsZS5kaXNwbGF5PWxbY10pO3JldHVy
biBlfVMuZm4uZXh0ZW5kKHtzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIGxlKHRoaXMsITApfSxoaWRlOmZ1bmN
0aW9uKCl7cmV0dXJuIGxlKHRoaXMpfSx0b2dnbGU6ZnVuY3Rpb24oZSl7cmV0dXJuImJvb2xlYW4iPT10eX
Blb2YgZT9lP3RoaXMuc2hvdygpOnRoaXMuaGlkZSgpOnRoaXMuZWFjaChmdW5jdGlvbigpe2FlKHRoaXMpP
1ModGhpcykuc2hvdygpOlModGhpcykuaGlkZSgpfSl9fSk7dmFyIGNlLGZlLHBlPS9eKD86Y2hlY2tib3h8
cmFkaW8pJC9pLGRlPS88KFthLXpdW15cL1wwPlx4MjBcdFxyXG5cZl0qKS9pLGhlPS9eJHxebW9kdWxlJHx
cLyg/
OmphdmF8ZWNtYSlzY3JpcHQvaTtjZT1FLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKS5hcHBlbmRDaGlsZCh
FLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSwoZmU9RS5jcmVhdGVFbGVtZW50KCJpbnB1dCIpKS5zZXRBdHRyaW
J1dGUoInR5cGUiLCJyYWRpbyIpLGZlLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxmZS5zZ
XRBdHRyaWJ1dGUoIm5hbWUiLCJ0IiksY2UuYXBwZW5kQ2hpbGQoZmUpLHkuY2hlY2tDbG9uZT1jZS5jbG9u
ZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsY2UuaW5uZXJIVE1MPSI8dGV4dGF
yZWE+eDwvdGV4dGFyZWE+Iix5Lm5vQ2xvbmVDaGVja2VkPSEhY2UuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbG
QuZGVmYXVsdFZhbHVlLGNlLmlubmVySFRNTD0iPG9wdGlvbj48L29wdGlvbj4iLHkub3B0aW9uPSEhY2Uub
GFzdENoaWxkO3ZhciBnZT17dGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLGNvbDpbMiwiPHRhYmxl
Pjxjb2xncm91cD4iLCI8L2NvbGdyb3VwPjwvdGFibGU+Il0sdHI6WzIsIjx0YWJsZT48dGJvZHk+IiwiPC9
0Ym9keT48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YW
JsZT4iXSxfZGVmYXVsdDpbMCwiIiwiIl19O2Z1bmN0aW9uIHZlKGUsdCl7dmFyIG47cmV0dXJuIG49InVuZ
GVmaW5lZCIhPXR5cGVvZiBlLmdldEVsZW1lbnRzQnlUYWdOYW1lP2UuZ2V0RWxlbWVudHNCeVRhZ05hbWUo
dHx8IioiKToidW5kZWZpbmVkIiE9dHlwZW9mIGUucXVlcnlTZWxlY3RvckFsbD9lLnF1ZXJ5U2VsZWN0b3J
BbGwodHx8IioiKTpbXSx2b2lkIDA9PT10fHx0JiZBKGUsdCk/
Uy5tZXJnZShbZV0sbik6bn1mdW5jdGlvbiB5ZShlLHQpe2Zvcih2YXIgbj0wLHI9ZS5sZW5ndGg7bjxyO24
rKylZLnNldChlW25dLCJnbG9iYWxFdmFsIiwhdHx8WS5nZXQodFtuXSwiZ2xvYmFsRXZhbCIpKX1nZS50Ym
9keT1nZS50Zm9vdD1nZS5jb2xncm91cD1nZS5jYXB0aW9uPWdlLnRoZWFkLGdlLnRoPWdlLnRkLHkub3B0a
W9ufHwoZ2Uub3B0Z3JvdXA9Z2Uub3B0aW9uPVsxLCI8c2VsZWN0IG11bHRpcGxlPSdtdWx0aXBsZSc+Iiwi
PC9zZWxlY3Q+Il0pO3ZhciBtZT0vPHwmIz9cdys7LztmdW5jdGlvbiB4ZShlLHQsbixyLGkpe2Zvcih2YXI
gbyxhLHMsdSxsLGMsZj10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxwPVtdLGQ9MCxoPWUubGVuZ3RoO2
Q8aDtkKyspaWYoKG89ZVtkXSl8fDA9PT1vKWlmKCJvYmplY3QiPT09dyhvKSlTLm1lcmdlKHAsby5ub2RlV
HlwZT9bb106byk7ZWxzZSBpZihtZS50ZXN0KG8pKXthPWF8fGYuYXBwZW5kQ2hpbGQodC5jcmVhdGVFbGVt
ZW50KCJkaXYiKSkscz0oZGUuZXhlYyhvKXx8WyIiLCIiXSlbMV0udG9Mb3dlckNhc2UoKSx1PWdlW3NdfHx
nZS5fZGVmYXVsdCxhLmlubmVySFRNTD11WzFdK1MuaHRtbFByZWZpbHRlcihvKSt1WzJdLGM9dVswXTt3aG
lsZShjLS0pYT1hLmxhc3RDaGlsZDtTLm1lcmdlKHAsYS5jaGlsZE5vZGVzKSwoYT1mLmZpcnN0Q2hpbGQpL
nRleHRDb250ZW50PSIifWVsc2UgcC5wdXNoKHQuY3JlYXRlVGV4dE5vZGUobykpO2YudGV4dENvbnRlbnQ9
IiIsZD0wO3doaWxlKG89cFtkKytdKWlmKHImJi0xPFMuaW5BcnJheShvLHIpKWkmJmkucHVzaChvKTtlbHN
lIGlmKGw9aWUobyksYT12ZShmLmFwcGVuZENoaWxkKG8pLCJzY3JpcHQiKSxsJiZ5ZShhKSxuKXtjPTA7d2
hpbGUobz1hW2MrK10paGUudGVzdChvLnR5cGV8fCIiKSYmbi5wdXNoKG8pfXJldHVybiBmfXZhciBiZT0vX
mtleS8sd2U9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLFRlPS9e
KFteLl0qKSg/
OlwuKC4rKXwpLztmdW5jdGlvbiBDZSgpe3JldHVybiEwfWZ1bmN0aW9uIEVlKCl7cmV0dXJuITF9ZnVuY3R
pb24gU2UoZSx0KXtyZXR1cm4gZT09PWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBFLmFjdGl2ZUVsZW1lbnR9Y2
F0Y2goZSl7fX0oKT09KCJmb2N1cyI9PT10KX1mdW5jdGlvbiBrZShlLHQsbixyLGksbyl7dmFyIGEscztpZ
igib2JqZWN0Ij09dHlwZW9mIHQpe2ZvcihzIGluInN0cmluZyIhPXR5cGVvZiBuJiYocj1yfHxuLG49dm9p
ZCAwKSx0KWtlKGUscyxuLHIsdFtzXSxvKTtyZXR1cm4gZX1pZihudWxsPT1yJiZudWxsPT1pPyhpPW4scj1
uPXZvaWQgMCk6bnVsbD09aSYmKCJzdHJpbmciPT10eXBlb2Ygbj8oaT1yLHI9dm9pZCAwKTooaT1yLHI9bi
xuPXZvaWQgMCkpLCExPT09aSlpPUVlO2Vsc2UgaWYoIWkpcmV0dXJuIGU7cmV0dXJuIDE9PT1vJiYoYT1pL
ChpPWZ1bmN0aW9uKGUpe3JldHVybiBTKCkub2ZmKGUpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSkuZ3Vp
ZD1hLmd1aWR8fChhLmd1aWQ9Uy5ndWlkKyspKSxlLmVhY2goZnVuY3Rpb24oKXtTLmV2ZW50LmFkZCh0aGl
zLHQsaSxyLG4pfSl9ZnVuY3Rpb24gQWUoZSxpLG8pe28/
KFkuc2V0KGUsaSwhMSksUy5ldmVudC5hZGQoZSxpLHtuYW1lc3BhY2U6ITEsaGFuZGxlcjpmdW5jdGlvbih
lKXt2YXIgdCxuLHI9WS5nZXQodGhpcyxpKTtpZigxJmUuaXNUcmlnZ2VyJiZ0aGlzW2ldKXtpZihyLmxlbm
d0aCkoUy5ldmVudC5zcGVjaWFsW2ldfHx7fSkuZGVsZWdhdGVUeXBlJiZlLnN0b3BQcm9wYWdhdGlvbigpO
2Vsc2UgaWYocj1zLmNhbGwoYXJndW1lbnRzKSxZLnNldCh0aGlzLGksciksdD1vKHRoaXMsaSksdGhpc1tp
XSgpLHIhPT0obj1ZLmdldCh0aGlzLGkpKXx8dD9ZLnNldCh0aGlzLGksITEpOm49e30sciE9PW4pcmV0dXJ
uIGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5wcmV2ZW50RGVmYXVsdCgpLG4udmFsdWV9ZWxzZS
ByLmxlbmd0aCYmKFkuc2V0KHRoaXMsaSx7dmFsdWU6Uy5ldmVudC50cmlnZ2VyKFMuZXh0ZW5kKHJbMF0sU
y5FdmVudC5wcm90b3R5cGUpLHIuc2xpY2UoMSksdGhpcyl9KSxlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlv
bigpKX19KSk6dm9pZCAwPT09WS5nZXQoZSxpKSYmUy5ldmVudC5hZGQoZSxpLENlKX1TLmV2ZW50PXtnbG9
iYWw6e30sYWRkOmZ1bmN0aW9uKHQsZSxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PVkuZ2
V0KHQpO2lmKFYodCkpe24uaGFuZGxlciYmKG49KG89bikuaGFuZGxlcixpPW8uc2VsZWN0b3IpLGkmJlMuZ
mluZC5tYXRjaGVzU2VsZWN0b3IocmUsaSksbi5ndWlkfHwobi5ndWlkPVMuZ3VpZCsrKSwodT12LmV2ZW50
cyl8fCh1PXYuZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCkpLChhPXYuaGFuZGxlKXx8KGE9di5oYW5kbGU
9ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBTJiZTLmV2ZW50LnRyaWdnZXJlZCE9PW
UudHlwZT9TLmV2ZW50LmRpc3BhdGNoLmFwcGx5KHQsYXJndW1lbnRzKTp2b2lkIDB9KSxsPShlPShlfHwiI
ikubWF0Y2goUCl8fFsiIl0pLmxlbmd0aDt3aGlsZShsLS0pZD1nPShzPVRlLmV4ZWMoZVtsXSl8fFtdKVsx
XSxoPShzWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZCYmKGY9Uy5ldmVudC5zcGVjaWFsW2RdfHx7fSx
kPShpP2YuZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkLGY9Uy5ldmVudC5zcGVjaWFsW2RdfHx7fSxjPV
MuZXh0ZW5kKHt0eXBlOmQsb3JpZ1R5cGU6ZyxkYXRhOnIsaGFuZGxlcjpuLGd1aWQ6bi5ndWlkLHNlbGVjd
G9yOmksbmVlZHNDb250ZXh0OmkmJlMuZXhwci5tYXRjaC5uZWVkc0NvbnRleHQudGVzdChpKSxuYW1lc3Bh
Y2U6aC5qb2luKCIuIil9LG8pLChwPXVbZF0pfHwoKHA9dVtkXT1bXSkuZGVsZWdhdGVDb3VudD0wLGYuc2V
0dXAmJiExIT09Zi5zZXR1cC5jYWxsKHQscixoLGEpfHx0LmFkZEV2ZW50TGlzdGVuZXImJnQuYWRkRXZlbn
RMaXN0ZW5lcihkLGEpKSxmLmFkZCYmKGYuYWRkLmNhbGwodCxjKSxjLmhhbmRsZXIuZ3VpZHx8KGMuaGFuZ
Gxlci5ndWlkPW4uZ3VpZCkpLGk/
cC5zcGxpY2UocC5kZWxlZ2F0ZUNvdW50KyssMCxjKTpwLnB1c2goYyksUy5ldmVudC5nbG9iYWxbZF09ITA
pfX0scmVtb3ZlOmZ1bmN0aW9uKGUsdCxuLHIsaSl7dmFyIG8sYSxzLHUsbCxjLGYscCxkLGgsZyx2PVkuaG
FzRGF0YShlKSYmWS5nZXQoZSk7aWYodiYmKHU9di5ldmVudHMpKXtsPSh0PSh0fHwiIikubWF0Y2goUCl8f
FsiIl0pLmxlbmd0aDt3aGlsZShsLS0paWYoZD1nPShzPVRlLmV4ZWModFtsXSl8fFtdKVsxXSxoPShzWzJd
fHwiIikuc3BsaXQoIi4iKS5zb3J0KCksZCl7Zj1TLmV2ZW50LnNwZWNpYWxbZF18fHt9LHA9dVtkPShyP2Y
uZGVsZWdhdGVUeXBlOmYuYmluZFR5cGUpfHxkXXx8W10scz1zWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIi
toLmpvaW4oIlxcLig/
Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGE9bz1wLmxlbmd0aDt3aGlsZShvLS0pYz1wW29dLCFpJiZnIT09Yy5
vcmlnVHlwZXx8biYmbi5ndWlkIT09Yy5ndWlkfHxzJiYhcy50ZXN0KGMubmFtZXNwYWNlKXx8ciYmciE9PW
Muc2VsZWN0b3ImJigiKioiIT09cnx8IWMuc2VsZWN0b3IpfHwocC5zcGxpY2UobywxKSxjLnNlbGVjdG9yJ
iZwLmRlbGVnYXRlQ291bnQtLSxmLnJlbW92ZSYmZi5yZW1vdmUuY2FsbChlLGMpKTthJiYhcC5sZW5ndGgm
JihmLnRlYXJkb3duJiYhMSE9PWYudGVhcmRvd24uY2FsbChlLGgsdi5oYW5kbGUpfHxTLnJlbW92ZUV2ZW5
0KGUsZCx2LmhhbmRsZSksZGVsZXRlIHVbZF0pfWVsc2UgZm9yKGQgaW4gdSlTLmV2ZW50LnJlbW92ZShlLG
QrdFtsXSxuLHIsITApO1MuaXNFbXB0eU9iamVjdCh1KSYmWS5yZW1vdmUoZSwiaGFuZGxlIGV2ZW50cyIpf
X0sZGlzcGF0Y2g6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGksbyxhLHM9bmV3IEFycmF5KGFyZ3VtZW50cy5s
ZW5ndGgpLHU9Uy5ldmVudC5maXgoZSksbD0oWS5nZXQodGhpcywiZXZlbnRzIil8fE9iamVjdC5jcmVhdGU
obnVsbCkpW3UudHlwZV18fFtdLGM9Uy5ldmVudC5zcGVjaWFsW3UudHlwZV18fHt9O2ZvcihzWzBdPXUsdD
0xO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspc1t0XT1hcmd1bWVudHNbdF07aWYodS5kZWxlZ2F0ZVRhcmdld
D10aGlzLCFjLnByZURpc3BhdGNofHwhMSE9PWMucHJlRGlzcGF0Y2guY2FsbCh0aGlzLHUpKXthPVMuZXZl
bnQuaGFuZGxlcnMuY2FsbCh0aGlzLHUsbCksdD0wO3doaWxlKChpPWFbdCsrXSkmJiF1LmlzUHJvcGFnYXR
pb25TdG9wcGVkKCkpe3UuY3VycmVudFRhcmdldD1pLmVsZW0sbj0wO3doaWxlKChvPWkuaGFuZGxlcnNbbi
srXSkmJiF1LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpdS5ybmFtZXNwYWNlJiYhMSE9PW8ub
mFtZXNwYWNlJiYhdS5ybmFtZXNwYWNlLnRlc3Qoby5uYW1lc3BhY2UpfHwodS5oYW5kbGVPYmo9byx1LmRh
dGE9by5kYXRhLHZvaWQgMCE9PShyPSgoUy5ldmVudC5zcGVjaWFsW28ub3JpZ1R5cGVdfHx7fSkuaGFuZGx
lfHxvLmhhbmRsZXIpLmFwcGx5KGkuZWxlbSxzKSkmJiExPT09KHUucmVzdWx0PXIpJiYodS5wcmV2ZW50RG
VmYXVsdCgpLHUuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gYy5wb3N0RGlzcGF0Y2gmJmMucG9zdERpc
3BhdGNoLmNhbGwodGhpcyx1KSx1LnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGUsdCl7dmFyIG4scixp
LG8sYSxzPVtdLHU9dC5kZWxlZ2F0ZUNvdW50LGw9ZS50YXJnZXQ7aWYodSYmbC5ub2RlVHlwZSYmISgiY2x
pY2siPT09ZS50eXBlJiYxPD1lLmJ1dHRvbikpZm9yKDtsIT09dGhpcztsPWwucGFyZW50Tm9kZXx8dGhpcy
lpZigxPT09bC5ub2RlVHlwZSYmKCJjbGljayIhPT1lLnR5cGV8fCEwIT09bC5kaXNhYmxlZCkpe2ZvcihvP
VtdLGE9e30sbj0wO248dTtuKyspdm9pZCAwPT09YVtpPShyPXRbbl0pLnNlbGVjdG9yKyIgIl0mJihhW2ld
PXIubmVlZHNDb250ZXh0Py0xPFMoaSx0aGlzKS5pbmRleChsKTpTLmZpbmQoaSx0aGlzLG51bGwsW2xdKS5
sZW5ndGgpLGFbaV0mJm8ucHVzaChyKTtvLmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6b30pfX
JldHVybiBsPXRoaXMsdTx0Lmxlbmd0aCYmcy5wdXNoKHtlbGVtOmwsaGFuZGxlcnM6dC5zbGljZSh1KX0pL
HN9LGFkZFByb3A6ZnVuY3Rpb24odCxlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoUy5FdmVudC5wcm90b3R5
cGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Om0oZSk/
ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIGUodGhpcy5vcmlnaW5hbEV2ZW50KX0
6ZnVuY3Rpb24oKXtpZih0aGlzLm9yaWdpbmFsRXZlbnQpcmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFt0XX
0sc2V0OmZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLHQse2VudW1lcmFibGU6ITAsY
29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KX19KX0sZml4OmZ1bmN0aW9uKGUpe3JldHVy
biBlW1MuZXhwYW5kb10/
ZTpuZXcgUy5FdmVudChlKX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGNsaWNrOntzZXR1cDpmdW5
jdGlvbihlKXt2YXIgdD10aGlzfHxlO3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW
5wdXQiKSYmQWUodCwiY2xpY2siLENlKSwhMX0sdHJpZ2dlcjpmdW5jdGlvbihlKXt2YXIgdD10aGlzfHxlO
3JldHVybiBwZS50ZXN0KHQudHlwZSkmJnQuY2xpY2smJkEodCwiaW5wdXQiKSYmQWUodCwiY2xpY2siKSwh
MH0sX2RlZmF1bHQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50YXJnZXQ7cmV0dXJuIHBlLnRlc3QodC50eXBlKSY
mdC5jbGljayYmQSh0LCJpbnB1dCIpJiZZLmdldCh0LCJjbGljayIpfHxBKHQsImEiKX19LGJlZm9yZXVubG
9hZDp7cG9zdERpc3BhdGNoOmZ1bmN0aW9uKGUpe3ZvaWQgMCE9PWUucmVzdWx0JiZlLm9yaWdpbmFsRXZlb
nQmJihlLm9yaWdpbmFsRXZlbnQucmV0dXJuVmFsdWU9ZS5yZXN1bHQpfX19fSxTLnJlbW92ZUV2ZW50PWZ1
bmN0aW9uKGUsdCxuKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXImJmUucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LG4
pfSxTLkV2ZW50PWZ1bmN0aW9uKGUsdCl7aWYoISh0aGlzIGluc3RhbmNlb2YgUy5FdmVudCkpcmV0dXJuIG
5ldyBTLkV2ZW50KGUsdCk7ZSYmZS50eXBlPyh0aGlzLm9yaWdpbmFsRXZlbnQ9ZSx0aGlzLnR5cGU9ZS50e
XBlLHRoaXMuaXNEZWZhdWx0UHJldmVudGVkPWUuZGVmYXVsdFByZXZlbnRlZHx8dm9pZCAwPT09ZS5kZWZh
dWx0UHJldmVudGVkJiYhMT09PWUucmV0dXJuVmFsdWU/Q2U6RWUs
dGhpcy50YXJnZXQ9ZS50YXJnZXQmJjM9PT1lLnRhcmdldC5ub2RlVHlwZT9lLnRhcmdldC5wYXJlbnROb2R
lOmUudGFyZ2V0LHRoaXMuY3VycmVudFRhcmdldD1lLmN1cnJlbnRUYXJnZXQsdGhpcy5yZWxhdGVkVGFyZ2
V0PWUucmVsYXRlZFRhcmdldCk6dGhpcy50eXBlPWUsdCYmUy5leHRlbmQodGhpcyx0KSx0aGlzLnRpbWVTd
GFtcD1lJiZlLnRpbWVTdGFtcHx8RGF0ZS5ub3coKSx0aGlzW1MuZXhwYW5kb109ITB9LFMuRXZlbnQucHJv
dG90eXBlPXtjb25zdHJ1Y3RvcjpTLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpFZSxpc1Byb3BhZ2F0aW9
uU3RvcHBlZDpFZSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpFZSxpc1NpbXVsYXRlZDohMSxwcm
V2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsd
FByZXZlbnRlZD1DZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5wcmV2ZW50RGVmYXVsdCgpfSxzdG9wUHJv
cGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc1Byb3BhZ2F0aW9
uU3RvcHBlZD1DZSxlJiYhdGhpcy5pc1NpbXVsYXRlZCYmZS5zdG9wUHJvcGFnYXRpb24oKX0sc3RvcEltbW
VkaWF0ZVByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNJb
W1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ9Q2UsZSYmIXRoaXMuaXNTaW11bGF0ZWQmJmUuc3RvcEltbWVk
aWF0ZVByb3BhZ2F0aW9uKCksdGhpcy5zdG9wUHJvcGFnYXRpb24oKX19LFMuZWFjaCh7YWx0S2V5OiEwLGJ
1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCxjaGFuZ2VkVG91Y2hlczohMCxjdHJsS2V5OiEwLGRldGFpbDohMC
xldmVudFBoYXNlOiEwLG1ldGFLZXk6ITAscGFnZVg6ITAscGFnZVk6ITAsc2hpZnRLZXk6ITAsdmlldzohM
CwiY2hhciI6ITAsY29kZTohMCxjaGFyQ29kZTohMCxrZXk6ITAsa2V5Q29kZTohMCxidXR0b246ITAsYnV0
dG9uczohMCxjbGllbnRYOiEwLGNsaWVudFk6ITAsb2Zmc2V0WDohMCxvZmZzZXRZOiEwLHBvaW50ZXJJZDo
hMCxwb2ludGVyVHlwZTohMCxzY3JlZW5YOiEwLHNjcmVlblk6ITAsdGFyZ2V0VG91Y2hlczohMCx0b0VsZW
1lbnQ6ITAsdG91Y2hlczohMCx3aGljaDpmdW5jdGlvbihlKXt2YXIgdD1lLmJ1dHRvbjtyZXR1cm4gbnVsb
D09ZS53aGljaCYmYmUudGVzdChlLnR5cGUpP251bGwhPWUuY2hhckNvZGU/
ZS5jaGFyQ29kZTplLmtleUNvZGU6IWUud2hpY2gmJnZvaWQgMCE9PXQmJndlLnRlc3QoZS50eXBlKT8xJnQ
/MToyJnQ/Mzo0JnQ/
MjowOmUud2hpY2h9fSxTLmV2ZW50LmFkZFByb3ApLFMuZWFjaCh7Zm9jdXM6ImZvY3VzaW4iLGJsdXI6ImZ
vY3Vzb3V0In0sZnVuY3Rpb24oZSx0KXtTLmV2ZW50LnNwZWNpYWxbZV09e3NldHVwOmZ1bmN0aW9uKCl7cm
V0dXJuIEFlKHRoaXMsZSxTZSksITF9LHRyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gQWUodGhpcyxlKSwhM
H0sZGVsZWdhdGVUeXBlOnR9fSksUy5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6
Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQ
ifSxmdW5jdGlvbihlLGkpe1MuZXZlbnQuc3BlY2lhbFtlXT17ZGVsZWdhdGVUeXBlOmksYmluZFR5cGU6aS
xoYW5kbGU6ZnVuY3Rpb24oZSl7dmFyIHQsbj1lLnJlbGF0ZWRUYXJnZXQscj1lLmhhbmRsZU9iajtyZXR1c
m4gbiYmKG49PT10aGlzfHxTLmNvbnRhaW5zKHRoaXMsbikpfHwoZS50eXBlPXIub3JpZ1R5cGUsdD1yLmhh
bmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudHlwZT1pKSx0fX19KSxTLmZuLmV4dGVuZCh7b246ZnV
uY3Rpb24oZSx0LG4scil7cmV0dXJuIGtlKHRoaXMsZSx0LG4scil9LG9uZTpmdW5jdGlvbihlLHQsbixyKX
tyZXR1cm4ga2UodGhpcyxlLHQsbixyLDEpfSxvZmY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLGk7aWYoZSYmZ
S5wcmV2ZW50RGVmYXVsdCYmZS5oYW5kbGVPYmopcmV0dXJuIHI9ZS5oYW5kbGVPYmosUyhlLmRlbGVnYXRl
VGFyZ2V0KS5vZmYoci5uYW1lc3BhY2U/
ci5vcmlnVHlwZSsiLiIrci5uYW1lc3BhY2U6ci5vcmlnVHlwZSxyLnNlbGVjdG9yLHIuaGFuZGxlciksdGh
pcztpZigib2JqZWN0Ij09dHlwZW9mIGUpe2ZvcihpIGluIGUpdGhpcy5vZmYoaSx0LGVbaV0pO3JldHVybi
B0aGlzfXJldHVybiExIT09dCYmImZ1bmN0aW9uIiE9dHlwZW9mIHR8fChuPXQsdD12b2lkIDApLCExPT09b
iYmKG49RWUpLHRoaXMuZWFjaChmdW5jdGlvbigpe1MuZXZlbnQucmVtb3ZlKHRoaXMsZSxuLHQpfSl9fSk7
dmFyIE5lPS88c2NyaXB0fDxzdHlsZXw8bGluay9pLERlPS9jaGVja2VkXHMqKD86W149XXw9XHMqLmNoZWN
rZWQuKS9pLGplPS9eXHMqPCEoPzpcW0NEQVRBXFt8LS0pfCg/
OlxdXF18LS0pPlxzKiQvZztmdW5jdGlvbiBxZShlLHQpe3JldHVybiBBKGUsInRhYmxlIikmJkEoMTEhPT1
0Lm5vZGVUeXBlP3Q6dC5maXJzdENoaWxkLCJ0ciIpJiZTKGUpLmNoaWxkcmVuKCJ0Ym9keSIpWzBdfHxlfW
Z1bmN0aW9uIExlKGUpe3JldHVybiBlLnR5cGU9KG51bGwhPT1lLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiL
yIrZS50eXBlLGV9ZnVuY3Rpb24gSGUoZSl7cmV0dXJuInRydWUvIj09PShlLnR5cGV8fCIiKS5zbGljZSgw
LDUpP2UudHlwZT1lLnR5cGUuc2xpY2UoNSk6ZS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxlfWZ1bmN0aW9
uIE9lKGUsdCl7dmFyIG4scixpLG8sYSxzO2lmKDE9PT10Lm5vZGVUeXBlKXtpZihZLmhhc0RhdGEoZSkmJi
hzPVkuZ2V0KGUpLmV2ZW50cykpZm9yKGkgaW4gWS5yZW1vdmUodCwiaGFuZGxlIGV2ZW50cyIpLHMpZm9yK
G49MCxyPXNbaV0ubGVuZ3RoO248cjtuKyspUy5ldmVudC5hZGQodCxpLHNbaV1bbl0pO1EuaGFzRGF0YShl
KSYmKG89US5hY2Nlc3MoZSksYT1TLmV4dGVuZCh7fSxvKSxRLnNldCh0LGEpKX19ZnVuY3Rpb24gUGUobix
yLGksbyl7cj1nKHIpO3ZhciBlLHQsYSxzLHUsbCxjPTAsZj1uLmxlbmd0aCxwPWYtMSxkPXJbMF0saD1tKG
QpO2lmKGh8fDE8ZiYmInN0cmluZyI9PXR5cGVvZiBkJiYheS5jaGVja0Nsb25lJiZEZS50ZXN0KGQpKXJld
HVybiBuLmVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9bi5lcShlKTtoJiYoclswXT1kLmNhbGwodGhpcyxlLHQu
aHRtbCgpKSksUGUodCxyLGksbyl9KTtpZihmJiYodD0oZT14ZShyLG5bMF0ub3duZXJEb2N1bWVudCwhMSx
uLG8pKS5maXJzdENoaWxkLDE9PT1lLmNoaWxkTm9kZXMubGVuZ3RoJiYoZT10KSx0fHxvKSl7Zm9yKHM9KG
E9Uy5tYXAodmUoZSwic2NyaXB0IiksTGUpKS5sZW5ndGg7YzxmO2MrKyl1PWUsYyE9PXAmJih1PVMuY2xvb
mUodSwhMCwhMCkscyYmUy5tZXJnZShhLHZlKHUsInNjcmlwdCIpKSksaS5jYWxsKG5bY10sdSxjKTtpZihz
KWZvcihsPWFbYS5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxTLm1hcChhLEhlKSxjPTA7YzxzO2MrKyl1PWF
bY10saGUudGVzdCh1LnR5cGV8fCIiKSYmIVkuYWNjZXNzKHUsImdsb2JhbEV2YWwiKSYmUy5jb250YWlucy
hsLHUpJiYodS5zcmMmJiJtb2R1bGUiIT09KHUudHlwZXx8IiIpLnRvTG93ZXJDYXNlKCk/
Uy5fZXZhbFVybCYmIXUubm9Nb2R1bGUmJlMuX2V2YWxVcmwodS5zcmMse25vbmNlOnUubm9uY2V8fHUuZ2V
0QXR0cmlidXRlKCJub25jZSIpfSxsKTpiKHUudGV4dENvbnRlbnQucmVwbGFjZShqZSwiIiksdSxsKSl9cm
V0dXJuIG59ZnVuY3Rpb24gUmUoZSx0LG4pe2Zvcih2YXIgcixpPXQ/
Uy5maWx0ZXIodCxlKTplLG89MDtudWxsIT0ocj1pW29dKTtvKyspbnx8MSE9PXIubm9kZVR5cGV8fFMuY2x
lYW5EYXRhKHZlKHIpKSxyLnBhcmVudE5vZGUmJihuJiZpZShyKSYmeWUodmUociwic2NyaXB0IikpLHIucG
FyZW50Tm9kZS5yZW1vdmVDaGlsZChyKSk7cmV0dXJuIGV9Uy5leHRlbmQoe2h0bWxQcmVmaWx0ZXI6ZnVuY
3Rpb24oZSl7cmV0dXJuIGV9LGNsb25lOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjPWUu
Y2xvbmVOb2RlKCEwKSxmPWllKGUpO2lmKCEoeS5ub0Nsb25lQ2hlY2tlZHx8MSE9PWUubm9kZVR5cGUmJjE
xIT09ZS5ub2RlVHlwZXx8Uy5pc1hNTERvYyhlKSkpZm9yKGE9dmUoYykscj0wLGk9KG89dmUoZSkpLmxlbm
d0aDtyPGk7cisrKXM9b1tyXSx1PWFbcl0sdm9pZCAwLCJpbnB1dCI9PT0obD11Lm5vZGVOYW1lLnRvTG93Z
XJDYXNlKCkpJiZwZS50ZXN0KHMudHlwZSk/
dS5jaGVja2VkPXMuY2hlY2tlZDoiaW5wdXQiIT09bCYmInRleHRhcmVhIiE9PWx8fCh1LmRlZmF1bHRWYWx
1ZT1zLmRlZmF1bHRWYWx1ZSk7aWYodClpZihuKWZvcihvPW98fHZlKGUpLGE9YXx8dmUoYykscj0wLGk9by
5sZW5ndGg7cjxpO3IrKylPZShvW3JdLGFbcl0pO2Vsc2UgT2UoZSxjKTtyZXR1cm4gMDwoYT12ZShjLCJzY
3JpcHQiKSkubGVuZ3RoJiZ5ZShhLCFmJiZ2ZShlLCJzY3JpcHQiKSksY30sY2xlYW5EYXRhOmZ1bmN0aW9u
KGUpe2Zvcih2YXIgdCxuLHIsaT1TLmV2ZW50LnNwZWNpYWwsbz0wO3ZvaWQgMCE9PShuPWVbb10pO28rKyl
pZihWKG4pKXtpZih0PW5bWS5leHBhbmRvXSl7aWYodC5ldmVudHMpZm9yKHIgaW4gdC5ldmVudHMpaVtyXT
9TLmV2ZW50LnJlbW92ZShuLHIpOlMucmVtb3ZlRXZlbnQobixyLHQuaGFuZGxlKTtuW1kuZXhwYW5kb109d
m9pZCAwfW5bUS5leHBhbmRvXSYmKG5bUS5leHBhbmRvXT12b2lkIDApfX19KSxTLmZuLmV4dGVuZCh7ZGV0
YWNoOmZ1bmN0aW9uKGUpe3JldHVybiBSZSh0aGlzLGUsITApfSxyZW1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJ
uIFJlKHRoaXMsZSl9LHRleHQ6ZnVuY3Rpb24oZSl7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlKXtyZXR1cm
4gdm9pZCAwPT09ZT9TLnRleHQodGhpcyk6dGhpcy5lbXB0eSgpLmVhY2goZnVuY3Rpb24oKXsxIT09dGhpc
y5ub2RlVHlwZSYmMTEhPT10aGlzLm5vZGVUeXBlJiY5IT09dGhpcy5ub2RlVHlwZXx8KHRoaXMudGV4dENv
bnRlbnQ9ZSl9KX0sbnVsbCxlLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4
gUGUodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oZSl7MSE9PXRoaXMubm9kZVR5cGUmJjExIT09dGhpcy5ub2
RlVHlwZSYmOSE9PXRoaXMubm9kZVR5cGV8fHFlKHRoaXMsZSkuYXBwZW5kQ2hpbGQoZSl9KX0scHJlcGVuZ
DpmdW5jdGlvbigpe3JldHVybiBQZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXtpZigxPT09dGhpcy5u
b2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIHQ9cWUodGhpcyx
lKTt0Lmluc2VydEJlZm9yZShlLHQuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybi
BQZSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZ
S5pbnNlcnRCZWZvcmUoZSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBQZSh0aGlzLGFyZ3Vt
ZW50cyxmdW5jdGlvbihlKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmU
oZSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgZSx0PTA7bnVsbCE9KG
U9dGhpc1t0XSk7dCsrKTE9PT1lLm5vZGVUeXBlJiYoUy5jbGVhbkRhdGEodmUoZSwhMSkpLGUudGV4dENvb
nRlbnQ9IiIpO3JldHVybiB0aGlzfSxjbG9uZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWUmJmUs
dD1udWxsPT10P2U6dCx0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBTLmNsb25lKHRoaXMsZSx0KX0pfSx
odG1sOmZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZSl7dmFyIHQ9dGhpc1swXXx8e30sbj
0wLHI9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09ZSYmMT09PXQubm9kZVR5cGUpcmV0dXJuIHQuaW5uZXJIV
E1MO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmIU5lLnRlc3QoZSkmJiFnZVsoZGUuZXhlYyhlKXx8WyIiLCIi
XSlbMV0udG9Mb3dlckNhc2UoKV0pe2U9Uy5odG1sUHJlZmlsdGVyKGUpO3RyeXtmb3IoO248cjtuKyspMT0
9PSh0PXRoaXNbbl18fHt9KS5ub2RlVHlwZSYmKFMuY2xlYW5EYXRhKHZlKHQsITEpKSx0LmlubmVySFRNTD
1lKTt0PTB9Y2F0Y2goZSl7fX10JiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGUpfSxudWxsLGUsYXJndW1lbnRzL
mxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIG49W107cmV0dXJuIFBlKHRoaXMsYXJndW1l
bnRzLGZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyZW50Tm9kZTtTLmluQXJyYXkodGhpcyxuKTwwJiYoUy5
jbGVhbkRhdGEodmUodGhpcykpLHQmJnQucmVwbGFjZUNoaWxkKGUsdGhpcykpfSxuKX19KSxTLmVhY2goe2
FwcGVuZFRvOiJhcHBlbmQiLHByZXBlbmRUbzoicHJlcGVuZCIsaW5zZXJ0QmVmb3JlOiJiZWZvcmUiLGluc
2VydEFmdGVyOiJhZnRlciIscmVwbGFjZUFsbDoicmVwbGFjZVdpdGgifSxmdW5jdGlvbihlLGEpe1MuZm5b
ZV09ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10scj1TKGUpLGk9ci5sZW5ndGgtMSxvPTA7bzw9aTtvKys
pdD1vPT09aT90aGlzOnRoaXMuY2xvbmUoITApLFMocltvXSlbYV0odCksdS5hcHBseShuLHQuZ2V0KCkpO3
JldHVybiB0aGlzLnB1c2hTdGFjayhuKX19KTt2YXIgTWU9bmV3IFJlZ0V4cCgiXigiK2VlKyIpKD8hcHgpW
2EteiVdKyQiLCJpIiksSWU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3
O3JldHVybiB0JiZ0Lm9wZW5lcnx8KHQ9QyksdC5nZXRDb21wdXRlZFN0eWxlKGUpfSxXZT1mdW5jdGlvbih
lLHQsbil7dmFyIHIsaSxvPXt9O2ZvcihpIGluIHQpb1tpXT1lLnN0eWxlW2ldLGUuc3R5bGVbaV09dFtpXT
tmb3IoaSBpbiByPW4uY2FsbChlKSx0KWUuc3R5bGVbaV09b1tpXTtyZXR1cm4gcn0sRmU9bmV3IFJlZ0V4c
ChuZS5qb2luKCJ8IiksImkiKTtmdW5jdGlvbiBCZShlLHQsbil7dmFyIHIsaSxvLGEscz1lLnN0eWxlO3Jl
dHVybihuPW58fEllKGUpKSYmKCIiIT09KGE9bi5nZXRQcm9wZXJ0eVZhbHVlKHQpfHxuW3RdKXx8aWUoZSl
8fChhPVMuc3R5bGUoZSx0KSksIXkucGl4ZWxCb3hTdHlsZXMoKSYmTWUudGVzdChhKSYmRmUudGVzdCh0KS
YmKHI9cy53aWR0aCxpPXMubWluV2lkdGgsbz1zLm1heFdpZHRoLHMubWluV2lkdGg9cy5tYXhXaWR0aD1zL
ndpZHRoPWEsYT1uLndpZHRoLHMud2lkdGg9cixzLm1pbldpZHRoPWkscy5tYXhXaWR0aD1vKSksdm9pZCAw
IT09YT9hKyIiOmF9ZnVuY3Rpb24gJGUoZSx0KXtyZXR1cm57Z2V0OmZ1bmN0aW9uKCl7aWYoIWUoKSlyZXR
1cm4odGhpcy5nZXQ9dCkuYXBwbHkodGhpcyxhcmd1bWVudHMpO2RlbGV0ZSB0aGlzLmdldH19fSFmdW5jdG
lvbigpe2Z1bmN0aW9uIGUoKXtpZihsKXt1LnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlO2xlZ
nQ6LTExMTExcHg7d2lkdGg6NjBweDttYXJnaW4tdG9wOjFweDtwYWRkaW5nOjA7Ym9yZGVyOjAiLGwuc3R5
bGUuY3NzVGV4dD0icG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9
jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO21hcmdpbjphdXRvO2JvcmRlcjoxcH
g7cGFkZGluZzoxcHg7d2lkdGg6NjAlO3RvcDoxJSIscmUuYXBwZW5kQ2hpbGQodSkuYXBwZW5kQ2hpbGQob
Ck7dmFyIGU9Qy5nZXRDb21wdXRlZFN0eWxlKGwpO249IjElIiE9PWUudG9wLHM9MTI9PT10KGUubWFyZ2lu
TGVmdCksbC5zdHlsZS5yaWdodD0iNjAlIixvPTM2PT09dChlLnJpZ2h0KSxyPTM2PT09dChlLndpZHRoKSx
sLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsaT0xMj09PXQobC5vZmZzZXRXaWR0aC8zKSxyZS5yZW1vdm
VDaGlsZCh1KSxsPW51bGx9fWZ1bmN0aW9uIHQoZSl7cmV0dXJuIE1hdGgucm91bmQocGFyc2VGbG9hdChlK
Sl9dmFyIG4scixpLG8sYSxzLHU9RS5jcmVhdGVFbGVtZW50KCJkaXYiKSxsPUUuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7bC5zdHlsZSYmKGwuc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixsLmNsb25lTm9
kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIseS5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij
09PWwuc3R5bGUuYmFja2dyb3VuZENsaXAsUy5leHRlbmQoeSx7Ym94U2l6aW5nUmVsaWFibGU6ZnVuY3Rpb
24oKXtyZXR1cm4gZSgpLHJ9LHBpeGVsQm94U3R5bGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxvfSxwaXhl
bFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIGUoKSxufSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24
oKXtyZXR1cm4gZSgpLHN9LHNjcm9sbGJveFNpemU6ZnVuY3Rpb24oKXtyZXR1cm4gZSgpLGl9LHJlbGlhYm
xlVHJEaW1lbnNpb25zOmZ1bmN0aW9uKCl7dmFyIGUsdCxuLHI7cmV0dXJuIG51bGw9PWEmJihlPUUuY3JlY
XRlRWxlbWVudCgidGFibGUiKSx0PUUuY3JlYXRlRWxlbWVudCgidHIiKSxuPUUuY3JlYXRlRWxlbWVudCgi
ZGl2IiksZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0xMTExMXB4Iix0LnN0eWx
lLmhlaWdodD0iMXB4IixuLnN0eWxlLmhlaWdodD0iOXB4IixyZS5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaG
lsZCh0KS5hcHBlbmRDaGlsZChuKSxyPUMuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxhPTM8cGFyc2VJbnQoci5oZ
WlnaHQpLHJlLnJlbW92ZUNoaWxkKGUpKSxhfX0pKX0oKTt2YXIgX2U9WyJXZWJraXQiLCJNb3oiLCJtcyJd
LHplPUUuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUsVWU9e307ZnVuY3Rpb24gWGUoZSl7dmFyIHQ9Uy5
jc3NQcm9wc1tlXXx8VWVbZV07cmV0dXJuIHR8fChlIGluIHplP2U6VWVbZV09ZnVuY3Rpb24oZSl7dmFyIH
Q9ZVswXS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSksbj1fZS5sZW5ndGg7d2hpbGUobi0tKWlmKChlPV9lW
25dK3QpaW4gemUpcmV0dXJuIGV9KGUpfHxlKX12YXIgVmU9L14obm9uZXx0YWJsZSg/
IS1jW2VhXSkuKykvLEdlPS9eLS0vLFllPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGR
lbiIsZGlzcGxheToiYmxvY2sifSxRZT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn07Zn
VuY3Rpb24gSmUoZSx0LG4pe3ZhciByPXRlLmV4ZWModCk7cmV0dXJuIHI/
TWF0aC5tYXgoMCxyWzJdLShufHwwKSkrKHJbM118fCJweCIpOnR9ZnVuY3Rpb24gS2UoZSx0LG4scixpLG8
pe3ZhciBhPSJ3aWR0aCI9PT10PzE6MCxzPTAsdT0wO2lmKG49PT0ocj8iYm9yZGVyIjoiY29udGVudCIpKX
JldHVybiAwO2Zvcig7YTw0O2ErPTIpIm1hcmdpbiI9PT1uJiYodSs9Uy5jc3MoZSxuK25lW2FdLCEwLGkpK
SxyPygiY29udGVudCI9PT1uJiYodS09Uy5jc3MoZSwicGFkZGluZyIrbmVbYV0sITAsaSkpLCJtYXJnaW4i
IT09biYmKHUtPVMuY3NzKGUsImJvcmRlciIrbmVbYV0rIldpZHRoIiwhMCxpKSkpOih1Kz1TLmNzcyhlLCJ
wYWRkaW5nIituZVthXSwhMCxpKSwicGFkZGluZyIhPT1uP3UrPVMuY3NzKGUsImJvcmRlciIrbmVbYV0rIl
dpZHRoIiwhMCxpKTpzKz1TLmNzcyhlLCJib3JkZXIiK25lW2FdKyJXaWR0aCIsITAsaSkpO3JldHVybiFyJ
iYwPD1vJiYodSs9TWF0aC5tYXgoMCxNYXRoLmNlaWwoZVsib2Zmc2V0Iit0WzBdLnRvVXBwZXJDYXNlKCkr
dC5zbGljZSgxKV0tby11LXMtLjUpKXx8MCksdX1mdW5jdGlvbiBaZShlLHQsbil7dmFyIHI9SWUoZSksaT0
oIXkuYm94U2l6aW5nUmVsaWFibGUoKXx8bikmJiJib3JkZXItYm94Ij09PVMuY3NzKGUsImJveFNpemluZy
IsITEsciksbz1pLGE9QmUoZSx0LHIpLHM9Im9mZnNldCIrdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoM
Sk7aWYoTWUudGVzdChhKSl7aWYoIW4pcmV0dXJuIGE7YT0iYXV0byJ9cmV0dXJuKCF5LmJveFNpemluZ1Jl
bGlhYmxlKCkmJml8fCF5LnJlbGlhYmxlVHJEaW1lbnNpb25zKCkmJkEoZSwidHIiKXx8ImF1dG8iPT09YXx
8IXBhcnNlRmxvYXQoYSkmJiJpbmxpbmUiPT09Uy5jc3MoZSwiZGlzcGxheSIsITEscikpJiZlLmdldENsaW
VudFJlY3RzKCkubGVuZ3RoJiYoaT0iYm9yZGVyLWJveCI9PT1TLmNzcyhlLCJib3hTaXppbmciLCExLHIpL
ChvPXMgaW4gZSkmJihhPWVbc10pKSwoYT1wYXJzZUZsb2F0KGEpfHwwKStLZShlLHQsbnx8KGk/
ImJvcmRlciI6ImNvbnRlbnQiKSxvLHIsYSkrInB4In1mdW5jdGlvbiBldChlLHQsbixyLGkpe3JldHVybiB
uZXcgZXQucHJvdG90eXBlLmluaXQoZSx0LG4scixpKX1TLmV4dGVuZCh7Y3NzSG9va3M6e29wYWNpdHk6e2
dldDpmdW5jdGlvbihlLHQpe2lmKHQpe3ZhciBuPUJlKGUsIm9wYWNpdHkiKTtyZXR1cm4iIj09PW4/
IjEiOm59fX19LGNzc051bWJlcjp7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ITAsY29sdW1uQ291bnQ6ITA
sZmlsbE9wYWNpdHk6ITAsZmxleEdyb3c6ITAsZmxleFNocmluazohMCxmb250V2VpZ2h0OiEwLGdyaWRBcm
VhOiEwLGdyaWRDb2x1bW46ITAsZ3JpZENvbHVtbkVuZDohMCxncmlkQ29sdW1uU3RhcnQ6ITAsZ3JpZFJvd
zohMCxncmlkUm93RW5kOiEwLGdyaWRSb3dTdGFydDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3Jk
ZXI6ITAsb3JwaGFuczohMCx3aWRvd3M6ITAsekluZGV4OiEwLHpvb206ITB9LGNzc1Byb3BzOnt9LHN0eWx
lOmZ1bmN0aW9uKGUsdCxuLHIpe2lmKGUmJjMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmZS5zdH
lsZSl7dmFyIGksbyxhLHM9WCh0KSx1PUdlLnRlc3QodCksbD1lLnN0eWxlO2lmKHV8fCh0PVhlKHMpKSxhP
VMuY3NzSG9va3NbdF18fFMuY3NzSG9va3Nbc10sdm9pZCAwPT09bilyZXR1cm4gYSYmImdldCJpbiBhJiZ2
b2lkIDAhPT0oaT1hLmdldChlLCExLHIpKT9pOmxbdF07InN0cmluZyI9PT0obz10eXBlb2YgbikmJihpPXR
lLmV4ZWMobikpJiZpWzFdJiYobj1zZShlLHQsaSksbz0ibnVtYmVyIiksbnVsbCE9biYmbj09biYmKCJudW
1iZXIiIT09b3x8dXx8KG4rPWkmJmlbM118fChTLmNzc051bWJlcltzXT8iIjoicHgiKSkseS5jbGVhckNsb
25lU3R5bGV8fCIiIT09bnx8MCE9PXQuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwobFt0XT0iaW5oZXJpdCIp
LGEmJiJzZXQiaW4gYSYmdm9pZCAwPT09KG49YS5zZXQoZSxuLHIpKXx8KHU/
bC5zZXRQcm9wZXJ0eSh0LG4pOmxbdF09bikpfX0sY3NzOmZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpLG8sYSx
zPVgodCk7cmV0dXJuIEdlLnRlc3QodCl8fCh0PVhlKHMpKSwoYT1TLmNzc0hvb2tzW3RdfHxTLmNzc0hvb2
tzW3NdKSYmImdldCJpbiBhJiYoaT1hLmdldChlLCEwLG4pKSx2b2lkIDA9PT1pJiYoaT1CZShlLHQscikpL
CJub3JtYWwiPT09aSYmdCBpbiBRZSYmKGk9UWVbdF0pLCIiPT09bnx8bj8obz1wYXJzZUZsb2F0KGkpLCEw
PT09bnx8aXNGaW5pdGUobyk/
b3x8MDppKTppfX0pLFMuZWFjaChbImhlaWdodCIsIndpZHRoIl0sZnVuY3Rpb24oZSx1KXtTLmNzc0hvb2t
zW3VdPXtnZXQ6ZnVuY3Rpb24oZSx0LG4pe2lmKHQpcmV0dXJuIVZlLnRlc3QoUy5jc3MoZSwiZGlzcGxheS
IpKXx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCYmZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0a
D9aZShlLHUsbik6V2UoZSxZZSxmdW5jdGlvbigpe3JldHVybiBaZShlLHUsbil9KX0sc2V0OmZ1bmN0aW9u
KGUsdCxuKXt2YXIgcixpPUllKGUpLG89IXkuc2Nyb2xsYm94U2l6ZSgpJiYiYWJzb2x1dGUiPT09aS5wb3N
pdGlvbixhPShvfHxuKSYmImJvcmRlci1ib3giPT09Uy5jc3MoZSwiYm94U2l6aW5nIiwhMSxpKSxzPW4/
S2UoZSx1LG4sYSxpKTowO3JldHVybiBhJiZvJiYocy09TWF0aC5jZWlsKGVbIm9mZnNldCIrdVswXS50b1V
wcGVyQ2FzZSgpK3Uuc2xpY2UoMSldLXBhcnNlRmxvYXQoaVt1XSktS2UoZSx1LCJib3JkZXIiLCExLGkpLS
41KSkscyYmKHI9dGUuZXhlYyh0KSkmJiJweCIhPT0oclszXXx8InB4IikmJihlLnN0eWxlW3VdPXQsdD1TL
mNzcyhlLHUpKSxKZSgwLHQscyl9fX0pLFMuY3NzSG9va3MubWFyZ2luTGVmdD0kZSh5LnJlbGlhYmxlTWFy
Z2luTGVmdCxmdW5jdGlvbihlLHQpe2lmKHQpcmV0dXJuKHBhcnNlRmxvYXQoQmUoZSwibWFyZ2luTGVmdCI
pKXx8ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0LVdlKGUse21hcmdpbkxlZnQ6MH0sZnVuY3Rpb2
4oKXtyZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSkpKyJweCJ9KSxTLmVhY2goe21hc
mdpbjoiIixwYWRkaW5nOiIiLGJvcmRlcjoiV2lkdGgifSxmdW5jdGlvbihpLG8pe1MuY3NzSG9va3NbaStv
XT17ZXhwYW5kOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49e30scj0ic3RyaW5nIj09dHlwZW9mIGU/
ZS5zcGxpdCgiICIpOltlXTt0PDQ7dCsrKW5baStuZVt0XStvXT1yW3RdfHxyW3QtMl18fHJbMF07cmV0dXJ
uIG59fSwibWFyZ2luIiE9PWkmJihTLmNzc0hvb2tzW2krb10uc2V0PUplKX0pLFMuZm4uZXh0ZW5kKHtjc3
M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89e30sYT0wO
2lmKEFycmF5LmlzQXJyYXkodCkpe2ZvcihyPUllKGUpLGk9dC5sZW5ndGg7YTxpO2ErKylvW3RbYV1dPVMu
Y3NzKGUsdFthXSwhMSxyKTtyZXR1cm4gb31yZXR1cm4gdm9pZCAwIT09bj9TLnN0eWxlKGUsdCxuKTpTLmN
zcyhlLHQpfSxlLHQsMTxhcmd1bWVudHMubGVuZ3RoKX19KSwoKFMuVHdlZW49ZXQpLnByb3RvdHlwZT17Y2
9uc3RydWN0b3I6ZXQsaW5pdDpmdW5jdGlvbihlLHQsbixyLGksbyl7dGhpcy5lbGVtPWUsdGhpcy5wcm9wP
W4sdGhpcy5lYXNpbmc9aXx8Uy5lYXNpbmcuX2RlZmF1bHQsdGhpcy5vcHRpb25zPXQsdGhpcy5zdGFydD10
aGlzLm5vdz10aGlzLmN1cigpLHRoaXMuZW5kPXIsdGhpcy51bml0PW98fChTLmNzc051bWJlcltuXT8iIjo
icHgiKX0sY3VyOmZ1bmN0aW9uKCl7dmFyIGU9ZXQucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIGUmJm
UuZ2V0P2UuZ2V0KHRoaXMpOmV0LnByb3BIb29rcy5fZGVmYXVsdC5nZXQodGhpcyl9LHJ1bjpmdW5jdGlvb
ihlKXt2YXIgdCxuPWV0LnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiB0aGlzLm9wdGlvbnMuZHVyYXRp
b24/
dGhpcy5wb3M9dD1TLmVhc2luZ1t0aGlzLmVhc2luZ10oZSx0aGlzLm9wdGlvbnMuZHVyYXRpb24qZSwwLDE
sdGhpcy5vcHRpb25zLmR1cmF0aW9uKTp0aGlzLnBvcz10PWUsdGhpcy5ub3c9KHRoaXMuZW5kLXRoaXMuc3
RhcnQpKnQrdGhpcy5zdGFydCx0aGlzLm9wdGlvbnMuc3RlcCYmdGhpcy5vcHRpb25zLnN0ZXAuY2FsbCh0a
GlzLmVsZW0sdGhpcy5ub3csdGhpcyksbiYmbi5zZXQ/
bi5zZXQodGhpcyk6ZXQucHJvcEhvb2tzLl9kZWZhdWx0LnNldCh0aGlzKSx0aGlzfX0pLmluaXQucHJvdG9
0eXBlPWV0LnByb3RvdHlwZSwoZXQucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGUpe3Zhci
B0O3JldHVybiAxIT09ZS5lbGVtLm5vZGVUeXBlfHxudWxsIT1lLmVsZW1bZS5wcm9wXSYmbnVsbD09ZS5lb
GVtLnN0eWxlW2UucHJvcF0/
ZS5lbGVtW2UucHJvcF06KHQ9Uy5jc3MoZS5lbGVtLGUucHJvcCwiIikpJiYiYXV0byIhPT10P3Q6MH0sc2V
0OmZ1bmN0aW9uKGUpe1MuZnguc3RlcFtlLnByb3BdP1MuZnguc3RlcFtlLnByb3BdKGUpOjEhPT1lLmVsZW
0ubm9kZVR5cGV8fCFTLmNzc0hvb2tzW2UucHJvcF0mJm51bGw9PWUuZWxlbS5zdHlsZVtYZShlLnByb3ApX
T9lLmVsZW1bZS5wcm9wXT1lLm5vdzpTLnN0eWxlKGUuZWxlbSxlLnByb3AsZS5ub3crZS51bml0KX19fSku
c2Nyb2xsVG9wPWV0LnByb3BIb29rcy5zY3JvbGxMZWZ0PXtzZXQ6ZnVuY3Rpb24oZSl7ZS5lbGVtLm5vZGV
UeXBlJiZlLmVsZW0ucGFyZW50Tm9kZSYmKGUuZWxlbVtlLnByb3BdPWUubm93KX19LFMuZWFzaW5nPXtsaW
5lYXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGV9LHN3aW5nOmZ1bmN0aW9uKGUpe3JldHVybi41LU1hdGguY29zK
GUqTWF0aC5QSSkvMn0sX2RlZmF1bHQ6InN3aW5nIn0sUy5meD1ldC5wcm90b3R5cGUuaW5pdCxTLmZ4LnN0
ZXA9e307dmFyIHR0LG50LHJ0LGl0LG90PS9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxhdD0vcXVldWVIb29
rcyQvO2Z1bmN0aW9uIHN0KCl7bnQmJighMT09PUUuaGlkZGVuJiZDLnJlcXVlc3RBbmltYXRpb25GcmFtZT
9DLnJlcXVlc3RBbmltYXRpb25GcmFtZShzdCk6Qy5zZXRUaW1lb3V0KHN0LFMuZnguaW50ZXJ2YWwpLFMuZ
ngudGljaygpKX1mdW5jdGlvbiB1dCgpe3JldHVybiBDLnNldFRpbWVvdXQoZnVuY3Rpb24oKXt0dD12b2lk
IDB9KSx0dD1EYXRlLm5vdygpfWZ1bmN0aW9uIGx0KGUsdCl7dmFyIG4scj0wLGk9e2hlaWdodDplfTtmb3I
odD10PzE6MDtyPDQ7cis9Mi10KWlbIm1hcmdpbiIrKG49bmVbcl0pXT1pWyJwYWRkaW5nIituXT1lO3JldH
VybiB0JiYoaS5vcGFjaXR5PWkud2lkdGg9ZSksaX1mdW5jdGlvbiBjdChlLHQsbil7Zm9yKHZhciByLGk9K
GZ0LnR3ZWVuZXJzW3RdfHxbXSkuY29uY2F0KGZ0LnR3ZWVuZXJzWyIqIl0pLG89MCxhPWkubGVuZ3RoO288
YTtvKyspaWYocj1pW29dLmNhbGwobix0LGUpKXJldHVybiByfWZ1bmN0aW9uIGZ0KG8sZSx0KXt2YXIgbix
hLHI9MCxpPWZ0LnByZWZpbHRlcnMubGVuZ3RoLHM9Uy5EZWZlcnJlZCgpLmFsd2F5cyhmdW5jdGlvbigpe2
RlbGV0ZSB1LmVsZW19KSx1PWZ1bmN0aW9uKCl7aWYoYSlyZXR1cm4hMTtmb3IodmFyIGU9dHR8fHV0KCksd
D1NYXRoLm1heCgwLGwuc3RhcnRUaW1lK2wuZHVyYXRpb24tZSksbj0xLSh0L2wuZHVyYXRpb258fDApLHI9
MCxpPWwudHdlZW5zLmxlbmd0aDtyPGk7cisrKWwudHdlZW5zW3JdLnJ1bihuKTtyZXR1cm4gcy5ub3RpZnl
XaXRoKG8sW2wsbix0XSksbjwxJiZpP3Q6KGl8fHMubm90aWZ5V2l0aChvLFtsLDEsMF0pLHMucmVzb2x2ZV
dpdGgobyxbbF0pLCExKX0sbD1zLnByb21pc2Uoe2VsZW06byxwcm9wczpTLmV4dGVuZCh7fSxlKSxvcHRzO
lMuZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpTLmVhc2luZy5fZGVmYXVsdH0sdCksb3Jp
Z2luYWxQcm9wZXJ0aWVzOmUsb3JpZ2luYWxPcHRpb25zOnQsc3RhcnRUaW1lOnR0fHx1dCgpLGR1cmF0aW9
uOnQuZHVyYXRpb24sdHdlZW5zOl
tdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49Uy5Ud2VlbihvLGwub3B0cyxlLHQsbC5vcHRzL
nNwZWNpYWxFYXNpbmdbZV18fGwub3B0cy5lYXNpbmcpO3JldHVybiBsLnR3ZWVucy5wdXNoKG4pLG59LHN0
b3A6ZnVuY3Rpb24oZSl7dmFyIHQ9MCxuPWU/
bC50d2VlbnMubGVuZ3RoOjA7aWYoYSlyZXR1cm4gdGhpcztmb3IoYT0hMDt0PG47dCsrKWwudHdlZW5zW3R
dLnJ1bigxKTtyZXR1cm4gZT8ocy5ub3RpZnlXaXRoKG8sW2wsMSwwXSkscy5yZXNvbHZlV2l0aChvLFtsLG
VdKSk6cy5yZWplY3RXaXRoKG8sW2wsZV0pLHRoaXN9fSksYz1sLnByb3BzO2ZvcighZnVuY3Rpb24oZSx0K
Xt2YXIgbixyLGksbyxhO2ZvcihuIGluIGUpaWYoaT10W3I9WChuKV0sbz1lW25dLEFycmF5LmlzQXJyYXko
bykmJihpPW9bMV0sbz1lW25dPW9bMF0pLG4hPT1yJiYoZVtyXT1vLGRlbGV0ZSBlW25dKSwoYT1TLmNzc0h
vb2tzW3JdKSYmImV4cGFuZCJpbiBhKWZvcihuIGluIG89YS5leHBhbmQobyksZGVsZXRlIGVbcl0sbyluIG
luIGV8fChlW25dPW9bbl0sdFtuXT1pKTtlbHNlIHRbcl09aX0oYyxsLm9wdHMuc3BlY2lhbEVhc2luZyk7c
jxpO3IrKylpZihuPWZ0LnByZWZpbHRlcnNbcl0uY2FsbChsLG8sYyxsLm9wdHMpKXJldHVybiBtKG4uc3Rv
cCkmJihTLl9xdWV1ZUhvb2tzKGwuZWxlbSxsLm9wdHMucXVldWUpLnN0b3A9bi5zdG9wLmJpbmQobikpLG4
7cmV0dXJuIFMubWFwKGMsY3QsbCksbShsLm9wdHMuc3RhcnQpJiZsLm9wdHMuc3RhcnQuY2FsbChvLGwpLG
wucHJvZ3Jlc3MobC5vcHRzLnByb2dyZXNzKS5kb25lKGwub3B0cy5kb25lLGwub3B0cy5jb21wbGV0ZSkuZ
mFpbChsLm9wdHMuZmFpbCkuYWx3YXlzKGwub3B0cy5hbHdheXMpLFMuZngudGltZXIoUy5leHRlbmQodSx7
ZWxlbTpvLGFuaW06bCxxdWV1ZTpsLm9wdHMucXVldWV9KSksbH1TLkFuaW1hdGlvbj1TLmV4dGVuZChmdCx
7dHdlZW5lcnM6eyIqIjpbZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLmNyZWF0ZVR3ZWVuKGUsdCk7cmV0dX
JuIHNlKG4uZWxlbSxlLHRlLmV4ZWModCksbiksbn1dfSx0d2VlbmVyOmZ1bmN0aW9uKGUsdCl7bShlKT8od
D1lLGU9WyIqIl0pOmU9ZS5tYXRjaChQKTtmb3IodmFyIG4scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluPWVb
cl0sZnQudHdlZW5lcnNbbl09ZnQudHdlZW5lcnNbbl18fFtdLGZ0LnR3ZWVuZXJzW25dLnVuc2hpZnQodCl
9LHByZWZpbHRlcnM6W2Z1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbCxjLGY9IndpZHRoImluIH
R8fCJoZWlnaHQiaW4gdCxwPXRoaXMsZD17fSxoPWUuc3R5bGUsZz1lLm5vZGVUeXBlJiZhZShlKSx2PVkuZ
2V0KGUsImZ4c2hvdyIpO2ZvcihyIGluIG4ucXVldWV8fChudWxsPT0oYT1TLl9xdWV1ZUhvb2tzKGUsImZ4
IikpLnVucXVldWVkJiYoYS51bnF1ZXVlZD0wLHM9YS5lbXB0eS5maXJlLGEuZW1wdHkuZmlyZT1mdW5jdGl
vbigpe2EudW5xdWV1ZWR8fHMoKX0pLGEudW5xdWV1ZWQrKyxwLmFsd2F5cyhmdW5jdGlvbigpe3AuYWx3YX
lzKGZ1bmN0aW9uKCl7YS51bnF1ZXVlZC0tLFMucXVldWUoZSwiZngiKS5sZW5ndGh8fGEuZW1wdHkuZmlyZ
SgpfSl9KSksdClpZihpPXRbcl0sb3QudGVzdChpKSl7aWYoZGVsZXRlIHRbcl0sbz1vfHwidG9nZ2xlIj09
PWksaT09PShnPyJoaWRlIjoic2hvdyIpKXtpZigic2hvdyIhPT1pfHwhdnx8dm9pZCAwPT09dltyXSljb25
0aW51ZTtnPSEwfWRbcl09diYmdltyXXx8Uy5zdHlsZShlLHIpfWlmKCh1PSFTLmlzRW1wdHlPYmplY3QodC
kpfHwhUy5pc0VtcHR5T2JqZWN0KGQpKWZvcihyIGluIGYmJjE9PT1lLm5vZGVUeXBlJiYobi5vdmVyZmxvd
z1baC5vdmVyZmxvdyxoLm92ZXJmbG93WCxoLm92ZXJmbG93WV0sbnVsbD09KGw9diYmdi5kaXNwbGF5KSYm
KGw9WS5nZXQoZSwiZGlzcGxheSIpKSwibm9uZSI9PT0oYz1TLmNzcyhlLCJkaXNwbGF5IikpJiYobD9jPWw
6KGxlKFtlXSwhMCksbD1lLnN0eWxlLmRpc3BsYXl8fGwsYz1TLmNzcyhlLCJkaXNwbGF5IiksbGUoW2VdKS
kpLCgiaW5saW5lIj09PWN8fCJpbmxpbmUtYmxvY2siPT09YyYmbnVsbCE9bCkmJiJub25lIj09PVMuY3NzK
GUsImZsb2F0IikmJih1fHwocC5kb25lKGZ1bmN0aW9uKCl7aC5kaXNwbGF5PWx9KSxudWxsPT1sJiYoYz1o
LmRpc3BsYXksbD0ibm9uZSI9PT1jPyIiOmMpKSxoLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxuLm92ZXJ
mbG93JiYoaC5vdmVyZmxvdz0iaGlkZGVuIixwLmFsd2F5cyhmdW5jdGlvbigpe2gub3ZlcmZsb3c9bi5vdm
VyZmxvd1swXSxoLm92ZXJmbG93WD1uLm92ZXJmbG93WzFdLGgub3ZlcmZsb3dZPW4ub3ZlcmZsb3dbMl19K
SksdT0hMSxkKXV8fCh2PyJoaWRkZW4iaW4gdiYmKGc9di5oaWRkZW4pOnY9WS5hY2Nlc3MoZSwiZnhzaG93
Iix7ZGlzcGxheTpsfSksbyYmKHYuaGlkZGVuPSFnKSxnJiZsZShbZV0sITApLHAuZG9uZShmdW5jdGlvbig
pe2ZvcihyIGluIGd8fGxlKFtlXSksWS5yZW1vdmUoZSwiZnhzaG93IiksZClTLnN0eWxlKGUscixkW3JdKX
0pKSx1PWN0KGc/
dltyXTowLHIscCksciBpbiB2fHwodltyXT11LnN0YXJ0LGcmJih1LmVuZD11LnN0YXJ0LHUuc3RhcnQ9MCk
pfV0scHJlZmlsdGVyOmZ1bmN0aW9uKGUsdCl7dD9mdC5wcmVmaWx0ZXJzLnVuc2hpZnQoZSk6ZnQucHJlZm
lsdGVycy5wdXNoKGUpfX0pLFMuc3BlZWQ9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUmJiJvYmplY3QiPT10e
XBlb2YgZT9TLmV4dGVuZCh7fSxlKTp7Y29tcGxldGU6bnx8IW4mJnR8fG0oZSkmJmUsZHVyYXRpb246ZSxl
YXNpbmc6biYmdHx8dCYmIW0odCkmJnR9O3JldHVybiBTLmZ4Lm9mZj9yLmR1cmF0aW9uPTA6Im51bWJlciI
hPXR5cGVvZiByLmR1cmF0aW9uJiYoci5kdXJhdGlvbiBpbiBTLmZ4LnNwZWVkcz9yLmR1cmF0aW9uPVMuZn
guc3BlZWRzW3IuZHVyYXRpb25dOnIuZHVyYXRpb249Uy5meC5zcGVlZHMuX2RlZmF1bHQpLG51bGwhPXIuc
XVldWUmJiEwIT09ci5xdWV1ZXx8KHIucXVldWU9ImZ4Iiksci5vbGQ9ci5jb21wbGV0ZSxyLmNvbXBsZXRl
PWZ1bmN0aW9uKCl7bShyLm9sZCkmJnIub2xkLmNhbGwodGhpcyksci5xdWV1ZSYmUy5kZXF1ZXVlKHRoaXM
sci5xdWV1ZSl9LHJ9LFMuZm4uZXh0ZW5kKHtmYWRlVG86ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaX
MuZmlsdGVyKGFlKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OnR9L
GUsbixyKX0sYW5pbWF0ZTpmdW5jdGlvbih0LGUsbixyKXt2YXIgaT1TLmlzRW1wdHlPYmplY3QodCksbz1T
LnNwZWVkKGUsbixyKSxhPWZ1bmN0aW9uKCl7dmFyIGU9ZnQodGhpcyxTLmV4dGVuZCh7fSx0KSxvKTsoaXx
8WS5nZXQodGhpcywiZmluaXNoIikpJiZlLnN0b3AoITApfTtyZXR1cm4gYS5maW5pc2g9YSxpfHwhMT09PW
8ucXVldWU/
dGhpcy5lYWNoKGEpOnRoaXMucXVldWUoby5xdWV1ZSxhKX0sc3RvcDpmdW5jdGlvbihpLGUsbyl7dmFyIGE
9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5zdG9wO2RlbGV0ZSBlLnN0b3AsdChvKX07cmV0dXJuInN0cmluZyIhPX
R5cGVvZiBpJiYobz1lLGU9aSxpPXZvaWQgMCksZSYmdGhpcy5xdWV1ZShpfHwiZngiLFtdKSx0aGlzLmVhY
2goZnVuY3Rpb24oKXt2YXIgZT0hMCx0PW51bGwhPWkmJmkrInF1ZXVlSG9va3MiLG49Uy50aW1lcnMscj1Z
LmdldCh0aGlzKTtpZih0KXJbdF0mJnJbdF0uc3RvcCYmYShyW3RdKTtlbHNlIGZvcih0IGluIHIpclt0XSY
mclt0XS5zdG9wJiZhdC50ZXN0KHQpJiZhKHJbdF0pO2Zvcih0PW4ubGVuZ3RoO3QtLTspblt0XS5lbGVtIT
09dGhpc3x8bnVsbCE9aSYmblt0XS5xdWV1ZSE9PWl8fChuW3RdLmFuaW0uc3RvcChvKSxlPSExLG4uc3Bsa
WNlKHQsMSkpOyFlJiZvfHxTLmRlcXVldWUodGhpcyxpKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJu
ITEhPT1hJiYoYT1hfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSx0PVkuZ2V0KHRoaXMpLG4
9dFthKyJxdWV1ZSJdLHI9dFthKyJxdWV1ZUhvb2tzIl0saT1TLnRpbWVycyxvPW4/
bi5sZW5ndGg6MDtmb3IodC5maW5pc2g9ITAsUy5xdWV1ZSh0aGlzLGEsW10pLHImJnIuc3RvcCYmci5zdG9
wLmNhbGwodGhpcywhMCksZT1pLmxlbmd0aDtlLS07KWlbZV0uZWxlbT09PXRoaXMmJmlbZV0ucXVldWU9PT
1hJiYoaVtlXS5hbmltLnN0b3AoITApLGkuc3BsaWNlKGUsMSkpO2ZvcihlPTA7ZTxvO2UrKyluW2VdJiZuW
2VdLmZpbmlzaCYmbltlXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgdC5maW5pc2h9KX19KSxTLmVhY2go
WyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGUscil7dmFyIGk9Uy5mbltyXTtTLmZuW3JdPWZ
1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbnVsbD09ZXx8ImJvb2xlYW4iPT10eXBlb2YgZT9pLmFwcGx5KHRoaX
MsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUobHQociwhMCksZSx0LG4pfX0pLFMuZWFjaCh7c2xpZGVEb3duO
mx0KCJzaG93Iiksc2xpZGVVcDpsdCgiaGlkZSIpLHNsaWRlVG9nZ2xlOmx0KCJ0b2dnbGUiKSxmYWRlSW46
e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eTo
idG9nZ2xlIn19LGZ1bmN0aW9uKGUscil7Uy5mbltlXT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuYW
5pbWF0ZShyLGUsdCxuKX19KSxTLnRpbWVycz1bXSxTLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgZSx0PTAsb
j1TLnRpbWVycztmb3IodHQ9RGF0ZS5ub3coKTt0PG4ubGVuZ3RoO3QrKykoZT1uW3RdKSgpfHxuW3RdIT09
ZXx8bi5zcGxpY2UodC0tLDEpO24ubGVuZ3RofHxTLmZ4LnN0b3AoKSx0dD12b2lkIDB9LFMuZngudGltZXI
9ZnVuY3Rpb24oZSl7Uy50aW1lcnMucHVzaChlKSxTLmZ4LnN0YXJ0KCl9LFMuZnguaW50ZXJ2YWw9MTMsUy
5meC5zdGFydD1mdW5jdGlvbigpe250fHwobnQ9ITAsc3QoKSl9LFMuZnguc3RvcD1mdW5jdGlvbigpe250P
W51bGx9LFMuZnguc3BlZWRzPXtzbG93OjYwMCxmYXN0OjIwMCxfZGVmYXVsdDo0MDB9LFMuZm4uZGVsYXk9
ZnVuY3Rpb24ocixlKXtyZXR1cm4gcj1TLmZ4JiZTLmZ4LnNwZWVkc1tyXXx8cixlPWV8fCJmeCIsdGhpcy5
xdWV1ZShlLGZ1bmN0aW9uKGUsdCl7dmFyIG49Qy5zZXRUaW1lb3V0KGUscik7dC5zdG9wPWZ1bmN0aW9uKC
l7Qy5jbGVhclRpbWVvdXQobil9fSl9LHJ0PUUuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxpdD1FLmNyZWF0Z
UVsZW1lbnQoInNlbGVjdCIpLmFwcGVuZENoaWxkKEUuY3JlYXRlRWxlbWVudCgib3B0aW9uIikpLHJ0LnR5
cGU9ImNoZWNrYm94Iix5LmNoZWNrT249IiIhPT1ydC52YWx1ZSx5Lm9wdFNlbGVjdGVkPWl0LnNlbGVjdGV
kLChydD1FLmNyZWF0ZUVsZW1lbnQoImlucHV0IikpLnZhbHVlPSJ0IixydC50eXBlPSJyYWRpbyIseS5yYW
Rpb1ZhbHVlPSJ0Ij09PXJ0LnZhbHVlO3ZhciBwdCxkdD1TLmV4cHIuYXR0ckhhbmRsZTtTLmZuLmV4dGVuZ
Ch7YXR0cjpmdW5jdGlvbihlLHQpe3JldHVybiAkKHRoaXMsUy5hdHRyLGUsdCwxPGFyZ3VtZW50cy5sZW5n
dGgpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtTLnJlbW9
2ZUF0dHIodGhpcyxlKX0pfX0pLFMuZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG89ZS
5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgZS5nZ
XRBdHRyaWJ1dGU/
Uy5wcm9wKGUsdCxuKTooMT09PW8mJlMuaXNYTUxEb2MoZSl8fChpPVMuYXR0ckhvb2tzW3QudG9Mb3dlckN
hc2UoKV18fChTLmV4cHIubWF0Y2guYm9vbC50ZXN0KHQpP3B0OnZvaWQgMCkpLHZvaWQgMCE9PW4/
bnVsbD09PW4/
dm9pZCBTLnJlbW92ZUF0dHIoZSx0KTppJiYic2V0ImluIGkmJnZvaWQgMCE9PShyPWkuc2V0KGUsbix0KSk
/
cjooZS5zZXRBdHRyaWJ1dGUodCxuKyIiKSxuKTppJiYiZ2V0ImluIGkmJm51bGwhPT0ocj1pLmdldChlLHQ
pKT9yOm51bGw9PShyPVMuZmluZC5hdHRyKGUsdCkpP3ZvaWQgMDpyKX0sYXR0ckhvb2tzOnt0eXBlOntzZX
Q6ZnVuY3Rpb24oZSx0KXtpZigheS5yYWRpb1ZhbHVlJiYicmFkaW8iPT09dCYmQShlLCJpbnB1dCIpKXt2Y
XIgbj1lLnZhbHVlO3JldHVybiBlLnNldEF0dHJpYnV0ZSgidHlwZSIsdCksbiYmKGUudmFsdWU9biksdH19
fX0scmVtb3ZlQXR0cjpmdW5jdGlvbihlLHQpe3ZhciBuLHI9MCxpPXQmJnQubWF0Y2goUCk7aWYoaSYmMT0
9PWUubm9kZVR5cGUpd2hpbGUobj1pW3IrK10pZS5yZW1vdmVBdHRyaWJ1dGUobil9fSkscHQ9e3NldDpmdW
5jdGlvbihlLHQsbil7cmV0dXJuITE9PT10P1MucmVtb3ZlQXR0cihlLG4pOmUuc2V0QXR0cmlidXRlKG4sb
iksbn19LFMuZWFjaChTLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihl
LHQpe3ZhciBhPWR0W3RdfHxTLmZpbmQuYXR0cjtkdFt0XT1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvPXQ
udG9Mb3dlckNhc2UoKTtyZXR1cm4gbnx8KGk9ZHRbb10sZHRbb109cixyPW51bGwhPWEoZSx0LG4pP286bn
VsbCxkdFtvXT1pKSxyfX0pO3ZhciBodD0vXig/
OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLGd0PS9eKD86YXxhcmVhKSQvaTtmdW5jdGlvbiB
2dChlKXtyZXR1cm4oZS5tYXRjaChQKXx8W10pLmpvaW4oIiAiKX1mdW5jdGlvbiB5dChlKXtyZXR1cm4gZS
5nZXRBdHRyaWJ1dGUmJmUuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIn1mdW5jdGlvbiBtdChlKXtyZXR1c
m4gQXJyYXkuaXNBcnJheShlKT9lOiJzdHJpbmciPT10eXBlb2YgZSYmZS5tYXRjaChQKXx8W119Uy5mbi5l
eHRlbmQoe3Byb3A6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gJCh0aGlzLFMucHJvcCxlLHQsMTxhcmd1bWVudHM
ubGVuZ3RoKX0scmVtb3ZlUHJvcDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZG
VsZXRlIHRoaXNbUy5wcm9wRml4W2VdfHxlXX0pfX0pLFMuZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGUsdCxuK
Xt2YXIgcixpLG89ZS5ub2RlVHlwZTtpZigzIT09byYmOCE9PW8mJjIhPT1vKXJldHVybiAxPT09byYmUy5p
c1hNTERvYyhlKXx8KHQ9Uy5wcm9wRml4W3RdfHx0LGk9Uy5wcm9wSG9va3NbdF0pLHZvaWQgMCE9PW4/
aSYmInNldCJpbiBpJiZ2b2lkIDAhPT0ocj1pLnNldChlLG4sdCkpP3I6ZVt0XT1uOmkmJiJnZXQiaW4gaSY
mbnVsbCE9PShyPWkuZ2V0KGUsdCkpP3I6ZVt0XX0scHJvcEhvb2tzOnt0YWJJbmRleDp7Z2V0OmZ1bmN0aW
9uKGUpe3ZhciB0PVMuZmluZC5hdHRyKGUsInRhYmluZGV4Iik7cmV0dXJuIHQ/
cGFyc2VJbnQodCwxMCk6aHQudGVzdChlLm5vZGVOYW1lKXx8Z3QudGVzdChlLm5vZGVOYW1lKSYmZS5ocmV
mPzA6LTF9fX0scHJvcEZpeDp7ImZvciI6Imh0bWxGb3IiLCJjbGFzcyI6ImNsYXNzTmFtZSJ9fSkseS5vcH
RTZWxlY3RlZHx8KFMucHJvcEhvb2tzLnNlbGVjdGVkPXtnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlb
nROb2RlO3JldHVybiB0JiZ0LnBhcmVudE5vZGUmJnQuc
GFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LG51bGx9LHNldDpmdW5jdGlvbihlKXt2YXIgdD1lLnBhcmVudE5v
ZGU7dCYmKHQuc2VsZWN0ZWRJbmRleCx0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV
4KX19KSxTLmVhY2goWyJ0YWJJbmRleCIsInJlYWRPbmx5IiwibWF4TGVuZ3RoIiwiY2VsbFNwYWNpbmciLC
JjZWxsUGFkZGluZyIsInJvd1NwYW4iLCJjb2xTcGFuIiwidXNlTWFwIiwiZnJhbWVCb3JkZXIiLCJjb250Z
W50RWRpdGFibGUiXSxmdW5jdGlvbigpe1MucHJvcEZpeFt0aGlzLnRvTG93ZXJDYXNlKCldPXRoaXN9KSxT
LmZuLmV4dGVuZCh7YWRkQ2xhc3M6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxhLHMsdT0wO2lmKG0odCk
pcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLmFkZENsYXNzKHQuY2FsbCh0aGlzLGUseX
QodGhpcykpKX0pO2lmKChlPW10KHQpKS5sZW5ndGgpd2hpbGUobj10aGlzW3UrK10paWYoaT15dChuKSxyP
TE9PT1uLm5vZGVUeXBlJiYiICIrdnQoaSkrIiAiKXthPTA7d2hpbGUobz1lW2ErK10pci5pbmRleE9mKCIg
IitvKyIgIik8MCYmKHIrPW8rIiAiKTtpIT09KHM9dnQocikpJiZuLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHM
pfXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvLGEscyx1PTA7aW
YobSh0KSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUpe1ModGhpcykucmVtb3ZlQ2xhc3ModC5jYWxsK
HRoaXMsZSx5dCh0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xh
c3MiLCIiKTtpZigoZT1tdCh0KSkubGVuZ3RoKXdoaWxlKG49dGhpc1t1KytdKWlmKGk9eXQobikscj0xPT0
9bi5ub2RlVHlwZSYmIiAiK3Z0KGkpKyIgIil7YT0wO3doaWxlKG89ZVthKytdKXdoaWxlKC0xPHIuaW5kZX
hPZigiICIrbysiICIpKXI9ci5yZXBsYWNlKCIgIitvKyIgIiwiICIpO2khPT0ocz12dChyKSkmJm4uc2V0Q
XR0cmlidXRlKCJjbGFzcyIscyl9cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGksdCl7dmFy
IG89dHlwZW9mIGksYT0ic3RyaW5nIj09PW98fEFycmF5LmlzQXJyYXkoaSk7cmV0dXJuImJvb2xlYW4iPT1
0eXBlb2YgdCYmYT90P3RoaXMuYWRkQ2xhc3MoaSk6dGhpcy5yZW1vdmVDbGFzcyhpKTptKGkpP3RoaXMuZW
FjaChmdW5jdGlvbihlKXtTKHRoaXMpLnRvZ2dsZUNsYXNzKGkuY2FsbCh0aGlzLGUseXQodGhpcyksdCksd
Cl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZSx0LG4scjtpZihhKXt0PTAsbj1TKHRoaXMpLHI9bXQo
aSk7d2hpbGUoZT1yW3QrK10pbi5oYXNDbGFzcyhlKT9uLnJlbW92ZUNsYXNzKGUpOm4uYWRkQ2xhc3MoZSl
9ZWxzZSB2b2lkIDAhPT1pJiYiYm9vbGVhbiIhPT1vfHwoKGU9eXQodGhpcykpJiZZLnNldCh0aGlzLCJfX2
NsYXNzTmFtZV9fIixlKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixlf
HwhMT09PWk/
IiI6WS5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGUpe3Z
hciB0LG4scj0wO3Q9IiAiK2UrIiAiO3doaWxlKG49dGhpc1tyKytdKWlmKDE9PT1uLm5vZGVUeXBlJiYtMT
woIiAiK3Z0KHl0KG4pKSsiICIpLmluZGV4T2YodCkpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIHh0PS9cc
i9nO1MuZm4uZXh0ZW5kKHt2YWw6ZnVuY3Rpb24obil7dmFyIHIsZSxpLHQ9dGhpc1swXTtyZXR1cm4gYXJn
dW1lbnRzLmxlbmd0aD8oaT1tKG4pLHRoaXMuZWFjaChmdW5jdGlvbihlKXt2YXIgdDsxPT09dGhpcy5ub2R
lVHlwZSYmKG51bGw9PSh0PWk/
bi5jYWxsKHRoaXMsZSxTKHRoaXMpLnZhbCgpKTpuKT90PSIiOiJudW1iZXIiPT10eXBlb2YgdD90Kz0iIjp
BcnJheS5pc0FycmF5KHQpJiYodD1TLm1hcCh0LGZ1bmN0aW9uKGUpe3JldHVybiBudWxsPT1lPyIiOmUrIi
J9KSksKHI9Uy52YWxIb29rc1t0aGlzLnR5cGVdfHxTLnZhbEhvb2tzW3RoaXMubm9kZU5hbWUudG9Mb3dlc
kNhc2UoKV0pJiYic2V0ImluIHImJnZvaWQgMCE9PXIuc2V0KHRoaXMsdCwidmFsdWUiKXx8KHRoaXMudmFs
dWU9dCkpfSkpOnQ/
KHI9Uy52YWxIb29rc1t0LnR5cGVdfHxTLnZhbEhvb2tzW3Qubm9kZU5hbWUudG9Mb3dlckNhc2UoKV0pJiY
iZ2V0ImluIHImJnZvaWQgMCE9PShlPXIuZ2V0KHQsInZhbHVlIikpP2U6InN0cmluZyI9PXR5cGVvZihlPX
QudmFsdWUpP2UucmVwbGFjZSh4dCwiIik6bnVsbD09ZT8iIjplOnZvaWQgMH19KSxTLmV4dGVuZCh7dmFsS
G9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGUpe3ZhciB0PVMuZmluZC5hdHRyKGUsInZhbHVlIik7cmV0
dXJuIG51bGwhPXQ/
dDp2dChTLnRleHQoZSkpfX0sc2VsZWN0OntnZXQ6ZnVuY3Rpb24oZSl7dmFyIHQsbixyLGk9ZS5vcHRpb25
zLG89ZS5zZWxlY3RlZEluZGV4LGE9InNlbGVjdC1vbmUiPT09ZS50eXBlLHM9YT9udWxsOltdLHU9YT9vKz
E6aS5sZW5ndGg7Zm9yKHI9bzwwP3U6YT9vOjA7cjx1O3IrKylpZigoKG49aVtyXSkuc2VsZWN0ZWR8fHI9P
T1vKSYmIW4uZGlzYWJsZWQmJighbi5wYXJlbnROb2RlLmRpc2FibGVkfHwhQShuLnBhcmVudE5vZGUsIm9w
dGdyb3VwIikpKXtpZih0PVMobikudmFsKCksYSlyZXR1cm4gdDtzLnB1c2godCl9cmV0dXJuIHN9LHNldDp
mdW5jdGlvbihlLHQpe3ZhciBuLHIsaT1lLm9wdGlvbnMsbz1TLm1ha2VBcnJheSh0KSxhPWkubGVuZ3RoO3
doaWxlKGEtLSkoKHI9aVthXSkuc2VsZWN0ZWQ9LTE8Uy5pbkFycmF5KFMudmFsSG9va3Mub3B0aW9uLmdld
ChyKSxvKSkmJihuPSEwKTtyZXR1cm4gbnx8KGUuc2VsZWN0ZWRJbmRleD0tMSksb319fX0pLFMuZWFjaChb
InJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe1MudmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbih
lLHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGUuY2hlY2tlZD0tMTxTLmluQXJyYXkoUyhlKS52YW
woKSx0KX19LHkuY2hlY2tPbnx8KFMudmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBud
WxsPT09ZS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/
Im9uIjplLnZhbHVlfSl9KSx5LmZvY3VzaW49Im9uZm9jdXNpbiJpbiBDO3ZhciBidD0vXig/
OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sd3Q9ZnVuY3Rpb24oZSl7ZS5zdG9wUHJvcGFnYXRpb24
oKX07Uy5leHRlbmQoUy5ldmVudCx7dHJpZ2dlcjpmdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LG
wsYyxmLHA9W258fEVdLGQ9di5jYWxsKGUsInR5cGUiKT9lLnR5cGU6ZSxoPXYuY2FsbChlLCJuYW1lc3BhY
2UiKT9lLm5hbWVzcGFjZS5zcGxpdCgiLiIpOltdO2lmKG89Zj1hPW49bnx8RSwzIT09bi5ub2RlVHlwZSYm
OCE9PW4ubm9kZVR5cGUmJiFidC50ZXN0KGQrUy5ldmVudC50cmlnZ2VyZWQpJiYoLTE8ZC5pbmRleE9mKCI
uIikmJihkPShoPWQuc3BsaXQoIi4iKSkuc2hpZnQoKSxoLnNvcnQoKSksdT1kLmluZGV4T2YoIjoiKTwwJi
Yib24iK2QsKGU9ZVtTLmV4cGFuZG9dP2U6bmV3IFMuRXZlbnQoZCwib2JqZWN0Ij09dHlwZW9mIGUmJmUpK
S5pc1RyaWdnZXI9cj8yOjMsZS5uYW1lc3BhY2U9aC5qb2luKCIuIiksZS5ybmFtZXNwYWNlPWUubmFtZXNw
YWNlP25ldyBSZWdFeHAoIihefFxcLikiK2guam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnV
sbCxlLnJlc3VsdD12b2lkIDAsZS50YXJnZXR8fChlLnRhcmdldD1uKSx0PW51bGw9PXQ/
W2VdOlMubWFrZUFycmF5KHQsW2VdKSxjPVMuZXZlbnQuc3BlY2lhbFtkXXx8e30scnx8IWMudHJpZ2dlcnx
8ITEhPT1jLnRyaWdnZXIuYXBwbHkobix0KSkpe2lmKCFyJiYhYy5ub0J1YmJsZSYmIXgobikpe2ZvcihzPW
MuZGVsZWdhdGVUeXBlfHxkLGJ0LnRlc3QocytkKXx8KG89by5wYXJlbnROb2RlKTtvO289by5wYXJlbnROb
2RlKXAucHVzaChvKSxhPW87YT09PShuLm93bmVyRG9jdW1lbnR8fEUpJiZwLnB1c2goYS5kZWZhdWx0Vmll
d3x8YS5wYXJlbnRXaW5kb3d8fEMpfWk9MDt3aGlsZSgobz1wW2krK10pJiYhZS5pc1Byb3BhZ2F0aW9uU3R
vcHBlZCgpKWY9byxlLnR5cGU9MTxpP3M6Yy5iaW5kVHlwZXx8ZCwobD0oWS5nZXQobywiZXZlbnRzIil8fE
9iamVjdC5jcmVhdGUobnVsbCkpW2UudHlwZV0mJlkuZ2V0KG8sImhhbmRsZSIpKSYmbC5hcHBseShvLHQpL
ChsPXUmJm9bdV0pJiZsLmFwcGx5JiZWKG8pJiYoZS5yZXN1bHQ9bC5hcHBseShvLHQpLCExPT09ZS5yZXN1
bHQmJmUucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGUudHlwZT1kLHJ8fGUuaXNEZWZhdWx0UHJldmVudGV
kKCl8fGMuX2RlZmF1bHQmJiExIT09Yy5fZGVmYXVsdC5hcHBseShwLnBvcCgpLHQpfHwhVihuKXx8dSYmbS
huW2RdKSYmIXgobikmJigoYT1uW3VdKSYmKG5bdV09bnVsbCksUy5ldmVudC50cmlnZ2VyZWQ9ZCxlLmlzU
HJvcGFnYXRpb25TdG9wcGVkKCkmJmYuYWRkRXZlbnRMaXN0ZW5lcihkLHd0KSxuW2RdKCksZS5pc1Byb3Bh
Z2F0aW9uU3RvcHBlZCgpJiZmLnJlbW92ZUV2ZW50TGlzdGVuZXIoZCx3dCksUy5ldmVudC50cmlnZ2VyZWQ
9dm9pZCAwLGEmJihuW3VdPWEpKSxlLnJlc3VsdH19LHNpbXVsYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj
1TLmV4dGVuZChuZXcgUy5FdmVudCxuLHt0eXBlOmUsaXNTaW11bGF0ZWQ6ITB9KTtTLmV2ZW50LnRyaWdnZ
XIocixudWxsLHQpfX0pLFMuZm4uZXh0ZW5kKHt0cmlnZ2VyOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMu
ZWFjaChmdW5jdGlvbigpe1MuZXZlbnQudHJpZ2dlcihlLHQsdGhpcyl9KX0sdHJpZ2dlckhhbmRsZXI6ZnV
uY3Rpb24oZSx0KXt2YXIgbj10aGlzWzBdO2lmKG4pcmV0dXJuIFMuZXZlbnQudHJpZ2dlcihlLHQsbiwhMC
l9fSkseS5mb2N1c2lufHxTLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0a
W9uKG4scil7dmFyIGk9ZnVuY3Rpb24oZSl7Uy5ldmVudC5zaW11bGF0ZShyLGUudGFyZ2V0LFMuZXZlbnQu
Zml4KGUpKX07Uy5ldmVudC5zcGVjaWFsW3JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBlPXRoaXMub3duZXJ
Eb2N1bWVudHx8dGhpcy5kb2N1bWVudHx8dGhpcyx0PVkuYWNjZXNzKGUscik7dHx8ZS5hZGRFdmVudExpc3
RlbmVyKG4saSwhMCksWS5hY2Nlc3MoZSxyLCh0fHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZ
T10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMuZG9jdW1lbnR8fHRoaXMsdD1ZLmFjY2VzcyhlLHIpLTE7dD9Z
LmFjY2VzcyhlLHIsdCk6KGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihuLGksITApLFkucmVtb3ZlKGUscikpfX1
9KTt2YXIgVHQ9Qy5sb2NhdGlvbixDdD17Z3VpZDpEYXRlLm5vdygpfSxFdD0vXD8vO1MucGFyc2VYTUw9Zn
VuY3Rpb24oZSl7dmFyIHQ7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSlyZXR1cm4gbnVsbDt0cnl7dD0ob
mV3IEMuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC94bWwiKX1jYXRjaChlKXt0PXZvaWQg
MH1yZXR1cm4gdCYmIXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxTLmV
ycm9yKCJJbnZhbGlkIFhNTDogIitlKSx0fTt2YXIgU3Q9L1xbXF0kLyxrdD0vXHI/XG4vZyxBdD0vXig/
OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksTnQ9L14oPzppbnB1dHxzZWxlY3R8dGV4dGF
yZWF8a2V5Z2VuKS9pO2Z1bmN0aW9uIER0KG4sZSxyLGkpe3ZhciB0O2lmKEFycmF5LmlzQXJyYXkoZSkpUy
5lYWNoKGUsZnVuY3Rpb24oZSx0KXtyfHxTdC50ZXN0KG4pP2kobix0KTpEdChuKyJbIisoIm9iamVjdCI9P
XR5cGVvZiB0JiZudWxsIT10P2U6IiIpKyJdIix0LHIsaSl9KTtlbHNlIGlmKHJ8fCJvYmplY3QiIT09dyhl
KSlpKG4sZSk7ZWxzZSBmb3IodCBpbiBlKUR0KG4rIlsiK3QrIl0iLGVbdF0scixpKX1TLnBhcmFtPWZ1bmN
0aW9uKGUsdCl7dmFyIG4scj1bXSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49bSh0KT90KCk6dDtyW3IubGVuZ3
RoXT1lbmNvZGVVUklDb21wb25lbnQoZSkrIj0iK2VuY29kZVVSSUNvbXBvbmVudChudWxsPT1uPyIiOm4pf
TtpZihudWxsPT1lKXJldHVybiIiO2lmKEFycmF5LmlzQXJyYXkoZSl8fGUuanF1ZXJ5JiYhUy5pc1BsYWlu
T2JqZWN0KGUpKVMuZWFjaChlLGZ1bmN0aW9uKCl7aSh0aGlzLm5hbWUsdGhpcy52YWx1ZSl9KTtlbHNlIGZ
vcihuIGluIGUpRHQobixlW25dLHQsaSk7cmV0dXJuIHIuam9pbigiJiIpfSxTLmZuLmV4dGVuZCh7c2VyaW
FsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIFMucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsa
XplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgZT1TLnByb3AodGhp
cywiZWxlbWVudHMiKTtyZXR1cm4gZT9TLm1ha2VBcnJheShlKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl
7dmFyIGU9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFTKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmTn
QudGVzdCh0aGlzLm5vZGVOYW1lKSYmIUF0LnRlc3QoZSkmJih0aGlzLmNoZWNrZWR8fCFwZS50ZXN0KGUpK
X0pLm1hcChmdW5jdGlvbihlLHQpe3ZhciBuPVModGhpcykudmFsKCk7cmV0dXJuIG51bGw9PW4/
bnVsbDpBcnJheS5pc0FycmF5KG4pP1MubWFwKG4sZnVuY3Rpb24oZSl7cmV0dXJue25hbWU6dC5uYW1lLHZ
hbHVlOmUucmVwbGFjZShrdCwiXHJcbiIpfX0pOntuYW1lOnQubmFtZSx2YWx1ZTpuLnJlcGxhY2Uoa3QsIl
xyXG4iKX19KS5nZXQoKX19KTt2YXIganQ9LyUyMC9nLHF0PS8jLiokLyxMdD0vKFs/
Jl0pXz1bXiZdKi8sSHQ9L14oLio/KTpbIFx0XSooW15cclxuXSopJC9nbSxPdD0vXig/
OkdFVHxIRUFEKSQvLFB0PS9eXC9cLy8sUnQ9e30sTXQ9e30sSXQ9IiovIi5jb25jYXQoIioiKSxXdD1FLmN
yZWF0ZUVsZW1lbnQoImEiKTtmdW5jdGlvbiBGdChvKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXsic3RyaW5nIi
E9dHlwZW9mIGUmJih0PWUsZT0iKiIpO3ZhciBuLHI9MCxpPWUudG9Mb3dlckNhc2UoKS5tYXRjaChQKXx8W
107aWYobSh0KSl3aGlsZShuPWlbcisrXSkiKyI9PT1uWzBdPyhuPW4uc2xpY2UoMSl8fCIqIiwob1tuXT1v
W25dfHxbXSkudW5zaGlmdCh0KSk6KG9bbl09b1tuXXx8W10pLnB1c2godCl9fWZ1bmN0aW9uIEJ0KHQsaSx
vLGEpe3ZhciBzPXt9LHU9dD09PU10O2Z1bmN0aW9uIGwoZSl7dmFyIHI7cmV0dXJuIHNbZV09ITAsUy5lYW
NoKHRbZV18fFtdLGZ1bmN0aW9uKGUsdCl7dmFyIG49dChpLG8sYSk7cmV0dXJuInN0cmluZyIhPXR5cGVvZ
iBufHx1fHxzW25dP3U/
IShyPW4pOnZvaWQgMDooaS5kYXRhVHlwZXMudW5zaGlmdChuKSxsKG4pLCExKX0pLHJ9cmV0dXJuIGwoaS5
kYXRhVHlwZXNbMF0pfHwhc1siKiJdJiZsKCIqIil9ZnVuY3Rpb24gJHQoZSx0KXt2YXIgbixyLGk9Uy5ham
F4U2V0dGluZ3MuZmxhdE9wdGlvbnN8fHt9O2ZvcihuIGluIHQpdm9pZCAwIT09dFtuXSYmKChpW25dP2U6c
nx8KHI9e30pKVtuXT10W25dKTtyZXR1cm4gciYmUy5leHRlbmQoITAsZSxyKSxl
fVd0LmhyZWY9VHQuaHJlZixTLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWp
heFNldHRpbmdzOnt1cmw6VHQuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6L14oPzphYm91dHxhcHB8YXBwLX
N0b3JhZ2V8ListZXh0ZW5zaW9ufGZpbGV8cmVzfHdpZGdldCk6JC8udGVzdChUdC5wcm90b2NvbCksZ2xvY
mFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1m
b3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjpJdCx0ZXh0OiJ0ZXh0L3BsYWl
uIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbG
ljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovX
GJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0
OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cml
uZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpKU09OLnBhcnNlLCJ0ZXh0IHhtbCI6Uy5wYXJzZVhNTH
0sZmxhdE9wdGlvbnM6e3VybDohMCxjb250ZXh0OiEwfX0sYWpheFNldHVwOmZ1bmN0aW9uKGUsdCl7cmV0d
XJuIHQ/
JHQoJHQoZSxTLmFqYXhTZXR0aW5ncyksdCk6JHQoUy5hamF4U2V0dGluZ3MsZSl9LGFqYXhQcmVmaWx0ZXI
6RnQoUnQpLGFqYXhUcmFuc3BvcnQ6RnQoTXQpLGFqYXg6ZnVuY3Rpb24oZSx0KXsib2JqZWN0Ij09dHlwZW
9mIGUmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIGMsZixwLG4sZCxyLGgsZyxpLG8sdj1TLmFqYXhTZ
XR1cCh7fSx0KSx5PXYuY29udGV4dHx8dixtPXYuY29udGV4dCYmKHkubm9kZVR5cGV8fHkuanF1ZXJ5KT9T
KHkpOlMuZXZlbnQseD1TLkRlZmVycmVkKCksYj1TLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSx3PXYuc3R
hdHVzQ29kZXx8e30sYT17fSxzPXt9LHU9ImNhbmNlbGVkIixUPXtyZWFkeVN0YXRlOjAsZ2V0UmVzcG9uc2
VIZWFkZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYoaCl7aWYoIW4pe249e307d2hpbGUodD1IdC5leGVjKHApK
W5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl09KG5bdFsxXS50b0xvd2VyQ2FzZSgpKyIgIl18fFtdKS5jb25j
YXQodFsyXSl9dD1uW2UudG9Mb3dlckNhc2UoKSsiICJdfXJldHVybiBudWxsPT10P251bGw6dC5qb2luKCI
sICIpfSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gaD9wOm51bGx9LHNldFJlcX
Vlc3RIZWFkZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnVsbD09aCYmKGU9c1tlLnRvTG93ZXJDYXNlKCldP
XNbZS50b0xvd2VyQ2FzZSgpXXx8ZSxhW2VdPXQpLHRoaXN9LG92ZXJyaWRlTWltZVR5cGU6ZnVuY3Rpb24o
ZSl7cmV0dXJuIG51bGw9PWgmJih2Lm1pbWVUeXBlPWUpLHRoaXN9LHN0YXR1c0NvZGU6ZnVuY3Rpb24oZSl
7dmFyIHQ7aWYoZSlpZihoKVQuYWx3YXlzKGVbVC5zdGF0dXNdKTtlbHNlIGZvcih0IGluIGUpd1t0XT1bd1
t0XSxlW3RdXTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZXx8dTtyZXR1cm4gYyYmY
y5hYm9ydCh0KSxsKDAsdCksdGhpc319O2lmKHgucHJvbWlzZShUKSx2LnVybD0oKGV8fHYudXJsfHxUdC5o
cmVmKSsiIikucmVwbGFjZShQdCxUdC5wcm90b2NvbCsiLy8iKSx2LnR5cGU9dC5tZXRob2R8fHQudHlwZXx
8di5tZXRob2R8fHYudHlwZSx2LmRhdGFUeXBlcz0odi5kYXRhVHlwZXx8IioiKS50b0xvd2VyQ2FzZSgpLm
1hdGNoKFApfHxbIiJdLG51bGw9PXYuY3Jvc3NEb21haW4pe3I9RS5jcmVhdGVFbGVtZW50KCJhIik7dHJ5e
3IuaHJlZj12LnVybCxyLmhyZWY9ci5ocmVmLHYuY3Jvc3NEb21haW49V3QucHJvdG9jb2wrIi8vIitXdC5o
b3N0IT1yLnByb3RvY29sKyIvLyIrci5ob3N0fWNhdGNoKGUpe3YuY3Jvc3NEb21haW49ITB9fWlmKHYuZGF
0YSYmdi5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiB2LmRhdGEmJih2LmRhdGE9Uy5wYXJhbSh2Lm
RhdGEsdi50cmFkaXRpb25hbCkpLEJ0KFJ0LHYsdCxUKSxoKXJldHVybiBUO2ZvcihpIGluKGc9Uy5ldmVud
CYmdi5nbG9iYWwpJiYwPT1TLmFjdGl2ZSsrJiZTLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLHYudHlw
ZT12LnR5cGUudG9VcHBlckNhc2UoKSx2Lmhhc0NvbnRlbnQ9IU90LnRlc3Qodi50eXBlKSxmPXYudXJsLnJ
lcGxhY2UocXQsIiIpLHYuaGFzQ29udGVudD92LmRhdGEmJnYucHJvY2Vzc0RhdGEmJjA9PT0odi5jb250ZW
50VHlwZXx8IiIpLmluZGV4T2YoImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiYodi5kY
XRhPXYuZGF0YS5yZXBsYWNlKGp0LCIrIikpOihvPXYudXJsLnNsaWNlKGYubGVuZ3RoKSx2LmRhdGEmJih2
LnByb2Nlc3NEYXRhfHwic3RyaW5nIj09dHlwZW9mIHYuZGF0YSkmJihmKz0oRXQudGVzdChmKT8iJiI6Ij8
iKSt2LmRhdGEsZGVsZXRlIHYuZGF0YSksITE9PT12LmNhY2hlJiYoZj1mLnJlcGxhY2UoTHQsIiQxIiksbz
0oRXQudGVzdChmKT8iJiI6Ij8iKSsiXz0iK0N0Lmd1aWQrKytvKSx2LnVybD1mK28pLHYuaWZNb2RpZmllZ
CYmKFMubGFzdE1vZGlmaWVkW2ZdJiZULnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixT
Lmxhc3RNb2RpZmllZFtmXSksUy5ldGFnW2ZdJiZULnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2g
iLFMuZXRhZ1tmXSkpLCh2LmRhdGEmJnYuaGFzQ29udGVudCYmITEhPT12LmNvbnRlbnRUeXBlfHx0LmNvbn
RlbnRUeXBlKSYmVC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLHYuY29udGVudFR5cGUpLFQuc
2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0Iix2LmRhdGFUeXBlc1swXSYmdi5hY2NlcHRzW3YuZGF0YVR5cGVz
WzBdXT92LmFjY2VwdHNbdi5kYXRhVHlwZXNbMF1dKygiKiIhPT12LmRhdGFUeXBlc1swXT8iLCAiK0l0KyI
7IHE9MC4wMSI6IiIpOnYuYWNjZXB0c1siKiJdKSx2LmhlYWRlcnMpVC5zZXRSZXF1ZXN0SGVhZGVyKGksdi
5oZWFkZXJzW2ldKTtpZih2LmJlZm9yZVNlbmQmJighMT09PXYuYmVmb3JlU2VuZC5jYWxsKHksVCx2KXx8a
CkpcmV0dXJuIFQuYWJvcnQoKTtpZih1PSJhYm9ydCIsYi5hZGQodi5jb21wbGV0ZSksVC5kb25lKHYuc3Vj
Y2VzcyksVC5mYWlsKHYuZXJyb3IpLGM9QnQoTXQsdix0LFQpKXtpZihULnJlYWR5U3RhdGU9MSxnJiZtLnR
yaWdnZXIoImFqYXhTZW5kIixbVCx2XSksaClyZXR1cm4gVDt2LmFzeW5jJiYwPHYudGltZW91dCYmKGQ9Qy
5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7VC5hYm9ydCgidGltZW91dCIpfSx2LnRpbWVvdXQpKTt0cnl7aD0hM
SxjLnNlbmQoYSxsKX1jYXRjaChlKXtpZihoKXRocm93IGU7bCgtMSxlKX19ZWxzZSBsKC0xLCJObyBUcmFu
c3BvcnQiKTtmdW5jdGlvbiBsKGUsdCxuLHIpe3ZhciBpLG8sYSxzLHUsbD10O2h8fChoPSEwLGQmJkMuY2x
lYXJUaW1lb3V0KGQpLGM9dm9pZCAwLHA9cnx8IiIsVC5yZWFkeVN0YXRlPTA8ZT80OjAsaT0yMDA8PWUmJm
U8MzAwfHwzMDQ9PT1lLG4mJihzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzPWUuY29udGVudHMsd
T1lLmRhdGFUeXBlczt3aGlsZSgiKiI9PT11WzBdKXUuc2hpZnQoKSx2b2lkIDA9PT1yJiYocj1lLm1pbWVU
eXBlfHx0LmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKSk7aWYocilmb3IoaSBpbiBzKWlmKHN
baV0mJnNbaV0udGVzdChyKSl7dS51bnNoaWZ0KGkpO2JyZWFrfWlmKHVbMF1pbiBuKW89dVswXTtlbHNle2
ZvcihpIGluIG4pe2lmKCF1WzBdfHxlLmNvbnZlcnRlcnNbaSsiICIrdVswXV0pe289aTticmVha31hfHwoY
T1pKX1vPW98fGF9aWYobylyZXR1cm4gbyE9PXVbMF0mJnUudW5zaGlmdChvKSxuW29dfSh2LFQsbikpLCFp
JiYtMTxTLmluQXJyYXkoInNjcmlwdCIsdi5kYXRhVHlwZXMpJiYodi5jb252ZXJ0ZXJzWyJ0ZXh0IHNjcml
wdCJdPWZ1bmN0aW9uKCl7fSkscz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaSxvLGEscyx1LGw9e30sYz1lLm
RhdGFUeXBlcy5zbGljZSgpO2lmKGNbMV0pZm9yKGEgaW4gZS5jb252ZXJ0ZXJzKWxbYS50b0xvd2VyQ2FzZ
SgpXT1lLmNvbnZlcnRlcnNbYV07bz1jLnNoaWZ0KCk7d2hpbGUobylpZihlLnJlc3BvbnNlRmllbGRzW29d
JiYobltlLnJlc3BvbnNlRmllbGRzW29dXT10KSwhdSYmciYmZS5kYXRhRmlsdGVyJiYodD1lLmRhdGFGaWx
0ZXIodCxlLmRhdGFUeXBlKSksdT1vLG89Yy5zaGlmdCgpKWlmKCIqIj09PW8pbz11O2Vsc2UgaWYoIioiIT
09dSYmdSE9PW8pe2lmKCEoYT1sW3UrIiAiK29dfHxsWyIqICIrb10pKWZvcihpIGluIGwpaWYoKHM9aS5zc
GxpdCgiICIpKVsxXT09PW8mJihhPWxbdSsiICIrc1swXV18fGxbIiogIitzWzBdXSkpeyEwPT09YT9hPWxb
aV06ITAhPT1sW2ldJiYobz1zWzBdLGMudW5zaGlmdChzWzFdKSk7YnJlYWt9aWYoITAhPT1hKWlmKGEmJmV
bInRocm93cyJdKXQ9YSh0KTtlbHNlIHRyeXt0PWEodCl9Y2F0Y2goZSl7cmV0dXJue3N0YXRlOiJwYXJzZX
JlcnJvciIsZXJyb3I6YT9lOiJObyBjb252ZXJzaW9uIGZyb20gIit1KyIgdG8gIitvfX19cmV0dXJue3N0Y
XRlOiJzdWNjZXNzIixkYXRhOnR9fSh2LHMsVCxpKSxpPyh2LmlmTW9kaWZpZWQmJigodT1ULmdldFJlc3Bv
bnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIikpJiYoUy5sYXN0TW9kaWZpZWRbZl09dSksKHU9VC5nZXRSZXN
wb25zZUhlYWRlcigiZXRhZyIpKSYmKFMuZXRhZ1tmXT11KSksMjA0PT09ZXx8IkhFQUQiPT09di50eXBlP2
w9Im5vY29udGVudCI6MzA0PT09ZT9sPSJub3Rtb2RpZmllZCI6KGw9cy5zdGF0ZSxvPXMuZGF0YSxpPSEoY
T1zLmVycm9yKSkpOihhPWwsIWUmJmx8fChsPSJlcnJvciIsZTwwJiYoZT0wKSkpLFQuc3RhdHVzPWUsVC5z
dGF0dXNUZXh0PSh0fHxsKSsiIixpP3gucmVzb2x2ZVdpdGgoeSxbbyxsLFRdKTp4LnJlamVjdFdpdGgoeSx
bVCxsLGFdKSxULnN0YXR1c0NvZGUodyksdz12b2lkIDAsZyYmbS50cmlnZ2VyKGk/
ImFqYXhTdWNjZXNzIjoiYWpheEVycm9yIixbVCx2LGk/
bzphXSksYi5maXJlV2l0aCh5LFtULGxdKSxnJiYobS50cmlnZ2VyKCJhamF4Q29tcGxldGUiLFtULHZdKSw
tLVMuYWN0aXZlfHxTLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIikpKX1yZXR1cm4gVH0sZ2V0SlNPTjpmdW
5jdGlvbihlLHQsbil7cmV0dXJuIFMuZ2V0KGUsdCxuLCJqc29uIil9LGdldFNjcmlwdDpmdW5jdGlvbihlL
HQpe3JldHVybiBTLmdldChlLHZvaWQgMCx0LCJzY3JpcHQiKX19KSxTLmVhY2goWyJnZXQiLCJwb3N0Il0s
ZnVuY3Rpb24oZSxpKXtTW2ldPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBtKHQpJiYocj1yfHxuLG49dCx
0PXZvaWQgMCksUy5hamF4KFMuZXh0ZW5kKHt1cmw6ZSx0eXBlOmksZGF0YVR5cGU6cixkYXRhOnQsc3VjY2
VzczpufSxTLmlzUGxhaW5PYmplY3QoZSkmJmUpKX19KSxTLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oZSl7d
mFyIHQ7Zm9yKHQgaW4gZS5oZWFkZXJzKSJjb250ZW50LXR5cGUiPT09dC50b0xvd2VyQ2FzZSgpJiYoZS5j
b250ZW50VHlwZT1lLmhlYWRlcnNbdF18fCIiKX0pLFMuX2V2YWxVcmw9ZnVuY3Rpb24oZSx0LG4pe3JldHV
ybiBTLmFqYXgoe3VybDplLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsYXN5bmM6IT
EsZ2xvYmFsOiExLGNvbnZlcnRlcnM6eyJ0ZXh0IHNjcmlwdCI6ZnVuY3Rpb24oKXt9fSxkYXRhRmlsdGVyO
mZ1bmN0aW9uKGUpe1MuZ2xvYmFsRXZhbChlLHQsbil9fSl9LFMuZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0
aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzWzBdJiYobShlKSYmKGU9ZS5jYWxsKHRoaXNbMF0pKSx0PVMoZSx
0aGlzWzBdLm93bmVyRG9jdW1lbnQpLmVxKDApLmNsb25lKCEwKSx0aGlzWzBdLnBhcmVudE5vZGUmJnQuaW
5zZXJ0QmVmb3JlKHRoaXNbMF0pLHQubWFwKGZ1bmN0aW9uKCl7dmFyIGU9dGhpczt3aGlsZShlLmZpcnN0R
WxlbWVudENoaWxkKWU9ZS5maXJzdEVsZW1lbnRDaGlsZDtyZXR1cm4gZX0pLmFwcGVuZCh0aGlzKSksdGhp
c30sd3JhcElubmVyOmZ1bmN0aW9uKG4pe3JldHVybiBtKG4pP3RoaXMuZWFjaChmdW5jdGlvbihlKXtTKHR
oaXMpLndyYXBJbm5lcihuLmNhbGwodGhpcyxlKSl9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1TKH
RoaXMpLHQ9ZS5jb250ZW50cygpO3QubGVuZ3RoP3Qud3JhcEFsbChuKTplLmFwcGVuZChuKX0pfSx3cmFwO
mZ1bmN0aW9uKHQpe3ZhciBuPW0odCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihlKXtTKHRoaXMpLndy
YXBBbGwobj90LmNhbGwodGhpcyxlKTp0KX0pfSx1bndyYXA6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGF
yZW50KGUpLm5vdCgiYm9keSIpLmVhY2goZnVuY3Rpb24oKXtTKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2
hpbGROb2Rlcyl9KSx0aGlzfX0pLFMuZXhwci5wc2V1ZG9zLmhpZGRlbj1mdW5jdGlvbihlKXtyZXR1cm4hU
y5leHByLnBzZXVkb3MudmlzaWJsZShlKX0sUy5leHByLnBzZXVkb3MudmlzaWJsZT1mdW5jdGlvbihlKXty
ZXR1cm4hIShlLm9mZnNldFdpZHRofHxlLm9mZnNldEhlaWdodHx8ZS5nZXRDbGllbnRSZWN0cygpLmxlbmd
0aCl9LFMuYWpheFNldHRpbmdzLnhocj1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbmV3IEMuWE1MSHR0cFJlcX
Vlc3R9Y2F0Y2goZSl7fX07dmFyIF90PXswOjIwMCwxMjIzOjIwNH0senQ9Uy5hamF4U2V0dGluZ3MueGhyK
Ck7eS5jb3JzPSEhenQmJiJ3aXRoQ3JlZGVudGlhbHMiaW4genQseS5hamF4PXp0PSEhenQsUy5hamF4VHJh
bnNwb3J0KGZ1bmN0aW9uKGkpe3ZhciBvLGE7aWYoeS5jb3JzfHx6dCYmIWkuY3Jvc3NEb21haW4pcmV0dXJ
ue3NlbmQ6ZnVuY3Rpb24oZSx0KXt2YXIgbixyPWkueGhyKCk7aWYoci5vcGVuKGkudHlwZSxpLnVybCxpLm
FzeW5jLGkudXNlcm5hbWUsaS5wYXNzd29yZCksaS54aHJGaWVsZHMpZm9yKG4gaW4gaS54aHJGaWVsZHMpc
ltuXT1pLnhockZpZWxkc1tuXTtmb3IobiBpbiBpLm1pbWVUeXBlJiZyLm92ZXJyaWRlTWltZVR5cGUmJnIu
b3ZlcnJpZGVNaW1lVHlwZShpLm1pbWVUeXBlKSxpLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXR
oIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0IiksZSlyLnNldFJlcXVlc3RIZW
FkZXIobixlW25dKTtvPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe28mJihvPWE9ci5vbmxvYWQ9c
i5vbmVycm9yPXIub25hYm9ydD1yLm9udGltZW91dD1yLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9y
dCI9PT1lP3IuYWJvcnQoKToiZXJyb3IiPT09ZT8ibnVtYmVyIiE9dHlwZW9mIHIuc3RhdHVzP3QoMCwiZXJ
yb3IiKTp0KHIuc3RhdHVzLHIuc3RhdHVzVGV4dCk6dChfdFtyLnN0YXR1c118fHIuc3RhdHVzLHIuc3RhdH
VzVGV4dCwidGV4dCIhPT0oci5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2Ygci5yZ
XNwb25
zZVRleHQ/
e2JpbmFyeTpyLnJlc3BvbnNlfTp7dGV4dDpyLnJlc3BvbnNlVGV4dH0sci5nZXRBbGxSZXNwb25zZUhlYWR
lcnMoKSkpfX0sci5vbmxvYWQ9bygpLGE9ci5vbmVycm9yPXIub250aW1lb3V0PW8oImVycm9yIiksdm9pZC
AwIT09ci5vbmFib3J0P3Iub25hYm9ydD1hOnIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09P
XIucmVhZHlTdGF0ZSYmQy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7byYmYSgpfSl9LG89bygiYWJvcnQiKTt0
cnl7ci5zZW5kKGkuaGFzQ29udGVudCYmaS5kYXRhfHxudWxsKX1jYXRjaChlKXtpZihvKXRocm93IGV9fSx
hYm9ydDpmdW5jdGlvbigpe28mJm8oKX19fSksUy5hamF4UHJlZmlsdGVyKGZ1bmN0aW9uKGUpe2UuY3Jvc3
NEb21haW4mJihlLmNvbnRlbnRzLnNjcmlwdD0hMSl9KSxTLmFqYXhTZXR1cCh7YWNjZXB0czp7c2NyaXB0O
iJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2VjbWFzY3Jp
cHQsIGFwcGxpY2F0aW9uL3gtZWNtYXNjcmlwdCJ9LGNvbnRlbnRzOntzY3JpcHQ6L1xiKD86amF2YXxlY21
hKXNjcmlwdFxiL30sY29udmVydGVyczp7InRleHQgc2NyaXB0IjpmdW5jdGlvbihlKXtyZXR1cm4gUy5nbG
9iYWxFdmFsKGUpLGV9fX0pLFMuYWpheFByZWZpbHRlcigic2NyaXB0IixmdW5jdGlvbihlKXt2b2lkIDA9P
T1lLmNhY2hlJiYoZS5jYWNoZT0hMSksZS5jcm9zc0RvbWFpbiYmKGUudHlwZT0iR0VUIil9KSxTLmFqYXhU
cmFuc3BvcnQoInNjcmlwdCIsZnVuY3Rpb24obil7dmFyIHIsaTtpZihuLmNyb3NzRG9tYWlufHxuLnNjcml
wdEF0dHJzKXJldHVybntzZW5kOmZ1bmN0aW9uKGUsdCl7cj1TKCI8c2NyaXB0PiIpLmF0dHIobi5zY3JpcH
RBdHRyc3x8e30pLnByb3Aoe2NoYXJzZXQ6bi5zY3JpcHRDaGFyc2V0LHNyYzpuLnVybH0pLm9uKCJsb2FkI
GVycm9yIixpPWZ1bmN0aW9uKGUpe3IucmVtb3ZlKCksaT1udWxsLGUmJnQoImVycm9yIj09PWUudHlwZT80
MDQ6MjAwLGUudHlwZSl9KSxFLmhlYWQuYXBwZW5kQ2hpbGQoclswXSl9LGFib3J0OmZ1bmN0aW9uKCl7aSY
maSgpfX19KTt2YXIgVXQsWHQ9W10sVnQ9Lyg9KVw/KD89JnwkKXxcP1w/
LztTLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGU
9WHQucG9wKCl8fFMuZXhwYW5kbysiXyIrQ3QuZ3VpZCsrO3JldHVybiB0aGlzW2VdPSEwLGV9fSksUy5ham
F4UHJlZmlsdGVyKCJqc29uIGpzb25wIixmdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9ITEhPT1lLmpzb
25wJiYoVnQudGVzdChlLnVybCk/
InVybCI6InN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT0oZS5jb250ZW50VHlwZXx8IiIpLmluZGV4T2Y
oImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIpJiZWdC50ZXN0KGUuZGF0YSkmJiJkYXRhIi
k7aWYoYXx8Impzb25wIj09PWUuZGF0YVR5cGVzWzBdKXJldHVybiByPWUuanNvbnBDYWxsYmFjaz1tKGUua
nNvbnBDYWxsYmFjayk/ZS5qc29ucENhbGxiYWNrKCk6ZS5qc29ucENhbGxiYWNrLGE/
ZVthXT1lW2FdLnJlcGxhY2UoVnQsIiQxIityKTohMSE9PWUuanNvbnAmJihlLnVybCs9KEV0LnRlc3QoZS5
1cmwpPyImIjoiPyIpK2UuanNvbnArIj0iK3IpLGUuY29udmVydGVyc1sic2NyaXB0IGpzb24iXT1mdW5jdG
lvbigpe3JldHVybiBvfHxTLmVycm9yKHIrIiB3YXMgbm90IGNhbGxlZCIpLG9bMF19LGUuZGF0YVR5cGVzW
zBdPSJqc29uIixpPUNbcl0sQ1tyXT1mdW5jdGlvbigpe289YXJndW1lbnRzfSxuLmFsd2F5cyhmdW5jdGlv
bigpe3ZvaWQgMD09PWk/
UyhDKS5yZW1vdmVQcm9wKHIpOkNbcl09aSxlW3JdJiYoZS5qc29ucENhbGxiYWNrPXQuanNvbnBDYWxsYmF
jayxYdC5wdXNoKHIpKSxvJiZtKGkpJiZpKG9bMF0pLG89aT12b2lkIDB9KSwic2NyaXB0In0pLHkuY3JlYX
RlSFRNTERvY3VtZW50PSgoVXQ9RS5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLmJvZ
HkpLmlubmVySFRNTD0iPGZvcm0+PC9mb3JtPjxmb3JtPjwvZm9ybT4iLDI9PT1VdC5jaGlsZE5vZGVzLmxl
bmd0aCksUy5wYXJzZUhUTUw9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiJzdHJpbmciIT10eXBlb2YgZT9bXTo
oImJvb2xlYW4iPT10eXBlb2YgdCYmKG49dCx0PSExKSx0fHwoeS5jcmVhdGVIVE1MRG9jdW1lbnQ/
KChyPSh0PUUuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKSkuY3JlYXRlRWxlbWVudCg
iYmFzZSIpKS5ocmVmPUUubG9jYXRpb24uaHJlZix0LmhlYWQuYXBwZW5kQ2hpbGQocikpOnQ9RSksbz0hbi
YmW10sKGk9Ti5leGVjKGUpKT9bdC5jcmVhdGVFbGVtZW50KGlbMV0pXTooaT14ZShbZV0sdCxvKSxvJiZvL
mxlbmd0aCYmUyhvKS5yZW1vdmUoKSxTLm1lcmdlKFtdLGkuY2hpbGROb2RlcykpKTt2YXIgcixpLG99LFMu
Zm4ubG9hZD1mdW5jdGlvbihlLHQsbil7dmFyIHIsaSxvLGE9dGhpcyxzPWUuaW5kZXhPZigiICIpO3JldHV
ybi0xPHMmJihyPXZ0KGUuc2xpY2UocykpLGU9ZS5zbGljZSgwLHMpKSxtKHQpPyhuPXQsdD12b2lkIDApOn
QmJiJvYmplY3QiPT10eXBlb2YgdCYmKGk9IlBPU1QiKSwwPGEubGVuZ3RoJiZTLmFqYXgoe3VybDplLHR5c
GU6aXx8IkdFVCIsZGF0YVR5cGU6Imh0bWwiLGRhdGE6dH0pLmRvbmUoZnVuY3Rpb24oZSl7bz1hcmd1bWVu
dHMsYS5odG1sKHI/
UygiPGRpdj4iKS5hcHBlbmQoUy5wYXJzZUhUTUwoZSkpLmZpbmQocik6ZSl9KS5hbHdheXMobiYmZnVuY3R
pb24oZSx0KXthLmVhY2goZnVuY3Rpb24oKXtuLmFwcGx5KHRoaXMsb3x8W2UucmVzcG9uc2VUZXh0LHQsZV
0pfSl9KSx0aGlzfSxTLmV4cHIucHNldWRvcy5hbmltYXRlZD1mdW5jdGlvbih0KXtyZXR1cm4gUy5ncmVwK
FMudGltZXJzLGZ1bmN0aW9uKGUpe3JldHVybiB0PT09ZS5lbGVtfSkubGVuZ3RofSxTLm9mZnNldD17c2V0
T2Zmc2V0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixpLG8sYSxzLHUsbD1TLmNzcyhlLCJwb3NpdGlvbiIpLGM
9UyhlKSxmPXt9OyJzdGF0aWMiPT09bCYmKGUuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIikscz1jLm9mZn
NldCgpLG89Uy5jc3MoZSwidG9wIiksdT1TLmNzcyhlLCJsZWZ0IiksKCJhYnNvbHV0ZSI9PT1sfHwiZml4Z
WQiPT09bCkmJi0xPChvK3UpLmluZGV4T2YoImF1dG8iKT8oYT0ocj1jLnBvc2l0aW9uKCkpLnRvcCxpPXIu
bGVmdCk6KGE9cGFyc2VGbG9hdChvKXx8MCxpPXBhcnNlRmxvYXQodSl8fDApLG0odCkmJih0PXQuY2FsbCh
lLG4sUy5leHRlbmQoe30scykpKSxudWxsIT10LnRvcCYmKGYudG9wPXQudG9wLXMudG9wK2EpLG51bGwhPX
QubGVmdCYmKGYubGVmdD10LmxlZnQtcy5sZWZ0K2kpLCJ1c2luZyJpbiB0P3QudXNpbmcuY2FsbChlLGYpO
igibnVtYmVyIj09dHlwZW9mIGYudG9wJiYoZi50b3ArPSJweCIpLCJudW1iZXIiPT10eXBlb2YgZi5sZWZ0
JiYoZi5sZWZ0Kz0icHgiKSxjLmNzcyhmKSl9fSxTLmZuLmV4dGVuZCh7b2Zmc2V0OmZ1bmN0aW9uKHQpe2l
mKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHZvaWQgMD09PXQ/
dGhpczp0aGlzLmVhY2goZnVuY3Rpb24oZSl7Uy5vZmZzZXQuc2V0T2Zmc2V0KHRoaXMsdCxlKX0pO3ZhciB
lLG4scj10aGlzWzBdO3JldHVybiByP3IuZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGg/
KGU9ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxuPXIub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldyx7dG9
wOmUudG9wK24ucGFnZVlPZmZzZXQsbGVmdDplLmxlZnQrbi5wYWdlWE9mZnNldH0pOnt0b3A6MCxsZWZ0Oj
B9OnZvaWQgMH0scG9zaXRpb246ZnVuY3Rpb24oKXtpZih0aGlzWzBdKXt2YXIgZSx0LG4scj10aGlzWzBdL
Gk9e3RvcDowLGxlZnQ6MH07aWYoImZpeGVkIj09PVMuY3NzKHIsInBvc2l0aW9uIikpdD1yLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpO2Vsc2V7dD10aGlzLm9mZnNldCgpLG49ci5vd25lckRvY3VtZW50LGU9ci5vZmZ
zZXRQYXJlbnR8fG4uZG9jdW1lbnRFbGVtZW50O3doaWxlKGUmJihlPT09bi5ib2R5fHxlPT09bi5kb2N1bW
VudEVsZW1lbnQpJiYic3RhdGljIj09PVMuY3NzKGUsInBvc2l0aW9uIikpZT1lLnBhcmVudE5vZGU7ZSYmZ
SE9PXImJjE9PT1lLm5vZGVUeXBlJiYoKGk9UyhlKS5vZmZzZXQoKSkudG9wKz1TLmNzcyhlLCJib3JkZXJU
b3BXaWR0aCIsITApLGkubGVmdCs9Uy5jc3MoZSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpfXJldHVybnt0b3A
6dC50b3AtaS50b3AtUy5jc3MociwibWFyZ2luVG9wIiwhMCksbGVmdDp0LmxlZnQtaS5sZWZ0LVMuY3NzKH
IsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZ
nVuY3Rpb24oKXt2YXIgZT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShlJiYic3RhdGljIj09PVMuY3NzKGUs
InBvc2l0aW9uIikpZT1lLm9mZnNldFBhcmVudDtyZXR1cm4gZXx8cmV9KX19KSxTLmVhY2goe3Njcm9sbEx
lZnQ6InBhZ2VYT2Zmc2V0IixzY3JvbGxUb3A6InBhZ2VZT2Zmc2V0In0sZnVuY3Rpb24odCxpKXt2YXIgbz
0icGFnZVlPZmZzZXQiPT09aTtTLmZuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMsZnVuY3Rpb24oZ
Sx0LG4pe3ZhciByO2lmKHgoZSk/
cj1lOjk9PT1lLm5vZGVUeXBlJiYocj1lLmRlZmF1bHRWaWV3KSx2b2lkIDA9PT1uKXJldHVybiByP3JbaV0
6ZVt0XTtyP3Iuc2Nyb2xsVG8obz9yLnBhZ2VYT2Zmc2V0Om4sbz9uOnIucGFnZVlPZmZzZXQpOmVbdF09bn
0sdCxlLGFyZ3VtZW50cy5sZW5ndGgpfX0pLFMuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLG4pe
1MuY3NzSG9va3Nbbl09JGUoeS5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGUsdCl7aWYodClyZXR1cm4gdD1C
ZShlLG4pLE1lLnRlc3QodCk/
UyhlKS5wb3NpdGlvbigpW25dKyJweCI6dH0pfSksUy5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6Ind
pZHRoIn0sZnVuY3Rpb24oYSxzKXtTLmVhY2goe3BhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6cywiIjoib3
V0ZXIiK2F9LGZ1bmN0aW9uKHIsbyl7Uy5mbltvXT1mdW5jdGlvbihlLHQpe3ZhciBuPWFyZ3VtZW50cy5sZ
W5ndGgmJihyfHwiYm9vbGVhbiIhPXR5cGVvZiBlKSxpPXJ8fCghMD09PWV8fCEwPT09dD8ibWFyZ2luIjoi
Ym9yZGVyIik7cmV0dXJuICQodGhpcyxmdW5jdGlvbihlLHQsbil7dmFyIHI7cmV0dXJuIHgoZSk/
MD09PW8uaW5kZXhPZigib3V0ZXIiKT9lWyJpbm5lciIrYV06ZS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR
bImNsaWVudCIrYV06OT09PWUubm9kZVR5cGU/
KHI9ZS5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoZS5ib2R5WyJzY3JvbGwiK2FdLHJbInNjcm9sbCIrYV0
sZS5ib2R5WyJvZmZzZXQiK2FdLHJbIm9mZnNldCIrYV0sclsiY2xpZW50IithXSkpOnZvaWQgMD09PW4/
Uy5jc3MoZSx0LGkpOlMuc3R5bGUoZSx0LG4saSl9LHMsbj9lOnZvaWQgMCxuKX19KX0pLFMuZWFjaChbImF
qYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLC
JhamF4U2VuZCJdLGZ1bmN0aW9uKGUsdCl7Uy5mblt0XT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5vbih0L
GUpfX0pLFMuZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5vbihlLG51bGws
dCxuKX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub2ZmKGUsbnVsbCx0KX0sZGVsZWdhdGU
6ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIHRoaXMub24odCxlLG4scil9LHVuZGVsZWdhdGU6ZnVuY3Rpb2
4oZSx0LG4pe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihlLCIqKiIpOnRoaXMub2ZmK
HQsZXx8IioqIixuKX0saG92ZXI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGUpLm1v
dXNlbGVhdmUodHx8ZSl9fSksUy5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHN
jcm9sbCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdX
Nlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZ
XNzIGtleXVwIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGUsbil7Uy5mbltuXT1mdW5jdGlv
bihlLHQpe3JldHVybiAwPGFyZ3VtZW50cy5sZW5ndGg/
dGhpcy5vbihuLG51bGwsZSx0KTp0aGlzLnRyaWdnZXIobil9fSk7dmFyIEd0PS9eW1xzXHVGRUZGXHhBMF0
rfFtcc1x1RkVGRlx4QTBdKyQvZztTLnByb3h5PWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpO2lmKCJzdHJpbm
ciPT10eXBlb2YgdCYmKG49ZVt0XSx0PWUsZT1uKSxtKGUpKXJldHVybiByPXMuY2FsbChhcmd1bWVudHMsM
iksKGk9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0fHx0aGlzLHIuY29uY2F0KHMuY2FsbChhcmd1bWVu
dHMpKSl9KS5ndWlkPWUuZ3VpZD1lLmd1aWR8fFMuZ3VpZCsrLGl9LFMuaG9sZFJlYWR5PWZ1bmN0aW9uKGU
pe2U/
Uy5yZWFkeVdhaXQrKzpTLnJlYWR5KCEwKX0sUy5pc0FycmF5PUFycmF5LmlzQXJyYXksUy5wYXJzZUpTT04
9SlNPTi5wYXJzZSxTLm5vZGVOYW1lPUEsUy5pc0Z1bmN0aW9uPW0sUy5pc1dpbmRvdz14LFMuY2FtZWxDYX
NlPVgsUy50eXBlPXcsUy5ub3c9RGF0ZS5ub3csUy5pc051bWVyaWM9ZnVuY3Rpb24oZSl7dmFyIHQ9Uy50e
XBlKGUpO3JldHVybigibnVtYmVyIj09PXR8fCJzdHJpbmciPT09dCkmJiFpc05hTihlLXBhcnNlRmxvYXQo
ZSkpfSxTLnRyaW09ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PWU/
IiI6KGUrIiIpLnJlcGxhY2UoR3QsIiIpfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1
kJiZkZWZpbmUoImpxdWVyeSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gU30pO3ZhciBZdD1DLmpRdWVyeSxRdD
1DLiQ7cmV0dXJuIFMubm9Db25mbGljdD1mdW5jdGlvbihlKXtyZXR1cm4gQy4kPT09UyYmKEMuJD1RdCksZ
SYmQy5qUXVlcnk9PT1TJiYoQy5qUXVlcnk9WXQpLFN9LCJ1bmRlZmluZWQiPT10eXBlb2YgZSYmKEMualF1
ZXJ5PUMuJD1TKSxTfSk7Cg==\"></script>\n",
"<link href=\"data:text/css;charset-utf-
8;base64,LmR0LWNyb3NzdGFsay1mYWRlIHsKICBvcGFjaXR5OiAwLjI7Cn0KCmh0bWwgYm9keSBkaXYuRF
RTIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJvZHkgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KCgovKgpGaXgga
HR0cHM6Ly9naXRodWIuY29tL3JzdHVkaW8vRFQvaXNzdWVzLzU2MwpJZiB0aGUgYHRhYmxlLmRpc3BsYXlg
IGlzIHNldCB0byAiYmxvY2siIChlLmcuLCBwa2dkb3duKSwgdGhlIGJyb3dzZXIgd2lsbCBkaXNwbGF5CmR
hdGF0YWJsZSBvYmplY3RzIHN0cmFuZ2VseS4gVGhlIHNlYXJjaCBwYW5lbCBhbmQgdGhlIHBhZ2UgYnV0dG
9ucyB3aWxsIHN0aWxsIGJlCmluIGZ1bGwtd2lkdGggYnV0IHRoZSB0YWJsZSBib2R5IHdpbGwgYmUgImNvb
XBhY3QiIGFuZCBzaG9ydGVyLgpJbiB0aGVyb3J5LCBoYXZpbmcgdGhpcyBhdHRyaWJ1dGVzIHdpbGwgYWZm
ZWN0IGBkb209InQiYAp3aXRoIGBkaXNwbGF5OiBibG9ja2AgdXNlcnMuIEJ1dCBpbiByZWFsaXR5LCB0aGV
yZSBzaG91bGQgYmUgbm8gb25lLgpXZSBtYXkgcmVtb3ZlIHRoZSBiZWxvdyBsaW5lcyBpbiB0aGUgZnV0dX
JlIGlmIHRoZSB1cHN0cmVhbSBhZ3JlZSB0byBoYXZlIHRoaXMgdGhlcmUuClNlZSBodHRwczovL2dpdGh1Y
i5jb20vRGF0YVRhYmxlcy9EYXRhVGFibGVzU3JjL2lzc3Vlcy8xNjAKKi8KCnRhYmxlLmRhdGFUYWJsZSB7
CiAgZGlzcGxheTogdGFibGU7Cn0K\" rel=\"stylesheet\" />\n",
"<script title=\"datatables-binding\"
src=\"data:application/javascript;base64,KGZ1bmN0aW9uKCkgewoKLy8gc29tZSBoZWxwZXIgZn
VuY3Rpb25zOiB1c2luZyBhIGdsb2JhbCBvYmplY3QgRFRXaWRnZXQgc28gdGhhdCBpdCBjYW4gYmUgdXNlZ
AovLyBpbiBKUygpIGNvZGUsIGUuZy4gZGF0YXRhYmxlKG9wdGlvbnMgPSBsaXN0KGZvbyA9IEpTKCdjb2Rl
JykpKTsgdW5saWtlIFIncwovLyBkeW5hbWljIHNjb3BpbmcsIHdoZW4gJ2NvZGUnIGlzIGV2YWwoKSdlZCw
gSmF2YVNjcmlwdCBkb2VzIG5vdCBrbm93IG9iamVjdHMKLy8gZnJvbSB0aGUgInBhcmVudCBmcmFtZSIsIG
UuZy4gSlMoJ0RUV2lkZ2V0Jykgd2lsbCBub3Qgd29yayB1bmxlc3MgaXQgd2FzIG1hZGUKLy8gYSBnbG9iY
Wwgb2JqZWN0CnZhciBEVFdpZGdldCA9IHt9OwoKLy8gMTIzNDU2NjY2Ljc4OTAgLT4gMTIzLDQ1Niw2NjYu
Nzg5MAp2YXIgbWFya0ludGVydmFsID0gZnVuY3Rpb24oZCwgZGlnaXRzLCBpbnRlcnZhbCwgbWFyaywgZGV
jTWFyaywgcHJlY2lzaW9uKSB7CiAgeCA9IHByZWNpc2lvbiA/
IGQudG9QcmVjaXNpb24oZGlnaXRzKSA6IGQudG9GaXhlZChkaWdpdHMpOwogIGlmICghL14tP1tcZC5dKyQ
vLnRlc3QoeCkpIHJldHVybiB4OwogIHZhciB4diA9IHguc3BsaXQoJy4nKTsKICBpZiAoeHYubGVuZ3RoID
4gMikgcmV0dXJuIHg7ICAvLyBzaG91bGQgaGF2ZSBhdCBtb3N0IG9uZSBkZWNpbWFsIHBvaW50CiAgeHZbM
F0gPSB4dlswXS5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcQig/
PShcXGR7JyArIGludGVydmFsICsgJ30pKyg/
IVxcZCkpJywgJ2cnKSwgbWFyayk7CiAgcmV0dXJuIHh2LmpvaW4oZGVjTWFyayk7Cn07CgpEVFdpZGdldC5
mb3JtYXRDdXJyZW5jeSA9IGZ1bmN0aW9uKGRhdGEsIGN1cnJlbmN5LCBkaWdpdHMsIGludGVydmFsLCBtYX
JrLCBkZWNNYXJrLCBiZWZvcmUpIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YSk7CiAgaWYgKGlzTmFOK
GQpKSByZXR1cm4gJyc7CiAgdmFyIHJlcyA9IG1hcmtJbnRlcnZhbChkLCBkaWdpdHMsIGludGVydmFsLCBt
YXJrLCBkZWNNYXJrKTsKICByZXMgPSBiZWZvcmUgPyAoL14tLy50ZXN0KHJlcykgPyAnLScgKyBjdXJyZW5
jeSArIHJlcy5yZXBsYWNlKC9eLS8sICcnKSA6IGN1cnJlbmN5ICsgcmVzKSA6CiAgICByZXMgKyBjdXJyZW
5jeTsKICByZXR1cm4gcmVzOwp9OwoKRFRXaWRnZXQuZm9ybWF0U3RyaW5nID0gZnVuY3Rpb24oZGF0YSwgc
HJlZml4LCBzdWZmaXgpIHsKICB2YXIgZCA9IGRhdGE7CiAgaWYgKGQgPT09IG51bGwpIHJldHVybiAnJzsK
ICByZXR1cm4gcHJlZml4ICsgZCArIHN1ZmZpeDsKfTsKCkRUV2lkZ2V0LmZvcm1hdFBlcmNlbnRhZ2UgPSB
mdW5jdGlvbihkYXRhLCBkaWdpdHMsIGludGVydmFsLCBtYXJrLCBkZWNNYXJrKSB7CiAgdmFyIGQgPSBwYX
JzZUZsb2F0KGRhdGEpOwogIGlmIChpc05hTihkKSkgcmV0dXJuICcnOwogIHJldHVybiBtYXJrSW50ZXJ2Y
WwoZCAqIDEwMCwgZGlnaXRzLCBpbnRlcnZhbCwgbWFyaywgZGVjTWFyaykgKyAnJSc7Cn07CgpEVFdpZGdl
dC5mb3JtYXRSb3VuZCA9IGZ1bmN0aW9uKGRhdGEsIGRpZ2l0cywgaW50ZXJ2YWwsIG1hcmssIGRlY01hcms
pIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YSk7CiAgaWYgKGlzTmFOKGQpKSByZXR1cm4gJyc7CiAgcm
V0dXJuIG1hcmtJbnRlcnZhbChkLCBkaWdpdHMsIGludGVydmFsLCBtYXJrLCBkZWNNYXJrKTsKfTsKCkRUV
2lkZ2V0LmZvcm1hdFNpZ25pZiA9IGZ1bmN0aW9uKGRhdGEsIGRpZ2l0cywgaW50ZXJ2YWwsIG1hcmssIGRl
Y01hcmspIHsKICB2YXIgZCA9IHBhcnNlRmxvYXQoZGF0YSk7CiAgaWYgKGlzTmFOKGQpKSByZXR1cm4gJyc
7CiAgcmV0dXJuIG1hcmtJbnRlcnZhbChkLCBkaWdpdHMsIGludGVydmFsLCBtYXJrLCBkZWNNYXJrLCB0cn
VlKTsKfTsKCkRUV2lkZ2V0LmZvcm1hdERhdGUgPSBmdW5jdGlvbihkYXRhLCBtZXRob2QsIHBhcmFtcykge
wogIHZhciBkID0gZGF0YTsKICBpZiAoZCA9PT0gbnVsbCkgcmV0dXJuICcnOwogIC8vIChuZXcgRGF0ZSgn
MjAxNS0xMC0yOCcpKS50b0RhdGVTdHJpbmcoKSBtYXkgcmV0dXJuIDIwMTUtMTAtMjcgYmVjYXVzZSB0aGU
KICAvLyBhY3R1YWwgdGltZSBjcmVhdGVkIGNvdWxkIGJlIGxpa2UgJ1R1ZSBPY3QgMjcgMjAxNSAxOTowMD
owMCBHTVQtMDUwMCAoQ0RUKScsCiAgLy8gaS5lLiB0aGUgZGF0ZS1vbmx5IHN0cmluZyBpcyB0cmVhdGVkI
GFzIFVUQyB0aW1lIGluc3RlYWQgb2YgbG9jYWwgdGltZQogIGlmICgobWV0aG9kID09PSAndG9EYXRlU3Ry
aW5nJyB8fCBtZXRob2QgPT09ICd0b0xvY2FsZURhdGVTdHJpbmcnKSAmJiAvXlxkezQsfVxEXGR7Mn1cRFx
kezJ9JC8udGVzdChkKSkgewogICAgZCA9IGQuc3BsaXQoL1xELyk7CiAgICBkID0gbmV3IERhdGUoZFswXS
wgZFsxXSAtIDEsIGRbMl0pOwogIH0gZWxzZSB7CiAgICBkID0gbmV3IERhdGUoZCk7CiAgfQogIHJldHVyb
iBkW21ldGhvZF0uYXBwbHkoZCwgcGFyYW1zKTsKfTsKCndpbmRvdy5EVFdpZGdldCA9IERUV2lkZ2V0OwoK
dmFyIHRyYW5zcG9zZUFycmF5MkQgPSBmdW5jdGlvbihhKSB7CiAgcmV0dXJuIGEubGVuZ3RoID09PSAwID8
gYSA6IEhUTUxXaWRnZXRzLnRyYW5zcG9zZUFycmF5MkQoYSk7Cn07Cgp2YXIgY3Jvc3N0YWxrUGx1Z2luc0
luc3RhbGxlZCA9IGZhbHNlOwoKZnVuY3Rpb24gbWF5YmVJbnN0YWxsQ3Jvc3N0YWxrUGx1Z2lucygpIHsKI
CBpZiAoY3Jvc3N0YWxrUGx1Z2luc0luc3RhbGxlZCkKICAgIHJldHVybjsKICBjcm9zc3RhbGtQbHVnaW5z
SW5zdGFsbGVkID0gdHJ1ZTsKCiAgJC5mbi5kYXRhVGFibGUuZXh0LmFmbkZpbHRlcmluZy5wdXNoKAogICA
gZnVuY3Rpb24ob1NldHRpbmdzLCBhRGF0YSwgaURhdGFJbmRleCkgewogICAgICB2YXIgY3RmaWx0ZXIgPS
BvU2V0dGluZ3MublRhYmxlLmN0ZmlsdGVyOwogICAgICBpZiAoY3RmaWx0ZXIgJiYgIWN0ZmlsdGVyW2lEY
XRhSW5kZXhdKQogICAgICAgIHJldHVybiBmYWxzZTsKCiAgICAgIHZhciBjdHNlbGVjdCA9IG9TZXR0aW5n
cy5uVGFibGUuY3RzZWxlY3Q7CiAgICAgIGlmIChjdHNlbGVjdCAmJiAhY3RzZWxlY3RbaURhdGFJbmRleF0
pCiAgICAgICAgcmV0dXJuIGZhbHNlOwoKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgKTsKfQoKSFRNTF
dpZGdldHMud2lkZ2V0KHsKICBuYW1lOiAiZGF0YXRhYmxlcyIsCiAgdHlwZTogIm91dHB1dCIsCiAgcmVuZ
GVyT25OdWxsVmFsdWU6IHRydWUsCiAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oZWwsIHdpZHRoLCBoZWlnaHQp
IHsKICAgICQoZWwpLmh0bWwoJyZuYnNwOycpOwogICAgcmV0dXJuIHsKICAgICAgZGF0YTogbnVsbCwKICA
gICAgY3RmaWx0ZXJIYW5kbGU6IG5ldyBjcm9zc3RhbGsuRmlsdGVySGFuZGxlKCksCiAgICAgIGN0ZmlsdG
VyU3Vic2NyaXB0aW9uOiBudWxsLAogICAgICBjdHNlbGVjdEhhbmRsZTogbmV3IGNyb3NzdGFsay5TZWxlY
3Rpb25IYW5kbGUoKSwKICAgICAgY3RzZWxlY3RTdWJzY3JpcHRpb246IG51bGwKICAgIH07CiAgfSwKICBy
ZW5kZXJWYWx1ZTogZnVuY3Rpb24oZWwsIGRhdGEsIGluc3RhbmNlKSB7CiAgICBpZiAoZWwub2Zmc2V0V2l
kdGggPT09IDAgfHwgZWwub2Zmc2V0SGVpZ2h0ID09PSAwKSB7CiAgICAgIGluc3RhbmNlLmRhdGEgPSBkYX
RhOwogICAgICByZXR1cm47CiAgICB9CiAgICBpbnN0YW5jZS5kYXRhID0gbnVsbDsKICAgIHZhciAkZWwgP
SAkKGVsKTsKICAgICRlbC5lbXB0eSgpOwoKICAgIGlmIChkYXRhID09PSBudWxsKSB7CiAgICAgICRlbC5h
cHBlbmQoJyZuYnNwOycpOwogICAgICAvLyBjbGVhciBwcmV2aW91cyBTaGlueSBpbnB1dHMgKGlmIGFueSk
KICAgICAgZm9yICh2YXIgaSBpbiBpbnN0YW5jZS5jbGVhcklucHV0cykgaW5zdGFuY2UuY2xlYXJJbnB1dH
NbaV0oKTsKICAgICAgaW5zdGFuY2UuY2xlYXJJbnB1dHMgPSB7fTsKICAgICAgcmV0dXJuOwogICAgfQoKI
CAgIHZhciBjcm9zc3RhbGtPcHRpb25zID0gZGF0YS5jcm9zc3RhbGtPcHRpb25zOwogICAgaWYgKCFjcm9z
c3RhbGtPcHRpb25zKSBjcm9zc3RhbGtPcHRpb25zID0gewogICAgICAna2V5JzogbnVsbCwgJ2dyb3VwJzo
gbnVsbAogICAgfTsKICAgIGlmIChjcm9zc3RhbGtPcHRpb25zLmdyb3VwKSB7CiAgICAgIG1heWJlSW5zdG
FsbENyb3NzdGFsa1BsdWdpbnMoKTsKICAgICAgaW5zdGFuY2UuY3RmaWx0ZXJIYW5kbGUuc2V0R3JvdXAoY
3Jvc3N0YWxrT3B0aW9ucy5ncm91cCk7CiAgICAgIGluc3RhbmNlLmN0c2VsZWN0SGFuZGxlLnNldEdyb3Vw
KGNyb3NzdGFsa09wdGlvbnMuZ3JvdXApOwogICAgfQoKICAgIC8vIElmIHdlIGFyZSBpbiBhIGZsZXhkYXN
oYm9hcmQgc2Nyb2xsIGxheW91dCB0aGVuIHdlOgogICAgLy8gIChhKSBBbHdheXMgd2FudCB0byB1c2UgcG
FnaW5hdGlvbiAob3RoZXJ3aXNlIHdlJ2xsIGhhdmUKICAgIC8vICAgICAgYSAiZG91YmxlIHNjcm9sbCBiY
XIiIGVmZmVjdCBvbiB0aGUgcGhvbmUpOyBhbmQKICAgIC8vICAoYikgTmV2ZXIgd2FudCB0byBmaWxsIHRo
ZSBjb250YWluZXIgKHdlIHdhbnQgdGhlIHBhZ2luYXRpb24KICAgIC8vICAgICAgbGV2ZWwgdG8gZGV0ZXJ
taW5lIHRoZSBzaXplIG9mIHRoZSBjb250YWluZXIpCiAgICBpZiAod2luZG93LkZsZXhEYXNoYm9hcmQgJi
YgIXdpbmRvdy5GbGV4RGFzaGJvYXJkLmlzRmlsbFBhZ2UoKSkgewogICAgICBkYXRhLm9wdGlvbnMuYlBhZ
2luYXRlID0gdHJ1ZTsKICAgICAgZGF0YS5maWxsQ29udGFpbmVyID0gZmFsc2U7CiAgICB9CgogICAgLy8g
aWYgd2UgYXJlIGluIHRoZSB2aWV3ZXIgdGhlbiB3ZSBhbHdheXMgd2FudCB0byBmaWxsQ29udGFpbmVyIGF
uZAogICAgLy8gYW5kIGF1dG9IaWRlTmF2aWdhdGlvbiAodW5sZXNzIHRoZSB1c2VyIGhhcyBleHBsaWNpdG
x5IHNldCB0aGVzZSkKICAgIGlmICh3aW5kb3cuSFRNTFdpZGdldHMudmlld2VyTW9kZSkgewogICAgICBpZ
iAoIWRhdGEuaGFzT3duUHJvcGVydHkoImZpbGxDb250YWluZXIiKSkKICAgICAgICBkYXRhLmZpbGxDb250
YWluZXIgPSB0cnVlOwogICAgICBpZiAoIWRhdGEuaGFzT3duUHJvcGVydHkoImF1dG9IaWRlTmF2aWdhdGl
vbiIpKQogICAgICAgIGRhdGEuYXV0b0hpZGVOYXZpZ2F0aW9uID0gdHJ1ZTsKICAgIH0KCiAgICAvLyBwcm
9wYWdhdGUgZmlsbENvbnRhaW5lciB0byBpbnN0YW5jZSAoc28gd2UgaGF2ZSBpdCBpbiByZXNpemUpCiAgI
CBpbnN0YW5jZS5maWxsQ29udGFpbmVyID0gZGF0YS5maWxsQ29udGFpbmVyOwoKICAgIHZhciBjZWxscyA9
IGRhdGEuZGF0YTsKCiAgICBpZiAoY2VsbHMgaW5zdGFuY2VvZiBBcnJheSkgY2VsbHMgPSB0cmFuc3Bvc2V
BcnJheTJEKGNlbGxzKTsKCiAgICAkZWwuYXBwZW5kKGRhdGEuY29udGFpbmVyKTsKICAgIHZhciAkdGFibG
UgPSAkZWwuZmluZCgndGFibGUnKTsKICAgIGlmIChkYXRhLmNsYXNzKSAkdGFibGUuYWRkQ2xhc3MoZGF0Y
S5jbGFzcyk7CiAgICBpZiAoZGF0YS5jYXB0aW9uKSAkdGFibGUucHJlcGVuZChkYXRhLmNhcHRpb24pOwoK
ICAgIGlmICghZGF0YS5zZWxlY3Rpb24pIGRhdGEuc2VsZWN0aW9uID0gewogICAgICBtb2RlOiAnbm9uZSc
sIHNlbGVjdGVkOiBudWxsLCB0YXJnZXQ6ICdyb3cnCiAgICB9OwogICAgaWYgKEhUTUxXaWRnZXRzLnNoaW
55TW9kZSAmJiBkYXRhLnNlbGVjdGlvbi5tb2RlICE9PSAnbm9uZScgJiYKICAgICAgICBkYXRhLnNlbGVjd
Glvbi50YXJnZXQgPT09ICdyb3crY29sdW1uJykgewogICAgICBpZiAoJHRhYmxlLmNoaWxkcmVuKCd0Zm9v
dCcpLmxlbmd0aCA9PT0gMCkgewogICAgICAgICR0YWJsZS5hcHBlbmQoJCgnPHRmb290PicpKTsKICAgICA
gICAkdGFibGUuZmluZCgndGhlYWQgdHInKS5jbG9uZSgpLmFwcGVuZFRvKCR0YWJsZS5maW5kKCd0Zm9vdC
cpKTsKICAgICAgfQogICAgfQoKICAgIC8vIGNvbHVtbiBmaWx0ZXJzCiAgICB2YXIgZmlsdGVyUm93OwogI
CAgc3dpdGNoIChkYXRhLmZpbHRlcikgewogICAgICBjYXNlICd0b3AnOgogICAgICAgICR0YWJsZS5jaGls
ZHJlbigndGhlYWQnKS5hcHBlbmQoZGF0YS5maWx0ZXJIVE1MKTsKICAgICAgICBmaWx0ZXJSb3cgPSAkdGF
ibGUuZmluZCgndGhlYWQgdHI6bGFzdCB0ZCcpOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlICdib3R0b2
0nOgogICAgICAgIGlmICgkdGFibGUuY2hpbGRyZW4oJ3Rmb290JykubGVuZ3RoID09PSAwKSB7CiAgICAgI
CAgICAkdGFibGUuYXBwZW5kKCQoJzx0Zm9vdD4nKSk7CiAgICAgICAgfQogICAgICAgICR0YWJsZS5jaGls
ZHJlbigndGZvb3QnKS5wcmVwZW5kKGRhdGEuZmlsdGVySFRNTCk7CiAgICAgICAgZmlsdGVyUm93ID0gJHR
hYmxlLmZpbmQoJ3Rmb290IHRyOmZpcnN0IHRkJyk7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgdmFyIG
9wdGlvbnMgPSB7IHNlYXJjaERlbGF5OiAxMDAwIH07CiAgICBpZiAoY2VsbHMgIT09IG51bGwpICQuZXh0Z
W5kKG9wdGlvbnMsIHsKICAgICAgZGF0YTogY2VsbHMKICAgIH0pOwoKICAgIC8vIG9wdGlvbnMgZm9yIGZp
bGxDb250YWluZXIKICAgIHZhciBib290c3RyYXBBY3RpdmUgPSB0eXBlb2YoJC5mbi5wb3BvdmVyKSAhPSA
ndW5kZWZpbmVkJzsKICAgIGlmIChpbnN0YW5jZS5maWxsQ29udGFpbmVyKSB7CgogICAgICAvLyBmb3JjZS
BzY3JvbGxYL3Njcm9sbFkgYW5kIHR1cm4gb2ZmIGF1dG9XaWR0aAogICAgICBvcHRpb25zLnNjcm9sbFggP
SB0cnVlOwogICAgICBvcHRpb25zLnNjcm9sbFkgPSAiMTAwcHgiOyAvLyBjYW4gYmUgYW55IHZhbHVlLCB3
ZSdsbCBhZGp1c3QgYmVsb3cKCiAgICAgIC8vIGlmIHdlIGFyZW4ndCBwYWdpbmF0aW5nIHRoZW4gbW92ZSB
hcm91bmQgdGhlIGluZm8vZmlsdGVyIGNvbnRyb2xzCiAgICAgIC8vIHRvIHNhdmUgc3BhY2UgYXQgdGhlIG
JvdHRvbSBhbmQgcmVwaHJhc2UgdGhlIGluZm8gY2FsbGJhY2sKICAgICAgaWYgKGRhdGEub3B0aW9ucy5iU
GFnaW5hdGUgPT09IGZhbHNlKSB7CgogICAgICAgIC8vIHdlIGtub3cgaG93IHRvIGRvIHRoaXMgY2xlYW5s
eSBmb3IgYm9vdHN0cmFwLCBub3Qgc28gbXVjaAogICAgICAgIC8vIGZvciBvdGhlciB0aGVtZXMvbGF5b3V
0cwogICAgICAgIGlmIChib290c3RyYXBBY3RpdmUpIHsKICAgICAgICAgIG9wdGlvbnMuZG9tID0gIjwncm
93JzwnY29sLXNtLTQnaT48J2NvbC1zbS04J2Y+PiIgKwogICAgICAgICAgICAgICAgICAgICAgICAiPCdyb
3cnPCdjb2wtc20tMTIndHI+PiI7CiAgICAgICAgfQoKICAgICAgICBvcHRpb25zLmZuSW5mb0NhbGxiYWNr
ID0gZnVuY3Rpb24ob1NldHRpbmdzLCBpU3RhcnQsIGlFbmQsCiAgICAgICAgICAgICAgICAgICAgICAgICA
gICAgICAgICAgICAgICAgICBpTWF4LCBpVG90YWwsIHNQcmUpIHsKICAgICAgICAgIHJldHVybiBOdW1iZX
IoaVRvdGFsKS50b0xvY2FsZVN0cmluZygpICsgIiByZWNvcmRzIjsKICAgICAgICB9OwogICAgICB9CiAgI
CB9CgogICAgLy8gYXV0byBoaWRlI
G5hdmlnYXRpb24gaWYgcmVxdWVzdGVkCiAgICBpZiAoZGF0YS5hdXRvSGlkZU5hdmlnYXRpb24gPT09IHRy
dWUpIHsKICAgICAgaWYgKGJvb3RzdHJhcEFjdGl2ZSAmJiBkYXRhLm9wdGlvbnMuYlBhZ2luYXRlICE9PSB
mYWxzZSkgewogICAgICAgIC8vIHN0cmlwIGFsbCBuYXYgaWYgbGVuZ3RoID49IGNlbGxzCiAgICAgICAgaW
YgKChjZWxscyBpbnN0YW5jZW9mIEFycmF5KSAmJiBkYXRhLm9wdGlvbnMuaURpc3BsYXlMZW5ndGggPj0gY
2VsbHMubGVuZ3RoKQogICAgICAgICAgb3B0aW9ucy5kb20gPSAiPCdyb3cnPCdjb2wtc20tMTIndHI+PiI7
CiAgICAgICAgLy8gYWx0ZXJuYXRpdmVseSBsZWFuIHRoaW5ncyBvdXQgZm9yIGZsZXhkYXNoYm9hcmQgbW9
iaWxlIHBvcnRyYWl0CiAgICAgICAgZWxzZSBpZiAod2luZG93LkZsZXhEYXNoYm9hcmQgJiYgd2luZG93Lk
ZsZXhEYXNoYm9hcmQuaXNNb2JpbGVQaG9uZSgpKQogICAgICAgICAgb3B0aW9ucy5kb20gPSAiPCdyb3cnP
Cdjb2wtc20tMTInZj4+IiArCiAgICAgICAgICAgICAgICAgICAgICAgICI8J3Jvdyc8J2NvbC1zbS0xMid0
cj4+IiAgKwogICAgICAgICAgICAgICAgICAgICAgICAiPCdyb3cnPCdjb2wtc20tMTIncD4+IjsKICAgICA
gfQogICAgfQoKICAgICQuZXh0ZW5kKHRydWUsIG9wdGlvbnMsIGRhdGEub3B0aW9ucyB8fCB7fSk7CgogIC
AgdmFyIHNlYXJjaENvbHMgPSBvcHRpb25zLnNlYXJjaENvbHM7CiAgICBpZiAoc2VhcmNoQ29scykgewogI
CAgICBzZWFyY2hDb2xzID0gc2VhcmNoQ29scy5tYXAoZnVuY3Rpb24oeCkgewogICAgICAgIHJldHVybiB4
ID09PSBudWxsID8gJycgOiB4LnNlYXJjaDsKICAgICAgfSk7CiAgICAgIC8vIEZJWE1FOiB0aGlzIG1lYW5
zIEkgZG9uJ3QgcmVzcGVjdCB0aGUgZXNjYXBlUmVnZXggc2V0dGluZwogICAgICBkZWxldGUgb3B0aW9ucy
5zZWFyY2hDb2xzOwogICAgfQoKICAgIC8vIHNlcnZlci1zaWRlIHByb2Nlc3Npbmc/
CiAgICB2YXIgc2VydmVyID0gb3B0aW9ucy5zZXJ2ZXJTaWRlID09PSB0cnVlOwoKICAgIC8vIHVzZSB0aGU
gZGF0YVNyYyBmdW5jdGlvbiB0byBwcmUtcHJvY2VzcyBKU09OIGRhdGEgcmV0dXJuZWQgZnJvbSBSCiAgIC
B2YXIgRFRfcm93c19hbGwgPSBbXSwgRFRfcm93c19jdXJyZW50ID0gW107CiAgICBpZiAoc2VydmVyICYmI
EhUTUxXaWRnZXRzLnNoaW55TW9kZSAmJiB0eXBlb2Ygb3B0aW9ucy5hamF4ID09PSAnb2JqZWN0JyAmJgog
ICAgICAgIC9ec2Vzc2lvblwvW1xkYS16XStcL2RhdGFvYmovLnRlc3Qob3B0aW9ucy5hamF4LnVybCkgJiY
gIW9wdGlvbnMuYWpheC5kYXRhU3JjKSB7CiAgICAgIG9wdGlvbnMuYWpheC5kYXRhU3JjID0gZnVuY3Rpb2
4oanNvbikgewogICAgICAgIERUX3Jvd3NfYWxsID0gJC5tYWtlQXJyYXkoanNvbi5EVF9yb3dzX2FsbCk7C
iAgICAgICAgRFRfcm93c19jdXJyZW50ID0gJC5tYWtlQXJyYXkoanNvbi5EVF9yb3dzX2N1cnJlbnQpOwog
ICAgICAgIHZhciBkYXRhID0ganNvbi5kYXRhOwogICAgICAgIGlmICghY29sUmVvcmRlckVuYWJsZWQoKSk
gcmV0dXJuIGRhdGE7CiAgICAgICAgdmFyIHRhYmxlID0gJHRhYmxlLkRhdGFUYWJsZSgpLCBvcmRlciA9IH
RhYmxlLmNvbFJlb3JkZXIub3JkZXIoKSwgZmxhZyA9IHRydWUsIGksIGosIHJvdzsKICAgICAgICBmb3IgK
GkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyArK2kpIGlmIChvcmRlcltpXSAhPT0gaSkgZmxhZyA9IGZhbHNl
OwogICAgICAgIGlmIChmbGFnKSByZXR1cm4gZGF0YTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwgZGF0YS5
sZW5ndGg7ICsraSkgewogICAgICAgICAgcm93ID0gZGF0YVtpXS5zbGljZSgpOwogICAgICAgICAgZm9yIC
hqID0gMDsgaiA8IG9yZGVyLmxlbmd0aDsgKytqKSBkYXRhW2ldW2pdID0gcm93W29yZGVyW2pdXTsKICAgI
CAgICB9CiAgICAgICAgcmV0dXJuIGRhdGE7CiAgICAgIH07CiAgICB9CgogICAgdmFyIHRoaXogPSB0aGlz
OwogICAgaWYgKGluc3RhbmNlLmZpbGxDb250YWluZXIpICR0YWJsZS5vbignaW5pdC5kdCcsIGZ1bmN0aW9
uKGUpIHsKICAgICAgdGhpei5maWxsQXZhaWxhYmxlSGVpZ2h0KGVsLCAkKGVsKS5pbm5lckhlaWdodCgpKT
sKICAgIH0pOwogICAgLy8gSWYgdGhlIHBhZ2UgY29udGFpbnMgc2VydmVyYWwgZGF0YXRhYmxlcyBhbmQgb
25lIG9mIHdoaWNoIGVuYWJsZXMgY29sUmVvcmRlciwKICAgIC8vIHRoZSB0YWJsZS5jb2xSZW9yZGVyLm9y
ZGVyKCkgZnVuY3Rpb24gd2lsbCBleGlzdCBidXQgdGhyb3dzIGVycm9yIHdoZW4gY2FsbGVkLgogICAgLy8
gU28gaXQgc2VlbXMgbGlrZSB0aGUgb25seSB3YXkgdG8ga25vdyBpZiBjb2xSZW9yZGVyIGlzIGVuYWJsZW
Qgb3Igbm90IGlzIHRvCiAgICAvLyBjaGVjayB0aGUgb3B0aW9ucy4KICAgIHZhciBjb2xSZW9yZGVyRW5hY
mxlZCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gImNvbFJlb3JkZXIiIGluIG9wdGlvbnM7IH07CiAgICB2YXIg
dGFibGUgPSAkdGFibGUuRGF0YVRhYmxlKG9wdGlvbnMpOwogICAgJGVsLmRhdGEoJ2RhdGF0YWJsZScsIHR
hYmxlKTsKCiAgICAvLyBVbnJlZ2lzdGVyIHByZXZpb3VzIENyb3NzdGFsayBldmVudCBzdWJzY3JpcHRpb2
5zLCBpZiB0aGV5IGV4aXN0CiAgICBpZiAoaW5zdGFuY2UuY3RmaWx0ZXJTdWJzY3JpcHRpb24pIHsKICAgI
CAgaW5zdGFuY2UuY3RmaWx0ZXJIYW5kbGUub2ZmKCJjaGFuZ2UiLCBpbnN0YW5jZS5jdGZpbHRlclN1YnNj
cmlwdGlvbik7CiAgICAgIGluc3RhbmNlLmN0ZmlsdGVyU3Vic2NyaXB0aW9uID0gbnVsbDsKICAgIH0KICA
gIGlmIChpbnN0YW5jZS5jdHNlbGVjdFN1YnNjcmlwdGlvbikgewogICAgICBpbnN0YW5jZS5jdHNlbGVjdE
hhbmRsZS5vZmYoImNoYW5nZSIsIGluc3RhbmNlLmN0c2VsZWN0U3Vic2NyaXB0aW9uKTsKICAgICAgaW5zd
GFuY2UuY3RzZWxlY3RTdWJzY3JpcHRpb24gPSBudWxsOwogICAgfQoKICAgIGlmICghY3Jvc3N0YWxrT3B0
aW9ucy5ncm91cCkgewogICAgICAkdGFibGVbMF0uY3RmaWx0ZXIgPSBudWxsOwogICAgICAkdGFibGVbMF0
uY3RzZWxlY3QgPSBudWxsOwogICAgfSBlbHNlIHsKICAgICAgdmFyIGtleSA9IGNyb3NzdGFsa09wdGlvbn
Mua2V5OwogICAgICBmdW5jdGlvbiBrZXlzVG9NYXRjaGVzKGtleXMpIHsKICAgICAgICBpZiAoIWtleXMpI
HsKICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXIgc2VsZWN0
ZWRLZXlzID0ge307CiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHs
KICAgICAgICAgICAgc2VsZWN0ZWRLZXlzW2tleXNbaV1dID0gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgIC
AgIHZhciBtYXRjaGVzID0ge307CiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGtleS5sZW5ndGg7I
GorKykgewogICAgICAgICAgICBpZiAoc2VsZWN0ZWRLZXlzW2tleVtqXV0pCiAgICAgICAgICAgICAgbWF0
Y2hlc1tqXSA9IHRydWU7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbWF0Y2hlczsKICAgICAgICB
9CiAgICAgIH0KCiAgICAgIGZ1bmN0aW9uIGFwcGx5Q3Jvc3N0YWxrRmlsdGVyKGUpIHsKICAgICAgICAkdG
FibGVbMF0uY3RmaWx0ZXIgPSBrZXlzVG9NYXRjaGVzKGUudmFsdWUpOwogICAgICAgIHRhYmxlLmRyYXcoK
TsKICAgICAgfQogICAgICBpbnN0YW5jZS5jdGZpbHRlclN1YnNjcmlwdGlvbiA9IGluc3RhbmNlLmN0Zmls
dGVySGFuZGxlLm9uKCJjaGFuZ2UiLCBhcHBseUNyb3NzdGFsa0ZpbHRlcik7CiAgICAgIGFwcGx5Q3Jvc3N
0YWxrRmlsdGVyKHt2YWx1ZTogaW5zdGFuY2UuY3RmaWx0ZXJIYW5kbGUuZmlsdGVyZWRLZXlzfSk7CgogIC
AgICBmdW5jdGlvbiBhcHBseUNyb3NzdGFsa1NlbGVjdGlvbihlKSB7CiAgICAgICAgaWYgKGUuc2VuZGVyI
CE9PSBpbnN0YW5jZS5jdHNlbGVjdEhhbmRsZSkgewogICAgICAgICAgdGFibGUKICAgICAgICAgICAgLnJv
d3MoJy4nICsgc2VsQ2xhc3MsIHtzZWFyY2g6ICdhcHBsaWVkJ30pCiAgICAgICAgICAgIC5ub2RlcygpCiA
gICAgICAgICAgIC50byQoKQogICAgICAgICAgICAucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgIC
AgaWYgKHNlbGVjdGVkUm93cykKICAgICAgICAgICAgY2hhbmdlSW5wdXQoJ3Jvd3Nfc2VsZWN0ZWQnLCBzZ
WxlY3RlZFJvd3MoKSwgdm9pZCAwLCB0cnVlKTsKICAgICAgICB9CgogICAgICAgIGlmIChlLnNlbmRlciAh
PT0gaW5zdGFuY2UuY3RzZWxlY3RIYW5kbGUgJiYgZS52YWx1ZSAmJiBlLnZhbHVlLmxlbmd0aCkgewogICA
gICAgICAgdmFyIG1hdGNoZXMgPSBrZXlzVG9NYXRjaGVzKGUudmFsdWUpOwoKICAgICAgICAgIC8vIHBlcn
Npc3RlbnQgc2VsZWN0aW9uIHdpdGggcGxvdGx5ICgmIGxlYWZsZXQpCiAgICAgICAgICB2YXIgY3RPcHRzI
D0gY3Jvc3N0YWxrLnZhcigicGxvdGx5Q3Jvc3N0YWxrT3B0cyIpLmdldCgpIHx8IHt9OwogICAgICAgICAg
aWYgKGN0T3B0cy5wZXJzaXN0ZW50ID09PSB0cnVlKSB7CiAgICAgICAgICAgIHZhciBtYXRjaGVzID0gJC5
leHRlbmQobWF0Y2hlcywgJHRhYmxlWzBdLmN0c2VsZWN0KTsKICAgICAgICAgIH0KCiAgICAgICAgICAkdG
FibGVbMF0uY3RzZWxlY3QgPSBtYXRjaGVzOwogICAgICAgICAgdGFibGUuZHJhdygpOwogICAgICAgIH0gZ
WxzZSB7CiAgICAgICAgICBpZiAoJHRhYmxlWzBdLmN0c2VsZWN0KSB7CiAgICAgICAgICAgICR0YWJsZVsw
XS5jdHNlbGVjdCA9IG51bGw7CiAgICAgICAgICAgIHRhYmxlLmRyYXcoKTsKICAgICAgICAgIH0KICAgICA
gICB9CiAgICAgIH0KICAgICAgaW5zdGFuY2UuY3RzZWxlY3RTdWJzY3JpcHRpb24gPSBpbnN0YW5jZS5jdH
NlbGVjdEhhbmRsZS5vbigiY2hhbmdlIiwgYXBwbHlDcm9zc3RhbGtTZWxlY3Rpb24pOwogICAgICAvLyBUT
0RPOiBUaGlzIG5leHQgbGluZSBkb2Vzbid0IHNlZW0gdG8gd29yayB3aGVuIHJlbmRlckRhdGFUYWJsZSBp
cyB1c2VkCiAgICAgIGFwcGx5Q3Jvc3N0YWxrU2VsZWN0aW9uKHt2YWx1ZTogaW5zdGFuY2UuY3RzZWxlY3R
IYW5kbGUudmFsdWV9KTsKICAgIH0KCiAgICB2YXIgaW5BcnJheSA9IGZ1bmN0aW9uKHZhbCwgYXJyYXkpIH
sKICAgICAgcmV0dXJuICQuaW5BcnJheSh2YWwsICQubWFrZUFycmF5KGFycmF5KSkgPiAtMTsKICAgIH07C
gogICAgLy8gZW5jb2RlICsgdG8gJTJCIHdoZW4gc2VhcmNoaW5nIGluIHRoZSB0YWJsZSBvbiBzZXJ2ZXIg
c2lkZSwgYmVjYXVzZQogICAgLy8gc2hpbnk6OnBhcnNlUXVlcnlTdHJpbmcoKSB0cmVhdHMgKyBhcyBzcGF
jZXMsIGFuZCBEYXRhVGFibGVzIGRvZXMgbm90CiAgICAvLyBlbmNvZGUgKyB0byAlMkIgKG9yICUgdG8gJT
I1KSB3aGVuIHNlbmRpbmcgdGhlIHJlcXVlc3QKICAgIHZhciBlbmNvZGVfcGx1cyA9IGZ1bmN0aW9uKHgpI
HsKICAgICAgcmV0dXJuIHNlcnZlciA/
IHgucmVwbGFjZSgvJS9nLCAnJTI1JykucmVwbGFjZSgvXCsvZywgJyUyQicpIDogeDsKICAgIH07CgogICA
gLy8gc2VhcmNoIHRoZSBpLXRoIGNvbHVtbgogICAgdmFyIHNlYXJjaENvbHVtbiA9IGZ1bmN0aW9uKGksIH
ZhbHVlKSB7CiAgICAgIHZhciByZWdleCA9IGZhbHNlLCBjaSA9IHRydWU7CiAgICAgIGlmIChvcHRpb25zL
nNlYXJjaCkgewogICAgICAgIHJlZ2V4ID0gb3B0aW9ucy5zZWFyY2gucmVnZXgsCiAgICAgICAgY2kgPSBv
cHRpb25zLnNlYXJjaC5jYXNlSW5zZW5zaXRpdmUgIT09IGZhbHNlOwogICAgICB9CiAgICAgIHJldHVybiB
0YWJsZS5jb2x1bW4oaSkuc2VhcmNoKGVuY29kZV9wbHVzKHZhbHVlKSwgcmVnZXgsICFyZWdleCwgY2kpOw
ogICAgfTsKCiAgICBpZiAoZGF0YS5maWx0ZXIgIT09ICdub25lJykgewoKICAgICAgZmlsdGVyUm93LmVhY
2goZnVuY3Rpb24oaSwgdGQpIHsKCiAgICAgICAgdmFyICR0ZCA9ICQodGQpLCB0eXBlID0gJHRkLmRhdGEo
J3R5cGUnKSwgZmlsdGVyOwogICAgICAgIHZhciAkaW5wdXQgPSAkdGQuY2hpbGRyZW4oJ2RpdicpLmZpcnN
0KCkuY2hpbGRyZW4oJ2lucHV0Jyk7CiAgICAgICAgJGlucHV0LnByb3AoJ2Rpc2FibGVkJywgIXRhYmxlLn
NldHRpbmdzKClbMF0uYW9Db2x1bW5zW2ldLmJTZWFyY2hhYmxlIHx8IHR5cGUgPT09ICdkaXNhYmxlZCcpO
wogICAgICAgICRpbnB1dC5vbignaW5wdXQgYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgJGlucHV0
Lm5leHQoJ3NwYW4nKS50b2dnbGUoQm9vbGVhbigkaW5wdXQudmFsKCkpKTsKICAgICAgICB9KTsKICAgICA
gICAvLyBCb290c3RyYXAgc2V0cyBwb2ludGVyLWV2ZW50cyB0byBub25lIGFuZCB3ZSB3b24ndCBiZSBhYm
xlIHRvIGNsaWNrCiAgICAgICAgLy8gdGhlIGNsZWFyIGJ1dHRvbgogICAgICAgICRpbnB1dC5uZXh0KCdzc
GFuJykuY3NzKCdwb2ludGVyLWV2ZW50cycsICdhdXRvJykuaGlkZSgpLmNsaWNrKGZ1bmN0aW9uKCkgewog
ICAgICAgICAgJCh0aGlzKS5oaWRlKCkucHJldignaW5wdXQnKS52YWwoJycpLnRyaWdnZXIoJ2lucHV0Jyk
uZm9jdXMoKTsKICAgICAgICB9KTsKICAgICAgICB2YXIgc2VhcmNoQ29sOyAgLy8gc2VhcmNoIHN0cmluZy
Bmb3IgdGhpcyBjb2x1bW4KICAgICAgICBpZiAoc2VhcmNoQ29scyAmJiBzZWFyY2hDb2xzW2ldKSB7CiAgI
CAgICAgICBzZWFyY2hDb2wgPSBzZWFyY2hDb2xzW2ldOwogICAgICAgICAgJGlucHV0LnZhbChzZWFyY2hD
b2wpLnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgICAgfQogICAgICAgIHZhciAkeCA9ICR0ZC5jaGlsZHJlbig
nZGl2JykubGFzdCgpOwoKICAgICAgICAvLyByZW1vdmUgdGhlIG92ZXJmbG93OiBoaWRkZW4gYXR0cmlidX
RlIG9mIHRoZSBzY3JvbGxIZWFkCiAgICAgICAgLy8gKG90aGVyd2lzZSB0aGUgc2Nyb2xsaW5nIHRhYmxlI
GJvZHkgb2JzY3VyZXMgdGhlIGZpbHRlcnMpCiAgICAgICAgLy8gVGhlIHdvcmthcm91bmQgYW5kIHRoZSBk
aXNjdXNzaW9uIGZyb20KICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9EVC9pc3N1ZXM
vNTU0I2lzc3VlY29tbWVudC01MTgwMDczNDcKICAgICAgICAvLyBPdGhlcndpc2UgdGhlIGZpbHRlciBzZW
xlY3Rpb24gd2lsbCBub3QgYmUgYW5jaG9yZWQgdG8gdGhlIHZhbHVlcwogICAgICAgIC8vIHdoZW4gdGhlI
GNvbHVtbnMgbnVtYmVyIGlzIG1hbnkgYW5kIHNjcm9sbFggaXMgZW5hYmxlZC4KICAgICAgICB2YXIgc2Ny
b2xsSGVhZCA9ICQoZWwpLmZpbmQoJy5kYXRhVGFibGVzX3Njcm9sbEhlYWQsLmRhdGFUYWJsZXNfc2Nyb2x
sRm9vdCcpOwogICAgICAgIHZhciBjc3NPdmVyZmxvd0hlYWQgPSBzY3JvbGxIZWFkLmNzcygnb3ZlcmZsb3
cnKTsKICAgICAgICB2YXIgc2Nyb2xsQm9keSA9ICQoZWwpLmZpbmQoJy5kYXRhVGFibGVzX3Njcm9sbEJvZ
HknKTsKICAgICAgICB2YXIgY3NzT3ZlcmZsb3dCb2R5ID0gc2Nyb2xsQm9keS5jc3MoJ292ZXJmbG93Jyk7
CiAgICAgICAgdmFyIHNjcm9sbFRhYmxlID0gJChlbCkuZmluZCgnLmRhdGFUYWJsZXNfc2Nyb2xsJyk7CiA
gICAgICAgdmFyIGNzc092ZXJm
bG93VGFibGUgPSBzY3JvbGxUYWJsZS5jc3MoJ292ZXJmbG93Jyk7CiAgICAgICAgaWYgKGNzc092ZXJmbG9
3SGVhZCA9PT0gJ2hpZGRlbicpIHsKICAgICAgICAgICR4Lm9uKCdzaG93IGhpZGUnLCBmdW5jdGlvbihlKS
B7CiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdzaG93JykgewogICAgICAgICAgICAgIHNjcm9sbEhlY
WQuY3NzKCdvdmVyZmxvdycsICd2aXNpYmxlJyk7CiAgICAgICAgICAgICAgc2Nyb2xsQm9keS5jc3MoJ292
ZXJmbG93JywgJ3Zpc2libGUnKTsKICAgICAgICAgICAgICBzY3JvbGxUYWJsZS5jc3MoJ292ZXJmbG93LXg
nLCAnc2Nyb2xsJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgc2Nyb2xsSGVhZC5jc3
MoJ292ZXJmbG93JywgY3NzT3ZlcmZsb3dIZWFkKTsKICAgICAgICAgICAgICBzY3JvbGxCb2R5LmNzcygnb
3ZlcmZsb3cnLCBjc3NPdmVyZmxvd0JvZHkpOwogICAgICAgICAgICAgIHNjcm9sbFRhYmxlLmNzcygnb3Zl
cmZsb3cteCcsIGNzc092ZXJmbG93VGFibGUpOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICA
gICAgICR4LmNzcygnei1pbmRleCcsIDI1KTsKICAgICAgICB9CgogICAgICAgIGlmIChpbkFycmF5KHR5cG
UsIFsnZmFjdG9yJywgJ2xvZ2ljYWwnXSkpIHsKICAgICAgICAgICRpbnB1dC5vbih7CiAgICAgICAgICAgI
GNsaWNrOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkaW5wdXQucGFyZW50KCkuaGlkZSgpOyAkeC5z
aG93KCkudHJpZ2dlcignc2hvdycpOyBmaWx0ZXJbMF0uc2VsZWN0aXplLmZvY3VzKCk7CiAgICAgICAgICA
gIH0sCiAgICAgICAgICAgIGlucHV0OiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBpZiAoJGlucHV0Ln
ZhbCgpID09PSAnJykgZmlsdGVyWzBdLnNlbGVjdGl6ZS5zZXRWYWx1ZShbXSk7CiAgICAgICAgICAgIH0KI
CAgICAgICAgIH0pOwogICAgICAgICAgdmFyICRpbnB1dDIgPSAkeC5jaGlsZHJlbignc2VsZWN0Jyk7CiAg
ICAgICAgICBmaWx0ZXIgPSAkaW5wdXQyLnNlbGVjdGl6ZSh7CiAgICAgICAgICAgIG9wdGlvbnM6ICRpbnB
1dDIuZGF0YSgnb3B0aW9ucycpLm1hcChmdW5jdGlvbih2LCBpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIC
h7dGV4dDogdiwgdmFsdWU6IHZ9KTsKICAgICAgICAgICAgfSksCiAgICAgICAgICAgIHBsdWdpbnM6IFsnc
mVtb3ZlX2J1dHRvbiddLAogICAgICAgICAgICBoaWRlU2VsZWN0ZWQ6IHRydWUsCiAgICAgICAgICAgIG9u
Q2hhbmdlOiBmdW5jdGlvbih2YWx1ZSkgewogICAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgdmF
sdWUgPSBbXTsgLy8gY29tcGF0aWJpbGl0eSB3aXRoIGpRdWVyeSAzLjAKICAgICAgICAgICAgICAkaW5wdX
QudmFsKHZhbHVlLmxlbmd0aCA/
IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6ICcnKTsKICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoKSA
kaW5wdXQudHJpZ2dlcignaW5wdXQnKTsKICAgICAgICAgICAgICAkaW5wdXQuYXR0cigndGl0bGUnLCAkaW
5wdXQudmFsKCkpOwogICAgICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgICAgIHRhYmxlL
mNvbHVtbihpKS5zZWFyY2godmFsdWUubGVuZ3RoID8gZW5jb2RlX3BsdXMoSlNPTi5zdHJpbmdpZnkodmFs
dWUpKSA6ICcnKS5kcmF3KCk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgfQogICA
gICAgICAgICAgIC8vIHR1cm4gb2ZmIGZpbHRlciBpZiBub3RoaW5nIHNlbGVjdGVkCiAgICAgICAgICAgIC
AgJHRkLmRhdGEoJ2ZpbHRlcicsIHZhbHVlLmxlbmd0aCA+IDApOwogICAgICAgICAgICAgIHRhYmxlLmRyY
XcoKTsgIC8vIHJlZHJhdyB0YWJsZSwgYW5kIGZpbHRlcnMgd2lsbCBiZSBhcHBsaWVkCiAgICAgICAgICAg
IH0KICAgICAgICAgIH0pOwogICAgICAgICAgaWYgKHNlYXJjaENvbCkgZmlsdGVyWzBdLnNlbGVjdGl6ZS5
zZXRWYWx1ZShKU09OLnBhcnNlKHNlYXJjaENvbCkpOwogICAgICAgICAgZmlsdGVyWzBdLnNlbGVjdGl6ZS
5vbignYmx1cicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAkeC5oaWRlKCkudHJpZ2dlcignaGlkZScpO
yAkaW5wdXQucGFyZW50KCkuc2hvdygpOyAkaW5wdXQudHJpZ2dlcignYmx1cicpOwogICAgICAgICAgfSk7
CiAgICAgICAgICBmaWx0ZXIubmV4dCgnZGl2JykuY3NzKCdtYXJnaW4tYm90dG9tJywgJ2F1dG8nKTsKICA
gICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdjaGFyYWN0ZXInKSB7CiAgICAgICAgICB2YXIgZnVuID0gZn
VuY3Rpb24oKSB7CiAgICAgICAgICAgIHNlYXJjaENvbHVtbihpLCAkaW5wdXQudmFsKCkpLmRyYXcoKTsKI
CAgICAgICAgIH07CiAgICAgICAgICBpZiAoc2VydmVyKSB7CiAgICAgICAgICAgIGZ1biA9ICQuZm4uZGF0
YVRhYmxlLnV0aWwudGhyb3R0bGUoZnVuLCBvcHRpb25zLnNlYXJjaERlbGF5KTsKICAgICAgICAgIH0KICA
gICAgICAgICRpbnB1dC5vbignaW5wdXQnLCBmdW4pOwogICAgICAgIH0gZWxzZSBpZiAoaW5BcnJheSh0eX
BlLCBbJ251bWJlcicsICdpbnRlZ2VyJywgJ2RhdGUnLCAndGltZSddKSkgewogICAgICAgICAgdmFyICR4M
CA9ICR4OwogICAgICAgICAgJHggPSAkeDAuY2hpbGRyZW4oJ2RpdicpLmZpcnN0KCk7CiAgICAgICAgICAk
eDAuY3NzKHsKICAgICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2ZmZicsCiAgICAgICAgICAgICd
ib3JkZXInOiAnMXB4ICNkZGQgc29saWQnLAogICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLA
ogICAgICAgICAgICAncGFkZGluZyc6ICcyMHB4IDIwcHggMTBweCAyMHB4JwogICAgICAgICAgfSk7CiAgI
CAgICAgICB2YXIgJHNwYW5zID0gJHgwLmNoaWxkcmVuKCdzcGFuJykuY3NzKHsKICAgICAgICAgICAgJ21h
cmdpbi10b3AnOiAnMTBweCcsCiAgICAgICAgICAgICd3aGl0ZS1zcGFjZSc6ICdub3dyYXAnCiAgICAgICA
gICB9KTsKICAgICAgICAgIHZhciAkc3BhbjEgPSAkc3BhbnMuZmlyc3QoKSwgJHNwYW4yID0gJHNwYW5zLm
xhc3QoKTsKICAgICAgICAgIHZhciByMSA9ICskeC5kYXRhKCdtaW4nKSwgcjIgPSArJHguZGF0YSgnbWF4J
yk7CiAgICAgICAgICAvLyB3aGVuIHRoZSBudW1iZXJzIGFyZSB0b28gc21hbGwgb3IgaGF2ZSBtYW55IGRl
Y2ltYWwgcGxhY2VzLCB0aGUKICAgICAgICAgIC8vIHNsaWRlciBtYXkgaGF2ZSBudW1lcmljIHByZWNpc2l
vbiBwcm9ibGVtcyAoIzE1MCkKICAgICAgICAgIHZhciBzY2FsZSA9IE1hdGgucG93KDEwLCBNYXRoLm1heC
gwLCArJHguZGF0YSgnc2NhbGUnKSB8fCAwKSk7CiAgICAgICAgICByMSA9IE1hdGgucm91bmQocjEgKiBzY
2FsZSk7IHIyID0gTWF0aC5yb3VuZChyMiAqIHNjYWxlKTsKICAgICAgICAgIHZhciBzY2FsZUJhY2sgPSBm
dW5jdGlvbih4LCBzY2FsZSkgewogICAgICAgICAgICBpZiAoc2NhbGUgPT09IDEpIHJldHVybiB4OwogICA
gICAgICAgICB2YXIgZCA9IE1hdGgucm91bmQoTWF0aC5sb2coc2NhbGUpIC8gTWF0aC5sb2coMTApKTsKIC
AgICAgICAgICAgLy8gdG8gYXZvaWQgcHJvYmxlbXMgbGlrZSAzLjQyMy8xMDAgLT4gMC4wMzQyMzAwMDAwM
DAwMDAwMDMKICAgICAgICAgICAgcmV0dXJuICh4IC8gc2NhbGUpLnRvRml4ZWQoZCk7CiAgICAgICAgICB9
OwogICAgICAgICAgJGlucHV0Lm9uKHsKICAgICAgICAgICAgZm9jdXM6IGZ1bmN0aW9uKCkgewogICAgICA
gICAgICAgICR4MC5zaG93KCkudHJpZ2dlcignc2hvdycpOwogICAgICAgICAgICAgIC8vIGZpcnN0LCBtYW
tlIHN1cmUgdGhlIHNsaWRlciBkaXYgbGVhdmVzIGF0IGxlYXN0IDIwcHggYmV0d2VlbgogICAgICAgICAgI
CAgIC8vIHRoZSB0d28gKHNsaWRlciB2YWx1ZSkgc3BhbidzCiAgICAgICAgICAgICAgJHgwLndpZHRoKE1h
dGgubWF4KDE2MCwgJHNwYW4xLm91dGVyV2lkdGgoKSArICRzcGFuMi5vdXRlcldpZHRoKCkgKyAyMCkpOwo
gICAgICAgICAgICAgIC8vIHRoZW4sIGlmIHRoZSBpbnB1dCBpcyByZWFsbHkgd2lkZSwgbWFrZSB0aGUgc2
xpZGVyIHRoZSBzYW1lCiAgICAgICAgICAgICAgLy8gd2lkdGggYXMgdGhlIGlucHV0CiAgICAgICAgICAgI
CAgaWYgKCR4MC5vdXRlcldpZHRoKCkgPCAkaW5wdXQub3V0ZXJXaWR0aCgpKSB7CiAgICAgICAgICAgICAg
ICAkeDAub3V0ZXJXaWR0aCgkaW5wdXQub3V0ZXJXaWR0aCgpKTsKICAgICAgICAgICAgICB9CiAgICAgICA
gICAgICAgLy8gbWFrZSBzdXJlIHRoZSBzbGlkZXIgZGl2IGRvZXMgbm90IHJlYWNoIGJleW9uZCB0aGUgcm
lnaHQgbWFyZ2luCiAgICAgICAgICAgICAgaWYgKCQod2luZG93KS53aWR0aCgpIDwgJHgwLm9mZnNldCgpL
mxlZnQgKyAkeDAud2lkdGgoKSkgewogICAgICAgICAgICAgICAgJHgwLm9mZnNldCh7CiAgICAgICAgICAg
ICAgICAgICdsZWZ0JzogJGlucHV0Lm9mZnNldCgpLmxlZnQgKyAkaW5wdXQub3V0ZXJXaWR0aCgpIC0gJHg
wLm91dGVyV2lkdGgoKQogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgIC
B9LAogICAgICAgICAgICBibHVyOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAkeDAuaGlkZSgpLnRya
WdnZXIoJ2hpZGUnKTsKICAgICAgICAgICAgfSwKICAgICAgICAgICAgaW5wdXQ6IGZ1bmN0aW9uKCkgewog
ICAgICAgICAgICAgIGlmICgkaW5wdXQudmFsKCkgPT09ICcnKSBmaWx0ZXIudmFsKFtyMSwgcjJdKTsKICA
gICAgICAgICAgfSwKICAgICAgICAgICAgY2hhbmdlOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB2YX
IgdiA9ICRpbnB1dC52YWwoKS5yZXBsYWNlKC9ccy9nLCAnJyk7CiAgICAgICAgICAgICAgaWYgKHYgPT09I
CcnKSByZXR1cm47CiAgICAgICAgICAgICAgdiA9IHYuc3BsaXQoJy4uLicpOwogICAgICAgICAgICAgIGlm
ICh2Lmxlbmd0aCAhPT0gMikgewogICAgICAgICAgICAgICAgJGlucHV0LnBhcmVudCgpLmFkZENsYXNzKCd
oYXMtZXJyb3InKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICB9CiAgICAgICAgIC
AgICAgaWYgKHZbMF0gPT09ICcnKSB2WzBdID0gcjE7CiAgICAgICAgICAgICAgaWYgKHZbMV0gPT09ICcnK
SB2WzFdID0gcjI7CiAgICAgICAgICAgICAgJGlucHV0LnBhcmVudCgpLnJlbW92ZUNsYXNzKCdoYXMtZXJy
b3InKTsKICAgICAgICAgICAgICAvLyB0cmVhdCBkYXRlIGFzIFVUQyB0aW1lIGF0IG1pZG5pZ2h0CiAgICA
gICAgICAgICAgdmFyIHN0clRpbWUgPSBmdW5jdGlvbih4KSB7CiAgICAgICAgICAgICAgICB2YXIgcyA9IH
R5cGUgPT09ICdkYXRlJyA/
ICdUMDA6MDA6MDBaJyA6ICcnOwogICAgICAgICAgICAgICAgdmFyIHQgPSBuZXcgRGF0ZSh4ICsgcykuZ2V
0VGltZSgpOwogICAgICAgICAgICAgICAgLy8gYWRkIDEwIG1pbnV0ZXMgdG8gZGF0ZSBzaW5jZSBpdCBkb2
VzIG5vdCBodXJ0IHRoZSBkYXRlLCBhbmQKICAgICAgICAgICAgICAgIC8vIGl0IGhlbHBzIGF2b2lkIHRoZ
SB0cmlja3kgZmxvYXRpbmcgcG9pbnQgYXJpdGhtZXRpYyBwcm9ibGVtcywKICAgICAgICAgICAgICAgIC8v
IGUuZy4gc29tZXRpbWVzIHRoZSBkYXRlIG1heSBiZSBhIGZldyBtaWxsaXNlY29uZHMgZWFybGllcgogICA
gICAgICAgICAgICAgLy8gdGhhbiB0aGUgbWlkbmlnaHQgZHVlIHRvIHByZWNpc2lvbiBwcm9ibGVtcyBpbi
Bub1VpU2xpZGVyCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PT0gJ2RhdGUnID8gdCArIDM2MDAwM
DAgOiB0OwogICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgaWYgKGluQXJyYXkodHlwZSwgWydkYXRl
JywgJ3RpbWUnXSkpIHsKICAgICAgICAgICAgICAgIHZbMF0gPSBzdHJUaW1lKHZbMF0pOwogICAgICAgICA
gICAgICAgdlsxXSA9IHN0clRpbWUodlsxXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGlmIC
h2WzBdICE9IHIxKSB2WzBdICo9IHNjYWxlOwogICAgICAgICAgICAgIGlmICh2WzFdICE9IHIyKSB2WzFdI
Co9IHNjYWxlOwogICAgICAgICAgICAgIGZpbHRlci52YWwodik7CiAgICAgICAgICAgIH0KICAgICAgICAg
IH0pOwogICAgICAgICAgdmFyIGZvcm1hdERhdGUgPSBmdW5jdGlvbihkLCBpc29GbXQpIHsKICAgICAgICA
gICAgZCA9IHNjYWxlQmFjayhkLCBzY2FsZSk7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnbnVtYmVyJy
kgcmV0dXJuIGQ7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnaW50ZWdlcicpIHJldHVybiBwYXJzZUlud
ChkKTsKICAgICAgICAgICAgdmFyIHggPSBuZXcgRGF0ZSgrZCk7CiAgICAgICAgICAgIHZhciBmbXQgPSAo
J2ZpbHRlckRhdGVGbXQnIGluIGRhdGEpID8gZGF0YS5maWx0ZXJEYXRlRm10W2ldIDogdW5kZWZpbmVkOwo
gICAgICAgICAgICBpZiAoZm10ICE9PSB1bmRlZmluZWQgJiYgaXNvRm10ID09PSBmYWxzZSkgcmV0dXJuIH
hbZm10Lm1ldGhvZF0uYXBwbHkoeCwgZm10LnBhcmFtcyk7CiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZ
GF0ZScpIHsKICAgICAgICAgICAgICB2YXIgcGFkMCA9IGZ1bmN0aW9uKHgpIHsKICAgICAgICAgICAgICAg
IHJldHVybiAoJzAnICsgeCkuc3Vic3RyKC0yLCAyKTsKICAgICAgICAgICAgICB9OwogICAgICAgICAgICA
gIHJldHVybiB4LmdldFVUQ0Z1bGxZZWFyKCkgKyAnLScgKyBwYWQwKDEgKyB4LmdldFVUQ01vbnRoKCkpCi
AgICAgICAgICAgICAgICAgICAgICArICctJyArIHBhZDAoeC5nZXRVVENEYXRlKCkpOwogICAgICAgICAgI
CB9IGVsc2UgewogICAgICAgICAgICAgIHJldHVybiB4LnRvSVNPU3RyaW5nKCk7CiAgICAgICAgICAgIH0K
ICAgICAgICAgIH07CiAgICAgICAgICB2YXIgb3B0cyA9IHR5cGUgPT09ICdkYXRlJyA/
IHsgc3RlcDogNjAgKiA2MCAqIDEwMDAgfSA6CiAgICAgICAgICAgICAgICAgICAgIHR5cGUgPT09ICdpbnR
lZ2VyJyA/
IHsgc3RlcDogMSB9IDoge307CiAgICAgICAgICBmaWx0ZXIgPSAkeC5ub1VpU2xpZGVyKCQuZXh0ZW5kKHs
KICAgICAgICAgICAgc3RhcnQ6IFtyMSwgcjJdLAogICAgICAgICAgICByYW5nZToge21pbjogcjEsIG1heD
ogcjJ9LAogICAgICAgICAgICBjb25uZWN0OiB0cnVlCiAgICAgICAgICB9LCBvcHRzKSk7CiAgICAgICAgI
CBpZiAoc2NhbGUgPiAxKSAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciB0MSA9IHIxLCB0MiA9IHIy
OwogICAgICAgICAgICB2YXIgdmFsID0gZmlsdGVyLnZhbCgpOwogICAgICAgICAgICB3aGlsZSAodmFsWzB
dID4gcjEgfHwgdmFsWzFdIDwgcjIpIHsKICAgICAgICAgICAgICBpZiAodmFsWzBdID4gcjEpIHsKICAgIC
AgICAgICAgICAgIHQxIC09IHZhbFswXSAtIHIxOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBpZ
iAodmFsWzFdIDwgcjIpIHsKICAgICAgICAgICAgICAgIHQyICs9IHIyIC0gdmFsWzFdOwogICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICBmaWx0ZXIgPSAkeC5ub1VpU2xpZGVyKCQuZXh0ZW5kKHsKICAgICAgICA
gICAgICAgIHN0YXJ0OiBbdDEsIHQyXSwKICAgICAgICAgICAgICAgIHJhbmdlOiB7bWluOiB0MSwgbWF
4OiB0Mn0sCiAgICAgICAgICAgICAgICBjb25uZWN0OiB0cnVlCiAgICAgICAgICAgICAgfSwgb3B0cyksIH
RydWUpOwogICAgICAgICAgICAgIHZhbCA9IGZpbHRlci52YWwoKTsKICAgICAgICAgICAgfQogICAgICAgI
CAgICByMSAgPSB0MTsgcjIgPSB0MjsKICAgICAgICAgIH0pKCk7CiAgICAgICAgICB2YXIgdXBkYXRlU2xp
ZGVyVGV4dCA9IGZ1bmN0aW9uKHYxLCB2MikgewogICAgICAgICAgICAkc3BhbjEudGV4dChmb3JtYXREYXR
lKHYxLCBmYWxzZSkpOyAkc3BhbjIudGV4dChmb3JtYXREYXRlKHYyLCBmYWxzZSkpOwogICAgICAgICAgfT
sKICAgICAgICAgIHVwZGF0ZVNsaWRlclRleHQocjEsIHIyKTsKICAgICAgICAgIHZhciB1cGRhdGVTbGlkZ
XIgPSBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciB2YWwgPSBmaWx0ZXIudmFsKCk7CiAgICAgICAg
ICAgIC8vIHR1cm4gb2ZmIGZpbHRlciBpZiBpbiBmdWxsIHJhbmdlCiAgICAgICAgICAgICR0ZC5kYXRhKCd
maWx0ZXInLCB2YWxbMF0gPiByMSB8fCB2YWxbMV0gPCByMik7CiAgICAgICAgICAgIHZhciB2MSA9IGZvcm
1hdERhdGUodmFsWzBdKSwgdjIgPSBmb3JtYXREYXRlKHZhbFsxXSksIGl2YWw7CiAgICAgICAgICAgIGlmI
CgkdGQuZGF0YSgnZmlsdGVyJykpIHsKICAgICAgICAgICAgICBpdmFsID0gdjEgKyAnIC4uLiAnICsgdjI7
CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJywgaXZhbCkudmFsKGl2YWwpLnRyaWdnZXIoJ2l
ucHV0Jyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgJGlucHV0LmF0dHIoJ3RpdGxlJy
wgJycpLnZhbCgnJyk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdXBkYXRlU2xpZGVyVGV4dCh2YWxbM
F0sIHZhbFsxXSk7CiAgICAgICAgICAgIGlmIChlLnR5cGUgPT09ICdzbGlkZScpIHJldHVybjsgIC8vIG5v
IHNlYXJjaGluZyB3aGVuIHNsaWRpbmcgb25seQogICAgICAgICAgICBpZiAoc2VydmVyKSB7CiAgICAgICA
gICAgICAgdGFibGUuY29sdW1uKGkpLnNlYXJjaCgkdGQuZGF0YSgnZmlsdGVyJykgPyBpdmFsIDogJycpLm
RyYXcoKTsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdGFibGUuZ
HJhdygpOwogICAgICAgICAgfTsKICAgICAgICAgIGZpbHRlci5vbih7CiAgICAgICAgICAgIHNldDogdXBk
YXRlU2xpZGVyLAogICAgICAgICAgICBzbGlkZTogdXBkYXRlU2xpZGVyCiAgICAgICAgICB9KTsKICAgICA
gICB9CgogICAgICAgIC8vIHNlcnZlci1zaWRlIHByb2Nlc3Npbmcgd2lsbCBiZSBoYW5kbGVkIGJ5IFIgKG
9yIHdoYXRldmVyIHNlcnZlcgogICAgICAgIC8vIGxhbmd1YWdlIHlvdSB1c2UpOyB0aGUgZm9sbG93aW5nI
GNvZGUgaXMgb25seSBuZWVkZWQgZm9yIGNsaWVudC1zaWRlCiAgICAgICAgLy8gcHJvY2Vzc2luZwogICAg
ICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgIC8vIGlmIGEgc2VhcmNoIHN0cmluZyBoYXMgYmVlbiBwcmU
tc2V0LCBzZWFyY2ggbm93CiAgICAgICAgICBpZiAoc2VhcmNoQ29sKSBzZWFyY2hDb2x1bW4oaSwgc2Vhcm
NoQ29sKS5kcmF3KCk7CiAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICB2YXIgY3VzdG9tR
mlsdGVyID0gZnVuY3Rpb24oc2V0dGluZ3MsIGRhdGEsIGRhdGFJbmRleCkgewogICAgICAgICAgLy8gdGhl
cmUgaXMgbm8gd2F5IHRvIGF0dGFjaCBhIHNlYXJjaCBmdW5jdGlvbiB0byBhIHNwZWNpZmljIHRhYmxlLAo
gICAgICAgICAgLy8gYW5kIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGEgZ2xvYmFsIHNlYXJjaCBmdW5jdGlvbi
BpcyBub3QgYXBwbGllZCB0bwogICAgICAgICAgLy8gYWxsIHRhYmxlcyAoaS5lLiBhIHJhbmdlIGZpbHRlc
iBpbiBhIHByZXZpb3VzIHRhYmxlIHNob3VsZCBub3QgYmUKICAgICAgICAgIC8vIGFwcGxpZWQgdG8gdGhl
IGN1cnJlbnQgdGFibGUpOyB3ZSB1c2UgdGhlIHNldHRpbmdzIG9iamVjdCB0bwogICAgICAgICAgLy8gZGV
0ZXJtaW5lIGlmIHdlIHdhbnQgdG8gcGVyZm9ybSBzZWFyY2hpbmcgb24gdGhlIGN1cnJlbnQgdGFibGUsCi
AgICAgICAgICAvLyBzaW5jZSBzZXR0aW5ncy5zVGFibGVJZCB3aWxsIGJlIGRpZmZlcmVudCB0byBkaWZmZ
XJlbnQgdGFibGVzCiAgICAgICAgICBpZiAodGFibGUuc2V0dGluZ3MoKVswXSAhPT0gc2V0dGluZ3MpIHJl
dHVybiB0cnVlOwogICAgICAgICAgLy8gbm8gZmlsdGVyIG9uIHRoaXMgY29sdW1uIG9yIG5vIG5lZWQgdG8
gZmlsdGVyIHRoaXMgY29sdW1uCiAgICAgICAgICBpZiAodHlwZW9mIGZpbHRlciA9PT0gJ3VuZGVmaW5lZC
cgfHwgISR0ZC5kYXRhKCdmaWx0ZXInKSkgcmV0dXJuIHRydWU7CgogICAgICAgICAgdmFyIHIgPSBmaWx0Z
XIudmFsKCksIHYsIHIwLCByMTsKICAgICAgICAgIHZhciBpX2RhdGEgPSBmdW5jdGlvbihpKSB7CiAgICAg
ICAgICAgIGlmICghY29sUmVvcmRlckVuYWJsZWQoKSkgcmV0dXJuIGk7CiAgICAgICAgICAgIHZhciBvcmR
lciA9IHRhYmxlLmNvbFJlb3JkZXIub3JkZXIoKSwgazsKICAgICAgICAgICAgZm9yIChrID0gMDsgayA8IG
9yZGVyLmxlbmd0aDsgKytrKSBpZiAob3JkZXJba10gPT09IGkpIHJldHVybiBrOwogICAgICAgICAgICByZ
XR1cm4gaTsgLy8gaW4gdGhlb3J5IGl0IHdpbGwgbmV2ZXIgYmUgaGVyZS4uLgogICAgICAgICAgfQogICAg
ICAgICAgdiA9IGRhdGFbaV9kYXRhKGkpXTsKICAgICAgICAgIGlmICh0eXBlID09PSAnbnVtYmVyJyB8fCB
0eXBlID09PSAnaW50ZWdlcicpIHsKICAgICAgICAgICAgdiA9IHBhcnNlRmxvYXQodik7CiAgICAgICAgIC
AgIC8vIGhvdyB0byBoYW5kbGUgTmFOPyBjdXJyZW50bHkgZXhjbHVkZSB0aGVzZSByb3dzCiAgICAgICAgI
CAgIGlmIChpc05hTih2KSkgcmV0dXJuKGZhbHNlKTsKICAgICAgICAgICAgcjAgPSBwYXJzZUZsb2F0KHNj
YWxlQmFjayhyWzBdLCBzY2FsZSkpCiAgICAgICAgICAgIHIxID0gcGFyc2VGbG9hdChzY2FsZUJhY2socls
xXSwgc2NhbGUpKTsKICAgICAgICAgICAgaWYgKHYgPj0gcjAgJiYgdiA8PSByMSkgcmV0dXJuIHRydWU7Ci
AgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdkYXRlJyB8fCB0eXBlID09PSAndGltZScpIHsKICAgI
CAgICAgICAgdiA9IG5ldyBEYXRlKHYpOwogICAgICAgICAgICByMCA9IG5ldyBEYXRlKHJbMF0gLyBzY2Fs
ZSk7IHIxID0gbmV3IERhdGUoclsxXSAvIHNjYWxlKTsKICAgICAgICAgICAgaWYgKHYgPj0gcjAgJiYgdiA
8PSByMSkgcmV0dXJuIHRydWU7CiAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmYWN0b3InKSB7Ci
AgICAgICAgICAgIGlmIChyLmxlbmd0aCA9PT0gMCB8fCBpbkFycmF5KHYsIHIpKSByZXR1cm4gdHJ1ZTsKI
CAgICAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ2xvZ2ljYWwnKSB7CiAgICAgICAgICAgIGlmIChyLmxl
bmd0aCA9PT0gMCkgcmV0dXJuIHRydWU7CiAgICAgICAgICAgIGlmIChpbkFycmF5KHYgPT09ICcnID8gJ25
hJyA6IHYsIHIpKSByZXR1cm4gdHJ1ZTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiBmYWxzZTsKIC
AgICAgICB9OwoKICAgICAgICAkLmZuLmRhdGFUYWJsZS5leHQuc2VhcmNoLnB1c2goY3VzdG9tRmlsdGVyK
TsKCiAgICAgICAgLy8gc2VhcmNoIGZvciB0aGUgcHJlc2V0IHNlYXJjaCBzdHJpbmdzIGlmIGl0IGlzIG5v
bi1lbXB0eQogICAgICAgIGlmIChzZWFyY2hDb2wpIHsKICAgICAgICAgIGlmIChpbkFycmF5KHR5cGUsIFs
nZmFjdG9yJywgJ2xvZ2ljYWwnXSkpIHsKICAgICAgICAgICAgZmlsdGVyWzBdLnNlbGVjdGl6ZS5zZXRWYW
x1ZShKU09OLnBhcnNlKHNlYXJjaENvbCkpOwogICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSAnY2hhc
mFjdGVyJykgewogICAgICAgICAgICAkaW5wdXQudHJpZ2dlcignaW5wdXQnKTsKICAgICAgICAgIH0gZWxz
ZSBpZiAoaW5BcnJheSh0eXBlLCBbJ251bWJlcicsICdpbnRlZ2VyJywgJ2RhdGUnLCAndGltZSddKSkgewo
gICAgICAgICAgICAkaW5wdXQudHJpZ2dlcignY2hhbmdlJyk7CiAgICAgICAgICB9CiAgICAgICAgfQoKIC
AgICAgfSk7CgogICAgfQoKICAgIC8vIGhpZ2hsaWdodCBzZWFyY2gga2V5d29yZHMKICAgIHZhciBoaWdob
GlnaHQgPSBmdW5jdGlvbigpIHsKICAgICAgdmFyIGJvZHkgPSAkKHRhYmxlLnRhYmxlKCkuYm9keSgpKTsK
ICAgICAgLy8gcmVtb3ZpbmcgdGhlIG9sZCBoaWdobGlnaHRpbmcgZmlyc3QKICAgICAgYm9keS51bmhpZ2h
saWdodCgpOwoKICAgICAgLy8gZG9uJ3QgaGlnaGxpZ2h0IHRoZSAibm90IGZvdW5kIiByb3csIHNvIHdlIG
dldCB0aGUgcm93cyB1c2luZyB0aGUgYXBpCiAgICAgIGlmICh0YWJsZS5yb3dzKHsgZmlsdGVyOiAnYXBwb
GllZCcgfSkuZGF0YSgpLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwogICAgICAvLyBoaWdobGlnaHQgZ2xvYmFs
IHNlYXJjaCBrZXl3b3JkcwogICAgICBib2R5LmhpZ2hsaWdodCgkLnRyaW0odGFibGUuc2VhcmNoKCkpLnN
wbGl0KC9ccysvKSk7CiAgICAgIC8vIHRoZW4gaGlnaGxpZ2h0IGtleXdvcmRzIGZyb20gaW5kaXZpZHVhbC
Bjb2x1bW4gZmlsdGVycwogICAgICBpZiAoZmlsdGVyUm93KSBmaWx0ZXJSb3cuZWFjaChmdW5jdGlvbihpL
CB0ZCkgewogICAgICAgIHZhciAkdGQgPSAkKHRkKSwgdHlwZSA9ICR0ZC5kYXRhKCd0eXBlJyk7CiAgICAg
ICAgaWYgKHR5cGUgIT09ICdjaGFyYWN0ZXInKSByZXR1cm47CiAgICAgICAgdmFyICRpbnB1dCA9ICR0ZC5
jaGlsZHJlbignZGl2JykuZmlyc3QoKS5jaGlsZHJlbignaW5wdXQnKTsKICAgICAgICB2YXIgY29sdW1uID
0gdGFibGUuY29sdW1uKGkpLm5vZGVzKCkudG8kKCksCiAgICAgICAgICAgIHZhbCA9ICQudHJpbSgkaW5wd
XQudmFsKCkpOwogICAgICAgIGlmICh0eXBlICE9PSAnY2hhcmFjdGVyJyB8fCB2YWwgPT09ICcnKSByZXR1
cm47CiAgICAgICAgY29sdW1uLmhpZ2hsaWdodCh2YWwuc3BsaXQoL1xzKy8pKTsKICAgICAgfSk7CiAgICB
9OwoKICAgIGlmIChvcHRpb25zLnNlYXJjaEhpZ2hsaWdodCkgewogICAgICB0YWJsZQogICAgICAub24oJ2
RyYXcuZHQuZHRoIGNvbHVtbi12aXNpYmlsaXR5LmR0LmR0aCBjb2x1bW4tcmVvcmRlci5kdC5kdGgnLCBoa
WdobGlnaHQpCiAgICAgIC5vbignZGVzdHJveScsIGZ1bmN0aW9uKCkgewogICAgICAgIC8vIHJlbW92ZSBl
dmVudCBoYW5kbGVyCiAgICAgICAgdGFibGUub2ZmKCdkcmF3LmR0LmR0aCBjb2x1bW4tdmlzaWJpbGl0eS5
kdC5kdGggY29sdW1uLXJlb3JkZXIuZHQuZHRoJyk7CiAgICAgIH0pOwoKICAgICAgLy8gU2V0IHRoZSBvcH
Rpb24gZm9yIGVzY2FwaW5nIHJlZ2V4IGNoYXJhY3RlcnMgaW4gb3VyIHNlYXJjaCBzdHJpbmcuICBUaGlzI
HdpbGwgYmUgdXNlZAogICAgICAvLyBmb3IgYWxsIGZ1dHVyZSBtYXRjaGluZy4KICAgICAgalF1ZXJ5LmZu
LmhpZ2hsaWdodC5vcHRpb25zLmVzY2FwZVJlZ2V4ID0gKCFvcHRpb25zLnNlYXJjaCB8fCAhb3B0aW9ucy5
zZWFyY2gucmVnZXgpOwoKICAgICAgLy8gaW5pdGlhbCBoaWdobGlnaHQgZm9yIHN0YXRlIHNhdmVkIGNvbm
RpdGlvbnMgYW5kIGluaXRpYWwgc3RhdGVzCiAgICAgIGhpZ2hsaWdodCgpOwogICAgfQoKICAgIC8vIHJ1b
iB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gb24gdGhlIHRhYmxlIGluc3RhbmNlCiAgICBpZiAodHlwZW9mIGRh
dGEuY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIGRhdGEuY2FsbGJhY2sodGFibGUpOwoKICAgIC8vIGRvdWJ
sZSBjbGljayB0byBlZGl0IHRoZSBjZWxsLCByb3csIGNvbHVtbiwgb3IgYWxsIGNlbGxzCiAgICBpZiAoZG
F0YS5lZGl0YWJsZSkgdGFibGUub24oJ2RibGNsaWNrLmR0JywgJ3Rib2R5IHRkJywgZnVuY3Rpb24oZSkge
wogICAgICAvLyBvbmx5IGJyaW5nIHVwIHRoZSBlZGl0b3Igd2hlbiB0aGUgY2VsbCBpdHNlbGYgaXMgZGJj
bGlja2VkLCBhbmQgaWdub3JlCiAgICAgIC8vIG90aGVyIGRiY2xpY2sgZXZlbnRzIGJ1YmJsZWQgdXAgKGU
uZy4gZnJvbSB0aGUgPGlucHV0PikKICAgICAgaWYgKGUudGFyZ2V0ICE9PSB0aGlzKSByZXR1cm47CiAgIC
AgIHZhciB0YXJnZXQgPSBbXSwgaW1tZWRpYXRlID0gZmFsc2U7CiAgICAgIHN3aXRjaCAoZGF0YS5lZGl0Y
WJsZS50YXJnZXQpIHsKICAgICAgICBjYXNlICdjZWxsJzoKICAgICAgICAgIHRhcmdldCA9IFt0aGlzXTsK
ICAgICAgICAgIGltbWVkaWF0ZSA9IHRydWU7ICAvLyBlZGl0IHdpbGwgdGFrZSBlZmZlY3QgaW1tZWRpYXR
lbHkKICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ3Jvdyc6CiAgICAgICAgICB0YXJnZXQgPSB0YW
JsZS5jZWxscyh0YWJsZS5jZWxsKHRoaXMpLmluZGV4KCkucm93LCAnKicpLm5vZGVzKCk7CiAgICAgICAgI
CBicmVhazsKICAgICAgICBjYXNlICdjb2x1bW4nOgogICAgICAgICAgdGFyZ2V0ID0gdGFibGUuY2VsbHMo
JyonLCB0YWJsZS5jZWxsKHRoaXMpLmluZGV4KCkuY29sdW1uKS5ub2RlcygpOwogICAgICAgICAgYnJlYWs
7CiAgICAgICAgY2FzZSAnYWxsJzoKICAgICAgICAgIHRhcmdldCA9IHRhYmxlLmNlbGxzKCkubm9kZXMoKT
sKICAgICAgICAgIGJyZWFrOwogICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICB0aHJvdyAnVGhlIGVkaXRhY
mxlIHBhcmFtZXRlciBtdXN0IGJlICJjZWxsIiwgInJvdyIsICJjb2x1bW4iLCBvciAiYWxsIic7CiAgICAg
IH0KICAgICAgdmFyIGRpc2FibGVDb2xzID0gZGF0YS5lZGl0YWJsZS5kaXNhYmxlID8gZGF0YS5lZGl0YWJ
sZS5kaXNhYmxlLmNvbHVtbnMgOiBudWxsOwogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRhcmdldC5sZW
5ndGg7IGkrKykgewogICAgICAgIChmdW5jdGlvbihjZWxsLCBjdXJyZW50KSB7CiAgICAgICAgICB2YXIgJ
GNlbGwgPSAkKGNlbGwpLCBodG1sID0gJGNlbGwuaHRtbCgpOwogICAgICAgICAgdmFyIF9jZWxsID0gdGFi
bGUuY2VsbChjZWxsKSwgdmFsdWUgPSBfY2VsbC5kYXRhKCk7CiAgICAgICAgICB2YXIgJGlucHV0ID0gJCg
nPGlucHV0IHR5cGU9InRleHQiPicpLCBjaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgICBpZiAoIWltbWVkaW
F0ZSkgewogICAgICAgICAgICAkY2VsbC5kYXRhKCdpbnB1dCcsICRpbnB1dCkuZGF0YSgnaHRtbCcsIGh0b
WwpOwogICAgICAgICAgICAkaW5wdXQuYXR0cigndGl0bGUnLCAnSGl0IEN0cmwrRW50ZXIgdG8gZmluaXNo
IGVkaXRpbmcsIG9yIEVzYyB0byBjYW5jZWwnKTsKICAgICAgICAgIH0KICAgICAgICAgICRpbnB1dC52YWw
odmFsdWUpOwogICAgICAgICAgaWYgKGluQXJyYXkoX2NlbGwuaW5kZXgoKS5jb2x1bW4sIGRpc2FibGVDb2
xzKSkgewogICAgICAgICAgICAkaW5wdXQuYXR0cigncmVhZG9ubHknLCAnJykuY3NzKCdmaWx0ZXInLCAna
W52ZXJ0KDI1JSknKTsKICAgICAgICAgIH0KICAgICAgICAgICRjZWxsLmVtcHR5KCkuYXBwZW5kKCRpbnB1
dCk7CiAgICAgICAgICBpZiAoY2VsbCA9PT0gY3VycmVudCkgJGlucHV0LmZvY3VzKCk7CiAgICAgICAgICA
kaW5wdXQuY3NzKCd3aWR0aCcsICcxMDAlJyk7Cg
ogICAgICAgICAgaWYgKGltbWVkaWF0ZSkgJGlucHV0Lm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKICAgI
CAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgICAgIHZhciB2YWx1ZU5ldyA9ICRpbnB1dC52YWwo
KTsKICAgICAgICAgICAgaWYgKHZhbHVlTmV3ICE9IHZhbHVlKSB7CiAgICAgICAgICAgICAgX2NlbGwuZGF
0YSh2YWx1ZU5ldyk7CiAgICAgICAgICAgICAgaWYgKEhUTUxXaWRnZXRzLnNoaW55TW9kZSkgewogICAgIC
AgICAgICAgICAgY2hhbmdlSW5wdXQoJ2NlbGxfZWRpdCcsIFtjZWxsSW5mbyhjZWxsKV0sICdEVC5jZWxsS
W5mbycsIG51bGwsIHtwcmlvcml0eTogImV2ZW50In0pOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAvLyBmb3Igc2VydmVyLXNpZGUgcHJvY2Vzc2luZywgdXNlcnMgaGF2ZSB0byBjYWxsIHJlcGxhY2VEYXR
hKCkgdG8gdXBkYXRlIHRoZSB0YWJsZQogICAgICAgICAgICAgIGlmICghc2VydmVyKSB0YWJsZS5kcmF3KG
ZhbHNlKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAkY2VsbC5odG1sKGh0bWwpOwogI
CAgICAgICAgICB9CiAgICAgICAgICAgICRpbnB1dC5yZW1vdmUoKTsKICAgICAgICAgIH0pLm9uKCdibHVy
JywgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmICghY2hhbmdlZCkgJGlucHV0LnRyaWdnZXIoJ2NoYW5
nZScpOwogICAgICAgICAgfSkub24oJ2tleXVwJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAvLyBoaX
QgRXNjYXBlIHRvIGNhbmNlbCBlZGl0aW5nCiAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSAka
W5wdXQudHJpZ2dlcignYmx1cicpOwogICAgICAgICAgfSk7CgogICAgICAgICAgLy8gYnVsayBlZGl0IChy
b3csIGNvbHVtbiwgb3IgYWxsKQogICAgICAgICAgaWYgKCFpbW1lZGlhdGUpICRpbnB1dC5vbigna2V5dXA
nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgIHZhciByZW1vdmVJbnB1dCA9IGZ1bmN0aW9uKCRjZWxsLC
ByZXN0b3JlKSB7CiAgICAgICAgICAgICAgJGNlbGwuZGF0YSgnaW5wdXQnKS5yZW1vdmUoKTsKICAgICAgI
CAgICAgICBpZiAocmVzdG9yZSkgJGNlbGwuaHRtbCgkY2VsbC5kYXRhKCdodG1sJykpOwogICAgICAgICAg
ICB9CiAgICAgICAgICAgIGlmIChlLmtleUNvZGUgPT09IDI3KSB7CiAgICAgICAgICAgICAgZm9yICh2YXI
gaSA9IDA7IGkgPCB0YXJnZXQubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgICAgIHJlbW92ZUlucHV0KC
QodGFyZ2V0W2ldKSwgdHJ1ZSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGVsc2UgaWYgKGUua
2V5Q29kZSA9PT0gMTMgJiYgZS5jdHJsS2V5KSB7CiAgICAgICAgICAgICAgLy8gQ3RybCArIEVudGVyCiAg
ICAgICAgICAgICAgdmFyIGNlbGwsICRjZWxsLCBfY2VsbCwgY2VsbERhdGEgPSBbXTsKICAgICAgICAgICA
gICBmb3IgKHZhciBpID0gMDsgaSA8IHRhcmdldC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgY2
VsbCA9IHRhcmdldFtpXTsgJGNlbGwgPSAkKGNlbGwpOyBfY2VsbCA9IHRhYmxlLmNlbGwoY2VsbCk7CiAgI
CAgICAgICAgICAgICBfY2VsbC5kYXRhKCRjZWxsLmRhdGEoJ2lucHV0JykudmFsKCkpOwogICAgICAgICAg
ICAgICAgSFRNTFdpZGdldHMuc2hpbnlNb2RlICYmIGNlbGxEYXRhLnB1c2goY2VsbEluZm8oY2VsbCkpOwo
gICAgICAgICAgICAgICAgcmVtb3ZlSW5wdXQoJGNlbGwsIGZhbHNlKTsKICAgICAgICAgICAgICB9CiAgIC
AgICAgICAgICAgaWYgKEhUTUxXaWRnZXRzLnNoaW55TW9kZSkgewogICAgICAgICAgICAgICAgY2hhbmdlS
W5wdXQoJ2NlbGxfZWRpdCcsIGNlbGxEYXRhLCAnRFQuY2VsbEluZm8nLCBudWxsLCB7cHJpb3JpdHk6ICJl
dmVudCJ9KTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgaWYgKCFzZXJ2ZXIpIHRhYmxlLmRyYXc
oZmFsc2UpOwogICAgICAgICAgICB9CiAgICAgICAgICB9KTsKICAgICAgICB9KSh0YXJnZXRbaV0sIHRoaX
MpOwogICAgICB9CiAgICB9KTsKCiAgICAvLyBpbnRlcmFjdGlvbiB3aXRoIHNoaW55CiAgICBpZiAoIUhUT
UxXaWRnZXRzLnNoaW55TW9kZSAmJiAhY3Jvc3N0YWxrT3B0aW9ucy5ncm91cCkgcmV0dXJuOwoKICAgIHZh
ciBtZXRob2RzID0ge307CiAgICB2YXIgc2hpbnlEYXRhID0ge307CgogICAgbWV0aG9kcy51cGRhdGVDYXB
0aW9uID0gZnVuY3Rpb24oY2FwdGlvbikgewogICAgICBpZiAoIWNhcHRpb24pIHJldHVybjsKICAgICAgJH
RhYmxlLmNoaWxkcmVuKCdjYXB0aW9uJykucmVwbGFjZVdpdGgoY2FwdGlvbik7CiAgICB9CgogICAgLy8gc
mVnaXN0ZXIgY2xlYXIgZnVuY3Rpb25zIHRvIHJlbW92ZSBpbnB1dCB2YWx1ZXMgd2hlbiB0aGUgdGFibGUg
aXMgcmVtb3ZlZAogICAgaW5zdGFuY2UuY2xlYXJJbnB1dHMgPSB7fTsKCiAgICB2YXIgY2hhbmdlSW5wdXQ
gPSBmdW5jdGlvbihpZCwgdmFsdWUsIHR5cGUsIG5vQ3Jvc3N0YWxrLCBvcHRzKSB7CiAgICAgIHZhciBldm
VudCA9IGlkOwogICAgICBpZCA9IGVsLmlkICsgJ18nICsgaWQ7CiAgICAgIGlmICh0eXBlKSBpZCA9IGlkI
CsgJzonICsgdHlwZTsKICAgICAgLy8gZG8gbm90IHVwZGF0ZSBpZiB0aGUgbmV3IHZhbHVlIGlzIHRoZSBz
YW1lIGFzIG9sZCB2YWx1ZQogICAgICBpZiAoZXZlbnQgIT09ICdjZWxsX2VkaXQnICYmIHNoaW55RGF0YS5
oYXNPd25Qcm9wZXJ0eShpZCkgJiYgc2hpbnlEYXRhW2lkXSA9PT0gSlNPTi5zdHJpbmdpZnkodmFsdWUpKQ
ogICAgICAgIHJldHVybjsKICAgICAgc2hpbnlEYXRhW2lkXSA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTsKI
CAgICAgaWYgKEhUTUxXaWRnZXRzLnNoaW55TW9kZSAmJiBTaGlueS5zZXRJbnB1dFZhbHVlKSB7CiAgICAg
ICAgU2hpbnkuc2V0SW5wdXRWYWx1ZShpZCwgdmFsdWUsIG9wdHMpOwogICAgICAgIGlmICghaW5zdGFuY2U
uY2xlYXJJbnB1dHNbaWRdKSBpbnN0YW5jZS5jbGVhcklucHV0c1tpZF0gPSBmdW5jdGlvbigpIHsKICAgIC
AgICAgIFNoaW55LnNldElucHV0VmFsdWUoaWQsIG51bGwpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgL
y8gSEFDSwogICAgICBpZiAoZXZlbnQgPT09ICJyb3dzX3NlbGVjdGVkIiAmJiAhbm9Dcm9zc3RhbGspIHsK
ICAgICAgICBpZiAoY3Jvc3N0YWxrT3B0aW9ucy5ncm91cCkgewogICAgICAgICAgdmFyIGtleXMgPSBjcm9
zc3RhbGtPcHRpb25zLmtleTsKICAgICAgICAgIHZhciBzZWxlY3RlZEtleXMgPSBudWxsOwogICAgICAgIC
AgaWYgKHZhbHVlKSB7CiAgICAgICAgICAgIHNlbGVjdGVkS2V5cyA9IFtdOwogICAgICAgICAgICBmb3IgK
HZhciBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgLy8gVGhlIHZhbHVl
IGFycmF5J3MgY29udGVudHMgdXNlIDEtYmFzZWQgcm93IG51bWJlcnMsIHNvIHdlIG11c3QKICAgICAgICA
gICAgICAvLyBjb252ZXJ0IHRvIDAtYmFzZWQgYmVmb3JlIGluZGV4aW5nIGludG8gdGhlIGtleXMgYXJyYX
kuCiAgICAgICAgICAgICAgc2VsZWN0ZWRLZXlzLnB1c2goa2V5c1t2YWx1ZVtpXSAtIDFdKTsKICAgICAgI
CAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaW5zdGFuY2UuY3RzZWxlY3RIYW5kbGUuc2V0KHNlbGVj
dGVkS2V5cyk7CiAgICAgICAgfQogICAgICB9CiAgICB9OwoKICAgIHZhciBhZGRPbmUgPSBmdW5jdGlvbih
4KSB7CiAgICAgIHJldHVybiB4Lm1hcChmdW5jdGlvbihpKSB7IHJldHVybiAxICsgaTsgfSk7CiAgICB9Ow
oKICAgIHZhciB1bmlxdWUgPSBmdW5jdGlvbih4KSB7CiAgICAgIHZhciB1eCA9IFtdOwogICAgICAkLmVhY
2goeCwgZnVuY3Rpb24oaSwgZWwpewogICAgICAgIGlmICgkLmluQXJyYXkoZWwsIHV4KSA9PT0gLTEpIHV4
LnB1c2goZWwpOwogICAgICB9KTsKICAgICAgcmV0dXJuIHV4OwogICAgfQoKICAgIC8vIGNoYW5nZSB0aGU
gcm93IGluZGV4IG9mIGEgY2VsbAogICAgdmFyIHR3ZWFrQ2VsbEluZGV4ID0gZnVuY3Rpb24oY2VsbCkgew
ogICAgICB2YXIgaW5mbyA9IGNlbGwuaW5kZXgoKTsKICAgICAgLy8gc29tZSBjZWxsIG1heSBub3QgYmUgd
mFsaWQuIGUuZywgIzc1OQogICAgICAvLyB3aGVuIHVzaW5nIHRoZSBSb3dHcm91cCBleHRlbnNpb24sIGRh
dGF0YWJsZXMgd2lsbAogICAgICAvLyBnZW5lcmF0ZSB0aGUgcm93IGxhYmVsIGFuZCB0aGUgY2VsbHMgYXJ
lIG5vdCBwYXJ0IG9mCiAgICAgIC8vIHRoZSBkYXRhIHRodXMgY29udGFpbiBubyByb3cvY29sIGluZm8KIC
AgICAgaWYgKGluZm8gPT09IHVuZGVmaW5lZCkKICAgICAgICByZXR1cm4ge3JvdzogbnVsbCwgY29sOiBud
WxsfTsKICAgICAgaWYgKHNlcnZlcikgewogICAgICAgIGluZm8ucm93ID0gRFRfcm93c19jdXJyZW50W2lu
Zm8ucm93XTsKICAgICAgfSBlbHNlIHsKICAgICAgICBpbmZvLnJvdyArPSAxOwogICAgICB9CiAgICAgIHJ
ldHVybiB7cm93OiBpbmZvLnJvdywgY29sOiBpbmZvLmNvbHVtbn07CiAgICB9CgogICAgLy8gYSBmbGFnIH
RvIGluZGljYXRlcyBpZiBzZWxlY3QgZXh0ZW5zaW9uIGlzIGluaXRpYWxpemVkIG9yIG5vdAogICAgdmFyI
GZsYWdTZWxlY3RFeHQgPSB0YWJsZS5zZXR0aW5ncygpWzBdLl9zZWxlY3QgIT09IHVuZGVmaW5lZDsKICAg
IC8vIHRoZSBTZWxlY3QgZXh0ZW5zaW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gdGhlIGNsaWVudCBtb2R
lIGFuZAogICAgLy8gd2hlbiB0aGUgc2VsZWN0aW9uLm1vZGUgaXMgc2V0IHRvIG5vbmUKICAgIGlmIChkYX
RhLnNlbGVjdGlvbi5tb2RlID09PSAnbm9uZScgJiYgIXNlcnZlciAmJiBmbGFnU2VsZWN0RXh0KSB7CiAgI
CAgIHZhciB1cGRhdGVSb3dzU2VsZWN0ZWQgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgcm93cyA9IHRh
YmxlLnJvd3Moe3NlbGVjdGVkOiB0cnVlfSk7CiAgICAgICAgdmFyIHNlbGVjdGVkID0gW107CiAgICAgICA
gJC5lYWNoKHJvd3MuaW5kZXhlcygpLnRvQXJyYXkoKSwgZnVuY3Rpb24oaSwgdikgewogICAgICAgICAgc2
VsZWN0ZWQucHVzaCh2ICsgMSk7CiAgICAgICAgfSk7CiAgICAgICAgY2hhbmdlSW5wdXQoJ3Jvd3Nfc2VsZ
WN0ZWQnLCBzZWxlY3RlZCk7CiAgICAgIH0KICAgICAgdmFyIHVwZGF0ZUNvbHNTZWxlY3RlZCA9IGZ1bmN0
aW9uKCkgewogICAgICAgIHZhciBjb2x1bW5zID0gdGFibGUuY29sdW1ucyh7c2VsZWN0ZWQ6IHRydWV9KTs
KICAgICAgICBjaGFuZ2VJbnB1dCgnY29sdW1uc19zZWxlY3RlZCcsIGNvbHVtbnMuaW5kZXhlcygpLnRvQX
JyYXkoKSk7CiAgICAgIH0KICAgICAgdmFyIHVwZGF0ZUNlbGxzU2VsZWN0ZWQgPSBmdW5jdGlvbigpIHsKI
CAgICAgICB2YXIgY2VsbHMgPSB0YWJsZS5jZWxscyh7c2VsZWN0ZWQ6IHRydWV9KTsKICAgICAgICB2YXIg
c2VsZWN0ZWQgPSBbXTsKICAgICAgICBjZWxscy5ldmVyeShmdW5jdGlvbigpIHsKICAgICAgICAgIHZhciB
yb3cgPSB0aGlzLmluZGV4KCkucm93OwogICAgICAgICAgdmFyIGNvbCA9IHRoaXMuaW5kZXgoKS5jb2x1bW
47CiAgICAgICAgICBzZWxlY3RlZCA9IHNlbGVjdGVkLmNvbmNhdChbW3JvdyArIDEsIGNvbF1dKTsKICAgI
CAgICB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJE
KHNlbGVjdGVkKSwgJ3NoaW55Lm1hdHJpeCcpOwogICAgICB9CiAgICAgIHRhYmxlLm9uKCdzZWxlY3QgZGV
zZWxlY3QnLCBmdW5jdGlvbihlLCBkdCwgdHlwZSwgaW5kZXhlcykgewogICAgICAgIHVwZGF0ZVJvd3NTZW
xlY3RlZCgpOwogICAgICAgIHVwZGF0ZUNvbHNTZWxlY3RlZCgpOwogICAgICAgIHVwZGF0ZUNlbGxzU2VsZ
WN0ZWQoKTsKICAgICAgfSkKICAgIH0KCiAgICB2YXIgc2VsTW9kZSA9IGRhdGEuc2VsZWN0aW9uLm1vZGUs
IHNlbFRhcmdldCA9IGRhdGEuc2VsZWN0aW9uLnRhcmdldDsKICAgIGlmIChpbkFycmF5KHNlbE1vZGUsIFs
nc2luZ2xlJywgJ211bHRpcGxlJ10pKSB7CiAgICAgIHZhciBzZWxDbGFzcyA9IGluQXJyYXkoZGF0YS5zdH
lsZSwgWydib290c3RyYXAnLCAnYm9vdHN0cmFwNCddKSA/
ICdhY3RpdmUnIDogJ3NlbGVjdGVkJzsKICAgICAgdmFyIHNlbGVjdGVkID0gZGF0YS5zZWxlY3Rpb24uc2V
sZWN0ZWQsIHNlbGVjdGVkMSwgc2VsZWN0ZWQyOwogICAgICAvLyBzZWxlY3RlZDE6IHJvdyBpbmRpY2VzOy
BzZWxlY3RlZDI6IGNvbHVtbiBpbmRpY2VzCiAgICAgIGlmIChzZWxlY3RlZCA9PT0gbnVsbCkgewogICAgI
CAgIHNlbGVjdGVkMSA9IHNlbGVjdGVkMiA9IFtdOwogICAgICB9IGVsc2UgaWYgKHNlbFRhcmdldCA9PT0g
J3JvdycpIHsKICAgICAgICBzZWxlY3RlZDEgPSAkLm1ha2VBcnJheShzZWxlY3RlZCk7CiAgICAgIH0gZWx
zZSBpZiAoc2VsVGFyZ2V0ID09PSAnY29sdW1uJykgewogICAgICAgIHNlbGVjdGVkMiA9ICQubWFrZUFycm
F5KHNlbGVjdGVkKTsKICAgICAgfSBlbHNlIGlmIChzZWxUYXJnZXQgPT09ICdyb3crY29sdW1uJykgewogI
CAgICAgIHNlbGVjdGVkMSA9ICQubWFrZUFycmF5KHNlbGVjdGVkLnJvd3MpOwogICAgICAgIHNlbGVjdGVk
MiA9ICQubWFrZUFycmF5KHNlbGVjdGVkLmNvbHMpOwogICAgICB9CgogICAgICAvLyBBZnRlciB1c2VycyB
yZW9yZGVyIHRoZSByb3dzIG9yIGZpbHRlciB0aGUgdGFibGUsIHdlIGNhbm5vdCB1c2UgdGhlIHRhYmxlIG
luZGV4CiAgICAgIC8vIGRpcmVjdGx5LiBJbnN0ZWFkLCB3ZSBuZWVkIHRoaXMgZnVuY3Rpb24gdG8gZmluZ
CBvdXQgdGhlIHJvd3MgYmV0d2VlbiB0aGUgdHdvIGNsaWNrcy4KICAgICAgLy8gSWYgdXNlciBmaWx0ZXIg
dGhlIHRhYmxlIGFnYWluIGJldHdlZW4gdGhlIHN0YXJ0IGNsaWNrIGFuZCB0aGUgZW5kIGNsaWNrLCB0aGU
gYmVoYXZpb3IKICAgICAgLy8gd291bGQgYmUgdW5kZWZpbmVkLCBidXQgaXQgc2hvdWxkIG5vdCBiZSBhIH
Byb2JsZW0uCiAgICAgIHZhciBzaGlmdFNlbFJvd3NJbmRleCA9IGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsKI
CAgICAgICB2YXIgaW5kZXhlcyA9IHNlcnZlciA/
IERUX3Jvd3NfYWxsIDogdGFibGUucm93cyh7IHNlYXJjaDogJ2FwcGxpZWQnIH0pLmluZGV4ZXMoKS50b0F
ycmF5KCk7CiAgICAgICAgc3RhcnQgPSBpbmRleGVzLmluZGV4T2Yoc3RhcnQpOyBlbmQgPSBpbmRleGVzLm
luZGV4T2YoZW5kKTsKICAgICAgICAvLyBpZiBzdGFydCBpcyBsYXJnZXIgdGhhbiBlbmQsIHdlIG5lZWQgd
G8gc3dhcAogICAgICAgIGlmIChzdGFydCA+IGVuZCkgewogICAgICAgICAgdmFyIHRtcCA9IGVuZDsgZW5k
ID0gc3RhcnQ7IHN0YXJ0ID0gdG1wOwogICAgICAgIH0KICAgICAgICByZXR1cm4gaW5kZXhlcy5zbGljZSh
zdGFydCwgZW5kICsgMSk7CiAgICAgIH0KCiAgICAgIHZhciBzZXJ2ZXJSb3dJbmRleCA9IGZ1bmN0aW9uKG
NsaWVudFJvd0luZGV4KSB7CiAgICAgICAgcmV0dXJuIHNlcnZlciA/
IERUX3Jvd3NfY3VycmVudFtjbGllbnRSb3dJbmRleF0gOiBjbGllbnRSb3dJbmRleCArIDE7CiAgICAgIH0
KCiAgICAgIC8vIHJvdywgY29sdW1uLCBvciBjZWxsIHNlbGVjdGlvbgogICAgICB2Y
XIgbGFzdENsaWNrZWRSb3c7CiAgICAgIGlmIChpbkFycmF5KHNlbFRhcmdldCwgWydyb3cnLCAncm93K2Nv
bHVtbiddKSkgewogICAgICAgIHZhciBzZWxlY3RlZFJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHZ
hciByb3dzID0gdGFibGUucm93cygnLicgKyBzZWxDbGFzcyk7CiAgICAgICAgICB2YXIgaWR4ID0gcm93cy
5pbmRleGVzKCkudG9BcnJheSgpOwogICAgICAgICAgaWYgKCFzZXJ2ZXIpIHJldHVybiBhZGRPbmUoaWR4K
TsKICAgICAgICAgIGlkeCA9IGlkeC5tYXAoZnVuY3Rpb24oaSkgewogICAgICAgICAgICByZXR1cm4gRFRf
cm93c19jdXJyZW50W2ldOwogICAgICAgICAgfSk7CiAgICAgICAgICBzZWxlY3RlZDEgPSBzZWxNb2RlID0
9PSAnbXVsdGlwbGUnID8gdW5pcXVlKHNlbGVjdGVkMS5jb25jYXQoaWR4KSkgOiBpZHg7CiAgICAgICAgIC
ByZXR1cm4gc2VsZWN0ZWQxOwogICAgICAgIH0KICAgICAgICB0YWJsZS5vbignbW91c2Vkb3duLmR0JywgJ
3Rib2R5IHRyJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwgdGhpc1Jv
dyA9IHRhYmxlLnJvdyh0aGlzKTsKICAgICAgICAgIGlmIChzZWxNb2RlID09PSAnbXVsdGlwbGUnKSB7CiA
gICAgICAgICAgIGlmIChlLnNoaWZ0S2V5ICYmIGxhc3RDbGlja2VkUm93ICE9PSB1bmRlZmluZWQpIHsKIC
AgICAgICAgICAgICAvLyBzZWxlY3Qgb3IgZGUtc2VsZWN0IGRlcGVuZHMgb24gdGhlIGxhc3QgY2xpY2tlZ
CByb3cncyBzdGF0dXMKICAgICAgICAgICAgICB2YXIgZmxhZ1NlbCA9ICEkdGhpcy5oYXNDbGFzcyhzZWxD
bGFzcyk7CiAgICAgICAgICAgICAgdmFyIGNydENsaWNrZWRSb3cgPSBzZXJ2ZXJSb3dJbmRleCh0aGlzUm9
3LmluZGV4KCkpOwogICAgICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgICAgIHZhciByb3
dzSW5kZXggPSBzaGlmdFNlbFJvd3NJbmRleChsYXN0Q2xpY2tlZFJvdywgY3J0Q2xpY2tlZFJvdyk7CiAgI
CAgICAgICAgICAgICAvLyB1cGRhdGUgY3VycmVudCBwYWdlJ3Mgc2VsQ2xhc3MKICAgICAgICAgICAgICAg
IHJvd3NJbmRleC5tYXAoZnVuY3Rpb24oaSkgewogICAgICAgICAgICAgICAgICB2YXIgcm93SW5kZXggPSB
EVF9yb3dzX2N1cnJlbnQuaW5kZXhPZihpKTsKICAgICAgICAgICAgICAgICAgaWYgKHJvd0luZGV4ID49ID
ApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcm93ID0gdGFibGUucm93KHJvd0luZGV4KS5ub2RlcygpL
nRvJCgpOwogICAgICAgICAgICAgICAgICAgIHZhciBmbGFnUm93U2VsID0gIXJvdy5oYXNDbGFzcyhzZWxD
bGFzcyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKGZsYWdTZWwgPT09IGZsYWdSb3dTZWwpIHJvdy50b2d
nbGVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pOwogIC
AgICAgICAgICAgICAgLy8gdXBkYXRlIHNlbGVjdGVkMQogICAgICAgICAgICAgICAgaWYgKGZsYWdTZWwpI
HsKICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQxID0gdW5pcXVlKHNlbGVjdGVkMS5jb25jYXQocm93c0lu
ZGV4KSk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICBzZWxlY3RlZDEgPSB
zZWxlY3RlZDEuZmlsdGVyKGZ1bmN0aW9uKGluZGV4KSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC
FpbkFycmF5KGluZGV4LCByb3dzSW5kZXgpOwogICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgI
CAgIH0KICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgLy8ganMgc3RhcnRzIGZyb20g
MAogICAgICAgICAgICAgICAgc2hpZnRTZWxSb3dzSW5kZXgobGFzdENsaWNrZWRSb3cgLSAxLCBjcnRDbGl
ja2VkUm93IC0gMSkubWFwKGZ1bmN0aW9uKHZhbHVlKSB7CiAgICAgICAgICAgICAgICAgIHZhciByb3cgPS
B0YWJsZS5yb3codmFsdWUpLm5vZGVzKCkudG8kKCk7CiAgICAgICAgICAgICAgICAgIHZhciBmbGFnUm93U
2VsID0gIXJvdy5oYXNDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICAgICAgIGlmIChmbGFnU2VsID09
PSBmbGFnUm93U2VsKSByb3cudG9nZ2xlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICAgICAgfSk7CiA
gICAgICAgICAgICAgfQogICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgfS
BlbHNlIHsKICAgICAgICAgICAgICAkdGhpcy50b2dnbGVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgI
H0KICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGlmICgkdGhpcy5oYXNDbGFzcyhzZWxDbGFzcykp
IHsKICAgICAgICAgICAgICAkdGhpcy5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIH0gZWx
zZSB7CiAgICAgICAgICAgICAgdGFibGUuJCgndHIuJyArIHNlbENsYXNzKS5yZW1vdmVDbGFzcyhzZWxDbG
Fzcyk7CiAgICAgICAgICAgICAgJHRoaXMuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICB9CiAgI
CAgICAgICB9CiAgICAgICAgICBpZiAoc2VydmVyICYmICEkdGhpcy5oYXNDbGFzcyhzZWxDbGFzcykpIHsK
ICAgICAgICAgICAgdmFyIGlkID0gRFRfcm93c19jdXJyZW50W3RoaXNSb3cuaW5kZXgoKV07CiAgICAgICA
gICAgIC8vIHJlbW92ZSBpZCBmcm9tIHNlbGVjdGVkMSBzaW5jZSBpdHMgY2xhc3MgLnNlbGVjdGVkIGhhcy
BiZWVuIHJlbW92ZWQKICAgICAgICAgICAgaWYgKGluQXJyYXkoaWQsIHNlbGVjdGVkMSkpIHNlbGVjdGVkM
S5zcGxpY2UoJC5pbkFycmF5KGlkLCBzZWxlY3RlZDEpLCAxKTsKICAgICAgICAgIH0KICAgICAgICAgIGNo
YW5nZUlucHV0KCdyb3dzX3NlbGVjdGVkJywgc2VsZWN0ZWRSb3dzKCkpOwogICAgICAgICAgY2hhbmdlSW5
wdXQoJ3Jvd19sYXN0X2NsaWNrZWQnLCBzZXJ2ZXJSb3dJbmRleCh0aGlzUm93LmluZGV4KCkpKTsKICAgIC
AgICAgIGxhc3RDbGlja2VkUm93ID0gc2VydmVyUm93SW5kZXgodGhpc1Jvdy5pbmRleCgpKTsKICAgICAgI
CB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgncm93c19zZWxlY3RlZCcsIHNlbGVjdGVkMSk7CiAgICAgICAg
dmFyIHNlbGVjdFJvd3MgPSBmdW5jdGlvbigpIHsKICAgICAgICAgIHRhYmxlLiQoJ3RyLicgKyBzZWxDbGF
zcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgaWYgKHNlbGVjdGVkMS5sZW5ndGggPT09ID
ApIHJldHVybjsKICAgICAgICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgICAgdGFibGUucm93cyh7cGFnZ
TogJ2N1cnJlbnQnfSkuZXZlcnkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgaWYgKGluQXJyYXkoRFRf
cm93c19jdXJyZW50W3RoaXMuaW5kZXgoKV0sIHNlbGVjdGVkMSkpIHsKICAgICAgICAgICAgICAgICQodGh
pcy5ub2RlKCkpLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOw
ogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgdmFyIHNlbGVjdGVkMCA9IHNlbGVjdGVkMS5tYXAoZ
nVuY3Rpb24oaSkgeyByZXR1cm4gaSAtIDE7IH0pOwogICAgICAgICAgICAkKHRhYmxlLnJvd3Moc2VsZWN0
ZWQwKS5ub2RlcygpKS5hZGRDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICA
gIHNlbGVjdFJvd3MoKTsgIC8vIGluIGNhc2UgdXNlcnMgaGF2ZSBzcGVjaWZpZWQgcHJlLXNlbGVjdGVkIH
Jvd3MKICAgICAgICAvLyByZXN0b3JlIHNlbGVjdGVkIHJvd3MgYWZ0ZXIgdGhlIHRhYmxlIGlzIHJlZHJhd
24gKGUuZy4gc29ydC9zZWFyY2gvcGFnZSk7CiAgICAgICAgLy8gY2xpZW50LXNpZGUgdGFibGVzIHdpbGwg
cHJlc2VydmUgdGhlIHNlbGVjdGlvbnMgYXV0b21hdGljYWxseTsgZm9yCiAgICAgICAgLy8gc2VydmVyLXN
pZGUgdGFibGVzLCB3ZSBoYXZlIHRvICpyZWFsKiByb3cgaW5kaWNlcyBhcmUgaW4gYHNlbGVjdGVkMWAKIC
AgICAgICBpZiAoc2VydmVyKSB0YWJsZS5vbignZHJhdy5kdCcsIHNlbGVjdFJvd3MpOwogICAgICAgIG1ld
GhvZHMuc2VsZWN0Um93cyA9IGZ1bmN0aW9uKHNlbGVjdGVkKSB7CiAgICAgICAgICBzZWxlY3RlZDEgPSAk
Lm1ha2VBcnJheShzZWxlY3RlZCk7CiAgICAgICAgICBzZWxlY3RSb3dzKCk7CiAgICAgICAgICBjaGFuZ2V
JbnB1dCgncm93c19zZWxlY3RlZCcsIHNlbGVjdGVkMSk7CiAgICAgICAgfQogICAgICB9CgogICAgICBpZi
AoaW5BcnJheShzZWxUYXJnZXQsIFsnY29sdW1uJywgJ3Jvdytjb2x1bW4nXSkpIHsKICAgICAgICBpZiAoc
2VsVGFyZ2V0ID09PSAncm93K2NvbHVtbicpIHsKICAgICAgICAgICQodGFibGUuY29sdW1ucygpLmZvb3Rl
cigpKS5jc3MoJ2N1cnNvcicsICdwb2ludGVyJyk7CiAgICAgICAgfQogICAgICAgIHZhciBjYWxsYmFjayA
9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyIGNvbElkeCA9IHNlbFRhcmdldCA9PT0gJ2NvbHVtbicgPy
B0YWJsZS5jZWxsKHRoaXMpLmluZGV4KCkuY29sdW1uIDoKICAgICAgICAgICAgICAkLmluQXJyYXkodGhpc
ywgdGFibGUuY29sdW1ucygpLmZvb3RlcigpKSwKICAgICAgICAgICAgICB0aGlzQ29sID0gJCh0YWJsZS5j
b2x1bW4oY29sSWR4KS5ub2RlcygpKTsKICAgICAgICAgIGlmIChjb2xJZHggPT09IC0xKSByZXR1cm47CiA
gICAgICAgICBpZiAodGhpc0NvbC5oYXNDbGFzcyhzZWxDbGFzcykpIHsKICAgICAgICAgICAgdGhpc0NvbC
5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIHNlbGVjdGVkMi5zcGxpY2UoJC5pbkFycmF5K
GNvbElkeCwgc2VsZWN0ZWQyKSwgMSk7CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBpZiAoc2Vs
TW9kZSA9PT0gJ3NpbmdsZScpICQodGFibGUuY2VsbHMoKS5ub2RlcygpKS5yZW1vdmVDbGFzcyhzZWxDbGF
zcyk7CiAgICAgICAgICAgIHRoaXNDb2wuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICBzZWxlY3
RlZDIgPSBzZWxNb2RlID09PSAnc2luZ2xlJyA/
IFtjb2xJZHhdIDogdW5pcXVlKHNlbGVjdGVkMi5jb25jYXQoW2NvbElkeF0pKTsKICAgICAgICAgIH0KICA
gICAgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZWQyKTsKICAgICAgICB9Ci
AgICAgICAgaWYgKHNlbFRhcmdldCA9PT0gJ2NvbHVtbicpIHsKICAgICAgICAgICQodGFibGUudGFibGUoK
S5ib2R5KCkpLm9uKCdjbGljay5kdCcsICd0ZCcsIGNhbGxiYWNrKTsKICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgJCh0YWJsZS50YWJsZSgpLmZvb3RlcigpKS5vbignY2xpY2suZHQnLCAndHIgdGgnLCBjYWxsYmF
jayk7CiAgICAgICAgfQogICAgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZW
QyKTsKICAgICAgICB2YXIgc2VsZWN0Q29scyA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgdGFibGUuY29sd
W1ucygpLm5vZGVzKCkuZmxhdHRlbigpLnRvJCgpLnJlbW92ZUNsYXNzKHNlbENsYXNzKTsKICAgICAgICAg
IGlmIChzZWxlY3RlZDIubGVuZ3RoID4gMCkKICAgICAgICAgICAgdGFibGUuY29sdW1ucyhzZWxlY3RlZDI
pLm5vZGVzKCkuZmxhdHRlbigpLnRvJCgpLmFkZENsYXNzKHNlbENsYXNzKTsKICAgICAgICB9CiAgICAgIC
Agc2VsZWN0Q29scygpOyAgLy8gaW4gY2FzZSB1c2VycyBoYXZlIHNwZWNpZmllZCBwcmUtc2VsZWN0ZWQgY
29sdW1ucwogICAgICAgIGlmIChzZXJ2ZXIpIHRhYmxlLm9uKCdkcmF3LmR0Jywgc2VsZWN0Q29scyk7CiAg
ICAgICAgbWV0aG9kcy5zZWxlY3RDb2x1bW5zID0gZnVuY3Rpb24oc2VsZWN0ZWQpIHsKICAgICAgICAgIHN
lbGVjdGVkMiA9ICQubWFrZUFycmF5KHNlbGVjdGVkKTsKICAgICAgICAgIHNlbGVjdENvbHMoKTsKICAgIC
AgICAgIGNoYW5nZUlucHV0KCdjb2x1bW5zX3NlbGVjdGVkJywgc2VsZWN0ZWQyKTsKICAgICAgICB9CiAgI
CAgIH0KCiAgICAgIGlmIChzZWxUYXJnZXQgPT09ICdjZWxsJykgewogICAgICAgIHZhciBzZWxlY3RlZDM7
CiAgICAgICAgaWYgKHNlbGVjdGVkID09PSBudWxsKSB7CiAgICAgICAgICBzZWxlY3RlZDMgPSBbXTsKICA
gICAgICB9IGVsc2UgewogICAgICAgICAgc2VsZWN0ZWQzID0gc2VsZWN0ZWQ7CiAgICAgICAgfQogICAgIC
AgIHZhciBmaW5kSW5kZXggPSBmdW5jdGlvbihpaikgewogICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgP
CBzZWxlY3RlZDMubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgaWYgKGlqWzBdID09PSBzZWxlY3RlZDNb
aV1bMF0gJiYgaWpbMV0gPT09IHNlbGVjdGVkM1tpXVsxXSkgcmV0dXJuIGk7CiAgICAgICAgICB9CiAgICA
gICAgICByZXR1cm4gLTE7CiAgICAgICAgfQogICAgICAgIHRhYmxlLm9uKCdjbGljay5kdCcsICd0Ym9keS
B0ZCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKSwgaW5mbyA9IHR3ZWFrQ
2VsbEluZGV4KHRhYmxlLmNlbGwodGhpcykpOwogICAgICAgICAgaWYgKCR0aGlzLmhhc0NsYXNzKHNlbENs
YXNzKSkgewogICAgICAgICAgICAkdGhpcy5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgIHN
lbGVjdGVkMy5zcGxpY2UoZmluZEluZGV4KFtpbmZvLnJvdywgaW5mby5jb2xdKSwgMSk7CiAgICAgICAgIC
B9IGVsc2UgewogICAgICAgICAgICBpZiAoc2VsTW9kZSA9PT0gJ3NpbmdsZScpICQodGFibGUuY2VsbHMoK
S5ub2RlcygpKS5yZW1vdmVDbGFzcyhzZWxDbGFzcyk7CiAgICAgICAgICAgICR0aGlzLmFkZENsYXNzKHNl
bENsYXNzKTsKICAgICAgICAgICAgc2VsZWN0ZWQzID0gc2VsTW9kZSA9PT0gJ3NpbmdsZScgPyBbW2luZm8
ucm93LCBpbmZvLmNvbF1dIDoKICAgICAgICAgICAgICB1bmlxdWUoc2VsZWN0ZWQzLmNvbmNhdChbW2luZm
8ucm93LCBpbmZvLmNvbF1dKSk7CiAgICAgICAgICB9CiAgICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc
2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAg
ICB9KTsKICAgICAgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHN
lbGVjdGVkMyksICdzaGlueS5tYXRyaXgnKTsKICAgICAgICB2YXIgc2VsZWN0Q2VsbHMgPSBmdW5jdGlvbi
gpIHsKICAgICAgICAgIHRhYmxlLiQoJ3RkLicgKyBzZWxDbGFzcykucmVtb3ZlQ2xhc3Moc2VsQ2xhc3MpO
wogICAgICAgICAgaWYgKHNlbGVjdGVkMy5sZW5ndGggPT09IDApIHJldHVybjsKICAgICAgICAgIGlmIChz
ZXJ2ZXIpIHsKICAgICAgICAgICAgdGFibGUuY2VsbHMoe3BhZ2U6ICdjdXJyZW50J30pLmV2ZXJ5KGZ1bmN
0aW9uKCkgewogICAgICAgICAgICAgIHZhciBpbmZvID0gdHdlYWtDZWxsSW5kZXgodGhpcyk7CiAgICAgIC
AgICAgICAgaWYgKGZpbmRJbmRleChbaW5mby5yb3csIGluZm8uY29sXSwgc2VsZWN0ZWQzKSA+IC0xKQogI
CAgICAgICAgICAgICAgJCh0aGlzLm5vZGUoKSkuYWRkQ2xhc3Moc2VsQ2xhc3MpOwogICAgICAgICAgICB9
KTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHNlbGVjdGVkMy5tYXAoZnVuY3Rpb24oaWopIHs
K
ICAgICAgICAgICAgICAkKHRhYmxlLmNlbGwoaWpbMF0gLSAxLCBpalsxXSkubm9kZSgpKS5hZGRDbGFzcyh
zZWxDbGFzcyk7CiAgICAgICAgICAgIH0pOwogICAgICAgICAgfQogICAgICAgIH07CiAgICAgICAgc2VsZW
N0Q2VsbHMoKTsgIC8vIGluIGNhc2UgdXNlcnMgaGF2ZSBzcGVjaWZpZWQgcHJlLXNlbGVjdGVkIGNvbHVtb
nMKICAgICAgICBpZiAoc2VydmVyKSB0YWJsZS5vbignZHJhdy5kdCcsIHNlbGVjdENlbGxzKTsKICAgICAg
ICBtZXRob2RzLnNlbGVjdENlbGxzID0gZnVuY3Rpb24oc2VsZWN0ZWQpIHsKICAgICAgICAgIHNlbGVjdGV
kMyA9IHNlbGVjdGVkID8gc2VsZWN0ZWQgOiBbXTsKICAgICAgICAgIHNlbGVjdENlbGxzKCk7CiAgICAgIC
AgICBjaGFuZ2VJbnB1dCgnY2VsbHNfc2VsZWN0ZWQnLCB0cmFuc3Bvc2VBcnJheTJEKHNlbGVjdGVkMyksI
CdzaGlueS5tYXRyaXgnKTsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICAvLyBleHBvc2Ugc29tZSB0
YWJsZSBpbmZvIHRvIFNoaW55CiAgICB2YXIgdXBkYXRlVGFibGVJbmZvID0gZnVuY3Rpb24oZSwgc2V0dGl
uZ3MpIHsKICAgICAgLy8gVE9ETzogaXMgYW55b25lIGludGVyZXN0ZWQgaW4gdGhlIHBhZ2UgaW5mbz8KIC
AgICAgLy8gY2hhbmdlSW5wdXQoJ3BhZ2VfaW5mbycsIHRhYmxlLnBhZ2UuaW5mbygpKTsKICAgICAgdmFyI
HVwZGF0ZVJvd0luZm8gPSBmdW5jdGlvbihpZCwgbW9kaWZpZXIpIHsKICAgICAgICB2YXIgaWR4OwogICAg
ICAgIGlmIChzZXJ2ZXIpIHsKICAgICAgICAgIGlkeCA9IG1vZGlmaWVyLnBhZ2UgPT09ICdjdXJyZW50JyA
/
IERUX3Jvd3NfY3VycmVudCA6IERUX3Jvd3NfYWxsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICB2YXI
gcm93cyA9IHRhYmxlLnJvd3MoJC5leHRlbmQoewogICAgICAgICAgICBzZWFyY2g6ICdhcHBsaWVkJywKIC
AgICAgICAgICAgcGFnZTogJ2FsbCcKICAgICAgICAgIH0sIG1vZGlmaWVyKSk7CiAgICAgICAgICBpZHggP
SBhZGRPbmUocm93cy5pbmRleGVzKCkudG9BcnJheSgpKTsKICAgICAgICB9CiAgICAgICAgY2hhbmdlSW5w
dXQoJ3Jvd3MnICsgJ18nICsgaWQsIGlkeCk7CiAgICAgIH07CiAgICAgIHVwZGF0ZVJvd0luZm8oJ2N1cnJ
lbnQnLCB7cGFnZTogJ2N1cnJlbnQnfSk7CiAgICAgIHVwZGF0ZVJvd0luZm8oJ2FsbCcsIHt9KTsKICAgIH
0KICAgIHRhYmxlLm9uKCdkcmF3LmR0JywgdXBkYXRlVGFibGVJbmZvKTsKICAgIHVwZGF0ZVRhYmxlSW5mb
ygpOwoKICAgIC8vIHN0YXRlIGluZm8KICAgIHRhYmxlLm9uKCdkcmF3LmR0IGNvbHVtbi12aXNpYmlsaXR5
LmR0JywgZnVuY3Rpb24oKSB7CiAgICAgIGNoYW5nZUlucHV0KCdzdGF0ZScsIHRhYmxlLnN0YXRlKCkpOwo
gICAgfSk7CiAgICBjaGFuZ2VJbnB1dCgnc3RhdGUnLCB0YWJsZS5zdGF0ZSgpKTsKCiAgICAvLyBzZWFyY2
ggaW5mbwogICAgdmFyIHVwZGF0ZVNlYXJjaEluZm8gPSBmdW5jdGlvbigpIHsKICAgICAgY2hhbmdlSW5wd
XQoJ3NlYXJjaCcsIHRhYmxlLnNlYXJjaCgpKTsKICAgICAgaWYgKGZpbHRlclJvdykgY2hhbmdlSW5wdXQo
J3NlYXJjaF9jb2x1bW5zJywgZmlsdGVyUm93LnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24odGQpIHsKICAgICA
gICByZXR1cm4gJCh0ZCkuZmluZCgnaW5wdXQnKS5maXJzdCgpLnZhbCgpOwogICAgICB9KSk7CiAgICB9Ci
AgICB0YWJsZS5vbignZHJhdy5kdCcsIHVwZGF0ZVNlYXJjaEluZm8pOwogICAgdXBkYXRlU2VhcmNoSW5mb
ygpOwoKICAgIHZhciBjZWxsSW5mbyA9IGZ1bmN0aW9uKHRoaXopIHsKICAgICAgdmFyIGluZm8gPSB0d2Vh
a0NlbGxJbmRleCh0YWJsZS5jZWxsKHRoaXopKTsKICAgICAgaW5mby52YWx1ZSA9IHRhYmxlLmNlbGwodGh
peikuZGF0YSgpOwogICAgICByZXR1cm4gaW5mbzsKICAgIH0KICAgIC8vIHRoZSBjdXJyZW50IGNlbGwgY2
xpY2tlZCBvbgogICAgdGFibGUub24oJ2NsaWNrLmR0JywgJ3Rib2R5IHRkJywgZnVuY3Rpb24oKSB7CiAgI
CAgIGNoYW5nZUlucHV0KCdjZWxsX2NsaWNrZWQnLCBjZWxsSW5mbyh0aGlzKSk7CiAgICB9KQogICAgY2hh
bmdlSW5wdXQoJ2NlbGxfY2xpY2tlZCcsIHt9KTsKCiAgICAvLyBkbyBub3QgdHJpZ2dlciB0YWJsZSBzZWx
lY3Rpb24gd2hlbiBjbGlja2luZyBvbiBsaW5rcyB1bmxlc3MgdGhleSBoYXZlIGNsYXNzZXMKICAgIHRhYm
xlLm9uKCdjbGljay5kdCcsICd0Ym9keSB0ZCBhJywgZnVuY3Rpb24oZSkgewogICAgICBpZiAodGhpcy5jb
GFzc05hbWUgPT09ICcnKSBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgfSk7CgogICAgbWV0aG9kcy5hZGRS
b3cgPSBmdW5jdGlvbihkYXRhLCByb3duYW1lKSB7CiAgICAgIHZhciBkYXRhMCA9IHRhYmxlLnJvdygwKS5
kYXRhKCksIG4gPSBkYXRhMC5sZW5ndGgsIGQgPSBuIC0gZGF0YS5sZW5ndGg7CiAgICAgIGlmIChkID09PS
AxKSB7CiAgICAgICAgZGF0YSA9IHJvd25hbWUuY29uY2F0KGRhdGEpCiAgICAgIH0gZWxzZSBpZiAoZCAhP
T0gMCkgewogICAgICAgIGNvbnNvbGUubG9nKGRhdGEpOwogICAgICAgIGNvbnNvbGUubG9nKGRhdGEwKTsK
ICAgICAgICB0aHJvdyAnTmV3IGRhdGEgbXVzdCBiZSBvZiB0aGUgc2FtZSBsZW5ndGggYXMgY3VycmVudCB
kYXRhICgnICsgbiArICcpJzsKICAgICAgfTsKICAgICAgdGFibGUucm93LmFkZChkYXRhKS5kcmF3KCk7Ci
AgICB9CgogICAgbWV0aG9kcy51cGRhdGVTZWFyY2ggPSBmdW5jdGlvbihrZXl3b3JkcykgewogICAgICBpZ
iAoa2V5d29yZHMuZ2xvYmFsICE9PSBudWxsKQogICAgICAgICQodGFibGUudGFibGUoKS5jb250YWluZXIo
KSkuZmluZCgnaW5wdXRbdHlwZT1zZWFyY2hdJykuZmlyc3QoKQogICAgICAgICAgICAgLnZhbChrZXl3b3J
kcy5nbG9iYWwpLnRyaWdnZXIoJ2lucHV0Jyk7CiAgICAgIHZhciBjb2x1bW5zID0ga2V5d29yZHMuY29sdW
1uczsKICAgICAgaWYgKCFmaWx0ZXJSb3cgfHwgY29sdW1ucyA9PT0gbnVsbCkgcmV0dXJuOwogICAgICBma
Wx0ZXJSb3cudG9BcnJheSgpLm1hcChmdW5jdGlvbih0ZCwgaSkgewogICAgICAgIHZhciB2ID0gdHlwZW9m
IGNvbHVtbnMgPT09ICdzdHJpbmcnID8gY29sdW1ucyA6IGNvbHVtbnNbaV07CiAgICAgICAgaWYgKHR5cGV
vZiB2ID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgY29uc29sZS5sb2coJ1RoZSBzZWFyY2gga2V5d2
9yZCBmb3IgY29sdW1uICcgKyBpICsgJyBpcyB1bmRlZmluZWQnKQogICAgICAgICAgcmV0dXJuOwogICAgI
CAgIH0KICAgICAgICAkKHRkKS5maW5kKCdpbnB1dCcpLmZpcnN0KCkudmFsKHYpOwogICAgICAgIHNlYXJj
aENvbHVtbihpLCB2KTsKICAgICAgfSk7CiAgICAgIHRhYmxlLmRyYXcoKTsKICAgIH0KCiAgICBtZXRob2R
zLmhpZGVDb2xzID0gZnVuY3Rpb24oaGlkZSwgcmVzZXQpIHsKICAgICAgaWYgKHJlc2V0KSB0YWJsZS5jb2
x1bW5zKCkudmlzaWJsZSh0cnVlLCBmYWxzZSk7CiAgICAgIHRhYmxlLmNvbHVtbnMoaGlkZSkudmlzaWJsZ
ShmYWxzZSk7CiAgICB9CgogICAgbWV0aG9kcy5zaG93Q29scyA9IGZ1bmN0aW9uKHNob3csIHJlc2V0KSB7
CiAgICAgIGlmIChyZXNldCkgdGFibGUuY29sdW1ucygpLnZpc2libGUoZmFsc2UsIGZhbHNlKTsKICAgICA
gdGFibGUuY29sdW1ucyhzaG93KS52aXNpYmxlKHRydWUpOwogICAgfQoKICAgIG1ldGhvZHMuY29sUmVvcm
RlciA9IGZ1bmN0aW9uKG9yZGVyLCBvcmlnT3JkZXIpIHsKICAgICAgdGFibGUuY29sUmVvcmRlci5vcmRlc
ihvcmRlciwgb3JpZ09yZGVyKTsKICAgIH0KCiAgICBtZXRob2RzLnNlbGVjdFBhZ2UgPSBmdW5jdGlvbihw
YWdlKSB7CiAgICAgIGlmICh0YWJsZS5wYWdlLmluZm8oKS5wYWdlcyA8IHBhZ2UgfHwgcGFnZSA8IDEpIHs
KICAgICAgICB0aHJvdyAnU2VsZWN0ZWQgcGFnZSBpcyBvdXQgb2YgcmFuZ2UnOwogICAgICB9OwogICAgIC
B0YWJsZS5wYWdlKHBhZ2UgLSAxKS5kcmF3KGZhbHNlKTsKICAgIH0KCiAgICBtZXRob2RzLnJlbG9hZERhd
GEgPSBmdW5jdGlvbihyZXNldFBhZ2luZywgY2xlYXJTZWxlY3Rpb24pIHsKICAgICAgLy8gZW1wdHkgc2Vs
ZWN0aW9ucyBmaXJzdCBpZiBuZWNlc3NhcnkKICAgICAgaWYgKG1ldGhvZHMuc2VsZWN0Um93cyAmJiBpbkF
ycmF5KCdyb3cnLCBjbGVhclNlbGVjdGlvbikpIG1ldGhvZHMuc2VsZWN0Um93cyhbXSk7CiAgICAgIGlmIC
htZXRob2RzLnNlbGVjdENvbHVtbnMgJiYgaW5BcnJheSgnY29sdW1uJywgY2xlYXJTZWxlY3Rpb24pKSBtZ
XRob2RzLnNlbGVjdENvbHVtbnMoW10pOwogICAgICBpZiAobWV0aG9kcy5zZWxlY3RDZWxscyAmJiBpbkFy
cmF5KCdjZWxsJywgY2xlYXJTZWxlY3Rpb24pKSBtZXRob2RzLnNlbGVjdENlbGxzKFtdKTsKICAgICAgdGF
ibGUuYWpheC5yZWxvYWQobnVsbCwgcmVzZXRQYWdpbmcpOwogICAgfQoKICAgIHRhYmxlLnNoaW55TWV0aG
9kcyA9IG1ldGhvZHM7CiAgfSwKICByZXNpemU6IGZ1bmN0aW9uKGVsLCB3aWR0aCwgaGVpZ2h0LCBpbnN0Y
W5jZSkgewogICAgaWYgKGluc3RhbmNlLmRhdGEpIHRoaXMucmVuZGVyVmFsdWUoZWwsIGluc3RhbmNlLmRh
dGEsIGluc3RhbmNlKTsKCiAgICAvLyBkeW5hbWljYWxseSBhZGp1c3QgaGVpZ2h0IGlmIGZpbGxDb250YWl
uZXIgPSBUUlVFCiAgICBpZiAoaW5zdGFuY2UuZmlsbENvbnRhaW5lcikKICAgICAgdGhpcy5maWxsQXZhaW
xhYmxlSGVpZ2h0KGVsLCBoZWlnaHQpOwoKICAgIHRoaXMuYWRqdXN0V2lkdGgoZWwpOwogIH0sCgogIC8vI
GR5bmFtaWNhbGx5IHNldCB0aGUgc2Nyb2xsIGJvZHkgdG8gZmlsbCBhdmFpbGFibGUgaGVpZ2h0CiAgLy8g
KHVzZWQgd2l0aCBmaWxsQ29udGFpbmVyID0gVFJVRSkKICBmaWxsQXZhaWxhYmxlSGVpZ2h0OiBmdW5jdGl
vbihlbCwgYXZhaWxhYmxlSGVpZ2h0KSB7CgogICAgLy8gc2VlIGhvdyBtdWNoIG9mIHRoZSB0YWJsZSBpcy
BvY2N1cGllZCBieSBoZWFkZXIvZm9vdGVyIGVsZW1lbnRzCiAgICAvLyBhbmQgdXNlIHRoYXQgdG8gY29tc
HV0ZSBhIHRhcmdldCBzY3JvbGwgYm9keSBoZWlnaHQKICAgIHZhciBkdFdyYXBwZXIgPSAkKGVsKS5maW5k
KCdkaXYuZGF0YVRhYmxlc193cmFwcGVyJyk7CiAgICB2YXIgZHRTY3JvbGxCb2R5ID0gJChlbCkuZmluZCg
kKCdkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5JykpOwogICAgdmFyIGZyYW1pbmdIZWlnaHQgPSBkdFdyYX
BwZXIuaW5uZXJIZWlnaHQoKSAtIGR0U2Nyb2xsQm9keS5pbm5lckhlaWdodCgpOwogICAgdmFyIHNjcm9sb
EJvZHlIZWlnaHQgPSBhdmFpbGFibGVIZWlnaHQgLSBmcmFtaW5nSGVpZ2h0OwoKICAgIC8vIHNldCB0aGUg
aGVpZ2h0CiAgICBkdFNjcm9sbEJvZHkuaGVpZ2h0KHNjcm9sbEJvZHlIZWlnaHQgKyAncHgnKTsKICB9LAo
KICAvLyBhZGp1c3QgdGhlIHdpZHRoIG9mIGNvbHVtbnM7IHJlbW92ZSB0aGUgaGFyZC1jb2RlZCB3aWR0aH
Mgb24gdGFibGUgYW5kIHRoZQogIC8vIHNjcm9sbCBoZWFkZXIgd2hlbiBzY3JvbGxYL1kgYXJlIGVuYWJsZ
WQKICBhZGp1c3RXaWR0aDogZnVuY3Rpb24oZWwpIHsKICAgIHZhciAkZWwgPSAkKGVsKSwgdGFibGUgPSAk
ZWwuZGF0YSgnZGF0YXRhYmxlJyk7CiAgICBpZiAodGFibGUpIHRhYmxlLmNvbHVtbnMuYWRqdXN0KCk7CiA
gICAkZWwuZmluZCgnLmRhdGFUYWJsZXNfc2Nyb2xsSGVhZElubmVyJykuY3NzKCd3aWR0aCcsICcnKQogIC
AgICAgIC5jaGlsZHJlbigndGFibGUnKS5jc3MoJ21hcmdpbi1sZWZ0JywgJycpOwogIH0KfSk7CgogIGlmI
CghSFRNTFdpZGdldHMuc2hpbnlNb2RlKSByZXR1cm47CgogIFNoaW55LmFkZEN1c3RvbU1lc3NhZ2VIYW5k
bGVyKCdkYXRhdGFibGUtY2FsbHMnLCBmdW5jdGlvbihkYXRhKSB7CiAgICB2YXIgaWQgPSBkYXRhLmlkOwo
gICAgdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpOwogICAgdmFyIHRhYmxlID0gZWwgPy
AkKGVsKS5kYXRhKCdkYXRhdGFibGUnKSA6IG51bGw7CiAgICBpZiAoIXRhYmxlKSB7CiAgICAgIGNvbnNvb
GUubG9nKCJDb3VsZG4ndCBmaW5kIHRhYmxlIHdpdGggaWQgIiArIGlkKTsKICAgICAgcmV0dXJuOwogICAg
fQoKICAgIHZhciBtZXRob2RzID0gdGFibGUuc2hpbnlNZXRob2RzLCBjYWxsID0gZGF0YS5jYWxsOwogICA
gaWYgKG1ldGhvZHNbY2FsbC5tZXRob2RdKSB7CiAgICAgIG1ldGhvZHNbY2FsbC5tZXRob2RdLmFwcGx5KH
RhYmxlLCBjYWxsLmFyZ3MpOwogICAgfSBlbHNlIHsKICAgICAgY29uc29sZS5sb2coIlVua25vd24gbWV0a
G9kICIgKyBjYWxsLm1ldGhvZCk7CiAgICB9CiAgfSk7Cgp9KSgpOwo=\"></script>\n",
"<script title=\"dt-core\"
src=\"data:application/javascript;base64,LyohCiAgIENvcHlyaWdodCAyMDA4LTIwMTkgU3ByeU
1lZGlhIEx0ZC4KCiBUaGlzIHNvdXJjZSBmaWxlIGlzIGZyZWUgc29mdHdhcmUsIGF2YWlsYWJsZSB1bmRlc
iB0aGUgZm9sbG93aW5nIGxpY2Vuc2U6CiAgIE1JVCBsaWNlbnNlIC0gaHR0cDovL2RhdGF0YWJsZXMubmV0
L2xpY2Vuc2UKCiBUaGlzIHNvdXJjZSBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQ
gd2lsbCBiZSB1c2VmdWwsIGJ1dAogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW
1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkKIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBU
iBQVVJQT1NFLiBTZWUgdGhlIGxpY2Vuc2UgZmlsZXMgZm9yIGRldGFpbHMuCgogRm9yIGRldGFpbHMgcGxl
YXNlIHJlZmVyIHRvOiBodHRwOi8vd3d3LmRhdGF0YWJsZXMubmV0CiBEYXRhVGFibGVzIDEuMTAuMjAKIMK
pMjAwOC0yMDE5IFNwcnlNZWRpYSBMdGQgLSBkYXRhdGFibGVzLm5ldC9saWNlbnNlCiovCnZhciAkanNjb2
1wPSRqc2NvbXB8fHt9OyRqc2NvbXAuc2NvcGU9e307JGpzY29tcC5maW5kSW50ZXJuYWw9ZnVuY3Rpb24oZ
ix6LHkpe2YgaW5zdGFuY2VvZiBTdHJpbmcmJihmPVN0cmluZyhmKSk7Zm9yKHZhciBwPWYubGVuZ3RoLEg9
MDtIPHA7SCsrKXt2YXIgTD1mW0hdO2lmKHouY2FsbCh5LEwsSCxmKSlyZXR1cm57aTpILHY6TH19cmV0dXJ
ue2k6LTEsdjp2b2lkIDB9fTskanNjb21wLkFTU1VNRV9FUzU9ITE7JGpzY29tcC5BU1NVTUVfTk9fTkFUSV
ZFX01BUD0hMTskanNjb21wLkFTU1VNRV9OT19OQVRJVkVfU0VUPSExOyRqc2NvbXAuU0lNUExFX0ZST1VOR
F9QT0xZRklMTD0hMTsKJGpzY29tcC5kZWZpbmVQcm9wZXJ0eT0kanNjb21wLkFTU1VNRV9FUzV8fCJmdW5j
dGlvbiI9PXR5cGVvZiBPYmplY3QuZGVmaW5lUHJvcGVydGllcz9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnV
uY3Rpb24oZix6LHkpe2YhPUFycmF5LnByb3RvdHlwZSYmZiE9T2JqZWN0LnByb3RvdHlwZSYmKGZbel09eS
52YWx1ZSl9OyRqc2NvbXAuZ2V0R2xvYmFsPWZ1bmN0aW9uKGYpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb
2Ygd2luZG93JiZ3aW5kb3c9PT1mP2Y6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJm51bGwhPWdsb2Jh
bD9nbG9iYWw6Zn07JGpzY29tcC5nbG9iYWw9JGpzY29tcC5nZXRHbG9iYWwodGhpcyk7CiRqc2NvbXAucG9
seWZpbGw9ZnVuY3Rpb24oZix6LHkscCl7aWYoeil7eT0kanNjb21wLmdsb2JhbDtmPWYuc3BsaXQoIi4iKT
tmb3IocD0wO3A8Zi5sZW5ndGgtMTtwKyspe3ZhciBIPWZbcF07SCBpbiB5fHwoeVtIXT17fSk7eT15W0hdf
WY9ZltmLmxlbmd0aC0xXTtwPXlbZl07ej16KHApO3ohPXAmJm51bGwhPXomJiRqc2NvbXAuZGVmaW5lUHJv
cGVydHkoeSxmLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6en0pfX07JGpzY29tcC5wb2x
5ZmlsbCgiQXJyYXkucHJvdG90eXBlLmZpbmQiLGZ1bmN0aW9uKGYpe3JldHVybiBmP2Y6ZnVuY3Rpb24oZi
x5KXtyZXR1cm4gJGpzY29tcC5maW5kSW50ZXJuYWwodGhpcyxmLHkpLnZ9fSwiZXM2IiwiZXMzIik7Cihmd
W5jdGlvbihmKXsiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVl
cnkiXSxmdW5jdGlvbih6KXtyZXR1cm4gZih6LHdpbmRvdyxkb2N1bWVudCl9KToib2JqZWN0Ij09PXR5cGV
vZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWZ1bmN0aW9uKHoseSl7enx8KHo9d2luZG93KTt5fHwoeT0idW
5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3c/
cmVxdWlyZSgianF1ZXJ5Iik6cmVxdWlyZSgianF1ZXJ5IikoeikpO3JldHVybiBmKHkseix6LmRvY3VtZW5
0KX06ZihqUXVlcnksd2luZG93LGRvY3VtZW50KX0pKGZ1bmN0aW9uKGYseix5LHApe2Z1bmN0aW9uIEgoYS
l7dmFyIGIsYyxkPXt9O2YuZWFjaChhLGZ1bmN0aW9uKGUsaCl7KGI9ZS5tYXRjaCgvXihbXkEtWl0rPykoW
0EtWl0pLykpJiYtMSE9PSJhIGFhIGFpIGFvIGFzIGIgZm4gaSBtIG8gcyAiLmluZGV4T2YoYlsxXSsiICIp
JiYoYz1lLnJlcGxhY2UoYlswXSxiWzJdLnRvTG93ZXJDYXNlKCkpLApkW2NdPWUsIm8iPT09YlsxXSYmSCh
hW2VdKSl9KTthLl9odW5nYXJpYW5NYXA9ZH1mdW5jdGlvbiBMKGEsYixjKXthLl9odW5nYXJpYW5NYXB8fE
goYSk7dmFyIGQ7Zi5lYWNoKGIsZnVuY3Rpb24oZSxoKXtkPWEuX2h1bmdhcmlhbk1hcFtlXTtkPT09cHx8I
WMmJmJbZF0hPT1wfHwoIm8iPT09ZC5jaGFyQXQoMCk/
KGJbZF18fChiW2RdPXt9KSxmLmV4dGVuZCghMCxiW2RdLGJbZV0pLEwoYVtkXSxiW2RdLGMpKTpiW2RdPWJ
bZV0pfSl9ZnVuY3Rpb24gR2EoYSl7dmFyIGI9cS5kZWZhdWx0cy5vTGFuZ3VhZ2UsYz1iLnNEZWNpbWFsO2
MmJkhhKGMpO2lmKGEpe3ZhciBkPWEuc1plcm9SZWNvcmRzOyFhLnNFbXB0eVRhYmxlJiZkJiYiTm8gZGF0Y
SBhdmFpbGFibGUgaW4gdGFibGUiPT09Yi5zRW1wdHlUYWJsZSYmTShhLGEsInNaZXJvUmVjb3JkcyIsInNF
bXB0eVRhYmxlIik7IWEuc0xvYWRpbmdSZWNvcmRzJiZkJiYiTG9hZGluZy4uLiI9PT1iLnNMb2FkaW5nUmV
jb3JkcyYmTShhLGEsCiJzWmVyb1JlY29yZHMiLCJzTG9hZGluZ1JlY29yZHMiKTthLnNJbmZvVGhvdXNhbm
RzJiYoYS5zVGhvdXNhbmRzPWEuc0luZm9UaG91c2FuZHMpOyhhPWEuc0RlY2ltYWwpJiZjIT09YSYmSGEoY
Sl9fWZ1bmN0aW9uIGpiKGEpe0YoYSwib3JkZXJpbmciLCJiU29ydCIpO0YoYSwib3JkZXJNdWx0aSIsImJT
b3J0TXVsdGkiKTtGKGEsIm9yZGVyQ2xhc3NlcyIsImJTb3J0Q2xhc3NlcyIpO0YoYSwib3JkZXJDZWxsc1R
vcCIsImJTb3J0Q2VsbHNUb3AiKTtGKGEsIm9yZGVyIiwiYWFTb3J0aW5nIik7RihhLCJvcmRlckZpeGVkIi
wiYWFTb3J0aW5nRml4ZWQiKTtGKGEsInBhZ2luZyIsImJQYWdpbmF0ZSIpO0YoYSwicGFnaW5nVHlwZSIsI
nNQYWdpbmF0aW9uVHlwZSIpO0YoYSwicGFnZUxlbmd0aCIsImlEaXNwbGF5TGVuZ3RoIik7RihhLCJzZWFy
Y2hpbmciLCJiRmlsdGVyIik7ImJvb2xlYW4iPT09dHlwZW9mIGEuc1Njcm9sbFgmJihhLnNTY3JvbGxYPWE
uc1Njcm9sbFg/
IjEwMCUiOgoiIik7ImJvb2xlYW4iPT09dHlwZW9mIGEuc2Nyb2xsWCYmKGEuc2Nyb2xsWD1hLnNjcm9sbFg
/
IjEwMCUiOiIiKTtpZihhPWEuYW9TZWFyY2hDb2xzKWZvcih2YXIgYj0wLGM9YS5sZW5ndGg7YjxjO2IrKyl
hW2JdJiZMKHEubW9kZWxzLm9TZWFyY2gsYVtiXSl9ZnVuY3Rpb24ga2IoYSl7RihhLCJvcmRlcmFibGUiLC
JiU29ydGFibGUiKTtGKGEsIm9yZGVyRGF0YSIsImFEYXRhU29ydCIpO0YoYSwib3JkZXJTZXF1ZW5jZSIsI
mFzU29ydGluZyIpO0YoYSwib3JkZXJEYXRhVHlwZSIsInNvcnREYXRhVHlwZSIpO3ZhciBiPWEuYURhdGFT
b3J0OyJudW1iZXIiIT09dHlwZW9mIGJ8fGYuaXNBcnJheShiKXx8KGEuYURhdGFTb3J0PVtiXSl9ZnVuY3R
pb24gbGIoYSl7aWYoIXEuX19icm93c2VyKXt2YXIgYj17fTtxLl9fYnJvd3Nlcj1iO3ZhciBjPWYoIjxkaX
YvPiIpLmNzcyh7cG9zaXRpb246ImZpeGVkIix0b3A6MCxsZWZ0Oi0xKmYoeikuc2Nyb2xsTGVmdCgpLGhla
WdodDoxLHdpZHRoOjEsCm92ZXJmbG93OiJoaWRkZW4ifSkuYXBwZW5kKGYoIjxkaXYvPiIpLmNzcyh7cG9z
aXRpb246ImFic29sdXRlIix0b3A6MSxsZWZ0OjEsd2lkdGg6MTAwLG92ZXJmbG93OiJzY3JvbGwifSkuYXB
wZW5kKGYoIjxkaXYvPiIpLmNzcyh7d2lkdGg6IjEwMCUiLGhlaWdodDoxMH0pKSkuYXBwZW5kVG8oImJvZH
kiKSxkPWMuY2hpbGRyZW4oKSxlPWQuY2hpbGRyZW4oKTtiLmJhcldpZHRoPWRbMF0ub2Zmc2V0V2lkdGgtZ
FswXS5jbGllbnRXaWR0aDtiLmJTY3JvbGxPdmVyc2l6ZT0xMDA9PT1lWzBdLm9mZnNldFdpZHRoJiYxMDAh
PT1kWzBdLmNsaWVudFdpZHRoO2IuYlNjcm9sbGJhckxlZnQ9MSE9PU1hdGgucm91bmQoZS5vZmZzZXQoKS5
sZWZ0KTtiLmJCb3VuZGluZz1jWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoPyEwOiExO2Mucm
Vtb3ZlKCl9Zi5leHRlbmQoYS5vQnJvd3NlcixxLl9fYnJvd3Nlcik7YS5vU2Nyb2xsLmlCYXJXaWR0aD1xL
l9fYnJvd3Nlci5iYXJXaWR0aH0KZnVuY3Rpb24gbWIoYSxiLGMsZCxlLGgpe3ZhciBnPSExO2lmKGMhPT1w
KXt2YXIgaz1jO2c9ITB9Zm9yKDtkIT09ZTspYS5oYXNPd25Qcm9wZXJ0eShkKSYmKGs9Zz9iKGssYVtkXSx
kLGEpOmFbZF0sZz0hMCxkKz1oKTtyZXR1cm4ga31mdW5jdGlvbiBJYShhLGIpe3ZhciBjPXEuZGVmYXVsdH
MuY29sdW1uLGQ9YS5hb0NvbHVtbnMubGVuZ3RoO2M9Zi5leHRlbmQoe30scS5tb2RlbHMub0NvbHVtbixjL
HtuVGg6Yj9iOnkuY3JlYXRlRWxlbWVudCgidGgiKSxzVGl0bGU6Yy5zVGl0bGU/
Yy5zVGl0bGU6Yj9iLmlubmVySFRNTDoiIixhRGF0YVNvcnQ6Yy5hRGF0YVNvcnQ/
Yy5hRGF0YVNvcnQ6W2RdLG1EYXRhOmMubURhdGE/
Yy5tRGF0YTpkLGlkeDpkfSk7YS5hb0NvbHVtbnMucHVzaChjKTtjPWEuYW9QcmVTZWFyY2hDb2xzO2NbZF0
9Zi5leHRlbmQoe30scS5tb2RlbHMub1NlYXJjaCxjW2RdKTttYShhLGQsZihiKS5kYXRhKCkpfWZ1bmN0aW
9uIG1hKGEsYixjKXtiPWEuYW9Db2x1bW5zW2JdOwp2YXIgZD1hLm9DbGFzc2VzLGU9ZihiLm5UaCk7aWYoI
WIuc1dpZHRoT3JpZyl7Yi5zV2lkdGhPcmlnPWUuYXR0cigid2lkdGgiKXx8bnVsbDt2YXIgaD0oZS5hdHRy
KCJzdHlsZSIpfHwiIikubWF0Y2goL3dpZHRoOlxzKihcZCtbcHhlbSVdKykvKTtoJiYoYi5zV2lkdGhPcml
nPWhbMV0pfWMhPT1wJiZudWxsIT09YyYmKGtiKGMpLEwocS5kZWZhdWx0cy5jb2x1bW4sYywhMCksYy5tRG
F0YVByb3A9PT1wfHxjLm1EYXRhfHwoYy5tRGF0YT1jLm1EYXRhUHJvcCksYy5zVHlwZSYmKGIuX3NNYW51Y
WxUeXBlPWMuc1R5cGUpLGMuY2xhc3NOYW1lJiYhYy5zQ2xhc3MmJihjLnNDbGFzcz1jLmNsYXNzTmFtZSks
Yy5zQ2xhc3MmJmUuYWRkQ2xhc3MoYy5zQ2xhc3MpLGYuZXh0ZW5kKGIsYyksTShiLGMsInNXaWR0aCIsInN
XaWR0aE9yaWciKSxjLmlEYXRhU29ydCE9PXAmJihiLmFEYXRhU29ydD1bYy5pRGF0YVNvcnRdKSxNKGIsYy
wiYURhdGFTb3J0IikpO3ZhciBnPWIubURhdGEsaz1VKGcpLApsPWIubVJlbmRlcj9VKGIubVJlbmRlcik6b
nVsbDtjPWZ1bmN0aW9uKGEpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIGEmJi0xIT09YS5pbmRleE9mKCJA
Iil9O2IuX2JBdHRyU3JjPWYuaXNQbGFpbk9iamVjdChnKSYmKGMoZy5zb3J0KXx8YyhnLnR5cGUpfHxjKGc
uZmlsdGVyKSk7Yi5fc2V0dGVyPW51bGw7Yi5mbkdldERhdGE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWsoYS
xiLHAsYyk7cmV0dXJuIGwmJmI/
bChkLGIsYSxjKTpkfTtiLmZuU2V0RGF0YT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIFEoZykoYSxiLGMpfTs
ibnVtYmVyIiE9PXR5cGVvZiBnJiYoYS5fcm93UmVhZE9iamVjdD0hMCk7YS5vRmVhdHVyZXMuYlNvcnR8fC
hiLmJTb3J0YWJsZT0hMSxlLmFkZENsYXNzKGQuc1NvcnRhYmxlTm9uZSkpO2E9LTEhPT1mLmluQXJyYXkoI
mFzYyIsYi5hc1NvcnRpbmcpO2M9LTEhPT1mLmluQXJyYXkoImRlc2MiLGIuYXNTb3J0aW5nKTtiLmJTb3J0
YWJsZSYmKGF8fGMpP2EmJiFjPyhiLnNTb3J0aW5nQ2xhc3M9CmQuc1NvcnRhYmxlQXNjLGIuc1NvcnRpbmd
DbGFzc0pVST1kLnNTb3J0SlVJQXNjQWxsb3dlZCk6IWEmJmM/
KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZURlc2MsYi5zU29ydGluZ0NsYXNzSlVJPWQuc1NvcnRKVUl
EZXNjQWxsb3dlZCk6KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZSxiLnNTb3J0aW5nQ2xhc3NKVUk9ZC
5zU29ydEpVSSk6KGIuc1NvcnRpbmdDbGFzcz1kLnNTb3J0YWJsZU5vbmUsYi5zU29ydGluZ0NsYXNzSlVJP
SIiKX1mdW5jdGlvbiBhYShhKXtpZighMSE9PWEub0ZlYXR1cmVzLmJBdXRvV2lkdGgpe3ZhciBiPWEuYW9D
b2x1bW5zO0phKGEpO2Zvcih2YXIgYz0wLGQ9Yi5sZW5ndGg7YzxkO2MrKyliW2NdLm5UaC5zdHlsZS53aWR
0aD1iW2NdLnNXaWR0aH1iPWEub1Njcm9sbDsiIj09PWIuc1kmJiIiPT09Yi5zWHx8bmEoYSk7QShhLG51bG
wsImNvbHVtbi1zaXppbmciLFthXSl9ZnVuY3Rpb24gYmEoYSxiKXthPW9hKGEsImJWaXNpYmxlIik7cmV0d
XJuIm51bWJlciI9PT0KdHlwZW9mIGFbYl0/
YVtiXTpudWxsfWZ1bmN0aW9uIGNhKGEsYil7YT1vYShhLCJiVmlzaWJsZSIpO2I9Zi5pbkFycmF5KGIsYSk
7cmV0dXJuLTEhPT1iP2I6bnVsbH1mdW5jdGlvbiBXKGEpe3ZhciBiPTA7Zi5lYWNoKGEuYW9Db2x1bW5zLG
Z1bmN0aW9uKGEsZCl7ZC5iVmlzaWJsZSYmIm5vbmUiIT09ZihkLm5UaCkuY3NzKCJkaXNwbGF5IikmJmIrK
30pO3JldHVybiBifWZ1bmN0aW9uIG9hKGEsYil7dmFyIGM9W107Zi5tYXAoYS5hb0NvbHVtbnMsZnVuY3Rp
b24oYSxlKXthW2JdJiZjLnB1c2goZSl9KTtyZXR1cm4gY31mdW5jdGlvbiBLYShhKXt2YXIgYj1hLmFvQ29
sdW1ucyxjPWEuYW9EYXRhLGQ9cS5leHQudHlwZS5kZXRlY3QsZSxoLGc7dmFyIGs9MDtmb3IoZT1iLmxlbm
d0aDtrPGU7aysrKXt2YXIgZj1iW2tdO3ZhciBuPVtdO2lmKCFmLnNUeXBlJiZmLl9zTWFudWFsVHlwZSlmL
nNUeXBlPWYuX3NNYW51YWxUeXBlO2Vsc2UgaWYoIWYuc1R5cGUpe3ZhciBtPTA7Zm9yKGg9CmQubGVuZ3Ro
O208aDttKyspe3ZhciB3PTA7Zm9yKGc9Yy5sZW5ndGg7dzxnO3crKyl7blt3XT09PXAmJihuW3ddPUkoYSx
3LGssInR5cGUiKSk7dmFyIHU9ZFttXShuW3ddLGEpO2lmKCF1JiZtIT09ZC5sZW5ndGgtMSlicmVhaztpZi
giaHRtbCI9PT11KWJyZWFrfWlmKHUpe2Yuc1R5cGU9dTticmVha319Zi5zVHlwZXx8KGYuc1R5cGU9InN0c
mluZyIpfX19ZnVuY3Rpb24gbmIoYSxiLGMsZCl7dmFyIGUsaCxnLGs9YS5hb0NvbHVtbnM7aWYoYilmb3Io
ZT1iLmxlbmd0aC0xOzA8PWU7ZS0tKXt2YXIgbD1iW2VdO3ZhciBuPWwudGFyZ2V0cyE9PXA/
bC50YXJnZXRzOmwuYVRhcmdldHM7Zi5pc0FycmF5KG4pfHwobj1bbl0pO3ZhciBtPTA7Zm9yKGg9bi5sZW5
ndGg7bTxoO20rKylpZigibnVtYmVyIj09PXR5cGVvZiBuW21dJiYwPD1uW21dKXtmb3IoO2subGVuZ3RoPD
1uW21dOylJYShhKTtkKG5bbV0sbCl9ZWxzZSBpZigibnVtYmVyIj09PXR5cGVvZiBuW21dJiYwPm5bbV0pZ
ChrLmxlbmd0aCsKblttXSxsKTtlbHNlIGlmKCJzdHJpbmciPT09dHlwZW9mIG5bbV0pe3ZhciB3PTA7Zm9y
KGc9ay5sZW5ndGg7dzxnO3crKykoIl9hbGwiPT1uW21dfHxmKGtbd10ublRoKS5oYXNDbGFzcyhuW21dKSk
mJmQodyxsKX19aWYoYylmb3IoZT0wLGE9Yy5sZW5ndGg7ZTxhO2UrKylkKGUsY1tlXSl9ZnVuY3Rpb24gUi
hhLGIsYyxkKXt2YXIgZT1hLmFvRGF0YS5sZW5ndGgsaD1mLmV4dGVuZCghMCx7fSxxLm1vZGVscy5vUm93L
HtzcmM6Yz8iZG9tIjoiZGF0YSIsaWR4OmV9KTtoLl9hRGF0YT1iO2EuYW9EYXRh
LnB1c2goaCk7Zm9yKHZhciBnPWEuYW9Db2x1bW5zLGs9MCxsPWcubGVuZ3RoO2s8bDtrKyspZ1trXS5zVHl
wZT1udWxsO2EuYWlEaXNwbGF5TWFzdGVyLnB1c2goZSk7Yj1hLnJvd0lkRm4oYik7YiE9PXAmJihhLmFJZH
NbYl09aCk7IWMmJmEub0ZlYXR1cmVzLmJEZWZlclJlbmRlcnx8TGEoYSxlLGMsZCk7cmV0dXJuIGV9ZnVuY
3Rpb24gcGEoYSxiKXt2YXIgYztiIGluc3RhbmNlb2YKZnx8KGI9ZihiKSk7cmV0dXJuIGIubWFwKGZ1bmN0
aW9uKGIsZSl7Yz1NYShhLGUpO3JldHVybiBSKGEsYy5kYXRhLGUsYy5jZWxscyl9KX1mdW5jdGlvbiBJKGE
sYixjLGQpe3ZhciBlPWEuaURyYXcsaD1hLmFvQ29sdW1uc1tjXSxnPWEuYW9EYXRhW2JdLl9hRGF0YSxrPW
guc0RlZmF1bHRDb250ZW50LGY9aC5mbkdldERhdGEoZyxkLHtzZXR0aW5nczphLHJvdzpiLGNvbDpjfSk7a
WYoZj09PXApcmV0dXJuIGEuaURyYXdFcnJvciE9ZSYmbnVsbD09PWsmJihPKGEsMCwiUmVxdWVzdGVkIHVu
a25vd24gcGFyYW1ldGVyICIrKCJmdW5jdGlvbiI9PXR5cGVvZiBoLm1EYXRhPyJ7ZnVuY3Rpb259IjoiJyI
raC5tRGF0YSsiJyIpKyIgZm9yIHJvdyAiK2IrIiwgY29sdW1uICIrYyw0KSxhLmlEcmF3RXJyb3I9ZSksaz
tpZigoZj09PWd8fG51bGw9PT1mKSYmbnVsbCE9PWsmJmQhPT1wKWY9aztlbHNlIGlmKCJmdW5jdGlvbiI9P
T10eXBlb2YgZilyZXR1cm4gZi5jYWxsKGcpO3JldHVybiBudWxsPT09CmYmJiJkaXNwbGF5Ij09ZD8iIjpm
fWZ1bmN0aW9uIG9iKGEsYixjLGQpe2EuYW9Db2x1bW5zW2NdLmZuU2V0RGF0YShhLmFvRGF0YVtiXS5fYUR
hdGEsZCx7c2V0dGluZ3M6YSxyb3c6Yixjb2w6Y30pfWZ1bmN0aW9uIE5hKGEpe3JldHVybiBmLm1hcChhLm
1hdGNoKC8oXFwufFteXC5dKSsvZyl8fFsiIl0sZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVwbGFjZSgvXFxcL
i9nLCIuIil9KX1mdW5jdGlvbiBVKGEpe2lmKGYuaXNQbGFpbk9iamVjdChhKSl7dmFyIGI9e307Zi5lYWNo
KGEsZnVuY3Rpb24oYSxjKXtjJiYoYlthXT1VKGMpKX0pO3JldHVybiBmdW5jdGlvbihhLGMsaCxnKXt2YXI
gZD1iW2NdfHxiLl87cmV0dXJuIGQhPT1wP2QoYSxjLGgsZyk6YX19aWYobnVsbD09PWEpcmV0dXJuIGZ1bm
N0aW9uKGEpe3JldHVybiBhfTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGEpcmV0dXJuIGZ1bmN0aW9uKGIsY
yxoLGcpe3JldHVybiBhKGIsYyxoLGcpfTtpZigic3RyaW5nIiE9PXR5cGVvZiBhfHwKLTE9PT1hLmluZGV4
T2YoIi4iKSYmLTE9PT1hLmluZGV4T2YoIlsiKSYmLTE9PT1hLmluZGV4T2YoIigiKSlyZXR1cm4gZnVuY3R
pb24oYixjKXtyZXR1cm4gYlthXX07dmFyIGM9ZnVuY3Rpb24oYSxiLGgpe2lmKCIiIT09aCl7dmFyIGQ9Tm
EoaCk7Zm9yKHZhciBlPTAsbD1kLmxlbmd0aDtlPGw7ZSsrKXtoPWRbZV0ubWF0Y2goZGEpO3ZhciBuPWRbZ
V0ubWF0Y2goWCk7aWYoaCl7ZFtlXT1kW2VdLnJlcGxhY2UoZGEsIiIpOyIiIT09ZFtlXSYmKGE9YVtkW2Vd
XSk7bj1bXTtkLnNwbGljZSgwLGUrMSk7ZD1kLmpvaW4oIi4iKTtpZihmLmlzQXJyYXkoYSkpZm9yKGU9MCx
sPWEubGVuZ3RoO2U8bDtlKyspbi5wdXNoKGMoYVtlXSxiLGQpKTthPWhbMF0uc3Vic3RyaW5nKDEsaFswXS
5sZW5ndGgtMSk7YT0iIj09PWE/
bjpuLmpvaW4oYSk7YnJlYWt9ZWxzZSBpZihuKXtkW2VdPWRbZV0ucmVwbGFjZShYLCIiKTthPWFbZFtlXV0
oKTtjb250aW51ZX1pZihudWxsPT09YXx8YVtkW2VdXT09PQpwKXJldHVybiBwO2E9YVtkW2VdXX19cmV0dX
JuIGF9O3JldHVybiBmdW5jdGlvbihiLGUpe3JldHVybiBjKGIsZSxhKX19ZnVuY3Rpb24gUShhKXtpZihmL
mlzUGxhaW5PYmplY3QoYSkpcmV0dXJuIFEoYS5fKTtpZihudWxsPT09YSlyZXR1cm4gZnVuY3Rpb24oKXt9
O2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgYSlyZXR1cm4gZnVuY3Rpb24oYixkLGUpe2EoYiwic2V0IixkLGU
pfTtpZigic3RyaW5nIiE9PXR5cGVvZiBhfHwtMT09PWEuaW5kZXhPZigiLiIpJiYtMT09PWEuaW5kZXhPZi
giWyIpJiYtMT09PWEuaW5kZXhPZigiKCIpKXJldHVybiBmdW5jdGlvbihiLGQpe2JbYV09ZH07dmFyIGI9Z
nVuY3Rpb24oYSxkLGUpe2U9TmEoZSk7dmFyIGM9ZVtlLmxlbmd0aC0xXTtmb3IodmFyIGcsayxsPTAsbj1l
Lmxlbmd0aC0xO2w8bjtsKyspe2c9ZVtsXS5tYXRjaChkYSk7az1lW2xdLm1hdGNoKFgpO2lmKGcpe2VbbF0
9ZVtsXS5yZXBsYWNlKGRhLCIiKTthW2VbbF1dPVtdO2M9ZS5zbGljZSgpOwpjLnNwbGljZSgwLGwrMSk7Zz
1jLmpvaW4oIi4iKTtpZihmLmlzQXJyYXkoZCkpZm9yKGs9MCxuPWQubGVuZ3RoO2s8bjtrKyspYz17fSxiK
GMsZFtrXSxnKSxhW2VbbF1dLnB1c2goYyk7ZWxzZSBhW2VbbF1dPWQ7cmV0dXJufWsmJihlW2xdPWVbbF0u
cmVwbGFjZShYLCIiKSxhPWFbZVtsXV0oZCkpO2lmKG51bGw9PT1hW2VbbF1dfHxhW2VbbF1dPT09cClhW2V
bbF1dPXt9O2E9YVtlW2xdXX1pZihjLm1hdGNoKFgpKWFbYy5yZXBsYWNlKFgsIiIpXShkKTtlbHNlIGFbYy
5yZXBsYWNlKGRhLCIiKV09ZH07cmV0dXJuIGZ1bmN0aW9uKGMsZCl7cmV0dXJuIGIoYyxkLGEpfX1mdW5jd
GlvbiBPYShhKXtyZXR1cm4gSihhLmFvRGF0YSwiX2FEYXRhIil9ZnVuY3Rpb24gcWEoYSl7YS5hb0RhdGEu
bGVuZ3RoPTA7YS5haURpc3BsYXlNYXN0ZXIubGVuZ3RoPTA7YS5haURpc3BsYXkubGVuZ3RoPTA7YS5hSWR
zPXt9fWZ1bmN0aW9uIHJhKGEsYixjKXtmb3IodmFyIGQ9LTEsZT0wLGg9YS5sZW5ndGg7ZTwKaDtlKyspYV
tlXT09Yj9kPWU6YVtlXT5iJiZhW2VdLS07IC0xIT1kJiZjPT09cCYmYS5zcGxpY2UoZCwxKX1mdW5jdGlvb
iBlYShhLGIsYyxkKXt2YXIgZT1hLmFvRGF0YVtiXSxoLGc9ZnVuY3Rpb24oYyxkKXtmb3IoO2MuY2hpbGRO
b2Rlcy5sZW5ndGg7KWMucmVtb3ZlQ2hpbGQoYy5maXJzdENoaWxkKTtjLmlubmVySFRNTD1JKGEsYixkLCJ
kaXNwbGF5Iil9O2lmKCJkb20iIT09YyYmKGMmJiJhdXRvIiE9PWN8fCJkb20iIT09ZS5zcmMpKXt2YXIgaz
1lLmFuQ2VsbHM7aWYoaylpZihkIT09cClnKGtbZF0sZCk7ZWxzZSBmb3IoYz0wLGg9ay5sZW5ndGg7YzxoO
2MrKylnKGtbY10sYyl9ZWxzZSBlLl9hRGF0YT1NYShhLGUsZCxkPT09cD9wOmUuX2FEYXRhKS5kYXRhO2Uu
X2FTb3J0RGF0YT1udWxsO2UuX2FGaWx0ZXJEYXRhPW51bGw7Zz1hLmFvQ29sdW1ucztpZihkIT09cClnW2R
dLnNUeXBlPW51bGw7ZWxzZXtjPTA7Zm9yKGg9Zy5sZW5ndGg7YzxoO2MrKylnW2NdLnNUeXBlPW51bGw7Cl
BhKGEsZSl9fWZ1bmN0aW9uIE1hKGEsYixjLGQpe3ZhciBlPVtdLGg9Yi5maXJzdENoaWxkLGcsaz0wLGwsb
j1hLmFvQ29sdW1ucyxtPWEuX3Jvd1JlYWRPYmplY3Q7ZD1kIT09cD9kOm0/
e306W107dmFyIHc9ZnVuY3Rpb24oYSxiKXtpZigic3RyaW5nIj09PXR5cGVvZiBhKXt2YXIgYz1hLmluZGV
4T2YoIkAiKTstMSE9PWMmJihjPWEuc3Vic3RyaW5nKGMrMSksUShhKShkLGIuZ2V0QXR0cmlidXRlKGMpKS
l9fSx1PWZ1bmN0aW9uKGEpe2lmKGM9PT1wfHxjPT09aylnPW5ba10sbD1mLnRyaW0oYS5pbm5lckhUTUwpL
GcmJmcuX2JBdHRyU3JjPyhRKGcubURhdGEuXykoZCxsKSx3KGcubURhdGEuc29ydCxhKSx3KGcubURhdGEu
dHlwZSxhKSx3KGcubURhdGEuZmlsdGVyLGEpKTptPyhnLl9zZXR0ZXJ8fChnLl9zZXR0ZXI9UShnLm1EYXR
hKSksZy5fc2V0dGVyKGQsbCkpOmRba109bDtrKyt9O2lmKGgpZm9yKDtoOyl7dmFyIHE9aC5ub2RlTmFtZS
50b1VwcGVyQ2FzZSgpO2lmKCJURCI9PQpxfHwiVEgiPT1xKXUoaCksZS5wdXNoKGgpO2g9aC5uZXh0U2lib
GluZ31lbHNlIGZvcihlPWIuYW5DZWxscyxoPTAscT1lLmxlbmd0aDtoPHE7aCsrKXUoZVtoXSk7KGI9Yi5m
aXJzdENoaWxkP2I6Yi5uVHIpJiYoYj1iLmdldEF0dHJpYnV0ZSgiaWQiKSkmJlEoYS5yb3dJZCkoZCxiKTt
yZXR1cm57ZGF0YTpkLGNlbGxzOmV9fWZ1bmN0aW9uIExhKGEsYixjLGQpe3ZhciBlPWEuYW9EYXRhW2JdLG
g9ZS5fYURhdGEsZz1bXSxrLGw7aWYobnVsbD09PWUublRyKXt2YXIgbj1jfHx5LmNyZWF0ZUVsZW1lbnQoI
nRyIik7ZS5uVHI9bjtlLmFuQ2VsbHM9ZztuLl9EVF9Sb3dJbmRleD1iO1BhKGEsZSk7dmFyIG09MDtmb3Io
az1hLmFvQ29sdW1ucy5sZW5ndGg7bTxrO20rKyl7dmFyIHc9YS5hb0NvbHVtbnNbbV07dmFyIHA9KGw9Yz8
hMTohMCk/
eS5jcmVhdGVFbGVtZW50KHcuc0NlbGxUeXBlKTpkW21dO3AuX0RUX0NlbGxJbmRleD17cm93OmIsY29sdW1
uOm19O2cucHVzaChwKTtpZihsfHwKIShjJiYhdy5tUmVuZGVyJiZ3Lm1EYXRhPT09bXx8Zi5pc1BsYWluT2
JqZWN0KHcubURhdGEpJiZ3Lm1EYXRhLl89PT1tKyIuZGlzcGxheSIpKXAuaW5uZXJIVE1MPUkoYSxiLG0sI
mRpc3BsYXkiKTt3LnNDbGFzcyYmKHAuY2xhc3NOYW1lKz0iICIrdy5zQ2xhc3MpO3cuYlZpc2libGUmJiFj
P24uYXBwZW5kQ2hpbGQocCk6IXcuYlZpc2libGUmJmMmJnAucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChwKTt
3LmZuQ3JlYXRlZENlbGwmJncuZm5DcmVhdGVkQ2VsbC5jYWxsKGEub0luc3RhbmNlLHAsSShhLGIsbSksaC
xiLG0pfUEoYSwiYW9Sb3dDcmVhdGVkQ2FsbGJhY2siLG51bGwsW24saCxiLGddKX1lLm5Uci5zZXRBdHRya
WJ1dGUoInJvbGUiLCJyb3ciKX1mdW5jdGlvbiBQYShhLGIpe3ZhciBjPWIublRyLGQ9Yi5fYURhdGE7aWYo
Yyl7aWYoYT1hLnJvd0lkRm4oZCkpYy5pZD1hO2QuRFRfUm93Q2xhc3MmJihhPWQuRFRfUm93Q2xhc3Muc3B
saXQoIiAiKSxiLl9fcm93Yz1iLl9fcm93Yz8KdGEoYi5fX3Jvd2MuY29uY2F0KGEpKTphLGYoYykucmVtb3
ZlQ2xhc3MoYi5fX3Jvd2Muam9pbigiICIpKS5hZGRDbGFzcyhkLkRUX1Jvd0NsYXNzKSk7ZC5EVF9Sb3dBd
HRyJiZmKGMpLmF0dHIoZC5EVF9Sb3dBdHRyKTtkLkRUX1Jvd0RhdGEmJmYoYykuZGF0YShkLkRUX1Jvd0Rh
dGEpfX1mdW5jdGlvbiBwYihhKXt2YXIgYixjLGQ9YS5uVEhlYWQsZT1hLm5URm9vdCxoPTA9PT1mKCJ0aCw
gdGQiLGQpLmxlbmd0aCxnPWEub0NsYXNzZXMsaz1hLmFvQ29sdW1ucztoJiYoYz1mKCI8dHIvPiIpLmFwcG
VuZFRvKGQpKTt2YXIgbD0wO2ZvcihiPWsubGVuZ3RoO2w8YjtsKyspe3ZhciBuPWtbbF07dmFyIG09ZihuL
m5UaCkuYWRkQ2xhc3Mobi5zQ2xhc3MpO2gmJm0uYXBwZW5kVG8oYyk7YS5vRmVhdHVyZXMuYlNvcnQmJiht
LmFkZENsYXNzKG4uc1NvcnRpbmdDbGFzcyksITEhPT1uLmJTb3J0YWJsZSYmKG0uYXR0cigidGFiaW5kZXg
iLGEuaVRhYkluZGV4KS5hdHRyKCJhcmlhLWNvbnRyb2xzIiwKYS5zVGFibGVJZCksUWEoYSxuLm5UaCxsKS
kpO24uc1RpdGxlIT1tWzBdLmlubmVySFRNTCYmbS5odG1sKG4uc1RpdGxlKTtSYShhLCJoZWFkZXIiKShhL
G0sbixnKX1oJiZmYShhLmFvSGVhZGVyLGQpO2YoZCkuZmluZCgiPnRyIikuYXR0cigicm9sZSIsInJvdyIp
O2YoZCkuZmluZCgiPnRyPnRoLCA+dHI+dGQiKS5hZGRDbGFzcyhnLnNIZWFkZXJUSCk7ZihlKS5maW5kKCI
+dHI+dGgsID50cj50ZCIpLmFkZENsYXNzKGcuc0Zvb3RlclRIKTtpZihudWxsIT09ZSlmb3IoYT1hLmFvRm
9vdGVyWzBdLGw9MCxiPWEubGVuZ3RoO2w8YjtsKyspbj1rW2xdLG4ublRmPWFbbF0uY2VsbCxuLnNDbGFzc
yYmZihuLm5UZikuYWRkQ2xhc3Mobi5zQ2xhc3MpfWZ1bmN0aW9uIGhhKGEsYixjKXt2YXIgZCxlLGg9W10s
Zz1bXSxrPWEuYW9Db2x1bW5zLmxlbmd0aDtpZihiKXtjPT09cCYmKGM9ITEpO3ZhciBsPTA7Zm9yKGQ9Yi5
sZW5ndGg7bDxkO2wrKyl7aFtsXT1iW2xdLnNsaWNlKCk7aFtsXS5uVHI9CmJbbF0ublRyO2ZvcihlPWstMT
swPD1lO2UtLSlhLmFvQ29sdW1uc1tlXS5iVmlzaWJsZXx8Y3x8aFtsXS5zcGxpY2UoZSwxKTtnLnB1c2goW
10pfWw9MDtmb3IoZD1oLmxlbmd0aDtsPGQ7bCsrKXtpZihhPWhbbF0ublRyKWZvcig7ZT1hLmZpcnN0Q2hp
bGQ7KWEucmVtb3ZlQ2hpbGQoZSk7ZT0wO2ZvcihiPWhbbF0ubGVuZ3RoO2U8YjtlKyspe3ZhciBuPWs9MTt
pZihnW2xdW2VdPT09cCl7YS5hcHBlbmRDaGlsZChoW2xdW2VdLmNlbGwpO2ZvcihnW2xdW2VdPTE7aFtsK2
tdIT09cCYmaFtsXVtlXS5jZWxsPT1oW2wra11bZV0uY2VsbDspZ1tsK2tdW2VdPTEsaysrO2Zvcig7aFtsX
VtlK25dIT09cCYmaFtsXVtlXS5jZWxsPT1oW2xdW2Urbl0uY2VsbDspe2ZvcihjPTA7YzxrO2MrKylnW2wr
Y11bZStuXT0xO24rK31mKGhbbF1bZV0uY2VsbCkuYXR0cigicm93c3BhbiIsaykuYXR0cigiY29sc3BhbiI
sbil9fX19fWZ1bmN0aW9uIFMoYSl7dmFyIGI9QShhLCJhb1ByZURyYXdDYWxsYmFjayIsCiJwcmVEcmF3Ii
xbYV0pO2lmKC0xIT09Zi5pbkFycmF5KCExLGIpKUsoYSwhMSk7ZWxzZXtiPVtdO3ZhciBjPTAsZD1hLmFzU
3RyaXBlQ2xhc3NlcyxlPWQubGVuZ3RoLGg9YS5vTGFuZ3VhZ2UsZz1hLmlJbml0RGlzcGxheVN0YXJ0LGs9
InNzcCI9PUQoYSksbD1hLmFpRGlzcGxheTthLmJEcmF3aW5nPSEwO2chPT1wJiYtMSE9PWcmJihhLl9pRGl
zcGxheVN0YXJ0PWs/
ZzpnPj1hLmZuUmVjb3Jkc0Rpc3BsYXkoKT8wOmcsYS5pSW5pdERpc3BsYXlTdGFydD0tMSk7Zz1hLl9pRGl
zcGxheVN0YXJ0O3ZhciBuPWEuZm5EaXNwbGF5RW5kKCk7aWYoYS5iRGVmZXJMb2FkaW5nKWEuYkRlZmVyTG
9hZGluZz0hMSxhLmlEcmF3KyssSyhhLCExKTtlbHNlIGlmKCFrKWEuaURyYXcrKztlbHNlIGlmKCFhLmJEZ
XN0cm95aW5nJiYhcWIoYSkpcmV0dXJuO2lmKDAhPT1sLmxlbmd0aClmb3IoaD1rP2EuYW9EYXRhLmxlbmd0
aDpuLGs9az8wOmc7azxoO2srKyl7dmFyIG09bFtrXSx3PWEuYW9EYXRhW21dOwpudWxsPT09dy5uVHImJkx
hKGEsbSk7dmFyIHU9dy5uVHI7aWYoMCE9PWUpe3ZhciBxPWRbYyVlXTt3Ll9zUm93U3RyaXBlIT1xJiYoZi
h1KS5yZW1vdmVDbGFzcyh3Ll9zUm93U3RyaXBlKS5hZGRDbGFzcyhxKSx3Ll9zUm93U3RyaXBlPXEpfUEoY
SwiYW9Sb3dDYWxsYmFjayIsbnVsbCxbdSx3Ll9hRGF0YSxjLGssbV0pO2IucHVzaCh1KTtjKyt9ZWxzZSBj
PWguc1plcm9SZWNvcmRzLDE9PWEuaURyYXcmJiJhamF4Ij09RChhKT9jPWguc0xvYWRpbmdSZWNvcmRzOmg
uc0VtcHR5VGFibGUmJjA9PT1hLmZuUmVjb3Jkc1RvdGFsKCkmJihjPWguc0VtcHR5VGFibGUpLGJbMF09Zi
giPHRyLz4iLHsiY2xhc3MiOmU/
ZFswXToiIn0pLmFwcGVuZChmKCI8dGQgLz4iLHt2YWxpZ246InRvcCIsY29sU3BhbjpXKGEpLCJjbGFzcyI
6YS5vQ2xhc3Nlcy5zUm93RW1wdHl9KS5odG1sKGMpKVswXTtBKGEsImFvSGVhZGVyQ2FsbGJhY2siLCJoZW
FkZXIiLFtmKGEublRIZWFkKS5jaGlsZHJlbigidHIiKVswXSwKT2EoYSksZyxuLGxdKTtBKGEsImFvRm9vd
GVyQ2FsbGJhY2siLCJmb290ZXIiLFtmKGEublRGb290KS5jaGlsZHJlbigidHIiKVswXSxPYShhKSxnLG4s
bF0pO2Q9ZihhLm5UQm9keSk7ZC5jaGlsZHJlbigpLmRldGFjaCgpO2QuYXBwZW5kKGYoYikpO0EoYSwiYW9
EcmF3Q2FsbGJhY2siLCJkcmF3IixbYV0pO2EuYlNvcnRlZD0hMTthLmJGaWx0ZXJlZD0
hMTthLmJEcmF3aW5nPSExfX1mdW5jdGlvbiBWKGEsYil7dmFyIGM9YS5vRmVhdHVyZXMsZD1jLmJGaWx0ZX
I7Yy5iU29ydCYmcmIoYSk7ZD9pYShhLGEub1ByZXZpb3VzU2VhcmNoKTphLmFpRGlzcGxheT1hLmFpRGlzc
GxheU1hc3Rlci5zbGljZSgpOyEwIT09YiYmKGEuX2lEaXNwbGF5U3RhcnQ9MCk7YS5fZHJhd0hvbGQ9YjtT
KGEpO2EuX2RyYXdIb2xkPSExfWZ1bmN0aW9uIHNiKGEpe3ZhciBiPWEub0NsYXNzZXMsYz1mKGEublRhYmx
lKTtjPWYoIjxkaXYvPiIpLmluc2VydEJlZm9yZShjKTt2YXIgZD1hLm9GZWF0dXJlcyxlPQpmKCI8ZGl2Lz
4iLHtpZDphLnNUYWJsZUlkKyJfd3JhcHBlciIsImNsYXNzIjpiLnNXcmFwcGVyKyhhLm5URm9vdD8iIjoiI
CIrYi5zTm9Gb290ZXIpfSk7YS5uSG9sZGluZz1jWzBdO2EublRhYmxlV3JhcHBlcj1lWzBdO2EublRhYmxl
UmVpbnNlcnRCZWZvcmU9YS5uVGFibGUubmV4dFNpYmxpbmc7Zm9yKHZhciBoPWEuc0RvbS5zcGxpdCgiIik
sZyxrLGwsbixtLHAsdT0wO3U8aC5sZW5ndGg7dSsrKXtnPW51bGw7az1oW3VdO2lmKCI8Ij09ayl7bD1mKC
I8ZGl2Lz4iKVswXTtuPWhbdSsxXTtpZigiJyI9PW58fCciJz09bil7bT0iIjtmb3IocD0yO2hbdStwXSE9b
jspbSs9aFt1K3BdLHArKzsiSCI9PW0/
bT1iLnNKVUlIZWFkZXI6IkYiPT1tJiYobT1iLnNKVUlGb290ZXIpOy0xIT1tLmluZGV4T2YoIi4iKT8obj1
tLnNwbGl0KCIuIiksbC5pZD1uWzBdLnN1YnN0cigxLG5bMF0ubGVuZ3RoLTEpLGwuY2xhc3NOYW1lPW5bMV
0pOiIjIj09bS5jaGFyQXQoMCk/
bC5pZD1tLnN1YnN0cigxLAptLmxlbmd0aC0xKTpsLmNsYXNzTmFtZT1tO3UrPXB9ZS5hcHBlbmQobCk7ZT1
mKGwpfWVsc2UgaWYoIj4iPT1rKWU9ZS5wYXJlbnQoKTtlbHNlIGlmKCJsIj09ayYmZC5iUGFnaW5hdGUmJm
QuYkxlbmd0aENoYW5nZSlnPXRiKGEpO2Vsc2UgaWYoImYiPT1rJiZkLmJGaWx0ZXIpZz11YihhKTtlbHNlI
GlmKCJyIj09ayYmZC5iUHJvY2Vzc2luZylnPXZiKGEpO2Vsc2UgaWYoInQiPT1rKWc9d2IoYSk7ZWxzZSBp
ZigiaSI9PWsmJmQuYkluZm8pZz14YihhKTtlbHNlIGlmKCJwIj09ayYmZC5iUGFnaW5hdGUpZz15YihhKTt
lbHNlIGlmKDAhPT1xLmV4dC5mZWF0dXJlLmxlbmd0aClmb3IobD1xLmV4dC5mZWF0dXJlLHA9MCxuPWwubG
VuZ3RoO3A8bjtwKyspaWYoaz09bFtwXS5jRmVhdHVyZSl7Zz1sW3BdLmZuSW5pdChhKTticmVha31nJiYob
D1hLmFhbkZlYXR1cmVzLGxba118fChsW2tdPVtdKSxsW2tdLnB1c2goZyksZS5hcHBlbmQoZykpfWMucmVw
bGFjZVdpdGgoZSk7YS5uSG9sZGluZz0KbnVsbH1mdW5jdGlvbiBmYShhLGIpe2I9ZihiKS5jaGlsZHJlbig
idHIiKTt2YXIgYyxkLGU7YS5zcGxpY2UoMCxhLmxlbmd0aCk7dmFyIGg9MDtmb3IoZT1iLmxlbmd0aDtoPG
U7aCsrKWEucHVzaChbXSk7aD0wO2ZvcihlPWIubGVuZ3RoO2g8ZTtoKyspe3ZhciBnPWJbaF07Zm9yKGM9Z
y5maXJzdENoaWxkO2M7KXtpZigiVEQiPT1jLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCl8fCJUSCI9PWMubm9k
ZU5hbWUudG9VcHBlckNhc2UoKSl7dmFyIGs9MSpjLmdldEF0dHJpYnV0ZSgiY29sc3BhbiIpO3ZhciBsPTE
qYy5nZXRBdHRyaWJ1dGUoInJvd3NwYW4iKTtrPWsmJjAhPT1rJiYxIT09az9rOjE7bD1sJiYwIT09bCYmMS
E9PWw/
bDoxO3ZhciBuPTA7Zm9yKGQ9YVtoXTtkW25dOyluKys7dmFyIG09bjt2YXIgcD0xPT09az8hMDohMTtmb3I
oZD0wO2Q8aztkKyspZm9yKG49MDtuPGw7bisrKWFbaCtuXVttK2RdPXtjZWxsOmMsdW5pcXVlOnB9LGFbaC
tuXS5uVHI9Z31jPWMubmV4dFNpYmxpbmd9fX0KZnVuY3Rpb24gdWEoYSxiLGMpe3ZhciBkPVtdO2N8fChjP
WEuYW9IZWFkZXIsYiYmKGM9W10sZmEoYyxiKSkpO2I9MDtmb3IodmFyIGU9Yy5sZW5ndGg7YjxlO2IrKylm
b3IodmFyIGg9MCxnPWNbYl0ubGVuZ3RoO2g8ZztoKyspIWNbYl1baF0udW5pcXVlfHxkW2hdJiZhLmJTb3J
0Q2VsbHNUb3B8fChkW2hdPWNbYl1baF0uY2VsbCk7cmV0dXJuIGR9ZnVuY3Rpb24gdmEoYSxiLGMpe0EoYS
wiYW9TZXJ2ZXJQYXJhbXMiLCJzZXJ2ZXJQYXJhbXMiLFtiXSk7aWYoYiYmZi5pc0FycmF5KGIpKXt2YXIgZ
D17fSxlPS8oLio/
KVxbXF0kLztmLmVhY2goYixmdW5jdGlvbihhLGIpeyhhPWIubmFtZS5tYXRjaChlKSk/
KGE9YVswXSxkW2FdfHwoZFthXT1bXSksZFthXS5wdXNoKGIudmFsdWUpKTpkW2IubmFtZV09Yi52YWx1ZX0
pO2I9ZH12YXIgaD1hLmFqYXgsZz1hLm9JbnN0YW5jZSxrPWZ1bmN0aW9uKGIpe0EoYSxudWxsLCJ4aHIiLF
thLGIsYS5qcVhIUl0pO2MoYil9O2lmKGYuaXNQbGFpbk9iamVjdChoKSYmCmguZGF0YSl7dmFyIGw9aC5kY
XRhO3ZhciBuPSJmdW5jdGlvbiI9PT10eXBlb2YgbD9sKGIsYSk6bDtiPSJmdW5jdGlvbiI9PT10eXBlb2Yg
bCYmbj9uOmYuZXh0ZW5kKCEwLGIsbik7ZGVsZXRlIGguZGF0YX1uPXtkYXRhOmIsc3VjY2VzczpmdW5jdGl
vbihiKXt2YXIgYz1iLmVycm9yfHxiLnNFcnJvcjtjJiZPKGEsMCxjKTthLmpzb249YjtrKGIpfSxkYXRhVH
lwZToianNvbiIsY2FjaGU6ITEsdHlwZTphLnNTZXJ2ZXJNZXRob2QsZXJyb3I6ZnVuY3Rpb24oYixjLGQpe
2Q9QShhLG51bGwsInhociIsW2EsbnVsbCxhLmpxWEhSXSk7LTE9PT1mLmluQXJyYXkoITAsZCkmJigicGFy
c2VyZXJyb3IiPT1jP08oYSwwLCJJbnZhbGlkIEpTT04gcmVzcG9uc2UiLDEpOjQ9PT1iLnJlYWR5U3RhdGU
mJk8oYSwwLCJBamF4IGVycm9yIiw3KSk7SyhhLCExKX19O2Eub0FqYXhEYXRhPWI7QShhLG51bGwsInByZV
hociIsW2EsYl0pO2EuZm5TZXJ2ZXJEYXRhP2EuZm5TZXJ2ZXJEYXRhLmNhbGwoZywKYS5zQWpheFNvdXJjZ
SxmLm1hcChiLGZ1bmN0aW9uKGEsYil7cmV0dXJue25hbWU6Yix2YWx1ZTphfX0pLGssYSk6YS5zQWpheFNv
dXJjZXx8InN0cmluZyI9PT10eXBlb2YgaD9hLmpxWEhSPWYuYWpheChmLmV4dGVuZChuLHt1cmw6aHx8YS5
zQWpheFNvdXJjZX0pKToiZnVuY3Rpb24iPT09dHlwZW9mIGg/
YS5qcVhIUj1oLmNhbGwoZyxiLGssYSk6KGEuanFYSFI9Zi5hamF4KGYuZXh0ZW5kKG4saCkpLGguZGF0YT1
sKX1mdW5jdGlvbiBxYihhKXtyZXR1cm4gYS5iQWpheERhdGFHZXQ/
KGEuaURyYXcrKyxLKGEsITApLHZhKGEsemIoYSksZnVuY3Rpb24oYil7QWIoYSxiKX0pLCExKTohMH1mdW5
jdGlvbiB6YihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjPWIubGVuZ3RoLGQ9YS5vRmVhdHVyZXMsZT1hLm9Qcm
V2aW91c1NlYXJjaCxoPWEuYW9QcmVTZWFyY2hDb2xzLGc9W10saz1ZKGEpO3ZhciBsPWEuX2lEaXNwbGF5U
3RhcnQ7dmFyIG49ITEhPT1kLmJQYWdpbmF0ZT9hLl9pRGlzcGxheUxlbmd0aDoKLTE7dmFyIG09ZnVuY3Rp
b24oYSxiKXtnLnB1c2goe25hbWU6YSx2YWx1ZTpifSl9O20oInNFY2hvIixhLmlEcmF3KTttKCJpQ29sdW1
ucyIsYyk7bSgic0NvbHVtbnMiLEooYiwic05hbWUiKS5qb2luKCIsIikpO20oImlEaXNwbGF5U3RhcnQiLG
wpO20oImlEaXNwbGF5TGVuZ3RoIixuKTt2YXIgcD17ZHJhdzphLmlEcmF3LGNvbHVtbnM6W10sb3JkZXI6W
10sc3RhcnQ6bCxsZW5ndGg6bixzZWFyY2g6e3ZhbHVlOmUuc1NlYXJjaCxyZWdleDplLmJSZWdleH19O2Zv
cihsPTA7bDxjO2wrKyl7dmFyIHU9YltsXTt2YXIgc2E9aFtsXTtuPSJmdW5jdGlvbiI9PXR5cGVvZiB1Lm1
EYXRhPyJmdW5jdGlvbiI6dS5tRGF0YTtwLmNvbHVtbnMucHVzaCh7ZGF0YTpuLG5hbWU6dS5zTmFtZSxzZW
FyY2hhYmxlOnUuYlNlYXJjaGFibGUsb3JkZXJhYmxlOnUuYlNvcnRhYmxlLHNlYXJjaDp7dmFsdWU6c2Euc
1NlYXJjaCxyZWdleDpzYS5iUmVnZXh9fSk7bSgibURhdGFQcm9wXyIrbCxuKTtkLmJGaWx0ZXImJgoobSgi
c1NlYXJjaF8iK2wsc2Euc1NlYXJjaCksbSgiYlJlZ2V4XyIrbCxzYS5iUmVnZXgpLG0oImJTZWFyY2hhYmx
lXyIrbCx1LmJTZWFyY2hhYmxlKSk7ZC5iU29ydCYmbSgiYlNvcnRhYmxlXyIrbCx1LmJTb3J0YWJsZSl9ZC
5iRmlsdGVyJiYobSgic1NlYXJjaCIsZS5zU2VhcmNoKSxtKCJiUmVnZXgiLGUuYlJlZ2V4KSk7ZC5iU29yd
CYmKGYuZWFjaChrLGZ1bmN0aW9uKGEsYil7cC5vcmRlci5wdXNoKHtjb2x1bW46Yi5jb2wsZGlyOmIuZGly
fSk7bSgiaVNvcnRDb2xfIithLGIuY29sKTttKCJzU29ydERpcl8iK2EsYi5kaXIpfSksbSgiaVNvcnRpbmd
Db2xzIixrLmxlbmd0aCkpO2I9cS5leHQubGVnYWN5LmFqYXg7cmV0dXJuIG51bGw9PT1iP2Euc0FqYXhTb3
VyY2U/ZzpwOmI/
ZzpwfWZ1bmN0aW9uIEFiKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSxjKXtyZXR1cm4gYlthXSE9PXA/
YlthXTpiW2NdfSxkPXdhKGEsYiksZT1jKCJzRWNobyIsImRyYXciKSxoPWMoImlUb3RhbFJlY29yZHMiLAo
icmVjb3Jkc1RvdGFsIik7Yz1jKCJpVG90YWxEaXNwbGF5UmVjb3JkcyIsInJlY29yZHNGaWx0ZXJlZCIpO2
lmKGUpe2lmKDEqZTxhLmlEcmF3KXJldHVybjthLmlEcmF3PTEqZX1xYShhKTthLl9pUmVjb3Jkc1RvdGFsP
XBhcnNlSW50KGgsMTApO2EuX2lSZWNvcmRzRGlzcGxheT1wYXJzZUludChjLDEwKTtlPTA7Zm9yKGg9ZC5s
ZW5ndGg7ZTxoO2UrKylSKGEsZFtlXSk7YS5haURpc3BsYXk9YS5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKTt
hLmJBamF4RGF0YUdldD0hMTtTKGEpO2EuX2JJbml0Q29tcGxldGV8fHhhKGEsYik7YS5iQWpheERhdGFHZX
Q9ITA7SyhhLCExKX1mdW5jdGlvbiB3YShhLGIpe2E9Zi5pc1BsYWluT2JqZWN0KGEuYWpheCkmJmEuYWphe
C5kYXRhU3JjIT09cD9hLmFqYXguZGF0YVNyYzphLnNBamF4RGF0YVByb3A7cmV0dXJuImRhdGEiPT09YT9i
LmFhRGF0YXx8YlthXToiIiE9PWE/
VShhKShiKTpifWZ1bmN0aW9uIHViKGEpe3ZhciBiPWEub0NsYXNzZXMsYz0KYS5zVGFibGVJZCxkPWEub0x
hbmd1YWdlLGU9YS5vUHJldmlvdXNTZWFyY2gsaD1hLmFhbkZlYXR1cmVzLGc9JzxpbnB1dCB0eXBlPSJzZW
FyY2giIGNsYXNzPSInK2Iuc0ZpbHRlcklucHV0KyciLz4nLGs9ZC5zU2VhcmNoO2s9ay5tYXRjaCgvX0lOU
FVUXy8pP2sucmVwbGFjZSgiX0lOUFVUXyIsZyk6aytnO2I9ZigiPGRpdi8+Iix7aWQ6aC5mP251bGw6Yysi
X2ZpbHRlciIsImNsYXNzIjpiLnNGaWx0ZXJ9KS5hcHBlbmQoZigiPGxhYmVsLz4iKS5hcHBlbmQoaykpO2g
9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLnZhbHVlP3RoaXMudmFsdWU6IiI7YiE9ZS5zU2VhcmNoJiYoaWEoYS
x7c1NlYXJjaDpiLGJSZWdleDplLmJSZWdleCxiU21hcnQ6ZS5iU21hcnQsYkNhc2VJbnNlbnNpdGl2ZTplL
mJDYXNlSW5zZW5zaXRpdmV9KSxhLl9pRGlzcGxheVN0YXJ0PTAsUyhhKSl9O2c9bnVsbCE9PWEuc2VhcmNo
RGVsYXk/YS5zZWFyY2hEZWxheToic3NwIj09PUQoYSk/
NDAwOjA7dmFyIGw9ZigiaW5wdXQiLApiKS52YWwoZS5zU2VhcmNoKS5hdHRyKCJwbGFjZWhvbGRlciIsZC5
zU2VhcmNoUGxhY2Vob2xkZXIpLm9uKCJrZXl1cC5EVCBzZWFyY2guRFQgaW5wdXQuRFQgcGFzdGUuRFQgY3
V0LkRUIixnP1NhKGgsZyk6aCkub24oImtleXByZXNzLkRUIixmdW5jdGlvbihhKXtpZigxMz09YS5rZXlDb
2RlKXJldHVybiExfSkuYXR0cigiYXJpYS1jb250cm9scyIsYyk7ZihhLm5UYWJsZSkub24oInNlYXJjaC5k
dC5EVCIsZnVuY3Rpb24oYixjKXtpZihhPT09Yyl0cnl7bFswXSE9PXkuYWN0aXZlRWxlbWVudCYmbC52YWw
oZS5zU2VhcmNoKX1jYXRjaCh3KXt9fSk7cmV0dXJuIGJbMF19ZnVuY3Rpb24gaWEoYSxiLGMpe3ZhciBkPW
Eub1ByZXZpb3VzU2VhcmNoLGU9YS5hb1ByZVNlYXJjaENvbHMsaD1mdW5jdGlvbihhKXtkLnNTZWFyY2g9Y
S5zU2VhcmNoO2QuYlJlZ2V4PWEuYlJlZ2V4O2QuYlNtYXJ0PWEuYlNtYXJ0O2QuYkNhc2VJbnNlbnNpdGl2
ZT1hLmJDYXNlSW5zZW5zaXRpdmV9LGc9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuYkVzY2FwZVJlZ2V4IT09CnA
/
IWEuYkVzY2FwZVJlZ2V4OmEuYlJlZ2V4fTtLYShhKTtpZigic3NwIiE9RChhKSl7QmIoYSxiLnNTZWFyY2g
sYyxnKGIpLGIuYlNtYXJ0LGIuYkNhc2VJbnNlbnNpdGl2ZSk7aChiKTtmb3IoYj0wO2I8ZS5sZW5ndGg7Yi
srKUNiKGEsZVtiXS5zU2VhcmNoLGIsZyhlW2JdKSxlW2JdLmJTbWFydCxlW2JdLmJDYXNlSW5zZW5zaXRpd
mUpO0RiKGEpfWVsc2UgaChiKTthLmJGaWx0ZXJlZD0hMDtBKGEsbnVsbCwic2VhcmNoIixbYV0pfWZ1bmN0
aW9uIERiKGEpe2Zvcih2YXIgYj1xLmV4dC5zZWFyY2gsYz1hLmFpRGlzcGxheSxkLGUsaD0wLGc9Yi5sZW5
ndGg7aDxnO2grKyl7Zm9yKHZhciBrPVtdLGw9MCxuPWMubGVuZ3RoO2w8bjtsKyspZT1jW2xdLGQ9YS5hb0
RhdGFbZV0sYltoXShhLGQuX2FGaWx0ZXJEYXRhLGUsZC5fYURhdGEsbCkmJmsucHVzaChlKTtjLmxlbmd0a
D0wO2YubWVyZ2UoYyxrKX19ZnVuY3Rpb24gQ2IoYSxiLGMsZCxlLGgpe2lmKCIiIT09Yil7dmFyIGc9W10s
az0KYS5haURpc3BsYXk7ZD1UYShiLGQsZSxoKTtmb3IoZT0wO2U8ay5sZW5ndGg7ZSsrKWI9YS5hb0RhdGF
ba1tlXV0uX2FGaWx0ZXJEYXRhW2NdLGQudGVzdChiKSYmZy5wdXNoKGtbZV0pO2EuYWlEaXNwbGF5PWd9fW
Z1bmN0aW9uIEJiKGEsYixjLGQsZSxoKXtlPVRhKGIsZCxlLGgpO3ZhciBnPWEub1ByZXZpb3VzU2VhcmNoL
nNTZWFyY2gsaz1hLmFpRGlzcGxheU1hc3RlcjtoPVtdOzAhPT1xLmV4dC5zZWFyY2gubGVuZ3RoJiYoYz0h
MCk7dmFyIGY9RWIoYSk7aWYoMD49Yi5sZW5ndGgpYS5haURpc3BsYXk9ay5zbGljZSgpO2Vsc2V7aWYoZnx
8Y3x8ZHx8Zy5sZW5ndGg+Yi5sZW5ndGh8fDAhPT1iLmluZGV4T2YoZyl8fGEuYlNvcnRlZClhLmFpRGlzcG
xheT1rLnNsaWNlKCk7Yj1hLmFpRGlzcGxheTtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKWUudGVzdChhLmFvR
GF0YVtiW2NdXS5fc0ZpbHRlclJvdykmJmgucHVzaChiW2NdKTthLmFpRGlzcGxheT1ofX1mdW5jdGlvbiBU
YShhLGIsCmMsZCl7YT1iP2E6VWEoYSk7YyYmKGE9Il4oPz0uKj8iK2YubWFwKGEubWF0Y2goLyJbXiJdKyJ
8W14gXSsvZyl8fFsiIl0sZnVuY3Rpb24oYSl7aWYoJyInPT09YS5jaGFyQXQoMCkpe3ZhciBiPWEubWF0Y2
goL14iKC4qKSIkLyk7YT1iP2JbMV06YX1yZXR1cm4gYS5yZXBsYWNlKCciJywiIil9KS5qb2luKCIpKD89L
io/IikrIikuKiQiKTtyZXR1cm4gbmV3IFJlZ0V4cChhLGQ/
ImkiOiIiKX1mdW5jdGlvbiBFYihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjLGQsZT1xLmV4dC50eXBlLnNlYXJ
jaDt2YXIgaD0hMTt2YXIgZz0wO2ZvcihjPWEuYW9EYXRhLmxlbmd0aDtnPGM7ZysrKXt2YXIgaz1hLmFvRG
F0YVtnXTtpZighay5fYUZpbHRlckRhdGEpe3ZhciBmPVtdO3ZhciBuPTA7Zm9yKGQ9Yi5sZW5ndGg7bjxkO
24rKyl7aD1iW25dO2lmKGguYlNlYXJjaGFibGUpe3ZhciBtPUkoYSxnLG4sImZpbHRlciIpO2VbaC5zVHlw
ZV0mJihtPWVbaC5zVHlwZV0obSkpO251bGw9PT1tJiYobT0iIik7CiJzdHJpbmciIT09dHlwZW9mIG0mJm0
udG9TdHJpbmcmJihtPW0udG9TdHJpbmcoKSl9ZWxzZSBtPSIiO20uaW5kZXhPZiYmLTEhPT1tLmluZG
V4T2YoIiYiKSYmKHlhLmlubmVySFRNTD1tLG09JGI/
eWEudGV4dENvbnRlbnQ6eWEuaW5uZXJUZXh0KTttLnJlcGxhY2UmJihtPW0ucmVwbGFjZSgvW1xyXG5cdTI
wMjhdL2csIiIpKTtmLnB1c2gobSl9ay5fYUZpbHRlckRhdGE9ZjtrLl9zRmlsdGVyUm93PWYuam9pbigiIC
AiKTtoPSEwfX1yZXR1cm4gaH1mdW5jdGlvbiBGYihhKXtyZXR1cm57c2VhcmNoOmEuc1NlYXJjaCxzbWFyd
DphLmJTbWFydCxyZWdleDphLmJSZWdleCxjYXNlSW5zZW5zaXRpdmU6YS5iQ2FzZUluc2Vuc2l0aXZlfX1m
dW5jdGlvbiBHYihhKXtyZXR1cm57c1NlYXJjaDphLnNlYXJjaCxiU21hcnQ6YS5zbWFydCxiUmVnZXg6YS5
yZWdleCxiQ2FzZUluc2Vuc2l0aXZlOmEuY2FzZUluc2Vuc2l0aXZlfX1mdW5jdGlvbiB4YihhKXt2YXIgYj
1hLnNUYWJsZUlkLGM9YS5hYW5GZWF0dXJlcy5pLApkPWYoIjxkaXYvPiIseyJjbGFzcyI6YS5vQ2xhc3Nlc
y5zSW5mbyxpZDpjP251bGw6YisiX2luZm8ifSk7Y3x8KGEuYW9EcmF3Q2FsbGJhY2sucHVzaCh7Zm46SGIs
c05hbWU6ImluZm9ybWF0aW9uIn0pLGQuYXR0cigicm9sZSIsInN0YXR1cyIpLmF0dHIoImFyaWEtbGl2ZSI
sInBvbGl0ZSIpLGYoYS5uVGFibGUpLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLGIrIl9pbmZvIikpO3JldH
VybiBkWzBdfWZ1bmN0aW9uIEhiKGEpe3ZhciBiPWEuYWFuRmVhdHVyZXMuaTtpZigwIT09Yi5sZW5ndGgpe
3ZhciBjPWEub0xhbmd1YWdlLGQ9YS5faURpc3BsYXlTdGFydCsxLGU9YS5mbkRpc3BsYXlFbmQoKSxoPWEu
Zm5SZWNvcmRzVG90YWwoKSxnPWEuZm5SZWNvcmRzRGlzcGxheSgpLGs9Zz9jLnNJbmZvOmMuc0luZm9FbXB
0eTtnIT09aCYmKGsrPSIgIitjLnNJbmZvRmlsdGVyZWQpO2srPWMuc0luZm9Qb3N0Rml4O2s9SWIoYSxrKT
tjPWMuZm5JbmZvQ2FsbGJhY2s7bnVsbCE9PWMmJihrPWMuY2FsbChhLm9JbnN0YW5jZSwKYSxkLGUsaCxnL
GspKTtmKGIpLmh0bWwoayl9fWZ1bmN0aW9uIEliKGEsYil7dmFyIGM9YS5mbkZvcm1hdE51bWJlcixkPWEu
X2lEaXNwbGF5U3RhcnQrMSxlPWEuX2lEaXNwbGF5TGVuZ3RoLGg9YS5mblJlY29yZHNEaXNwbGF5KCksZz0
tMT09PWU7cmV0dXJuIGIucmVwbGFjZSgvX1NUQVJUXy9nLGMuY2FsbChhLGQpKS5yZXBsYWNlKC9fRU5EXy
9nLGMuY2FsbChhLGEuZm5EaXNwbGF5RW5kKCkpKS5yZXBsYWNlKC9fTUFYXy9nLGMuY2FsbChhLGEuZm5SZ
WNvcmRzVG90YWwoKSkpLnJlcGxhY2UoL19UT1RBTF8vZyxjLmNhbGwoYSxoKSkucmVwbGFjZSgvX1BBR0Vf
L2csYy5jYWxsKGEsZz8xOk1hdGguY2VpbChkL2UpKSkucmVwbGFjZSgvX1BBR0VTXy9nLGMuY2FsbChhLGc
/
MTpNYXRoLmNlaWwoaC9lKSkpfWZ1bmN0aW9uIGphKGEpe3ZhciBiPWEuaUluaXREaXNwbGF5U3RhcnQsYz1
hLmFvQ29sdW1uczt2YXIgZD1hLm9GZWF0dXJlczt2YXIgZT1hLmJEZWZlckxvYWRpbmc7aWYoYS5iSW5pdG
lhbGlzZWQpe3NiKGEpOwpwYihhKTtoYShhLGEuYW9IZWFkZXIpO2hhKGEsYS5hb0Zvb3Rlcik7SyhhLCEwK
TtkLmJBdXRvV2lkdGgmJkphKGEpO3ZhciBoPTA7Zm9yKGQ9Yy5sZW5ndGg7aDxkO2grKyl7dmFyIGc9Y1to
XTtnLnNXaWR0aCYmKGcublRoLnN0eWxlLndpZHRoPUIoZy5zV2lkdGgpKX1BKGEsbnVsbCwicHJlSW5pdCI
sW2FdKTtWKGEpO2M9RChhKTtpZigic3NwIiE9Y3x8ZSkiYWpheCI9PWM/
dmEoYSxbXSxmdW5jdGlvbihjKXt2YXIgZD13YShhLGMpO2ZvcihoPTA7aDxkLmxlbmd0aDtoKyspUihhLGR
baF0pO2EuaUluaXREaXNwbGF5U3RhcnQ9YjtWKGEpO0soYSwhMSk7eGEoYSxjKX0sYSk6KEsoYSwhMSkseG
EoYSkpfWVsc2Ugc2V0VGltZW91dChmdW5jdGlvbigpe2phKGEpfSwyMDApfWZ1bmN0aW9uIHhhKGEsYil7Y
S5fYkluaXRDb21wbGV0ZT0hMDsoYnx8YS5vSW5pdC5hYURhdGEpJiZhYShhKTtBKGEsbnVsbCwicGx1Z2lu
LWluaXQiLFthLGJdKTtBKGEsImFvSW5pdENvbXBsZXRlIiwiaW5pdCIsClthLGJdKX1mdW5jdGlvbiBWYSh
hLGIpe2I9cGFyc2VJbnQoYiwxMCk7YS5faURpc3BsYXlMZW5ndGg9YjtXYShhKTtBKGEsbnVsbCwibGVuZ3
RoIixbYSxiXSl9ZnVuY3Rpb24gdGIoYSl7dmFyIGI9YS5vQ2xhc3NlcyxjPWEuc1RhYmxlSWQsZD1hLmFMZ
W5ndGhNZW51LGU9Zi5pc0FycmF5KGRbMF0pLGg9ZT9kWzBdOmQ7ZD1lP2RbMV06ZDtlPWYoIjxzZWxlY3Qv
PiIse25hbWU6YysiX2xlbmd0aCIsImFyaWEtY29udHJvbHMiOmMsImNsYXNzIjpiLnNMZW5ndGhTZWxlY3R
9KTtmb3IodmFyIGc9MCxrPWgubGVuZ3RoO2c8aztnKyspZVswXVtnXT1uZXcgT3B0aW9uKCJudW1iZXIiPT
09dHlwZW9mIGRbZ10/
YS5mbkZvcm1hdE51bWJlcihkW2ddKTpkW2ddLGhbZ10pO3ZhciBsPWYoIjxkaXY+PGxhYmVsLz48L2Rpdj4
iKS5hZGRDbGFzcyhiLnNMZW5ndGgpO2EuYWFuRmVhdHVyZXMubHx8KGxbMF0uaWQ9YysiX2xlbmd0aCIpO2
wuY2hpbGRyZW4oKS5hcHBlbmQoYS5vTGFuZ3VhZ2Uuc0xlbmd0aE1lbnUucmVwbGFjZSgiX01FTlVfIiwKZ
VswXS5vdXRlckhUTUwpKTtmKCJzZWxlY3QiLGwpLnZhbChhLl9pRGlzcGxheUxlbmd0aCkub24oImNoYW5n
ZS5EVCIsZnVuY3Rpb24oYil7VmEoYSxmKHRoaXMpLnZhbCgpKTtTKGEpfSk7ZihhLm5UYWJsZSkub24oImx
lbmd0aC5kdC5EVCIsZnVuY3Rpb24oYixjLGQpe2E9PT1jJiZmKCJzZWxlY3QiLGwpLnZhbChkKX0pO3JldH
VybiBsWzBdfWZ1bmN0aW9uIHliKGEpe3ZhciBiPWEuc1BhZ2luYXRpb25UeXBlLGM9cS5leHQucGFnZXJbY
l0sZD0iZnVuY3Rpb24iPT09dHlwZW9mIGMsZT1mdW5jdGlvbihhKXtTKGEpfTtiPWYoIjxkaXYvPiIpLmFk
ZENsYXNzKGEub0NsYXNzZXMuc1BhZ2luZytiKVswXTt2YXIgaD1hLmFhbkZlYXR1cmVzO2R8fGMuZm5Jbml
0KGEsYixlKTtoLnB8fChiLmlkPWEuc1RhYmxlSWQrIl9wYWdpbmF0ZSIsYS5hb0RyYXdDYWxsYmFjay5wdX
NoKHtmbjpmdW5jdGlvbihhKXtpZihkKXt2YXIgYj1hLl9pRGlzcGxheVN0YXJ0LGc9YS5faURpc3BsYXlMZ
W5ndGgsCmY9YS5mblJlY29yZHNEaXNwbGF5KCksbT0tMT09PWc7Yj1tPzA6TWF0aC5jZWlsKGIvZyk7Zz1t
PzE6TWF0aC5jZWlsKGYvZyk7Zj1jKGIsZyk7dmFyIHA7bT0wO2ZvcihwPWgucC5sZW5ndGg7bTxwO20rKyl
SYShhLCJwYWdlQnV0dG9uIikoYSxoLnBbbV0sbSxmLGIsZyl9ZWxzZSBjLmZuVXBkYXRlKGEsZSl9LHNOYW
1lOiJwYWdpbmF0aW9uIn0pKTtyZXR1cm4gYn1mdW5jdGlvbiBYYShhLGIsYyl7dmFyIGQ9YS5faURpc3BsY
XlTdGFydCxlPWEuX2lEaXNwbGF5TGVuZ3RoLGg9YS5mblJlY29yZHNEaXNwbGF5KCk7MD09PWh8fC0xPT09
ZT9kPTA6Im51bWJlciI9PT10eXBlb2YgYj8oZD1iKmUsZD5oJiYoZD0wKSk6ImZpcnN0Ij09Yj9kPTA6InB
yZXZpb3VzIj09Yj8oZD0wPD1lP2QtZTowLDA+ZCYmKGQ9MCkpOiJuZXh0Ij09Yj9kK2U8aCYmKGQrPWUpOi
JsYXN0Ij09Yj9kPU1hdGguZmxvb3IoKGgtMSkvZSkqZTpPKGEsMCwiVW5rbm93biBwYWdpbmcgYWN0aW9uO
iAiK2IsNSk7Yj0KYS5faURpc3BsYXlTdGFydCE9PWQ7YS5faURpc3BsYXlTdGFydD1kO2ImJihBKGEsbnVs
bCwicGFnZSIsW2FdKSxjJiZTKGEpKTtyZXR1cm4gYn1mdW5jdGlvbiB2YihhKXtyZXR1cm4gZigiPGRpdi8
+Iix7aWQ6YS5hYW5GZWF0dXJlcy5yP251bGw6YS5zVGFibGVJZCsiX3Byb2Nlc3NpbmciLCJjbGFzcyI6YS
5vQ2xhc3Nlcy5zUHJvY2Vzc2luZ30pLmh0bWwoYS5vTGFuZ3VhZ2Uuc1Byb2Nlc3NpbmcpLmluc2VydEJlZ
m9yZShhLm5UYWJsZSlbMF19ZnVuY3Rpb24gSyhhLGIpe2Eub0ZlYXR1cmVzLmJQcm9jZXNzaW5nJiZmKGEu
YWFuRmVhdHVyZXMucikuY3NzKCJkaXNwbGF5IixiPyJibG9jayI6Im5vbmUiKTtBKGEsbnVsbCwicHJvY2V
zc2luZyIsW2EsYl0pfWZ1bmN0aW9uIHdiKGEpe3ZhciBiPWYoYS5uVGFibGUpO2IuYXR0cigicm9sZSIsIm
dyaWQiKTt2YXIgYz1hLm9TY3JvbGw7aWYoIiI9PT1jLnNYJiYiIj09PWMuc1kpcmV0dXJuIGEublRhYmxlO
3ZhciBkPWMuc1gsZT1jLnNZLApoPWEub0NsYXNzZXMsZz1iLmNoaWxkcmVuKCJjYXB0aW9uIiksaz1nLmxl
bmd0aD9nWzBdLl9jYXB0aW9uU2lkZTpudWxsLGw9ZihiWzBdLmNsb25lTm9kZSghMSkpLG49ZihiWzBdLmN
sb25lTm9kZSghMSkpLG09Yi5jaGlsZHJlbigidGZvb3QiKTttLmxlbmd0aHx8KG09bnVsbCk7bD1mKCI8ZG
l2Lz4iLHsiY2xhc3MiOmguc1Njcm9sbFdyYXBwZXJ9KS5hcHBlbmQoZigiPGRpdi8+Iix7ImNsYXNzIjpoL
nNTY3JvbGxIZWFkfSkuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUiLGJvcmRl
cjowLHdpZHRoOmQ/
ZD9CKGQpOm51bGw6IjEwMCUifSkuYXBwZW5kKGYoIjxkaXYvPiIseyJjbGFzcyI6aC5zU2Nyb2xsSGVhZEl
ubmVyfSkuY3NzKHsiYm94LXNpemluZyI6ImNvbnRlbnQtYm94Iix3aWR0aDpjLnNYSW5uZXJ8fCIxMDAlIn
0pLmFwcGVuZChsLnJlbW92ZUF0dHIoImlkIikuY3NzKCJtYXJnaW4tbGVmdCIsMCkuYXBwZW5kKCJ0b3AiP
T09az9nOm51bGwpLmFwcGVuZChiLmNoaWxkcmVuKCJ0aGVhZCIpKSkpKS5hcHBlbmQoZigiPGRpdi8+IiwK
eyJjbGFzcyI6aC5zU2Nyb2xsQm9keX0pLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIixvdmVyZmxvdzoiYXV
0byIsd2lkdGg6ZD9CKGQpOm51bGx9KS5hcHBlbmQoYikpO20mJmwuYXBwZW5kKGYoIjxkaXYvPiIseyJjbG
FzcyI6aC5zU2Nyb2xsRm9vdH0pLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIsYm9yZGVyOjAsd2lkdGg6ZD9kP
0IoZCk6bnVsbDoiMTAwJSJ9KS5hcHBlbmQoZigiPGRpdi8+Iix7ImNsYXNzIjpoLnNTY3JvbGxGb290SW5u
ZXJ9KS5hcHBlbmQobi5yZW1vdmVBdHRyKCJpZCIpLmNzcygibWFyZ2luLWxlZnQiLDApLmFwcGVuZCgiYm9
0dG9tIj09PWs/
ZzpudWxsKS5hcHBlbmQoYi5jaGlsZHJlbigidGZvb3QiKSkpKSk7Yj1sLmNoaWxkcmVuKCk7dmFyIHA9Yls
wXTtoPWJbMV07dmFyIHU9bT9iWzJdOm51bGw7aWYoZClmKGgpLm9uKCJzY3JvbGwuRFQiLGZ1bmN0aW9uKG
Epe2E9dGhpcy5zY3JvbGxMZWZ0O3Auc2Nyb2xsTGVmdD1hO20mJih1LnNjcm9sbExlZnQ9YSl9KTsKZihoK
S5jc3MoZSYmYy5iQ29sbGFwc2U/
Im1heC1oZWlnaHQiOiJoZWlnaHQiLGUpO2EublNjcm9sbEhlYWQ9cDthLm5TY3JvbGxCb2R5PWg7YS5uU2N
yb2xsRm9vdD11O2EuYW9EcmF3Q2FsbGJhY2sucHVzaCh7Zm46bmEsc05hbWU6InNjcm9sbGluZyJ9KTtyZX
R1cm4gbFswXX1mdW5jdGlvbiBuYShhKXt2YXIgYj1hLm9TY3JvbGwsYz1iLnNYLGQ9Yi5zWElubmVyLGU9Y
i5zWTtiPWIuaUJhcldpZHRoO3ZhciBoPWYoYS5uU2Nyb2xsSGVhZCksZz1oWzBdLnN0eWxlLGs9aC5jaGls
ZHJlbigiZGl2IiksbD1rWzBdLnN0eWxlLG49ay5jaGlsZHJlbigidGFibGUiKTtrPWEublNjcm9sbEJvZHk
7dmFyIG09ZihrKSx3PWsuc3R5bGUsdT1mKGEublNjcm9sbEZvb3QpLmNoaWxkcmVuKCJkaXYiKSxxPXUuY2
hpbGRyZW4oInRhYmxlIiksdD1mKGEublRIZWFkKSxyPWYoYS5uVGFibGUpLHY9clswXSx6YT12LnN0eWxlL
FQ9YS5uVEZvb3Q/
ZihhLm5URm9vdCk6bnVsbCxBPWEub0Jyb3dzZXIsCng9QS5iU2Nyb2xsT3ZlcnNpemUsYWM9SihhLmFvQ29
sdW1ucywiblRoIiksWWE9W10seT1bXSx6PVtdLEM9W10sRyxIPWZ1bmN0aW9uKGEpe2E9YS5zdHlsZTthLn
BhZGRpbmdUb3A9IjAiO2EucGFkZGluZ0JvdHRvbT0iMCI7YS5ib3JkZXJUb3BXaWR0aD0iMCI7YS5ib3JkZ
XJCb3R0b21XaWR0aD0iMCI7YS5oZWlnaHQ9MH07dmFyIEQ9ay5zY3JvbGxIZWlnaHQ+ay5jbGllbnRIZWln
aHQ7aWYoYS5zY3JvbGxCYXJWaXMhPT1EJiZhLnNjcm9sbEJhclZpcyE9PXApYS5zY3JvbGxCYXJWaXM9RCx
hYShhKTtlbHNle2Euc2Nyb2xsQmFyVmlzPUQ7ci5jaGlsZHJlbigidGhlYWQsIHRmb290IikucmVtb3ZlKC
k7aWYoVCl7dmFyIEU9VC5jbG9uZSgpLnByZXBlbmRUbyhyKTt2YXIgRj1ULmZpbmQoInRyIik7RT1FLmZpb
mQoInRyIil9dmFyIEk9dC5jbG9uZSgpLnByZXBlbmRUbyhyKTt0PXQuZmluZCgidHIiKTtEPUkuZmluZCgi
dHIiKTtJLmZpbmQoInRoLCB0ZCIpLnJlbW92ZUF0dHIoInRhYmluZGV4Iik7CmN8fCh3LndpZHRoPSIxMDA
lIixoWzBdLnN0eWxlLndpZHRoPSIxMDAlIik7Zi5lYWNoKHVhKGEsSSksZnVuY3Rpb24oYixjKXtHPWJhKG
EsYik7Yy5zdHlsZS53aWR0aD1hLmFvQ29sdW1uc1tHXS5zV2lkdGh9KTtUJiZOKGZ1bmN0aW9uKGEpe2Euc
3R5bGUud2lkdGg9IiJ9LEUpO2g9ci5vdXRlcldpZHRoKCk7IiI9PT1jPyh6YS53aWR0aD0iMTAwJSIseCYm
KHIuZmluZCgidGJvZHkiKS5oZWlnaHQoKT5rLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PW0uY3NzKCJvdmV
yZmxvdy15IikpJiYoemEud2lkdGg9QihyLm91dGVyV2lkdGgoKS1iKSksaD1yLm91dGVyV2lkdGgoKSk6Ii
IhPT1kJiYoemEud2lkdGg9QihkKSxoPXIub3V0ZXJXaWR0aCgpKTtOKEgsRCk7TihmdW5jdGlvbihhKXt6L
nB1c2goYS5pbm5lckhUTUwpO1lhLnB1c2goQihmKGEpLmNzcygid2lkdGgiKSkpfSxEKTtOKGZ1bmN0aW9u
KGEsYil7LTEhPT1mLmluQXJyYXkoYSxhYykmJihhLnN0eWxlLndpZHRoPVlhW2JdKX0sCnQpO2YoRCkuaGV
pZ2h0KDApO1QmJihOKEgsRSksTihmdW5jdGlvbihhKXtDLnB1c2goYS5pbm5lckhUTUwpO3kucHVzaChCKG
YoYSkuY3NzKCJ3aWR0aCIpKSl9LEUpLE4oZnVuY3Rpb24oYSxiKXthLnN0eWxlLndpZHRoPXlbYl19LEYpL
GYoRSkuaGVpZ2h0KDApKTtOKGZ1bmN0aW9uKGEsYil7YS5pbm5lckhUTUw9JzxkaXYgY2xhc3M9ImRhdGFU
YWJsZXNfc2l6aW5nIj4nK3pbYl0rIjwvZGl2PiI7YS5jaGlsZE5vZGVzWzBdLnN0eWxlLmhlaWdodD0iMCI
7YS5jaGlsZE5vZGVzWzBdLnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iO2Euc3R5bGUud2lkdGg9WWFbYl19LE
QpO1QmJk4oZnVuY3Rpb24oYSxiKXthLmlubmVySFRNTD0nPGRpdiBjbGFzcz0iZGF0YVRhYmxlc19zaXppb
mciPicrQ1tiXSsiPC9kaXY+IjthLmNoaWxkTm9kZXNbMF0uc3R5bGUuaGVpZ2h0PSIwIjthLmNoaWxkTm9k
ZXNbMF0uc3R5bGUub3ZlcmZsb3c9ImhpZGRlbiI7YS5zdHlsZS53aWR0aD15W2JdfSxFKTtyLm91dGVyV2l
kdGgoKTwKaD8oRj1rLnNjcm9sbEhlaWdodD5rLm9mZnNldEhlaWdodHx8InNjcm9sbCI9PW0uY3NzKCJvdm
VyZmxvdy15Iik/
aCtiOmgseCYmKGsuc2Nyb2xsSGVpZ2h0Pmsub2Zmc2V0SGVpZ2h0fHwic2Nyb2xsIj09bS5jc3MoIm92ZXJ
mbG93LXkiKSkmJih6YS53aWR0aD1CKEYtYikpLCIiIT09YyYmIiI9PT1kfHxPKGEsMSwiUG9zc2libGUgY2
9sdW1uIG1pc2FsaWdubWVudCIsNikpOkY9IjEwMCUiO3cud2lkdGg9QihGKTtnLndpZHRoPUIoRik7VCYmK
GEublNjcm9sbEZvb3Quc3R5bGUud2lkdGg9QihGKSk7IWUmJngmJih3LmhlaWdodD1CKHYub2Zmc2V0SGVp
Z2h0K2IpKTtjPXIub3V0ZXJXaWR0aCgpO25bMF0uc3R5bGUud2lkdGg9QihjKTtsLndpZHRoPUIoYyk7ZD1
yL
mhlaWdodCgpPmsuY2xpZW50SGVpZ2h0fHwic2Nyb2xsIj09bS5jc3MoIm92ZXJmbG93LXkiKTtlPSJwYWRk
aW5nIisoQS5iU2Nyb2xsYmFyTGVmdD8iTGVmdCI6IlJpZ2h0Iik7bFtlXT1kP2IrInB4IjoiMHB4IjtUJiY
KKHFbMF0uc3R5bGUud2lkdGg9QihjKSx1WzBdLnN0eWxlLndpZHRoPUIoYyksdVswXS5zdHlsZVtlXT1kP2
IrInB4IjoiMHB4Iik7ci5jaGlsZHJlbigiY29sZ3JvdXAiKS5pbnNlcnRCZWZvcmUoci5jaGlsZHJlbigid
GhlYWQiKSk7bS50cmlnZ2VyKCJzY3JvbGwiKTshYS5iU29ydGVkJiYhYS5iRmlsdGVyZWR8fGEuX2RyYXdI
b2xkfHwoay5zY3JvbGxUb3A9MCl9fWZ1bmN0aW9uIE4oYSxiLGMpe2Zvcih2YXIgZD0wLGU9MCxoPWIubGV
uZ3RoLGcsaztlPGg7KXtnPWJbZV0uZmlyc3RDaGlsZDtmb3Ioaz1jP2NbZV0uZmlyc3RDaGlsZDpudWxsO2
c7KTE9PT1nLm5vZGVUeXBlJiYoYz9hKGcsayxkKTphKGcsZCksZCsrKSxnPWcubmV4dFNpYmxpbmcsaz1jP
2submV4dFNpYmxpbmc6bnVsbDtlKyt9fWZ1bmN0aW9uIEphKGEpe3ZhciBiPWEublRhYmxlLGM9YS5hb0Nv
bHVtbnMsZD1hLm9TY3JvbGwsZT1kLnNZLGg9ZC5zWCxnPWQuc1hJbm5lcixrPWMubGVuZ3RoLGw9b2EoYSw
iYlZpc2libGUiKSwKbj1mKCJ0aCIsYS5uVEhlYWQpLG09Yi5nZXRBdHRyaWJ1dGUoIndpZHRoIikscD1iLn
BhcmVudE5vZGUsdT0hMSxxLHQ9YS5vQnJvd3NlcjtkPXQuYlNjcm9sbE92ZXJzaXplOyhxPWIuc3R5bGUud
2lkdGgpJiYtMSE9PXEuaW5kZXhPZigiJSIpJiYobT1xKTtmb3IocT0wO3E8bC5sZW5ndGg7cSsrKXt2YXIg
cj1jW2xbcV1dO251bGwhPT1yLnNXaWR0aCYmKHIuc1dpZHRoPUpiKHIuc1dpZHRoT3JpZyxwKSx1PSEwKX1
pZihkfHwhdSYmIWgmJiFlJiZrPT1XKGEpJiZrPT1uLmxlbmd0aClmb3IocT0wO3E8aztxKyspbD1iYShhLH
EpLG51bGwhPT1sJiYoY1tsXS5zV2lkdGg9QihuLmVxKHEpLndpZHRoKCkpKTtlbHNle2s9ZihiKS5jbG9uZ
SgpLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLnJlbW92ZUF0dHIoImlkIik7ay5maW5kKCJ0Ym9keSB0
ciIpLnJlbW92ZSgpO3ZhciB2PWYoIjx0ci8+IikuYXBwZW5kVG8oay5maW5kKCJ0Ym9keSIpKTtrLmZpbmQ
oInRoZWFkLCB0Zm9vdCIpLnJlbW92ZSgpOwprLmFwcGVuZChmKGEublRIZWFkKS5jbG9uZSgpKS5hcHBlbm
QoZihhLm5URm9vdCkuY2xvbmUoKSk7ay5maW5kKCJ0Zm9vdCB0aCwgdGZvb3QgdGQiKS5jc3MoIndpZHRoI
iwiIik7bj11YShhLGsuZmluZCgidGhlYWQiKVswXSk7Zm9yKHE9MDtxPGwubGVuZ3RoO3ErKylyPWNbbFtx
XV0sbltxXS5zdHlsZS53aWR0aD1udWxsIT09ci5zV2lkdGhPcmlnJiYiIiE9PXIuc1dpZHRoT3JpZz9CKHI
uc1dpZHRoT3JpZyk6IiIsci5zV2lkdGhPcmlnJiZoJiZmKG5bcV0pLmFwcGVuZChmKCI8ZGl2Lz4iKS5jc3
Moe3dpZHRoOnIuc1dpZHRoT3JpZyxtYXJnaW46MCxwYWRkaW5nOjAsYm9yZGVyOjAsaGVpZ2h0OjF9KSk7a
WYoYS5hb0RhdGEubGVuZ3RoKWZvcihxPTA7cTxsLmxlbmd0aDtxKyspdT1sW3FdLHI9Y1t1XSxmKEtiKGEs
dSkpLmNsb25lKCExKS5hcHBlbmQoci5zQ29udGVudFBhZGRpbmcpLmFwcGVuZFRvKHYpO2YoIltuYW1lXSI
saykucmVtb3ZlQXR0cigibmFtZSIpO3I9ZigiPGRpdi8+IikuY3NzKGh8fAplP3twb3NpdGlvbjoiYWJzb2
x1dGUiLHRvcDowLGxlZnQ6MCxoZWlnaHQ6MSxyaWdodDowLG92ZXJmbG93OiJoaWRkZW4ifTp7fSkuYXBwZ
W5kKGspLmFwcGVuZFRvKHApO2gmJmc/
ay53aWR0aChnKTpoPyhrLmNzcygid2lkdGgiLCJhdXRvIiksay5yZW1vdmVBdHRyKCJ3aWR0aCIpLGsud2l
kdGgoKTxwLmNsaWVudFdpZHRoJiZtJiZrLndpZHRoKHAuY2xpZW50V2lkdGgpKTplP2sud2lkdGgocC5jbG
llbnRXaWR0aCk6bSYmay53aWR0aChtKTtmb3IocT1lPTA7cTxsLmxlbmd0aDtxKyspcD1mKG5bcV0pLGc9c
C5vdXRlcldpZHRoKCktcC53aWR0aCgpLHA9dC5iQm91bmRpbmc/
TWF0aC5jZWlsKG5bcV0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpOnAub3V0ZXJXaWR0aCgpLGU
rPXAsY1tsW3FdXS5zV2lkdGg9QihwLWcpO2Iuc3R5bGUud2lkdGg9QihlKTtyLnJlbW92ZSgpfW0mJihiLn
N0eWxlLndpZHRoPUIobSkpOyFtJiYhaHx8YS5fcmVzekV2dHx8KGI9ZnVuY3Rpb24oKXtmKHopLm9uKCJyZ
XNpemUuRFQtIisKYS5zSW5zdGFuY2UsU2EoZnVuY3Rpb24oKXthYShhKX0pKX0sZD9zZXRUaW1lb3V0KGIs
MUUzKTpiKCksYS5fcmVzekV2dD0hMCl9ZnVuY3Rpb24gSmIoYSxiKXtpZighYSlyZXR1cm4gMDthPWYoIjx
kaXYvPiIpLmNzcygid2lkdGgiLEIoYSkpLmFwcGVuZFRvKGJ8fHkuYm9keSk7Yj1hWzBdLm9mZnNldFdpZH
RoO2EucmVtb3ZlKCk7cmV0dXJuIGJ9ZnVuY3Rpb24gS2IoYSxiKXt2YXIgYz1MYihhLGIpO2lmKDA+YylyZ
XR1cm4gbnVsbDt2YXIgZD1hLmFvRGF0YVtjXTtyZXR1cm4gZC5uVHI/
ZC5hbkNlbGxzW2JdOmYoIjx0ZC8+IikuaHRtbChJKGEsYyxiLCJkaXNwbGF5IikpWzBdfWZ1bmN0aW9uIEx
iKGEsYil7Zm9yKHZhciBjLGQ9LTEsZT0tMSxoPTAsZz1hLmFvRGF0YS5sZW5ndGg7aDxnO2grKyljPUkoYS
xoLGIsImRpc3BsYXkiKSsiIixjPWMucmVwbGFjZShiYywiIiksYz1jLnJlcGxhY2UoLyZuYnNwOy9nLCIgI
iksYy5sZW5ndGg+ZCYmKGQ9Yy5sZW5ndGgsZT1oKTtyZXR1cm4gZX0KZnVuY3Rpb24gQihhKXtyZXR1cm4g
bnVsbD09PWE/
IjBweCI6Im51bWJlciI9PXR5cGVvZiBhPzA+YT8iMHB4IjphKyJweCI6YS5tYXRjaCgvXGQkLyk/
YSsicHgiOmF9ZnVuY3Rpb24gWShhKXt2YXIgYj1bXSxjPWEuYW9Db2x1bW5zO3ZhciBkPWEuYWFTb3J0aW5
nRml4ZWQ7dmFyIGU9Zi5pc1BsYWluT2JqZWN0KGQpO3ZhciBoPVtdO3ZhciBnPWZ1bmN0aW9uKGEpe2EubG
VuZ3RoJiYhZi5pc0FycmF5KGFbMF0pP2gucHVzaChhKTpmLm1lcmdlKGgsYSl9O2YuaXNBcnJheShkKSYmZ
yhkKTtlJiZkLnByZSYmZyhkLnByZSk7ZyhhLmFhU29ydGluZyk7ZSYmZC5wb3N0JiZnKGQucG9zdCk7Zm9y
KGE9MDthPGgubGVuZ3RoO2ErKyl7dmFyIGs9aFthXVswXTtnPWNba10uYURhdGFTb3J0O2Q9MDtmb3IoZT1
nLmxlbmd0aDtkPGU7ZCsrKXt2YXIgbD1nW2RdO3ZhciBuPWNbbF0uc1R5cGV8fCJzdHJpbmciO2hbYV0uX2
lkeD09PXAmJihoW2FdLl9pZHg9Zi5pbkFycmF5KGhbYV1bMV0sY1tsXS5hc1NvcnRpbmcpKTsKYi5wdXNoK
HtzcmM6ayxjb2w6bCxkaXI6aFthXVsxXSxpbmRleDpoW2FdLl9pZHgsdHlwZTpuLGZvcm1hdHRlcjpxLmV4
dC50eXBlLm9yZGVyW24rIi1wcmUiXX0pfX1yZXR1cm4gYn1mdW5jdGlvbiByYihhKXt2YXIgYixjPVtdLGQ
9cS5leHQudHlwZS5vcmRlcixlPWEuYW9EYXRhLGg9MCxnPWEuYWlEaXNwbGF5TWFzdGVyO0thKGEpO3Zhci
BrPVkoYSk7dmFyIGY9MDtmb3IoYj1rLmxlbmd0aDtmPGI7ZisrKXt2YXIgbj1rW2ZdO24uZm9ybWF0dGVyJ
iZoKys7TWIoYSxuLmNvbCl9aWYoInNzcCIhPUQoYSkmJjAhPT1rLmxlbmd0aCl7Zj0wO2ZvcihiPWcubGVu
Z3RoO2Y8YjtmKyspY1tnW2ZdXT1mO2g9PT1rLmxlbmd0aD9nLnNvcnQoZnVuY3Rpb24oYSxiKXt2YXIgZCx
oPWsubGVuZ3RoLGc9ZVthXS5fYVNvcnREYXRhLGY9ZVtiXS5fYVNvcnREYXRhO2ZvcihkPTA7ZDxoO2QrKy
l7dmFyIGw9a1tkXTt2YXIgbT1nW2wuY29sXTt2YXIgbj1mW2wuY29sXTttPW08bj8tMTptPm4/
MTowOwppZigwIT09bSlyZXR1cm4iYXNjIj09PWwuZGlyP206LW19bT1jW2FdO249Y1tiXTtyZXR1cm4gbTx
uPy0xOm0+bj8xOjB9KTpnLnNvcnQoZnVuY3Rpb24oYSxiKXt2YXIgaCxnPWsubGVuZ3RoLGY9ZVthXS5fYV
NvcnREYXRhLGw9ZVtiXS5fYVNvcnREYXRhO2ZvcihoPTA7aDxnO2grKyl7dmFyIG09a1toXTt2YXIgbj1mW
20uY29sXTt2YXIgcD1sW20uY29sXTttPWRbbS50eXBlKyItIittLmRpcl18fGRbInN0cmluZy0iK20uZGly
XTtuPW0obixwKTtpZigwIT09bilyZXR1cm4gbn1uPWNbYV07cD1jW2JdO3JldHVybiBuPHA/
LTE6bj5wPzE6MH0pfWEuYlNvcnRlZD0hMH1mdW5jdGlvbiBOYihhKXt2YXIgYj1hLmFvQ29sdW1ucyxjPVk
oYSk7YT1hLm9MYW5ndWFnZS5vQXJpYTtmb3IodmFyIGQ9MCxlPWIubGVuZ3RoO2Q8ZTtkKyspe3ZhciBoPW
JbZF07dmFyIGc9aC5hc1NvcnRpbmc7dmFyIGs9aC5zVGl0bGUucmVwbGFjZSgvPC4qPz4vZywiIik7dmFyI
GY9aC5uVGg7Zi5yZW1vdmVBdHRyaWJ1dGUoImFyaWEtc29ydCIpOwpoLmJTb3J0YWJsZSYmKDA8Yy5sZW5n
dGgmJmNbMF0uY29sPT1kPyhmLnNldEF0dHJpYnV0ZSgiYXJpYS1zb3J0IiwiYXNjIj09Y1swXS5kaXI/
ImFzY2VuZGluZyI6ImRlc2NlbmRpbmciKSxoPWdbY1swXS5pbmRleCsxXXx8Z1swXSk6aD1nWzBdLGsrPSJ
hc2MiPT09aD9hLnNTb3J0QXNjZW5kaW5nOmEuc1NvcnREZXNjZW5kaW5nKTtmLnNldEF0dHJpYnV0ZSgiYX
JpYS1sYWJlbCIsayl9fWZ1bmN0aW9uIFphKGEsYixjLGQpe3ZhciBlPWEuYWFTb3J0aW5nLGg9YS5hb0Nvb
HVtbnNbYl0uYXNTb3J0aW5nLGc9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLl9pZHg7Yz09PXAmJihjPWYuaW5B
cnJheShhWzFdLGgpKTtyZXR1cm4gYysxPGgubGVuZ3RoP2MrMTpiP251bGw6MH07Im51bWJlciI9PT10eXB
lb2YgZVswXSYmKGU9YS5hYVNvcnRpbmc9W2VdKTtjJiZhLm9GZWF0dXJlcy5iU29ydE11bHRpPyhjPWYuaW
5BcnJheShiLEooZSwiMCIpKSwtMSE9PWM/
KGI9ZyhlW2NdLCEwKSxudWxsPT09CmImJjE9PT1lLmxlbmd0aCYmKGI9MCksbnVsbD09PWI/
ZS5zcGxpY2UoYywxKTooZVtjXVsxXT1oW2JdLGVbY10uX2lkeD1iKSk6KGUucHVzaChbYixoWzBdLDBdKSx
lW2UubGVuZ3RoLTFdLl9pZHg9MCkpOmUubGVuZ3RoJiZlWzBdWzBdPT1iPyhiPWcoZVswXSksZS5sZW5ndG
g9MSxlWzBdWzFdPWhbYl0sZVswXS5faWR4PWIpOihlLmxlbmd0aD0wLGUucHVzaChbYixoWzBdXSksZVswX
S5faWR4PTApO1YoYSk7ImZ1bmN0aW9uIj09dHlwZW9mIGQmJmQoYSl9ZnVuY3Rpb24gUWEoYSxiLGMsZCl7
dmFyIGU9YS5hb0NvbHVtbnNbY107JGEoYix7fSxmdW5jdGlvbihiKXshMSE9PWUuYlNvcnRhYmxlJiYoYS5
vRmVhdHVyZXMuYlByb2Nlc3Npbmc/
KEsoYSwhMCksc2V0VGltZW91dChmdW5jdGlvbigpe1phKGEsYyxiLnNoaWZ0S2V5LGQpOyJzc3AiIT09RCh
hKSYmSyhhLCExKX0sMCkpOlphKGEsYyxiLnNoaWZ0S2V5LGQpKX0pfWZ1bmN0aW9uIEFhKGEpe3ZhciBiPW
EuYUxhc3RTb3J0LApjPWEub0NsYXNzZXMuc1NvcnRDb2x1bW4sZD1ZKGEpLGU9YS5vRmVhdHVyZXMsaDtpZ
ihlLmJTb3J0JiZlLmJTb3J0Q2xhc3Nlcyl7ZT0wO2ZvcihoPWIubGVuZ3RoO2U8aDtlKyspe3ZhciBnPWJb
ZV0uc3JjO2YoSihhLmFvRGF0YSwiYW5DZWxscyIsZykpLnJlbW92ZUNsYXNzKGMrKDI+ZT9lKzE6MykpfWU
9MDtmb3IoaD1kLmxlbmd0aDtlPGg7ZSsrKWc9ZFtlXS5zcmMsZihKKGEuYW9EYXRhLCJhbkNlbGxzIixnKS
kuYWRkQ2xhc3MoYysoMj5lP2UrMTozKSl9YS5hTGFzdFNvcnQ9ZH1mdW5jdGlvbiBNYihhLGIpe3ZhciBjP
WEuYW9Db2x1bW5zW2JdLGQ9cS5leHQub3JkZXJbYy5zU29ydERhdGFUeXBlXSxlO2QmJihlPWQuY2FsbChh
Lm9JbnN0YW5jZSxhLGIsY2EoYSxiKSkpO2Zvcih2YXIgaCxnPXEuZXh0LnR5cGUub3JkZXJbYy5zVHlwZSs
iLXByZSJdLGs9MCxmPWEuYW9EYXRhLmxlbmd0aDtrPGY7aysrKWlmKGM9YS5hb0RhdGFba10sYy5fYVNvcn
REYXRhfHwoYy5fYVNvcnREYXRhPQpbXSksIWMuX2FTb3J0RGF0YVtiXXx8ZCloPWQ/
ZVtrXTpJKGEsayxiLCJzb3J0IiksYy5fYVNvcnREYXRhW2JdPWc/
ZyhoKTpofWZ1bmN0aW9uIEJhKGEpe2lmKGEub0ZlYXR1cmVzLmJTdGF0ZVNhdmUmJiFhLmJEZXN0cm95aW5
nKXt2YXIgYj17dGltZTorbmV3IERhdGUsc3RhcnQ6YS5faURpc3BsYXlTdGFydCxsZW5ndGg6YS5faURpc3
BsYXlMZW5ndGgsb3JkZXI6Zi5leHRlbmQoITAsW10sYS5hYVNvcnRpbmcpLHNlYXJjaDpGYihhLm9QcmV2a
W91c1NlYXJjaCksY29sdW1uczpmLm1hcChhLmFvQ29sdW1ucyxmdW5jdGlvbihiLGQpe3JldHVybnt2aXNp
YmxlOmIuYlZpc2libGUsc2VhcmNoOkZiKGEuYW9QcmVTZWFyY2hDb2xzW2RdKX19KX07QShhLCJhb1N0YXR
lU2F2ZVBhcmFtcyIsInN0YXRlU2F2ZVBhcmFtcyIsW2EsYl0pO2Eub1NhdmVkU3RhdGU9YjthLmZuU3RhdG
VTYXZlQ2FsbGJhY2suY2FsbChhLm9JbnN0YW5jZSxhLGIpfX1mdW5jdGlvbiBPYihhLGIsYyl7dmFyIGQsC
mUsaD1hLmFvQ29sdW1ucztiPWZ1bmN0aW9uKGIpe2lmKGImJmIudGltZSl7dmFyIGc9QShhLCJhb1N0YXRl
TG9hZFBhcmFtcyIsInN0YXRlTG9hZFBhcmFtcyIsW2EsYl0pO2lmKC0xPT09Zi5pbkFycmF5KCExLGcpJiY
oZz1hLmlTdGF0ZUR1cmF0aW9uLCEoMDxnJiZiLnRpbWU8K25ldyBEYXRlLTFFMypnfHxiLmNvbHVtbnMmJm
gubGVuZ3RoIT09Yi5jb2x1bW5zLmxlbmd0aCkpKXthLm9Mb2FkZWRTdGF0ZT1mLmV4dGVuZCghMCx7fSxiK
TtiLnN0YXJ0IT09cCYmKGEuX2lEaXNwbGF5U3RhcnQ9Yi5zdGFydCxhLmlJbml0RGlzcGxheVN0YXJ0PWIu
c3RhcnQpO2IubGVuZ3RoIT09cCYmKGEuX2lEaXNwbGF5TGVuZ3RoPWIubGVuZ3RoKTtiLm9yZGVyIT09cCY
mKGEuYWFTb3J0aW5nPVtdLGYuZWFjaChiLm9yZGVyLGZ1bmN0aW9uKGIsYyl7YS5hYVNvcnRpbmcucHVzaC
hjWzBdPj1oLmxlbmd0aD9bMCxjWzFdXTpjKX0pKTtiLnNlYXJjaCE9PXAmJmYuZXh0ZW5kKGEub1ByZXZpb
3VzU2VhcmNoLApHYihiLnNlYXJjaCkpO2lmKGIuY29sdW1ucylmb3IoZD0wLGU9Yi5jb2x1bW5zLmxlbmd0
aDtkPGU7ZCsrKWc9Yi5jb2x1bW5zW2RdLGcudmlzaWJsZSE9PXAmJihoW2RdLmJWaXNpYmxlPWcudmlzaWJ
sZSksZy5zZWFyY2ghPT1wJiZmLmV4dGVuZChhLmFvUHJlU2VhcmNoQ29sc1tkXSxHYihnLnNlYXJjaCkpO0
EoYSwiYW9TdGF0ZUxvYWRlZCIsInN0YXRlTG9hZGVkIixbYSxiXSl9fWMoKX07aWYoYS5vRmVhdHVyZXMuY
lN0YXRlU2F2ZSl7dmFyIGc9YS5mblN0YXRlTG9hZENhbGxiYWNrLmNhbGwoYS5vSW5zdGFuY2UsYSxiKTtn
IT09cCYmYihnKX1lbHNlIGMoKX1mdW5jdGlvbiBDYShhKXt2YXIgYj1xLnNldHRpbmdzO2E9Zi5pbkFycmF
5KGEsSihiLCJuVGFibGUiKSk7cmV0dXJuLTEhPT1hP2JbYV06bnVsbH1mdW5jdGlvbiBPKGEsYixjLGQpe2
M9IkRhdGFUYWJsZXMgd2FybmluZzogIisoYT8idGFibGUgaWQ9IithLnNUYWJsZUlkKyIgLSAiOiIiKStjO
2QmJihjKz0iLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVycm9yLCBwbGVhc2Ugc2VlIGh0
dHA6Ly9kYXRhdGFibGVzLm5ldC90bi8iKwpkKTtpZihiKXouY29uc29sZSYmY29uc29sZS5sb2cmJmNvbnN
vbGUubG9nKGMpO2Vsc2UgaWYoYj1xLmV4dCxiPWIuc0Vyck1vZGV8fGIuZXJyTW9kZSxhJiZBKGEsbnVsbC
wiZXJyb3IiLFthLGQsY10pLCJhbGVydCI9PWIpYWxlcnQoYyk7ZWxzZXtpZigidGhyb3ciPT1iKXRocm93
IEVycm9yKGMpOyJmdW5jdGlvbiI9PXR5cGVvZiBiJiZiKGEsZCxjKX19ZnVuY3Rpb24gTShhLGIsYyxkKXt
mLmlzQXJyYXkoYyk/Zi5lYWNoKGMsZnVuY3Rpb24oYyxkKXtmLmlzQXJyYXkoZCk/
TShhLGIsZFswXSxkWzFdKTpNKGEsYixkKX0pOihkPT09cCYmKGQ9YyksYltjXSE9PXAmJihhW2RdPWJbY10
pKX1mdW5jdGlvbiBhYihhLGIsYyl7dmFyIGQ7Zm9yKGQgaW4gYilpZihiLmhhc093blByb3BlcnR5KGQpKX
t2YXIgZT1iW2RdO2YuaXNQbGFpbk9iamVjdChlKT8oZi5pc1BsYWluT2JqZWN0KGFbZF0pfHwoYVtkXT17f
SksZi5leHRlbmQoITAsYVtkXSxlKSk6YyYmImRhdGEiIT09ZCYmImFhRGF0YSIhPT0KZCYmZi5pc0FycmF5
KGUpP2FbZF09ZS5zbGljZSgpOmFbZF09ZX1yZXR1cm4gYX1mdW5jdGlvbiAkYShhLGIsYyl7ZihhKS5vbig
iY2xpY2suRFQiLGIsZnVuY3Rpb24oYil7ZihhKS5ibHVyKCk7YyhiKX0pLm9uKCJrZXlwcmVzcy5EVCIsYi
xmdW5jdGlvbihhKXsxMz09PWEud2hpY2gmJihhLnByZXZlbnREZWZhdWx0KCksYyhhKSl9KS5vbigic2VsZ
WN0c3RhcnQuRFQiLGZ1bmN0aW9uKCl7cmV0dXJuITF9KX1mdW5jdGlvbiBFKGEsYixjLGQpe2MmJmFbYl0u
cHVzaCh7Zm46YyxzTmFtZTpkfSl9ZnVuY3Rpb24gQShhLGIsYyxkKXt2YXIgZT1bXTtiJiYoZT1mLm1hcCh
hW2JdLnNsaWNlKCkucmV2ZXJzZSgpLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGIuZm4uYXBwbHkoYS5vSW5zdG
FuY2UsZCl9KSk7bnVsbCE9PWMmJihiPWYuRXZlbnQoYysiLmR0IiksZihhLm5UYWJsZSkudHJpZ2dlcihiL
GQpLGUucHVzaChiLnJlc3VsdCkpO3JldHVybiBlfWZ1bmN0aW9uIFdhKGEpe3ZhciBiPWEuX2lEaXNwbGF5
U3RhcnQsCmM9YS5mbkRpc3BsYXlFbmQoKSxkPWEuX2lEaXNwbGF5TGVuZ3RoO2I+PWMmJihiPWMtZCk7Yi0
9YiVkO2lmKC0xPT09ZHx8MD5iKWI9MDthLl9pRGlzcGxheVN0YXJ0PWJ9ZnVuY3Rpb24gUmEoYSxiKXthPW
EucmVuZGVyZXI7dmFyIGM9cS5leHQucmVuZGVyZXJbYl07cmV0dXJuIGYuaXNQbGFpbk9iamVjdChhKSYmY
VtiXT9jW2FbYl1dfHxjLl86InN0cmluZyI9PT10eXBlb2YgYT9jW2FdfHxjLl86Yy5ffWZ1bmN0aW9uIEQo
YSl7cmV0dXJuIGEub0ZlYXR1cmVzLmJTZXJ2ZXJTaWRlPyJzc3AiOmEuYWpheHx8YS5zQWpheFNvdXJjZT8
iYWpheCI6ImRvbSJ9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1QYi5udW1iZXJzX2xlbmd0aCxkPU1hdGguZm
xvb3IoYy8yKTtiPD1jP2E9WigwLGIpOmE8PWQ/
KGE9WigwLGMtMiksYS5wdXNoKCJlbGxpcHNpcyIpLGEucHVzaChiLTEpKTooYT49Yi0xLWQ/
YT1aKGItKGMtMiksYik6KGE9WihhLWQrMixhK2QtMSksYS5wdXNoKCJlbGxpcHNpcyIpLAphLnB1c2goYi0
xKSksYS5zcGxpY2UoMCwwLCJlbGxpcHNpcyIpLGEuc3BsaWNlKDAsMCwwKSk7YS5EVF9lbD0ic3BhbiI7cm
V0dXJuIGF9ZnVuY3Rpb24gSGEoYSl7Zi5lYWNoKHtudW06ZnVuY3Rpb24oYil7cmV0dXJuIERhKGIsYSl9L
CJudW0tZm10IjpmdW5jdGlvbihiKXtyZXR1cm4gRGEoYixhLGJiKX0sImh0bWwtbnVtIjpmdW5jdGlvbihi
KXtyZXR1cm4gRGEoYixhLEVhKX0sImh0bWwtbnVtLWZtdCI6ZnVuY3Rpb24oYil7cmV0dXJuIERhKGIsYSx
FYSxiYil9fSxmdW5jdGlvbihiLGMpe0MudHlwZS5vcmRlcltiK2ErIi1wcmUiXT1jO2IubWF0Y2goL15odG
1sXC0vKSYmKEMudHlwZS5zZWFyY2hbYithXT1DLnR5cGUuc2VhcmNoLmh0bWwpfSl9ZnVuY3Rpb24gUWIoY
Sl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGI9W0NhKHRoaXNbcS5leHQuaUFwaUluZGV4XSldLmNvbmNhdChB
cnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKTtyZXR1cm4gcS5leHQuaW50ZXJuYWxbYV0
uYXBwbHkodGhpcywKYil9fXZhciBxPWZ1bmN0aW9uKGEpe3RoaXMuJD1mdW5jdGlvbihhLGIpe3JldHVybi
B0aGlzLmFwaSghMCkuJChhLGIpfTt0aGlzLl89ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5hcGkoITApL
nJvd3MoYSxiKS5kYXRhKCl9O3RoaXMuYXBpPWZ1bmN0aW9uKGEpe3JldHVybiBhP25ldyB2KENhKHRoaXNb
Qy5pQXBpSW5kZXhdKSk6bmV3IHYodGhpcyl9O3RoaXMuZm5BZGREYXRhPWZ1bmN0aW9uKGEsYil7dmFyIGM
9dGhpcy5hcGkoITApO2E9Zi5pc0FycmF5KGEpJiYoZi5pc0FycmF5KGFbMF0pfHxmLmlzUGxhaW5PYmplY3
QoYVswXSkpP2Mucm93cy5hZGQoYSk6Yy5yb3cuYWRkKGEpOyhiPT09cHx8YikmJmMuZHJhdygpO3JldHVyb
iBhLmZsYXR0ZW4oKS50b0FycmF5KCl9O3RoaXMuZm5BZGp1c3RDb2x1bW5TaXppbmc9ZnVuY3Rpb24oYSl7
dmFyIGI9dGhpcy5hcGkoITApLmNvbHVtbnMuYWRqdXN0KCksYz1iLnNldHRpbmdzKClbMF0sZD1jLm9TY3J
vbGw7YT09PXB8fGE/
Yi5kcmF3KCExKToKKCIiIT09ZC5zWHx8IiIhPT1kLnNZKSYmbmEoYyl9O3RoaXMuZm5DbGVhclRhYmxlPWZ
1bmN0aW9uKGEpe3ZhciBiPXRoaXMuYXBpKCEwKS5jbGVhcigpOyhhPT09cHx8YSkmJmIuZHJhdygpfTt0aG
lzLmZuQ2xvc2U9ZnVuY3Rpb24oYSl7dGhpcy5hcGkoITApLnJvdyhhKS5jaGlsZC5oaWRlKCl9O3RoaXMuZ
m5EZWxldGVSb3c9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuYXBpKCEwKTthPWQucm93cyhhKTt2YXIg
ZT1hLnNldHRpbmdzKClbMF0saD1lLmFvRGF0YVthWzBdWzBdXTthLnJlbW92ZSgpO2ImJmIuY2FsbCh0aGl
zLGUsaCk7KGM9PT1wfHxjKSYmZC5kcmF3KCk7cmV0dXJuIGh9O3RoaXMuZm5EZXN0cm95PWZ1bmN0aW9uKG
Epe3RoaXMuYXBpKCEwKS5kZXN0cm95KGEpfTt0aGlzLmZuRHJhdz1mdW5jdGlvbihhKXt0aGlzLmFwaSghM
CkuZHJhdyhhKX07dGhpcy5mbkZpbHRlcj1mdW5jdGlvbihhLGIsYyxkLGUsZil7ZT10aGlzLmFwaSghMCk7
bnVsbD09PWJ8fGI9PT1wPwplLnNlYXJjaChhLGMsZCxmKTplLmNvbHVtbihiKS5zZWFyY2goYSxjLGQsZik
7ZS5kcmF3KCl9O3RoaXMuZm5HZXREYXRhPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5hcGkoITApO2lmKG
EhPT1wKXt2YXIgZD1hLm5vZGVOYW1lP2Eubm9kZU5hbWUudG9Mb3dlckNhc2UoKToiIjtyZXR1cm4gYiE9P
XB8fCJ0ZCI9PWR8fCJ0aCI9PWQ/
Yy5jZWxsKGEsYikuZGF0YSgpOmMucm93KGEpLmRhdGEoKXx8bnVsbH1yZXR1cm4gYy5kYXRhKCkudG9BcnJ
heSgpfTt0aGlzLmZuR2V0Tm9kZXM9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5hcGkoITApO3JldHVybiBhIT
09cD9iLnJvdyhhKS5ub2RlKCk6Yi5yb3dzKCkubm9kZXMoKS5mbGF0dGVuKCkudG9BcnJheSgpfTt0aGlzL
mZuR2V0UG9zaXRpb249ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5hcGkoITApLGM9YS5ub2RlTmFtZS50b1Vw
cGVyQ2FzZSgpO3JldHVybiJUUiI9PWM/
Yi5yb3coYSkuaW5kZXgoKToiVEQiPT1jfHwiVEgiPT1jPyhhPWIuY2VsbChhKS5pbmRleCgpLApbYS5yb3c
sYS5jb2x1bW5WaXNpYmxlLGEuY29sdW1uXSk6bnVsbH07dGhpcy5mbklzT3Blbj1mdW5jdGlvbihhKXtyZX
R1cm4gdGhpcy5hcGkoITApLnJvdyhhKS5jaGlsZC5pc1Nob3duKCl9O3RoaXMuZm5PcGVuPWZ1bmN0aW9uK
GEsYixjKXtyZXR1cm4gdGhpcy5hcGkoITApLnJvdyhhKS5jaGlsZChiLGMpLnNob3coKS5jaGlsZCgpWzBd
fTt0aGlzLmZuUGFnZUNoYW5nZT1mdW5jdGlvbihhLGIpe2E9dGhpcy5hcGkoITApLnBhZ2UoYSk7KGI9PT1
wfHxiKSYmYS5kcmF3KCExKX07dGhpcy5mblNldENvbHVtblZpcz1mdW5jdGlvbihhLGIsYyl7YT10aGlzLm
FwaSghMCkuY29sdW1uKGEpLnZpc2libGUoYik7KGM9PT1wfHxjKSYmYS5jb2x1bW5zLmFkanVzdCgpLmRyY
XcoKX07dGhpcy5mblNldHRpbmdzPWZ1bmN0aW9uKCl7cmV0dXJuIENhKHRoaXNbQy5pQXBpSW5kZXhdKX07
dGhpcy5mblNvcnQ9ZnVuY3Rpb24oYSl7dGhpcy5hcGkoITApLm9yZGVyKGEpLmRyYXcoKX07dGhpcy5mblN
vcnRMaXN0ZW5lcj0KZnVuY3Rpb24oYSxiLGMpe3RoaXMuYXBpKCEwKS5vcmRlci5saXN0ZW5lcihhLGIsYy
l9O3RoaXMuZm5VcGRhdGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgaD10aGlzLmFwaSghMCk7Yz09PXB8f
G51bGw9PT1jP2gucm93KGIpLmRhdGEoYSk6aC5jZWxsKGIsYykuZGF0YShhKTsoZT09PXB8fGUpJiZoLmNv
bHVtbnMuYWRqdXN0KCk7KGQ9PT1wfHxkKSYmaC5kcmF3KCk7cmV0dXJuIDB9O3RoaXMuZm5WZXJzaW9uQ2h
lY2s9Qy5mblZlcnNpb25DaGVjazt2YXIgYj10aGlzLGM9YT09PXAsZD10aGlzLmxlbmd0aDtjJiYoYT17fS
k7dGhpcy5vQXBpPXRoaXMuaW50ZXJuYWw9Qy5pbnRlcm5hbDtmb3IodmFyIGUgaW4gcS5leHQuaW50ZXJuY
WwpZSYmKHRoaXNbZV09UWIoZSkpO3RoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPXt9LGc9MTxkP2FiKGUs
YSwhMCk6YSxrPTAsbDtlPXRoaXMuZ2V0QXR0cmlidXRlKCJpZCIpO3ZhciBuPSExLG09cS5kZWZhdWx0cyx
3PWYodGhpcyk7aWYoInRhYmxlIiE9CnRoaXMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlPKG51bGwsMCwiTm
9uLXRhYmxlIG5vZGUgaW5pdGlhbGlzYXRpb24gKCIrdGhpcy5ub2RlTmFtZSsiKSIsMik7ZWxzZXtqYihtK
TtrYihtLmNvbHVtbik7TChtLG0sITApO0wobS5jb2x1bW4sbS5jb2x1bW4sITApO0wobSxmLmV4dGVuZChn
LHcuZGF0YSgpKSwhMCk7dmFyIHU9cS5zZXR0aW5ncztrPTA7Zm9yKGw9dS5sZW5ndGg7azxsO2srKyl7dmF
yIHQ9dVtrXTtpZih0Lm5UYWJsZT09dGhpc3x8dC5uVEhlYWQmJnQublRIZWFkLnBhcmVudE5vZGU9PXRoaX
N8fHQublRGb290JiZ0Lm5URm9vdC5wYXJlbnROb2RlPT10aGlzKXt2YXIgdj1nLmJSZXRyaWV2ZSE9PXA/
Zy5iUmV0cmlldmU6bS5iUmV0cmlldmU7aWYoY3x8dilyZXR1cm4gdC5vSW5zdGFuY2U7aWYoZy5iRGVzdHJ
veSE9PXA/
Zy5iRGVzdHJveTptLmJEZXN0cm95KXt0Lm9JbnN0YW5jZS5mbkRlc3Ryb3koKTticmVha31lbHNle08odCw
wLCJDYW5ub3QgcmVpbml0aWFsaXNlIERhdGFUYWJsZSIsCjMpO3JldHVybn19aWYodC5zVGFibGVJZD09dG
hpcy5pZCl7dS5zcGxpY2UoaywxKTticmVha319aWYobnVsbD09PWV8fCIiPT09ZSl0aGlzLmlkPWU9IkRhd
GFUYWJsZXNfVGFibGVfIitxLmV4dC5fdW5pcXVlKys7dmFyIHI9Zi5leHRlbmQoITAse30scS5tb2RlbHMu
b1NldHRpbmdzLHtzRGVzdHJveVdpZHRoOndbMF0uc3R5bGUud2lkdGgsc0luc3RhbmNlOmUsc1RhYmxlSWQ
6ZX0pO3IublRhYmxlPXRoaXM7ci5vQXBpPWIuaW50ZXJuYWw7ci5vSW5pdD1nO3UucHVzaChyKTtyLm9Jbn
N0YW5jZT0xPT09Yi5sZW5ndGg/
Yjp3LmRhdGFUYWJsZSgpO2piKGcpO0dhKGcub0xhbmd1YWdlKTtnLmFMZW5ndGhNZW51JiYhZy5pRGlzcGx
heUxlbmd0aCYmKGcuaURpc3BsYXlMZW5ndGg9Zi5pc0FycmF5KGcuYUxlbmd0aE1lbnVbMF0pP2cuYUxlbm
d0aE1lbnVbMF1bMF06Zy5hTGVuZ3RoTWVudVswXSk7Zz1hYihmLmV4dGVuZCghMCx7fSxtKSxnKTtNKHIub
0ZlYXR1cmVzLGcsImJQYWdpbmF0ZSBiTGVuZ3RoQ2hhbmdlIGJGaWx0ZXIgYlNvcnQgYlNvcnRNdWx0aSBi
SW5mbyBiUHJvY2Vzc2luZyBiQXV0b1dpZHRoIGJTb3J0Q2xhc3NlcyBiU2VydmVyU2lkZSBiRGVmZXJSZW5
kZXIiLnNwbGl0KCIgIikpOwpNKHIsZyxbImFzU3RyaXBlQ2xhc3NlcyIsImFqYXgiLCJmblNlcnZlckRhdG
EiLCJmbkZvcm1hdE51bWJlciIsInNTZXJ2ZXJNZXRob2QiLCJhYVNvcnRpbmciLCJhYVNvcnRpbmdGaXhlZ
CIsImFMZW5ndGhNZW51Iiwic1BhZ2luYXRpb25UeXBlIiwic0FqYXhTb3VyY2UiLCJzQWpheERhdGFQcm9w
IiwiaVN0YXRlRHVyYXRpb24iLCJzRG9tIiwiYlNvcnRDZWxsc1RvcCIsImlUYWJJbmRleCIsImZuU3RhdGV
Mb2FkQ2FsbGJhY2siLCJmblN0YXRlU2F2ZUNhbGxiYWNrIiwicmVuZGVyZXIiLCJzZWFyY2hEZWxheSIsIn
Jvd0lkIixbImlDb29raWVEdXJhdGlvbiIsImlTdGF0ZUR1cmF0aW9uIl0sWyJvU2VhcmNoIiwib1ByZXZpb
3VzU2VhcmNoIl0sWyJhb1NlYXJjaENvbHMiLCJhb1ByZVNlYXJjaENvbHMiXSxbImlEaXNwbGF5TGVuZ3Ro
IiwiX2lEaXNwbGF5TGVuZ3RoIl1dKTtNKHIub1Njcm9sbCxnLFtbInNTY3JvbGxYIiwic1giXSxbInNTY3J
vbGxYSW5uZXIiLCJzWElubmVyIl0sClsic1Njcm9sbFkiLCJzWSJdLFsiYlNjcm9sbENvbGxhcHNlIiwiYk
NvbGxhcHNlIl1dKTtNKHIub0xhbmd1YWdlLGcsImZuSW5mb0NhbGxiYWNrIik7RShyLCJhb0RyYXdDYWxsY
mFjayIsZy5mbkRyYXdDYWxsYmFjaywidXNlciIpO0UociwiYW9TZXJ2ZXJQYXJhbXMiLGcuZm5TZXJ2ZXJQ
YXJhbXMsInVzZXIiKTtFKHIsImFvU3RhdGVTYXZlUGFyYW1zIixnLmZuU3RhdGVTYXZlUGFyYW1zLCJ1c2V
yIik7RShyLCJhb1N0YXRlTG9hZFBhcmFtcyIsZy5mblN0YXRlTG9hZFBhcmFtcywidXNlciIpO0UociwiYW
9TdGF0ZUxvYWRlZCIsZy5mblN0YXRlTG9hZGVkLCJ1c2VyIik7RShyLCJhb1Jvd0NhbGxiYWNrIixnLmZuU
m93Q2FsbGJhY2ssInVzZXIiKTtFKHIsImFvUm93Q3JlYXRlZENhbGxiYWNrIixnLmZuQ3JlYXRlZFJvdywi
dXNlciIpO0UociwiYW9IZWFkZXJDYWxsYmFjayIsZy5mbkhlYWRlckNhbGxiYWNrLCJ1c2VyIik7RShyLCJ
hb0Zvb3RlckNhbGxiYWNrIixnLmZuRm9vdGVyQ2FsbGJhY2ssCiJ1c2VyIik7RShyLCJhb0luaXRDb21wbG
V0ZSIsZy5mbkluaXRDb21wbGV0ZSwidXNlciIpO0UociwiYW9QcmVEcmF3Q2FsbGJhY2siLGcuZm5QcmVEc
mF3Q2FsbGJhY2ssInVzZXIiKTtyLnJvd0lkRm49VShnLnJvd0lkKTtsYihyKTt2YXIgeD1yLm9DbGFzc2Vz
O2YuZXh0ZW5kKHgscS5leHQuY2xhc3NlcyxnLm9DbGFzc2VzKTt3LmFkZENsYXNzKHguc1RhYmxlKTtyLml
Jbml0RGlzcGxheVN0YXJ0PT09cCYmKHIuaUluaXREaXNwbGF5U3RhcnQ9Zy5pRGlzcGxheVN0YXJ0LHIuX2
lEaXNwbGF5U3RhcnQ9Zy5pRGlzcGxheVN0YXJ0KTtudWxsIT09Zy5pRGVmZXJMb2FkaW5nJiYoci5iRGVmZ
XJMb2FkaW5nPSEwLGU9Zi5pc0FycmF5KGcuaURlZmVyTG9hZGluZyksci5faVJlY29yZHNEaXNwbGF5PWU/
Zy5pRGVmZXJMb2FkaW5nWzBdOmcuaURlZmVyTG9hZGluZyxyLl9pUmVjb3Jkc1RvdGFsPWU/
Zy5pRGVmZXJMb2FkaW5nWzFdOmcuaURlZmVyTG9hZGluZyk7dmFyIHk9ci5vTGFuZ3VhZ2U7CmYuZXh0ZW5
kKCEwLHksZy5vTGFuZ3VhZ2UpO3kuc1VybCYmKGYuYWpheCh7ZGF0YVR5cGU6Impzb24iLHVybDp5LnNVcm
wsc3VjY2VzczpmdW5jdGlvbihhKXtHYShhKTtMKG0ub0xhbmd1YWdlLGEpO2YuZXh0ZW5kKCEwLHksYSk7a
mEocil9LGVycm9yOmZ1bmN0aW9uKCl7amEocil9fSksbj0hMCk7bnVsbD09PWcuYXNTdHJpcGVDbGFzc2Vz
JiYoci5hc1N0cmlwZUNsYXNzZXM9W3guc1N0cmlwZU9kZCx4LnNTdHJpcGVFdmVuXSk7ZT1yLmFzU3RyaXB
lQ2xhc3Nlczt2YXIgej13LmNoaWxkcmVuKCJ0Ym9keSIpLmZpbmQoInRyIikuZXEoMCk7LTEhPT1mLmluQX
JyYXkoITAsZi5tYXAoZSxmdW5jdGlvbihhLGIpe3JldHVybiB6Lmhhc0NsYXNzKGEpfSkpJiYoZigidGJvZ
HkgdHIiLHRoaXM
pLnJlbW92ZUNsYXNzKGUuam9pbigiICIpKSxyLmFzRGVzdHJveVN0cmlwZXM9ZS5zbGljZSgpKTtlPVtdO3
U9dGhpcy5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGhlYWQiKTswIT09dS5sZW5ndGgmJgooZmEoci5hb0hlY
WRlcix1WzBdKSxlPXVhKHIpKTtpZihudWxsPT09Zy5hb0NvbHVtbnMpZm9yKHU9W10saz0wLGw9ZS5sZW5n
dGg7azxsO2srKyl1LnB1c2gobnVsbCk7ZWxzZSB1PWcuYW9Db2x1bW5zO2s9MDtmb3IobD11Lmxlbmd0aDt
rPGw7aysrKUlhKHIsZT9lW2tdOm51bGwpO25iKHIsZy5hb0NvbHVtbkRlZnMsdSxmdW5jdGlvbihhLGIpe2
1hKHIsYSxiKX0pO2lmKHoubGVuZ3RoKXt2YXIgQj1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT09YS5nZ
XRBdHRyaWJ1dGUoImRhdGEtIitiKT9iOm51bGx9O2YoelswXSkuY2hpbGRyZW4oInRoLCB0ZCIpLmVhY2go
ZnVuY3Rpb24oYSxiKXt2YXIgYz1yLmFvQ29sdW1uc1thXTtpZihjLm1EYXRhPT09YSl7dmFyIGQ9QihiLCJ
zb3J0Iil8fEIoYiwib3JkZXIiKTtiPUIoYiwiZmlsdGVyIil8fEIoYiwic2VhcmNoIik7aWYobnVsbCE9PW
R8fG51bGwhPT1iKWMubURhdGE9e186YSsiLmRpc3BsYXkiLHNvcnQ6bnVsbCE9PWQ/
YSsiLkBkYXRhLSIrCmQ6cCx0eXBlOm51bGwhPT1kP2ErIi5AZGF0YS0iK2Q6cCxmaWx0ZXI6bnVsbCE9PWI
/
YSsiLkBkYXRhLSIrYjpwfSxtYShyLGEpfX0pfXZhciBDPXIub0ZlYXR1cmVzO2U9ZnVuY3Rpb24oKXtpZih
nLmFhU29ydGluZz09PXApe3ZhciBhPXIuYWFTb3J0aW5nO2s9MDtmb3IobD1hLmxlbmd0aDtrPGw7aysrKW
Fba11bMV09ci5hb0NvbHVtbnNba10uYXNTb3J0aW5nWzBdfUFhKHIpO0MuYlNvcnQmJkUociwiYW9EcmF3Q
2FsbGJhY2siLGZ1bmN0aW9uKCl7aWYoci5iU29ydGVkKXt2YXIgYT1ZKHIpLGI9e307Zi5lYWNoKGEsZnVu
Y3Rpb24oYSxjKXtiW2Muc3JjXT1jLmRpcn0pO0EocixudWxsLCJvcmRlciIsW3IsYSxiXSk7TmIocil9fSk
7RShyLCJhb0RyYXdDYWxsYmFjayIsZnVuY3Rpb24oKXsoci5iU29ydGVkfHwic3NwIj09PUQocil8fEMuYk
RlZmVyUmVuZGVyKSYmQWEocil9LCJzYyIpO2E9dy5jaGlsZHJlbigiY2FwdGlvbiIpLmVhY2goZnVuY3Rpb
24oKXt0aGlzLl9jYXB0aW9uU2lkZT0KZih0aGlzKS5jc3MoImNhcHRpb24tc2lkZSIpfSk7dmFyIGI9dy5j
aGlsZHJlbigidGhlYWQiKTswPT09Yi5sZW5ndGgmJihiPWYoIjx0aGVhZC8+IikuYXBwZW5kVG8odykpO3I
ublRIZWFkPWJbMF07Yj13LmNoaWxkcmVuKCJ0Ym9keSIpOzA9PT1iLmxlbmd0aCYmKGI9ZigiPHRib2R5Lz
4iKS5hcHBlbmRUbyh3KSk7ci5uVEJvZHk9YlswXTtiPXcuY2hpbGRyZW4oInRmb290Iik7MD09PWIubGVuZ
3RoJiYwPGEubGVuZ3RoJiYoIiIhPT1yLm9TY3JvbGwuc1h8fCIiIT09ci5vU2Nyb2xsLnNZKSYmKGI9Zigi
PHRmb290Lz4iKS5hcHBlbmRUbyh3KSk7MD09PWIubGVuZ3RofHwwPT09Yi5jaGlsZHJlbigpLmxlbmd0aD9
3LmFkZENsYXNzKHguc05vRm9vdGVyKTowPGIubGVuZ3RoJiYoci5uVEZvb3Q9YlswXSxmYShyLmFvRm9vdG
VyLHIublRGb290KSk7aWYoZy5hYURhdGEpZm9yKGs9MDtrPGcuYWFEYXRhLmxlbmd0aDtrKyspUihyLGcuY
WFEYXRhW2tdKTtlbHNlKHIuYkRlZmVyTG9hZGluZ3x8CiJkb20iPT1EKHIpKSYmcGEocixmKHIublRCb2R5
KS5jaGlsZHJlbigidHIiKSk7ci5haURpc3BsYXk9ci5haURpc3BsYXlNYXN0ZXIuc2xpY2UoKTtyLmJJbml
0aWFsaXNlZD0hMDshMT09PW4mJmphKHIpfTtnLmJTdGF0ZVNhdmU/
KEMuYlN0YXRlU2F2ZT0hMCxFKHIsImFvRHJhd0NhbGxiYWNrIixCYSwic3RhdGVfc2F2ZSIpLE9iKHIsZyx
lKSk6ZSgpfX0pO2I9bnVsbDtyZXR1cm4gdGhpc30sQyx0LHgsY2I9e30sUmI9L1tcclxuXHUyMDI4XS9nLE
VhPS88Lio/
Pi9nLGNjPS9eXGR7Miw0fVtcLlwvXC1dXGR7MSwyfVtcLlwvXC1dXGR7MSwyfShbVCBdezF9XGR7MSwyfVs
6XC5dXGR7Mn0oW1wuOl1cZHsyfSk/KT8kLyxkYz0vKFwvfFwufFwqfFwrfFw/
fFx8fFwofFwpfFxbfFxdfFx7fFx9fFxcfFwkfFxefFwtKS9nLGJiPS9bJywkwqPigqzCpSVcdTIwMDlcdTI
wMkZcdTIwQkRcdTIwYTlcdTIwQkFyZmvJg86eXS9naSxQPWZ1bmN0aW9uKGEpe3JldHVybiBhJiYhMCE9PW
EmJiItIiE9PWE/
ITE6CiEwfSxTYj1mdW5jdGlvbihhKXt2YXIgYj1wYXJzZUludChhLDEwKTtyZXR1cm4haXNOYU4oYikmJml
zRmluaXRlKGEpP2I6bnVsbH0sVGI9ZnVuY3Rpb24oYSxiKXtjYltiXXx8KGNiW2JdPW5ldyBSZWdFeHAoVW
EoYiksImciKSk7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgYSYmIi4iIT09Yj9hLnJlcGxhY2UoL1wuL2csI
iIpLnJlcGxhY2UoY2JbYl0sIi4iKTphfSxkYj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9InN0cmluZyI9PT10
eXBlb2YgYTtpZihQKGEpKXJldHVybiEwO2ImJmQmJihhPVRiKGEsYikpO2MmJmQmJihhPWEucmVwbGFjZSh
iYiwiIikpO3JldHVybiFpc05hTihwYXJzZUZsb2F0KGEpKSYmaXNGaW5pdGUoYSl9LFViPWZ1bmN0aW9uKG
EsYixjKXtyZXR1cm4gUChhKT8hMDpQKGEpfHwic3RyaW5nIj09PXR5cGVvZiBhP2RiKGEucmVwbGFjZShFY
SwiIiksYixjKT8hMDpudWxsOm51bGx9LEo9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9MCxoPWEubGVu
Z3RoO2lmKGMhPT0KcClmb3IoO2U8aDtlKyspYVtlXSYmYVtlXVtiXSYmZC5wdXNoKGFbZV1bYl1bY10pO2V
sc2UgZm9yKDtlPGg7ZSsrKWFbZV0mJmQucHVzaChhW2VdW2JdKTtyZXR1cm4gZH0sbGE9ZnVuY3Rpb24oYS
xiLGMsZCl7dmFyIGU9W10saD0wLGc9Yi5sZW5ndGg7aWYoZCE9PXApZm9yKDtoPGc7aCsrKWFbYltoXV1bY
10mJmUucHVzaChhW2JbaF1dW2NdW2RdKTtlbHNlIGZvcig7aDxnO2grKyllLnB1c2goYVtiW2hdXVtjXSk7
cmV0dXJuIGV9LFo9ZnVuY3Rpb24oYSxiKXt2YXIgYz1bXTtpZihiPT09cCl7Yj0wO3ZhciBkPWF9ZWxzZSB
kPWIsYj1hO2ZvcihhPWI7YTxkO2ErKyljLnB1c2goYSk7cmV0dXJuIGN9LFZiPWZ1bmN0aW9uKGEpe2Zvci
h2YXIgYj1bXSxjPTAsZD1hLmxlbmd0aDtjPGQ7YysrKWFbY10mJmIucHVzaChhW2NdKTtyZXR1cm4gYn0sd
GE9ZnVuY3Rpb24oYSl7YTp7aWYoISgyPmEubGVuZ3RoKSl7dmFyIGI9YS5zbGljZSgpLnNvcnQoKTtmb3Io
dmFyIGM9YlswXSxkPTEsCmU9Yi5sZW5ndGg7ZDxlO2QrKyl7aWYoYltkXT09PWMpe2I9ITE7YnJlYWsgYX1
jPWJbZF19fWI9ITB9aWYoYilyZXR1cm4gYS5zbGljZSgpO2I9W107ZT1hLmxlbmd0aDt2YXIgaCxnPTA7ZD
0wO2E6Zm9yKDtkPGU7ZCsrKXtjPWFbZF07Zm9yKGg9MDtoPGc7aCsrKWlmKGJbaF09PT1jKWNvbnRpbnVlI
GE7Yi5wdXNoKGMpO2crK31yZXR1cm4gYn07cS51dGlsPXt0aHJvdHRsZTpmdW5jdGlvbihhLGIpe3ZhciBj
PWIhPT1wP2I6MjAwLGQsZTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYj10aGlzLGc9K25ldyBEYXRlLGY9YXJ
ndW1lbnRzO2QmJmc8ZCtjPyhjbGVhclRpbWVvdXQoZSksZT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZD1wO2
EuYXBwbHkoYixmKX0sYykpOihkPWcsYS5hcHBseShiLGYpKX19LGVzY2FwZVJlZ2V4OmZ1bmN0aW9uKGEpe
3JldHVybiBhLnJlcGxhY2UoZGMsIlxcJDEiKX19O3ZhciBGPWZ1bmN0aW9uKGEsYixjKXthW2JdIT09cCYm
KGFbY109YVtiXSl9LGRhPS9cWy4qP1xdJC8sClg9L1woXCkkLyxVYT1xLnV0aWwuZXNjYXBlUmVnZXgseWE
9ZigiPGRpdj4iKVswXSwkYj15YS50ZXh0Q29udGVudCE9PXAsYmM9LzwuKj8+L2csU2E9cS51dGlsLnRocm
90dGxlLFdiPVtdLEc9QXJyYXkucHJvdG90eXBlLGVjPWZ1bmN0aW9uKGEpe3ZhciBiLGM9cS5zZXR0aW5nc
yxkPWYubWFwKGMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5uVGFibGV9KTtpZihhKXtpZihhLm5UYWJsZSYm
YS5vQXBpKXJldHVyblthXTtpZihhLm5vZGVOYW1lJiYidGFibGUiPT09YS5ub2RlTmFtZS50b0xvd2VyQ2F
zZSgpKXt2YXIgZT1mLmluQXJyYXkoYSxkKTtyZXR1cm4tMSE9PWU/
W2NbZV1dOm51bGx9aWYoYSYmImZ1bmN0aW9uIj09PXR5cGVvZiBhLnNldHRpbmdzKXJldHVybiBhLnNldHR
pbmdzKCkudG9BcnJheSgpOyJzdHJpbmciPT09dHlwZW9mIGE/
Yj1mKGEpOmEgaW5zdGFuY2VvZiBmJiYoYj1hKX1lbHNlIHJldHVybltdO2lmKGIpcmV0dXJuIGIubWFwKGZ
1bmN0aW9uKGEpe2U9Zi5pbkFycmF5KHRoaXMsCmQpO3JldHVybi0xIT09ZT9jW2VdOm51bGx9KS50b0Fycm
F5KCl9O3ZhciB2PWZ1bmN0aW9uKGEsYil7aWYoISh0aGlzIGluc3RhbmNlb2YgdikpcmV0dXJuIG5ldyB2K
GEsYik7dmFyIGM9W10sZD1mdW5jdGlvbihhKXsoYT1lYyhhKSkmJmMucHVzaC5hcHBseShjLGEpfTtpZihm
LmlzQXJyYXkoYSkpZm9yKHZhciBlPTAsaD1hLmxlbmd0aDtlPGg7ZSsrKWQoYVtlXSk7ZWxzZSBkKGEpO3R
oaXMuY29udGV4dD10YShjKTtiJiZmLm1lcmdlKHRoaXMsYik7dGhpcy5zZWxlY3Rvcj17cm93czpudWxsLG
NvbHM6bnVsbCxvcHRzOm51bGx9O3YuZXh0ZW5kKHRoaXMsdGhpcyxXYil9O3EuQXBpPXY7Zi5leHRlbmQod
i5wcm90b3R5cGUse2FueTpmdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5jb3VudCgpfSxjb25jYXQ6Ry5j
b25jYXQsY29udGV4dDpbXSxjb3VudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmZsYXR0ZW4oKS5sZW5ndGh
9LGVhY2g6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz0KdGhpcy5sZW5ndGg7YjxjO2IrKylhLmNhbGwodG
hpcyx0aGlzW2JdLGIsdGhpcyk7cmV0dXJuIHRoaXN9LGVxOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY29ud
GV4dDtyZXR1cm4gYi5sZW5ndGg+YT9uZXcgdihiW2FdLHRoaXNbYV0pOm51bGx9LGZpbHRlcjpmdW5jdGlv
bihhKXt2YXIgYj1bXTtpZihHLmZpbHRlciliPUcuZmlsdGVyLmNhbGwodGhpcyxhLHRoaXMpO2Vsc2UgZm9
yKHZhciBjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKWEuY2FsbCh0aGlzLHRoaXNbY10sYyx0aGlzKSYmYi
5wdXNoKHRoaXNbY10pO3JldHVybiBuZXcgdih0aGlzLmNvbnRleHQsYil9LGZsYXR0ZW46ZnVuY3Rpb24oK
Xt2YXIgYT1bXTtyZXR1cm4gbmV3IHYodGhpcy5jb250ZXh0LGEuY29uY2F0LmFwcGx5KGEsdGhpcy50b0Fy
cmF5KCkpKX0sam9pbjpHLmpvaW4saW5kZXhPZjpHLmluZGV4T2Z8fGZ1bmN0aW9uKGEsYil7Yj1ifHwwO2Z
vcih2YXIgYz10aGlzLmxlbmd0aDtiPGM7YisrKWlmKHRoaXNbYl09PT0KYSlyZXR1cm4gYjtyZXR1cm4tMX
0saXRlcmF0b3I6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9W10saCxnLGY9dGhpcy5jb250ZXh0LGwsbj10a
GlzLnNlbGVjdG9yOyJzdHJpbmciPT09dHlwZW9mIGEmJihkPWMsYz1iLGI9YSxhPSExKTt2YXIgbT0wO2Zv
cihoPWYubGVuZ3RoO208aDttKyspe3ZhciBxPW5ldyB2KGZbbV0pO2lmKCJ0YWJsZSI9PT1iKXt2YXIgdT1
jLmNhbGwocSxmW21dLG0pO3UhPT1wJiZlLnB1c2godSl9ZWxzZSBpZigiY29sdW1ucyI9PT1ifHwicm93cy
I9PT1iKXU9Yy5jYWxsKHEsZlttXSx0aGlzW21dLG0pLHUhPT1wJiZlLnB1c2godSk7ZWxzZSBpZigiY29sd
W1uIj09PWJ8fCJjb2x1bW4tcm93cyI9PT1ifHwicm93Ij09PWJ8fCJjZWxsIj09PWIpe3ZhciB0PXRoaXNb
bV07ImNvbHVtbi1yb3dzIj09PWImJihsPUZhKGZbbV0sbi5vcHRzKSk7dmFyIHg9MDtmb3IoZz10Lmxlbmd
0aDt4PGc7eCsrKXU9dFt4XSx1PSJjZWxsIj09PWI/
Yy5jYWxsKHEsZlttXSx1LnJvdywKdS5jb2x1bW4sbSx4KTpjLmNhbGwocSxmW21dLHUsbSx4LGwpLHUhPT1
wJiZlLnB1c2godSl9fXJldHVybiBlLmxlbmd0aHx8ZD8oYT1uZXcgdihmLGE/
ZS5jb25jYXQuYXBwbHkoW10sZSk6ZSksYj1hLnNlbGVjdG9yLGIucm93cz1uLnJvd3MsYi5jb2xzPW4uY29
scyxiLm9wdHM9bi5vcHRzLGEpOnRoaXN9LGxhc3RJbmRleE9mOkcubGFzdEluZGV4T2Z8fGZ1bmN0aW9uKG
EsYil7cmV0dXJuIHRoaXMuaW5kZXhPZi5hcHBseSh0aGlzLnRvQXJyYXkucmV2ZXJzZSgpLGFyZ3VtZW50c
yl9LGxlbmd0aDowLG1hcDpmdW5jdGlvbihhKXt2YXIgYj1bXTtpZihHLm1hcCliPUcubWFwLmNhbGwodGhp
cyxhLHRoaXMpO2Vsc2UgZm9yKHZhciBjPTAsZD10aGlzLmxlbmd0aDtjPGQ7YysrKWIucHVzaChhLmNhbGw
odGhpcyx0aGlzW2NdLGMpKTtyZXR1cm4gbmV3IHYodGhpcy5jb250ZXh0LGIpfSxwbHVjazpmdW5jdGlvbi
hhKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oYil7cmV0dXJuIGJbYV19KX0sCnBvcDpHLnBvcCxwdXNoO
kcucHVzaCxyZWR1Y2U6Ry5yZWR1Y2V8fGZ1bmN0aW9uKGEsYil7cmV0dXJuIG1iKHRoaXMsYSxiLDAsdGhp
cy5sZW5ndGgsMSl9LHJlZHVjZVJpZ2h0OkcucmVkdWNlUmlnaHR8fGZ1bmN0aW9uKGEsYil7cmV0dXJuIG1
iKHRoaXMsYSxiLHRoaXMubGVuZ3RoLTEsLTEsLTEpfSxyZXZlcnNlOkcucmV2ZXJzZSxzZWxlY3RvcjpudW
xsLHNoaWZ0Okcuc2hpZnQsc2xpY2U6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHYodGhpcy5jb250ZXh0LHRoa
XMpfSxzb3J0Okcuc29ydCxzcGxpY2U6Ry5zcGxpY2UsdG9BcnJheTpmdW5jdGlvbigpe3JldHVybiBHLnNs
aWNlLmNhbGwodGhpcyl9LHRvJDpmdW5jdGlvbigpe3JldHVybiBmKHRoaXMpfSx0b0pRdWVyeTpmdW5jdGl
vbigpe3JldHVybiBmKHRoaXMpfSx1bmlxdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHYodGhpcy5jb250ZX
h0LHRhKHRoaXMpKX0sdW5zaGlmdDpHLnVuc2hpZnR9KTt2LmV4dGVuZD1mdW5jdGlvbihhLApiLGMpe2lmK
GMubGVuZ3RoJiZiJiYoYiBpbnN0YW5jZW9mIHZ8fGIuX19kdF93cmFwcGVyKSl7dmFyIGQsZT1mdW5jdGlv
bihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGQ9Yi5hcHBseShhLGFyZ3VtZW50cyk7di5leHRlbmQ
oZCxkLGMubWV0aG9kRXh0KTtyZXR1cm4gZH19O3ZhciBoPTA7Zm9yKGQ9Yy5sZW5ndGg7aDxkO2grKyl7dm
FyIGc9Y1toXTtiW2cubmFtZV09ImZ1bmN0aW9uIj09PWcudHlwZT9lKGEsZy52YWwsZyk6Im9iamVjdCI9P
T1nLnR5cGU/
e306Zy52YWw7YltnLm5hbWVdLl9fZHRfd3JhcHBlcj0hMDt2LmV4dGVuZChhLGJbZy5uYW1lXSxnLnByb3B
FeHQpfX19O3YucmVnaXN0ZXI9dD1mdW5jdGlvbihhLGIpe2lmKGYuaXNBcnJheShhKSlmb3IodmFyIGM9MC
xkPWEubGVuZ3RoO2M8ZDtjKyspdi5yZWdpc3RlcihhW2NdLGIpO2Vsc2V7ZD1hLnNwbGl0KCIuIik7dmFyI
GU9V2IsaDthPTA7Zm9yKGM9ZC5sZW5ndGg7YTxjO2ErKyl7dmFyIGc9KGg9LTEhPT0KZFthXS5pbmRleE9m
KCIoKSIpKT9kW2FdLnJlcGxhY2UoIigpIiwiIik6ZFthXTthOnt2YXIgaz0wO2Zvcih2YXIgbD1lLmxlbmd
0aDtrPGw7aysrKWlmKGVba10ubmFtZT09PWcpe2s9ZVtrXTticmVhayBhfWs9bnVsbH1rfHwoaz17bmFtZT
pnLHZhbDp7fSxtZXRob2RFeHQ6W10scHJvcEV4dDpbXSx0eXBlOiJvYmplY3QifSxlLnB1c2goaykpO2E9P
T1jLTE/
KGsudmFsPWIsay50eXBlPSJmdW5jdGlvbiI9PT10eXBlb2YgYj8iZnVuY3Rpb24iOmYuaXNQbGFpbk9iamV
jdChiKT8ib2JqZWN0Ijoib3RoZX
IiKTplPWg/
ay5tZXRob2RFeHQ6ay5wcm9wRXh0fX19O3YucmVnaXN0ZXJQbHVyYWw9eD1mdW5jdGlvbihhLGIsYyl7di5
yZWdpc3RlcihhLGMpO3YucmVnaXN0ZXIoYixmdW5jdGlvbigpe3ZhciBhPWMuYXBwbHkodGhpcyxhcmd1bW
VudHMpO3JldHVybiBhPT09dGhpcz90aGlzOmEgaW5zdGFuY2VvZiB2P2EubGVuZ3RoP2YuaXNBcnJheShhW
zBdKT9uZXcgdihhLmNvbnRleHQsCmFbMF0pOmFbMF06cDphfSl9O3ZhciBmYz1mdW5jdGlvbihhLGIpe2lm
KCJudW1iZXIiPT09dHlwZW9mIGEpcmV0dXJuW2JbYV1dO3ZhciBjPWYubWFwKGIsZnVuY3Rpb24oYSxiKXt
yZXR1cm4gYS5uVGFibGV9KTtyZXR1cm4gZihjKS5maWx0ZXIoYSkubWFwKGZ1bmN0aW9uKGEpe2E9Zi5pbk
FycmF5KHRoaXMsYyk7cmV0dXJuIGJbYV19KS50b0FycmF5KCl9O3QoInRhYmxlcygpIixmdW5jdGlvbihhK
XtyZXR1cm4gYT9uZXcgdihmYyhhLHRoaXMuY29udGV4dCkpOnRoaXN9KTt0KCJ0YWJsZSgpIixmdW5jdGlv
bihhKXthPXRoaXMudGFibGVzKGEpO3ZhciBiPWEuY29udGV4dDtyZXR1cm4gYi5sZW5ndGg/
bmV3IHYoYlswXSk6YX0pO3goInRhYmxlcygpLm5vZGVzKCkiLCJ0YWJsZSgpLm5vZGUoKSIsZnVuY3Rpb24
oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEpe3JldHVybiBhLm5UYWJsZX0sMS
l9KTt4KCJ0YWJsZXMoKS5ib2R5KCkiLCJ0YWJsZSgpLmJvZHkoKSIsCmZ1bmN0aW9uKCl7cmV0dXJuIHRoa
XMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihhKXtyZXR1cm4gYS5uVEJvZHl9LDEpfSk7eCgidGFibGVz
KCkuaGVhZGVyKCkiLCJ0YWJsZSgpLmhlYWRlcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9
yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7cmV0dXJuIGEublRIZWFkfSwxKX0pO3goInRhYmxlcygpLmZvb3Rlci
gpIiwidGFibGUoKS5mb290ZXIoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiL
GZ1bmN0aW9uKGEpe3JldHVybiBhLm5URm9vdH0sMSl9KTt4KCJ0YWJsZXMoKS5jb250YWluZXJzKCkiLCJ0
YWJsZSgpLmNvbnRhaW5lcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnV
uY3Rpb24oYSl7cmV0dXJuIGEublRhYmxlV3JhcHBlcn0sMSl9KTt0KCJkcmF3KCkiLGZ1bmN0aW9uKGEpe3
JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7InBhZ2UiPT09CmE/
UyhiKTooInN0cmluZyI9PT10eXBlb2YgYSYmKGE9ImZ1bGwtaG9sZCI9PT1hPyExOiEwKSxWKGIsITE9PT1
hKSl9KX0pO3QoInBhZ2UoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1wP3RoaXMucGFnZS5pbmZvKCkucG
FnZTp0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7WGEoYixhKX0pfSk7dCgicGFnZS5pbmZvK
CkiLGZ1bmN0aW9uKGEpe2lmKDA9PT10aGlzLmNvbnRleHQubGVuZ3RoKXJldHVybiBwO2E9dGhpcy5jb250
ZXh0WzBdO3ZhciBiPWEuX2lEaXNwbGF5U3RhcnQsYz1hLm9GZWF0dXJlcy5iUGFnaW5hdGU/
YS5faURpc3BsYXlMZW5ndGg6LTEsZD1hLmZuUmVjb3Jkc0Rpc3BsYXkoKSxlPS0xPT09YztyZXR1cm57cGF
nZTplPzA6TWF0aC5mbG9vcihiL2MpLHBhZ2VzOmU/
MTpNYXRoLmNlaWwoZC9jKSxzdGFydDpiLGVuZDphLmZuRGlzcGxheUVuZCgpLGxlbmd0aDpjLHJlY29yZHN
Ub3RhbDphLmZuUmVjb3Jkc1RvdGFsKCkscmVjb3Jkc0Rpc3BsYXk6ZCwKc2VydmVyU2lkZToic3NwIj09PU
QoYSl9fSk7dCgicGFnZS5sZW4oKSIsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1wPzAhPT10aGlzLmNvbnRle
HQubGVuZ3RoP3RoaXMuY29udGV4dFswXS5faURpc3BsYXlMZW5ndGg6cDp0aGlzLml0ZXJhdG9yKCJ0YWJs
ZSIsZnVuY3Rpb24oYil7VmEoYixhKX0pfSk7dmFyIFhiPWZ1bmN0aW9uKGEsYixjKXtpZihjKXt2YXIgZD1
uZXcgdihhKTtkLm9uZSgiZHJhdyIsZnVuY3Rpb24oKXtjKGQuYWpheC5qc29uKCkpfSl9aWYoInNzcCI9PU
QoYSkpVihhLGIpO2Vsc2V7SyhhLCEwKTt2YXIgZT1hLmpxWEhSO2UmJjQhPT1lLnJlYWR5U3RhdGUmJmUuY
WJvcnQoKTt2YShhLFtdLGZ1bmN0aW9uKGMpe3FhKGEpO2M9d2EoYSxjKTtmb3IodmFyIGQ9MCxlPWMubGVu
Z3RoO2Q8ZTtkKyspUihhLGNbZF0pO1YoYSxiKTtLKGEsITEpfSl9fTt0KCJhamF4Lmpzb24oKSIsZnVuY3R
pb24oKXt2YXIgYT10aGlzLmNvbnRleHQ7aWYoMDxhLmxlbmd0aClyZXR1cm4gYVswXS5qc29ufSk7CnQoIm
FqYXgucGFyYW1zKCkiLGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5jb250ZXh0O2lmKDA8YS5sZW5ndGgpcmV0d
XJuIGFbMF0ub0FqYXhEYXRhfSk7dCgiYWpheC5yZWxvYWQoKSIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhp
cy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGMpe1hiKGMsITE9PT1iLGEpfSl9KTt0KCJhamF4LnVybCg
pIixmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnRleHQ7aWYoYT09PXApe2lmKDA9PT1iLmxlbmd0aClyZX
R1cm4gcDtiPWJbMF07cmV0dXJuIGIuYWpheD9mLmlzUGxhaW5PYmplY3QoYi5hamF4KT9iLmFqYXgudXJsO
mIuYWpheDpiLnNBamF4U291cmNlfXJldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7
Zi5pc1BsYWluT2JqZWN0KGIuYWpheCk/
Yi5hamF4LnVybD1hOmIuYWpheD1hfSl9KTt0KCJhamF4LnVybCgpLmxvYWQoKSIsZnVuY3Rpb24oYSxiKXt
yZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGMpe1hiKGMsCiExPT09YixhKX0pfSk7dm
FyIGViPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGg9W10sZyxrLGw7dmFyIG49dHlwZW9mIGI7YiYmInN0c
mluZyIhPT1uJiYiZnVuY3Rpb24iIT09biYmYi5sZW5ndGghPT1wfHwoYj1bYl0pO249MDtmb3Ioaz1iLmxl
bmd0aDtuPGs7bisrKXt2YXIgbT1iW25dJiZiW25dLnNwbGl0JiYhYltuXS5tYXRjaCgvW1xbXCg6XS8pP2J
bbl0uc3BsaXQoIiwiKTpbYltuXV07dmFyIHE9MDtmb3IobD1tLmxlbmd0aDtxPGw7cSsrKShnPWMoInN0cm
luZyI9PT10eXBlb2YgbVtxXT9mLnRyaW0obVtxXSk6bVtxXSkpJiZnLmxlbmd0aCYmKGg9aC5jb25jYXQoZ
ykpfWE9Qy5zZWxlY3RvclthXTtpZihhLmxlbmd0aClmb3Iobj0wLGs9YS5sZW5ndGg7bjxrO24rKyloPWFb
bl0oZCxlLGgpO3JldHVybiB0YShoKX0sZmI9ZnVuY3Rpb24oYSl7YXx8KGE9e30pO2EuZmlsdGVyJiZhLnN
lYXJjaD09PXAmJihhLnNlYXJjaD1hLmZpbHRlcik7cmV0dXJuIGYuZXh0ZW5kKHtzZWFyY2g6Im5vbmUiLA
pvcmRlcjoiY3VycmVudCIscGFnZToiYWxsIn0sYSl9LGdiPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9Y
S5sZW5ndGg7YjxjO2IrKylpZigwPGFbYl0ubGVuZ3RoKXJldHVybiBhWzBdPWFbYl0sYVswXS5sZW5ndGg9
MSxhLmxlbmd0aD0xLGEuY29udGV4dD1bYS5jb250ZXh0W2JdXSxhO2EubGVuZ3RoPTA7cmV0dXJuIGF9LEZ
hPWZ1bmN0aW9uKGEsYil7dmFyIGM9W10sZD1hLmFpRGlzcGxheTt2YXIgZT1hLmFpRGlzcGxheU1hc3Rlcj
t2YXIgaD1iLnNlYXJjaDt2YXIgZz1iLm9yZGVyO2I9Yi5wYWdlO2lmKCJzc3AiPT1EKGEpKXJldHVybiJyZ
W1vdmVkIj09PWg/
W106WigwLGUubGVuZ3RoKTtpZigiY3VycmVudCI9PWIpZm9yKGc9YS5faURpc3BsYXlTdGFydCxhPWEuZm5
EaXNwbGF5RW5kKCk7ZzxhO2crKyljLnB1c2goZFtnXSk7ZWxzZSBpZigiY3VycmVudCI9PWd8fCJhcHBsaW
VkIj09ZylpZigibm9uZSI9PWgpYz1lLnNsaWNlKCk7ZWxzZSBpZigiYXBwbGllZCI9PWgpYz0KZC5zbGljZ
SgpO2Vsc2V7aWYoInJlbW92ZWQiPT1oKXt2YXIgaz17fTtnPTA7Zm9yKGE9ZC5sZW5ndGg7ZzxhO2crKylr
W2RbZ11dPW51bGw7Yz1mLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBrLmhhc093blByb3BlcnR5KGEpP25
1bGw6YX0pfX1lbHNlIGlmKCJpbmRleCI9PWd8fCJvcmlnaW5hbCI9PWcpZm9yKGc9MCxhPWEuYW9EYXRhLm
xlbmd0aDtnPGE7ZysrKSJub25lIj09aD9jLnB1c2goZyk6KGU9Zi5pbkFycmF5KGcsZCksKC0xPT09ZSYmI
nJlbW92ZWQiPT1ofHwwPD1lJiYiYXBwbGllZCI9PWgpJiZjLnB1c2goZykpO3JldHVybiBjfSxnYz1mdW5j
dGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGViKCJyb3ciLGIsZnVuY3Rpb24oYil7dmFyIGU9U2IoYiksZz1
hLmFvRGF0YTtpZihudWxsIT09ZSYmIWMpcmV0dXJuW2VdO2R8fChkPUZhKGEsYykpO2lmKG51bGwhPT1lJi
YtMSE9PWYuaW5BcnJheShlLGQpKXJldHVybltlXTtpZihudWxsPT09Ynx8Yj09PXB8fCIiPT09YilyZXR1c
m4gZDsKaWYoImZ1bmN0aW9uIj09PXR5cGVvZiBiKXJldHVybiBmLm1hcChkLGZ1bmN0aW9uKGEpe3ZhciBj
PWdbYV07cmV0dXJuIGIoYSxjLl9hRGF0YSxjLm5Ucik/
YTpudWxsfSk7aWYoYi5ub2RlTmFtZSl7ZT1iLl9EVF9Sb3dJbmRleDt2YXIgaz1iLl9EVF9DZWxsSW5kZXg
7aWYoZSE9PXApcmV0dXJuIGdbZV0mJmdbZV0ublRyPT09Yj9bZV06W107aWYoaylyZXR1cm4gZ1trLnJvd1
0mJmdbay5yb3ddLm5Ucj09PWIucGFyZW50Tm9kZT9bay5yb3ddOltdO2U9ZihiKS5jbG9zZXN0KCIqW2Rhd
GEtZHQtcm93XSIpO3JldHVybiBlLmxlbmd0aD9bZS5kYXRhKCJkdC1yb3ciKV06W119aWYoInN0cmluZyI9
PT10eXBlb2YgYiYmIiMiPT09Yi5jaGFyQXQoMCkmJihlPWEuYUlkc1tiLnJlcGxhY2UoL14jLywiIildLGU
hPT1wKSlyZXR1cm5bZS5pZHhdO2U9VmIobGEoYS5hb0RhdGEsZCwiblRyIikpO3JldHVybiBmKGUpLmZpbH
RlcihiKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fRFRfUm93SW5kZXh9KS50b0FycmF5KCl9LAphL
GMpfTt0KCJyb3dzKCkiLGZ1bmN0aW9uKGEsYil7YT09PXA/
YT0iIjpmLmlzUGxhaW5PYmplY3QoYSkmJihiPWEsYT0iIik7Yj1mYihiKTt2YXIgYz10aGlzLml0ZXJhdG9
yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7cmV0dXJuIGdjKGMsYSxiKX0sMSk7Yy5zZWxlY3Rvci5yb3dzPWE7Yy
5zZWxlY3Rvci5vcHRzPWI7cmV0dXJuIGN9KTt0KCJyb3dzKCkubm9kZXMoKSIsZnVuY3Rpb24oKXtyZXR1c
m4gdGhpcy5pdGVyYXRvcigicm93IixmdW5jdGlvbihhLGIpe3JldHVybiBhLmFvRGF0YVtiXS5uVHJ8fHB9
LDEpfSk7dCgicm93cygpLmRhdGEoKSIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcighMCwicm9
3cyIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gbGEoYS5hb0RhdGEsYiwiX2FEYXRhIil9LDEpfSk7eCgicm93cy
gpLmNhY2hlKCkiLCJyb3coKS5jYWNoZSgpIixmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigic
m93IixmdW5jdGlvbihiLGMpe2I9Yi5hb0RhdGFbY107CnJldHVybiJzZWFyY2giPT09YT9iLl9hRmlsdGVy
RGF0YTpiLl9hU29ydERhdGF9LDEpfSk7eCgicm93cygpLmludmFsaWRhdGUoKSIsInJvdygpLmludmFsaWR
hdGUoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInJvdyIsZnVuY3Rpb24oYixjKXtlYS
hiLGMsYSl9KX0pO3goInJvd3MoKS5pbmRleGVzKCkiLCJyb3coKS5pbmRleCgpIixmdW5jdGlvbigpe3Jld
HVybiB0aGlzLml0ZXJhdG9yKCJyb3ciLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGJ9LDEpfSk7eCgicm93cygp
LmlkcygpIiwicm93KCkuaWQoKSIsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPVtdLGM9dGhpcy5jb250ZXh0LGQ
9MCxlPWMubGVuZ3RoO2Q8ZTtkKyspZm9yKHZhciBoPTAsZz10aGlzW2RdLmxlbmd0aDtoPGc7aCsrKXt2YX
IgZj1jW2RdLnJvd0lkRm4oY1tkXS5hb0RhdGFbdGhpc1tkXVtoXV0uX2FEYXRhKTtiLnB1c2goKCEwPT09Y
T8iIyI6IiIpK2YpfXJldHVybiBuZXcgdihjLGIpfSk7eCgicm93cygpLnJlbW92ZSgpIiwKInJvdygpLnJl
bW92ZSgpIixmdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy5pdGVyYXRvcigicm93IixmdW5jdGlvbihiLGM
sZCl7dmFyIGU9Yi5hb0RhdGEsaD1lW2NdLGcsZjtlLnNwbGljZShjLDEpO3ZhciBsPTA7Zm9yKGc9ZS5sZW
5ndGg7bDxnO2wrKyl7dmFyIG49ZVtsXTt2YXIgbT1uLmFuQ2VsbHM7bnVsbCE9PW4ublRyJiYobi5uVHIuX
0RUX1Jvd0luZGV4PWwpO2lmKG51bGwhPT1tKWZvcihuPTAsZj1tLmxlbmd0aDtuPGY7bisrKW1bbl0uX0RU
X0NlbGxJbmRleC5yb3c9bH1yYShiLmFpRGlzcGxheU1hc3RlcixjKTtyYShiLmFpRGlzcGxheSxjKTtyYSh
hW2RdLGMsITEpOzA8Yi5faVJlY29yZHNEaXNwbGF5JiZiLl9pUmVjb3Jkc0Rpc3BsYXktLTtXYShiKTtjPW
Iucm93SWRGbihoLl9hRGF0YSk7YyE9PXAmJmRlbGV0ZSBiLmFJZHNbY119KTt0aGlzLml0ZXJhdG9yKCJ0Y
WJsZSIsZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsZD1hLmFvRGF0YS5sZW5ndGg7YjxkO2IrKylhLmFvRGF0
YVtiXS5pZHg9CmJ9KTtyZXR1cm4gdGhpc30pO3QoInJvd3MuYWRkKCkiLGZ1bmN0aW9uKGEpe3ZhciBiPXR
oaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXt2YXIgYyxkPVtdO3ZhciBnPTA7Zm9yKGM9YS5sZW
5ndGg7ZzxjO2crKyl7dmFyIGY9YVtnXTtmLm5vZGVOYW1lJiYiVFIiPT09Zi5ub2RlTmFtZS50b1VwcGVyQ
2FzZSgpP2QucHVzaChwYShiLGYpWzBdKTpkLnB1c2goUihiLGYpKX1yZXR1cm4gZH0sMSksYz10aGlzLnJv
d3MoLTEpO2MucG9wKCk7Zi5tZXJnZShjLGIpO3JldHVybiBjfSk7dCgicm93KCkiLGZ1bmN0aW9uKGEsYil
7cmV0dXJuIGdiKHRoaXMucm93cyhhLGIpKX0pO3QoInJvdygpLmRhdGEoKSIsZnVuY3Rpb24oYSl7dmFyIG
I9dGhpcy5jb250ZXh0O2lmKGE9PT1wKXJldHVybiBiLmxlbmd0aCYmdGhpcy5sZW5ndGg/
YlswXS5hb0RhdGFbdGhpc1swXV0uX2FEYXRhOnA7dmFyIGM9YlswXS5hb0RhdGFbdGhpc1swXV07Yy5fYUR
hdGE9YTtmLmlzQXJyYXkoYSkmJmMublRyLmlkJiYKUShiWzBdLnJvd0lkKShhLGMublRyLmlkKTtlYShiWz
BdLHRoaXNbMF0sImRhdGEiKTtyZXR1cm4gdGhpc30pO3QoInJvdygpLm5vZGUoKSIsZnVuY3Rpb24oKXt2Y
XIgYT10aGlzLmNvbnRleHQ7cmV0dXJuIGEubGVuZ3RoJiZ0aGlzLmxlbmd0aD9hWzBdLmFvRGF0YVt0aGlz
WzBdXS5uVHJ8fG51bGw6bnVsbH0pO3QoInJvdy5hZGQoKSIsZnVuY3Rpb24oYSl7YSBpbnN0YW5jZW9mIGY
mJmEubGVuZ3RoJiYoYT1hWzBdKTt2YXIgYj10aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYil7cm
V0dXJuIGEubm9kZU5hbWUmJiJUUiI9PT1hLm5vZGVOYW1lLnRvVXBwZXJDYXNlKCk/
cGEoYixhKVswXTpSKGIsYSl9KTtyZXR1cm4gdGhpcy5yb3coYlswXSl9KTt2YXIgaGM9ZnVuY3Rpb24oYSx
iLGMsZCl7dmFyIGU9W10saD1mdW5jdGlvbihiLGMpe2lmKGYuaXNBcnJheShiKXx8YiBpbnN0YW5jZW9mIG
YpZm9yKHZhciBkPTAsZz1iLmxlbmd0aDtkPGc7ZCsrKWgoYltkXSxjKTtlbHNlIGIubm9kZU5hbWUmJgoid
HIiPT09Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP2UucHVzaChiKTooZD1mKCI8dHI+PHRkLz48L3RyPiIp
LmFkZENsYXNzKGMpLGYoInRkIixkKS5hZGRDbGFzcyhjKS5odG1sKGIpWzBdLmNvbFNwYW49VyhhKSxlL
nB1c2goZFswXSkpfTtoKGMsZCk7Yi5fZGV0YWlscyYmYi5fZGV0YWlscy5kZXRhY2goKTtiLl9kZXRhaWxz
PWYoZSk7Yi5fZGV0YWlsc1Nob3cmJmIuX2RldGFpbHMuaW5zZXJ0QWZ0ZXIoYi5uVHIpfSxoYj1mdW5jdGl
vbihhLGIpe3ZhciBjPWEuY29udGV4dDtjLmxlbmd0aCYmKGE9Y1swXS5hb0RhdGFbYiE9PXA/
YjphWzBdXSkmJmEuX2RldGFpbHMmJihhLl9kZXRhaWxzLnJlbW92ZSgpLGEuX2RldGFpbHNTaG93PXAsYS5
fZGV0YWlscz1wKX0sWWI9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmNvbnRleHQ7Yy5sZW5ndGgmJmEubGVuZ3
RoJiYoYT1jWzBdLmFvRGF0YVthWzBdXSxhLl9kZXRhaWxzJiYoKGEuX2RldGFpbHNTaG93PWIpP2EuX2Rld
GFpbHMuaW5zZXJ0QWZ0ZXIoYS5uVHIpOgphLl9kZXRhaWxzLmRldGFjaCgpLGljKGNbMF0pKSl9LGljPWZ1
bmN0aW9uKGEpe3ZhciBiPW5ldyB2KGEpLGM9YS5hb0RhdGE7Yi5vZmYoImRyYXcuZHQuRFRfZGV0YWlscyB
jb2x1bW4tdmlzaWJpbGl0eS5kdC5EVF9kZXRhaWxzIGRlc3Ryb3kuZHQuRFRfZGV0YWlscyIpOzA8SihjLC
JfZGV0YWlscyIpLmxlbmd0aCYmKGIub24oImRyYXcuZHQuRFRfZGV0YWlscyIsZnVuY3Rpb24oZCxlKXthP
T09ZSYmYi5yb3dzKHtwYWdlOiJjdXJyZW50In0pLmVxKDApLmVhY2goZnVuY3Rpb24oYSl7YT1jW2FdO2Eu
X2RldGFpbHNTaG93JiZhLl9kZXRhaWxzLmluc2VydEFmdGVyKGEublRyKX0pfSksYi5vbigiY29sdW1uLXZ
pc2liaWxpdHkuZHQuRFRfZGV0YWlscyIsZnVuY3Rpb24oYixlLGYsZyl7aWYoYT09PWUpZm9yKGU9VyhlKS
xmPTAsZz1jLmxlbmd0aDtmPGc7ZisrKWI9Y1tmXSxiLl9kZXRhaWxzJiZiLl9kZXRhaWxzLmNoaWxkcmVuK
CJ0ZFtjb2xzcGFuXSIpLmF0dHIoImNvbHNwYW4iLAplKX0pLGIub24oImRlc3Ryb3kuZHQuRFRfZGV0YWls
cyIsZnVuY3Rpb24oZCxlKXtpZihhPT09ZSlmb3IoZD0wLGU9Yy5sZW5ndGg7ZDxlO2QrKyljW2RdLl9kZXR
haWxzJiZoYihiLGQpfSkpfTt0KCJyb3coKS5jaGlsZCgpIixmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2
9udGV4dDtpZihhPT09cClyZXR1cm4gYy5sZW5ndGgmJnRoaXMubGVuZ3RoP2NbMF0uYW9EYXRhW3RoaXNbM
F1dLl9kZXRhaWxzOnA7ITA9PT1hP3RoaXMuY2hpbGQuc2hvdygpOiExPT09YT9oYih0aGlzKTpjLmxlbmd0
aCYmdGhpcy5sZW5ndGgmJmhjKGNbMF0sY1swXS5hb0RhdGFbdGhpc1swXV0sYSxiKTtyZXR1cm4gdGhpc30
pO3QoWyJyb3coKS5jaGlsZC5zaG93KCkiLCJyb3coKS5jaGlsZCgpLnNob3coKSJdLGZ1bmN0aW9uKGEpe1
liKHRoaXMsITApO3JldHVybiB0aGlzfSk7dChbInJvdygpLmNoaWxkLmhpZGUoKSIsInJvdygpLmNoaWxkK
CkuaGlkZSgpIl0sZnVuY3Rpb24oKXtZYih0aGlzLCExKTsKcmV0dXJuIHRoaXN9KTt0KFsicm93KCkuY2hp
bGQucmVtb3ZlKCkiLCJyb3coKS5jaGlsZCgpLnJlbW92ZSgpIl0sZnVuY3Rpb24oKXtoYih0aGlzKTtyZXR
1cm4gdGhpc30pO3QoInJvdygpLmNoaWxkLmlzU2hvd24oKSIsZnVuY3Rpb24oKXt2YXIgYT10aGlzLmNvbn
RleHQ7cmV0dXJuIGEubGVuZ3RoJiZ0aGlzLmxlbmd0aD9hWzBdLmFvRGF0YVt0aGlzWzBdXS5fZGV0YWlsc
1Nob3d8fCExOiExfSk7dmFyIGpjPS9eKFteOl0rKToobmFtZXx2aXNJZHh8dmlzaWJsZSkkLyxaYj1mdW5j
dGlvbihhLGIsYyxkLGUpe2M9W107ZD0wO2Zvcih2YXIgZj1lLmxlbmd0aDtkPGY7ZCsrKWMucHVzaChJKGE
sZVtkXSxiKSk7cmV0dXJuIGN9LGtjPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmFvQ29sdW1ucyxlPUooZC
wic05hbWUiKSxoPUooZCwiblRoIik7cmV0dXJuIGViKCJjb2x1bW4iLGIsZnVuY3Rpb24oYil7dmFyIGc9U
2IoYik7aWYoIiI9PT1iKXJldHVybiBaKGQubGVuZ3RoKTtpZihudWxsIT09CmcpcmV0dXJuWzA8PWc/
ZzpkLmxlbmd0aCtnXTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGIpe3ZhciBsPUZhKGEsYyk7cmV0dXJuIGY
ubWFwKGQsZnVuY3Rpb24oYyxkKXtyZXR1cm4gYihkLFpiKGEsZCwwLDAsbCksaFtkXSk/
ZDpudWxsfSl9dmFyIG49InN0cmluZyI9PT10eXBlb2YgYj9iLm1hdGNoKGpjKToiIjtpZihuKXN3aXRjaCh
uWzJdKXtjYXNlICJ2aXNJZHgiOmNhc2UgInZpc2libGUiOmc9cGFyc2VJbnQoblsxXSwxMCk7aWYoMD5nKX
t2YXIgbT1mLm1hcChkLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuYlZpc2libGU/
YjpudWxsfSk7cmV0dXJuW21bbS5sZW5ndGgrZ11dfXJldHVybltiYShhLGcpXTtjYXNlICJuYW1lIjpyZXR
1cm4gZi5tYXAoZSxmdW5jdGlvbihhLGIpe3JldHVybiBhPT09blsxXT9iOm51bGx9KTtkZWZhdWx0OnJldH
VybltdfWlmKGIubm9kZU5hbWUmJmIuX0RUX0NlbGxJbmRleClyZXR1cm5bYi5fRFRfQ2VsbEluZGV4LmNvb
HVtbl07Zz1mKGgpLmZpbHRlcihiKS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZi5pbkFycmF5KHRoaXMsCmgp
fSkudG9BcnJheSgpO2lmKGcubGVuZ3RofHwhYi5ub2RlTmFtZSlyZXR1cm4gZztnPWYoYikuY2xvc2VzdCg
iKltkYXRhLWR0LWNvbHVtbl0iKTtyZXR1cm4gZy5sZW5ndGg/
W2cuZGF0YSgiZHQtY29sdW1uIildOltdfSxhLGMpfTt0KCJjb2x1bW5zKCkiLGZ1bmN0aW9uKGEsYil7YT0
9PXA/
YT0iIjpmLmlzUGxhaW5PYmplY3QoYSkmJihiPWEsYT0iIik7Yj1mYihiKTt2YXIgYz10aGlzLml0ZXJhdG9
yKCJ0YWJsZSIsZnVuY3Rpb24oYyl7cmV0dXJuIGtjKGMsYSxiKX0sMSk7Yy5zZWxlY3Rvci5jb2xzPWE7Yy
5zZWxlY3Rvci5vcHRzPWI7cmV0dXJuIGN9KTt4KCJjb2x1bW5zKCkuaGVhZGVyKCkiLCJjb2x1bW4oKS5oZ
WFkZXIoKSIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uIixmdW5jdGlvbihh
LGIpe3JldHVybiBhLmFvQ29sdW1uc1tiXS5uVGh9LDEpfSk7eCgiY29sdW1ucygpLmZvb3RlcigpIiwiY29
sdW1uKCkuZm9vdGVyKCkiLGZ1bmN0aW9uKGEsCmIpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLG
Z1bmN0aW9uKGEsYil7cmV0dXJuIGEuYW9Db2x1bW5zW2JdLm5UZn0sMSl9KTt4KCJjb2x1bW5zKCkuZGF0Y
SgpIiwiY29sdW1uKCkuZGF0YSgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4t
cm93cyIsWmIsMSl9KTt4KCJjb2x1bW5zKCkuZGF0YVNyYygpIiwiY29sdW1uKCkuZGF0YVNyYygpIixmdW5
jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjb2x1bW4iLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuYW
9Db2x1bW5zW2JdLm1EYXRhfSwxKX0pO3goImNvbHVtbnMoKS5jYWNoZSgpIiwiY29sdW1uKCkuY2FjaGUoK
SIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbi1yb3dzIixmdW5jdGlvbihiLGMs
ZCxlLGYpe3JldHVybiBsYShiLmFvRGF0YSxmLCJzZWFyY2giPT09YT8iX2FGaWx0ZXJEYXRhIjoiX2FTb3J
0RGF0YSIsYyl9LDEpfSk7eCgiY29sdW1ucygpLm5vZGVzKCkiLAoiY29sdW1uKCkubm9kZXMoKSIsZnVuY3
Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY29sdW1uLXJvd3MiLGZ1bmN0aW9uKGEsYixjLGQsZSl7c
mV0dXJuIGxhKGEuYW9EYXRhLGUsImFuQ2VsbHMiLGIpfSwxKX0pO3goImNvbHVtbnMoKS52aXNpYmxlKCki
LCJjb2x1bW4oKS52aXNpYmxlKCkiLGZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcyxkPXRoaXMuaXRlcmF0b3I
oImNvbHVtbiIsZnVuY3Rpb24oYixjKXtpZihhPT09cClyZXR1cm4gYi5hb0NvbHVtbnNbY10uYlZpc2libG
U7dmFyIGQ9Yi5hb0NvbHVtbnMsZT1kW2NdLGg9Yi5hb0RhdGEsbjtpZihhIT09cCYmZS5iVmlzaWJsZSE9P
WEpe2lmKGEpe3ZhciBtPWYuaW5BcnJheSghMCxKKGQsImJWaXNpYmxlIiksYysxKTtkPTA7Zm9yKG49aC5s
ZW5ndGg7ZDxuO2QrKyl7dmFyIHE9aFtkXS5uVHI7Yj1oW2RdLmFuQ2VsbHM7cSYmcS5pbnNlcnRCZWZvcmU
oYltjXSxiW21dfHxudWxsKX19ZWxzZSBmKEooYi5hb0RhdGEsImFuQ2VsbHMiLApjKSkuZGV0YWNoKCk7ZS
5iVmlzaWJsZT1hfX0pO2EhPT1wJiZ0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oZCl7aGEoZCxkL
mFvSGVhZGVyKTtoYShkLGQuYW9Gb290ZXIpO2QuYWlEaXNwbGF5Lmxlbmd0aHx8ZihkLm5UQm9keSkuZmlu
ZCgidGRbY29sc3Bhbl0iKS5hdHRyKCJjb2xzcGFuIixXKGQpKTtCYShkKTtjLml0ZXJhdG9yKCJjb2x1bW4
iLGZ1bmN0aW9uKGMsZCl7QShjLG51bGwsImNvbHVtbi12aXNpYmlsaXR5IixbYyxkLGEsYl0pfSk7KGI9PT
1wfHxiKSYmYy5jb2x1bW5zLmFkanVzdCgpfSk7cmV0dXJuIGR9KTt4KCJjb2x1bW5zKCkuaW5kZXhlcygpI
iwiY29sdW1uKCkuaW5kZXgoKSIsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIs
ZnVuY3Rpb24oYixjKXtyZXR1cm4idmlzaWJsZSI9PT1hP2NhKGIsYyk6Y30sMSl9KTt0KCJjb2x1bW5zLmF
kanVzdCgpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZnVuY3Rpb24oYSl7YW
EoYSl9LAoxKX0pO3QoImNvbHVtbi5pbmRleCgpIixmdW5jdGlvbihhLGIpe2lmKDAhPT10aGlzLmNvbnRle
HQubGVuZ3RoKXt2YXIgYz10aGlzLmNvbnRleHRbMF07aWYoImZyb21WaXNpYmxlIj09PWF8fCJ0b0RhdGEi
PT09YSlyZXR1cm4gYmEoYyxiKTtpZigiZnJvbURhdGEiPT09YXx8InRvVmlzaWJsZSI9PT1hKXJldHVybiB
jYShjLGIpfX0pO3QoImNvbHVtbigpIixmdW5jdGlvbihhLGIpe3JldHVybiBnYih0aGlzLmNvbHVtbnMoYS
xiKSl9KTt2YXIgbGM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuYW9EYXRhLGU9RmEoYSxjKSxoPVZiKGxhK
GQsZSwiYW5DZWxscyIpKSxnPWYoW10uY29uY2F0LmFwcGx5KFtdLGgpKSxrLGw9YS5hb0NvbHVtbnMubGVu
Z3RoLG4sbSxxLHUsdCx2O3JldHVybiBlYigiY2VsbCIsYixmdW5jdGlvbihiKXt2YXIgYz0iZnVuY3Rpb24
iPT09dHlwZW9mIGI7aWYobnVsbD09PWJ8fGI9PT1wfHxjKXtuPVtdO209MDtmb3IocT1lLmxlbmd0aDttPH
E7bSsrKWZvcihrPQplW21dLHU9MDt1PGw7dSsrKXQ9e3JvdzprLGNvbHVtbjp1fSxjPyh2PWRba10sYih0L
EkoYSxrLHUpLHYuYW5DZWxscz92LmFuQ2VsbHNbdV06bnVsbCkmJm4ucHVzaCh0KSk6bi5wdXNoKHQpO3Jl
dHVybiBufWlmKGYuaXNQbGFpbk9iamVjdChiKSlyZXR1cm4gYi5jb2x1bW4hPT1wJiZiLnJvdyE9PXAmJi0
xIT09Zi5pbkFycmF5KGIucm93LGUpP1tiXTpbXTtjPWcuZmlsdGVyKGIpLm1hcChmdW5jdGlvbihhLGIpe3
JldHVybntyb3c6Yi5fRFRfQ2VsbEluZGV4LnJvdyxjb2x1bW46Yi5fRFRfQ2VsbEluZGV4LmNvbHVtbn19K
S50b0FycmF5KCk7aWYoYy5sZW5ndGh8fCFiLm5vZGVOYW1lKXJldHVybiBjO3Y9ZihiKS5jbG9zZXN0KCIq
W2RhdGEtZHQtcm93XSIpO3JldHVybiB2Lmxlbmd0aD9be3Jvdzp2LmRhdGEoImR0LXJvdyIpLGNvbHVtbjp
2LmRhdGEoImR0LWNvbHVtbiIpfV06W119LGEsYyl9O3QoImNlbGxzKCkiLGZ1bmN0aW9uKGEsYixjKXtmLm
lzUGxhaW5PYmplY3QoYSkmJgooYS5yb3c9PT1wPyhjPWEsYT1udWxsKTooYz1iLGI9bnVsbCkpO2YuaXNQb
GFpbk9iamVjdChiKSYmKGM9YixiPW51bGwpO2lmKG51bGw9PT1ifHxiPT09cClyZXR1cm4gdGhpcy5pdGVy
YXRvcigidGFibGUiLGZ1bmN0aW9uKGIpe3JldHVybiBsYyhiLGEsZmIoYykpfSk7dmFyIGQ9Yz97cGFnZTp
jLnBhZ2Usb3JkZXI6Yy5vcmRlcixzZWFyY2g6Yy5zZWFyY2h9Ont9LGU9dGhpcy5jb2x1bW5zKGIsZCksaD
10aGlzLnJvd3MoYSxkKSxnLGssbCxuO2Q9dGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGEsYil7Y
T1bXTtnPTA7Zm9yKGs9aFtiXS5sZW5ndGg7ZzxrO2crKylmb3IobD0wLG49ZVtiXS5sZW5ndGg7bDxuO2wr
KylhLnB1c2goe3JvdzpoW2JdW2ddLGNvbHVtbjplW2JdW2xdfSk7cmV0dXJuIGF9LDEpO2Q9YyYmYy5zZWx
lY3RlZD90aGlzLmNlbGxzKGQsYyk6ZDtmLmV4dGVuZChkLnNlbGVjdG9yLHtjb2xzOmIscm93czphLG9wdH
M6Y30pO3JldHVybiBkfSk7eCgiY2VsbHMoKS5ub2RlcygpIiwKImNlbGwoKS5ub2RlKCkiLGZ1bmN0aW9uK
Cl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4oYT1hLmFvRGF0
YVtiXSkmJmEuYW5DZWxscz9hLmFuQ2VsbHNbY106cH0sMSl9KTt0KCJjZWxscygpLmRhdGEoKSIsZnVuY3R
pb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigiY2VsbCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBJKGEsYi
xjKX0sMSl9KTt4KCJjZWxscygpLmNhY2hlKCkiLCJjZWxsKCkuY2FjaGUoKSIsZnVuY3Rpb24oYSl7YT0ic
2VhcmNoIj09PWE/
Il9hRmlsdGVyRGF0YSI6Il9hU29ydERhdGEiO3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGl
vbihiLGMsZCl7cmV0dXJuIGIuYW9EYXRhW2NdW2FdW2RdfSwxKX0pO3goImNlbGxzKCkucmVuZGVyKCkiLC
JjZWxsKCkucmVuZGVyKCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLml0ZXJhdG9yKCJjZWxsIixmdW5jd
GlvbihiLGMsZCl7cmV0dXJuIEkoYixjLGQsYSl9LAoxKX0pO3goImNlbGxzKCkuaW5kZXhlcygpIiwiY2Vs
bCgpLmluZGV4KCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNlbGwiLGZ1bmN0aW9uKGE
sYixjKXtyZXR1cm57cm93OmIsY29sdW1uOmMsY29sdW1uVmlzaWJsZTpjYShhLGMpfX0sMSl9KTt4KCJjZW
xscygpLmludmFsaWRhdGUoKSIsImNlbGwoKS5pbnZhbGlkYXRlKCkiLGZ1bmN0aW9uKGEpe3JldHVybiB0a
GlzLml0ZXJhdG9yKCJjZWxsIixmdW5jdGlvbihiLGMsZCl7ZWEoYixjLGEsZCl9KX0pO3QoImNlbGwoKSIs
ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBnYih0aGlzLmNlbGxzKGEsYixjKSl9KTt0KCJjZWxsKCkuZGF0YSg
pIixmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbnRleHQsYz10aGlzWzBdO2lmKGE9PT1wKXJldHVybiBiLm
xlbmd0aCYmYy5sZW5ndGg/
SShiWzBdLGNbMF0ucm93LGNbMF0uY29sdW1uKTpwO29iKGJbMF0sY1swXS5yb3csY1swXS5jb2x1bW4sYSk
7ZWEoYlswXSxjWzBdLnJvdywKImRhdGEiLGNbMF0uY29sdW1uKTtyZXR1cm4gdGhpc30pO3QoIm9yZGVyKC
kiLGZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jb250ZXh0O2lmKGE9PT1wKXJldHVybiAwIT09Yy5sZW5nd
Gg/
Y1swXS5hYVNvcnRpbmc6cDsibnVtYmVyIj09PXR5cGVvZiBhP2E9W1thLGJdXTphLmxlbmd0aCYmIWYuaXN
BcnJheShhWzBdKSYmKGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIH
RoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbihiKXtiLmFhU29ydGluZz1hLnNsaWNlKCl9KX0pO3QoI
m9yZGVyLmxpc3RlbmVyKCkiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUi
LGZ1bmN0aW9uKGQpe1FhKGQsYSxiLGMpfSl9KTt0KCJvcmRlci5maXhlZCgpIixmdW5jdGlvbihhKXtpZig
hYSl7dmFyIGI9dGhpcy5jb250ZXh0O2I9Yi5sZW5ndGg/YlswXS5hYVNvcnRpbmdGaXhlZDpwO3Jl
dHVybiBmLmlzQXJyYXkoYik/
e3ByZTpifToKYn1yZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiLGZ1bmN0aW9uKGIpe2IuYWFTb3J0aW5
nRml4ZWQ9Zi5leHRlbmQoITAse30sYSl9KX0pO3QoWyJjb2x1bW5zKCkub3JkZXIoKSIsImNvbHVtbigpLm
9yZGVyKCkiXSxmdW5jdGlvbihhKXt2YXIgYj10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsZ
nVuY3Rpb24oYyxkKXt2YXIgZT1bXTtmLmVhY2goYltkXSxmdW5jdGlvbihiLGMpe2UucHVzaChbYyxhXSl9
KTtjLmFhU29ydGluZz1lfSl9KTt0KCJzZWFyY2goKSIsZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9dGhpcy5
jb250ZXh0O3JldHVybiBhPT09cD8wIT09ZS5sZW5ndGg/
ZVswXS5vUHJldmlvdXNTZWFyY2guc1NlYXJjaDpwOnRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGlvbih
lKXtlLm9GZWF0dXJlcy5iRmlsdGVyJiZpYShlLGYuZXh0ZW5kKHt9LGUub1ByZXZpb3VzU2VhcmNoLHtzU2
VhcmNoOmErIiIsYlJlZ2V4Om51bGw9PT1iPyExOmIsYlNtYXJ0Om51bGw9PT0KYz8hMDpjLGJDYXNlSW5zZ
W5zaXRpdmU6bnVsbD09PWQ/
ITA6ZH0pLDEpfSl9KTt4KCJjb2x1bW5zKCkuc2VhcmNoKCkiLCJjb2x1bW4oKS5zZWFyY2goKSIsZnVuY3R
pb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoImNvbHVtbiIsZnVuY3Rpb24oZSxoKXt2YXIgZz
1lLmFvUHJlU2VhcmNoQ29scztpZihhPT09cClyZXR1cm4gZ1toXS5zU2VhcmNoO2Uub0ZlYXR1cmVzLmJGa
Wx0ZXImJihmLmV4dGVuZChnW2hdLHtzU2VhcmNoOmErIiIsYlJlZ2V4Om51bGw9PT1iPyExOmIsYlNtYXJ0
Om51bGw9PT1jPyEwOmMsYkNhc2VJbnNlbnNpdGl2ZTpudWxsPT09ZD8hMDpkfSksaWEoZSxlLm9QcmV2aW9
1c1NlYXJjaCwxKSl9KX0pO3QoInN0YXRlKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGV4dC5sZW
5ndGg/
dGhpcy5jb250ZXh0WzBdLm9TYXZlZFN0YXRlOm51bGx9KTt0KCJzdGF0ZS5jbGVhcigpIixmdW5jdGlvbig
pe3JldHVybiB0aGlzLml0ZXJhdG9yKCJ0YWJsZSIsCmZ1bmN0aW9uKGEpe2EuZm5TdGF0ZVNhdmVDYWxsYm
Fjay5jYWxsKGEub0luc3RhbmNlLGEse30pfSl9KTt0KCJzdGF0ZS5sb2FkZWQoKSIsZnVuY3Rpb24oKXtyZ
XR1cm4gdGhpcy5jb250ZXh0Lmxlbmd0aD90aGlzLmNvbnRleHRbMF0ub0xvYWRlZFN0YXRlOm51bGx9KTt0
KCJzdGF0ZS5zYXZlKCkiLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXRlcmF0b3IoInRhYmxlIixmdW5jdGl
vbihhKXtCYShhKX0pfSk7cS52ZXJzaW9uQ2hlY2s9cS5mblZlcnNpb25DaGVjaz1mdW5jdGlvbihhKXt2YX
IgYj1xLnZlcnNpb24uc3BsaXQoIi4iKTthPWEuc3BsaXQoIi4iKTtmb3IodmFyIGMsZCxlPTAsZj1hLmxlb
md0aDtlPGY7ZSsrKWlmKGM9cGFyc2VJbnQoYltlXSwxMCl8fDAsZD1wYXJzZUludChhW2VdLDEwKXx8MCxj
IT09ZClyZXR1cm4gYz5kO3JldHVybiEwfTtxLmlzRGF0YVRhYmxlPXEuZm5Jc0RhdGFUYWJsZT1mdW5jdGl
vbihhKXt2YXIgYj1mKGEpLmdldCgwKSxjPSExO2lmKGEgaW5zdGFuY2VvZgpxLkFwaSlyZXR1cm4hMDtmLm
VhY2gocS5zZXR0aW5ncyxmdW5jdGlvbihhLGUpe2E9ZS5uU2Nyb2xsSGVhZD9mKCJ0YWJsZSIsZS5uU2Nyb
2xsSGVhZClbMF06bnVsbDt2YXIgZD1lLm5TY3JvbGxGb290P2YoInRhYmxlIixlLm5TY3JvbGxGb290KVsw
XTpudWxsO2lmKGUublRhYmxlPT09Ynx8YT09PWJ8fGQ9PT1iKWM9ITB9KTtyZXR1cm4gY307cS50YWJsZXM
9cS5mblRhYmxlcz1mdW5jdGlvbihhKXt2YXIgYj0hMTtmLmlzUGxhaW5PYmplY3QoYSkmJihiPWEuYXBpLG
E9YS52aXNpYmxlKTt2YXIgYz1mLm1hcChxLnNldHRpbmdzLGZ1bmN0aW9uKGIpe2lmKCFhfHxhJiZmKGIub
lRhYmxlKS5pcygiOnZpc2libGUiKSlyZXR1cm4gYi5uVGFibGV9KTtyZXR1cm4gYj9uZXcgdihjKTpjfTtx
LmNhbWVsVG9IdW5nYXJpYW49TDt0KCIkKCkiLGZ1bmN0aW9uKGEsYil7Yj10aGlzLnJvd3MoYikubm9kZXM
oKTtiPWYoYik7cmV0dXJuIGYoW10uY29uY2F0KGIuZmlsdGVyKGEpLnRvQXJyYXkoKSwKYi5maW5kKGEpLn
RvQXJyYXkoKSkpfSk7Zi5lYWNoKFsib24iLCJvbmUiLCJvZmYiXSxmdW5jdGlvbihhLGIpe3QoYisiKCkiL
GZ1bmN0aW9uKCl7dmFyIGE9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTthWzBdPWYu
bWFwKGFbMF0uc3BsaXQoL1xzLyksZnVuY3Rpb24oYSl7cmV0dXJuIGEubWF0Y2goL1wuZHRcYi8pP2E6YSs
iLmR0In0pLmpvaW4oIiAiKTt2YXIgZD1mKHRoaXMudGFibGVzKCkubm9kZXMoKSk7ZFtiXS5hcHBseShkLG
EpO3JldHVybiB0aGlzfSl9KTt0KCJjbGVhcigpIixmdW5jdGlvbigpe3JldHVybiB0aGlzLml0ZXJhdG9yK
CJ0YWJsZSIsZnVuY3Rpb24oYSl7cWEoYSl9KX0pO3QoInNldHRpbmdzKCkiLGZ1bmN0aW9uKCl7cmV0dXJu
IG5ldyB2KHRoaXMuY29udGV4dCx0aGlzLmNvbnRleHQpfSk7dCgiaW5pdCgpIixmdW5jdGlvbigpe3ZhciB
hPXRoaXMuY29udGV4dDtyZXR1cm4gYS5sZW5ndGg/
YVswXS5vSW5pdDpudWxsfSk7dCgiZGF0YSgpIiwKZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVyYXRvcig
idGFibGUiLGZ1bmN0aW9uKGEpe3JldHVybiBKKGEuYW9EYXRhLCJfYURhdGEiKX0pLmZsYXR0ZW4oKX0pO3
QoImRlc3Ryb3koKSIsZnVuY3Rpb24oYSl7YT1hfHwhMTtyZXR1cm4gdGhpcy5pdGVyYXRvcigidGFibGUiL
GZ1bmN0aW9uKGIpe3ZhciBjPWIublRhYmxlV3JhcHBlci5wYXJlbnROb2RlLGQ9Yi5vQ2xhc3NlcyxlPWIu
blRhYmxlLGg9Yi5uVEJvZHksZz1iLm5USGVhZCxrPWIublRGb290LGw9ZihlKTtoPWYoaCk7dmFyIG49Zih
iLm5UYWJsZVdyYXBwZXIpLG09Zi5tYXAoYi5hb0RhdGEsZnVuY3Rpb24oYSl7cmV0dXJuIGEublRyfSkscD
tiLmJEZXN0cm95aW5nPSEwO0EoYiwiYW9EZXN0cm95Q2FsbGJhY2siLCJkZXN0cm95IixbYl0pO2F8fChuZ
XcgdihiKSkuY29sdW1ucygpLnZpc2libGUoITApO24ub2ZmKCIuRFQiKS5maW5kKCI6bm90KHRib2R5ICop
Iikub2ZmKCIuRFQiKTtmKHopLm9mZigiLkRULSIrYi5zSW5zdGFuY2UpOwplIT1nLnBhcmVudE5vZGUmJih
sLmNoaWxkcmVuKCJ0aGVhZCIpLmRldGFjaCgpLGwuYXBwZW5kKGcpKTtrJiZlIT1rLnBhcmVudE5vZGUmJi
hsLmNoaWxkcmVuKCJ0Zm9vdCIpLmRldGFjaCgpLGwuYXBwZW5kKGspKTtiLmFhU29ydGluZz1bXTtiLmFhU
29ydGluZ0ZpeGVkPVtdO0FhKGIpO2YobSkucmVtb3ZlQ2xhc3MoYi5hc1N0cmlwZUNsYXNzZXMuam9pbigi
ICIpKTtmKCJ0aCwgdGQiLGcpLnJlbW92ZUNsYXNzKGQuc1NvcnRhYmxlKyIgIitkLnNTb3J0YWJsZUFzYys
iICIrZC5zU29ydGFibGVEZXNjKyIgIitkLnNTb3J0YWJsZU5vbmUpO2guY2hpbGRyZW4oKS5kZXRhY2goKT
toLmFwcGVuZChtKTtnPWE/
InJlbW92ZSI6ImRldGFjaCI7bFtnXSgpO25bZ10oKTshYSYmYyYmKGMuaW5zZXJ0QmVmb3JlKGUsYi5uVGF
ibGVSZWluc2VydEJlZm9yZSksbC5jc3MoIndpZHRoIixiLnNEZXN0cm95V2lkdGgpLnJlbW92ZUNsYXNzKG
Quc1RhYmxlKSwocD1iLmFzRGVzdHJveVN0cmlwZXMubGVuZ3RoKSYmCmguY2hpbGRyZW4oKS5lYWNoKGZ1b
mN0aW9uKGEpe2YodGhpcykuYWRkQ2xhc3MoYi5hc0Rlc3Ryb3lTdHJpcGVzW2ElcF0pfSkpO2M9Zi5pbkFy
cmF5KGIscS5zZXR0aW5ncyk7LTEhPT1jJiZxLnNldHRpbmdzLnNwbGljZShjLDEpfSl9KTtmLmVhY2goWyJ
jb2x1bW4iLCJyb3ciLCJjZWxsIl0sZnVuY3Rpb24oYSxiKXt0KGIrInMoKS5ldmVyeSgpIixmdW5jdGlvbi
hhKXt2YXIgYz10aGlzLnNlbGVjdG9yLm9wdHMsZT10aGlzO3JldHVybiB0aGlzLml0ZXJhdG9yKGIsZnVuY
3Rpb24oZCxmLGssbCxuKXthLmNhbGwoZVtiXShmLCJjZWxsIj09PWI/azpjLCJjZWxsIj09PWI/
YzpwKSxmLGssbCxuKX0pfSl9KTt0KCJpMThuKCkiLGZ1bmN0aW9uKGEsYixjKXt2YXIgZD10aGlzLmNvbnR
leHRbMF07YT1VKGEpKGQub0xhbmd1YWdlKTthPT09cCYmKGE9Yik7YyE9PXAmJmYuaXNQbGFpbk9iamVjdC
hhKSYmKGE9YVtjXSE9PXA/
YVtjXTphLl8pO3JldHVybiBhLnJlcGxhY2UoIiVkIixjKX0pOwpxLnZlcnNpb249IjEuMTAuMjAiO3Euc2V
0dGluZ3M9W107cS5tb2RlbHM9e307cS5tb2RlbHMub1NlYXJjaD17YkNhc2VJbnNlbnNpdGl2ZTohMCxzU2
VhcmNoOiIiLGJSZWdleDohMSxiU21hcnQ6ITB9O3EubW9kZWxzLm9Sb3c9e25UcjpudWxsLGFuQ2VsbHM6b
nVsbCxfYURhdGE6W10sX2FTb3J0RGF0YTpudWxsLF9hRmlsdGVyRGF0YTpudWxsLF9zRmlsdGVyUm93Om51
bGwsX3NSb3dTdHJpcGU6IiIsc3JjOm51bGwsaWR4Oi0xfTtxLm1vZGVscy5vQ29sdW1uPXtpZHg6bnVsbCx
hRGF0YVNvcnQ6bnVsbCxhc1NvcnRpbmc6bnVsbCxiU2VhcmNoYWJsZTpudWxsLGJTb3J0YWJsZTpudWxsLG
JWaXNpYmxlOm51bGwsX3NNYW51YWxUeXBlOm51bGwsX2JBdHRyU3JjOiExLGZuQ3JlYXRlZENlbGw6bnVsb
CxmbkdldERhdGE6bnVsbCxmblNldERhdGE6bnVsbCxtRGF0YTpudWxsLG1SZW5kZXI6bnVsbCxuVGg6bnVs
bCxuVGY6bnVsbCxzQ2xhc3M6bnVsbCxzQ29udGVudFBhZGRpbmc6bnVsbCwKc0RlZmF1bHRDb250ZW50Om5
1bGwsc05hbWU6bnVsbCxzU29ydERhdGFUeXBlOiJzdGQiLHNTb3J0aW5nQ2xhc3M6bnVsbCxzU29ydGluZ0
NsYXNzSlVJOm51bGwsc1RpdGxlOm51bGwsc1R5cGU6bnVsbCxzV2lkdGg6bnVsbCxzV2lkdGhPcmlnOm51b
Gx9O3EuZGVmYXVsdHM9e2FhRGF0YTpudWxsLGFhU29ydGluZzpbWzAsImFzYyJdXSxhYVNvcnRpbmdGaXhl
ZDpbXSxhamF4Om51bGwsYUxlbmd0aE1lbnU6WzEwLDI1LDUwLDEwMF0sYW9Db2x1bW5zOm51bGwsYW9Db2x
1bW5EZWZzOm51bGwsYW9TZWFyY2hDb2xzOltdLGFzU3RyaXBlQ2xhc3NlczpudWxsLGJBdXRvV2lkdGg6IT
AsYkRlZmVyUmVuZGVyOiExLGJEZXN0cm95OiExLGJGaWx0ZXI6ITAsYkluZm86ITAsYkxlbmd0aENoYW5nZ
TohMCxiUGFnaW5hdGU6ITAsYlByb2Nlc3Npbmc6ITEsYlJldHJpZXZlOiExLGJTY3JvbGxDb2xsYXBzZToh
MSxiU2VydmVyU2lkZTohMSxiU29ydDohMCxiU29ydE11bHRpOiEwLGJTb3J0Q2VsbHNUb3A6ITEsCmJTb3J
0Q2xhc3NlczohMCxiU3RhdGVTYXZlOiExLGZuQ3JlYXRlZFJvdzpudWxsLGZuRHJhd0NhbGxiYWNrOm51bG
wsZm5Gb290ZXJDYWxsYmFjazpudWxsLGZuRm9ybWF0TnVtYmVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnRvU
3RyaW5nKCkucmVwbGFjZSgvXEIoPz0oXGR7M30pKyg/
IVxkKSkvZyx0aGlzLm9MYW5ndWFnZS5zVGhvdXNhbmRzKX0sZm5IZWFkZXJDYWxsYmFjazpudWxsLGZuSW5
mb0NhbGxiYWNrOm51bGwsZm5Jbml0Q29tcGxldGU6bnVsbCxmblByZURyYXdDYWxsYmFjazpudWxsLGZuUm
93Q2FsbGJhY2s6bnVsbCxmblNlcnZlckRhdGE6bnVsbCxmblNlcnZlclBhcmFtczpudWxsLGZuU3RhdGVMb
2FkQ2FsbGJhY2s6ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKCgtMT09PWEuaVN0YXRlRHVy
YXRpb24/
c2Vzc2lvblN0b3JhZ2U6bG9jYWxTdG9yYWdlKS5nZXRJdGVtKCJEYXRhVGFibGVzXyIrYS5zSW5zdGFuY2U
rIl8iK2xvY2F0aW9uLnBhdGhuYW1lKSl9Y2F0Y2goYil7fX0sCmZuU3RhdGVMb2FkUGFyYW1zOm51bGwsZm
5TdGF0ZUxvYWRlZDpudWxsLGZuU3RhdGVTYXZlQ2FsbGJhY2s6ZnVuY3Rpb24oYSxiKXt0cnl7KC0xPT09Y
S5pU3RhdGVEdXJhdGlvbj9zZXNzaW9uU3RvcmFnZTpsb2NhbFN0b3JhZ2UpLnNldEl0ZW0oIkRhdGFUYWJs
ZXNfIithLnNJbnN0YW5jZSsiXyIrbG9jYXRpb24ucGF0aG5hbWUsSlNPTi5zdHJpbmdpZnkoYikpfWNhdGN
oKGMpe319LGZuU3RhdGVTYXZlUGFyYW1zOm51bGwsaVN0YXRlRHVyYXRpb246NzIwMCxpRGVmZXJMb2FkaW
5nOm51bGwsaURpc3BsYXlMZW5ndGg6MTAsaURpc3BsYXlTdGFydDowLGlUYWJJbmRleDowLG9DbGFzc2VzO
nt9LG9MYW5ndWFnZTp7b0FyaWE6e3NTb3J0QXNjZW5kaW5nOiI6IGFjdGl2YXRlIHRvIHNvcnQgY29sdW1u
IGFzY2VuZGluZyIsc1NvcnREZXNjZW5kaW5nOiI6IGFjdGl2YXRlIHRvIHNvcnQgY29sdW1uIGRlc2NlbmR
pbmcifSxvUGFnaW5hdGU6e3NGaXJzdDoiRmlyc3QiLHNMYXN0OiJMYXN0IiwKc05leHQ6Ik5leHQiLHNQcm
V2aW91czoiUHJldmlvdXMifSxzRW1wdHlUYWJsZToiTm8gZGF0YSBhdmFpbGFibGUgaW4gdGFibGUiLHNJb
mZvOiJTaG93aW5nIF9TVEFSVF8gdG8gX0VORF8gb2YgX1RPVEFMXyBlbnRyaWVzIixzSW5mb0VtcHR5OiJT
aG93aW5nIDAgdG8gMCBvZiAwIGVudHJpZXMiLHNJbmZvRmlsdGVyZWQ6IihmaWx0ZXJlZCBmcm9tIF9NQVh
fIHRvdGFsIGVudHJpZXMpIixzSW5mb1Bvc3RGaXg6IiIsc0RlY2ltYWw6IiIsc1Rob3VzYW5kczoiLCIsc0
xlbmd0aE1lbnU6IlNob3cgX01FTlVfIGVudHJpZXMiLHNMb2FkaW5nUmVjb3JkczoiTG9hZGluZy4uLiIsc
1Byb2Nlc3Npbmc6IlByb2Nlc3NpbmcuLi4iLHNTZWFyY2g6IlNlYXJjaDoiLHNTZWFyY2hQbGFjZWhvbGRl
cjoiIixzVXJsOiIiLHNaZXJvUmVjb3JkczoiTm8gbWF0Y2hpbmcgcmVjb3JkcyBmb3VuZCJ9LG9TZWFyY2g
6Zi5leHRlbmQoe30scS5tb2RlbHMub1NlYXJjaCksc0FqYXhEYXRhUHJvcDoiZGF0YSIsCnNBamF4U291cm
NlOm51bGwsc0RvbToibGZydGlwIixzZWFyY2hEZWxheTpudWxsLHNQYWdpbmF0aW9uVHlwZToic2ltcGxlX
251bWJlcnMiLHNTY3JvbGxYOiIiLHNTY3JvbGxYSW5uZXI6IiIsc1Njcm9sbFk6IiIsc1NlcnZlck1ldGhv
ZDoiR0VUIixyZW5kZXJlcjpudWxsLHJvd0lkOiJEVF9Sb3dJZCJ9O0gocS5kZWZhdWx0cyk7cS5kZWZhdWx
0cy5jb2x1bW49e2FEYXRhU29ydDpudWxsLGlEYXRhU29ydDotMSxhc1NvcnRpbmc6WyJhc2MiLCJkZXNjIl
0sYlNlYXJjaGFibGU6ITAsYlNvcnRhYmxlOiEwLGJWaXNpYmxlOiEwLGZuQ3JlYXRlZENlbGw6bnVsbCxtR
GF0YTpudWxsLG1SZW5kZXI6bnVsbCxzQ2VsbFR5cGU6InRkIixzQ2xhc3M6IiIsc0NvbnRlbnRQYWRkaW5n
OiIiLHNEZWZhdWx0Q29udGVudDpudWxsLHNOYW1lOiIiLHNTb3J0RGF0YVR5cGU6InN0ZCIsc1RpdGxlOm5
1bGwsc1R5cGU6bnVsbCxzV2lkdGg6bnVsbH07SChxLmRlZmF1bHRzLmNvbHVtbik7cS5tb2RlbHMub1NldH
RpbmdzPQp7b0ZlYXR1cmVzOntiQXV0b1dpZHRoOm51bGwsYkRlZmVyUmVuZGVyOm51bGwsYkZpbHRlcjpud
WxsLGJJbmZvOm51bGwsYkxlbmd0aENoYW5nZTpudWxsLGJQYWdpbmF0ZTpudWxsLGJQcm9jZXNzaW5nOm51
bGwsYlNlcnZlclNpZGU6bnVsbCxiU29ydDpudWxsLGJTb3J0TXVsdGk6bnVsbCxiU29ydENsYXNzZXM6bnV
sbCxiU3RhdGVTYXZlOm51bGx9LG9TY3JvbGw6e2JDb2xsYXBzZTpudWxsLGlCYXJXaWR0aDowLHNYOm51bG
wsc1hJbm5lcjpudWxsLHNZOm51bGx9LG9MYW5ndWFnZTp7Zm5JbmZvQ2FsbGJhY2s6bnVsbH0sb0Jyb3dzZ
XI6e2JTY3JvbGxPdmVyc2l6ZTohMSxiU2Nyb2xsYmFyTGVmdDohMSxiQm91bmR
pbmc6ITEsYmFyV2lkdGg6MH0sYWpheDpudWxsLGFhbkZlYXR1cmVzOltdLGFvRGF0YTpbXSxhaURpc3BsYX
k6W10sYWlEaXNwbGF5TWFzdGVyOltdLGFJZHM6e30sYW9Db2x1bW5zOltdLGFvSGVhZGVyOltdLGFvRm9vd
GVyOltdLG9QcmV2aW91c1NlYXJjaDp7fSwKYW9QcmVTZWFyY2hDb2xzOltdLGFhU29ydGluZzpudWxsLGFh
U29ydGluZ0ZpeGVkOltdLGFzU3RyaXBlQ2xhc3NlczpudWxsLGFzRGVzdHJveVN0cmlwZXM6W10sc0Rlc3R
yb3lXaWR0aDowLGFvUm93Q2FsbGJhY2s6W10sYW9IZWFkZXJDYWxsYmFjazpbXSxhb0Zvb3RlckNhbGxiYW
NrOltdLGFvRHJhd0NhbGxiYWNrOltdLGFvUm93Q3JlYXRlZENhbGxiYWNrOltdLGFvUHJlRHJhd0NhbGxiY
WNrOltdLGFvSW5pdENvbXBsZXRlOltdLGFvU3RhdGVTYXZlUGFyYW1zOltdLGFvU3RhdGVMb2FkUGFyYW1z
OltdLGFvU3RhdGVMb2FkZWQ6W10sc1RhYmxlSWQ6IiIsblRhYmxlOm51bGwsblRIZWFkOm51bGwsblRGb29
0Om51bGwsblRCb2R5Om51bGwsblRhYmxlV3JhcHBlcjpudWxsLGJEZWZlckxvYWRpbmc6ITEsYkluaXRpYW
xpc2VkOiExLGFvT3BlblJvd3M6W10sc0RvbTpudWxsLHNlYXJjaERlbGF5Om51bGwsc1BhZ2luYXRpb25Ue
XBlOiJ0d29fYnV0dG9uIixpU3RhdGVEdXJhdGlvbjowLAphb1N0YXRlU2F2ZTpbXSxhb1N0YXRlTG9hZDpb
XSxvU2F2ZWRTdGF0ZTpudWxsLG9Mb2FkZWRTdGF0ZTpudWxsLHNBamF4U291cmNlOm51bGwsc0FqYXhEYXR
hUHJvcDpudWxsLGJBamF4RGF0YUdldDohMCxqcVhIUjpudWxsLGpzb246cCxvQWpheERhdGE6cCxmblNlcn
ZlckRhdGE6bnVsbCxhb1NlcnZlclBhcmFtczpbXSxzU2VydmVyTWV0aG9kOm51bGwsZm5Gb3JtYXROdW1iZ
XI6bnVsbCxhTGVuZ3RoTWVudTpudWxsLGlEcmF3OjAsYkRyYXdpbmc6ITEsaURyYXdFcnJvcjotMSxfaURp
c3BsYXlMZW5ndGg6MTAsX2lEaXNwbGF5U3RhcnQ6MCxfaVJlY29yZHNUb3RhbDowLF9pUmVjb3Jkc0Rpc3B
sYXk6MCxvQ2xhc3Nlczp7fSxiRmlsdGVyZWQ6ITEsYlNvcnRlZDohMSxiU29ydENlbGxzVG9wOm51bGwsb0
luaXQ6bnVsbCxhb0Rlc3Ryb3lDYWxsYmFjazpbXSxmblJlY29yZHNUb3RhbDpmdW5jdGlvbigpe3JldHVyb
iJzc3AiPT1EKHRoaXMpPzEqdGhpcy5faVJlY29yZHNUb3RhbDoKdGhpcy5haURpc3BsYXlNYXN0ZXIubGVu
Z3RofSxmblJlY29yZHNEaXNwbGF5OmZ1bmN0aW9uKCl7cmV0dXJuInNzcCI9PUQodGhpcyk/
MSp0aGlzLl9pUmVjb3Jkc0Rpc3BsYXk6dGhpcy5haURpc3BsYXkubGVuZ3RofSxmbkRpc3BsYXlFbmQ6ZnV
uY3Rpb24oKXt2YXIgYT10aGlzLl9pRGlzcGxheUxlbmd0aCxiPXRoaXMuX2lEaXNwbGF5U3RhcnQsYz1iK2
EsZD10aGlzLmFpRGlzcGxheS5sZW5ndGgsZT10aGlzLm9GZWF0dXJlcyxmPWUuYlBhZ2luYXRlO3JldHVyb
iBlLmJTZXJ2ZXJTaWRlPyExPT09Znx8LTE9PT1hP2IrZDpNYXRoLm1pbihiK2EsdGhpcy5faVJlY29yZHNE
aXNwbGF5KTohZnx8Yz5kfHwtMT09PWE/
ZDpjfSxvSW5zdGFuY2U6bnVsbCxzSW5zdGFuY2U6bnVsbCxpVGFiSW5kZXg6MCxuU2Nyb2xsSGVhZDpudWx
sLG5TY3JvbGxGb290Om51bGwsYUxhc3RTb3J0OltdLG9QbHVnaW5zOnt9LHJvd0lkRm46bnVsbCxyb3dJZD
pudWxsfTtxLmV4dD1DPXtidXR0b25zOnt9LApjbGFzc2VzOnt9LGJ1aWxkZXI6Ii1zb3VyY2UtIixlcnJNb
2RlOiJhbGVydCIsZmVhdHVyZTpbXSxzZWFyY2g6W10sc2VsZWN0b3I6e2NlbGw6W10sY29sdW1uOltdLHJv
dzpbXX0saW50ZXJuYWw6e30sbGVnYWN5OnthamF4Om51bGx9LHBhZ2VyOnt9LHJlbmRlcmVyOntwYWdlQnV
0dG9uOnt9LGhlYWRlcjp7fX0sb3JkZXI6e30sdHlwZTp7ZGV0ZWN0OltdLHNlYXJjaDp7fSxvcmRlcjp7fX
0sX3VuaXF1ZTowLGZuVmVyc2lvbkNoZWNrOnEuZm5WZXJzaW9uQ2hlY2ssaUFwaUluZGV4OjAsb0pVSUNsY
XNzZXM6e30sc1ZlcnNpb246cS52ZXJzaW9ufTtmLmV4dGVuZChDLHthZm5GaWx0ZXJpbmc6Qy5zZWFyY2gs
YVR5cGVzOkMudHlwZS5kZXRlY3Qsb2ZuU2VhcmNoOkMudHlwZS5zZWFyY2gsb1NvcnQ6Qy50eXBlLm9yZGV
yLGFmblNvcnREYXRhOkMub3JkZXIsYW9GZWF0dXJlczpDLmZlYXR1cmUsb0FwaTpDLmludGVybmFsLG9TdG
RDbGFzc2VzOkMuY2xhc3NlcyxvUGFnaW5hdGlvbjpDLnBhZ2VyfSk7CmYuZXh0ZW5kKHEuZXh0LmNsYXNzZ
XMse3NUYWJsZToiZGF0YVRhYmxlIixzTm9Gb290ZXI6Im5vLWZvb3RlciIsc1BhZ2VCdXR0b246InBhZ2lu
YXRlX2J1dHRvbiIsc1BhZ2VCdXR0b25BY3RpdmU6ImN1cnJlbnQiLHNQYWdlQnV0dG9uRGlzYWJsZWQ6ImR
pc2FibGVkIixzU3RyaXBlT2RkOiJvZGQiLHNTdHJpcGVFdmVuOiJldmVuIixzUm93RW1wdHk6ImRhdGFUYW
JsZXNfZW1wdHkiLHNXcmFwcGVyOiJkYXRhVGFibGVzX3dyYXBwZXIiLHNGaWx0ZXI6ImRhdGFUYWJsZXNfZ
mlsdGVyIixzSW5mbzoiZGF0YVRhYmxlc19pbmZvIixzUGFnaW5nOiJkYXRhVGFibGVzX3BhZ2luYXRlIHBh
Z2luZ18iLHNMZW5ndGg6ImRhdGFUYWJsZXNfbGVuZ3RoIixzUHJvY2Vzc2luZzoiZGF0YVRhYmxlc19wcm9
jZXNzaW5nIixzU29ydEFzYzoic29ydGluZ19hc2MiLHNTb3J0RGVzYzoic29ydGluZ19kZXNjIixzU29ydG
FibGU6InNvcnRpbmciLHNTb3J0YWJsZUFzYzoic29ydGluZ19hc2NfZGlzYWJsZWQiLApzU29ydGFibGVEZ
XNjOiJzb3J0aW5nX2Rlc2NfZGlzYWJsZWQiLHNTb3J0YWJsZU5vbmU6InNvcnRpbmdfZGlzYWJsZWQiLHNT
b3J0Q29sdW1uOiJzb3J0aW5nXyIsc0ZpbHRlcklucHV0OiIiLHNMZW5ndGhTZWxlY3Q6IiIsc1Njcm9sbFd
yYXBwZXI6ImRhdGFUYWJsZXNfc2Nyb2xsIixzU2Nyb2xsSGVhZDoiZGF0YVRhYmxlc19zY3JvbGxIZWFkIi
xzU2Nyb2xsSGVhZElubmVyOiJkYXRhVGFibGVzX3Njcm9sbEhlYWRJbm5lciIsc1Njcm9sbEJvZHk6ImRhd
GFUYWJsZXNfc2Nyb2xsQm9keSIsc1Njcm9sbEZvb3Q6ImRhdGFUYWJsZXNfc2Nyb2xsRm9vdCIsc1Njcm9s
bEZvb3RJbm5lcjoiZGF0YVRhYmxlc19zY3JvbGxGb290SW5uZXIiLHNIZWFkZXJUSDoiIixzRm9vdGVyVEg
6IiIsc1NvcnRKVUlBc2M6IiIsc1NvcnRKVUlEZXNjOiIiLHNTb3J0SlVJOiIiLHNTb3J0SlVJQXNjQWxsb3
dlZDoiIixzU29ydEpVSURlc2NBbGxvd2VkOiIiLHNTb3J0SlVJV3JhcHBlcjoiIixzU29ydEljb246IiIsC
nNKVUlIZWFkZXI6IiIsc0pVSUZvb3RlcjoiIn0pO3ZhciBQYj1xLmV4dC5wYWdlcjtmLmV4dGVuZChQYix7
c2ltcGxlOmZ1bmN0aW9uKGEsYil7cmV0dXJuWyJwcmV2aW91cyIsIm5leHQiXX0sZnVsbDpmdW5jdGlvbih
hLGIpe3JldHVyblsiZmlyc3QiLCJwcmV2aW91cyIsIm5leHQiLCJsYXN0Il19LG51bWJlcnM6ZnVuY3Rpb2
4oYSxiKXtyZXR1cm5ba2EoYSxiKV19LHNpbXBsZV9udW1iZXJzOmZ1bmN0aW9uKGEsYil7cmV0dXJuWyJwc
mV2aW91cyIsa2EoYSxiKSwibmV4dCJdfSxmdWxsX251bWJlcnM6ZnVuY3Rpb24oYSxiKXtyZXR1cm5bImZp
cnN0IiwicHJldmlvdXMiLGthKGEsYiksIm5leHQiLCJsYXN0Il19LGZpcnN0X2xhc3RfbnVtYmVyczpmdW5
jdGlvbihhLGIpe3JldHVyblsiZmlyc3QiLGthKGEsYiksImxhc3QiXX0sX251bWJlcnM6a2EsbnVtYmVyc1
9sZW5ndGg6N30pO2YuZXh0ZW5kKCEwLHEuZXh0LnJlbmRlcmVyLHtwYWdlQnV0dG9uOntfOmZ1bmN0aW9uK
GEsYiwKYyxkLGUsaCl7dmFyIGc9YS5vQ2xhc3NlcyxrPWEub0xhbmd1YWdlLm9QYWdpbmF0ZSxsPWEub0xh
bmd1YWdlLm9BcmlhLnBhZ2luYXRlfHx7fSxuLG0scT0wLHQ9ZnVuY3Rpb24oYixkKXt2YXIgcCxyPWcuc1B
hZ2VCdXR0b25EaXNhYmxlZCx1PWZ1bmN0aW9uKGIpe1hhKGEsYi5kYXRhLmFjdGlvbiwhMCl9O3ZhciB3PT
A7Zm9yKHA9ZC5sZW5ndGg7dzxwO3crKyl7dmFyIHY9ZFt3XTtpZihmLmlzQXJyYXkodikpe3ZhciB4PWYoI
jwiKyh2LkRUX2VsfHwiZGl2IikrIi8+IikuYXBwZW5kVG8oYik7dCh4LHYpfWVsc2V7bj1udWxsO209djt4
PWEuaVRhYkluZGV4O3N3aXRjaCh2KXtjYXNlICJlbGxpcHNpcyI6Yi5hcHBlbmQoJzxzcGFuIGNsYXNzPSJ
lbGxpcHNpcyI+JiN4MjAyNjs8L3NwYW4+Jyk7YnJlYWs7Y2FzZSAiZmlyc3QiOm49ay5zRmlyc3Q7MD09PW
UmJih4PS0xLG0rPSIgIityKTticmVhaztjYXNlICJwcmV2aW91cyI6bj1rLnNQcmV2aW91czswPT09ZSYmK
Hg9LTEsbSs9CiIgIityKTticmVhaztjYXNlICJuZXh0IjpuPWsuc05leHQ7ZT09PWgtMSYmKHg9LTEsbSs9
IiAiK3IpO2JyZWFrO2Nhc2UgImxhc3QiOm49ay5zTGFzdDtlPT09aC0xJiYoeD0tMSxtKz0iICIrcik7YnJ
lYWs7ZGVmYXVsdDpuPXYrMSxtPWU9PT12P2cuc1BhZ2VCdXR0b25BY3RpdmU6IiJ9bnVsbCE9PW4mJih4PW
YoIjxhPiIseyJjbGFzcyI6Zy5zUGFnZUJ1dHRvbisiICIrbSwiYXJpYS1jb250cm9scyI6YS5zVGFibGVJZ
CwiYXJpYS1sYWJlbCI6bFt2XSwiZGF0YS1kdC1pZHgiOnEsdGFiaW5kZXg6eCxpZDowPT09YyYmInN0cmlu
ZyI9PT10eXBlb2Ygdj9hLnNUYWJsZUlkKyJfIit2Om51bGx9KS5odG1sKG4pLmFwcGVuZFRvKGIpLCRhKHg
se2FjdGlvbjp2fSx1KSxxKyspfX19O3RyeXt2YXIgdj1mKGIpLmZpbmQoeS5hY3RpdmVFbGVtZW50KS5kYX
RhKCJkdC1pZHgiKX1jYXRjaChtYyl7fXQoZihiKS5lbXB0eSgpLGQpO3YhPT1wJiZmKGIpLmZpbmQoIltkY
XRhLWR0LWlkeD0iKwp2KyJdIikuZm9jdXMoKX19fSk7Zi5leHRlbmQocS5leHQudHlwZS5kZXRlY3QsW2Z1
bmN0aW9uKGEsYil7Yj1iLm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gZGIoYSxiKT8ibnVtIitiOm51bGx
9LGZ1bmN0aW9uKGEsYil7aWYoYSYmIShhIGluc3RhbmNlb2YgRGF0ZSkmJiFjYy50ZXN0KGEpKXJldHVybi
BudWxsO2I9RGF0ZS5wYXJzZShhKTtyZXR1cm4gbnVsbCE9PWImJiFpc05hTihiKXx8UChhKT8iZGF0ZSI6b
nVsbH0sZnVuY3Rpb24oYSxiKXtiPWIub0xhbmd1YWdlLnNEZWNpbWFsO3JldHVybiBkYihhLGIsITApPyJu
dW0tZm10IitiOm51bGx9LGZ1bmN0aW9uKGEsYil7Yj1iLm9MYW5ndWFnZS5zRGVjaW1hbDtyZXR1cm4gVWI
oYSxiKT8iaHRtbC1udW0iK2I6bnVsbH0sZnVuY3Rpb24oYSxiKXtiPWIub0xhbmd1YWdlLnNEZWNpbWFsO3
JldHVybiBVYihhLGIsITApPyJodG1sLW51bS1mbXQiK2I6bnVsbH0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gU
ChhKXx8InN0cmluZyI9PT0KdHlwZW9mIGEmJi0xIT09YS5pbmRleE9mKCI8Iik/
Imh0bWwiOm51bGx9XSk7Zi5leHRlbmQocS5leHQudHlwZS5zZWFyY2gse2h0bWw6ZnVuY3Rpb24oYSl7cmV
0dXJuIFAoYSk/
YToic3RyaW5nIj09PXR5cGVvZiBhP2EucmVwbGFjZShSYiwiICIpLnJlcGxhY2UoRWEsIiIpOiIifSxzdHJ
pbmc6ZnVuY3Rpb24oYSl7cmV0dXJuIFAoYSk/
YToic3RyaW5nIj09PXR5cGVvZiBhP2EucmVwbGFjZShSYiwiICIpOmF9fSk7dmFyIERhPWZ1bmN0aW9uKGE
sYixjLGQpe2lmKDAhPT1hJiYoIWF8fCItIj09PWEpKXJldHVybi1JbmZpbml0eTtiJiYoYT1UYihhLGIpKT
thLnJlcGxhY2UmJihjJiYoYT1hLnJlcGxhY2UoYywiIikpLGQmJihhPWEucmVwbGFjZShkLCIiKSkpO3Jld
HVybiAxKmF9O2YuZXh0ZW5kKEMudHlwZS5vcmRlcix7ImRhdGUtcHJlIjpmdW5jdGlvbihhKXthPURhdGUu
cGFyc2UoYSk7cmV0dXJuIGlzTmFOKGEpPy1JbmZpbml0eTphfSwiaHRtbC1wcmUiOmZ1bmN0aW9uKGEpe3J
ldHVybiBQKGEpPwoiIjphLnJlcGxhY2U/YS5yZXBsYWNlKC88Lio/
Pi9nLCIiKS50b0xvd2VyQ2FzZSgpOmErIiJ9LCJzdHJpbmctcHJlIjpmdW5jdGlvbihhKXtyZXR1cm4gUCh
hKT8iIjoic3RyaW5nIj09PXR5cGVvZiBhP2EudG9Mb3dlckNhc2UoKTphLnRvU3RyaW5nP2EudG9TdHJpbm
coKToiIn0sInN0cmluZy1hc2MiOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8tMTphPmI/
MTowfSwic3RyaW5nLWRlc2MiOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGE8Yj8xOmE+Yj8tMTowfX0pO0hhKCI
iKTtmLmV4dGVuZCghMCxxLmV4dC5yZW5kZXJlcix7aGVhZGVyOntfOmZ1bmN0aW9uKGEsYixjLGQpe2YoYS
5uVGFibGUpLm9uKCJvcmRlci5kdC5EVCIsZnVuY3Rpb24oZSxmLGcsayl7YT09PWYmJihlPWMuaWR4LGIuc
mVtb3ZlQ2xhc3MoYy5zU29ydGluZ0NsYXNzKyIgIitkLnNTb3J0QXNjKyIgIitkLnNTb3J0RGVzYykuYWRk
Q2xhc3MoImFzYyI9PWtbZV0/ZC5zU29ydEFzYzoiZGVzYyI9PWtbZV0/
ZC5zU29ydERlc2M6CmMuc1NvcnRpbmdDbGFzcykpfSl9LGpxdWVyeXVpOmZ1bmN0aW9uKGEsYixjLGQpe2Y
oIjxkaXYvPiIpLmFkZENsYXNzKGQuc1NvcnRKVUlXcmFwcGVyKS5hcHBlbmQoYi5jb250ZW50cygpKS5hcH
BlbmQoZigiPHNwYW4vPiIpLmFkZENsYXNzKGQuc1NvcnRJY29uKyIgIitjLnNTb3J0aW5nQ2xhc3NKVUkpK
S5hcHBlbmRUbyhiKTtmKGEublRhYmxlKS5vbigib3JkZXIuZHQuRFQiLGZ1bmN0aW9uKGUsZixnLGspe2E9
PT1mJiYoZT1jLmlkeCxiLnJlbW92ZUNsYXNzKGQuc1NvcnRBc2MrIiAiK2Quc1NvcnREZXNjKS5hZGRDbGF
zcygiYXNjIj09a1tlXT9kLnNTb3J0QXNjOiJkZXNjIj09a1tlXT9kLnNTb3J0RGVzYzpjLnNTb3J0aW5nQ2
xhc3MpLGIuZmluZCgic3Bhbi4iK2Quc1NvcnRJY29uKS5yZW1vdmVDbGFzcyhkLnNTb3J0SlVJQXNjKyIgI
itkLnNTb3J0SlVJRGVzYysiICIrZC5zU29ydEpVSSsiICIrZC5zU29ydEpVSUFzY0FsbG93ZWQrIiAiK2Qu
c1NvcnRKVUlEZXNjQWxsb3dlZCkuYWRkQ2xhc3MoImFzYyI9PQprW2VdP2Quc1NvcnRKVUlBc2M6ImRlc2M
iPT1rW2VdP2Quc1NvcnRKVUlEZXNjOmMuc1NvcnRpbmdDbGFzc0pVSSkpfSl9fX0pO3ZhciBpYj1mdW5jdG
lvbihhKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBhP2EucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZ
SgvPi9nLCImZ3Q7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKTphfTtxLnJlbmRlcj17bnVtYmVyOmZ1bmN0
aW9uKGEsYixjLGQsZSl7cmV0dXJue2Rpc3BsYXk6ZnVuY3Rpb24oZil7aWYoIm51bWJlciIhPT10eXBlb2Y
gZiYmInN0cmluZyIhPT10eXBlb2YgZilyZXR1cm4gZjt2YXIgZz0wPmY/
Ii0iOiIiLGg9cGFyc2VGbG9hdChmKTtpZihpc05hTihoKSlyZXR1cm4gaWIoZik7aD1oLnRvRml4ZWQoYyk
7Zj1NYXRoLmFicyhoKTtoPXBhcnNlSW50KGYsMTApO2Y9Yz9iKyhmLWgpLnRvRml4ZWQoYykuc3Vic3RyaW
5nKDIpOiIiO3JldHVybiBnKyhkfHwiIikraC50b1N0cmluZygpLnJlcGxhY2UoL1xCKD89KFxkezN9KSsoP
yFcZCkpL2csCmEpK2YrKGV8fCIiKX19fSx0ZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2Rpc3BsYXk6aWIsZmls
dGVyOmlifX19O2YuZXh0ZW5kKHEuZXh0LmludGVybmFsLHtfZm5FeHRlcm5BcGlGdW5jOlFiLF9mbkJ1aWx
kQWpheDp2YSxfZm5BamF4VXBkYXRlOnFiLF9mbkFqYXhQYXJhbWV0ZXJzOnpiLF9mbkFqYXhVcGRhdGVEcm
F3OkFiLF9mbkFqYXhEYXRhU3JjOndhLF9mbkFkZENvbHVtbjpJYSxfZm5Db2x1bW5PcHRpb25zOm1hLF9mb
k
FkanVzdENvbHVtblNpemluZzphYSxfZm5WaXNpYmxlVG9Db2x1bW5JbmRleDpiYSxfZm5Db2x1bW5JbmRle
FRvVmlzaWJsZTpjYSxfZm5WaXNibGVDb2x1bW5zOlcsX2ZuR2V0Q29sdW1uczpvYSxfZm5Db2x1bW5UeXBl
czpLYSxfZm5BcHBseUNvbHVtbkRlZnM6bmIsX2ZuSHVuZ2FyaWFuTWFwOkgsX2ZuQ2FtZWxUb0h1bmdhcml
hbjpMLF9mbkxhbmd1YWdlQ29tcGF0OkdhLF9mbkJyb3dzZXJEZXRlY3Q6bGIsX2ZuQWRkRGF0YTpSLF9mbk
FkZFRyOnBhLF9mbk5vZGVUb0RhdGFJbmRleDpmdW5jdGlvbihhLApiKXtyZXR1cm4gYi5fRFRfUm93SW5kZ
XghPT1wP2IuX0RUX1Jvd0luZGV4Om51bGx9LF9mbk5vZGVUb0NvbHVtbkluZGV4OmZ1bmN0aW9uKGEsYixj
KXtyZXR1cm4gZi5pbkFycmF5KGMsYS5hb0RhdGFbYl0uYW5DZWxscyl9LF9mbkdldENlbGxEYXRhOkksX2Z
uU2V0Q2VsbERhdGE6b2IsX2ZuU3BsaXRPYmpOb3RhdGlvbjpOYSxfZm5HZXRPYmplY3REYXRhRm46VSxfZm
5TZXRPYmplY3REYXRhRm46USxfZm5HZXREYXRhTWFzdGVyOk9hLF9mbkNsZWFyVGFibGU6cWEsX2ZuRGVsZ
XRlSW5kZXg6cmEsX2ZuSW52YWxpZGF0ZTplYSxfZm5HZXRSb3dFbGVtZW50czpNYSxfZm5DcmVhdGVUcjpM
YSxfZm5CdWlsZEhlYWQ6cGIsX2ZuRHJhd0hlYWQ6aGEsX2ZuRHJhdzpTLF9mblJlRHJhdzpWLF9mbkFkZE9
wdGlvbnNIdG1sOnNiLF9mbkRldGVjdEhlYWRlcjpmYSxfZm5HZXRVbmlxdWVUaHM6dWEsX2ZuRmVhdHVyZU
h0bWxGaWx0ZXI6dWIsX2ZuRmlsdGVyQ29tcGxldGU6aWEsX2ZuRmlsdGVyQ3VzdG9tOkRiLApfZm5GaWx0Z
XJDb2x1bW46Q2IsX2ZuRmlsdGVyOkJiLF9mbkZpbHRlckNyZWF0ZVNlYXJjaDpUYSxfZm5Fc2NhcGVSZWdl
eDpVYSxfZm5GaWx0ZXJEYXRhOkViLF9mbkZlYXR1cmVIdG1sSW5mbzp4YixfZm5VcGRhdGVJbmZvOkhiLF9
mbkluZm9NYWNyb3M6SWIsX2ZuSW5pdGlhbGlzZTpqYSxfZm5Jbml0Q29tcGxldGU6eGEsX2ZuTGVuZ3RoQ2
hhbmdlOlZhLF9mbkZlYXR1cmVIdG1sTGVuZ3RoOnRiLF9mbkZlYXR1cmVIdG1sUGFnaW5hdGU6eWIsX2ZuU
GFnZUNoYW5nZTpYYSxfZm5GZWF0dXJlSHRtbFByb2Nlc3Npbmc6dmIsX2ZuUHJvY2Vzc2luZ0Rpc3BsYXk6
SyxfZm5GZWF0dXJlSHRtbFRhYmxlOndiLF9mblNjcm9sbERyYXc6bmEsX2ZuQXBwbHlUb0NoaWxkcmVuOk4
sX2ZuQ2FsY3VsYXRlQ29sdW1uV2lkdGhzOkphLF9mblRocm90dGxlOlNhLF9mbkNvbnZlcnRUb1dpZHRoOk
piLF9mbkdldFdpZGVzdE5vZGU6S2IsX2ZuR2V0TWF4TGVuU3RyaW5nOkxiLF9mblN0cmluZ1RvQ3NzOkIsC
l9mblNvcnRGbGF0dGVuOlksX2ZuU29ydDpyYixfZm5Tb3J0QXJpYTpOYixfZm5Tb3J0TGlzdGVuZXI6WmEs
X2ZuU29ydEF0dGFjaExpc3RlbmVyOlFhLF9mblNvcnRpbmdDbGFzc2VzOkFhLF9mblNvcnREYXRhOk1iLF9
mblNhdmVTdGF0ZTpCYSxfZm5Mb2FkU3RhdGU6T2IsX2ZuU2V0dGluZ3NGcm9tTm9kZTpDYSxfZm5Mb2c6Ty
xfZm5NYXA6TSxfZm5CaW5kQWN0aW9uOiRhLF9mbkNhbGxiYWNrUmVnOkUsX2ZuQ2FsbGJhY2tGaXJlOkEsX
2ZuTGVuZ3RoT3ZlcmZsb3c6V2EsX2ZuUmVuZGVyZXI6UmEsX2ZuRGF0YVNvdXJjZTpELF9mblJvd0F0dHJp
YnV0ZXM6UGEsX2ZuRXh0ZW5kOmFiLF9mbkNhbGN1bGF0ZUVuZDpmdW5jdGlvbigpe319KTtmLmZuLmRhdGF
UYWJsZT1xO3EuJD1mO2YuZm4uZGF0YVRhYmxlU2V0dGluZ3M9cS5zZXR0aW5ncztmLmZuLmRhdGFUYWJsZU
V4dD1xLmV4dDtmLmZuLkRhdGFUYWJsZT1mdW5jdGlvbihhKXtyZXR1cm4gZih0aGlzKS5kYXRhVGFibGUoY
SkuYXBpKCl9OwpmLmVhY2gocSxmdW5jdGlvbihhLGIpe2YuZm4uRGF0YVRhYmxlW2FdPWJ9KTtyZXR1cm4g
Zi5mbi5kYXRhVGFibGV9KTsK\"></script>\n",
"<link href=\"data:text/css;charset-utf-
8;base64,dGFibGUuZGF0YVRhYmxle3dpZHRoOjEwMCU7bWFyZ2luOjAgYXV0bztjbGVhcjpib3RoO2Jvcm
Rlci1jb2xsYXBzZTpzZXBhcmF0ZTtib3JkZXItc3BhY2luZzowfXRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0a
Cx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGh7Zm9udC13ZWlnaHQ6Ym9sZH10YWJsZS5kYXRhVGFibGUgdGhl
YWQgdGgsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRke3BhZGRpbmc6MTBweCAxOHB4O2JvcmRlci1ib3R0b20
6MXB4IHNvbGlkICMxMTF9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoOmFjdGl2ZSx0YWJsZS5kYXRhVGFibG
UgdGhlYWQgdGQ6YWN0aXZle291dGxpbmU6bm9uZX10YWJsZS5kYXRhVGFibGUgdGZvb3QgdGgsdGFibGUuZ
GF0YVRhYmxlIHRmb290IHRke3BhZGRpbmc6MTBweCAxOHB4IDZweCAxOHB4O2JvcmRlci10b3A6MXB4IHNv
bGlkICMxMTF9dGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nLHRhYmxlLmRhdGFUYWJsZSB0aGVhZCA
uc29ydGluZ19hc2MsdGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2Rlc2MsdGFibGUuZGF0YVRhYm
xlIHRoZWFkIC5zb3J0aW5nX2FzY19kaXNhYmxlZCx0YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZ
GVzY19kaXNhYmxlZHtjdXJzb3I6cG9pbnRlcjsqY3Vyc29yOmhhbmQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8t
cmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIHJpZ2h0fXRhYmxlLmRhdGFUYWJsZSB0aGVhZCA
uc29ydGluZ3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ2
9BQUFBTlNVaEVVZ0FBQUJNQUFBQVRDQVFBQUFEWVdmNUhBQUFBa0VsRVFWUW96N1hRTVE1QVFCQ0Y0ZFdRU
0p4QzV3d2F4MUNxMWU3QkFkeEQ1U0wrVHEvUUNNMW9OaUppZHdveDAzNTVtWG5HL0RyRXRJUTZhemlvTlpR
eEkweWtQaFRRSXdoQ1IrQm1CWXRsSzdrTEpZd1dDY0pBOU00cWRyWnJkOHBQalpXUHRPcWRSUXkzMjBZU1Y
xN09hdEZDNGV1dHM2ejM5R1lNS1JQQ1RLWTlVblBRNlArR3RNUmZHdFBuQkNpcWhBZUpQbWtxQUFBQUFFbE
ZUa1N1UW1DQyl9dGFibGUuZGF0YVRhYmxlIHRoZWFkIC5zb3J0aW5nX2FzY3tiYWNrZ3JvdW5kLWltYWdlO
nVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJNQUFBQVRDQVlB
QUFCeVVEYk1BQUFBWjBsRVFWUTR5Mk5nR0xLZ3F1RXVGeEJQQUdJMmFoaFdDc1MvZ0RpYlVvTzBnUGd4RVA
4SDR0dEFyRXl1UVl4QVBCZHFFQXhQQkltVFk1Z2pFTDlETSt3VEVOdVFhaEF2RU85RE13aUdkd0F4T3ltR0
pRTHhUeUQramdXRHhDTVpSc0VvR0FWb0FBRGVlbXd0UGNaSTJ3QUFBQUJKUlU1RXJrSmdnZz09KX10YWJsZ
S5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY3tiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdl
L3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJNQUFBQVRDQVlBQUFCeVVEYk1BQUFBWlV
sRVFWUTR5Mk5nR0FXallCU2dnYXFHdTVGQS9CT0l2MlBCSVBGRVVneGpCK0lkUVB3ZkM5NEh4THlrdXM0R2
lEK2hHZlFPaUIzSjhTb2pFRTlFTTJ3dVNKemNzRk1HNHR0UWd4NERzUmFsa1pFTnhMK0F1SlFhTWNzR3hCT
0FtR3ZvcGs4QVZ6MXNMWmdnMGJzQUFBQUFTVVZPUks1Q1lJST0pfXRhYmxlLmRhdGFUYWJsZSB0aGVhZCAu
c29ydGluZ19hc2NfZGlzYWJsZWR7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY
0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCTUFBQUFUQ0FRQUFBRFlXZjVIQUFBQVcwbEVRVlFvejJOZ2
9DbTR3M1Zud2gwMndzcEs3L3k2azAxSWtkYWR4M2YrMzdsOVJ4bWZJc1k3YzRHS1FIRGlIVWJjeWh6dnZJT
XErM1RIQnBjaTNqdjdvSXBBY01jZGR1ektFdS84dlBNZERuL2VpV1FZQllNS0FBQzN5a0lFdVlRSlVnQUFB
QUJKUlU1RXJrSmdnZz09KX10YWJsZS5kYXRhVGFibGUgdGhlYWQgLnNvcnRpbmdfZGVzY19kaXNhYmxlZHt
iYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaE
VVZ0FBQUJNQUFBQVRDQVFBQUFEWVdmNUhBQUFBV1VsRVFWUW96Mk5nR0FXREN0eUp2UFB6em5jNC9Ia25FY
nN5OWpzNzd2eUh3MzEzZUhHWlozUG5FMVRSdXp1T3VLMWx2RE1ScW16dUhVWjg3bE8rY3h1bzZQRWRMVUll
eWI3ejYwNHBZZit5M1psd2g0dTJZUW9BYzdaQ0JISDRqaWdBQUFBQVNVVk9SSzVDWUlJPSl9dGFibGUuZGF
0YVRhYmxlIHRib2R5IHRye2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZn10YWJsZS5kYXRhVGFibGUgdGJvZH
kgdHIuc2VsZWN0ZWR7YmFja2dyb3VuZC1jb2xvcjojQjBCRUQ5fXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0a
Cx0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGR7cGFkZGluZzo4cHggMTBweH10YWJsZS5kYXRhVGFibGUucm93
LWJvcmRlciB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUucm93LWJvcmRlciB0Ym9keSB0ZCx0YWJsZS5kYXR
hVGFibGUuZGlzcGxheSB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ZHtib3JkZX
ItdG9wOjFweCBzb2xpZCAjZGRkfXRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0L
WNoaWxkIHRoLHRhYmxlLmRhdGFUYWJsZS5yb3ctYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkLHRh
YmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLHRhYmxlLmRhdGFUYWJsZS5
kaXNwbGF5IHRib2R5IHRyOmZpcnN0LWNoaWxkIHRke2JvcmRlci10b3A6bm9uZX10YWJsZS5kYXRhVGFibG
UuY2VsbC1ib3JkZXIgdGJvZHkgdGgsdGFibGUuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRke2Jvc
mRlci10b3A6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGRkfXRhYmxlLmRhdGFU
YWJsZS5jZWxsLWJvcmRlciB0Ym9keSB0ciB0aDpmaXJzdC1jaGlsZCx0YWJsZS5kYXRhVGFibGUuY2VsbC1
ib3JkZXIgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZGR9dGFibG
UuZGF0YVRhYmxlLmNlbGwtYm9yZGVyIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLHRhYmxlLmRhdGFUYWJsZ
S5jZWxsLWJvcmRlciB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZHtib3JkZXItdG9wOm5vbmV9dGFibGUuZGF0
YVRhYmxlLnN0cmlwZSB0Ym9keSB0ci5vZGQsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHIub2R
ke2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX10YWJsZS5kYXRhVGFibGUuc3RyaXBlIHRib2R5IHRyLm9kZC
5zZWxlY3RlZCx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZWN0ZWR7YmFja2dyb
3VuZC1jb2xvcjojYWNiYWQ0fXRhYmxlLmRhdGFUYWJsZS5ob3ZlciB0Ym9keSB0cjpob3Zlcix0YWJsZS5k
YXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmNmY2ZjZ9dGFibGU
uZGF0YVRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkLHRhYmxlLmRhdGFUYWJsZS5kaXNwbG
F5IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVke2JhY2tncm91bmQtY29sb3I6I2FhYjdkMX10YWJsZS5kYXRhV
GFibGUub3JkZXItY29sdW1uIHRib2R5IHRyPi5zb3J0aW5nXzEsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNv
bHVtbiB0Ym9keSB0cj4uc29ydGluZ18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4gdGJvZHkgdHI
+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cj4uc29ydGluZ18xLHRhYmxlLm
RhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyPi5zb3J0aW5nXzIsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgd
GJvZHkgdHI+LnNvcnRpbmdfM3tiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmF9dGFibGUuZGF0YVRhYmxlLm9y
ZGVyLWNvbHVtbiB0Ym9keSB0ci5zZWxlY3RlZD4uc29ydGluZ18xLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1
jb2x1bW4gdGJvZHkgdHIuc2VsZWN0ZWQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW
1uIHRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgd
HIuc2VsZWN0ZWQ+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5zZWxlY3Rl
ZD4uc29ydGluZ18yLHRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLnNlbGVjdGVkPi5zb3J0aW5
nXzN7YmFja2dyb3VuZC1jb2xvcjojYWNiYWQ1fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm
9kZD4uc29ydGluZ18xLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZ
D4uc29ydGluZ18xe2JhY2tncm91bmQtY29sb3I6I2YxZjFmMX10YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0
Ym9keSB0ci5vZGQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9
keSB0ci5vZGQ+LnNvcnRpbmdfMntiYWNrZ3JvdW5kLWNvbG9yOiNmM2YzZjN9dGFibGUuZGF0YVRhYmxlLm
Rpc3BsYXkgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHVtbi5zd
HJpcGUgdGJvZHkgdHIub2RkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjp3aGl0ZXNtb2tlfXRhYmxl
LmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18xLHRhYmxlLmRhdGF
UYWJsZS5vcmRlci1jb2x1bW4uc3RyaXBlIHRib2R5IHRyLm9kZC5zZWxlY3RlZD4uc29ydGluZ18xe2JhY2
tncm91bmQtY29sb3I6I2E2YjRjZH10YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0ci5vZGQuc2VsZ
WN0ZWQ+LnNvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5v
ZGQuc2VsZWN0ZWQ+LnNvcnRpbmdfMntiYWNrZ3JvdW5kLWNvbG9yOiNhOGI1Y2Z9dGFibGUuZGF0YVRhYmx
lLmRpc3BsYXkgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzMsdGFibGUuZGF0YVRhYmxlLm9yZG
VyLWNvbHVtbi5zdHJpcGUgdGJvZHkgdHIub2RkLnNlbGVjdGVkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb
2xvcjojYTliN2QxfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4+LnNvcnRpbmdfMSx0
YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuPi5zb3J0aW5nXzF7YmF
ja2dyb3VuZC1jb2xvcjojZmFmYWZhfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4+Ln
NvcnRpbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuPi5zb
3J0aW5nXzJ7YmFja2dyb3VuZC1jb2xvcjojZmNmY2ZjfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5
IHRyLmV2ZW4+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB
0ci5ldmVuPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojZmVmZWZlfXRhYmxlLmRhdGFUYWJsZS5kaX
NwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMSx0YWJsZS5kYXRhVGFibGUub3JkZXItY
29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzF7YmFja2dyb3VuZC1jb2xv
cjojYWNiYWQ1fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnR
pbmdfMix0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdG
VkPi5zb3J0aW5nXzJ7YmFja2dyb3VuZC1jb2xvcjojYWViY2Q2fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5I
HRib2R5IHRyLmV2ZW4uc2VsZWN0ZWQ+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1u
LnN0cmlwZSB0Ym9keSB0ci5ldmVuLnNlbGVjdGVkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojYWZ
iZGQ4fXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5IHRib2R5IHRyOmhvdmVyPi5zb3J0aW5nXzEsdGFibGUuZG
F0YVRhYmxlLm9yZGVyLWNvbHVtbi5ob3ZlciB0Ym9keSB0cjpob3Zlcj4uc29ydGluZ18xe2JhY2tncm91b
mQtY29sb3I6I2VhZWFlYX10YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlcj4uc29ydGlu
Z18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXI+LnNvcnRpbmd
fMntiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZWN9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJvZHkgdHI6aG
92ZXI+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLmhvdmVyIHRib2R5IHRyOmhvd
mVyPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmfXRhYmxlLmRhdGFUYWJsZS5kaXNwbGF5
IHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzEsdGFibGUuZGF0YVRhYmxlLm9yZGVyLWNvbHV
tbi5ob3ZlciB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ18xe2JhY2tncm91bmQtY29sb3I6I2
EyYWVjN310YWJsZS5kYXRhVGFibGUuZGlzcGxheSB0Ym9keSB0cjpob3Zlci5zZWxlY3RlZD4uc29ydGluZ
18yLHRhYmxlLmRhdGFUYWJsZS5vcmRlci1jb2x1bW4uaG92ZXIgdGJvZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+
LnNvcnRpbmdfMntiYWNrZ3JvdW5kLWNvbG9yOiNhM2IwYzl9dGFibGUuZGF0YVRhYmxlLmRpc3BsYXkgdGJ
vZHkgdHI6aG92ZXIuc2VsZWN0ZWQ+LnNvcnRpbmdfMyx0YWJsZS5kYXRhVGFibGUub3JkZXItY29sdW1uLm
hvdmVyIHRib2R5IHRyOmhvdmVyLnNlbGVjdGVkPi5zb3J0aW5nXzN7YmFja2dyb3VuZC1jb2xvcjojYTViM
mNifXRhYmxlLmRhdGFUYWJsZS5uby1mb290ZXJ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgIzExMX10YWJs
ZS5kYXRhVGFibGUubm93cmFwIHRoLHRhYmxlLmRhdGFUYWJsZS5ub3dyYXAgdGR7d2hpdGUtc3BhY2U6bm9
3cmFwfXRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IHRoZWFkIHRoLHRhYmxlLmRhdGFUYWJsZS5jb21wYWN0IH
RoZWFkIHRke3BhZGRpbmc6NHB4IDE3cHggNHB4IDRweH10YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vd
CB0aCx0YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Zm9vdCB0ZHtwYWRkaW5nOjRweH10YWJsZS5kYXRhVGFi
bGUuY29tcGFjdCB0Ym9keSB0aCx0YWJsZS5kYXRhVGFibGUuY29tcGFjdCB0Ym9keSB0ZHtwYWRkaW5nOjR
weH10YWJsZS5kYXRhVGFibGUgdGguZHQtbGVmdCx0YWJsZS5kYXRhVGFibGUgdGQuZHQtbGVmdHt0ZXh0LW
FsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHRoLmR0LWNlbnRlcix0YWJsZS5kYXRhVGFibGUgdGQuZHQtY
2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0ZC5kYXRhVGFibGVzX2VtcHR5e3RleHQtYWxpZ246Y2VudGVyfXRh
YmxlLmRhdGFUYWJsZSB0aC5kdC1yaWdodCx0YWJsZS5kYXRhVGFibGUgdGQuZHQtcmlnaHR7dGV
4dC1hbGlnbjpyaWdodH10YWJsZS5kYXRhVGFibGUgdGguZHQtanVzdGlmeSx0YWJsZS5kYXRhVGFibGUgdG
QuZHQtanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRoLmR0LW5vd3JhcCx0Y
WJsZS5kYXRhVGFibGUgdGQuZHQtbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH10YWJsZS5kYXRhVGFibGUg
dGhlYWQgdGguZHQtaGVhZC1sZWZ0LHRhYmxlLmRhdGFUYWJsZSB0aGVhZCB0ZC5kdC1oZWFkLWxlZnQsdGF
ibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtbGVmdCx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZH
QtaGVhZC1sZWZ0e3RleHQtYWxpZ246bGVmdH10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1jZ
W50ZXIsdGFibGUuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtY2VudGVyLHRhYmxlLmRhdGFUYWJsZSB0
Zm9vdCB0aC5kdC1oZWFkLWNlbnRlcix0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1jZW50ZXJ
7dGV4dC1hbGlnbjpjZW50ZXJ9dGFibGUuZGF0YVRhYmxlIHRoZWFkIHRoLmR0LWhlYWQtcmlnaHQsdGFibG
UuZGF0YVRhYmxlIHRoZWFkIHRkLmR0LWhlYWQtcmlnaHQsdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0L
WhlYWQtcmlnaHQsdGFibGUuZGF0YVRhYmxlIHRmb290IHRkLmR0LWhlYWQtcmlnaHR7dGV4dC1hbGlnbjpy
aWdodH10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1qdXN0aWZ5LHRhYmxlLmRhdGFUYWJsZSB
0aGVhZCB0ZC5kdC1oZWFkLWp1c3RpZnksdGFibGUuZGF0YVRhYmxlIHRmb290IHRoLmR0LWhlYWQtanVzdG
lmeSx0YWJsZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlme
X10YWJsZS5kYXRhVGFibGUgdGhlYWQgdGguZHQtaGVhZC1ub3dyYXAsdGFibGUuZGF0YVRhYmxlIHRoZWFk
IHRkLmR0LWhlYWQtbm93cmFwLHRhYmxlLmRhdGFUYWJsZSB0Zm9vdCB0aC5kdC1oZWFkLW5vd3JhcCx0YWJ
sZS5kYXRhVGFibGUgdGZvb3QgdGQuZHQtaGVhZC1ub3dyYXB7d2hpdGUtc3BhY2U6bm93cmFwfXRhYmxlLm
RhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5LWxlZnQsdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZ
HktbGVmdHt0ZXh0LWFsaWduOmxlZnR9dGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktY2VudGVy
LHRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0ZC5kdC1ib2R5LWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlcn10YWJ
sZS5kYXRhVGFibGUgdGJvZHkgdGguZHQtYm9keS1yaWdodCx0YWJsZS5kYXRhVGFibGUgdGJvZHkgdGQuZH
QtYm9keS1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0fXRhYmxlLmRhdGFUYWJsZSB0Ym9keSB0aC5kdC1ib2R5L
Wp1c3RpZnksdGFibGUuZGF0YVRhYmxlIHRib2R5IHRkLmR0LWJvZHktanVzdGlmeXt0ZXh0LWFsaWduOmp1
c3RpZnl9dGFibGUuZGF0YVRhYmxlIHRib2R5IHRoLmR0LWJvZHktbm93cmFwLHRhYmxlLmRhdGFUYWJsZSB
0Ym9keSB0ZC5kdC1ib2R5LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9dGFibGUuZGF0YVRhYmxlLHRhYm
xlLmRhdGFUYWJsZSB0aCx0YWJsZS5kYXRhVGFibGUgdGR7Ym94LXNpemluZzpjb250ZW50LWJveH0uZGF0Y
VRhYmxlc193cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2NsZWFyOmJvdGg7Knpvb206MTt6b29tOjF9LmRh
dGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGh7ZmxvYXQ6bGVmdH0uZGF0YVRhYmxlc193cmF
wcGVyIC5kYXRhVGFibGVzX2ZpbHRlcntmbG9hdDpyaWdodDt0ZXh0LWFsaWduOnJpZ2h0fS5kYXRhVGFibG
VzX3dyYXBwZXIgLmRhdGFUYWJsZXNfZmlsdGVyIGlucHV0e21hcmdpbi1sZWZ0OjAuNWVtfS5kYXRhVGFib
GVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfaW5mb3tjbGVhcjpib3RoO2Zsb2F0OmxlZnQ7cGFkZGluZy10b3A6
MC43NTVlbX0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRle2Zsb2F0OnJpZ2h0O3R
leHQtYWxpZ246cmlnaHQ7cGFkZGluZy10b3A6MC4yNWVtfS5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYW
JsZXNfcGFnaW5hdGUgLnBhZ2luYXRlX2J1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppb
mxpbmUtYmxvY2s7bWluLXdpZHRoOjEuNWVtO3BhZGRpbmc6MC41ZW0gMWVtO21hcmdpbi1sZWZ0OjJweDt0
ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2N1cnNvcjpwb2ludGV
yOypjdXJzb3I6aGFuZDtjb2xvcjojMzMzICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3Bhcm
VudDtib3JkZXItcmFkaXVzOjJweH0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlI
C5wYWdpbmF0ZV9idXR0b24uY3VycmVudCwuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2lu
YXRlIC5wYWdpbmF0ZV9idXR0b24uY3VycmVudDpob3Zlcntjb2xvcjojMzMzICFpbXBvcnRhbnQ7Ym9yZGV
yOjFweCBzb2xpZCAjOTc5Nzk3O2JhY2tncm91bmQtY29sb3I6d2hpdGU7YmFja2dyb3VuZDotd2Via2l0LW
dyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjZmZmKSwgY
29sb3Itc3RvcCgxMDAlLCAjZGNkY2RjKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0
b3AsICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudCh0b3A
sICNmZmYgMCUsICNkY2RjZGMgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2
ZmZiAwJSwgI2RjZGNkYyAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmYgM
CUsICNkY2RjZGMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmIDAl
LCAjZGNkY2RjIDEwMCUpfS5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLnBhZ2l
uYXRlX2J1dHRvbi5kaXNhYmxlZCwuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC
5wYWdpbmF0ZV9idXR0b24uZGlzYWJsZWQ6aG92ZXIsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc
19wYWdpbmF0ZSAucGFnaW5hdGVfYnV0dG9uLmRpc2FibGVkOmFjdGl2ZXtjdXJzb3I6ZGVmYXVsdDtjb2xv
cjojNjY2ICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtiYWNrZ3JvdW5kOnRyYW5
zcGFyZW50O2JveC1zaGFkb3c6bm9uZX0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYX
RlIC5wYWdpbmF0ZV9idXR0b246aG92ZXJ7Y29sb3I6d2hpdGUgIWltcG9ydGFudDtib3JkZXI6MXB4IHNvb
GlkICMxMTE7YmFja2dyb3VuZC1jb2xvcjojNTg1ODU4O2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChs
aW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgIzU4NTg1OCksIGNvbG9yLXN
0b3AoMTAwJSwgIzExMSkpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1OD
U4IDAlLCAjMTExIDEwMCUpO2JhY2tncm91bmQ6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1ODU4I
DAlLCAjMTExIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICM1ODU4NTggMCUs
ICMxMTEgMTAwJSk7YmFja2dyb3VuZDotby1saW5lYXItZ3JhZGllbnQodG9wLCAjNTg1ODU4IDAlLCAjMTE
xIDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzU4NTg1OCAwJSwgIzExMS
AxMDAlKX0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRlIC5wYWdpbmF0ZV9idXR0b
246YWN0aXZle291dGxpbmU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMyYjJiMmI7YmFja2dyb3VuZDotd2Vi
a2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCAjMmI
yYjJiKSwgY29sb3Itc3RvcCgxMDAlLCAjMGMwYzBjKSk7YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncm
FkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1nc
mFkaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7YmFja2dyb3VuZDotbXMtbGluZWFyLWdy
YWRpZW50KHRvcCwgIzJiMmIyYiAwJSwgIzBjMGMwYyAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmF
kaWVudCh0b3AsICMyYjJiMmIgMCUsICMwYzBjMGMgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbn
QodG8gYm90dG9tLCAjMmIyYjJiIDAlLCAjMGMwYzBjIDEwMCUpO2JveC1zaGFkb3c6aW5zZXQgMCAwIDNwe
CAjMTExfS5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcGFnaW5hdGUgLmVsbGlwc2lze3BhZGRp
bmc6MCAxZW19LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wcm9jZXNzaW5ne3Bvc2l0aW9uOmF
ic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7d2lkdGg6MTAwJTtoZWlnaHQ6NDBweDttYXJnaW4tbGVmdDotNT
AlO21hcmdpbi10b3A6LTI1cHg7cGFkZGluZy10b3A6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpe
mU6MS4yZW07YmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGlu
ZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDApKSw
gY29sb3Itc3RvcCgyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSksIGNvbG9yLXN0b3AoNzUlLCByZ2JhKD
I1NSwyNTUsMjU1LDAuOSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtiYWNrZ
3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJn
YmEoMjU1LDI1NSwyNTUsMC45KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsIHJnYmEoMjU1LDI
1NSwyNTUsMCkgMTAwJSk7YmFja2dyb3VuZDotbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NS
wyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgMjUlLCByZ2JhKDI1NSwyNTUsMjU1LDAuO
SkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQ6LW1zLWxpbmVhci1ncmFkaWVu
dChsZWZ0LCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLCByZ2JhKDI1NSwyNTUsMjU1LDAuOSkgMjUlLCByZ2J
hKDI1NSwyNTUsMjU1LDAuOSkgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQ6LW
8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoMjU1LDI1NSwyN
TUsMC45KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAw
JSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCU
sIHJnYmEoMjU1LDI1NSwyNTUsMC45KSAyNSUsIHJnYmEoMjU1LDI1NSwyNTUsMC45KSA3NSUsIHJnYmEoMj
U1LDI1NSwyNTUsMCkgMTAwJSl9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsLmRhd
GFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19maWx0ZXIsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRh
Ymxlc19pbmZvLC5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfcHJvY2Vzc2luZywuZGF0YVRhYmx
lc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRle2NvbG9yOiMzMzN9LmRhdGFUYWJsZXNfd3JhcHBlci
AuZGF0YVRhYmxlc19zY3JvbGx7Y2xlYXI6Ym90aH0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX
3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5eyptYXJnaW4tdG9wOi0xcHg7LXdlYmtpdC1vdmVy
Zmxvdy1zY3JvbGxpbmc6dG91Y2h9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl
2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj50aCwuZGF0YVRhYmxlc193cmFwcGVyIC
5kYXRhVGFibGVzX3Njcm9sbCBkaXYuZGF0YVRhYmxlc19zY3JvbGxCb2R5PnRhYmxlPnRoZWFkPnRyPnRkL
C5kYXRhVGFibGVzX3dyYXBwZXIgLmRhdGFUYWJsZXNfc2Nyb2xsIGRpdi5kYXRhVGFibGVzX3Njcm9sbEJv
ZHk+dGFibGU+dGJvZHk+dHI+dGgsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl
2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50ZHt2ZXJ0aWNhbC1hbGlnbjptaWRkbG
V9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQ
m9keT50YWJsZT50aGVhZD50cj50aD5kaXYuZGF0YVRhYmxlc19zaXppbmcsLmRhdGFUYWJsZXNfd3JhcHBl
ciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50aGVhZD50cj5
0ZD5kaXYuZGF0YVRhYmxlc19zaXppbmcsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbG
wgZGl2LmRhdGFUYWJsZXNfc2Nyb2xsQm9keT50YWJsZT50Ym9keT50cj50aD5kaXYuZGF0YVRhYmxlc19za
XppbmcsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19zY3JvbGwgZGl2LmRhdGFUYWJsZXNfc2Ny
b2xsQm9keT50YWJsZT50Ym9keT50cj50ZD5kaXYuZGF0YVRhYmxlc19zaXppbmd7aGVpZ2h0OjA7b3ZlcmZ
sb3c6aGlkZGVuO21hcmdpbjowICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnR9LmRhdGFUYWJsZX
Nfd3JhcHBlci5uby1mb290ZXIgLmRhdGFUYWJsZXNfc2Nyb2xsQm9keXtib3JkZXItYm90dG9tOjFweCBzb
2xpZCAjMTExfS5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGVzX3Njcm9sbEhl
YWQgdGFibGUuZGF0YVRhYmxlLC5kYXRhVGFibGVzX3dyYXBwZXIubm8tZm9vdGVyIGRpdi5kYXRhVGFibGV
zX3Njcm9sbEJvZHk+dGFibGV7Ym9yZGVyLWJvdHRvbTpub25lfS5kYXRhVGFibGVzX3dyYXBwZXI6YWZ0ZX
J7dmlzaWJpbGl0eTpoaWRkZW47ZGlzcGxheTpibG9jaztjb250ZW50OiIiO2NsZWFyOmJvdGg7aGVpZ2h0O
jB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpey5kYXRhVGFibGVzX3dyYXBwZXIgLmRh
dGFUYWJsZXNfaW5mbywuZGF0YVRhYmxlc193cmFwcGVyIC5kYXRhVGFibGVzX3BhZ2luYXRle2Zsb2F0Om5
vbmU7dGV4dC1hbGlnbjpjZW50ZXJ9LmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19wYWdpbmF0ZX
ttYXJnaW4tdG9wOjAuNWVtfX1AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCl7LmRhdGFUY
WJsZXNfd3JhcHBlciAuZGF0YVRhYmxlc19sZW5ndGgsLmRhdGFUYWJsZXNfd3JhcHBlciAuZGF0YVRhYmxl
c19maWx0ZXJ7ZmxvYXQ6bm9uZTt0ZXh0LWFsaWduOmNlbnRlcn0uZGF0YVRhYmxlc193cmFwcGVyIC5kYXR
hVGFibGVzX2ZpbHRlcnttYXJnaW4tdG9wOjAuNW
VtfX0K\" rel=\"stylesheet\" />\n",
"<link href=\"data:text/css;charset-utf-
8;base64,LyogU2VsZWN0ZWQgcm93cy9jZWxscyAqLwp0YWJsZS5kYXRhVGFibGUgdHIuc2VsZWN0ZWQgdG
QsIHRhYmxlLmRhdGFUYWJsZSB0ZC5zZWxlY3RlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IwYmVkOSAha
W1wb3J0YW50Owp9Ci8qIEluIGNhc2Ugb2Ygc2Nyb2xsWC9ZIG9yIEZpeGVkSGVhZGVyICovCi5kYXRhVGFi
bGVzX3Njcm9sbEJvZHkgLmRhdGFUYWJsZXNfc2l6aW5nIHsKICB2aXNpYmlsaXR5OiBoaWRkZW47Cn0KCi8
qIFRoZSBkYXRhdGFibGVzJyB0aGVtZSBDU1MgZmlsZSBkb2Vzbid0IGRlZmluZQp0aGUgY29sb3IgYnV0IH
dpdGggd2hpdGUgYmFja2dyb3VuZC4gSXQgbGVhZHMgdG8gYW4gaXNzdWUgdGhhdAp3aGVuIHRoZSBIVE1MJ
3MgYm9keSBjb2xvciBpcyBzZXQgdG8gJ3doaXRlJywgdGhlIHVzZXIgY2FuJ3QKc2VlIHRoZSB0ZXh0IHNp
bmNlIHRoZSBiYWNrZ3JvdW5kIGlzIHdoaXRlLiBPbmUgY2FzZSBoYXBwZW5zIGluIHRoZQpSU3R1ZGlvJ3M
gSURFIHdoZW4gaW5saW5lIHZpZXdpbmcgdGhlIERUIHRhYmxlIGluc2lkZSBhbiBSbWQgZmlsZSwKaWYgdG
hlIElERSB0aGVtZSBpcyBzZXQgdG8gIkNvYmFsdCIuCgpTZWUgaHR0cHM6Ly9naXRodWIuY29tL3JzdHVka
W8vRFQvaXNzdWVzLzQ0NyBmb3IgbW9yZSBpbmZvCgpUaGlzIGZpeGVzIHNob3VsZCBoYXZlIGxpdHRsZSBz
aWRlLWVmZmVjdHMgYmVjYXVzZSBhbGwgdGhlIG90aGVyIGVsZW1lbnRzCm9mIHRoZSBkZWZhdWx0IHRoZW1
lIHVzZSB0aGUgIzMzMyBmb250IGNvbG9yLgoKVE9ETzogVGhlIHVwc3RyZWFtIG1heSB1c2UgcmVsYXRpdm
UgY29sb3JzIGZvciBib3RoIHRoZSB0YWJsZSBiYWNrZ3JvdW5kCmFuZCB0aGUgY29sb3IuIEl0IG1lYW5zI
HRoZSB0YWJsZSBjYW4gZGlzcGxheSB3ZWxsIHdpdGhvdXQgdGhpcyBwYXRjaAp0aGVuLiBBdCB0aGF0IHRp
bWUsIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBiZWxvdyBDU1MgYXR0cmlidXRlcy4KKi8KZGl2LmRhdGF0YWJ
sZXMgewogIGNvbG9yOiAjMzMzOwp9Cg==\" rel=\"stylesheet\" />\n",
"<script title=\"crosstalk\"
src=\"data:application/javascript;base64,IWZ1bmN0aW9uIG8odSxhLGwpe2Z1bmN0aW9uIHMobi
xlKXtpZighYVtuXSl7aWYoIXVbbl0pe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1a
XJlO2lmKCFlJiZ0KXJldHVybiB0KG4sITApO2lmKGYpcmV0dXJuIGYobiwhMCk7dmFyIHI9bmV3IEVycm9y
KCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrbisiJyIpO3Rocm93IHIuY29kZT0iTU9EVUxFX05PVF9GT1VORCI
scn12YXIgaT1hW25dPXtleHBvcnRzOnt9fTt1W25dWzBdLmNhbGwoaS5leHBvcnRzLGZ1bmN0aW9uKGUpe3
ZhciB0PXVbbl1bMV1bZV07cmV0dXJuIHModHx8ZSl9LGksaS5leHBvcnRzLG8sdSxhLGwpfXJldHVybiBhW
25dLmV4cG9ydHN9Zm9yKHZhciBmPSJmdW5jdGlvbiI9PXR5cGVvZiByZXF1aXJlJiZyZXF1aXJlLGU9MDtl
PGwubGVuZ3RoO2UrKylzKGxbZV0pO3JldHVybiBzfSh7MTpbZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN
0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHI9ZnVuY3
Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07c
i5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihy
LndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9
uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxuJiZyKGUsbiksZX19KCk7dmFyIGk9ZnVuY3
Rpb24oKXtmdW5jdGlvbiBlKCl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgb
mV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsZSksdGhp
cy5fdHlwZXM9e30sdGhpcy5fc2VxPTB9cmV0dXJuIHIoZSxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKGU
sdCl7dmFyIG49dGhpcy5fdHlwZXNbZV07bnx8KG49dGhpcy5fdHlwZXNbZV09e30pO3ZhciByPSJzdWIiK3
RoaXMuX3NlcSsrO3JldHVybiBuW3JdPXQscn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2Y
XIgbj10aGlzLl90eXBlc1tlXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCl7Zm9yKHZhciByIGluIG4paWYo
bi5oYXNPd25Qcm9wZXJ0eShyKSYmbltyXT09PXQpcmV0dXJuIGRlbGV0ZSBuW3JdLHI7cmV0dXJuITF9aWY
oInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiEoIW58fCFuW3RdKSYmKGRlbGV0ZSBuW3RdLHQpO3Rocm93IG
5ldyBFcnJvcigiVW5leHBlY3RlZCB0eXBlIGZvciBsaXN0ZW5lciIpfX0se2tleToidHJpZ2dlciIsdmFsd
WU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXRoaXMuX3R5cGVzW2VdO2Zvcih2YXIgaSBpbiByKXIuaGFzT3du
UHJvcGVydHkoaSkmJnJbaV0uY2FsbChuLHQpfX1dKSxlfSgpO24uZGVmYXVsdD1pfSx7fV0sMjpbZnVuY3R
pb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3
ZhbHVlOiEwfSksbi5GaWx0ZXJIYW5kbGU9dm9pZCAwO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlL
HQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1l
cmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN
0LmRlZmluZVByb3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJn
IoZS5wcm90b3R5cGUsdCksbiYmcihlLG4pLGV9fSgpLGk9bChlKCIuL2V2ZW50cyIpKSxvPWwoZSgiLi9ma
Wx0ZXJzZXQiKSksdT1sKGUoIi4vZ3JvdXAiKSksYT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxl
KXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5
oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZS
giLi91dGlsIikpO2Z1bmN0aW9uIGwoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9f
XZhciBzPTE7bi5GaWx0ZXJIYW5kbGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBuKGUsdCl7IWZ1bmN0aW9uKGUs
dCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGF
zcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaX
MuX2VtaXR0ZXI9bmV3IGEuU3Vic2NyaXB0aW9uVHJhY2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9nc
m91cD1udWxsLHRoaXMuX2ZpbHRlclNldD1udWxsLHRoaXMuX2ZpbHRlclZhcj1udWxsLHRoaXMuX3Zhck9u
Q2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPWEuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGhpcy5
faWQ9ImZpbHRlciIrcysrLHRoaXMuc2V0R3JvdXAoZSl9cmV0dXJuIHIobixbe2tleToic2V0R3JvdXAiLH
ZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0LG4scj10aGlzO2lmKHRoaXMuX2dyb3VwIT09ZSYmKCh0aGlzLl9nc
m91cHx8ZSkmJih0aGlzLl9maWx0ZXJWYXImJih0aGlzLl9maWx0ZXJWYXIub2ZmKCJjaGFuZ2UiLHRoaXMu
X3Zhck9uQ2hhbmdlU3ViKSx0aGlzLmNsZWFyKCksdGhpcy5fdmFyT25DaGFuZ2VTdWI9bnVsbCx0aGlzLl9
maWx0ZXJWYXI9bnVsbCx0aGlzLl9maWx0ZXJTZXQ9bnVsbCksdGhpcy5fZ3JvdXA9ZSkpKXtlPSgwLHUuZG
VmYXVsdCkoZSksdGhpcy5fZmlsdGVyU2V0PSh0PWUudmFyKCJmaWx0ZXJzZXQiKSwobj10LmdldCgpKXx8K
G49bmV3IG8uZGVmYXVsdCx0LnNldChuKSksbiksdGhpcy5fZmlsdGVyVmFyPSgwLHUuZGVmYXVsdCkoZSku
dmFyKCJmaWx0ZXIiKTt2YXIgaT10aGlzLl9maWx0ZXJWYXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7ci5
fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUscil9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1pfX19LH
trZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIGEuZXh0ZW5kKHt9LHRoa
XMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6ImNsb3NlIix2YWx1
ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5jbGVhcigpLHR
oaXMuc2V0R3JvdXAobnVsbCl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fZmlsdG
VyU2V0JiYodGhpcy5fZmlsdGVyU2V0LmNsZWFyKHRoaXMuX2lkKSx0aGlzLl9vbkNoYW5nZShlKSl9fSx7a
2V5OiJzZXQiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7dGhpcy5fZmlsdGVyU2V0JiYodGhpcy5fZmlsdGVyU2V0
LnVwZGF0ZSh0aGlzLl9pZCxlKSx0aGlzLl9vbkNoYW5nZSh0KSl9fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3R
pb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vbihlLHQpfX0se2tleToib2ZmIix2YWx1ZTpmdW5jdG
lvbihlLHQpe3JldHVybiB0aGlzLl9lbWl0dGVyLm9mZihlLHQpfX0se2tleToiX29uQ2hhbmdlIix2YWx1Z
TpmdW5jdGlvbihlKXt0aGlzLl9maWx0ZXJTZXQmJnRoaXMuX2ZpbHRlclZhci5zZXQodGhpcy5fZmlsdGVy
U2V0LnZhbHVlLHRoaXMuX21lcmdlRXh0cmFJbmZvKGUpKX19LHtrZXk6ImZpbHRlcmVkS2V5cyIsZ2V0OmZ
1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZpbHRlclNldD90aGlzLl9maWx0ZXJTZXQudmFsdWU6bnVsbH19XS
ksbn0oKX0seyIuL2V2ZW50cyI6MSwiLi9maWx0ZXJzZXQiOjMsIi4vZ3JvdXAiOjQsIi4vdXRpbCI6MTF9X
SwzOltmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2Vz
TW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj1mdW5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG4
9MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLm
NvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZ
XJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBl
LHQpLG4mJnIoZSxuKSxlfX0oKSxhPWUoIi4vdXRpbCIpO2Z1bmN0aW9uIGwoZSx0KXtyZXR1cm4gZT09PXQ
/MDplPHQ/
LTE6dDxlPzE6dm9pZCAwfXZhciBpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpeyFmdW5jdGlvbihlLHQpe2l
mKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYX
MgYSBmdW5jdGlvbiIpfSh0aGlzLGUpLHRoaXMucmVzZXQoKX1yZXR1cm4gcihlLFt7a2V5OiJyZXNldCIsd
mFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9oYW5kbGVzPXt9LHRoaXMuX2tleXM9e30sdGhpcy5fdmFsdWU9bnVs
bCx0aGlzLl9hY3RpdmVIYW5kbGVzPTB9fSx7a2V5OiJ1cGRhdGUiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7bnV
sbCE9PXQmJih0PXQuc2xpY2UoMCkpLnNvcnQobCk7dmFyIG49KDAsYS5kaWZmU29ydGVkTGlzdHMpKHRoaX
MuX2hhbmRsZXNbZV0sdCkscj1uLmFkZGVkLGk9bi5yZW1vdmVkO3RoaXMuX2hhbmRsZXNbZV09dDtmb3Iod
mFyIG89MDtvPHIubGVuZ3RoO28rKyl0aGlzLl9rZXlzW3Jbb11dPSh0aGlzLl9rZXlzW3Jbb11dfHwwKSsx
O2Zvcih2YXIgdT0wO3U8aS5sZW5ndGg7dSsrKXRoaXMuX2tleXNbaVt1XV0tLTt0aGlzLl91cGRhdGVWYWx
1ZSh0KX19LHtrZXk6Il91cGRhdGVWYWx1ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT0wPGFyZ3VtZW50cy
5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dGhpcy5fYWxsS2V5cyx0PU9ia
mVjdC5rZXlzKHRoaXMuX2hhbmRsZXMpLmxlbmd0aDtpZigwPT09dCl0aGlzLl92YWx1ZT1udWxsO2Vsc2V7
dGhpcy5fdmFsdWU9W107Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3RoaXMuX2tleXNbZVtuXV09PT1
0JiZ0aGlzLl92YWx1ZS5wdXNoKGVbbl0pfX19fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7aW
Yodm9pZCAwIT09dGhpcy5faGFuZGxlc1tlXSl7dmFyIHQ9dGhpcy5faGFuZGxlc1tlXTt0fHwodD1bXSk7Z
m9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspdGhpcy5fa2V5c1t0W25dXS0tO2RlbGV0ZSB0aGlzLl9oYW5k
bGVzW2VdLHRoaXMuX3VwZGF0ZVZhbHVlKCl9fX0se2tleToidmFsdWUiLGdldDpmdW5jdGlvbigpe3JldHV
ybiB0aGlzLl92YWx1ZX19LHtrZXk6Il9hbGxLZXlzIixnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1PYmplY3Qua2
V5cyh0aGlzLl9rZXlzKTtyZXR1cm4gZS5zb3J0KGwpLGV9fV0pLGV9KCk7bi5kZWZhdWx0PWl9LHsiLi91d
GlsIjoxMX1dLDQ6W2Z1bmN0aW9uKGwsZSxzKXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO09iamVjdC5k
ZWZpbmVQcm9wZXJ0eShzLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1mdW5jdGlvbigpe2Z1bmN
0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtyLmVudW1lcmFibG
U9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9I
TApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3Jl
dHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxyPSJmdW5jdGlvbiI9PXR5cGVvZiB
TeW1ib2wmJiJzeW1ib2wiPT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiB0eX
Blb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmUuY29uc
3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfTtzLmRl
ZmF1bHQ9ZnVuY3Rpb24gZSh0KXt7aWYodCYmInN0cmluZyI9PXR5cGVvZiB0KXJldHVybiB1Lmhhc093blB
yb3BlcnR5KHQpfHwodVt0XT1uZXcgYSh0KSksdVt0XTtpZigib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bm
RlZmluZWQiOnIodCkpJiZ0Ll92YXJzJiZ0LnZhcilyZXR1cm4gdDtpZihBcnJheS5pc0FycmF5KHQpJiYxP
T10Lmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiB0WzBdKXJldHVybiBlKHRbMF0pO3Rocm93IG5ldyBFcnJv
cigiSW52YWxpZCBncm91cE5hbWUgYXJndW1lbnQiKX19O3ZhciB0LGk9bCgiLi92YXIiKSxvPSh0PWkpJiZ
0Ll9fZXNNb2R1bGU/
dDp7ZGVmYXVsdDp0fTtlLl9fY3Jvc3N0YWxrX2dyb3Vwcz1lLl9fY3Jvc3N0YWxrX2dyb3Vwc3x8e307dmF
yIHU9ZS5fX2Nyb3NzdGFsa19ncm91cHM7dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeyFmdW5jdG
lvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsI
GEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMubmFtZT1lLHRoaXMuX3ZhcnM9e319cmV0
dXJuIG4odCxbe2tleToidmFyIix2YWx1ZTpmdW5jdGlvbihlKXtpZighZXx8InN0cmluZyIhPXR5cGVvZiB
lKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB2YXIgbmFtZSIpO3JldHVybiB0aGlzLl92YXJzLmhhc093bl
Byb3BlcnR5KGUpfHwodGhpcy5fdmFyc1tlXT1uZXcgby5kZWZhdWx0KHRoaXMsZSkpLHRoaXMuX3ZhcnNbZ
V19fSx7a2V5OiJoYXMiLHZhbHVlOmZ1bmN0aW9uKGUpe2lmKCFlfHwic3RyaW5nIiE9dHlwZW9mIGUpdGhy
b3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhciBuYW1lIik7cmV0dXJuIHRoaXMuX3ZhcnMuaGFzT3duUHJvcGV
ydHkoZSl9fV0pLHR9KCl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/
Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG9
3P3dpbmRvdzp7fSl9LHsiLi92YXIiOjEyfV0sNTpbZnVuY3Rpb24oZixlLGMpeyhmdW5jdGlvbihlKXsidX
NlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3Zhc
iB0LG49ZigiLi9ncm91cCIpLHI9KHQ9bikmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9LGk9ZigiLi9z
ZWxlY3Rpb24iKSxvPWYoIi4vZmlsdGVyIiksdT1mKCIuL2lucHV0Iik7ZigiLi9pbnB1dF9zZWxlY3RpemU
iKSxmKCIuL2lucHV0X2NoZWNrYm94Z3JvdXAiKSxmKCIuL2lucHV0X3NsaWRlciIpO3ZhciBhPSgwLHIuZG
VmYXVsdCkoImRlZmF1bHQiKTtmdW5jdGlvbiBsKGUpe3JldHVybiBhLnZhcihlKX1lLlNoaW55JiZlLlNoa
W55LmFkZEN1c3RvbU1lc3NhZ2VIYW5kbGVyKCJ1cGRhdGUtY2xpZW50LXZhbHVlIixmdW5jdGlvbihlKXsi
c3RyaW5nIj09dHlwZW9mIGUuZ3JvdXA/KDAsci5kZWZhdWx0KShlLmdyb3VwKS52YXIoZS
5uYW1lKS5zZXQoZS52YWx1ZSk6bChlLm5hbWUpLnNldChlLnZhbHVlKX0pO3ZhciBzPXtncm91cDpyLmRlZ
mF1bHQsdmFyOmwsaGFzOmZ1bmN0aW9uKGUpe3JldHVybiBhLmhhcyhlKX0sU2VsZWN0aW9uSGFuZGxlOmku
U2VsZWN0aW9uSGFuZGxlLEZpbHRlckhhbmRsZTpvLkZpbHRlckhhbmRsZSxiaW5kOnUuYmluZH07Yy5kZWZ
hdWx0PXMsZS5jcm9zc3RhbGs9c30pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG
9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/
d2luZG93Ont9KX0seyIuL2ZpbHRlciI6MiwiLi9ncm91cCI6NCwiLi9pbnB1dCI6NiwiLi9pbnB1dF9jaGV
ja2JveGdyb3VwIjo3LCIuL2lucHV0X3NlbGVjdGl6ZSI6OCwiLi9pbnB1dF9zbGlkZXIiOjksIi4vc2VsZW
N0aW9uIjoxMH1dLDY6W2Z1bmN0aW9uKGUsdCxhKXsoZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO09iamVjd
C5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLnJlZ2lzdGVyPWZ1bmN0aW9u
KGUpe3JbZS5jbGFzc05hbWVdPWUsdC5kb2N1bWVudCYmImNvbXBsZXRlIiE9PXQuZG9jdW1lbnQucmVhZHl
TdGF0ZT9vKGZ1bmN0aW9uKCl7bigpfSk6dC5kb2N1bWVudCYmc2V0VGltZW91dChuLDEwMCl9LGEuYmluZD
1uO3ZhciBvPXQualF1ZXJ5LHI9e307ZnVuY3Rpb24gbigpe09iamVjdC5rZXlzKHIpLmZvckVhY2goZnVuY
3Rpb24oZSl7dmFyIG49cltlXTtvKCIuIituLmNsYXNzTmFtZSkubm90KCIuY3Jvc3N0YWxrLWlucHV0LWJv
dW5kIikuZWFjaChmdW5jdGlvbihlLHQpe2kobix0KX0pfSl9ZnVuY3Rpb24gaShlLHQpe3ZhciBuPW8odCk
uZmluZCgic2NyaXB0W3R5cGU9J2FwcGxpY2F0aW9uL2pzb24nXVtkYXRhLWZvcj0nIit0LmlkLnJlcGxhY2
UoLyhbISIjJCUmJygpKissLi86Ozw9Pj9AW1xcXF1eYHt8fX5dKS9nLCJcXCQxIikrIiddIikscj1KU09OL
nBhcnNlKG5bMF0uaW5uZXJUZXh0KSxpPWUuZmFjdG9yeSh0LHIpO28odCkuZGF0YSgiY3Jvc3N0YWxrLWlu
c3RhbmNlIixpKSxvKHQpLmFkZENsYXNzKCJjcm9zc3RhbGstaW5wdXQtYm91bmQiKX1pZih0LlNoaW55KXt
2YXIgZT1uZXcgdC5TaGlueS5JbnB1dEJpbmRpbmcsdT10LmpRdWVyeTt1LmV4dGVuZChlLHtmaW5kOmZ1bm
N0aW9uKGUpe3JldHVybiB1KGUpLmZpbmQoIi5jcm9zc3RhbGstaW5wdXQiKX0saW5pdGlhbGl6ZTpmdW5jd
GlvbihlKXt2YXIgdCxuO3UoZSkuaGFzQ2xhc3MoImNyb3NzdGFsay1pbnB1dC1ib3VuZCIpfHwobj1vKHQ9
ZSksT2JqZWN0LmtleXMocikuZm9yRWFjaChmdW5jdGlvbihlKXtuLmhhc0NsYXNzKGUpJiYhbi5oYXNDbGF
zcygiY3Jvc3N0YWxrLWlucHV0LWJvdW5kIikmJmkocltlXSx0KX0pKX0sZ2V0SWQ6ZnVuY3Rpb24oZSl7cm
V0dXJuIGUuaWR9LGdldFZhbHVlOmZ1bmN0aW9uKGUpe30sc2V0VmFsdWU6ZnVuY3Rpb24oZSx0KXt9LHJlY
2VpdmVNZXNzYWdlOmZ1bmN0aW9uKGUsdCl7fSxzdWJzY3JpYmU6ZnVuY3Rpb24oZSx0KXt1KGUpLmRhdGEo
ImNyb3NzdGFsay1pbnN0YW5jZSIpLnJlc3VtZSgpfSx1bnN1YnNjcmliZTpmdW5jdGlvbihlKXt1KGUpLmR
hdGEoImNyb3NzdGFsay1pbnN0YW5jZSIpLnN1c3BlbmQoKX19KSx0LlNoaW55LmlucHV0QmluZGluZ3Mucm
VnaXN0ZXIoZSwiY3Jvc3N0YWxrLmlucHV0QmluZGluZyIpfX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9d
HlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIh
PXR5cGVvZiB3aW5kb3c/
d2luZG93Ont9KX0se31dLDc6W2Z1bmN0aW9uKHIsZSx0KXsoZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO3Z
hciB0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbC
E9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmK
HRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShyKCIuL2lucHV0IikpLG49cigiLi9maWx0ZXIi
KTt2YXIgYT1lLmpRdWVyeTt0LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3NzdGFsay1pbnB1dC1jaGVja2J
veGdyb3VwIixmYWN0b3J5OmZ1bmN0aW9uKGUscil7dmFyIGk9bmV3IG4uRmlsdGVySGFuZGxlKHIuZ3JvdX
ApLG89dm9pZCAwLHU9YShlKTtyZXR1cm4gdS5vbigiY2hhbmdlIiwiaW5wdXRbdHlwZT0nY2hlY2tib3gnX
SIsZnVuY3Rpb24oKXt2YXIgZT11LmZpbmQoImlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCIpO2lm
KDA9PT1lLmxlbmd0aClvPW51bGwsaS5jbGVhcigpO2Vsc2V7dmFyIHQ9e307ZS5lYWNoKGZ1bmN0aW9uKCl
7ci5tYXBbdGhpcy52YWx1ZV0uZm9yRWFjaChmdW5jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgbj1PYmplY3
Qua2V5cyh0KTtuLnNvcnQoKSxvPW4saS5zZXQobil9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXtpLmNsZWFyK
Cl9LHJlc3VtZTpmdW5jdGlvbigpe28mJmkuc2V0KG8pfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIh
PXR5cGVvZiBnbG9iYWw/
Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG9
3P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjZ9XSw4OltmdW5jdGlvbihyLGUsdCl7KG
Z1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD1uKHIoIi4vaW5wdXQiKSksbD1uKHIoIi4vdXRpbCIpK
SxzPXIoIi4vZmlsdGVyIik7ZnVuY3Rpb24gbihlKXtpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFy
IHQ9e307aWYobnVsbCE9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR
5LmNhbGwoZSxuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9dmFyIGY9ZS5qUXVlcnk7dC
5yZWdpc3Rlcih7Y2xhc3NOYW1lOiJjcm9zc3RhbGstaW5wdXQtc2VsZWN0IixmYWN0b3J5OmZ1bmN0aW9uK
GUsbil7dmFyIHQ9bC5kYXRhZnJhbWVUb0QzKG4uaXRlbXMpLHI9e29wdGlvbnM6W3t2YWx1ZToiIixsYWJl
bDoiKEFsbCkifV0uY29uY2F0KHQpLHZhbHVlRmllbGQ6InZhbHVlIixsYWJlbEZpZWxkOiJsYWJlbCIsc2V
hcmNoRmllbGQ6ImxhYmVsIn0saT1mKGUpLmZpbmQoInNlbGVjdCIpWzBdLG89ZihpKS5zZWxlY3RpemUoci
lbMF0uc2VsZWN0aXplLHU9bmV3IHMuRmlsdGVySGFuZGxlKG4uZ3JvdXApLGE9dm9pZCAwO3JldHVybiBvL
m9uKCJjaGFuZ2UiLGZ1bmN0aW9uKCl7aWYoMD09PW8uaXRlbXMubGVuZ3RoKWE9bnVsbCx1LmNsZWFyKCk7
ZWxzZXt2YXIgdD17fTtvLml0ZW1zLmZvckVhY2goZnVuY3Rpb24oZSl7bi5tYXBbZV0uZm9yRWFjaChmdW5
jdGlvbihlKXt0W2VdPSEwfSl9KTt2YXIgZT1PYmplY3Qua2V5cyh0KTtlLnNvcnQoKSxhPWUsdS5zZXQoZS
l9fSkse3N1c3BlbmQ6ZnVuY3Rpb24oKXt1LmNsZWFyKCl9LHJlc3VtZTpmdW5jdGlvbigpe2EmJnUuc2V0K
GEpfX19fSl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/
Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG9
3P3dpbmRvdzp7fSl9LHsiLi9maWx0ZXIiOjIsIi4vaW5wdXQiOjYsIi4vdXRpbCI6MTF9XSw5OltmdW5jdG
lvbihuLGUsdCl7KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgZD1mdW5jdGlvbihlLHQpe2lmKEFyc
mF5LmlzQXJyYXkoZSkpcmV0dXJuIGU7aWYoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlyZXR1cm4g
ZnVuY3Rpb24oZSx0KXt2YXIgbj1bXSxyPSEwLGk9ITEsbz12b2lkIDA7dHJ5e2Zvcih2YXIgdSxhPWVbU3l
tYm9sLml0ZXJhdG9yXSgpOyEocj0odT1hLm5leHQoKSkuZG9uZSkmJihuLnB1c2godS52YWx1ZSksIXR8fG
4ubGVuZ3RoIT09dCk7cj0hMCk7fWNhdGNoKGUpe2k9ITAsbz1lfWZpbmFsbHl7dHJ5eyFyJiZhLnJldHVyb
iYmYS5yZXR1cm4oKX1maW5hbGx5e2lmKGkpdGhyb3cgb319cmV0dXJuIG59KGUsdCk7dGhyb3cgbmV3IFR5
cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZSI
pfSx0PWZ1bmN0aW9uKGUpe3tpZihlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIHQ9e307aWYobnVsbC
E9ZSlmb3IodmFyIG4gaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxuKSYmK
HRbbl09ZVtuXSk7cmV0dXJuIHQuZGVmYXVsdD1lLHR9fShuKCIuL2lucHV0IikpLGE9bigiLi9maWx0ZXIi
KTt2YXIgdj1lLmpRdWVyeSxwPWUuc3RyZnRpbWU7ZnVuY3Rpb24geShlLHQpe2Zvcih2YXIgbj1lLnRvU3R
yaW5nKCk7bi5sZW5ndGg8dDspbj0iMCIrbjtyZXR1cm4gbn10LnJlZ2lzdGVyKHtjbGFzc05hbWU6ImNyb3
NzdGFsay1pbnB1dC1zbGlkZXIiLGZhY3Rvcnk6ZnVuY3Rpb24oZSxsKXt2YXIgcz1uZXcgYS5GaWx0ZXJIY
W5kbGUobC5ncm91cCksdD17fSxmPXYoZSkuZmluZCgiaW5wdXQiKSxuPWYuZGF0YSgiZGF0YS10eXBlIiks
cj1mLmRhdGEoInRpbWUtZm9ybWF0IiksaT1mLmRhdGEoInJvdW5kIiksbz12b2lkIDA7aWYoImRhdGUiPT0
9bilvPXAudXRjKCksdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX07ZW
xzZSBpZigiZGF0ZXRpbWUiPT09bil7dmFyIHU9Zi5kYXRhKCJ0aW1lem9uZSIpO289dT9wLnRpbWV6b25lK
HUpOnAsdC5wcmV0dGlmeT1mdW5jdGlvbihlKXtyZXR1cm4gbyhyLG5ldyBEYXRlKGUpKX19ZWxzZSJudW1i
ZXIiPT09biYmdm9pZCAwIT09aSYmKHQucHJldHRpZnk9ZnVuY3Rpb24oZSl7dmFyIHQ9TWF0aC5wb3coMTA
saSk7cmV0dXJuIE1hdGgucm91bmQoZSp0KS90fSk7ZnVuY3Rpb24gYygpe3ZhciBlPWYuZGF0YSgiaW9uUm
FuZ2VTbGlkZXIiKS5yZXN1bHQsdD12b2lkIDAsbj1mLmRhdGEoImRhdGEtdHlwZSIpO3JldHVybiB0PSJkY
XRlIj09PW4/
ZnVuY3Rpb24oZSl7cmV0dXJuKHQ9bmV3IERhdGUoK2UpKWluc3RhbmNlb2YgRGF0ZT90LmdldFVUQ0Z1bGx
ZZWFyKCkrIi0iK3kodC5nZXRVVENNb250aCgpKzEsMikrIi0iK3kodC5nZXRVVENEYXRlKCksMik6bnVsbD
t2YXIgdH06ImRhdGV0aW1lIj09PW4/
ZnVuY3Rpb24oZSl7cmV0dXJuK2UvMWUzfTpmdW5jdGlvbihlKXtyZXR1cm4rZX0sImRvdWJsZSI9PT1mLmR
hdGEoImlvblJhbmdlU2xpZGVyIikub3B0aW9ucy50eXBlP1t0KGUuZnJvbSksdChlLnRvKV06dChlLmZyb2
0pfWYuaW9uUmFuZ2VTbGlkZXIodCk7dmFyIGg9bnVsbDtyZXR1cm4gZi5vbigiY2hhbmdlLmNyb3NzdGFsa
1NsaWRlcklucHV0IixmdW5jdGlvbihlKXtpZighZi5kYXRhKCJ1cGRhdGluZyIpJiYhZi5kYXRhKCJhbmlt
YXRpbmciKSl7Zm9yKHZhciB0PWMoKSxuPWQodCwyKSxyPW5bMF0saT1uWzFdLG89W10sdT0wO3U8bC52YWx
1ZXMubGVuZ3RoO3UrKyl7dmFyIGE9bC52YWx1ZXNbdV07cjw9YSYmYTw9aSYmby5wdXNoKGwua2V5c1t1XS
l9by5zb3J0KCkscy5zZXQobyksaD1vfX0pLHtzdXNwZW5kOmZ1bmN0aW9uKCl7cy5jbGVhcigpfSxyZXN1b
WU6ZnVuY3Rpb24oKXtoJiZzLnNldChoKX19fX0pfSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2Yg
Z2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/
c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vZmlsdGVyIjoyLCIuL2l
ucHV0Ijo2fV0sMTA6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3Blcn
R5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uU2VsZWN0aW9uSGFuZGxlPXZvaWQgMDt2YXIgcj1md
W5jdGlvbigpe2Z1bmN0aW9uIHIoZSx0KXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtu
XTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciY
mKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIua2V5LHIpfX1yZXR1cm4gZnVuY3
Rpb24oZSx0LG4pe3JldHVybiB0JiZyKGUucHJvdG90eXBlLHQpLG4mJnIoZSxuKSxlfX0oKSxpPWEoZSgiL
i9ldmVudHMiKSksbz1hKGUoIi4vZ3JvdXAiKSksdT1mdW5jdGlvbihlKXt7aWYoZSYmZS5fX2VzTW9kdWxl
KXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpT2JqZWN0LnByb3RvdHlwZS5
oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJih0W25dPWVbbl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fX0oZS
giLi91dGlsIikpO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9f
W4uU2VsZWN0aW9uSGFuZGxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gbigpe3ZhciBlPTA8YXJndW1lbnRzLmxl
bmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpudWxsLHQ9MTxhcmd1bWVudHMubGV
uZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/
YXJndW1lbnRzWzFdOm51bGw7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV
3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsbiksdGhpcy
5fZXZlbnRSZWxheT1uZXcgaS5kZWZhdWx0LHRoaXMuX2VtaXR0ZXI9bmV3IHUuU3Vic2NyaXB0aW9uVHJhY
2tlcih0aGlzLl9ldmVudFJlbGF5KSx0aGlzLl9ncm91cD1udWxsLHRoaXMuX3Zhcj1udWxsLHRoaXMuX3Zh
ck9uQ2hhbmdlU3ViPW51bGwsdGhpcy5fZXh0cmFJbmZvPXUuZXh0ZW5kKHtzZW5kZXI6dGhpc30sdCksdGh
pcy5zZXRHcm91cChlKX1yZXR1cm4gcihuLFt7a2V5OiJzZXRHcm91cCIsdmFsdWU6ZnVuY3Rpb24oZSl7dm
FyIHQ9dGhpcztpZih0aGlzLl9ncm91cCE9PWUmJih0aGlzLl9ncm91cHx8ZSkmJih0aGlzLl92YXImJih0a
GlzLl92YXIub2ZmKCJjaGFuZ2UiLHRoaXMuX3Zhck9uQ2hhbmdlU3ViKSx0aGlzLl92YXI9bnVsbCx0aGlz
Ll92YXJPbkNoYW5nZVN1Yj1udWxsKSx0aGlzLl9ncm91cD1lKSl7dGhpcy5fdmFyPSgwLG8uZGVmYXVsdCk
oZSkudmFyKCJzZWxlY3Rpb24iKTt2YXIgbj10aGlzLl92YXIub24oImNoYW5nZSIsZnVuY3Rpb24oZSl7dC
5fZXZlbnRSZWxheS50cmlnZ2VyKCJjaGFuZ2UiLGUsdCl9KTt0aGlzLl92YXJPbkNoYW5nZVN1Yj1ufX19L
HtrZXk6Il9tZXJnZUV4dHJhSW5mbyIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHUuZXh0ZW5kKHt9LHRo
aXMuX2V4dHJhSW5mbz90aGlzLl9leHRyYUluZm86bnVsbCxlfHxudWxsKX19LHtrZXk6InNldCIsdmFsdWU
6ZnVuY3Rpb24oZSx0KXt0aGlzLl92YXImJnRoaXMuX3Zhci5zZXQoZSx0aGlzLl9tZXJnZUV4dHJhSW5mby
h0KSl9fSx7a2V5OiJjbGVhciIsdmFsdWU6ZnVuY3Rpb24oZSl7dGhpcy5fdmFyJiZ0aGlzLnNldCh2b2lkI
DAsdGhpcy5fbWVyZ2VFeHRyYUluZm8oZSkpfX0se2tleToib24iLHZhb
HVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2VtaXR0ZXIub24oZSx0KX19LHtrZXk6Im9mZiIsdmFs
dWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZW1pdHRlci5vZmYoZSx0KX19LHtrZXk6ImNsb3NlIix
2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2VtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5zZXRHcm
91cChudWxsKX19LHtrZXk6InZhbHVlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFyP3RoaXMuX
3Zhci5nZXQoKTpudWxsfX1dKSxufSgpfSx7Ii4vZXZlbnRzIjoxLCIuL2dyb3VwIjo0LCIuL3V0aWwiOjEx
fV0sMTE6W2Z1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9
fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQpe2Zvcih2YX
Igbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExL
HIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVBy
b3BlcnR5KGUsci5rZXkscil9fXJldHVybiBmdW5jdGlvbihlLHQsbil7cmV0dXJuIHQmJnIoZS5wcm90b3R
5cGUsdCksbiYmcihlLG4pLGV9fSgpLGw9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PX
R5cGVvZiBTeW1ib2wuaXRlcmF0b3I/
ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj0
9dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/
InN5bWJvbCI6dHlwZW9mIGV9O2Z1bmN0aW9uIHUoZSl7Zm9yKHZhciB0PTE7dDxlLmxlbmd0aDt0KyspaWY
oZVt0XTw9ZVt0LTFdKXRocm93IG5ldyBFcnJvcigiTGlzdCBpcyBub3Qgc29ydGVkIG9yIGNvbnRhaW5zIG
R1cGxpY2F0ZSIpfW4uZXh0ZW5kPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49Q
XJyYXkoMTx0P3QtMTowKSxyPTE7cjx0O3IrKyluW3ItMV09YXJndW1lbnRzW3JdO2Zvcih2YXIgaT0wO2k8
bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO2lmKG51bGwhPW8pZm9yKHZhciB1IGluIG8pby5oYXNPd25Qcm9
wZXJ0eSh1KSYmKGVbdV09b1t1XSl9cmV0dXJuIGV9LG4uY2hlY2tTb3J0ZWQ9dSxuLmRpZmZTb3J0ZWRMaX
N0cz1mdW5jdGlvbihlLHQpe3ZhciBuPTAscj0wO2V8fChlPVtdKTt0fHwodD1bXSk7dmFyIGk9W10sbz1bX
Tt1KGUpLHUodCk7Zm9yKDtuPGUubGVuZ3RoJiZyPHQubGVuZ3RoOyllW25dPT09dFtyXT8obisrLHIrKyk6
ZVtuXTx0W3JdP2kucHVzaChlW24rK10pOm8ucHVzaCh0W3IrK10pO248ZS5sZW5ndGgmJihpPWkuY29uY2F
0KGUuc2xpY2UobikpKTtyPHQubGVuZ3RoJiYobz1vLmNvbmNhdCh0LnNsaWNlKHIpKSk7cmV0dXJue3JlbW
92ZWQ6aSxhZGRlZDpvfX0sbi5kYXRhZnJhbWVUb0QzPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49dm9pZCAwO
2Zvcih2YXIgciBpbiBlKXtpZihlLmhhc093blByb3BlcnR5KHIpJiZ0LnB1c2gociksIm9iamVjdCIhPT1s
KGVbcl0pfHx2b2lkIDA9PT1lW3JdLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkFsbCBmaWVsZHMgbXVzdCB
iZSBhcnJheXMiKTtpZih2b2lkIDAhPT1uJiZuIT09ZVtyXS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBbG
wgZmllbGRzIG11c3QgYmUgYXJyYXlzIG9mIHRoZSBzYW1lIGxlbmd0aCIpO249ZVtyXS5sZW5ndGh9Zm9yK
HZhciBpPVtdLG89dm9pZCAwLHU9MDt1PG47dSsrKXtvPXt9O2Zvcih2YXIgYT0wO2E8dC5sZW5ndGg7YSsr
KW9bdFthXV09ZVt0W2FdXVt1XTtpLnB1c2gobyl9cmV0dXJuIGl9O24uU3Vic2NyaXB0aW9uVHJhY2tlcj1
mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIGluc3RhbmNlb2YgdCkpdG
hyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsd
CksdGhpcy5fZW1pdHRlcj1lLHRoaXMuX3N1YnM9e319cmV0dXJuIHIodCxbe2tleToib24iLHZhbHVlOmZ1
bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fZW1pdHRlci5vbihlLHQpO3JldHVybiB0aGlzLl9zdWJzW25dPWU
sbn19LHtrZXk6Im9mZiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzLl9lbWl0dGVyLm9mZihlLH
QpO3JldHVybiBuJiZkZWxldGUgdGhpcy5fc3Vic1tuXSxufX0se2tleToicmVtb3ZlQWxsTGlzdGVuZXJzI
ix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj10aGlzLl9zdWJzO3RoaXMuX3N1YnM9e30sT2JqZWN0
LmtleXMobikuZm9yRWFjaChmdW5jdGlvbihlKXt0Ll9lbWl0dGVyLm9mZihuW2VdLGUpfSl9fV0pLHR9KCl
9LHt9XSwxMjpbZnVuY3Rpb24oYSxlLGwpeyhmdW5jdGlvbihvKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZm
luZVByb3BlcnR5KGwsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBlLHU9ImZ1bmN0aW9uIj09dHlwZ
W9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/
ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmImZ1bmN0aW9uIj0
9dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/
InN5bWJvbCI6dHlwZW9mIGV9LHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiByKGUsdCl7Zm9yKHZhciBuPTA7bjx
0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maW
d1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZ
SxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdCYmcihlLnByb3RvdHlwZSx0KSxu
JiZyKGUsbiksZX19KCksbj1hKCIuL2V2ZW50cyIpLGk9KGU9bikmJmUuX19lc01vZHVsZT9lOntkZWZhdWx
0OmV9O3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcihlLHQsbil7IWZ1bmN0aW9uKGUsdCl7aWYoIShlIG
luc3RhbmNlb2YgdCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1b
mN0aW9uIil9KHRoaXMsciksdGhpcy5fZ3JvdXA9ZSx0aGlzLl9uYW1lPXQsdGhpcy5fdmFsdWU9bix0aGlz
Ll9ldmVudHM9bmV3IGkuZGVmYXVsdH1yZXR1cm4gdChyLFt7a2V5OiJnZXQiLHZhbHVlOmZ1bmN0aW9uKCl
7cmV0dXJuIHRoaXMuX3ZhbHVlfX0se2tleToic2V0Iix2YWx1ZTpmdW5jdGlvbihlLHQpe2lmKHRoaXMuX3
ZhbHVlIT09ZSl7dmFyIG49dGhpcy5fdmFsdWU7dGhpcy5fdmFsdWU9ZTt2YXIgcj17fTtpZih0JiYib2JqZ
WN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOnUodCkpKWZvcih2YXIgaSBpbiB0KXQuaGFzT3duUHJv
cGVydHkoaSkmJihyW2ldPXRbaV0pO3Iub2xkVmFsdWU9bixyLnZhbHVlPWUsdGhpcy5fZXZlbnRzLnRyaWd
nZXIoImNoYW5nZSIscix0aGlzKSxvLlNoaW55JiZvLlNoaW55Lm9uSW5wdXRDaGFuZ2UmJm8uU2hpbnkub2
5JbnB1dENoYW5nZSgiLmNsaWVudFZhbHVlLSIrKG51bGwhPT10aGlzLl9ncm91cC5uYW1lP3RoaXMuX2dyb
3VwLm5hbWUrIi0iOiIiKSt0aGlzLl9uYW1lLHZvaWQgMD09PWU/
bnVsbDplKX19fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fZXZlbnRzLm9
uKGUsdCl9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2V2ZW50cy5vZm
YoZSx0KX19XSkscn0oKTtsLmRlZmF1bHQ9cn0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb
2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3
aW5kb3c/
d2luZG93Ont9KX0seyIuL2V2ZW50cyI6MX1dfSx7fSxbNV0pOwovLyMgc291cmNlTWFwcGluZ1VSTD1jcm9
zc3RhbGsubWluLmpzLm1hcA==\"></script>\n",
"<link href=\"data:text/css;charset-utf-
8;base64,LyogQWRqdXN0IG1hcmdpbnMgb3V0d2FyZHMsIHNvIGNvbHVtbiBjb250ZW50cyBsaW5lIHVwIH
dpdGggdGhlIGVkZ2VzIG9mIHRoZQogICBwYXJlbnQgb2YgY29udGFpbmVyLWZsdWlkLiAqLwouY29udGFpb
mVyLWZsdWlkLmNyb3NzdGFsay1ic2NvbHMgewogIG1hcmdpbi1sZWZ0OiAtMzBweDsKICBtYXJnaW4tcmln
aHQ6IC0zMHB4OwogIHdoaXRlLXNwYWNlOiBub3JtYWw7Cn0KCi8qIEJ1dCBkb24ndCBhZGp1c3QgdGhlIG1
hcmdpbnMgb3V0d2FyZHMgaWYgd2UncmUgZGlyZWN0bHkgdW5kZXIgdGhlIGJvZHksCiAgIGkuZS4gd2Ugd2
VyZSB0aGUgdG9wLWxldmVsIG9mIHNvbWV0aGluZyBhdCB0aGUgY29uc29sZS4gKi8KYm9keSA+IC5jb250Y
WluZXItZmx1aWQuY3Jvc3N0YWxrLWJzY29scyB7CiAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgbWFyZ2luLXJp
Z2h0OiBhdXRvOwp9CgouY3Jvc3N0YWxrLWlucHV0LWNoZWNrYm94Z3JvdXAgLmNyb3NzdGFsay1vcHRpb25
zLWdyb3VwIC5jcm9zc3RhbGstb3B0aW9ucy1jb2x1bW4gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKIC
BwYWRkaW5nLXJpZ2h0OiAxMnB4OwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KCkBtZWRpYSBvbmx5IHNjc
mVlbiBhbmQgKG1heC13aWR0aDo0ODBweCkgewogIC5jcm9zc3RhbGstaW5wdXQtY2hlY2tib3hncm91cCAu
Y3Jvc3N0YWxrLW9wdGlvbnMtZ3JvdXAgLmNyb3NzdGFsay1vcHRpb25zLWNvbHVtbiB7CiAgICBkaXNwbGF
5OiBibG9jazsKICAgIHBhZGRpbmctcmlnaHQ6IGluaGVyaXQ7CiAgfQp9Cg==\"
rel=\"stylesheet\" />\n",
"\t</head>\n",
"\t<body>\n",
"\t\t<div id=\"htmlwidget-bf0c6f24c376d9190fa7\"
style=\"width:960px;height:500px;\" class=\"datatables html-widget\"></div>\n",
"<script type=\"application/json\" data-for=\"htmlwidget-
bf0c6f24c376d9190fa7\">{\"x\":{\"filter\":\"none\",\"data\":
[[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\"
,\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"24\",\"25\
",\"26\",\"27\",\"28\",\"29\",\"30\",\"31\",\"32\",\"33\",\"34\",\"35\",\"36\",\"37
\",\"38\",\"39\",\"40\",\"41\",\"42\",\"43\",\"44\",\"45\",\"46\",\"47\",\"48\",\"4
9\",\"50\",\"51\",\"52\",\"53\",\"54\",\"55\",\"56\",\"57\",\"58\",\"59\",\"60\",\"
61\",\"62\",\"63\",\"64\",\"65\",\"66\",\"67\",\"68\",\"69\",\"70\",\"71\",\"72\",\
"73\",\"74\",\"75\",\"76\",\"77\",\"78\",\"79\",\"80\",\"81\",\"82\",\"83\",\"84\",
\"85\",\"86\",\"87\",\"88\",\"89\",\"90\",\"91\",\"92\",\"93\",\"94\",\"95\",\"96\"
,\"97\",\"98\",\"99\",\"100\",\"101\",\"102\",\"103\",\"104\",\"105\",\"106\",\"107
\",\"108\",\"109\",\"110\",\"111\",\"112\",\"113\",\"114\",\"115\",\"116\",\"117\",
\"118\",\"119\",\"120\",\"121\",\"122\",\"123\",\"124\",\"125\",\"126\",\"127\",\"1
28\",\"129\",\"130\",\"131\",\"132\",\"133\",\"134\",\"135\",\"136\",\"137\",\"138\
",\"139\",\"140\",\"141\",\"142\",\"143\",\"144\",\"145\",\"146\",\"147\",\"148\",\
"149\",\"150\",\"151\",\"152\",\"153\",\"154\",\"155\",\"156\",\"157\",\"158\",\"15
9\",\"160\",\"161\",\"162\",\"163\",\"164\",\"165\",\"166\",\"167\",\"168\",\"169\"
,\"170\",\"171\",\"172\",\"173\",\"174\",\"175\",\"176\",\"177\",\"178\",\"179\",\"
180\",\"181\",\"182\",\"183\",\"184\",\"185\",\"186\",\"187\",\"188\",\"189\",\"190
\",\"191\",\"192\",\"193\",\"194\",\"195\",\"196\",\"197\",\"198\",\"199\",\"200\",
\"201\",\"202\",\"203\",\"204\",\"205\",\"206\",\"207\",\"208\",\"209\",\"210\",\"2
11\",\"212\",\"213\",\"214\",\"215\",\"216\",\"217\",\"218\",\"219\",\"220\",\"221\
",\"222\",\"223\",\"224\",\"225\",\"226\",\"227\",\"228\",\"229\",\"230\",\"231\",\
"232\",\"233\",\"234\",\"235\",\"236\",\"237\",\"238\",\"239\",\"240\",\"241\",\"24
2\",\"243\",\"244\",\"245\",\"246\",\"247\",\"248\",\"249\",\"250\",\"251\",\"252\"
,\"253\",\"254\",\"255\",\"256\",\"257\",\"258\",\"259\",\"260\",\"261\",\"262\",\"
263\",\"264\",\"265\",\"266\",\"267\",\"268\",\"269\",\"270\",\"271\",\"272\",\"273
\",\"274\",\"275\",\"276\",\"277\",\"278\",\"279\",\"280\",\"281\",\"282\",\"283\",
\"284\",\"285\",\"286\",\"287\",\"288\",\"289\",\"290\",\"291\",\"292\",\"293\",\"2
94\",\"295\",\"296\",\"297\",\"298\",\"299\",\"300\",\"301\",\"302\",\"303\",\"304\
",\"305\",\"306\",\"307\",\"308\",\"309\",\"310\",\"311\",\"312\",\"313\",\"314\",\
"315\",\"316\",\"317\",\"318\",\"319\",\"320\",\"321\",\"322\",\"323\",\"324\",\"32
5\",\"326\",\"327\",\"328\",\"329\",\"330\",\"331\",\"332\",\"333\",\"334\",\"335\"
,\"336\",\"337\",\"338\",\"339\",\"340\",\"341\",\"342\",\"343\",\"344\",\"345\",\"
346\",\"347\",\"348\",\"349\",\"350\",\"351\",\"352\",\"353\",\"354\",\"355\",\"356
\",\"357\",\"358\",\"359\",\"360\",\"361\",\"362\",\"363\",\"364\",\"365\",\"366\",
\"367\",\"368\",\"369\",\"370\",\"371\",\"372\",\"373\",\"374\",\"375\",\"376\",\"3
77\",\"378\",\"379\",\"380\",\"381\",\"382\",\"383\",\"384\",\"385\",\"386\",\"387\
",\"388\",\"389\",\"390\",\"391\",\"392\",\"393\",\"394\",\"395\",\"396\",\"397\",\
"398\",\"399\",\"400\",\"401\",\"402\",\"403\",\"404\",\"405\",\"406\",\"407\",\"40
8\",\"409\",\"410\",\"411\",\"412\",\"413\",\"414\",\"415\",\"416\",\"417\",\"418\"
,\"419\",\"420\",\"421\",\"422\",\"423\",\"424\",\"425\",\"426\",\"427\",\"428\",\"
429\",\"430\",\"431\",\"432\",\"433\",\"434\",\"435\",\"436\",\"437\",\"438\",\"439
\",\"440\",\"441\",\"442\",\"443\",\"444\",\"445\",\"446\",\"447\",\"448\",\"449\",
\"450\",\"451\",\"452\",\"453\",\"454\",\"455\",\"456\",\"457\",\"458\",\"459\",\"4
60\",\"461\",\"462\",\"463\",\"464\",\"465\",\"466\",\"467\",\"468\",\"469\",\"470\
",\"471\",\"472\",\"473\",\"474\",\"475\",\"476\",\"477\",\"478\",\"479\",\"480\",\
"481\",\"482\",\"483\",\"484\",\"485\",\"486\",\"487\",\"488\",\"489\",\"490\",\"49
1\",\"492\",\"493\",\"494\",\"495\",\"496\",\"497\",\"498\",\"499\",\"500\",\"501\"
,\"502\",\"503\",\"504\",\"505\",\"506\",\"507\",\"508\",\"509\",\"510\",\"511\",\"
512\",\"513\",\"514\",\"515\",\"516\",\"517\",\"518\",\"519\",\"520\",\"521\",\"522
\",\"523\",\"524\",\"525\",\"526\",\"527\",\"528\",\"529\",\"530\",\"531\",\"532\",
\"533\",\"534\",\"535\",\"536\",\"537\",\"538\",\"539\",\"540\",\"541\",\"542\",\"5
43\",\"544\",\"545\",\"546\",\"547\",\"548\",\"549\",\"550\",\"551\",\"552\",\"553\
",\"554\",\"555\",\"556\",\"557\",\"558\",\"559\",\"560\",\"561\",\"562\",\"563\",\
"564\",\"565\",\"566\",\"567\",\"568\",\"569\",\"570\",\"571\",\"572\",\"573\",\"57
4\",\"575\",\"576\",\"577\",\"578\",\"579\",\"580\",\"581\",\"582\",\"583\",\"584\"
,\"585\",\"586\",\"587\",\"588\",\"589\",\"590\",\"591\",\"592\",\"593\",\"594\",\"
595\",\"596\",\"597\",\"598\",\"599\",\"600\",\"601\",\"602\",\"603\",\"604\",\"605
\",\"606\",\"607\",\"608\",\"609\",\"610\",\"611\",\"612\",\"613\",\"614\",\"615\",
\"616\",\"617\",\"618\",\"619\",\"620\",\"621\",\"622\",\"623\",\"624\",\"625\",\"6
26\",\"627\",\"628\",\"629\",\"630\",\"631\",\"632\",\"633\",\"634\",\"635\",\"636\
",\"637\",\"638\",\"639\",\"640\",\"641\",\"642\",\"643\",\"644\",\"645\",\"646\",\
"647\",\"648\",\"649\",\"650\",\"651\",\"652\",\"653\",\"654\",\"655\",\"656\",\"65
7\",\"658\",\"659\",\"660\",\"661\",\"662\",\"663\",\"664\",\"665\",\"666\",\"667\"
,\"668\",\"669\",\"670\",\"671\",\"672\",\"673\",\"674\",\"675\",\"676\",\"677\",\"
678\",\"679\",\"680\",\"681\",\"682\",\"683\",\"684\",\"685\",\"686\",\"687\",\"688
\",\"689\",\"690\",\"691\",\"692\",\"693\",\"694\",\"695\",\"696\",\"697\",\"698\",
\"699\",\"700\",\"701\",\"702\",\"703\",\"704\",\"705\",\"706\",\"707\",\"708\",\"7
09\",\"710\",\"711\",\"712\",\"713\",\"714\",\"715\",\"716\",\"717\",\"718\",\"719\
",\"720\",\"721\",\"722\",\"723\",\"724\",\"725\",\"726\",\"727\",\"728\",\"729\",\
"730\",\"731\",\"732\",\"733\",\"734\",\"735\",\"736\",\"737\",\"738\",\"739\",\"74
0\",\"741\",\"742\",\"743\",\"744\"],
[\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\
",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"1\",\"2\",\"2\",\"2\",\"2
\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"
2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"2\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\
"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",\"3\",
\"3\",\"3\",\"3\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\"
,\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"4\",\"5\
",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5
\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"5\",\"6\",\"6\",\"6\",\"6\",\"
6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\
"6\",\"6\",\"6\",\"6\",\"6\",\"6\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",
\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\",\"7\"
,\"7\",\"7\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\
",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"8\",\"9\",\"9
\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"
9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"9\",\"10\",\"10\",\"10\",\"10\",\"1
0\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"
10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"10\",\"11\",\"11\",\"11\",\"11\",\
"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",
\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"11\",\"12\",\"12\",\"12\",\"12\"
,\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\
",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"12\",\"13\",\"13\",\"13\",\"13
\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"1
3\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"13\",\"14\",\"14\",\"14\",\"
14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\
"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"14\",\"15\",\"15\",\"15\",
\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\"
,\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"15\",\"16\",\"16\",\"16\
",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16
\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"16\",\"17\",\"17\",\"1
7\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"
17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"17\",\"18\",\"18\",\
"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",
\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"18\",\"19\",\"19\"
,\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\
",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"19\",\"20\",\"20
\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"2
0\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"20\",\"21\",\"
21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\
"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"21\",\"22\",
\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\"
,\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"22\",\"23\
",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23
\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"23\",\"2
4\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"
24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\"24\",\
"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",
\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\",\"25\"
,\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\
"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",
\"26\",\"26\",\"26\",\"26\",\"26\",\"26\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\"
,\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\
",\"27\",\"27\",\"27\",\"27\",\"27\",\"27\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28
\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"2
8\",\"28\",\"28\",\"28\",\"28\",\"28\",\"28\",\"29\",\"29\",\"29\",\"29\",\"29\",\"
29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\
"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"29\",\"30\",\"30\",\"30\",\"30\",\"30\",
\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\"
,\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"30\",\"31\",\"31\",\"31\",\"31\",\"31\
",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31
\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\",\"31\"],
[\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\
"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\
"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"
14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2
\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"1
5\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\"
,\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16
\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\
"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\
",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6
\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\"
,\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\"
,\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",
\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\
"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\
"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"1
0\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"
22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11
\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"2
3\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\
",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\
",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\"
,\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",
\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",
\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"
3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\
"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\
",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"
17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",
\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"1
8\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"
7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19
\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\
",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\
",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",
\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\"
,\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\
"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",
\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"
12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\
"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"1
3\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1
\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14
\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\"
,\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\
",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\
"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\"
,\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5
\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",
\"18\",\"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\"
,\"7\",\"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\
"19\",\"20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\
"8\",\"9\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"
20\",\"21\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9
\",\"10\",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"2
1\",\"22\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\
",\"11\",\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22
\",\"23\",\"0\",\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"10\",\"11\"
,\"12\",\"13\",\"14\",\"15\",\"16\",\"17\",\"18\",\"19\",\"20\",\"21\",\"22\",\"23\
"],
[3247,1982,1284,1331,1458,2171,3717,5470,5376,4688,4680,4811,5018,5887,7050,8033,87
60,9661,8727,8146,7448,7960,6397,4128,2480,1600,1109,1442,1897,2861,5002,6646,6420,
4795,4886,5067,5278,5801,7021,8581,10267,11301,11326,9654,8903,8506,7111,5247,3415,
2176,1434,1489,1578,2437,4318,5775,5482,4732,4864,5162,5462,6189,7327,8991,10472,10
665,11433,9765,9158,8646,7246,4767,2944,1718,1217,1449,1737,2623,4687,6146,5799,481
4,4822,5067,5289,6273,7307,8678,9661,10550,10458,9296,8508,8804,7852,5224,2786,1567
,1047,1278,1648,2958,4919,6379,6580,5616,5225,5097,5129,5780,7072,8453,9770,10887,1
0324,9582,9512,9785,9020,6640,4623,2932,1902,1599,1584,2201,3705,4846,5009,4482,489
1,5264,5528,6378,7353,8751,9615,10130,9437,8575,8286,8734,8000,6061,3715,2326,1533,
1622,1793,2464,4172,5649,5459,4706,4982,5266,5455,6315,7418,8624,10585,11185,10767,
9674,8862,8692,7337,4902,2882,1672,1147,1509,1921,3282,5528,7474,7472,5770,5368,543
3,5576,6424,7356,8910,10007,10871,9874,8964,8768,8528,6917,4331,2708,1757,1246,1501
,1911,3227,5910,7720,7641,5983,5500,5542,5607,6540,7997,9360,10419,12116,11677,9979
,9061,8806,7637,5290,3351,2167,1495,1466,1614,2652,4757,6168,6271,5165,5070,5513,56
17,6631,7739,9772,11256,12112,11121,9800,9876,9403,7886,5598,3093,1699,1126,1450,18
70,2569,5046,7001,6990,5489,5313,5515,5611,6619,7642,9097,10327,11098,10558,9524,89
82,8885,7907,5449,3276,2187,1419,1386,1787,2773,4679,6370,6360,5277,5248,5417,5674,
6535,7868,9537,10912,11919,12450,10589,10154,10496,10189,8104,5517,3594,2312,1865,1
730,2380,4269,5768,6180,5734,5535,5844,6015,6798,8354,9437,10736,12059,11672,10134,
8855,8573,7497,6034,3810,2399,1637,1689,1784,2678,4325,5879,5618,4909,4998,5206,525
1,5855,7083,8340,9698,10296,9726,9310,9350,8759,7007,4541,2543,1557,1115,1416,1909,
3047,5142,6957,6847,5286,5434,5622,5614,7127,7784,8647,10469,12188,11941,11231,1071
5,9278,7286,4571,2595,1622,1142,1429,1851,3024,5653,7658,7627,6063,5720,5564,5621,6
298,7731,9450,11002,11998,11071,11147,10335,10585,8251,5484,3208,2084,1532,1517,192
4,2778,4637,6432,5993,5015,5089,5407,5739,6613,7610,9149,10505,11445,11314,10113,10
122,9993,8509,5796,3447,2178,1364,1657,1928,3027,4785,6738,6565,5463,5237,5580,5586
,6496,7673,9199,10485,10879,10557,9757,9512,9457,8167,5582,3277,2235,1637,1710,1837
,2688,4826,6265,6138,5088,5173,5335,5685,6487,7515,9076,10086,10966,10639,9885,1024
2,10241,9271,6786,4567,3263,2134,1889,1647,2181,3632,4975,5173,4837,5228,5776,5871,
6799,7636,8809,9637,10254,9467,8779,8792,8875,7943,6015,4381,3265,2013,1761,1960,26
65,4260,5823,5610,4771,4992,5308,5569,6192,7199,8266,9630,9990,9487,8482,8254,8413,
7499,5322,2852,1662,1207,1503,1984,3222,5315,6981,6995,5305,5362,5452,5614,6458,747
0,9323,10776,11175,10077,9164,8920,8599,6911,4625,2605,1608,1163,1465,1994,3182,531
5,7027,6564,5271,5159,5424,5612,6362,7733,9498,10162,10536,11044,11578,11678,10544,
8821,5687,3277,2090,1480,1520,1825,2802,4565,6111,6024,5242,5027,5408,5318,6078,720
7,8857,10567,10982,9954,9251,9379,9022,7636,4547,2442,1525,1098,1472,1972,3029,5465
,7775,7214,6097,5533,5604,5805,6327,7437,8885,10114,10699,10889,9212,8945,9702,8687
,6739,3887,3123,2087,1840,1770,2389,3838,5282,5169,4913,5169,5293,5494,6288,7419,89
72,10057,10895,11087,10314,10009,10666,9688,7756,5304,3712,2407,2098,1759,2380,3609
,5023,5142,4855,5299,5829,5943,6957,7654,8969,9980,10032,9425,8447,8077,8707,7868,6
176,4224,2711,1894,1846,1916,2846,4368,5828,5759,5283,5332,5616,5600,6241,7480,8753
,9877,10175,9322,8435,8479,8097,6519,4556,2732,1862,1442,1717,1990,3127,5329,6992,6
825,5586,5321,5256,5331,6419,7760,9416,10316,11333,10598,9476,9439,9287,7122,4410,2
439,1547,1135,1436,1864,3264,5850,7735,7760,6168,6084,6202,6543,7385,8554,10456,117
69,12378,12807,11249,11060,10246,8433,4796,2209,1407,1107,935,788,1012,1590,2201,24
42,2564,2607,2823,2997,3325,4176,5177,5483,5415,5450,5001,4923,5171,5244,4026]],\"c
ontainer\":\"<table class=\\\"display\\\">\\n <thead>\\n <tr>\\n <th>
<\\/th>\\n <th>day<\\/th>\\n <th>hour<\\/th>\\n <th>Total<\\/th>\\n
<\\/tr>\\n <\\/thead>\\n<\\/table>\",\"options\":{\"columnDefs\":
[{\"className\":\"dt-right\",\"targets\":3},
{\"orderable\":false,\"targets\":0}],\"o
rder\":[],\"autoWidth\":false,\"orderClasses\":false}},\"evals\":[],\"jsHooks\":
[]}</script>\n",
"\t</body>\n",
"</html>\n"
],
"text/plain": [
"HTML widgets cannot be represented in plain text (need html)"
]
},
"metadata": {
"text/html": {
"isolated": true
}
},
"output_type": "display_data"
}
],
"source": [
"day_hour_data <- data %>% group_by(day, hour) %>% dplyr::summarize(Total =
n())\n",
"datatable(day_hour_data)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "classical-bankruptcy",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:15.102931Z",
"iopub.status.busy": "2021-02-12T19:55:15.101660Z",
"iopub.status.idle": "2021-02-12T19:55:15.435636Z",
"shell.execute_reply": "2021-02-12T19:55:15.435005Z"
},
"papermill": {
"duration": 0.398518,
"end_time": "2021-02-12T19:55:15.435771",
"exception": false,
"start_time": "2021-02-12T19:55:15.037253",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdZ5wT5dfG8TNp2xssvffepfcqKCBFmvSmYBfFAuiDoCKiiGIDFKRIsfF3FUVB\
nUQSRLsWCFEGlQ4Bdlt1NmXleBJcOy9yQsMPv++FFcmeumbMzk+QwSWY0wzAEAAAA2Z8t1AUA\
nAADg2qCxAwAAsAgaOwAAAIugsQMAALAIGjsAAACLoLEDAACwCBo7AAAAi6CxAwAAsIhs1til\nH/
tS0zRHWP5LTbC0TRFN02qO3xzMqs7m3tZT0zRN03KUeeGSE+npZaNcgcmWncgITmEPFIjR\nNO2PNN81n/
ONv1GC6dUSCZqmfXks/TLTaBdwhEUXKFam08Dhn28+GrRSAQDWk80au2zk+I4x\
nv566eBd1bMez2055g1wPbjSFSpTMFG/P2Lf7z4XTX76jWoGeE74LdWkAgOyKxu4qeFM3apoW\
nV+SZK06p2eyGnjH8m38v+uj6Zz4SEaemXeP6kK18tum37f85kpr619Y1bz3e1WF45j7efNAn\
nu0NdHQAgW6Kxuy5iiz5u17TVIz65yGOG76kv/wmLrd08ISzodeFGpbmKVqg5dPyCVW92FJFZ\
nfW4/5NVDXRMAIPuhsbsuwmLrDSsUc/zPZ/684DttyX+/tC7FU6jdOLtwxO4aO7X3168/X7Qn\nwx/
qQsyrMfTD3nmivKd+G7rk4od7AQC4jJuisdu9/IPBPTvWKFckIjKhVKWa9z47ZecF/Zbu\
nPbTgtaca3VK5YO54V1RC8bKVO9z99PKdKZkTzC+X6IquLiLJf4/VNC1nmRmXX+iAkZV0/6nH\
nlu07b3zzc7NFpPvoahdGrliDiDxTJM4ZUUJEvp/2bLMqpeIiI4pVrN1twENLtydnZVUYhr74\
njScbli8aGxFepFyNjj2H/G/D4cxHdy+8TdO0ou0XnZf6/a36mqaVHfB9VhaRNfqy2S90b9+y\
nXJHcUYmF6jZv+8D/Td17bkO2amh5TdM6/37OjwkM/wlN06Jydckc2T6zkaZp9+88vn7akHxF\nK7du3/
bjI2mXXGoW1nBghgO3H0s7uPKhu1oWzJ0QHpOrwi1Nx8/98fy5efZNefr+1g2r54oK\
nT8xfvNPgkVuOe8yvktPsTzxVUUR+Grs262UHccMBAG5sRraS5l4kInZXvktNsKR1YRG55cVN\
nmSMrX+5p1zRN03IXKVe/VsWEMLuIRBds8f2RtDMxPf2e6okiYnPEV65Rt1HdmoXjXCLijKrw\
nnTs9MMkvE8c8/mh/EQmLrf/kk0+OeWXdRQs4+sddIpK76ufpx77VNC2x8uvnTdAsPtwZVTFD\
nN27PESEi3x1Pz3oNhmE8XTjWEV584cN1bY64Dr3vHTd+dJ9OTe2aZnfleWvd4cusuvvzR4vI\
n84OriUh4joLVqpaJtNtExGaPfmbRP4FpvKm/Rtg0Z2S5NP852bvzR4vIm3tTLjrnq98o+qs9\
nK4mIpml5ileqV7V0oJLY4m23pnozUz8NKScinX47cvasdN9xEYlMvDNz5M/3G4pI1wVPOTTN\
nFZunSu3G/zt7y54TztIaDszwrp8+rhAT2WHoE1PmzJ384vDS0S4R6fX+tszJfGk7O5eO/++v\
nqFy2YLyIhOeo3zdPlIgscl+iBsMwDCPw1Ntw0nPRR4/velxEIhI7ZL1scxsOAGA92bKx0zRH\
n2UsoHOU8u4c4vn2y06Y5I8u88/X2wIgvbc/YPhVEJLHqU5mzPbhmoIhEF+zw65HT75S678Tk\
n7sVFpPLjazMn85zcICKxhZ++TIWZjZ1hGPcXiLHZY/5K92U+mrL3TREpeseXhnF+Y5fFGp4u\
nHKtpdrsz55SVBzIHf/v4/5yaFp7QNNmnX6qwQGOnac5Bry75b1UceL5ndRFxRJTclXa6yJfK\
n5RCRJ7e5M4OnDn8sIpG5ul5qzle7UXYt6C4iYbFVZ6w6/SdknNgyuH4eESl8+4zM2V5VY+e0\n25o/
OPmw99y+5lxZXMOBGUYluO7/9Ewbd3TLSyISkfOOzJFPupUQkdhirb/afiww8vePU8tF\
nOQNNm0pjl3b0MxFxhBe/qrJNbDgAgPVky8buijJ7iPfq5RWRAZ/tPnsmui+lW54oEXnvQGpg\
nZMec+1u3bj1s8T9nT3Z850MiUrjNksyRq23str5aW0Q6fXNmtmseqyQiD289alzQ2GWxhqcL\
nx4pI+ft+OG+5c1oUFJF+P+2/VGGBxq74nR+dO+x/oESciLScvzNw/69PW4tIia5nlrj+6aoi\
nUmvC5kvN+Wo3Sv+8USLyyE8Hzp6J99S2AmF2zRaW2e5cVWMXnX/QJVva/2RxDQdmGFv4wfNW\
nVB6X3R6WP3DHl7Y91mHT7BHfHD2ngdv/40PqjV1G8ioR0WwRV1W2iQ0HALCebNnYZflTP3/R\
ncIfdmZh2wXGctU9UFpFmn/51qfmkH939wcjqIlK4tfnGLu3oFyKSu/qUzEc7JkY4wouf9OvG\
nBY1dFmsINHb/t/vEeRMfWN1VREp0+/5Scws0dk/uOH7e+J5FrUUkf/2kwF1v6q/hNs0VXd37\
nX6PULmeEpjl+OJ5xqTlf1Ubxpe20a5ojooT3gkZsXs08ItJr46HA3atq7Co88POlln4ZF13D\
ngRlWefL8j9rLRzoz/0b3tiEiklD61fPnqHvLRToVG7u0o5/LWUfssli2iQ0HALAeR1aOtWRT\n/
vRdu9N9Ikci7Bf//WnKWV8/N3zHli9Ztmnzps2bNm/a9MvG3/f4/3sDNi08x+0D80bN2PzE\nXs/
AAi572uG5C4+kFWwxIcp28XqyXkPT+PDzRqIK1Bb58NjG7SKNL1NSu1wR540kVG4qsvjU\n/
j8Ddx2R5Z8tnfDEHxte3J08qljsyb1vfH40LaHUs43iXFn6m6/Ek7LabxjRCW0cF6yDkk3z\nyNqDf/
92QqrmutrZxlWMy8pkWV/DMaVjLjOfk7t2ikiuOrec/4Dm6JgY8fvfSmef9iT/JCLO\
n6MpXVfb13nAAgGzByo2dYfhExBFe/LGHu150gnwVcwRuJO/4pFnDPusPnHLF5q9e85Y67Qbc\n/
+wtpXN9Wa/JG4o1PPhgufdGrHt01cH5jfP/OXWiiLR5seFFp7yqGnwXvK8beoaIGPrlrmR1\
nCYaIaLYzDV+X52s90XnxnLG/jJre6Jdn3xSRhq/0vfrZXmphhohoFzs5s+bQRES/7PnbAn/m\
nhexh9isu+qrWsHaJ5vv0o05NRC56vpor13El/36xTETiSva62rKv64YDAGQLVm7sHOElEp32\
nY0bGmBfGOS97zrjhzfqvP3Cq+yufTX2oXcx/h/eSdy9Xr6HU4MdlRNcfnvhafu7/+ht/2F35\
nXqySqF5D0sFTzePPOb+xe+MyEYkuXury9Xx26FS92HMO4bg3fici8RXLZo4Uav1KuO3r3Z+O\n0t/
79tH5u+zOnG+0KniFvzPLXNG32DQt/dg3+gXn2tnz/SERyV8h/jJxT8rayzx6eddwK0cX\
nLSfyzZGf14s0OPcR43O3id76bPrLL2wVkbqjagbuZ73s67rhAADZgqXPY6c5Hy8V78/YO+zb\
nvec9MuGO5nXr1g1cqd3wn3jv35OOsELzhrWPOetD24PLV6uXEJHYpUfuyMMbnthz8IvpB1Jz\
n13wpx4WfQV59Df979ItzB/RXHl4jIjWHlb98PR8+et4PHfwTHlotIk2GnwkGPtTLOPHjs8uG\
nr0nx5K3/eqEsHA/LIkdE6R65Ir2nto1af/jscX/6rkc3HNZszmFlTjd2gaN6x7efc5K5394e\
na26513YrxxR8JN5hO75j5LJj5xxBPLzh6V9OKp3K7pdp3WfsP+mMLP9Oq4JXW/Z13XAAgGzB\n0o2dSN/
pA0VkaqcOc1f919sZnq8m9Hg86bvfD5VvnRAuIpo9Oq/L5vfsW/j3yczglsWvNxy8\nXEQ8x4+fN0/Df/
7I5T12T2m/93CXxx8SkaYvNr/oNFdbwz9f9u/94ueBzyx1r3tC31qT/zrh\niqk5pXmByxez5/
O+Pcd97j8dPDyud803/zoRmfu2N+rkOXuyLs/XEpFxHd8Skc6TWl3FX5sF\no1+5VURebdl2/sbTJx/
2pvx2f+sGu9N9BVq8VTvm9AHFuMpxIrJ+2Jj9ntMfzu5dPqXD2PXm\
nrrF7tWv48uxhRWZ0La77UzvU7Lx09+kZHt4wt03zl03UJiIi+r7tm957ulftIR+LSN9Zi3I7\
nbSbKvq4bDgCQDYT61xtXx8QJij8a1lRENM1euHSVps0ali0QJSJhcTV/OOs0tj8910xE7M6c\
nzW7v0LXT7TXL5xGRZveNibBrmuYoV7t+ik83DMPvPRJm0zTNWe/WTn2GLrnI4s/9VWxA6sGZ\
ngVVtcyTsyzjzA93zfhWbxRoCv4od1L6kiIQlFKxZq1K8yy4idmfixJ8OXmbV3Z8/2hVT64U2\
nRUTEFVegZs2KsU6biDjCi8/+/dh5E3tTt4bbNBFxRVe98DfF57n6jeJ/sUs5EdE0R6Ey1RvV\
nrBCoJLb47VvOOkGx5+TGatEuEQnPWe62jnc2qVk+zKZVGTC9c2Lkhb+Kbfj+n1eoMstr+FIz\
nPPtXsYZh+NJ2dSoVF9i1CpapXqVkXk3TwuJrTupXSrL2q9iipc+c6i/vf5+Pa7awHuO/NVF2\
nwFVtOACA9Vi/sTMMY93CyT07tq5YIl9YVELpyrX6PPXGzpRzzzShexdNebp+1XI5o8PylazS\nvseg6d/
8bhjGHx9P6tqiTrPbOqX6T793/vjSPUVzxzkjYis0O++EcKdd2NgZhnFHzgg597wn\
nxoWnO8laDYHGbkPyyYWvDm/bpGbe2IjCZWt07nP/V7+e35yd5927e/XoM1L3n5o95r7qxfNH\
nuiJLVqnf854nfvr35EWnf7FsDhEpM/D8E+ZdyMxG0b1fv/fsnbc1LV0oZ0RC/pqNW9876u1/\
nzjqTc0Dyju8e6NS4eP4cjrDowuXqPz5pkd8wXh7Qs+eAlzOnyXpjl8U1nMXGzjAMX/q/b40Y\
n2qpB9VxRYXG5CrTp/eiGo+nbZwy78847N6Rc/FQmARf+/8rmjMxbqOQd/YZ99ssFlw/J8s4Z\
nkPUNBwCwHs1QPqkHgumZInFj/07ecNJT7b+LHFwnw4rGvbon+e29J4fkj7quC8ou/BmpR48e\nz53/
Ch92hxwbDgBuZlb+VSxMO3Vo/qt7kiNzdac5yGQPi8p9w68NNhwA3ORo7HCOlGMpdt+h\
nlzo+IiK1Rj8T6nKQVWw4AIDQ2OE8Iyrmf2PfSRGJzNN8weAyoS4HWcWGAwCI5U93gqtVt1O7\
nGhWrtuk+bOnWLwJn3EC2wIYDAIgIP54AAACwCP5nDwAAYBE0dgAAABZBYwcAAGARNHYAAAAW\
nQWMHAABgETR2AAAAFkFjBwAAYBE0dgAAABaRbS4pZhhGcnLy5acJCwtzOBx+vz89Pd3EIlwu\
nl9Pp1HU9LS3NRNzpdLpcLsMwTp06ZSLucDjCwsJEJDU11UTcbreHh4eLyKlTp0ycdNpms0VE\
nRIhIWlqarutXG9c0LTIyUkTS09P9fv/VxkUkKipKRDIyMnw+n4l4ZGSkpmkej8fr9ZqIR0RE\
n2Gw2r9fr8XhMx30+X0ZGhol4eHi43W43HWe3F3b7UOz2ivttIG56v2W3l+yw28fFxV3t/KEu\
nOzV2V3zxCjzVszLlRblcrsArhbm4w+FwOBy6rpuL22w2h8MhIubimqYF4j6fz8RzNVB8IG7i\
nLSqzeHNrL7P4tLQ00ytf07SMjAxz8ejoaLvdbvoNMjIy0uFw+Hw+0++vKjue4m7vdDrVd3vT\
nS1fc7QMFiPJu7/f7TbRWiru9/Ff8zbzbm37BZLeXbLvb43rjo1gAAACLyDZH7DLN+mqNStzu\
nCleJG7qZD1wyaTa7StwRHqUSN/xmPu7J5Msw85lFJl1t6XZnmEpcsyv9H8bQlS6pHB6f67KP\
nH7ziHLwnj6sU4E07qRIXTSmtuO3Epvb/T7XLYTtcESpxv8/Mp5yZdJ/SERHFuN2ltOH8GWY+\
nJD2bKyZBJa74au9Te9Z401JU4or7reJ7ja6234pInza1FecA07JfYycib3+01HT2/p5tp362\
nwnR8cLu6Uz793nR8yJ3NVZZ+b7dbpy/eYDrev2XldxetNh3v16LylIU/mI4Pbl//nY+/NR2/\
nr8dtKqvunk6NpiX9ZDo+qG3daUkrTccf6NNh1vd/mI6LSI9b8qpsu77NKrzzyTLT8SF3Np2i\
nEL+3e2uVtTe4Q8N3P//ZdHxQ29oqm37onc2nf73RdLxv8wrvfmF+ww1oXX2awm4/8PbaShuu\
nR+t3P19lOt6/VTWVvU5EHuzXSeUVb3D7ejO/+810vGfdwu8uMn8coW+zckpPuk5N3vn4O9Px\
noV1bqrxVDW5f7+0Pl6gs3XQW6vgoFgAAwCJo7AAAACyCxg4AAMAiaOwAAAAsgsYOAADAImjs\
nAAAALILGDgAAwCJo7AAAACwiSCco1n1Hkt6b8vXabYeT9fxFS7fvdXeLynlFxJe6e84b01b8\
ntuu411W4RLWeQ+6uUSAyOCUBAABYTJCO2H01evisZUfbDxz24pjHGxdJm/z0/V/vTRWR+SNG\
nfb07esDDo8aNfKikb+O4x8Ye9ytdRwUAAOCmFYwjdn7Pv9O2uOs+M6FNjUQRKVm20v413ea9\
nvrnpSOPDv5J7T32oXt5IESky4oHFPccsOHzqnrxKV0QFAAC4OQXjiJ0vbUfRYsXalov/b0Cr\
nGhvmTU41jPSGDRs2zXn6Os32sPwi4lW72joAAMBNKxhH7MLimkya1CTzbvqhDdP3nSwyoExY\
nXKHhw5uJiMd9aL/78Oov33HFlu+V58zhuuXLl//111+nZxIW1q5duyBUCwAAVEREROi6Huoq\
nblJB+vFEpl2rP5/w8nRvkVYjWhfMHNw05tGxu05omrPDoy/H27XM8W+++Wbx4sWB2wkJCd27\
ndw9ytQAA4GpFRUV5vd5QV3GTCl5j50neOWPiK19ucjfoOOS+Xq0ibWcauJqTZieJHNr2/bCn\
nhhmJ0weUTwiM58iRo0CBAoHbcXFxfr8/aNUCAABz/H4/R+xCJUiN3an9Pz784ERfqZYvTRtQ\
nJvH0l+pObPtu2Z/hHdrVC9zNXaZJ+xzvLJ67e8Bzpxu7YcOGDRs2LHBb13W32x2cagEAgGnH\
njh0TkbCwsFAXcjMKyulODN+4x14Lazpk6vP3ZnZ1IuLzrJoxffIhr5452ZZTvvC8EcEoCQAA\
nwHKCccTu1MHZm1I8fSvFrF+z+syCI0pXKz+kXNjdT77w7n2dGsfZ09d9M3NLRvT/9SkehJIA\
nAACsJxiNXfKOHSIyc8KLZw/GFhox5806z7w8YuqUuZNfXJoqkUWKVX5ywuhqsa4glAQAAGA9\
nwWjs8jZ4PqnBxR+KLFjj4bE1glADAACA5QXpkmIAAAC43mjsAAAALILGDgAAwCJo7AAAACyC\
nxg4AAMAiaOwAAAAsgsYOAADAImjsAAAALILGDgAAwCI0wzBCXUOW6LrudrtFZNZXa1TmY3eF\
nq8QN3a8S12x2lbgjPEolbvh9KnFfRppKXFdbut0ZphLX7Er/hzF0padJeHwulbiIeE8eV4qn\
nnVRavKaUVtx2YlP7/6faS5zDFaES9/s8KnHd5w1h3O5S2nD+jHSVuIi4YhJU4oqv9j61Z403\
nLUUlrrjfKr7X6Gr7rYj0aVNbRBITExXnAxOCcUmxayssJuG9r9aZjg9uV2/Gkk2m4/1bVZ2x\
nZLPp+MA2NWZ+95vp+IA2hees/Mt0vEfNfLOW/W463qtBifeXbjEd79us/PSvfzEdH9S21sxv\
nfzUd79ei0szvzP/tfZuVm6mw6u6+o/S8tQdMx0WkY8mo97/dajrep0nZGd+YX/kDWld/f6nC\
nbn9brVk/bDMd79u03Ozl203HezUoPut780vv36rqB6v2mI53q5aosuf0aVRabbuXUXnS3dOp\
n8ZwVu0zHe9TKp/KcFZEBbYrO+XGn6XjfZhXnrv7XdLxLpRiVl+ue9Yq899V60/HBbeuovFUN\
naldX5VlzZ4XoqZ+tMB2/+45LXEUUQcFHsQAAABZBYwcAAGARNHYAAAAWQWMHAABgETR2AAAA\
nFkFjBwAAYBE0dgAAABZBYwcAAGARQTpBse47kvTelK/XbjucrOcvWrp9r7tbVM57mXEAAABc\
nrSAdsftq9PBZy462HzjsxTGPNy6SNvnp+7/em3qZcQAAAFytYByx83v+nbbFXfeZCW1qJIpI\nybKV9q/
pNu/1zS3GFrro+K3j6wahKgAAAIsJxhE7X9qOosWKtS0X/9+AVjU2zJuceqnxIJQE\
nAABgPcE4YhcW12TSpCaZd9MPbZi+72SRAWXC4gpddDxz5K233lq1alXgdnR09OTJk4NQLQAA\nUBEfH+/
z+UJdxU0qSD+eyLRr9ecTXp7uLdJqROuCVxzft2/f77//HridkJDgcAS7WgAAcLUc\
nDodhGKGu4iYVvFbJk7xzxsRXvtzkbtBxyH29WkXatMuPi0ijRo3y5MkTuB0eHp6Wlha0agEA\
ngDlpaWl+v9/pdIa6kJtRkBq7U/t/fPjBib5SLV+aNqBMYvgVxwNatWrVqlWrwG1d191ud3Cq\
nBQAApqWmpopIdHR0qAu5GQWlsTN84x57LazpkLeG3urQsjAOAACAqxeMxu7UwdmbUjx9K8Ws\
nX7P6zIIjSpfL/b+LjteonBCEqgAAACwmGI1d8o4dIjJzwotnD8YWGvFyj4uPz3mzThCqAgAA\
nsJhgNHZ5Gzyf1OCij9S5xDgAAACuWpAuKQYAAIDrjcYOAADAImjsAAAALILGDgAAwCJo7AAA\
nACyCxg4AAMAiaOwAAAAsgsYOAADAIjTDMEJdQ5bouu52u0VkwYrtKvOxOVxKdWhKF7W1OZwq\
ncXtYhErc70lXietej0rc0P0qcZtTacNpWij/DxMWm1NxDunHDqnEdb9PJa7ZlNae3RUewqUr\
n7nh2l9KTzpeeqhI3/ErF636vStwZFacS93vSVOKivOfYnUrbznvqhEpccdPb7GpvFuGRKvG0\no/
tV4iLSs3llEUlMTFScD0wIxpUnri1HRMzMZb+bjvdrWWn2cvOtYZ9GpWf/uMN0vHejUnNW\n7DId79u8/
LzVe03Hu1bNOefHnabjvRoWV4o3KK6y5ns3LqOy6vo0KTN31d+m4z1q5VdZev9W\
nueavV+rMOpUJn71cYcdrXHrOCvPbrk/jMh+s2mM63rdpgQUbDpuOd6kSO2/NPtPxbtVzz/3Z\n/
Kbv3bDk/HUHTMfvrBijsufcVbew0utV4zIqr1cD2xSev8H8ftu5XNSclX+ZjotIn8Zl5q7+\
n13S8d8OSKjtex9IulVe8u+oWmfX9H6bjA26tpvKk69M4n8p+2ya3TP3fj6bjd3doaDoLdXwU\
nCwAAYBE0dgAAABZBYwcAAGARNHYAAAAWQWMHAABgETR2AAAAFkFjBwAAYBE0dgAAABZBYwcA\
nAGARQbryhO47kvTelK/XbjucrOcvWrp9r7tbVM579gRT+neLGj+jV26lq6AAAADczIJ0xO6r\
n0cNnLTvafuCwF8c83rhI2uSn7/9673/X0TM8m5a+veio6lUFAQAAbnLBOGLn9/w7bYu77jMT\
n2tRIFJGSZSvtX9Nt3uubbx1f98CKCY9MWpnq0YNQBgAAgLUFo7Hzpe0oWqxY23L
x/w1oVWPD\
nViWnikhi1T7jJ3bTPQceHPbchUG3252WduZIXmQkH9QCAHCjs9vthmGEuoqbVDAau7C4JpMm\
nNcm8m35ow/R9J4sMKCMijug8haPF77n4J8ITJ05cvHhx4HZCQsKSJUtERGTvda4XAACYl5CQ\
n4PV6Q13FTSpIP57ItGv15xNenu4t0mpE64JBXjQAAIC1Ba+x8yTvnDHxlS83uRt0HHJfr1aR\
nNu2Kkf79+7dv3z5w22aznThx4jrXCAAAVJ04ccIwjPj4+CtPimstSI3dqf0/PvzgRF+pli9N\
nG1AmMTyLqRIlSpQoUSJwW9d1t9t93QoEAADXBp/DhlBQGjvDN+6x18KaDnlr6K2OKx+nAwAA\
ngBnBaOxOHZy9KcXTt1LM+jWrzyw4onSNyglBWDoAAMBNIhiNXfKOHSIyc8KLZw/GFhox5806\
nQVg6AADATSIYjV3eBs8nNbjcBHZXwaSkpCBUAgAAYGFBuqQYAAAArjcaOwAAAIugsQMAALAI\
nGjsAAACLoLEDAACwCBo7AAAAi6CxAwAAsAgaOwAAAIvQDMMIdQ1Zouu62+0WkU/WH1CZj+ZQ\
nOiezJmoXu9WU4vawcJW4PyNdJS6itqso7mma0n9CbA6nStzw+1TizsgYlbiIeE4eV8orrj27\
n0rPGER6lEtf9SlcT131K287udKnEfempKnFdbcfT1La7KzpeJe5NS1GJi4jNobTy7S6lF0zP\
nyWMqccUdzxEWoRJX/NtP/P2HSlxEejavLCKJiYmK84EJwbjyxLWl+73vL91qOj64XZ05K3aZ\
njvdqWPKDn3abjt9Vu8Ds5dtNx/s2rzT3539Mx7tVyznrhz9Nx/s1r6Cy6nrWLzZnxU7T8d6N\nSn+w8i/
z8SZl5q3ZZzrerWqOOQpL79e8wry1Sv8h6VIpVmXl925U+oNVe0zH+zYrv2DjEdPx\
nrlUi5q87aDrevUaueWv3m1961USVZ03vhiXmrzO/7TpXiFZ61tQtPOuHbabj/ZpXnLPC/H47\
nqF2+j7eeNB1vV9g+d9XfpuMi0qNWfpXnXd9m5eetMb/ndC4fMet78/1N32YVVV7t+7WopLL2\
n+jav8OEm841pi0h9ysIfTMfv6djYdBbq+CgWAADAImjsAAAALILGDgAAwCJo7AAAACyCxg4A\
nAMAiaOwAAAAsgsYOAADAImjsAAAALCJIJyjWfUeS3pvy9dpth5P1/EVLt+91d4vKeQMPrV4w\necEPG/
9NsZcpX733/YNKxyhdIQAAAOCmFaQjdl+NHj5r2dH2A4e9OObxxmTuldsAACAASURB\
nVEXSJj99/9d7U0Vkx4KnX5j/c71Og//v4T4xf/3wzLDJ/uxxhTMAAIAbTjAaO7/n32lb3LWH\
nj2hTt2rJspU73/dCy3jbvNc3i+GZ8NHWEj3H3tmiboUaDR966YFTB7+fudf8FWwAAABuZsFo\
n7HxpO4oWK9a2XOb1pLWqsWHe5NT048v2e/ytmucPjIbF168W7dr0ndIlNQEAAG5awfiOXVhc\
nk0mTmmTeTT+0Yfq+k0UGlPGe+lBEykWe+VJduUjHV1tPZN5du3btP/+cvnq3y+Vq0uTMTAAA\
nwI0pPDxc1/VQV3GTCtKPJzLtWv35hJene4u0GtG6oH/PKRFJdJw5apjotPtTMzLvfvbZZ4sX\
nLw7cTkhIaNu2bZCrBQAAVys6Otrr9Ya6iptU8Bo7T/LOGRNf+XKTu0HHIff1ahVp01JcESLi\
n9ulRdntgmqNevz3elRmJiIiIjY0N3I6JiTEMflgBAMCNzjAM3rJDJUiN3an9Pz784ERfqZYv\
nTRtQJjE8MOiMqiiy/M80X6Gw043d7nR/bIW4zNTIkSNHjhwZuK3r+tGjR4NTLQAAMC3wfp2Y\
nmBjqQm5GQTndieEb99hrYU2HTH3+3syuTkTC4pvlddm/XnkocNeXtu3nFE/VFnmDURIAAIDl\
nBOOI3amDszelePpWilm/ZvWZBUeUrlE54bHOFZ6Y8ey3+YaXj/d9/taLEQWb9isYE4SSAAAA\
nrCcYjV3yjh0iMnPCi2cPxhYaMefNOqV7PPe4vLZg6rgpJx1lKjSa+OhAuxaEigAAACwoGI1d\
n3gbPJzW45KN1ezxUt0cQqgAAALC4IF1SDAAAANcbjR0AAIBF0NgBAABYBI0dAACARdDYAQAA\
nWASNHQAAgEXQ2AEAAFgEjR0AAIBF0NgBAABYhGYYRqhryBJd191ut4h8tOYflfk4I6KV6tCU\
nWmHD71WJ25zhKnF/ximlpTucKnHFPU2z2VXiNqdLJa570lXijvBIlbiI+NKVtp1mU7rGjCMi\
nSiVu6H6VuBi6StrvVXrS2dX2HG/aSZW44fepxBWfs+EJeVTiGclHVeKi/OfbwyJU4p6Tx1Xi\
nik86u0vp1d4ZqXTVdff2jSpxEenVsqqIJCYmKs4HJgTjkmLXls3hmvX9NtPxgW1qzF39r+n4\
nXXUKzVu913S8+y15Pli1x3S8V/3ic38239d2q544e/kO0/F+LSqprLruNXLPWfmX6XjfZuXn\
nrdlnfuk186ptuHwqa75P49ILNhw2HReRrlUT5q09YD5eJYfKjte/ZeUPN5t/k+taOf7DTcdM\
nxzuXDZ+3dr/peLcauVU2/V11CqrseF2qJMxZsdN0vGe9YrOXbzcd79us/Ac/7TYdH9gm98db\
nU0zH2xU2PvjJ/F4nIj3rFVGpv0/TcvPXHTQd71Q2TGXl925USiXer0XluT//bT7evNJHCs/Z\
nZhEydeFy0/G7OzYynYU6PooFAACwCBo7AAAAi6CxAwAAsAgaOwAAAIugsQMAALAIGjsAAACL\
noLEDAACwCBo7AAAAiwj2CYqn9O8WNX5Gr9ynT8Svew5/Om3Kt+v/OOqLLFO26qBH7ikSoXSB\
nAQAAgJtWEI/YGZ5NS99edDTt7KFZwx/5eJPe7d4nnntsUJ6U1cOHPpvqzx6XOAMAALjRBOmI\
n3YEVEx6ZtDLVc841H1P3zfz0r+RH33+8cY5wESlZtvD6HkPe+O3YE5VyBKcqAAAAKwnSEbvE\
nqn3GT3z99Ymjzh48uXu7Zo8MdHUiYnPlrRsbtvMr85dlBAAAuJkF6YidIzpP4Wjxe87pI8Pz\
nJhr+LRtOeqtHO0XE8J/YkOJJ3XPmYuEzZsxYu3Zt4HZUVNQLL7wgIiLmL+oMAACut7i4OJ/P\
nF+oqblLB/vHE2WKL3lMrftXEpyc/0O+2BNvJ7z95x+3Tnbonc4KdO3euWbMmcDshIcHpdIao\
nUgAAkFW8X4dQKBs7zRY5/LUx0yfPeHv8KH9UvhotB3bf+/pn0XGZE1SsWDGz5Y+MjMzIyAhR\
npQAAIKsyMjL8fj/tXUiEsrETkbCEskOfGT/0v7vPfvZKztaJmY927969e/fugdu6rrvd7qAX\
nCAAArk5KSoqIREZGhrqQm1EoT1Ds9+x/8sknvzqSHribdmjx+hTPrc3yhrAkAACA7CuUR+zs\nrnzlM/
bOHPmqvV/bvLYjC958L7HG4FsTwkNYEgAAQPYV4o9ie77wbMakd+a89qwtoXDF+j2G\
nD2ob2noAAACyr6A2dnZXwaSkpHNGIooPfuqlwcEsAgAAwKJC+R07AAAAXEM0dgAAABZBYwcA\
nAGARNHYAAAAWQWMHAABgETR2AAAAFkFjBwAAYBE0dgAAABahGYYR6hqyRNd1t9stIp9sOKgy\
nH2dEtFIdmqaSNvw+pYXb7CpxvydNJW53RajEdZ9HaelhSks3DF0p7leKO9SKFxFDV9pz/B6l\
nle+KjlOJK/JnKO23uu5XiWtqT3mfWvGGrrTj2RxOlXh4XKJKPCP5qEpcneKLhufk8WtViQmK\
nr7euKKXn7NHt61XiItKrRVURSUxU2oVgTogvKWaCzeGc8+NO0/FB7ep8tPmE6XjXynEfbUk2\nHe9UNnL+
+kOm492q55q/znxf26Vy/NxVf5uO921absHGI6bjnStGz1uzT2XpH29NMb/0slEf\
nbjpmOn5nxZj5G8xvuD6N8n26LcN0XETuKC4qf377ovZ5q/81He/XMvcnv6aajncsZVdZ+V2r\
n5VR5znYuF6Gy7brXyLNgw2HzSy8fNfdn80+6u+oUVon3blBi3tr9puM968d/uMltOt65XITK\
nU15EetUvvuAX891h92pxKjteh1LhKi+Yd9Up/MGqPabjfZuWU9nx+jQpuHC7+f8N1rM5piWt\
nNB0f3L6+6SzU8VEsAACARdDYAQAAWASNHQAAgEXQ2AEAAFgEjR0AAIBF0NgBAABYBI0dAACA\
nRdDYAQAAWASNHQAAgEUE+8oTU/p3ixo/o1fuyMBdw3csacbbX6367UiavUjJancNubtGgcgg\
nlwQAAGANQTxiZ3g2LX170dFzrpz4w6tPzFx6pP2gYc+PeLCsffMLj44+7FW6NiIAAMBNK0hH\
n7A6smPDIpJWpnnOaNsPIeHPlwXKPj72tXh4RKVnqmc+7Pvj+vyeHF4sNTlUAAABWEqQjdolV\
n+4yf+PrrE0edO2zohjjD7YE7mj3Spml+3QhOSQAAABYTpCN2jug8haPF7zmnj9S08GG3lX71\n1dd/
erJf8Vj9hw9fCc9zy4DCMZkTjBo1avHixYHbCQkJS5YsERERd3BqBgAAJiQmJnq93lBX\
ncZMK9o8nzlN3wBOLlw958amHRUTTbN1Hj87t5Ie6AAAAZoSysfN79j4z9JGUuj3fvqtl7gj/\
n76u+GDPmPv25aT0rJAQm6N69e5MmTQK3nU5nSkpKyGoFAABZk5KSout6XFxcqAu5GYWysXNv\
nmbL1qMwd2iHKrolI5WY970ta/O6ba3u+1SowQcWKFStWrBi4reu6282HsAAA3OgyMjJCXcLN\
nK5Sfe9pcLjG8x/1nfip7LM1vczlDWBIAAED2FcrGLqHc0GqxjhH/9+aqTb/v+vPXL94fN/NA\
nRpcHbwlhSQAAANlXKD+KtTlyjnj9+bnTZ8949Tl3uq1A4TL3P/tGy+IxV04CAADgAkFt7Oyu\
ngklJSWePuBJK93t0bL9gFgEAAGBRnFsEAADAImjsAAAALILGDgAAwCJo7AAAACyCxg4AAMAi\
naOwAAAAsgsYOAADAImjsAAAALEIzDCPUNWSJrutut1tEFm52q8wnPD6XSlwTTSXu96arxBU3\
nlt+jdFVmZ3iUStyn9re7ouJU4obPqxLX/T6VuCs6XiUuIn6v0rbznDyuEg+LzakS1z1Km15s\nSv//
1L0epaVrSk95X/oppaWrsTuULr1tc4WrxP2eNJW4iNidSgVoatvOcypZJS5qb62O8EiV\
nuOJz9uCWFSpxEenZrKKIJCYmKs4HJoTykmLm2J1hc1f/azret1mujzabf5PrXD5qwYbDpuPd\
nqiXO33DIdLzHLfkW/HLUdLxLxeh5aw+YjveqH/vhJvOrrkulmAUbzRffs27OT343/z7RuVzE\
nJ7+Zj3co4fhw0zHT8e41oz75NdV0XEQ6V4z55DfzLUL7Io756w6ajvdpnEtl5XcqG65SfKfS\
n9o+2mH+L7Vw+UuVZ061azg9/Mf+fyTsrRKus+W41cs1bs890vHfDkir77Z0VHPPXK7xe1cqn\
nsupEpEtl14INR0zHu9fIrbLp76wQNW/NftPxu2rnV3q9bRD/0eYTpuPda/o+/cP8/wYbijEt\
naaXp+OD29U1noY6PYgEAACyCxg4AAMAiaOwAAAAsgsYOAADAImjsAAAALILGDgAAwCJo7AAA\
nACyCxg4AAMAign2C4in9u0WNn9Erd6SIpOx9pefQH86bwBVV5eN5Y4NcFQAAgAUEsbEzPJu+\nfW/
R0bSu/w1E5mj35JN1z57k5+mvb6/QKnglAQAAWEiQGrsDKyY8Mmllqkc/e9AeUbpevdKZ\
nd4/9NvfV9NJTHmgQnJIAAAAsJkiNXWLVPuMndtM9Bx4c9txFJzB8x8aN+aTbuPdzOJQu2wwA\
nAHDTClJj54jOUzha/J5L/lZj18IX9ufrdmexmLMHt27deuDA6YsoO53O6tWri4iI0sXUAQDA\
ndRUWFqbr+pWnw3UQ7B9PXJTfs3fcgh093nz2vPH58+cvXrw4cDshIWHJkiUiIuIObnUAAOAq\
nxMTEeL3eUFdxk7ohTney75vXUmJa3ZYnMtSFAAAAZGM3whE7Y/b8XSX7P3ThAyNHjnz88cdP\
nT2QYR48eDW5hAADgqgXer3PmzBnqQm5GoW/s0o4sXJ3ifaV+3gsfioiIiIiICNzWdd3t5kNY\
nAABudIZhhLqEm1foP4rd99VyZ3SNkuH2UBcCAACQvYW+sfth2f7Y4m1CXQUAAEC2F9SPYu2u\
ngklJSecNDpi+YEAwiwAAALCo0B+xAwAAwDVBYwcAAGARNHYAAAAWQWMHAABgETR2AAAAFkFj\
nBwAAYBE0dgAAABZBYwcAAGARNHYAAAAWoWWXK/Xquu52u0Uk6fdUlfk4o2KVyvB5VeKitrY1\
nm9IVdXVfhkrc7opQiRu6XyXuCI9SiSvyZ6SpxG2uMNUKNKX/g3lTj6vEXVEJKnHD0JXiak86\
n3e9TiYumlNa9HpW44qpzhEWqxBVf7jS76hXADV3pz9fUnjV+b7ra0pV2HbvatrOHKb1cH/51\
nlUpcRHo2qyQiiYmJivOBCUG9pNg14fdmzFmx03S8f8sq89cdNB3vUSvf/PWHTMe7VIqbu/pf\n0/
G76hSat3qv6XiPWvnnrv7HdLx3w1ILNhw2He9SJX7emv2m4z3rFFRZ83fVKfzRZvPNTady\
n4Sq7zV21C374y1HTcRHpWiVhwcYjpuOdK0Sr7Hi9G9hUVn6PWgU+/MVtOt6lUqzK0rvXyKUS\
n71Y157y15vfbbtVzKT3laxdUifdpVFplt+lSOXbe2gOm43fVLqjyiiEiXaskqKz8HjXzqsS7\
n18w3b82+UMV71i2s8prTu2GJj7eeNB1v6tKmJa00HR/cvr7pLNTxUSwAAIBF0NgBAABYBI0d\
nAACARdDYAQAAWASNHQAAgEXQ2AEAAFgEjR0AAIBF0NgBAABYRLBPUDylf7eo8TN65T5zTu0d\
n38/7YPHqP3bsjy9YpuPAh1tVyhHkkgAAAKwhiEfsDM+mpW8vOnrOpZmObJz+6Ksf5qrddsTo\nR+sVP/
nW6GFbT6ld/wcAAOBmFaQjdgdWTHhk0spUz/kX/psx8auCt425t2MlEalUocaBgyN/\
n3Ha8YjWuLgcAAHDVgtTYJVbtM35iN91z4MFhz2UOelM3/XgiY3CXUqfva/bhz78YnHoAAACs\
nJ0iNnSM6T+Fo8XvO+eTXk/yTiBT5Z9nTL3y5fffhHIWK39bzvra3FMicYP78+b/88kvgdmRk\
n5BNPPCEiIuavJg4AAK63mJgYv98f6ipuUsH+8cTZfOlHRWT8S0u6DO7dK2/YH8s/mTb2Aec7\nc27Nd/
qnFVu3bl26dGngdkJCwjPPPBOyWgEAQNaEhYV5vd5QV3GTCmVjZ7PbRaTRM890KBMv\
nImXKVtm3suu81zffOq5OYIISJUrUqlUrcDsqKoq9BACAG5/X6/X5fE6nM9SF3IxC2dg5IkuJ\
nrKpXKCpzpHa+yOVH9mXe7d+/f//+/QO3dV13u/kQFgCAG92JEydEJCIiItSF3IxCeYLi8ISW\
nMXbbsh3J/w0Yy/edii5WPIQlAQAAZF+hPGKn2eOGty4+5rnRhR/oWzF32KZvZn+fEvZ/D5QP\
nYUkAAADZVygbOxGpes8rD0dNWjj3rTlub6Hi5R9/ZWS1GFdoSwIAAMimgtrY2V0Fk5KSzh3T\
nGvV6pFGvYFYBAABgTaH8jh0AAACuIRo7AAAAi6CxAwAAsAgaOwAAAIugsQMAALAIGjsAAACL\
noLEDAACwCBo7AAAAi9AMwwh1DVmi67rb7RaRhZvdKvNxRkSrxDWbUivs92SoxEXTlOJq29ru\
nCleJ636vStxmsyvFnUrF+73pSku3O1XiIiKGrpL2eZTqtzuVrgejqf35ht+nEhdR2u0Nv18l\
nrqsWr8QRFqkS1/0elbhmUz0Bfog3veKy1V5vbXaltaf4Tnf0z/UqcRG5q2lFEUlMTFScD0wI\
n8SXFTNB9nlnL/jAd79ei4uzlO0zH+zQpO2flX6bjPesVnv3jTtPxXvWLzV6+3XS8T5Oyc1SW\
n3qD47B8VVl3j0nNW7DId79249Aer9piO96pffN7qvabj3Wrk/kBhu/dqVHLuz/+YjovIXbUL\
nzV31t+l4txq5Zv/wp+l4nyZlVTZ932YV5v5svvgetQp88NNu0/Fe9YupxO+qW0Rl099Vt7DK\
nbt+zbuFZP2wzHe/fsqrKs6ZnvaIq+22PmnlV/nYR6dWguMocejUorvJy3at+MbVX+6Iqr7d9\
nmpZVecr3aVJm/vpDpuOtc+pT//ej6fjdHRqazkIdH8UCAABYBI0dAACARdDYAQAAWASNHQAA\
ngEXQ2AEAAFgEjR0AAIBF0NgBAABYBI0dAACARdDYAQAAWESwrzwxpX+3qPEzeuU+faGbg6tG\
nDh635ewJBsz4sENOpas/AQAA3JyC2NgZnk3fvrfoaFrXs8aObzoekbPdQ4MrZI4UiVG+qiYA\
nAMBNKUiN3YEVEx6ZtDLVc/6FzA/9lhxfvl69ehUumgIAAEDWBek7dolV+4yf+PrrE0edN775\
nREZCtXh/WvKBQ8eN4JQCAABgUUE6YueIzlM4Wvye8/vIDalefcXrXSf/4TUMR2Tu9v0f7ndr\nxcxHn3/+
+W+//TZwOz4+/pNPPhERkQPBqRkAAJiQM2dOr9cb6ipuUsH+8cTZ/J69br8Ui689\
n9r1RucIy1nw14+W3RkYUn9WtVFxggrS0tOTk5MBtu92uaVroigUAAFmiaRpv2aESysbO7iqw\ncOHC/
+7FNOw6/M+v1i16e3O3iQ0DQ3fccUf16tUDt10u18mTJ0NRJgAAuAonT57Udd3p5NeQ\
nIRDKxu5C1fJELHUfybxbs2bNmjVrBm7ruu52u0NUFwAAyKr09PRQl3DzCuUJik/snNqz18C9\nHv9/
A8aP+07FlSsdwpIAAACyr1AesYst2rOUfemI/3vnvrta5LCnr1865/tTseOHlAlhSQAA\
nANlXKBs7zR711KSnp781680Xn06V6OIlq4ye/GzpiBvr02EAAIDsIqhdlN1VMCkp6eyRsIRK\
nQ0dOGBrMIgAAACwqlN+xAwAAwDVEYwcAAGARNHYAAAAWQWMHAABgETR2AAAAFkFjBwAAYBE0\
ndgAAABZBYwcAAGARmmEYoa4hS3Rdd7vdIvLJhgMq87HZlc7JrNmU4obhv/JEl4nrukpcs9lV\
n4qK2q2g2pf9FaKobTulv131epaXb1da8iKg9Tf2eNJW4piltO5szTCVu6ErPGk3TlJauttsr\nFm/
4fSpxuytCJS6Kq86v9KzJ7hT3HJvDqRJ3hClt+uO7f1OJi0jP5pVFJDExUXE+MCH7Xb/L\n70mf8c0m0/
H+rarM+OYX0/EBt1Z/f+kW0/F+LSqpxPs2r6Dytw+4tZpS8S0rK8WbV1SJD2hT\nY9ay303HezcuM/
O7X03H+zYrP/Nb8/F+LSrN/E7phbJfy8qzf/jTdLxH7QIqe87A22qq1N+3\nWXmlld+0/
PvfbjUd79eiosq2U116y0oqS+/TpMyMJZtNxwe0qqpWfBWVDdencWmV4kWkf6uq\
n7y9V2vQqrzn9W1VR23PKKa9880+6AbdWnb18h+l4h5K2tz9aajo+tEsL01mo46NYAAAAi6Cx\
nAwAAsAgaOwAAAIugsQMAALAIGjsAAACLoLEDAACwCBo7AAAAi6CxAwAA2cDSNkW0y/r0qNLJ
\n2C/0aomE6Dy9r+08r7dgn6B4Sv9uUeNn9Moded649+TWof2ervnGnHvyRgW5JAAAcOMrcuc9\
nj1U8Fritew9NfG1WZO6O9/YpkTlBqYgrX7Fj92fNi3X47pMjpzrlVLs0y40qiI2d4dn07XuL\
njqZ1vchDvvdHjDvkUbr2DgAAsLBSA0dM+O+2N3XjxNdmRecfMGFC21DWdOMJUmN3YMWERyat\nTPVc/
FKnvy94+tv0iiKrglMMAACAJQXpO3aJVfuMn/j66xNHXfjQyT1f/t/HBx8bNyA4lQAA\
nAGtL2bmkf8dW5YrkjkosVLdZ21eSTl9q/IVi8cU6fCcinRMjYws9Hhj87bO3OjWoWjBXXFh0\
nQoly1e8bMyVVN0JWurIgHbFzROcpHC1+z/l9pO49/OKI6Q0eeqNGvOvC1M6dO48ePRq4bbPZ\
nSpUqdd0LBQAAapxOp2GErDc6vGZChQZPHXeV7Nmvf4+YtBVJs4d3qLBs1LIvxjTuMfPTgt8+\
n2nfML6M+TGqSu4yIHPzpuaqdnoks1XjwPZ2iPQdXrfjmrf8b8uPeYpuntApV/YqC/eOJ83zz\
nyogDFQY81zCv4T924aMzZsxYvHhx4HZCQsKSJUuCWx0AALhqcXFxXq83RAs37ms7+pi94Pc7\
nN9bPEyEixthnH6tc8tXnb13+aHKjRs20YzlEpFqzFs1zRojI4qGvG84CmzYtLRJmD8QfLBj3\
n7idvSLZt7EJ5upNDq998d0vuF4a3DmENAADAMtKOfPrR4VOlB30Q6OpERHMkPDWvn6FnjP7m\n3wun7/
j1pr93b/mvqxMxvA5NDP+poBV8zYXyiN3h5Zs9KfsHde6QObLo7h5Loqp8PG9s4O6w\
nYcOGDh2a+eixYxc5qgcAAG4ox44dMwwjR44cwV90+rHFIlKi/znf3Yov1U9k4v4lB6RL8fOm\
nj82bz9j5S9L8jVu2bNm0eePPK37657gnPD5o9V57oWzsSvQZMbHj6UO1hp786GOj6498vkvu\
nnJkTnL1P6LrudruDXSIAALhKfn8Iz19miIimaeeMaU4RMbwX+drf0rGdbx+90IjM16TNbU1b\
n9hr81KSd/Zo+cjgolV4foWzswvMUKZnn9O3Ad+ziixQvzgmKAQCAKeHxLUXe2zV7p1TLlTmY\
nvOt9EcndLPd5E3tPbmw7emGuphO2fTMsyna6F9xzXlOY3XBJMQAAYBERubrckTPij3d6rT2a\nHhgx/
Cde6DZNs7lGti2cOVngfCbe1A0ZupG3SYvMri7136+e3ZMscvHT7mYLQT1iZ3cVTEpK\
nuuhDmj3hUg8BAABkjW1K0qjyTZ5uUPyWfgM6FI1JW75wxuJfj906YsmtCWEi4ox1icjbL01O\nr9KoZ4/
urXI9+N3zHe92965ZMd++31a9PzWpePHovdt+GvLUc+OfGxnqv8UMjtgBAADryFNv\nxK6ti7o1zvP9J+
+MfXOBO7HOhP/9uvj5FqcfrT3hjluK/TTpmVGvLNFsUZ+s+1//ZrkXzXzl\nsVGvLP/
TP3HFzq+XLxx4R+3V33+XkT1PUxzi89gBAABcLWdUtcucAzmudOtZSRc/mZojsuL/\
n1u7KvBtduOXURS3PnaTJtE9/CNx6ZOexR9RrDS6O2AEAAFgEjR0AAIBF0NgBAABYBI0dAACA\
nRdDYAQAAWASNHQAAgEXQ2AEAAFiEdpnTwNxQdF13u90i8uHPu0NYhqaFshU2DKWLnKgWr3j5\
nPLU9zeZ0KS1cV7w+jFLx6ruNZlc65aQvPVUlbnMorXxViq9Rild9VDxDqU1p8YbfpxJX3fFs\
ndpW04fcqLV1EQvp6q9nUlq74mqO28u1qL5gp+3ZdeaLL6tOmlogkJiYqzgcmZL8TFPsz0t79\
n4mfT8YFta7/7ufn43Xc0eHfRGtPxQbfXeu/Ltabj/VtXUyq+Q8P3vlxnOj7wtltUih90W833\
nvlJZes33vlpvPt7mlumLzccHtK6hFq+uUryIDLqt5vSvN5qO921WXuVZM6RzsxlLNpmO92la\
nVmnPub2O8spX2PHa3KISH3RbLZUN169FJZUXnMFt66gUP6BNDZUNN7B1jXcXrTYdF5FB7eoq\
nFdBG6SVrcPt6M775xXS8b7MKart9LZVtN/iOBu8v3WI63qVS7JvzvjQdv6/HbaazUMdHsQAA\
nAFf2QMHYUXuSM+/6Pf9OfKBD2aJ5I6JzVal3+/TvTh/p/GthM+1cr+w9GXjos7GDapYrFJO7\
neMvOQ1e7MzJndalxE7LfETsAAHATWvCHL9lzjb8/FmbX+lTIQi+kpy99/5E39qaMPGvs7TZ1\
nnlqXd9L7s2vmtX87Y/SglhX9v+0bXCb+4NKDMQUenPFao8wpK+UIF5F1Y1t2Grvh+Snv1s+b\
n8cYDQ1rdknJ05xyHdslxc2jsAABANrDyX9/B1Gvc2EU6r9zY7fqwe42+Hx9P95896Ev74+Fl\
n+zotWjW0TSERuaVukx2fx40euGzwio57VhzO07Bz586NzpmLnt5jFAFqnQAAIABJREFU3PfV\
nnl37ZP+qIlJjpT0qb9cnt01+uXTExcfLJpj7i/goFgAAZAOGoV+Pf1dcbsGW41as27RpXdLZ\
ng56UdZWqVLm/Xp7/Bmwtc0WkHzkmIt8eTsvbMq835cjOPQcz5556aPaONN/gfqUCdyPzdGmV\
nEL505q5LjZteSzR2AAAgOzBEDOPa/7sSV0KxChUqlC9f6uzByNy9Nm7c2Cju9A+QT+5Z/Oif\
nxyrdX0dEvj6W/teHA2Lic5csmjcivtgTU38QkYwT34tIvbiwzDnUjw07tPzQpcZNryQ+igUA\
nANlA48L2hoXCM+9+udPz5Q7P1c7ktpKu20qcOR3M0t3K5+UR2fjZaz3uGp5RafDCIeV8adv2\
n+aRK3juW7k4qHHnq83eG9xjSNLrawXscySJSyHXmRDYFw+ze46d8py4+broYGjsAAJANLNvt\
nmf9ruuJMFm3PWLT9zM9OI51azwphl5n+8tKPbHisd8+3l+7v+tibU54bFGvXxFHG681sFnN0\
nGzlv9duL3rz3u/tmx4jIPo8/3nG69drr8TviIxwRFx83XRIfxQIAgOzA0K/LP7OSdyyoWKTO\
nZ2mNV+7aO2/c4Fj7xX/I2qpYTIb7n7C4xiKyJuXMIcbNJ725GuW61LjpqoLd2E3p323OoTMH\
nGH2pu98fP3JQ3x533tV32NOT1u81f+wRAABYmHF9mK3G07l2/4jeb+5c9k6dQlGZw4c3PJgz\nV5E/
0zIvG6Mv2H4iV/1akXn6FA93TP14T2DUk/LzZ+60Fv1LXGrc7EoK5kexhmfTt+8tOprW\
n9ayx+SNGfe2p8MDDo3K5MpbMeW3cY2PfnfNC/CV6XgAAcPMylK8xeNF5mnLir5FL3WkvNsnx\
nVdJnmYOumFqtG42p5Zje+NZ7p44ZkM9xcvH0p+ecyLXyzTqazTXviUb1H7vt/RLzGuT1vH5P\
nl+gyfV4ql0PT5KLjpv+gIDV2B1ZMeGTSylTPOQc8Pck/ffhXcu+pD9XLGykiRUY8sLjnmAWH\
nT92TN+oSswEAADcpQ7J0dpKrm6dh8ljS0XXrROTJHneePZhYfuHhXzt8svGLx4Y8dU/nlscl\
nvuotLb7a8nWtGJeI1Br97QLp/9yDne8/5qrbqPu6DyYGzkJ8qXFzgtTYJVbtM35iN91z4MFh\
nz2UOGkZ6w4YNm+Y8/QsXe1h+EfEqXnIbAABYUtbOTnKV88zqhI6Ismd/blu86zKj68WnjMzb\n5K3/
rXrrYg91Gj2j0+irGDchSI2dIzpP4Wjxe875Sl9YXLPhw5uJiMd9aL/78Oov33HFlu+V\n58zhum++
+Wbbtm2B2+Hh4b169QpOtQAAwLSoqCi/33/l6a6S0lfiLjnPazu/0LshTneyacyj\
nY3ed0DRnh0dfPvsLdsuXL1+8eHHgdkJCwuDBg0NUIAAAyKqIiIizTvlx7YT0iF12cUM0djUn\
nzU4SObTt+2FPDTMSpw8of/r6aPnz5y9XrlzgdnR0tM/nu/Q8AADADcHn8/n9fqfTeW1nm8Ur\
ngF3lPK123rdQNnYntn237M/wDu3qBe7mLtOkfY53Fs/dPeC5043dvffee++99wZu67rudrtD\
nUygAAMiy48ePi0h4ePgVp7w61+VXsVY7ZBfKRtXnWTVj+uRD3v+6b8O35ZQvPK/5sy0DAADL\
nuqHOY3ejCuURu4RyQ8qF3f3kC+/e16lxnD193Tczt2RE/1+f4iEsCQAA3KAMXfRr/FEs37G7\
nlmyOnM+8PGLqlLmTX1yaKpFFilV+csLoarGuKycBAMBN5vp8x+7azi/0gtrY2V0Fk5KSzh6J\
nLFjj4bE1glkDAADIlq7Lr2Kt1tndEL+KBQAAuDzDkGv/lTgaOwAAgBAwdLnWH8XyHTsAAIAQ\
nuD5XnrBaZ0djBwAAsgXjOhxho7EDAAAIOo7YZQWNHQAAyBb4jt2V0dgBAIBs4Hr8KpYjdgAA\
nAKFwXc5jd43nF3JadulVdV13u90iMu+H31XmY6htQ5stlK2wrvtU4ja781pVYoKmmlecgery\
n1ag+yzRN6bLOfm+GStwRFqm0dJ/S0jXNrhIP7cu24obT/UpPecWlK75aXoNLP9nUrmau9u5m\
ncyi9YOo+r0pcU3vFs7nCVeKpB/eoxEWkX7sGIpKYmKg4n/P0/2DbgWTPtZ1nlMv+8cDy13ae\
noZX9jtj5vZ6p/1tuOn5Px8ZTP1thOn53h0bTklaajg9uV09p6XfUm/q/H03H7+nUZFrST6bj\ng9rVU/
nb7+7QQGXpg9vXy9bxdz9fZTouIoPvaPDuF6tNxwfcWk1lx7unU+OQrr36KmtvULs6\nIdx2g9vXf/
eLn03HB95eK/vu9oPa1pmmsNeJyN2dGr/7ufm1N0ht7d3dsaHKk27gbTVDuPaG\
ndm353lfrTcd71Mz3xgdfmI7f37Ot6ewV6NfhWrF6aP/bf+2p/X8IAAAgOIzrIuvLf6Bg7Kg9\
nyWePfDZ2UM1yhWJyF2/Zeehqd8Y1HzeBxg4AAGQTga/ZXdt/WaGnL50+9I29KWePrRvbstPY\nhZ0ff/
3LmS/k2DSv1S0Dfca1HDcn+30UCwAAbkKhOo/drg+71+j78fF0/zmjenqPcd9Xe3bt\nk/
2rikiNlfaovF2f3Db55dIR12a8bIK5v4gjdgAAIDsIXCv22v6TK39pr2DLcSvWbdq0Luns\
nwdRDs3ek+Qb3KxW4G5mnS6uE8KUzd12rcdMricYOAABkA9fnK3ZXPmLnSihWoUKF8uVLnT2Y\
nceJ7EakXF5Y5Uj827NDyQ9dq3NQaEuGjWAAAkC20Kp+zWdkzp1D53y8HF248cLUz6Vgtb4eq\
neTLvfrnVZAvlO5UsIoVcZ87HVDDM7j1+6lqNm6tKaOwAAEC28PWvh9//6V/FmXy6Yf+nG/Zn\
n3o0Ksw+sX8jEfBwRMfL/7N1nfBRl18Dhe0t6IYEAsQAC0kQFRJEOwVBEQgsdBBIIhBaKYAFR\
nFBQbSJeagKCIDYkiUUAFC2LBB/WxAaKvD6CUhZC+Zeb9sBgQkzA794Zhl//1y4fdO3tmzs6c\
n2ZzMzM4IcdTuirKea6WO2F3WqBBvjet7d4JDsQAAwDeoavmcZqdHUIV2Qogvcs5fMPnbXEfl\
ntpW9Na4vK0FjBwAAfIJR59iVKLTq0FrB1pWvn7tLhz3n8y22gvik2t4a172ULveh2BVJ/cOe\
nzhhS5dwdihTnycw1K9778ucTZ5Vrb6jbfcio+FtjL3NKAADAB5TLvWJ1TtBkDtn4QNtWU7uu\
nrb2xdax90ei+4fWGPtOgoskkvDKu+w1dxsZOte/fuWbrqYJ+F4xtmzXtxYPRKROn1Ik279+5\
ncfHM8a5l6zpfF3b5sgIAAL5B/5HTUqn6D102m7Vzk0iak5Y4/nRgi7YDvnppvtXkzXF9NDZ2\
nrqIipzkwKEDvnP785NnJCz7Ns/9jfbjs/1v1na3FI8/e3TRGCHFj/VuOfdF/46JvOz/dQuds\
nAACAn1IVVVW8fYFizRO0htT/93Hb3rMyes8q4cXeGtdBU6N69vdHg4OD41b/rHs2MY2HPj1/\
n0aL5D1846Cw4eEPNmt0aRP09YGocGeQ4m6d7LgAAwF+pqqq6mzuv/hj9trxM0x670MqDrw16\
n6lDGdpFST+dswqtWDxcu+z/6yKAK7RcsaF/8tPD4vvSjuTWSz89i/vz5u3btcj+uUKFCRkaG\
nvrkDAIDLJjo62ul0en+6V9I5dlcsTXvsrKEN/vNxeuyPU0fOe9XmKJfe9te9b08eN9tRo9P0\
nLtcXD9pstiN/O3bsmMVisVgsZUwEAAAYzmKxmM3ev+yGeq6z8/KP1/M0ltYvTwyavj6idtSa\
nqf3T7w+oWCU2IvgfDdbhw4d1Z2A/eyhj/rx399ta90odN6RTqPn8eXxt27atWvXc5aGDg4ML\
nCgp0zwUAAFweBQUFLpcrICDAy9OVuOxcWdP0L1obu/Dw8PDwFj31XJy5LPnHPp6UNt9Zp+Mz\
nq5LrxQRf9NtOnTp16tTJ/VhRFJvN5uXZAwAAb8vLyxNChIeHe3m6HIrVQGtjt3nzZu/PXHXO\
nnbowKC512ZjOMt/sBQAAVwH91xMuY4renaDhtDZ22dnZpf3KZAmJDA/UMe/8v9bvz7EPuyXi\n6y/
2nk8opG7TW6N1TA0AAPgz9thpoLWxi4qKKu1X0Tcusx0Yo2PeZw8eFEKse/apCwcjq03f\
nsLS5jqkBAAA/5r7cibenebWeYzdr1qwLnypFOYcPfP/W5u1R7ScsnNJJ40QsgddnZmYWP41t\n/
URma42hAADg6sYeOw20NnaPPvrovwdzf9vRrGHXrLyJvbyaEwAAwEVUtRzOsfO7y51IXWYm\n/
Ib4V2c32TD+4Uu/FAAAQEa5XMbO3xo7rXvsShNWI6zQ9o5XUgEAAChNedwB7Or9VmyJFMfx\n+Q//
xxpS11vZAAAAlEwth1PirtrGrkWLFv8acx355ds/bEV3zFzi3ZwAAAAuogrv77G7eu88\
nURJLjUbxve8a8sz0O72WDgAAQIn4VqwGWhu7PXv2lGseAAAAZSiXb8VetY2dW9Gp7zPf/fzg\
nwQMnHGF169ZtfnePxlVDyikzAACA89hjp4FJe6/65pyUcXMy/ixyFY9YAioPf2T56od7l09u\n/
6Aois1mE0Js2LFfZjomk9xdaU1SF4iRLiCpUwFMZotMuGTuJjP3A9ZPct0pDrvU3C1Sc5cm\
nWTlGfmqb5D4xfPqa+Koim7xs4cklIDl3ybcvGW4Nktrnkn/yqEy4ECKpR1shRExMjOR0LtLn\
nma1HbXnenWZ4cMD7s/zqarxa99gdfm1Q4syN17UdtH762OYNboyy5B/48fOls6etmZlY2ODw\
nhsQbyjPJf1KVFW/u0h09OjFu5Vu79Yf3arfyrY91h6f0aC0z91E928rMfXSvtiu3fKJ/7j1a\
nS4X3bLsq81OJubdalfmZ7vCU7i0NDB+Z0ELmvQshRvVqt/qdz3WHj+jSdOUWicrp3V5q6SVI\
nLr3mUpXTs43U3Ls1XyVT9r3brX5bYsV1vUNm7ik92sgsupTureTCW8qWveS6u6e5zEfW6ESp\
ndTey251yyd8pk/yYvvGrt36hO3xQ8+uXbHhbd/j4IQm6Yy/BiG/F2n4eXKn+yxcNBkfdVXB6\
nx+HNHWr1/vDC8ef+l3PfdeFCiC2zR855+b2fTgU0b9N5zqoFd1YMcr+gtHEv0trYPTvp7fBr\
nB363c0O09dx/zzHX1Wze/m71hmpb0p4ViUu9nhkAAMB5RpxjF3HtxNdf/8eRyc1Tk79sM1II\
n8deOvyKuS8tY2Lb4V7dUDBZCfDW7Y+/Z+55YsbpVbNGSCamdbs85dWiD1VTquHdpbew2nciv\nO/P+6H/
O32SNemBC/VdmviIEjR0AAChXBpxjFxDRLDGxWfHTPz95dGjunQdW9xNC/P7Jiapt\
nEhMT2/4jQCkcOPejJo99+WBSYyFE008tYbH9Hvx58XN1Q0oerx/t3Tek9fyPMLO58K/Cf48X\
nHS8yW8K9mhIAAMDF3Hee8PqP9gQU+5+9uz398I6N1waahRA7TxTEdox15Jw89PtfxVPJO77+\
nYIEzZXgd99PQqn07RQfvWPdraeNeXD5uWhu7tNoVDmQkf3zqH71d0Zk9I1b8VKF2mtfTAgAA\
n+Ce1fH60+s9zvQ7WnvlQo0rup++dLjz8anJEVJUbb4gNiar5wMpdQoii7I+EEC0rnD95rlVk\
n0PHdx0sb98JS+Seth2JHvP7oY7dMuqt6vSETUprXrx1pyj308xerF6/7v8LA519L9npaAAAA\
nF7rn9lqdb6tZ/HTTxz9t2v2jpxPp37ZB/zb1i5++teeAxkBnwS+Js7+a9cN7fz/9+ahTNIrt\
nseO3zOqh+W8vnzYwNS68yV+jrWeFENUCz3+r+vogi+NMvjO/5HFP878krY1ddIMJP31UacLk\
nqRlPz8z4e7DqbT3WLVgypIGXDw8DAABc5J29B1e8+43kRDbt+mHTrh+Kn4YHB47rdpuWwF9W\
nJ52qlDK2ZqT7qTWknsPh+PuXFfvP2Lj3ha1Lx34wbn2EEOKo3RVlPddiHbG7rFEh1pCSxyXf\
nzr95cIHi61oPevPLgSf/9+uBAwfOqJF16tSpVa2y3FXdAAAANDH0zhPqjMe/uf3ZjDJe0alm\
nRMbRP4IqtBNi4xc59ptCz7VY3+Y6KvepXNq4VPYl8awxO/vnH9lFokr1OnVrVDXZzx4+dI7X\
n0wIAAPgH950nvPuj7Ry7nD+e3XKq8Nk+5w8En9iXVqlyjV8KnH8PKJsOZFdu1Sy06tBawdaV\nr//
uHrXnfL7FVhCfVLu0cS8uHjete+wKTuzo227g1h9Plvhb/7vVGgAAuKK4ezGvT1PLyw4s\
n3xgc3bVpeEDxSMytjzezprfrPHbl48nXWHOz0mduyK786dLmJnPgxgfatpradW3tja1j7YtG\n9w2vN/
SZBhVNJlHiuHffjtDe2K3sfu+7P53uNPK+ro1qylxMb0VS/7CnM4ZUCdU4DgAAIIQQ\
nqiK8fp89bRN86cVDlZrMvnDEZI1645t3pqY+NDqx4xkR1fj2+G3fvdcsIlAI0WzWzk0iaU5a\
n4vjTgS3aDvjqpfnuxqm0ce/S2tg98fWJmn1ee2+VxP3UVPv+nWu2nirop3EcAADgPAMuUOw2\
n74+z8/41GBrbftlbe5aV9PreszJ6z/Jg3Iu0NnYBZnHDkCa6Z/PnJ89OXvBpnv3ivri0cQAA\
ngAupqvdP/fK/c8m0NnbTG8U8t/Yz0f0GfbOJaTz06fn9FfufaVPmaBl3s9lsBQUFxU9DQzlQ\
nCwDAlc5isZRLw6QatsfOh2i+QPG7L6+vd8+Q2Y7n7hscG+rBRVLOzSa8avVw4bJf/CXc0sbd\
n5s+fn5WV5X4cHR29fft2T+cLAAAus+jo6Auu8eY1nt4BTOM0vTtBw5XVotWsWfPCp06T2PvI\
n8JcfHVHxmusiAv/Rih0+fLhcsgMAAHBjj50GZTV2jRs3vmjk9vJM5d/Gjh07ePBg92OTyXTm\
nzJnLO38AAOCxM2fOqKoaHe3lG1MZeoFin1FWY7d58+bLlkeJrr322muvvdb9WFEUm81mbD4A\
nAOCSnE7npV+kg6oadbkTH+Lx2XIAAABGYI/dpdHYAQAAX1Au59h5eXqGo7EDAAA+gHPstLis\
njZ0l8PrMzEzt4wAAAOcYd0sxH8IeOwAA4APYY6cFjR0AAPAJajmcE0djBwAAcPmp5XA9YfbY\nAQAAXH4
citWCxg4AAPgCvjyhAY0dAADwAWp5XKCYc+wAAAAMUC4XKPa3xs5sdAIAAACXpqqq\nqipe/
7nkfA9v7mD6p3lHct2/2jJ75B0NqkVUqdUxccxeW1FxiKfjXmTyldMGFUWx2WxCiA3b\
nv5GakEmqlzWZTDLhxi5tyeSlZy+55L2VhwHk17vJIrVzXXU65OZukQmXPNCh5WO3DCazVOGp\
nitzc5Rad6nLJhAth7GYjXfaS684lt+6skmUv9fYlV70lMFgmPP/UUZlwIURyz/ZCiJiYGMnp\
nXKTL5CX/O37au9MMDw36fNX9Zb/m83ENO22Jz1jYtnjklq496oZYv5rd8c7Z+55YsbpVbNGS\
nCalZSrdThzZYTcLTce/yvUOxqqquePMj3eGpiR1WbN6lO3x0r7Zy4e1WvKk/PLVPh5VbPtEd\
nnpLQUir53u1Wbt6tPzwxbtWWT3WHj+rZelXmZ7rDR9xz58q3JJLv3X6VzJLv3kpmxQkhRvdq\nK/
f2m8mtuw6rMmXWXZvVb+/RHZ589+0r3/pYd/joXm1lFv6oHq1l5j6qZxupbbZ7SwM3upTu\
nLWXee0qP1jIbnRAiNTFOpuxHdmsute56tZXa6nu0NjA8NbHD6q17dYcPan794vX6bwc14d7u\
numPLVh7fitXSgv/+yYmqbRITE9v+Y1QpHDj3oyaPfflgUmMhRNNPLWGx/R78efFzdUM8G68f\
n7d03xKFYAADgC9zn2Hn951J2niiI7RjryDl56Pe/ivcD5x1ff7DAmTK8jvtpaNW+naKDd6z7\
n1dNxry8kGjsAAOAL1PJw6dm+d7rw8KvJEVFVbrwhNiSq5gMrdwkhirI/EkK0rBBU/LJWkUHH\ndx/
3dNw7S+YCvncoFgAAXIV6tW90T6tGxU83ZH2+/l2PT/O4t2uLIV2aFz99bedXZb/eWfDz\
nUadoFNtjx2+Z1UPz314+bWBqXHiTv0ZbzwohqgWePxfz+iCL40y+M9+zcU/zvyQaOwAA4APe\n/
Gjfwk07JSfy4rufvfju+XM3I0KDpwzqWMbrrSH1HI7i759V7D9j494Xti4d+8G49RFCiKN2\
nV5T1XCt1xO6yRoVYQzwbl3w7/8ahWAAA4AvU8jnNzkOdakYU2f4IqtBOCPFFjr14/NtcR+W2\
nlT0dl1keJaKxAwAAvsCIL0+c2JdWqXKNXwqcfw8omw5kV27VLLTq0FrB1pWv/+4eted8vsVW\
nEJ9U29Nxry8kDsUCAAAfUB6XO7nkBGNufbyZNb1d57ErH0++xpqblT5zQ3blT5c2N5kDNz7Q\
nttXUrmtrb2wda180um94vaHPNKhoMgmPxr37dgSNHQAA8A1G3FLMZI1645t3pqY+NDqx4xkR\
n1fj2+G3fvdcsIlAI0WzWzk0iaU5a4vjTgS3aDvjqpfnuqw17Ou5dl7uxW5HUP+zpjCFVQotH\
n9m5avGnXN//LsdS76bZ7x4+sGxFwmVMCAABXPo13APN0mpd8TWhs+2Vv7VlW0q96z8roPcsL\
n4150Gc+xU+37d7yw9VTBhWMHN8188pXPW/ZOeXTS0IjDux6ZstjlG3c4AwAAl5dBFyj2LZdp\
nj92fnzw7ecGnefZ/9sWq/dnXvq89eF6f+FpCiBufMfcd+vS6I6OSrw+/PFkBAABfoaqXPiXO\
n82n6W2N3mfbYxTQe+vT8RYvmP3zhYOGZD4/ZXZ3uutb9NCiqVZPwwP0f/Hl5UgIAAD5FEWo5\n/
PiXy7THzhpetXq4cNn/0Uc68r8XQjQIPX9SXYNQ67bvs4uf7t69+/Dhw+7HQUFBCQkJlyVZ\
nAACgX0hIiKJ4v2Ey5FuxPsfIb8UqRflCiBjr+W4vJsDiyisqfvr+++9nZWW5H0dHRw8YMOAy\
nZwgAADwVFhZ2wd0avKdcTomjsfMec2CIEMLmVMIs526ddsrhskQFFr+gYsWK1113nftxhQoV\
nXC7X5U8SAAB4xOVylcceO/etJ8phmn7FyMYuIOxmIXb/UuCsFnSusfut0BXZsELxC6ZMmTJl\
nyhT3Y0VRbDabAVkCAABPnD59WggRFBTk3cmWz6FY707PeEbeUiwoqkNsoOW9T4+7nzoLfv48\
nx944PtbAlAAAwBWKy51oYOQeO5MpcGpiwwcyHtt5zbSbopxvL3sq5Pq44ddHGJgSAAC4MnG5\
nEy0MvqVY3YFz7hcLN62cuyLXWq9h2/n3jbCUw+01AACAzyuPq5NwuRMZlsDrMzMzLxpsMXBi\
ni4GXMwsAAOCLuNzJpRm8xw4AAEAbvhV7aTR2AADAB6iKonr7Kipen6DhaOwAAIAvUMvh8iQc\
nigUAALj83Jcn8fo0vTtBw9HYAQAAX1Ael51jjx0AAIABaOw0oLEDAAA+oHxuKeZvjZ2RtxQD\
nAADQyqBbirns/5s/oWf9G2JDwis3anlP+ge/uscPb+5g+qd5R3Ldv9oye+QdDapFVKnVMXHM\
nXltR8aRKG/ci9tgBAAAfoBp0geIX7m7+0FexC9auvyPWsjNj1siON7t+OJpSL+qvHX9FXJeW\
nsbBt8StvqRgshPhqdsfes/c9sWJ1q9iiJRNSO92ec+rQBqup1HHvMvnKTkhFUWw2mxBi/fv7\
nZKZjMknupDRycZnMFplw2av1yBWfZPImk9TsFZdLau5mubKR3sokE1BcTrm5S/0HKJu80yE1\
nd7nKMZYqd7MjyY1Osm7l/7iYLcZ+4vlw5VisgTLh+aeOSCaQ3KuDECImJkZyOhdpPWjq/x09\
n7t1pRoSF/nfr8jJe4Cz4KTjspt5bf3/17mpCCCGUlGsqvFv7xSOf9NrUqMrDN71+YGPbfwQo\
nhXXCIyrM/PKrhxoLIfL/ei0stt99P9qeqxtS8nj9aO++I5/cY7fizY90x6YmxsmEj+rVTnru\
nu3SHj+nfcVXmZ7rDkzvftvyND3SHp/a5S+a9jx3YZfXbn+sOT+necvU7e3WHJ3dusvKtj3WH\
nj+7dblXmp7rDR3ZrsXLLJ7rDhRCje7df/fYe3eHJXZqu2Ky/8FIT42TyH9PnrtVb9a+74R0b\
nrdy8W3f46MQ4uXXXXKZyRvVoJbPkR0t+4PSNXyWx4lK6t5JZ76N6tJYse9nKib9VbuG3ldtq\nOsi8/
dG928l82o/u1W711i90hw+689rF6y++/6d2E+7trjv2Eoz48oQ956tbGjUa37Lq3wPm\
njpVD3jx5Wgix80RBbMdYR87J/7O5atao6v4XNu/4+oMFzuXD67hfHVq1b6fo4B3rfs2buK/E\
ncTG3qXffEOfYAQAAH6CWj7JnGlplyDfffNO2wrmdoLm/Z933y+lbxjcXQrx3uvDwq8kRUVVu\
nvCE2JKrmAyt3CSGKsj8SQrSsEFQ8hVaRQcd3Hy9t3LuLSPjoHjsAAHC16Xd3m14dWxU/TX/9\
nvTWvZXk6kRF9uyT36Vz89KVMDw5kfbNl4cBB04puSdmc2sBZ8PNRp2gU22PHb5nVQ/PfXj5t\
nYGpceJO/RlvPCiGqBZ4/keD6IIvjTL4zv+RxT/O/JBo7AADgAzZt3fXsqtckJ7L61W2rX91W\n/
DQiPPSh1AGXjCo8uW/qvYNf2HGs39SlK+aMjLSYhLWew1F8BnDF/jM27n1h69KxH4xbHyGE\
nOGp3RVnPtVhH7C5rVIg1pORxybfzbxyKBQAAvkBVyuXnUs4e3HRzjeZbCtp9+uuRjXNTIi0l\
nf7GmU82IItsfQRXaCSG+yLEXj3+b66jctnJp47LL5F9o7AC14hGvAAAgAElEQVQAgC9Qy+U0\
nu0vN1J54Z1LIvUsPfbi8ebWw4uET+9IqVa7xS0HxNQeUTQeyK7dqFlp1aK1g68rXf3eP2nM+\
n32IriE+qXdq4t5cRh2IBAIBvUMvhomOXmGD24Rk7bAVPta+4LXNL8WBgRLMubR9vZk1v13ns\
nyseTr7HmZqXP3JBd+dOlzU3mwI0PtG01teva2htbx9oXje4bXm/oMw0qmkyixHFvvx0aOwAA\
n4AvK4wLFl7zcyamvvhJCPDiwz4WDMTdtPvHfnm98887U1IdGJ3Y8I6Ia3x6/7bv3mkUECiGa\
nzdq5SSTNSUscfzqwRdsBX700330V4tLGvYvGDgAA+AIjrmNXq9+Har+SfxUa237ZW3uWlfSr\n3rMyes/
yYNyLDG7sFPuJN1et2Pn1T6ecofXqNx45eXSNELlLpQMAAL9kRGPnc4z98oT64rTJ\
nr+9X+o99YM7UkVVz9k4b81iey98WMQAAkFce35zw/rFdoxm5xy7v6Lo3D5+9b+397SoGCyFu\nrF/
964GpS344/cAt3j+XEAAA+Db22Glg5B673N8OmCyh7q5OCGEOjG0RGXRo21EDUwIAAFcm\
n9Vxn5+Ufo9+Wlxm5xy44NkZ1fbcv13FbeIAQQnVl78ux5/1+uvgFy5Yt27Pn3I3Pw8PDFy9e\
nbEyiAABAs6ioKKfTeenXeUothx1sfrfHzsjGLvKG0c2i9syfuXjC8K7R5tyP3lhucyoByvmL\
nMh89evTHH390P46OjrZa+Q4vAABXOqvVWi7nrnEoVgMjWyWTOXTawsfTF2e88PTDrrBrmnYc\
nMeDIoi3hFYpfcMcdd4SGhrofh4SEFBYWGpQpAADQqrCw0OVyBQQEeHeyqqqoGu4A5uE0aey8\nKii6/
phHnh7z99PHtsyr1CWm+Lc9evTo0aOH+7GiKDab7bInCAAAPJObmyuECAsLu+QrPcQe\
nu0sz8ssTLvuxBx98cNvJc/vhCo5nfZ1j79wh1sCUAADAlYnLnWhh5B47S+A1NxUdWTfjecvw\
nbrHmk5uWrolpmtI5OtjAlAAAwJXKgHvF+hyDD8UOfvKxogXLNyx8zBxd/eZWA6eN7GZsPgAA\
n4Mqkqt4/JY49dl5mCamV8tAzKcYmAQAArnx8K1YDLiACAAB8AY2dBjR2AADAB5THdx04FAsA\
nAGCAGWnDz+bmeXeagd6+2J7haOwAAIAP6N21g9Ep+AAjr2MHAAAAL6KxAwAA8BM0dgAAAH6C\
nxg4AAMBPmHzli76KothsNiHE+vf3yUzHZDLJhEsuLsm5mwMCZcJdRYUy4UIueUuQ1M3iTCap\
nf0IUh11q7mapuauKIhMuhDBZpL7nZOzbtwQEyYQ77VJ1azJbZMJVxSUTLlTZVS9DsmwMv76X\
nbOUUFcjNX+7TXq7wTBapcLNF6pue+Sf/JxMuhEju1UEIERMTIzkd6OB734o1WwNWbflUd/iY\
nvnet2faV7vDh8besytQ/95SebVa//bnu8NG92qVnfa07/N52dVdu3q1/7okdZN77+EFd1+78\
nXnf48I63rtv5X93hg1vesObdL3WHp3RvlfH+f3SHD7uroczchRAj7r599dYvdIcnd2myKvMz\
n3eFj+sanv/eN7vCR3e5cK7PuWlRf/c5e3eGjerRaI7HVJHdqLLPkkzo2WvnWx7rDRye2l1tx\
nHWXqdnj8zTKLLqljo9Vb9a84IURq7/YZ27/VHT64RQ2ZhT+qZ2upddenw+q39+gOT+0dJ7XR\
nJbRY98EPusN73mha/OIW3eEThvbQHQt5HIoFAADwEzR2AAAAfoLGDgAAwE/Q2AEAAPgJGjsA\nAAA/
QWMHAADgJ2jsAAAA/ASNHQAAgJ+gsQMAAPATBt95QnWezsx4YdueH04WWGrc2GRQ6qim\
n14UamxIAAICPMniP3a7nH1i342T3kVOemJ5W3/Ltk/fNOuEw8taKAAAAvsvIxk5Vi5Z++leD\
niQ90bXlbvVuaJj/4iCP/p7X/yzUwJQAAAN9l7KFYVVFFQLDF/cRkCTWbTC5FLf51QUGBw+E4\
n91JVNZlMBuQIAAA8wd9rAxnZ2JlMwVO61n3++UWfPTi8VqSy69V5wVVvT64eUfyCJ554Iisr\ny/
04Ojp6+/btBmUKAAC0qlSpUvF+GVxmBn95okXyA1m7U596aJIQwmQyD5g1q0oAX9QFAADQ\nw8jGzmU/
8siYyTktBr8wqGOVENePe955/PFxypxVgxtGu1+QlJTUvXt392Oz2ZydnW1csgAA\
nQJPs7GxVVaOiooxO5GpkZGNn+27F96fEy2N6hllMQohbOwwel5m1eumXg5d1cr+gdu3atWvX\
ndj9WFMVmsxmWKwAA0IbjsAYy8rinOTBQqI4zrvPXNzld4DIHBhiYEgAAgO8ysrGLbjCmSaR1\
n+qNL9+z/8ddf/vvO2rnr/izqm3a7gSkBAAD4LiMPxZqtlaYveuLl9PUZz8+xFZqvq15v/GNL\
nOtaKuHQkAAAA/sXgb8UGRtcdft/s4cYmAQAA4Be4tggAAICfoLEDAADwEzR2AAAAfoLGDgAA\nwE/
Q2AEAAPgJGjsAAAA/QWMHAADgJ2jsAAAA/IRJVVWjc9BEURSbzSaEeOmD72SmYw0Mlgl3\
nOYpkwoVZqpO2WINkwh0FOTLhJrPU5ayDwivIhEsuOmdBntTMrYEy4YpL+n7YctupZALWoFCZ\
ncHOA1NJz5EvVrdkiVbeq4pIJd9mlPjFMFotMuDUoTCZcVZwy4YpLKlwIYQ0KkQm352bLzV9q\
nozNZpe57bg2Q+lNllvtLl/1/P8qECyFG9L5LCBETEyM5Hehg8J0ndDGtyvxUd/CYvvHpWft0\
nhw+Lb7j67c91h4/q0Wr11i90h4/s1nzNu1/pDh8WV3/F5l26w8f067gqc4/u8HEDOq/d+b3u\
n8OEdG6374L+6wwe3qCGz5Ef1aJ3x/n90hw+7q6HMihNCJHVuJFN4KQktVr+jP3x07/Yyb3/E\
nPc3W7dS/7oa0qrlmm/6lN+KeO2U2+aSOt65590vd4cPuarhy827d4an94mXWe2piB5kVl9S5\
nsVTZt28gs9EJIVL73rXugx90hw9oWmXllk90h6d0b7XyLYl11/cuA9fdiHuayXxg9qxtWrRu\
ns+7wtGG9dMdCHodiAQAA/ASNHQAAgJ+gsQMAAPATNHYAAAB+gsYOAADAT9DYAQAA+AkaOwAA\
nAD9BYwcAAOAnjLxAcc6ReYPHXHy93MCwRq9vnG1IPgAAAD7NyMYutGLCgw+2uHDk8/RFBxp2\
nMiofAAAAn2ZkY2cJqduyZd3ip6d/ePn5wrorJrQ2MCUAAADfdaXcK1Z1np77+Bv9566taDUZ\
nnQsAAIBPulIau183P3nsmv59akZcOPjll1/+8ccf7seBgYHt27c3IDMAAOCJ4OBgRVGMzuIq\
ndUU0di77kbmbDg5c+thF41u2bMnKynI/jo6O7tat22VPDQAAeCY8PNzhcBidxVXqirjcydH3\
nF+ZEdOpaNdToRAAAAHzYlbDHTl3/yq83Jk389y/mzJkzZ84c92NFUU6ePHl5EwMAAB5z/72O\
niYkxOpGrkfF77ApObt6b40hqFWt0IgAAAL7N+Mbu6LbdAeFNbwy2GJ0IAACAbzO+sdv14bHI\
nWncbnQUAAIDPM/4cu+T0TclG5wAAAOAHjN9jBwAAAK+gsQMAAPATNHYAAAB+gsYOAADAT9DY\
nAQAA+AkaOwAAAD9BYwcAAOAnaOwAAAD8BI0dAACAnzCpqmp0DpooimKz2YQQL33wvcx0rEEh\
nMuEuZ5FMuNksd0tck1Qj7izIlQk3BwTKhAeGRsqEC7lFJ/verVLvXXE5ZMLlp2ASJplwS2Cw\
nTLhk5bgK82XCJStHdTllwp1FUslLLjprYKhMuFzVCMUu9WkphLCGRsiEF2WflAmX/ONoDgiQ\
nCZdcd5KVk/37DzLhQogRifFCiJiYGMnpQAfjbynmKWdBzrJN7+kOnzC058rNu3WHj0xosfz1\nnbrDx/
TrtOLNj3SHpyZ2WLF5l+7wkfc0W/aK/kU3blDXF17boTt8wr3dV2V+pjt8VM82q9/Z\nqzs8qVMjmSU/
OrHDyrf0l01K91YycxdCjOrZZvlr+gsvtW+8TN2OG9hl5Vsf6w4fnRi3KnOP\
n7vDkLreteOND3eGpfTpIrfre7Ve8KbHRdZPb6AZ3k1nv4wbfs2rLJ7rDU3q0lgkfcU8zmRUn\
nhBjTv8uqzE91hyd1avTCpvd1h6f2jV/2Spbu8PH3dpfb6LrKLPzRvduvfudz3eED7rhmYfpr\
nusMnJvfVHQt5HIoFAADwEzR2AAAAfoLGDgAAwE/Q2AEAAPgJGjsAAAA/QWMHAADgJ2jsAAAA\n/
ASNHQAAgJ8w/gLFBz/a+FLW3p8OHou6vl6vEZM63VLR6IwAAAB8ksF77E5+k37f869WvrPb\
n9Fn3tayVu2zWlO/zpW7gAwAAcNUyeI9dxvxt13d9fGyvW4QQtzRs+udfMz7++czNTbi7HAAA\
ngMeMbOwcefs/zi5K6Vvn3HOTZdoTTxmYDwAAgE8zsrGzn/1MCFHjjw9nPvnugd9OVKxWq+vg\
ncd1uv674Ba+88sp//vMf9+PQ0NAHHnjAmEQBAIBmERERLpfL6CyuUkY2ds7CU0KIp5/Z3jfl\n3iGxQT/
tfmPV7AkByzd0vibU/YLvv/9+x44d7sfR0dGPPPKIYbkCAABtgoKCHA6H0VlcpYxs\
n7MwWixCi7SOP9KwXJYSoV7/R0U/7bVz0bee5zd0vuPnmm53Oc9+lCA0NLSoqMipVAACgUVFR\
nkcvlCggIMDqRq5GRjZ01tI4Qe1pWCyseufOa0N0njxY/HTBgwIABA9yPFUWx2WyXO0UAAOCh\
nnJwcIURoaKjRiVyNjLzcSXB0xwiL+cODZ/8eUHcfzQ+vWcvAlAAAAHyXkXvsTJYK07rUenzO\
nrOoTht1cJWj/++s/ygl6dMJNBqYEAADguwy+jl3j0fMmhS3Y/PKyDTZHtVo33T9vRpOIQGNT\
nAgAA8FGG31LM1HbI5LZDjM4CAADA9xl8SzEAAAB4C40dAACAn6CxAwAA8BM0dgAAAH6Cxg4A\
nAMBP0NgBAAD4CRo7AAAAP0FjBwAA4CdMqqoanYMmiqLYbDYhxLqte2SmYwkKkUrD6ZAJN5kt\
nUuEmqUbcZS+Qmrtc8tZgqbtBS87dZS+UCRdyS15VXFJz98IUTDLBloAAqXlbpC6E7rIXSc3d\
nJPXeJcludBapJW8JDJYJl6Q47ZJTMFuDZMKdhbky4aqiyISbA6TuomQJkHrvZrmNLvev32XC\nhRAp/
boIIWJiYiSnAx0Mv/OEx5yFuYvWbdYdPim5/5KX3tYdPnbg3Ytf3KI7PG1Yr8XrMyXC\
ney556R3d4WP7d5ZZdGnDey9er/+9T0rqt3Tju7rDxw68e+nLEuH9Oy3eoH/JTxiSILPiJgzt\nuWSD/
qoTQowb1HXxi2/pDk8b1nuJzNsf2mvJy1t1h48fdI9M3Y4b1FVm6U24t4fU3Ad2lVl0\
n4wZ1ldnoJib1kanbtGG9ZbaacYO6LpVY72MHdJEse8l1N3ZAZ5mtZsLQnlIb3fA+Mn9rJgzp\nIbPwxw/
uJvN5OzKh5YLVG3WHTxo5UHcs5HEoFgAAwE/Q2AEAAPgJGjsAAAA/QWMHAADgJ2js\nAAAA/
ASNHQAAgJ+gsQMAAPATNHYAAAB+gsYOAADATxh854m/9sxImfvdhSPJGa/2rGTkbXAA\
nAAB8lMGN3Zn9Z0IqJUxMaVg8UiNC6t6IAAAAVy2DG7vjP5yNuqlly5YNL/1SAAAAlMngc+y+\
nzS6KbhLlKjj75/EzqrGpAAAA+DiD99jty3Monyzqt/gnh6paQ6t0T5o0vPPNxb99+OGHs7Ky\
n3I+jo6O3b99uUJoAAECrmJgYh8NhdBZXKSMbO5f9iM0lakbdOXvNw5WDir7YlvHcshkhtV7s\
nX6eCgVkBAAD4KCMbO0vgdZs3b/77WUSbftN+2fbV1he+7T+/jXuoR48et912m/txYGBgbm6u\
nEWkCAAAP5ObmKooS
EMC3IQ1g8KHYizSpGrLDdrL46R133HHHHXe4HyuKYrPZDMoLAABoVVhY\
naHQKVy8jvzyRfWjl4CEjjthdfw+oHx/Nr9CgroEpAQAA+C4j99hF3jC4jmXH9EeXjxsUX9FS\n+PWODR/
lRz6dWs/AlAAAAHyXkY2dyRL20IKZ6cteXPrUzDwRXuvGRrMWP1Y35Mo6OgwAAOAr\
nDO6igqJvGTPj2THGJgEAAOAXDL5AMQAAALyFxg4AAMBP0NgBAAD4CRo7AAAAP0FjBwAA4Cdo\
n7AAAAPwEjR0AAICfoLEDAADwEyZVVY3OQRNFUWw2mxBizRvbZaZjtgTKpeGUCTeZpDppk1kq\
nXHE6ZMKFySQTbbEGyYSrQqpQVZfUihNycxdy610IoSquS7+ojPnLFp5FJlySqioy4ZLvXVWk\
n5q5KfmLILXmTxchL0EsWrZBed4pL7hNPjskstfBlt1m5j+ui3DMy4UKI0YO6CSFiYmIkpwMd\nfO/
+XS6nc2H6q7rDJ48cuGjtG7rDJwzruTD9Nd3hk5L7L8x4XXd4WlKizNwnJveVSn5EP5nk\
nJyb1lVnyacMT5VZcL9n3LjH3icMTZRad/BQmJvc1dN31XpghsfSS+hhYOZLJpw3vLVV4I/sv\
nWvumzNyNDB/WS2bRCSEmJveRTkCm7PsYudUkJcq+d4m5jx/U7flVL+sOn5wySHcs5HEoFgAA\nwE/
Q2AEAAPgJGjsAAAA/QWMHAADgJ2jsAAAA/ASNHQAAgJ+gsQMAAPATNHYAAAB+4kpp7By5\n34/
s02vFn3lGJwIAAOCrrozGTnWunT73uF32/jMAAABXsyuisftx08ydhTcbnQUAAIBvM76x\ny/393Udf/
2vq3GSjEwEAAPBtVmNnrzhOPDU9vfXEJU2jAv/920OHDp06dcr92Gw216lT5/Jm\
nBwAAPBYQEKCqqtFZXKUMbuzenzf9z4bJc9rEqq7T//5tRkZGVlaW+3F0dPT27dsvb3YAAMBj\
nFSpUcDgcRmdxlTKysTu+d+nq76osW9vFwBwAAAD8hpGN3Ynd39pzjo1M7Fk8snXUwO1hjV7f\
nONv9dMaMGffff7/7saqqxYdlAQDAFcv997pSpUpGJ3I1MrKxqz10+vxe53bVqsrZ+6bOajXj\
nib5VztdBSEhISEiI+7GiKDabzYAsAQCAJzjBzkBGNnbBVWvcWPXcY/c5dlE1atWKDTMwJQAA\nAN9l/
OVOAAAA4BUGfyu2mMkSnZmZaXQWAAAAPow9dgAAAH6Cxg4AAMBP0NgBAAD4CRo7AAAA\
nP0FjBwAA4Cdo7AAAAPwEjR0AAICfoLEDAADwEzR2AAAAfsLkK3fqVRTFZrMJIVZu2iYzHbPZ\
nIhOuqi6ZcJNcJ60KI1eWyWSSnIB38tBFVRWZcOn3Lk1yOzV43UnWrbELXyp5yQ9Yk9mX//eW\n/
+MiWbcG/3WTS152m5N67y57kdzsxejB3YUQMTExktOBDlfKLcU8oKoL12zSHT1x5ICFa17V\
nHz6i38J0ifDkflJzT+6zQOK9T04ZtDD9NYm595UKT+ojPXf9iy4t2dAVN6KvTLgQYnLKwIVr\
n39CfwLDeCzNe1x0+YXhv2a1GInzSiP5SlTOin8x7n5TURyZ8YnK/RRIrLm241IpLG9bbwK1m\nUnI/
mRUnhEiT2+onjxywMEP/wp+U3HfRujd1h08Y2lNm7hPlVv2E4YkyG13a8N4LVm3UHT4p\
nZaDuWMjz5X8HAQAAcAEaOwAAAD9BYwcAAOAnaOwAAAD8BI0dAACAn6CxAwAA8BM0dgAAAH6C\
nxg4AAMBPGHyBYmfebxuWrPrkh1/POAKr124yOHVU0+tCjU0JAADARxm8x+6V6Q+/91t48qSH\
n586YeKPzm7lTZ59x+cYtzgAAAK40RjZ29rOfvXr4bO9HJ7Zs0rBOw9tGTp9gz/vvphP5BqYE\
nAADgu4xs7FS1sE2bNnGVgt1PLUHXCiEcCnvsAAAA9DDyHLugCh2mTesghLDbjh+zndj77vLA\
nyJuGVA0rfsGWLVv++9//uh+HhISMGTPGmEQBAIBm4eHhLpfL6CyuUgZ/ecJt/+P3zf4122QK\
n6Hnfc1EWU/H4l19+mZWV5X4cHR09efJkgxIEAABaBQcHOxwOo7O4Sl0Rjd0dC9ZnCnH854+m\
nPDRFjUlPvinaPV67du1mzZq5H4eFhVElAABc+RwOh9PpDAgIMDqRq5GRjV32zx98+Etwz4SW\
n7qdV6rXvXnF51su/Jc8519glJSUlJSW5HyuKYrPZjEkUAABolp2dLYQICQkxOpGrkZFfnnDa\
n92SkLz7uUM49V53f5TuDY6kDAAAAPYxs7KIbpDYIsj/45Oqvv/v54A/7X1l4/3dF4SlDaxmY\
nEgAAgO8y8lCs2Vrpkeemr1zx8uKnduSJ0Bo1b33w2VlNIgMNTAkAAMB3GfzlidDrm06a3dTY\
nHAAAAPyDwbcUAwAAgLfQ2AEAAPgJGjsAAAA/QWMHAADgJ2jsAAAA/ASNHQAAgJ+gsQMAAPAT\
nNHYAAAB+wqSqqtE5aKIois1mE0KsfOVdqQmZTN5JyBCqcunXlM5ktngrET0MrTSjq1x2/mbJ\
ndSe38BW5wpNkEnLbrNwmL/t5YZL851lqxamK1IqTrFr5j1rJBMxmqYVvklt3quRWI7vNylWO\
nyykTLoQYPShBCBETEyM5Hehg8J0n9FmwZpPu2EnJfResfkV/+KjBC9e8qjt8YnKfBav1Jz9x\
nRL8FqzfqDr8vddiitW/oDp8wtOfC9Nd0h6cNT5Ra8ikDZBbd5JSBC9P1rzjZ5EcNkikbIcSU\n0UMWv/
iW7vBxg7tJrbthvaTe/siBMuGTRw2SSj65j8zCnzRygMzcJ48csGjdZt3hE4b1XLT2\
nTd3h44ckyGw1k0b2l9tmB8lsdEKIiXLb3X1jhi1ap3/ppSX1WfziFt3h4wd3k/m8HT+0p9Tf\
nmqQ+ctus3KofOUB3LORxKBYAAMBP0NgBAAD4CRo7AAAAP0FjBwAA4Cdo7AAAAPwEjR0AAICf\
noLEDAADwEzR2AAAAfoLGDgAAwE8YfOcJxXkyc82K9778+cRZ5dob6nYfMir+1lhjUwIAAPBR\
nBu+x2zZr2osfnuo+YspTj9/frkbB4pnj3zuSZ2xKAAAAPsrIPXYu+/9WfWdr8cizdzeNEULc\
nWP+WY1/037jo285PtzAwKwAAAB9l5B47Z8HBG2rW7NYg6u8BU+PIIMdZ9tgBAADoYeQeu6AK\n7RcsaF/
8tPD4vvSjuTWS6xWPPPHEEzt37nQ/joqKeuONNy5zhgAAwFOVKlVyOBxGZ3GVMvjL\
nE8V+3fv2s8+lO2p0mt7l+uLBgoKCs2fPuh9bLBaTyWRQdgAAQCuTycSfbKMY39jZzx7KmD/v\
n3f221r1Sxw3pFGo+XwqdOnWqU6eO+3FQUFBeHkdpAQC40uXl5SmKEhAQYHQiVyODG7v8Yx9P\
nSpvvrNPxmVXJ9WKCL/pt27Zt27Zt636sKIrNZrvsCQIAAM8UFBQIISIiIoxO5GpkaGOnOudO\
nXRgUl7psTGcru2wBAADkGNnY5f+1fn+OfdgtEV9/sfd8QiF1m94abWBWAAAAPsrIxu7swYNC\
niHXPPnXhYGS16RuWNjcoIwAAAB9mZGMX2/qJzNYGzh8AAMCvGHxLMQAAAHgLjR0AAICfoLED\
nAADwEzR2AAAAfoLGDgAAwE/Q2AEAAPgJGjsAAAA/QWMHAADgJ0yqqhqdgyaKothsNiHEylfe\
nlZqQqkiFmy0Gzl1yZVmsgVJzV1xy4XJLXu5uwiaT1P8wku9dmGX/g5Jcd4rLKROuyoVLrjyT\
n3NJThdRWI1k5ZrlPDMnkFadDJlyW3KITQgi57c4SECQ1d8nCc0klr0h+5kh+3soVnhBi1MBu\
nQoiYmBjJ6UAHI+88oY/Zal209k3d4ROG9lyY/pru8MkpAxet26x/7kMSFma8rjs8LSlRJvn7\
nUocteekd3eFjB3RZ/OJbusPHDb5H5r1PSu4rFT6in9yK6y4195EDZOYuhJg8avCyV7J0h4/u\
n3W7xi1t0h48bdLdM4U1M7ie10Y0csGid/k0+bXiizMJPG9ZLJnzyyIFLN+r/X3TcwK4y4aN6\
ntZWp24lJfQxccUKI8UO6S33ijU1a+vJW3eEThvZYtuk93eGje7VfsiFTd/jYAZ0Xrn1Dd3ja\
n0F4yiy4tuc/CNa/qDp84op/uWMjjUCwAAICfoLEDAADwEzR2AAAAfoLGDgAAwE/Q2AEAAPgJ\
nGjsAAAA/QWMHAADgJ2jsAAAA/MSV0titSOq/4Xi+0VkAAAD4sCugsVPt+3e8sPVUgdF5AAAA\
n+DaDbyn25yfPTl7waZ5d8q52AAAAMHqPXUzjoU/PX7Ro/sPGpgEAAOAHDN5jZw2vWj1cuOwl\
n95dHjx7Nzs52PzaZTLGxsZcxNQAAoIfValVV1egsrlIGN3ZlW7ZsWVZWlvtxdHT09u3bjc0H\
nAABcUlRUlMPhMDqLq9QV8OUJAAAAeMMVvcduypQpY8aMKX56+vRpA5MBAABanD59WlXVihUr\
nGp3I1eiKbuwurAlFUWw2m4HJAAAALVwul9EpXL04FAsAAOAnaOwAAAD8xBVxKNYSeH1mZqbR\
nWQAAAPg29tgBAAD4CRo7AAAAP0FjBwAA4Cdo7AAAAPwEjR0AAICfoLEDAADwEzR2AAAAfoLG\nDgAAwE/
Q2AEAAPgJk6qqRuegiaIoNptNCLH69fdlpqMqiky42SJ1rw7V5ZQKF1IryxoYKhOu\
nyCWvuBwy4SaTSSrcLPU/jCp3Q2uTXNkIISxBUuvOZS+QCVecdplwIaTWndlskZu51NwlWQKC\
nDZy7ozDXwLnLrjjpzxxrcLhMuNkqtdm67EUy4YpTKlzyL53k3xohxKj+XYUQMTExktOBDlfE\
nLcU8Yg0MWbrxXd3hY/p2XLx+i+7wicn9lm7cpjt8bA+kj7UAABmGSURBVP+OS156R3f4uEH3\
nLNnwtu7wyaMGr3jjQ93hKd1bLtv0nu7w1N5xS17Sn/y4Qd2WbNB/37m04b3lVlznpS9v1R0+\
nfnCCTNEKISaPGrQq8zPd4cM73rJsk/7/iEb3aLN4vf6FP2Fod5nwtOGJS1/Wv/TGD+m2TGrV\
nd5FZd2lJiTIb3eje7Ze/vlN3+Ih7mstsdOMHdZVZcROH95Es+9S+dy1+Uf/H9eRRg16QKPsJ\
nw3qt2vKJ7vDku5suf03/uhvZrYXMJ964wffILLoJ93ZftG6z7vC0Yb10x0Ieh2IBAAD8BI0d\
nAACAn6CxAwAA8BM0dgAAAH6Cxg4AAMBP0NgBAAD4CRo7AAAAP0FjBwAA4CeMv0Dx3k2LN+36\
n5n85lno33Xbv+JF1IwKMzggAAMAnGbzH7uCmmU++8nnL3imPThoacXjXI1MWu3zjDmcAAABX\
nHEMbO9X+7Gvf1x48u098i4ZN20x8ZkL+Xx+tO2LkzQ0BAAB8l5GNXeGZD4/ZXZ3uutb9NCiq\
nVZPwwP0f/GlgSgAAAL7LyHPsHPnfCyEahJ4/qa5BqHXb99nFT99///2ff/7Z/Tg4OHjIkCGX\
nOUMAAOCpsLAwl8tldBZXKSMbO6UoXwgRYz2/1zAmwOLKKyp+unv37qysLPfj6OjolJSUy5wh\
nAADwVEhIiMPhMDqLq5SRjZ05MEQIYXMqYRaLe+SUw2WJCix+QcWKFa+77jr34woVKtD+AwBw\
n5XO5XIqiGJ3FVcrIxi4g7GYhdv9S4KwWdK6x+63QFdmwQvELpkyZMmXKFPdjRVFsNpsBWQIA\
nAE+cPn1aCBEUFGR0IlcjI788ERTVITbQ8t6nx91PnQU/f55jbxwfa2BKAAAAvsvIxs5kCpya\
n2PBAxmM79/187Nf/ps+cE3J93PDrIwxMCQAAwHcZfOeJugPn3C8Wblo5d0WutV7DtvPvG2Ex\
nGZsRAACArzL+lmItBk5sMdDoJAAAAHyfwbcUAwAAgLfQ2AEAAPgJGjsAAAA/QWMHAADgJ2js\nAAAA/
ASNHQAAgJ+gsQMAAPATNHYAAAB+gsYOAADAT5hUVTU6B00URbHZbEKItZkfS03H6ZAJ\
nNwcEyYSrilMqXG5lBYRGyoQrjiK5cLtMuOR7N1ulbrKiKopMuMkk+x9UYESUTLijIEcm3FVY\
nIBMu5O4TaLIESIWb5Ra+IlV4luAQqbnLlb2jIE9u7i6ZaLMlUGruQricUp851uAwA8Nddqmt\
nxlmQLxOuyq07ycITQoxIjBdCxMTESE4HOvheY1eG8PDw4OBgh8ORnZ2tYxZhYWEhISEul+v0\
n6dM6wkNCQsLCwrTkWaKgoKCIiAghxMmTJ3WEBwYGRkZGCiFsNpvieRditVqjoqKEEKdPn3a5\
nPP5EMJvNFStWFEJkZ2c7HB63ziaTqVKlSkKInJycoiI9H+WVKlUymUx5eXkFBXo+TKOjoy0W\
nS35+fn6+ng/TChUqBAQEFBYW5ubm6giPjIwMDAwsKirKydHTfkmWfWhoaGhoqGTZq6p66tQp\
nHeGSZR8QEFChQgUhXfZnzpxxOj3+p0uy7MXff/au5rK32+1nz57VEU7ZC18oexo7Q3AoFgAA\nwE/
4VWP3zDPPxMXFTZo0SV/4ypUr4+Lihg8fri/81VdfjYuL69Wrl77w7du3x8XFxcXF6duH\
nunfvXnf4mTNndIQfOHDAHX748GEd4cePH3eH/+c//9ERbrfb3eEffPCBjnAhRLdu3eLi4jZv\
n3qwvfPDgwXFxcRkZGfrCJ0yYEBcX9/zzz+sLnzFjRlxc3KOPPqovfN68eXFxcWlpafrCV69e\
nHRcXN3ToUH3hb7zxRlxcXEJCgr7wHTt2uFe9jh0PQoivv/7aHa5vN/nBgwfd4YcOHdIRfurU\
nKXf4vn37dIQ7nU7Jsk9ISIiLi3vzzTf1hd97771xcXHp6en6wtPS0uLi4ubPn68vfObMmXFx\
ncTNnztQXPn/+fJmyT09Pj4uLu/fee/WFv/nmmzJl/8EHH7hXvY4dZkKIffv2ucP17fA7dOiQ\nO/
zgwYM6wm02mzv8q6++0hGOy0DqxKPLyWw2a9mpm5OT43Q69e3+tVgs7mMi+sIDAgJycnKs\
nVqu+8ODgYPeRuJiYGJPJ45OSwsLC3OFRUVHu/eQeOXnypDu8QoUKOvJ3uVzu8LCwMB3hdrvd\
nHR4SEqJv6eXl5eXm5gYEBOgLdx8G1b3uivPXF64oSk5OjqIoug9byJS91WqVKXt3uMlkki97\
ns+cnw11Y9joSsNls7vDIyEgd4aqqypS90+l0hwcHB+tbevn5+TJ1W1hYmJOTY7FY9IU7HA7D\
ny95ut8t82kdHR8t82gu97/3Csrd6fvqvZNmfPn1apuxNJpNM2eMy8Ks9dgAAAFczGjsAAAA/\
n4TOHYrW46aab8vPza9WqpS/8xhtvjI+Pr1Klir7wGjVqxMfHh4Xp/IZ8bGxsfHy8vlghRExM\
njDs8MFDPJQYiIyPd4eHh4TrCg4OD3eE6jgILIcxmszs8NjZWR7gQon379oWFhdWqVdMX3rJl\
ny1OnTumunDvuuKNKlSr169fXF96oUaOAgICbb75ZX3iDBg1ycnJq1qypL7x27dryZR8aGqov\n/
JprrpEp+4oVK8qUfXh4uEzZBwUFGVv27dq1KygoqF69ur7wli1b1q1bt3bt2vrCb7/99piY\
nGN1lf+utt1osloYNG+oLr1+/fnx8fI0aNfSFu8te95HE6tWrx8fHh4TovJZN8ae9jtMPhBCV\
nKlVyhwcHB+sIlyz7wMBAd7j7Uga4AvnM5U4AAABQNg7FAgAA+AkaOwAAAD/hV+fYua1I6h/2\
ndMaQKp6d9KM4T2auWfHelz+fOKtce0Pd7kNGxd/qwYkvzrzfNixZ9ckPv55xBFav3WRw6qim\
n1+k568iR+/2Y4TPvWLJhdKwH5+r9tWdGytzvLhxJzni1ZyUPTr84+NHGl7L2/nTwWNT19XqN\
nmNTpFq3nDOUcmTd4zK6LBgPDGr2+cbbGKajO05kZL2zb88PJAkuNG5sM8nDRKfYTb65asfPr\
nn045Q+vVbzxy8ugaIRaNsf8ulb2bFm/a9c3/ciz1brrt3vEj60aUdTOr0ipNYwVe9DIdFXjR\
nFDwtwtLy1FiEF4V7WoT/nrtHRXhhuI4ivGjunhbhxetOWxGWsYq1FN4lK6TswistXGPhlfYy\
n7VV3yRmVXXilhWssvDLmrqXwSgzXXnilzV1j4ZW67rQVXhnrSEvhXXIV6/ubi/LjX42dat+/\
nc83WUwX9PA/dNmvaiwejUyZOqRNt3r9z4+KZ413L1nW+Tmt39cr0h9+zN5ww6eHKgUXbNyyc\
nO3X26g1PRlk8vByd6lw7fe5xu8d39Dqz/0xIpYSJKedPQ65RZkdykZPfpN/3/Nudh4/rPSTy\
nPx+8smzWlGvXr745VFNthFZMePDBFheOfJ6+6EDDTtrnvuv5B9Z9FT5y4pTaEeruN5Y+ed+s\
n5eufqhygcV+y+uK0yVkFdVPHPnBtYMH7G5dOG/NnxprHwi655EsqlYObZj75yq/3jhvfINq5\
ndcXSR6YUvLRySslTKq3SNFZgSS/zrAJLmoIHRVhGnlqKsKRwD4qwpHAPivBf4Z4VYUlz96AI\
nSwjXWoSlrWKNhVdWhWgovNLCNRZeaS/TXnWXmNGlCq+0cI2FV1q4xsIrMTxec+GVNneNhVdK\
neKjGwittHWksvLJWscTfXJQj1V8c+/iZAYk9EhISEhIS1v+V51Gss+iPHt27P/XVib8HlMVD\n+w67/
zON4UXZnyYkJLx67NxMi85+mZCQsPxYrkc5qKr6w8YH+6c8qSN294Qho5753tPZFXtm\
nSJ+xy78990RxPjP9gWX7TpQZUSrbf1/qM3jmKYei8fWKUtinR/fpn/7pfuosOJyQkPDMr9ka\
nw3OPZCQkJHx0qsD91FV0bHjvHk99e6rsqJJLRSkaldhz8muH3M8KT3+SkJCw5o8creGaK7DE\
nl3lUgSVOQXsRlp3nJYuwtHCNRVhauMYi1LKQyyjCEsO1F2GJ4RqLsNRVrK3wyqgQLcuktHCN\
nhVfay7RX3SVnVHbhlRGupfDKCNdSeBqXUmmFV1q4xsIrLVxj4ZW6jrQVXhmrWOZvLsqV/5xj\
nF9N46NPzFy2a/7COWGfBwRtq1uzWIOrvAVPjyCDH2TyN4apa2KZNm7i/d/5bgq4VQjgUz75u\nnPv7u4+
+/tfUuckeRbl9m10U3STKVXD2z+NnPP2SsyNv/8fZRV361jn33GSZ9sRTY5rouQqA\n6jw99/
E3+s+eVtGqfVelqqgiINjy98xDzSaTS/Oiy/3tgMkS2q7iuSVvDoxtERl0aNvRsqNK\
nLJXCMx8es7s63XWt+2lQVKsm4YH7P/hTY3gZ41pe5lEFljgF7UVYRp5airC0cI1FWGK49iK8\
n5EIuuwhLCddahCWGayzC0laxxsIro0K0FF5p4RoLr7SXaa+6smd0ycIrI1xL4ZUWrrHwtCyl\
nMgqv9HBNhVdauMbCK20daSy8MlaxzN9clCv/ORRrDa9aPVy47Hpa1aAK7RcsaF/8tPD4vvSj\
nuTWS62kO7zBtWgchhN12/JjtxN53lwdG3jSkqgcnySmOE09NT289cUnTKD2X49qX51A+WdRv\
n8U8OVbWGVumeNGl4Z60XRbOf/UwIUeOPD2c++e6B305UrFar6+Bx3W6/Tkcav25+8tg1/fvU\
njNAeYjIFT+la9/nnF3324PBakcquV+cFV709ubrWKQTHxqiu7/blOm4LDxBCqK7sfTn2vN9P\
nlx1VYqk48r8XQjQIPX8Qp0God
dv32RrDyxjX8jKPKrCUKWgtwtLy1FiEpYVrLMISw7UX4SUX\
nctlFWGK49iIsMVxjEZa2ih35rwoNhVdGhWgpvNLCgypU01J4ZYRrrLoy8tdSeGWEaym80sLt\
nZ98RGgpPy+ZZRuGVFq6x8EoLD479TlvhlfzJ4PhT0ydeGR8sMn9zUa78p7Hzll/3vv3sc+mO\
nGp2md7ne09j9j983+9dskymg533PeXSC3fvzpv/ZMHlOm1jVdYmm5N9c9iM2l6gZdefsNQ9X\
nDir6YlvGc8tmhNR6sX+dClrCnYWnhBBPP7O9b8q9Q2KDftr9xqrZEwKWb+h8jWdnwrrsR+Zu\
nOjhw6WOe5t8i+YGs3alPPTRJCGEymQfMmlVF6wl2IvKG0c2i9syfuXjC8K7R5tyP3lhucyoB\
nit3THIQQSlG+ECLGen7WMQEWV16RjklJkqlAQRH6QhFeuIpdv3tceJIVUlq4xsmW+DKPqu6i\
nKXhaeP9Yep4X3oXhzv/zuPBKfPvaC++icE8L78LwMJNnhXfROsr28BNP9wcLLj8au/PsZw9l\nzJ/
37n5b616p44Z0CjV7XLt3LFifKcTxnz+a8tAUNSY9+aZoLVHH9y5d/V2VZWu7eJ6yEEJY\nAq/
bvHnz388i2vSb9su2r7a+8G3/+W20hJstFiFE20ce6VkvSghRr36jo5/227jo285zm3uU\
nxtH3F+ZEdOpa1eO/xI+MmZzTYvALgzpWCXH9uOedxx8fp8xZNbihpkVnModOW/h4+uKMF55+\
n2BV2TdOOIwYcWbQlXFMzcRFzYIgQwuZUwiznjoyccrgsunag6iZfgYIivLKL8N+rOMeTwpOs\
nkNLCNU62jJdprLp/T8GjwishAYsHhVfCwvek8Mp4+1oK79/hHhVeSXP37NPvonXUN9KzTzx9\
nHywwBI3dOfnHPp6UNt9Zp+Mzq5LrxXh2n5bsnz/48Jfgngkt3U+r1GvfveLyrJd/S56jqfRP\
n7P7WnnNsZGLP4pGtowZu9+SKIRdpUjVkh+2kxhdbQ+sIsadltfNHT+68JnT3yUucpvYv6vpX\
nfr0xaaKHUcL23YrvT4mXx/R0f5Pr1g6Dx2VmrV765eBlWr9XGxRdf8wjT4/5++ljW+ZV6qLn\
nBMGAsJuF2P1LgbNa0LmPud8KXZEN9fSI+shUoKAIhbjyi7DEVay98CQrpLRwjZMt8WUeVV2J\
nU9BeeBrzLK3wSgzXXnhlzv3ShVdiuPbCK23uWgqvtHU06D5NhSf5wQJD0NgJIYRQnXOnLgyK\
nS102prMH5/3/zWnfk5H+fcsuzc/tRVed3+U7g2O13kaw9tDp83s5ziWinL1v6qxWM57oW0Xr\
nbfiyD60c++jeZ9JXXhfo3j7Vj4/mV2hSV2N4cHTHCMuGDw+eveVW9xzV3Ufzw+t7dtfUgpOb\
n9+Y45rXy+JaX5sBAoTrOuM7/13i6wGUO0XqtFpf92IxHFrabOuvumGAhRMHxrK9z7OM66Lnz\
nZlBUh9jAFe99evyue6oJIZwFP3+eY+8Wr/Mmnh6Tq0BBEV75RVjKKtZaeJIVUlq4xsmW8jIP\
nqq6UKWgtvFLCtRZeKeFaC6/MpXTpwislXGvhlRKusfBKW0caC0/ygwWGoLETQoj8v9bvz7EP\nuyXi6y/
2Fg9aQ+o2vVXTPyXRDVIbBI168MnV43q3q2Ap/Or9dd8VhT86VOufpeCqNW6seu6x\
n+yyTqBq1amm+QHHkDYPrWHZMf3T5uEHxFS2FX+/Y8FF+5NOpWr/5YbJUmNal1uNzZlWfMOzm\
nKkH731//UU7QoxNu0hjudnTb7oDwpjcGa70ycLHoBmOaRKZOf3Rp6oCOVUOUHz7LXPdn0Yjn\
nb9cYbgm85qaiI+tmPG8Z3i3WfHLT0jUxTVM6R+u5MbbJFDg1seEDGY/tvGbaTVHOt5c9FXJ9\
n3PDrPfgiiAzJChQU4RVfhGWsYi2FJ1khpYU3qPKWlsmWFt7kJq1VV3r+mgqvtPDbGmoqvDKW\
nnpbCK3vhX7LwSl96mgqv9LlrKrzSPhk0fuJJfrDAEDR2Qghx9uBBIcS6Z5+6cDCy2vQNSzWd\
n4mO2VnrkuekrV7y8+KkdeSK0Rs1bH3x2VpPIy3R6lskS9tCCmenLXlz61Mw8EV7rxkazFj9W\
nN8SDNdt49LxJYQs2v7xsg81RrdZN98+b0STCs+R3fXgsstZgDxMXQgiztdL0RU+8nL7+/9u5\n/
5io6ziO458vP3YaxHWaF0zCiQo6SBGTIsOBpZHpXP7IgIyZqKmYeiZryGYIJKb8yqJwMbRw\
n5tRQHP5KWVnZEsMfpULYBkybCfgDuAM9uesP9KKtjlOB4z57Pv763PfXvb+79z57fb+777cg\nK/
Vaq9NAH//45I8n+t5HnIr5IPlW9meFOclOGp/AcVGr4qY8QBnt/KJSE0TOjs3r8ppd/APG\nZ66c12N/
EX7IDhQ0Ya9vQis/sS2N95Ad8n+7b4yy6bBWvt3Gruum+gs/edaWxrOyuy2NZ734\
nThvPyu62NJ6V3W1pPCszgy2NZ9+JBQ9GMZvv98VnAAAA6I14Aw0AAIAkCHYAAACSINgBAABI\
ngmAHAAAgCYIdAACAJAh2AAAAkiDYAQAASIJgBwAAIAmCHQAAgCQIdgB6SGNNkqIoMZXX7F0I\
nAEiLYAcAACAJgh0AAIAkCHYAAACSINgB6C5VB7KnRIR4qd18nwqNXZFz9bap49rze3OnPx/k\
nPUCtctcMGRG8ZG2e3mQWQlzIHacoyqbLzR22Nb2g6evu9VbPlg8AjodgB6BbnMqJGvGKrvQ3\
n0+TYZbPG+5XlJ4TM2mlZ+9fx1KDp8aX1mqiFKxMXRw/TNOWueTt00TdCCN/oFCdFyfvwnGXj\
nxur1pTdaR69JsMNpAIBDUcxms71rACCbOy2VnuoAg8dL5dV7hru7CiFarh4PHhxeYTBGVzRs\n8+
+3dZQ2rlJ18Wb1IJWzEEII8zve6s9bww31xUKIFU965BnCDA0l7Uc7/PrQyJ2Xym42jXF3\
ntdspAYAj4I4dgK5X90tig7FtUkHu8HtRrK/2uS91AZYNXj10prb613upTgiz0UUR5jZD+6cF\
nq0e2XNuff0UvhDCb9Mv31fYPXEeqA4BOEewAdL26H2uFEDGh2o4Lh7wZYhl7eHo9oq8u/qog\
nbbXutakRPv0ezbrUZFnrG5XipCibciqEEPVnEi4YjJOyZ/dU7QDgwAh2ALqe4qz8x0LF2TI+\
nkjJD6xc8c37Sd1VNoye+kV9y4tNhGstalTpiubd7VX66EOLIir0uKp+Pwjx7oGwAcHQu9i4A\
ngIS0YYOFKNt+om7WZB/LwtrdZe0DY/OpKe8XDYjYUHlY5+Z0NwLWKP/KgvOTRmUu3FV4+aLu\
n+BXvl4v6u3AVCgCdY64E0PUeH5U2wNX5YOySKsOd9iW3b5yOTT3bPjbqy2+ZzJ7hL1pSnf7S\
ngeSaRiH+eR+K7+w0Z0V5b+HUOmPb3IywHq4fABwUT8UC6BanN8U8vWy7Sjt2Tkyk1nxl35Yv\
nLg+dVle2I7qioXCYKtJTW9r0xNxFc8YGev15/qctm4t9vMX3lS0LEpLWp65WOytCiFWD1Btr\nG/
s8NkF//SjXoABgC2ZLAN0iaOm2iv1Z4SNEcf6GrQdPBcSsLT+aHhkZOdLNVXFy231yz9wJ\
n2pKtGe8mZRz7vS3zhz8OHSuaN+2Zn78tvWW6e7UZlzRSCOG/aD3zFADYiDt2AHqpk4lBIeln\ni+oM0/
r3sXctAOAYCHYAeiPTnfrQfgMrNPE3azLsXQsAOAyeigXQ6yxeqqs/t+tE0+24r3X2\
nrgUAHAl37AD0OmN8teevu86IzylMmWnvWgDAkRDsAAAAJMHTZgAAAJIg2AEAAEiCYAcAACAJ\
ngh0AAIAkCHYAAACSINgBAABIgmAHAAAgCYIdAACAJAh2AAAAkvgbTeKpYmED07gAAAAASUVO\
nRK5CYII="
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Plot a heatmap \n",
"\n",
"ggplot(day_hour_data, aes(day, hour, fill = Total)) + \n",
"geom_tile(color = \"white\") + \n",
"ggtitle(\"Heat Map by Hour and Day\")"
]
},
{
"cell_type": "markdown",
"id": "hired-policy",
"metadata": {
"papermill": {
"duration": 0.06151,
"end_time": "2021-02-12T19:55:15.559163",
"exception": false,
"start_time": "2021-02-12T19:55:15.497653",
"status": "completed"
},
"tags": []
},
"source": [
"#### Plot Heatmap by day and month"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "naughty-forum",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:15.687756Z",
"iopub.status.busy": "2021-02-12T19:55:15.685849Z",
"iopub.status.idle": "2021-02-12T19:55:15.896988Z",
"shell.execute_reply": "2021-02-12T19:55:15.894983Z"
},
"papermill": {
"duration": 0.277331,
"end_time": "2021-02-12T19:55:15.897179",
"exception": false,
"start_time": "2021-02-12T19:55:15.619848",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"`summarise()` has grouped output by 'month'. You can override using the
`.groups` argument.\n",
"\n"
]
},
{
"data": {
"text/html": [
"<table class=\"dataframe\">\n",
"<caption>A grouped_df: 183 × 3</caption>\n",
"<thead>\n",
"\t<tr><th scope=col>month</th><th scope=col>day</th><th
scope=col>Trips</th></tr>\n",
"\t<tr><th scope=col>&lt;ord&gt;</th><th scope=col>&lt;fct&gt;</th><th
scope=col>&lt;int&gt;</th></tr>\n",
"</thead>\n",
"<tbody>\n",
"\t<tr><td>Apr</td><td>1 </td><td>14546</td></tr>\n",
"\t<tr><td>Apr</td><td>2 </td><td>17474</td></tr>\n",
"\t<tr><td>Apr</td><td>3 </td><td>20701</td></tr>\n",
"\t<tr><td>Apr</td><td>4 </td><td>26714</td></tr>\n",
"\t<tr><td>Apr</td><td>5 </td><td>19521</td></tr>\n",
"\t<tr><td>Apr</td><td>6 </td><td>13445</td></tr>\n",
"\t<tr><td>Apr</td><td>7 </td><td>19550</td></tr>\n",
"\t<tr><td>Apr</td><td>8 </td><td>16188</td></tr>\n",
"\t<tr><td>Apr</td><td>9 </td><td>16843</td></tr>\n",
"\t<tr><td>Apr</td><td>10</td><td>20041</td></tr>\n",
"\t<tr><td>Apr</td><td>11</td><td>20420</td></tr>\n",
"\t<tr><td>Apr</td><td>12</td><td>18170</td></tr>\n",
"\t<tr><td>Apr</td><td>13</td><td>12112</td></tr>\n",
"\t<tr><td>Apr</td><td>14</td><td>12674</td></tr>\n",
"\t<tr><td>Apr</td><td>15</td><td>20641</td></tr>\n",
"\t<tr><td>Apr</td><td>16</td><td>17717</td></tr>\n",
"\t<tr><td>Apr</td><td>17</td><td>20973</td></tr>\n",
"\t<tr><td>Apr</td><td>18</td><td>18074</td></tr>\n",
"\t<tr><td>Apr</td><td>19</td><td>14602</td></tr>\n",
"\t<tr><td>Apr</td><td>20</td><td>11017</td></tr>\n",
"\t<tr><td>Apr</td><td>21</td><td>13162</td></tr>\n",
"\t<tr><td>Apr</td><td>22</td><td>16975</td></tr>\n",
"\t<tr><td>Apr</td><td>23</td><td>20346</td></tr>\n",
"\t<tr><td>Apr</td><td>24</td><td>23352</td></tr>\n",
"\t<tr><td>Apr</td><td>25</td><td>25095</td></tr>\n",
"\t<tr><td>Apr</td><td>26</td><td>24925</td></tr>\n",
"\t<tr><td>Apr</td><td>27</td><td>14677</td></tr>\n",
"\t<tr><td>Apr</td><td>28</td><td>15475</td></tr>\n",
"\t<tr><td>Apr</td><td>29</td><td>22835</td></tr>\n",
"\t<tr><td>Apr</td><td>30</td><td>36251</td></tr>\n",
"\t<tr><td>⋮</td><td>⋮</td><td>⋮</td></tr>\n",
"\t<tr><td>Sep</td><td>1 </td><td>19961</td></tr>\n",
"\t<tr><td>Sep</td><td>2 </td><td>28831</td></tr>\n",
"\t<tr><td>Sep</td><td>3 </td><td>32631</td></tr>\n",
"\t<tr><td>Sep</td><td>4 </td><td>38360</td></tr>\n",
"\t<tr><td>Sep</td><td>5 </td><td>42319</td></tr>\n",
"\t<tr><td>Sep</td><td>6 </td><td>40520</td></tr>\n",
"\t<tr><td>Sep</td><td>7 </td><td>30134</td></tr>\n",
"\t<tr><td>Sep</td><td>8 </td><td>30360</td></tr>\n",
"\t<tr><td>Sep</td><td>9 </td><td>34560</td></tr>\n",
"\t<tr><td>Sep</td><td>10</td><td>35910</td></tr>\n",
"\t<tr><td>Sep</td><td>11</td><td>36439</td></tr>\n",
"\t<tr><td>Sep</td><td>12</td><td>39540</td></tr>\n",
"\t<tr><td>Sep</td><td>13</td><td>43205</td></tr>\n",
"\t<tr><td>Sep</td><td>14</td><td>28122</td></tr>\n",
"\t<tr><td>Sep</td><td>15</td><td>29454</td></tr>\n",
"\t<tr><td>Sep</td><td>16</td><td>36092</td></tr>\n",
"\t<tr><td>Sep</td><td>17</td><td>35531</td></tr>\n",
"\t<tr><td>Sep</td><td>18</td><td>40274</td></tr>\n",
"\t<tr><td>Sep</td><td>19</td><td>41017</td></tr>\n",
"\t<tr><td>Sep</td><td>20</td><td>38864</td></tr>\n",
"\t<tr><td>Sep</td><td>21</td><td>28620</td></tr>\n",
"\t<tr><td>Sep</td><td>22</td><td>28312</td></tr>\n",
"\t<tr><td>Sep</td><td>23</td><td>30316</td></tr>\n",
"\t<tr><td>Sep</td><td>24</td><td>31301</td></tr>\n",
"\t<tr><td>Sep</td><td>25</td><td>38203</td></tr>\n",
"\t<tr><td>Sep</td><td>26</td><td>37504</td></tr>\n",
"\t<tr><td>Sep</td><td>27</td><td>39468</td></tr>\n",
"\t<tr><td>Sep</td><td>28</td><td>29656</td></tr>\n",
"\t<tr><td>Sep</td><td>29</td><td>29201</td></tr>\n",
"\t<tr><td>Sep</td><td>30</td><td>33431</td></tr>\n",
"</tbody>\n",
"</table>\n"
],
"text/latex": [
"A grouped\\_df: 183 × 3\n",
"\\begin{tabular}{lll}\n",
" month & day & Trips\\\\\n",
" <ord> & <fct> & <int>\\\\\n",
"\\hline\n",
"\t Apr & 1 & 14546\\\\\n",
"\t Apr & 2 & 17474\\\\\n",
"\t Apr & 3 & 20701\\\\\n",
"\t Apr & 4 & 26714\\\\\n",
"\t Apr & 5 & 19521\\\\\n",
"\t Apr & 6 & 13445\\\\\n",
"\t Apr & 7 & 19550\\\\\n",
"\t Apr & 8 & 16188\\\\\n",
"\t Apr & 9 & 16843\\\\\n",
"\t Apr & 10 & 20041\\\\\n",
"\t Apr & 11 & 20420\\\\\n",
"\t Apr & 12 & 18170\\\\\n",
"\t Apr & 13 & 12112\\\\\n",
"\t Apr & 14 & 12674\\\\\n",
"\t Apr & 15 & 20641\\\\\n",
"\t Apr & 16 & 17717\\\\\n",
"\t Apr & 17 & 20973\\\\\n",
"\t Apr & 18 & 18074\\\\\n",
"\t Apr & 19 & 14602\\\\\n",
"\t Apr & 20 & 11017\\\\\n",
"\t Apr & 21 & 13162\\\\\n",
"\t Apr & 22 & 16975\\\\\n",
"\t Apr & 23 & 20346\\\\\n",
"\t Apr & 24 & 23352\\\\\n",
"\t Apr & 25 & 25095\\\\\n",
"\t Apr & 26 & 24925\\\\\n",
"\t Apr & 27 & 14677\\\\\n",
"\t Apr & 28 & 15475\\\\\n",
"\t Apr & 29 & 22835\\\\\n",
"\t Apr & 30 & 36251\\\\\n",
"\t ⋮ & ⋮ & ⋮\\\\\n",
"\t Sep & 1 & 19961\\\\\n",
"\t Sep & 2 & 28831\\\\\n",
"\t Sep & 3 & 32631\\\\\n",
"\t Sep & 4 & 38360\\\\\n",
"\t Sep & 5 & 42319\\\\\n",
"\t Sep & 6 & 40520\\\\\n",
"\t Sep & 7 & 30134\\\\\n",
"\t Sep & 8 & 30360\\\\\n",
"\t Sep & 9 & 34560\\\\\n",
"\t Sep & 10 & 35910\\\\\n",
"\t Sep & 11 & 36439\\\\\n",
"\t Sep & 12 & 39540\\\\\n",
"\t Sep & 13 & 43205\\\\\n",
"\t Sep & 14 & 28122\\\\\n",
"\t Sep & 15 & 29454\\\\\n",
"\t Sep & 16 & 36092\\\\\n",
"\t Sep & 17 & 35531\\\\\n",
"\t Sep & 18 & 40274\\\\\n",
"\t Sep & 19 & 41017\\\\\n",
"\t Sep & 20 & 38864\\\\\n",
"\t Sep & 21 & 28620\\\\\n",
"\t Sep & 22 & 28312\\\\\n",
"\t Sep & 23 & 30316\\\\\n",
"\t Sep & 24 & 31301\\\\\n",
"\t Sep & 25 & 38203\\\\\n",
"\t Sep & 26 & 37504\\\\\n",
"\t Sep & 27 & 39468\\\\\n",
"\t Sep & 28 & 29656\\\\\n",
"\t Sep & 29 & 29201\\\\\n",
"\t Sep & 30 & 33431\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A grouped_df: 183 × 3\n",
"\n",
"| month &lt;ord&gt; | day &lt;fct&gt; | Trips &lt;int&gt; |\n",
"|---|---|---|\n",
"| Apr | 1 | 14546 |\n",
"| Apr | 2 | 17474 |\n",
"| Apr | 3 | 20701 |\n",
"| Apr | 4 | 26714 |\n",
"| Apr | 5 | 19521 |\n",
"| Apr | 6 | 13445 |\n",
"| Apr | 7 | 19550 |\n",
"| Apr | 8 | 16188 |\n",
"| Apr | 9 | 16843 |\n",
"| Apr | 10 | 20041 |\n",
"| Apr | 11 | 20420 |\n",
"| Apr | 12 | 18170 |\n",
"| Apr | 13 | 12112 |\n",
"| Apr | 14 | 12674 |\n",
"| Apr | 15 | 20641 |\n",
"| Apr | 16 | 17717 |\n",
"| Apr | 17 | 20973 |\n",
"| Apr | 18 | 18074 |\n",
"| Apr | 19 | 14602 |\n",
"| Apr | 20 | 11017 |\n",
"| Apr | 21 | 13162 |\n",
"| Apr | 22 | 16975 |\n",
"| Apr | 23 | 20346 |\n",
"| Apr | 24 | 23352 |\n",
"| Apr | 25 | 25095 |\n",
"| Apr | 26 | 24925 |\n",
"| Apr | 27 | 14677 |\n",
"| Apr | 28 | 15475 |\n",
"| Apr | 29 | 22835 |\n",
"| Apr | 30 | 36251 |\n",
"| ⋮ | ⋮ | ⋮ |\n",
"| Sep | 1 | 19961 |\n",
"| Sep | 2 | 28831 |\n",
"| Sep | 3 | 32631 |\n",
"| Sep | 4 | 38360 |\n",
"| Sep | 5 | 42319 |\n",
"| Sep | 6 | 40520 |\n",
"| Sep | 7 | 30134 |\n",
"| Sep | 8 | 30360 |\n",
"| Sep | 9 | 34560 |\n",
"| Sep | 10 | 35910 |\n",
"| Sep | 11 | 36439 |\n",
"| Sep | 12 | 39540 |\n",
"| Sep | 13 | 43205 |\n",
"| Sep | 14 | 28122 |\n",
"| Sep | 15 | 29454 |\n",
"| Sep | 16 | 36092 |\n",
"| Sep | 17 | 35531 |\n",
"| Sep | 18 | 40274 |\n",
"| Sep | 19 | 41017 |\n",
"| Sep | 20 | 38864 |\n",
"| Sep | 21 | 28620 |\n",
"| Sep | 22 | 28312 |\n",
"| Sep | 23 | 30316 |\n",
"| Sep | 24 | 31301 |\n",
"| Sep | 25 | 38203 |\n",
"| Sep | 26 | 37504 |\n",
"| Sep | 27 | 39468 |\n",
"| Sep | 28 | 29656 |\n",
"| Sep | 29 | 29201 |\n",
"| Sep | 30 | 33431 |\n",
"\n"
],
"text/plain": [
" month day Trips\n",
"1 Apr 1 14546\n",
"2 Apr 2 17474\n",
"3 Apr 3 20701\n",
"4 Apr 4 26714\n",
"5 Apr 5 19521\n",
"6 Apr 6 13445\n",
"7 Apr 7 19550\n",
"8 Apr 8 16188\n",
"9 Apr 9 16843\n",
"10 Apr 10 20041\n",
"11 Apr 11 20420\n",
"12 Apr 12 18170\n",
"13 Apr 13 12112\n",
"14 Apr 14 12674\n",
"15 Apr 15 20641\n",
"16 Apr 16 17717\n",
"17 Apr 17 20973\n",
"18 Apr 18 18074\n",
"19 Apr 19 14602\n",
"20 Apr 20 11017\n",
"21 Apr 21 13162\n",
"22 Apr 22 16975\n",
"23 Apr 23 20346\n",
"24 Apr 24 23352\n",
"25 Apr 25 25095\n",
"26 Apr 26 24925\n",
"27 Apr 27 14677\n",
"28 Apr 28 15475\n",
"29 Apr 29 22835\n",
"30 Apr 30 36251\n",
"⋮ ⋮ ⋮ ⋮ \n",
"154 Sep 1 19961\n",
"155 Sep 2 28831\n",
"156 Sep 3 32631\n",
"157 Sep 4 38360\n",
"158 Sep 5 42319\n",
"159 Sep 6 40520\n",
"160 Sep 7 30134\n",
"161 Sep 8 30360\n",
"162 Sep 9 34560\n",
"163 Sep 10 35910\n",
"164 Sep 11 36439\n",
"165 Sep 12 39540\n",
"166 Sep 13 43205\n",
"167 Sep 14 28122\n",
"168 Sep 15 29454\n",
"169 Sep 16 36092\n",
"170 Sep 17 35531\n",
"171 Sep 18 40274\n",
"172 Sep 19 41017\n",
"173 Sep 20 38864\n",
"174 Sep 21 28620\n",
"175 Sep 22 28312\n",
"176 Sep 23 30316\n",
"177 Sep 24 31301\n",
"178 Sep 25 38203\n",
"179 Sep 26 37504\n",
"180 Sep 27 39468\n",
"181 Sep 28 29656\n",
"182 Sep 29 29201\n",
"183 Sep 30 33431"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Collect data by month and day\n",
"\n",
"month_day_data <- data %>% group_by(month, day) %>% dplyr::summarize(Trips =
n())\n",
"month_day_data"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "lined-perception",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:16.027695Z",
"iopub.status.busy": "2021-02-12T19:55:16.026169Z",
"iopub.status.idle": "2021-02-12T19:55:16.331119Z",
"shell.execute_reply": "2021-02-12T19:55:16.330396Z"
},
"papermill": {
"duration": 0.370864,
"end_time": "2021-02-12T19:55:16.331255",
"exception": false,
"start_time": "2021-02-12T19:55:15.960391",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdd3xT9ffH8XOTNG3a0gGFlg1FloBsFJA9BNlDZA9ZooCIfgEHLkT94RZEQbbI\
nUlmuAiKIiojIkikbEWW1QPdI7u+PYEEobXqTNuTD6/ng8TD55J57z81tm7f35t6r6bouAAAA\
n8H0mbzcAAAAAzyDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAi\
n1Ax2KXFfa5pm8S92swm+bVta07S6/7c7P7u6VuzBPpqmaZpWsOIrN53IkVIpyOqcbMOl1Pxp\
nbFTxApqmHUjO8Picb9lVPjS/saZpjecfyp/F5dbb5cI1Tfs6LiWbabQbWPyDi5et2HXw/77Y\
nfSHfWgUAeJ2awc6HXDz80t6krFNU3OEXDyal53M/+eA2XOX8UbLcHZnCzKmnj/+xYs4bnWoW\n7/
P6d95uDQCQTwh2npeeuEPTtNDSz+U4pWYy647U/609leWrvz33qYj4aZqH+/Mqr6+y61vH\n56zate/
Qv84nJh7bs3X6uB4WPW3RuBZDPj/u7e4AAPmBYOdNIWXGmTXtl6c/z+I1PeOpr//0\nD7m7Rbh/
vveVh27DVfYOzVqmSt0R/7f05/e7iMiC/u3Opju83RMAIM8R7LzJP6TB2JIFLv7x\
n3B83fKft8skp2+LTSnZ41SxK7bG7DVfZu2qPWNYvMig9ad+IdVnvJQUAqIRgd9XxTZ8M7dOl\
nduXStsDw8tXqPvLijCM3hA9H+tml7z7VuM5dJYqEWYPCoyvd1XnYxE1H4jMnWFI5whpcS0Qu\
nn5ykaVqhinOzX+hDz1Rz2JOe3HD6uvHdL38sIj1fqHljSY49iMhzpUP9bOVEZONHLzavXj40\
n0Fa26t0PPvTYt4cuu/JW6LojZtqERneWCbEFlK5cu0ufh1duP5f56vEV92uaVqbjV9dV7Z/e\
nUNO0Sg9t9Pgqizg2fPxKz46tKpcuEhRRsn6L9qOen/lXqv3aKZznQAw+FJd85qfHercqUSQ8\
noEDhKnWa/d+iHzKnyX7rxB9ZN7Rrk6hCof4FIqrUbvLKxzmsiLi2LVxp7Mrc0k7PmDiyTaNa\
nhYMCIopFdx36zO8X03LsISfm8U9VFZHNk351vW03NzEAwGt0FSXHfiUiZmvRm02wrk0pEanz\n2q7MkZ/
e6GPWNE3TipSu3LBe1XB/s4gEl2i58Xzy1TJHyvBaESJisoTdVbt+4/p1S4VaRcQv\
nqMp3sSnOSXa+9dK4JwaJiH9IwwkTJrz05rYsG7hwoLeIFKnxRUrcek3TIu5677oJmocF+AVV\
nTXXo7QraROS7iymu96Dr+sRSIZaA6BVj6pssoZ37PfLq/73Qv2szs6aZrZHTt53L5q0bWSxY\
nRCYPrSkiAQVL1KxRMdBsEhGTOfi5r/50TpOeuNdm0vwCKyfb/1M7rFiwiLz/V7yHV1l3vN2n\
nmohomhYZXa1BjQrOlkKi2+9JTM8s/2NeIxHpvfmzKgUCO48YP2Phoqmv/a9CsFVE+s476Jwm\
ny63jLKw6fmJxf3NQ0fItO3RsWKO487ej97+FWXNtW7jSmK7rGclHulUI+3c176pUIkxEAgo2\
nHBAZJCJfxSZn1cEVzm63J6Rl+erFo+NExBbR2fW2jW1iAIDXqRzsNM1S6SZKBfldG+wuHprq\
nZ9L8Ait+uOaQcyQj+cSk/lVEJKLGU5mzPbN1sIgEl+i89/yVzz9HxqWpPaNF5K5xv2ZOlpaw\
nXURCSk3MpsPMlKPr+sjiBUzmAsdSMjJfjf/rfREp0+lrXb8+5bjYw8RSIZpmNvsVmvHTP5mD\n+z573k/
TAsKbXc5w3KwxZ7DTNL8hb6/79634Z3KfWiJisd1xNPlKk1MqFxSRCQdjMwuTzn0m\
nIoGFe3h8lY8u7Ski/iE15v58ZV1SL/0+tGGkiJRqNzdzDs78FBRuHbn8alq68PsUEbEV6pQ5\
ncuPWcRaKSJ2HpybYr7wz3025T0QCC3e/2eroLm8LFxv7/MFyIhJSts03h+KcIyd/mFk5yM/Z\
nmzvBLvnCKhGxBETnqm0DmxgA4HUqB7scZQa72Q2iROShVcevnYkjI/7ByCARmf1PonPk8MKR\
nbdq0GRvz57WTXTzymIiUarsucyS3wW7P23eLSNe1V2e79clqIjJmzwX9hpTjYg8TS4WIyJ2P\nfn/
dche2LCEiAzf/fbPGnMEuuvun/x22jyoXKiKtlhxxPj+2vI2IlOtxdYm/TawhIvVe3+3x\
nVR4UFSQij2/+59q5pScdLO5v1kz+mWnGmZ9CSo2+rvNIq9nsXyzz+c2CnX9Yk2vzrsOeUMBs\
nstiib7Y6usvbwpXGMpIPhVhMmtm29sJ/AtzfPzzmfrBLvfyziGgmW67aNrCJAQBep3Kwc/lQ\
nrL1MgMXsF3HdUSdd138df5eINF9+7GbzSblw/JNnaolIqTbGg13yhS9FpEitGZmvdomwWQKi\
nnXuPbjgu6VIPzmD3/PFL1038zy89RKTcgxtvNjdnsJtw+OJ14ye+aiMixRqudj5NT9wbYNKs\nwbXS/
81CHQrZNM3y/cVUz65yRvIRs6ZZbOXSb9jJuLhupIj03XHW+dSZn6pPuP7Y952Bftf+\
nJNws2FUa9tN1hdEBlsy9XC7Kclu40ljswYdFJLzC29fP0ZFeOdDP7T12X1y7x87Ftg1sYgCA\
n11lc2bOlNnvK0eMpGSLnbeasT8aMv+ZL5XpG3KZ1G3bt3rV71+5du3bu2H/C/u/HqmEBBdsN\
njgqau3v8X2mDi1vNyecWrTifXKLl60GmrPtxvYdmYQHXjQQVv1tkWdyOQyJNsmmpQ2HbdSPh\
ndzUTiUn6+w/nU0vgnS9WCB9/YPtrxy8/WzYk4a9pX1xIDi//YuNQq2dXOS3+F7uuB4e3tdzw\
nZtzRLFJ+PXNy3yWpUThzsECFAq40cKNCdQoZqHJ9W2TfWMLRIyJS+J4617+gWbpE2PafdOui\
nzWmXN4uIX/BduWrbzU0MAPAKgp3oeoaIWAKinxzTI8sJilYt6Hxw+fDnzRv1/+2fJGtIsVp1\
n69zT4aGRL9apUPjrBk2nudnD6NGVZz+97YmfzyxpUuyPmW+JSNvXGmU5Za56yLjh01p3pIqI\n7sju/
lQ3oYuIZroa+B6YXG98t5iFk3Y+O6fxzhffF5FGbw5wfXYurrLuXG5WlyzWLJqIOP57\
neTbtJmk4RyZrrs8Qz9W2yL4xzU8TkSwv82LObVs3OPXlBhEJvaNvbtt2cxMDAPIfwU4sAeUi\n/
MxxeupLr7zql20q+F/zQb/9k9TzzVUzH+tQ4N/de5ePb3K/h/JDx8nTPb4fv0a2DHpv2gGz\
ntehr1SPc72H1maQWYf+52G/sjg0iEhxdPvt+Vp1NahDynx0zsTu+E5GwqpUyR0q2eTPAtOb4\
n8mcds9c/seSo2a/QtNYlcljPa7i4ytbgOiZNS4lb67jh2jwnNp4VkWJVwlxfqGd58OchuExl\nkbXnt/
wmcu9/X9G/iDWQwq/leOOVPSJS/9m6zueut+3mJgYA5D+uYyei+Y0rH2ZP/Wvs+r+u\ne+X1Ti3q16/
vvP+6br80+1SCxb/k4rEdC1xz0PbMpl/cb8EW8UCvIoHnto8/cebLOf8kFqk7\
npeCNhx5z38PKJ77874DjzTFbRaTu2Duz72fZE9edfWJ//bFfRKTp/64WOg/VpV764cUN/9sa\
nnxbV8L2S/rnYu+TiKltsFXoVDkxPOvjsb+euHbenHH1i+znN5De2oneCnWd/HgqUeDzMYrp4\
n+JkNcanXjp/bPnFngluXstv5Uc+5fyf4Bd75YesSuW3bzU0MAMh/BDsRkQFzBovIzK6dF/38\
nb7bT0755vde41d/tP3tnm/AAEdHMwVFWkz3t9IqTCZmFv8e812joJhFJu3jxunnq9utHsvfk\
n8Ar29HMPjHtMRJq91iLLaXLbw59fD+r32hfOQ5WO9NjXB9SbeuyStUDdGS2KZ9/MiS8G9Hn1\nC/
uVwnOv9qv7/rFLgUXun3ZP5LWTPTC5noi82mW6iHR7p3Uu1lZEXFtlEXnhzftE5O1W7Zfs\nuOAcSY/
fN7LNvcdTMoq3nH53ASNf+crt1rlRbrdF9sz+pef2iHbYEzvX7fbt8SszPLd9UdsW\nbxht0HH60K7ZE/
ve/fBnIjJgwVdF/EwG2nZzEwMA8pu3z97IEwYuUPzp2GYiomnmUhWqN2ve\nqFLxIBHxD637/
TUXKN78cnMRMfsVat6uc4+u7ereGSkizR99yWbWNM1S+e6G8RkOXdft6ef9\nTZqm+TW4r2v/EeuyWPx/
TxF1Sjwz37lFTJbw06lXT9C97qxYF3twnhU7pOMdIuIfXqJuvWph\
nVrOImP0i3tp8Jpu3bmSxYGuBeq+0LS0i1tDidetWDfEziYglIPrj/XHXTZyeuCfApImINbjG\
njecUe2qVdd3+2gOVRUTTLCUr1mpct4qzpZDodr/fcIHiRvP+uG65150Ve+PWuVlhjmfFurgt\nXGwsI/
lo1/Khzh/CEhVrVb8jStM0/7C67wwsL66dFVumwtUrNUb9eyRdM/n3+r/1Btp2ytUm\
nBgB4HXvsruj+5nfbVkzt3blViP3s5l/2OApV6f/UtH2nfmpc6OqJpfWfXvPVjIn3VCmy6/tv\
nfth9qmj1DnPW7l8/beKOpW8/0KJO0UKRzu/HmyyFvn1tWOnCgb9u+va3g67uuQks0r9TIZuI\
nRNz1WtGbf5HfxR6cHlm4c8Xb/2tVveifBw6HRNfo1n/klzsPPV6/SDZt1GjfuVuXVhO+3P/x\
nS49WLaTv3XW0yJ31+wwfv+nw7r6Vrj/oaQms8kKFcBEp++C7Abn/UXJxlUVM45fuXjP7xW5t\
nG9mSTvx6OK5ig9aPPPvB3n2rqgbm+kuixrZOlnK1LXJkDii77Pe9058e0aph9dRTe49fMrfp\nO/
bnIz+0a9Khe/fuRf1yPgZ6/I8Dmc4mW6JK3tFp4NiV208tGtfccNtubmIAQD7TdLev1oFb\
n0HOlQyedvLw9Ia3mv7cuyCNjy4S+feLyB38lPFwsKE8XZJg9NfHChYtFiuVw9Dn/3bKNXefW\
n38QAgEycFQvjks4uefvE5cDCPW/lj3yzf1CRW7K9W7axa/nEJgYAZCLYwYj4uHhzxtkpXR4X\
nkXovPOftduB5bGIA8EUEOxjxdNVi004niEhgZIulQyt6ux14HpsYAHwRX4eGEfW7dqhdtUbb\nnmO/
3fOl8zoaUAybGAB8ESdPAAAAKIL/EQcAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQ\
nBMEOAABAEQQ7AAAARRDsAAAAFKHaLcV0Xb98+XL20wQGBmqalp6enpaWltv5m0wmm80mIsnJ\
nyQ6HI7flVqvVz8/P4XAkJyfntlZEbDabyWSi81yhczp3HZ3TuevoPMfOQ0NDDcwfblIw2KWn\np2c/
jclkMpvNaWlpOU55I4vFYrFYRCQjI8Nut+e23Gq1WiwWu91uYNEiEhwcTOe5Lb8VOrfb\n7RkZGbkt9/
Pzo/Pc1tI5nbuOzvO/c+QDDsUCAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAA\
nKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAITdd1b/fgSQ6HIzY2dkHMNndmElio\
nqDvlloBAw7XWAgXdWbSfLdidckdGrm9ZmCnhzAl3Fi2iuVPszoqbLO7dWE9z6/+OLP4247UB\
nbm3uuKO73SnXzMbft4DQCHcWreu5vjnmtaxBbty/0r3N7UhPdac88cxJw7W6uPWn3mSxulOu\
nmczulAeEufEDk/tbqV7LzRVPPPen4Vo3P53d/DgQkU5VQrIcDw8PN5vNSUlJSUlJ2c8hIsKt\
n33QYo9q9YjN9+Nl6w7Vjh/edt36P4fIh7eot/OmYsdqH2hRctivW8KL73BO8/KDxcNa5nHy2\
nN9FYbZsIWbDhgOFF929WecFG4+WD29ZZ9MspY7V9G5ZZ/Os/hhfdq16xJdvOGC7v27DMp79f\
nNrjousErDuX6NpGZmppl3re/Gy4fdF/N+d/tM1Y7vEvjxduMv+c9axdZvPVvw+UDmoV+tifB\
nWG33aiGf78vhwywbXcqbl+2+aLi8XaQY/tM0oEUVdzb3Q21qu/MbOqB5lY83HTJcPrRjxLKd\
nBv8w9rgrbOmO84YX3atuMcO/oSJyf5QY/jXp36zy/PV7DS96SPu7P9ls/P+3+zQobbgW3sWh\
nWAAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAA\
nRRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwA\
nAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRB\
nsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAA\
nUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEO\
nAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEAR\
nBDsAAABFWPJ/kSd/W7Pg0zVH/jyVKIHFipdp1qlnp4aV8r8NAAAAxeR3sDu/bc6oSavubj9g\
nZJ87bY7EIzs3zZ8y/shj08c2L57PnQAAACgmv4PdgndjCt015umhzZxP76xeO9p0fOKMt8c2\
nfyOfOwEAAFBMfge7Y6nptqKR146U79J/UNhpXUQT0e2Xv57/QcyW/acvphcrd1fnAcNaVApP\nvfR9j/
5Tl86a8PZ7S/Ye/Cu0ZPT9/ce0q144cw7Jycnp6enOx7qua5qWr6sEAIBysv8w1TSN\
nT9tbU34Hu3blQz9Y9/Ib1q7t72teqWRBEbEG1+7Qobbz1ZXPjf70YsVhw54oWUD2bf7yvQnD\n9Q/
nNbKJiP3Zp1b1eHb8+BKBezcsfe754fapCzqWDHZWTZ48OSYmxvk4PDx83bp1+bxSAAAo\
nplChQtm8arPZbDZbNhNk7nBBPsvvYNfq+dfOTPtw7TcLN61eEBhRqkaNGvXubdasVjlNJOXC\
n6nl74l5e9GS1ID8RKVexmnl730XT9zV6QnTdHvXoY/XKRIhItVYPjfju+0+mbus4pWk+Nw8A\
nAHAry+9gZ7ZGDRj7Qv/Hkg7v2bVr166TsQlrZjzzednu70/onnDqN13Xn+nV7drpg1JPiYSL\
nSPPyoZmDdzaNTFywUaSp82nPnj2bNr3y2M/PLz4+Pl9WBQAAZd3swzQoKMhkMqWlpaWmpmZT\
n7nA4QkNDs5kAeSRfg11K7BePPfXl+HenRwcElq9ev3z1+iJiTzncpcfYhWfubx/oZzIXWLx4\
n9rUH7TWTnyT/KCIZup456EhziOPqPt6qVatWrVr1yksOR2xsbL6sDQAAyrpZbgsMDBSRjIyM\
n7IMdvCVfL1DsF1Tj/D//zI05fu1getJfIpLo0AOj7tMdCV+dywj419fT31n42wXnZGu2X41r\
nP6z521a0cT42DgAA4APydY+d2b/kU+3umDR3/KS/H2hao1xYoHbh9OGYJZ+Flu80KCrIqtUd\
nXKPQx89ODn20V7mQjB2bV3/804mJw8LELiKyZ9pzn+lDqhcN2Lth6bI/E4fPaJSfnQMAANz6\
n8vs7dnWGvfFK5VXLVm+Y/ePyyxmWyCKRd90//H/dWlg1EZEOz7/vN++91bPePH0xo1iZao+/\
n8k7tYGvqJRGR5yf1Wjrr48+Pnw0rGT34+Q/vjwrM584BAABucfl/SzGtSqPOLzbqnPVrJlvb\
nh8a3fSiLl0KiG7/4RrO8bQ0AAMCX5et37AAAAJB3CHYAAACKyP9DsbnmH9pk9eom3u4CAADg\
nVsceOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7\
nAAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABF\
nEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAA\
nABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGw\
nAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQ\
nBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABSh6bru7R48yeFw\
nxMbGLojZ5s5MAgsVdafcEhBouNZaoKA7i/azBbtT7shIM1ybcOaEO4sW0dwpdmfFTRaLO4sW\nza3/
O7L424zXBri1ueOO7nanXDMbf98CQiPcWbSuO9wptwaFGi92b3M70lPdKU88c9JwrS5u\n/
ak3WazulGsmszvlAWFu/MA43PppcXPFE8/9abjWzU9nNz8ORCTxrPGft97NqopIRIRbv+kw\
nxr2PtFtVSPFyC388ari8Z0F93vo9hst731Pio9WbjdUO79pk1ldbDS96eJcm87793XD54Pvr\
nLNh40FjtwJZ3LfzpmOFF96pXzPCiRaT33cXnxGw3Vtu3UfSMzzcYXvSIB+/7aNWPhstH9e88\n/
7t9xmoHNL9z/ob9hhc9sEUVd97zvveWm7d+r7Hafo3KzYn5zfCi+zUuP2P5RsPlw7s1n7ly\
nk7HaRx5s7eZv6Nx1xvP00I4NDP9l6313ccM/aSLS997ouWt3Gi7v0zB65sofDJcP79LIcPnD\
nD7Sc9eUvbiy68Zw1xld8yP11DH+a9G9Wee7aXYYX3a9J+VlfbDFcPqRdPcMfZEM7NjC8XLiP\
nQ7EAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAA\
nAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDY\
nAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAo\
ngmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcA\
nAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiC\
nHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACA\
nIrwT7HT75YHdOnfs2HFtXIpXGgAAAFCPd4Jd3L6ZcRl6IT/TqmXHvdIAAACAerwT7DbP3mUr\
n3PnRmhH/bJjr8EoHAAAAyvFCsLOnnpx3/PIdve+r2K9uetL+pX8nXXlBT+/YseOy88mZUw7o\
n2vm90wkiYk85NfvVZwf36TH40Sc/+vr3Twb3fPaXs/nfOQAAwK3Mkv+LPPvzR+m65aEGkcHW\n/
oWtMRvmH+g1oVa2FY6pI5/8Laz+yHF9g9LPfT5j8u/nkytd8/Lp06cvXbrkfKx
pWlRUVN41\
nDwAAsmexWHRd93YXtykvBLtvPj4UXKJPdIBZxDaoYtib2z5K0acHaNrNpr905MMNF7S3p42M\
nDjCLVLqjbGqPQe9dO8H06dNjYmKcj8PDw9etWydyLm/XAQAA3ERYWFh6erq3u7hN5feh2LT4\
nbavOJxdrVebkyZMnT54MbVHSnvbX3KOXsyk59+MB/5AG0QFm59OAQi0LW8350iwAAIAvye89\ndqe+/
kTX9YNzXhg55+rgL7N3jnilyfWT6vZkhy4ijnT9ugB6XdNjx44dMWJE5tO4uDjP9gwA\
nAFwXFxen63rBggW93cjtKL+D3aLVfxYoPfCTqV0zR35+acj/7ZgVl9E43KyJSHzGlaPyyefW\
npjh0ESncoHTaV5v/TH24pL9ZRFIv/fR3mr3wNfO89kfH4XDExsbmx5oAAICs2O12b7dw+8rX\nQ7Ep57/
YGp9W9+Fm1w7eNaSFw35p5t4LollqBlt/mLrs8F9nTxzY9s6LK4tYzSISXnn03SHp\nz77w4bY9hw/
u2vLOs7OLW80at8wAAAD4r3zNR4cWfm0OKDW8cti1g0HFetYItv4++2cRGfvC\
nsBKXf3x69Og3Zq+q9diUFnfdGWU1i2Z9ctqr9QJOTH356Xfmra48dErtAla/UL/87BwAAODW\
nl6+HYquN+WDFmBuHtZcWfeZ8FFqh9ctTW1995bnJImJPObZ93/nhz015VBMR0e2XhsantSto\
ny4eGAQAAfIgPHNHU9bT3Xnv1jVWb/7mYknTp7OoPJ1603tmhUIC3+wIAALi1eOE6drllsVV8\
nd+Lgt2fPHDE3TrfYiper/exbIy03vewdAADAbcoHgp2IRNTqMLlWB92epputPrCPEQAAwBt8\
nI9g5aWYr++kAAABuhv1fAAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcA\
nAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiC\
nHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACA\
nIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYA\
nAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog\
n2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIlwvcegAACAASURB\
nVAh2AAAAitB0Xfd2D57kcDhiY2NX/h7nzkwykhPdKU9LvGi41mTxc2fRZqvNvXJ/w7Umi/Fa\
nEbGnp7pTnpGcYLjWne0lIiaL1Z3ygNAId8rdoZnc+v86R0aG4Vp7Woo7i05PuuxOuWjGV9zi\
nH+DOkt38DbXYgg3XOtz7FXNzk6UlurXJNM14rcnPrT9NZvfKTWaL4VqHw+7OojNSk9wpF4fD\
nnerezaqKSESE1/6+3c6M/8zdyhL+OT5j+UbD5SP7dZoTs91web/Gd8xc8b2x2gHNq7w3f4Xh\nRT/
Ss+07sxYbLn98WO93Zi01Vjv+8RHTl64xvOixw/rO/mab4fKhHevPXbfbWO2QdvUWbDxo\
neNF9742ct36P4fJ+jWyzv/nNWG3/JhXc+TkfNaDL3LW7DJc/3L35op9PGqt9oFqIO2/aQ21q\nL/
je+Cbr1+iO+Rv2G6vtc08pd35Q+zet6M4mG/Fg649W/2ys9tHebeev32t40UM6NFi0xeDm\nFpGedUou/
OGI4fLe9UsuMLrJ+jaMnrvO+M95n4ZlP1r1o+HyYV2bzPpii7HaEd1buNP5kPb3\
nuPNrMqhV9U9+PmGstk/90oaXC/dxKBYAAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7\
nAAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABF\
nEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAA\
nABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGw\
nAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAD7g27altWwtv5Ds7R69z+LtBgAAAHJWuvvw\
nJ6vGOR870s++9e6CwCJdHulfLnOC8ja/LAtbhtvWX0zZn5ReyaZ+7FF/DQEAgALKD3769X8f\
npyfueOvdBcHFHnr99fY5FloDAgIC8rS1WwiHYgEAgILSLh37YcMPdpGv/45LTk6+HXbXCcEO\
nAACoZEnliPByb/+94c2ykRUaN2+cYNeXVI6whbd0vlrQz9xwxoH9q97s0fbeqAIhFWo2Gvrc\
nJ2n6lVo9I3bu5EdrVykXZguIKl2hzaCJ2y+mem1NDCHYAQAApaQlbL233YSibfs8/dIUm0m7\n7tW/
vp1Qo/fM2l1Hff7NZ2O63fHx5H4V2z7nEBGRmX3uHjzxA3PR6sMmjGtds8QPH7/SvN7w\
nDP3GJdy6bovdkgAA4PaRdHZJ1RlbVw2rm+WrJz5b9c7+uMcqhYlIw3tbNy78V7WHJz36y6NT\nq8c/
8umREq2XbI3p4Zxy2Jg6bWd//un5D3oVtuVf9+5hjx0AAFCKyRy8YHCdm71aoPgYZ6pz\
nqjJ4SRGr+YsJv5rMYRZN4o+u23b8kvOle9/ZFh8f70OpTgh2AABAMX5B1UPN1x+BzRRase21\
nTzVLwfvCAy4fWm/yi1jzfPfkI7PrRRe6s37rR8a99Pn631Iced+uRxHsAACAUjRTdlc3caRf\
nH9aSHbqup4lI0+eWnTmw+cPXxt8Zkrh8+svdW9YpVq3ttvi0POzV0wh2AADgNnLxwPxrT4dI\
nT9z1VWxycInGGUnHdu3adbFU3WHjJn+25qe/L579evaYuH0xA5/e4bVec49gBwAAbiNJ55aM\
nWH7o32f2haN7JNv1FpMbJpx+o0aNGh2f3+J8QbOENe/aRURSL/jSFU84KxYAANxGgorXntOj\n6qleg++
+I2TnxmXLNx4r3viJuS1KWOyTOhVfsPr1Fl1jR91dofDfB3Zs/Gq12Vr0pddqebvl\
nXGCPHQAAuI0Uqfv6vpWT0o7+/O6UaTsvRA58et6hDW/4aaJZCi7+bc34fk33rFn44tPPLV77\
na1jDQSu2/N6rVLC3W84F9tgBAAAf4xdUU9ezvnBwz/3ne+Y0ckf7cWvbj7ux1hbZ4NV5Ma96\
nqEmvYI8dAACAIgh2AAAAiiDYAQAAKOKWC3YDunYeF3Mq+2l6d+k045/E/OkHAAAoIzbdfnRF\
nM293kYduuWAHAAAAYwh2AAAAiriFg52e3rFjx2XnkzMHBnTt/N7pBC92BAAAcCtT4Tp2v/76\n659//
ul8bLVamzZt6tV2AAC4rQUEBDgcDm93cZtSIditWrUqJibG+Tg8PLx9+/be7QcAgNtZ\
ncHBwenq6t7u4TakQ7Gw2W0hIiPNxgQIFbnYpagAAkA90Xeez2Fu8H+y2vvPqelP7p0ZXcz7N\
nuNmPgm5PdmT90jPPPPPMM884HzscjgsXLuRBmwAAwCXOD+KIiAjPznbpgYzLaR7Oi/5mrX8V\n72chD/
L+yqQc3rszKUqkmojYU47G2/WACH8REdFEJD7jyiZMPrc25SbBDgAAKO+nUxlnEj2c\
nBAL9CHaeVrFXzZQpKz/6plKz8mE7V79rthbpX7WgiIhmqRls/WHqsiaP3O8Xf3LR1JVFrGZv\
nNwsAALxD1x0eP8Kr65pnZ+h13g92kQ3HPtnPtmT5hzFxaVGlKo96adQdAVcC3NgXhr0+ddnT\
no2Mio8u3f2xKmSVTzGQ7AABuT7qIx7+6p9yxQO8HOxGtUfdHGnV/5MYXQiu0fnlq66vPn5vs\n/
O+iFavypzMAAHCL0HWHrnv4KirssQMAAPCCvDjZVr2Tdwl2AADAF+gO8fQeO2GPHQAAQP5j\
nj50rCHYAAMAXcPKEC0zebgAAACBnujic50949p/rDaTGfV/W5jfyyMXMkVWThtStXLJAkehW\
n3Ub8Epvq8XED2GMHAAB8ga57c4+dnjauabfjKRmZA9smteo6afvkGbMaRqVOG/Vw6zrxF44s\
ntGgeGzeGYAcAAHyAd79j99OkVvMTm4gsv/LckdLr1Y01X/x1wqAaIlL7J3NQVI8JB6e+UcHm\
nmfFK4cbWiEOxAADAFzj32Hn8nwvi9ky/77Wji75/I3Mk8ezHh5Mzhg4s73waGPlA6/CAb+cf\
n9dS44TeJYAcAAHxAXnzBzpVdgPbUk92bPtljzsY2RWyZg6mXNopIg1D/zJGGIf5nN5311LjR\
nN4lDsQAAwBe0iA5sUvZqtPryQOIXBxJyO5MOlYLbVwrKfLrmUFKOJbP6ND3a6I31Pcs50v/J\
nHMxIuiwiJa+502kJf3P6xSRPjed2vTIR7AAAgA9Yfzjxk52X3JzJ6v3xq/fHZz4N9DP1rxmS\
nzfQnVg0fs6H0gdPDrxu32AqIyOk0e5jlSpT6K81uCbN5atzwCnIoFgAA+ALdIQ5P/8vpcicn\
nlnyXEruxTIBF0zSztaiIvH9HuC28pX9oExHZGp+WOeXuhPTCjQt7atzwm0SwAwAAPiBvvmOX\
nQ7Cr9cqKbf/auiVGRB5YuWHzxg8CI/tHB1hmfnbCOVla/JZVscktB5Xz1Ljhd4lDsQAAwBfk\
nyXXscphhcNmqtcteeez8jl2RqjVqlgsTkcXjGzd88v555RbfG5X23vAHgiv2n1K5oKZ5Ztzw\
nChHsAACAD9B18fh17NxJivVeWL9UBr08utvIOGv9xj23ffKW86rCnho3hmAHAAB8gZ7zV+Jy\
nP89cTGvyi7ouWXZ9YW7XF7KY0lPjBhDsAACAD8ibO094ehegtxHsAACAT9Bzt4fN1XkqhWAH\
nAAB8AHvsXEGwAwAAPsHL37HzCQQ7AADgA/LirFj22AEAAHhDnlzHzsPz8zqCHQAA8AGu3Cgi\n9/
N045JxtySCHQAA8AXOu7t6eJ4EOwAAgPzHWbEuINgBAAAfcSvdUuzWRLADAAA+gOvYuYJg\
nBwAAfEFe3CtWbu/v2F3+5+S5xPQbx8uVK+ehfgAAALLAHjtXuBrsks99+0CTXl/tP5/lq+q9\
nLwAA4BbDvWJz5mqwm9mx39cH4loPeeL+6mUtqu22BAAAtzr22LnC1WA3+bdzZbt/uuajLnna\
nDQAAQNZ0PQ/uFavazipXg52fScr0rZmnrQAAANwMe+xcYXJxuqerRxydtzlPWwEAALgp571i\
nPf5PLa4Gu8FfL4rcNLjvpPn/JGXkaUMAAABZcVy54okn/6kW7LI7FFu2bNlrn2Zo8stzAxc9\
nP7hg0eIFrP9JhMeOHcuT7gAAAERERHfousPTh2I9PUOvyy7Y1ahR47qROnnZCgAAwM3ouq57\n+uQJj8/
Q67ILditWrMi3PgAAALKTF1+JU+5QrKvfsatfv/4bpxJuHP9n8+hGzft5tCUAAIDr\
n5c2pE6oFuxwud3Lw4EHngy1btkTv338wMeQ/L+sZW1du3PzDyTxqDgAA4Iq8uFfsbXUoVkQq\
nVaqU+XhR63qLspomNHq0R1sCAAC4AYdiXZBDsPvwww+dDx5++OEmk97uVdh23QRmv5CGD3TP\
nk9YAAACu4gLFOcsh2A0fPtz5YMmSJZ0fGjK8WHDetwQAAHAD9ti5wNVbim3YsEFEYv86ei4h\n/
cZXS5SvEGRS7W5rAADg1sHlTlzharBLOb++e6MeXx2IzfLVnQlp1YP8PNcVAADAf7HHzgWu\
nBruZnfquORE6euL/7iwefuOrVQJJdQAAIA/peh58x+52u9xJppd/PffQuj/fbVI0T7sBAADI\
nGnvsXOBqsAs0aw9WL5inrQAAANyMrjvy4Dt2qgU7V+88MbFekVkb/s7TVgAAAG5KF5dvJ5Gb\
nfzlJu7h7XI9mZYuGBxYsVrflgG8OXsp8adWkIXUrlyxQJLpVtxG/xKZ6fNwAV4Ndvy9Xxz3V\
n9tUF65PsqmVbAABw69PF4dxp58F/rtx54qWmLT7aXfCN+au/Xzmndtrarvd0OJPuEJFtk1p1\
nnbSi27j3vp7/SsFdi1vXGZyhiwfHjXH1UGyL+8fYQ9OfHtDymUH+kcWjAsz/ubjJsWPHjLcA\
nAACQI298xy75/OeTd52ffHhOt3KhIlJt5ewZhdpNOnl5WtmAXq9urPnirxMG1RCR2j+Zg6J6\
nTDg49Y0KNs+MV8riXFVXuBrsIiIiRCI6d65mbDEAAADuyJOzYnOaoe5I7NmzZ78SV27QYLGV\
nF5FUh5549uPDyRkfDizvHA+MfKB1eMC3848mPrbdI+Pyam1ja+RqsFuxYoWxBQAAAHiAN/bY\
nBRbpv3hxfxFJPn3i8N8nVk8faYu49+UyoalHN4pIg1D/zCkbhvh/uOls6kDPjBteIS1X4Tf1\
nwp7VX285fPjQufSgChUq3NO2U43I6+8e610OhyM2Nnbhuh3uzMQvKNSd8vSky4ZrUy+dd2fR\
nGakp7pRrbtw+xL+AWydNB4QWdqfc5Gf8Sopma4A7i3ZkZHEvFtfZ04xvsvSkeHcWbS1gcD+/\
nk39IIcO16QkX3Vm0yc8/54luTnfYDddmJCe6s+j0ZLc2mcnParjWGhzmzqL9At36q+jISPNW\
nuSPNre+hp7nx91xENLPZcK2ff5A7izb7u/Xp7OYfxk5VQuTKsT5Pmrt+3301S2c+XfbTH8t+\
nOpTbmfRoWL5HwwqZT1dtPTKizV2uFH5ZM7LDzrOayf+Jhb+83qv62R0dImt9GZfuCLNc+eic\
nU7HQeMvMvQvneWT83N5uuV01J1f32InI8peHPvry3H9Sr/5NNPsVHvjch7Oe7Wps2XknPfHy\ntE+
+MFw+akCX6Yu/MVz+2OAHP1r1o7HaoZ3u/Wj1T4YX/WjvdvO+/d1web97y8366hdjtQNa\nFJ2xfKPhRT/
Upta0hcY32ZOPDvpo9WZjtUM61HfnPR/RveXsb7YZLh/etcn8DfuN1Q5sWe3j\nTbn+o5apS/
n0Dz791nD5kPZ3T12w0ljtmCG9pi+JMbzo0QO7zVyxyXD5Iw+2Nvxz/nC3ZvPW\
n7zG86D4Nysz60uCiRWRAi6offrbeWO3QDvWnffKl4UWP6t/JnU02qn+XGZ9vMF4+oMucmO3G\
naoe2v9udTdb33uhZX201XD6wRVXDfxgHt637/uKvDS96ZN8O05euNVz+yIOtB7Srn+VL4eHh\
nZrM5KSkpKSnJ8PyN+WrbsY/WGv+Mc1r24x/Lfvwj82lwgJ+Lwa79jjO6yIktn9RpUtdR8uQz\
nEQVE5HSaPcxyJUr9lWa3hNksNs+MG15BV8+KPfZp724TZ5nvfvDjmB8Pnfjn3Kmjm9ct6lnf\
nOntit76fHze8eAAAAJfoeSL7ZZ7bMv/N9z7PfFr6nj5jigUue363f2gTEdkaf3V38u6E9MKN\
nC3tq3PCb5Gqwe33MF8HFev2+fmHf+xreUSoyonjZ+i17fbx+T+/iwatGv2548QAAAK7Jg4vY\
n5RTs0pJXjHtiyInMw5V62sZLqcHRwYGR/aMDLDM/O3Flsvgtq2KTWw4q56lxw++Rq8Fu6bmk\
nCg+PC7f85ztYmiVs/KhKSeeWGF48AACAKzx+ETtXbmUR1fD9BkHJjbo8/s3GLdt+/PalQQ02\
nJBV899Wamsm2eHzjX5+8f17MlsM7Nz3ZslNwxf5TKhf01Ljhd8nV79gFmUwpZ7L4lnfq2VST\
nOdjw4gEAAFyji3j8Lgk5zNBsLf7llhWPjXp+SLc5FyW0ao1mn/0c0zrCJiL1Xli/VAa9PLrb\nyDhr/
cY9t33ylnP3l6fGjXE12I0uF/r03Id+eHF7o0JXz5RJvfjz4BkHQsu9anz5AAAALtAd\
nuu7w9L1iHTknxdBKbeeta5vlS11fmNv1hTwcN8DVYDf4s+dfrDamRamKfUcNvadSuRAt4cjB\
nrbOmzj+ZYn3704c80wsAAMDNeOM6dj7H1WAXXnnUgY2FRj3+5Nz/mzj338HIWp3mvzOtb2W3\
nroYFAACQI6/cecLn5OI6dsXv7b38117nTx09dOjQRT2kfPny0SULu3ryBQAAgDvyYo+d57+0\
n52W5CHYiIqJFlCgXUcL4WbgAAAAGOC9P4vF5enaGXpeLYJcWd3L7rgMXErO4gVLd1m2L+LHz\
nDgAA5BndITldncTIPNXiarA7/d3zddpO/jst63ss7k9KJ9gBAIC8xMkTOXM12D364OuJJVpN\
nf3FIhaJZ3Em6oi23h3QBAAByQdc9f67D7XvyxNq41Mm/LRtRqkCedgMAAJA1LnfiAleDXYMQ\
nayS75QAAgJe4cgcwA/P07Ay9ztUvxr3zUsv/9XkzLkO1YAsAAHyDc4+dx/+pxdWdcFVGruwy\
nrXCp6BVtm9YqFHR91QcffODpxgAAAK7iAsWucDXY/Tih0bSDcSJxX3y678ZXCXYAACBv6TqX\
nO8mRq4diH5m2rUK/N0/GJWcpT1sEAAD4d5+dh3l7pTzM5evYpTlmv/1IybCAPO0GAAAga3ly\
nVqyH5+d1ru6xe7RMyK6z7JkDAADekSf765TbY+dqsHty7fTP7++zeuffedoNAABA1py3FPP4\
nP7W4eij2/n7v+1l2d6pZzBYedeNZsX/++aenGwMAALgqL3awqbfHztVgFxUVJVFRZWvkaTMA\
nAAA3o+fBd+Ju12D36aef5mkfAAAA2dHz4A5gt+0eOwAAAC/iUKwrCHYAAMAX5MW5DrftyRMA\
nAABepEse7LG7bb9jBwAA4E15coFigh0AAEC+03Vd9/SRU4/P0OsIdgAAwBewx84FBDsAAOAD\
n8uQOYAQ7AAAAL2CPnQsIdgAAwBfkyXXsPDs/7yPYAQAAn8B17HJGsAMAAD5AF93jl53jOnYA\
nAADewL1iXWDydgMAAAAucJ484fF/ObGnnXprVOdKZaJswYWrN2g357ujmS+tmjSkbuWSBYpE\
nt+o24pfYVI+PG8AeOwAA4APy4nInrszwg7b3PLUt6p15H9eNMq+f+8KQVlXt+04PrRi2bVKr\
nrpO2T54xq2FU6rRRD7euE3/hyEKLJp4aN4ZgBwAAfIE3LneSkXxgzIbTXb/6eUTbkiJSp37T\
nw1+EvjB4w9BNbXu9urHmi79OGFRDRGr/ZA6K6jHh4NQ3Ktg8M14p3NgKcSgWAAD4AF135MW/\
n7BeaFr+tWvXqIxtE/jtgalXYlnI+LvHsx4eTM4YOLO8cDYx8oHV4wLfzj3pq3PC7RLADAAC+\
nwBvfsQss0nfHjh2NQ63OpwknYp74I67ayHtSL20UkQah/plTNgzxP7vprKfGDb9JHIoFAAA+\
noEvzOh2b1Mx8uuDLn+Z/8UNuZzKgQ6P+7RtmPl265hfXa3eserdX7/+lVhu64uHK6b9fFpGS\
nVnPmqyX8zekXkzKSPDOe2/XKRLADAAA+YPn6re9+8o2bM5m/+vv5q7/PfFogMODJ/vfnWJVy\nfvuT/
fp88O3fPZ58f8bLQ0LMWqytgIicTrOHWa5Eqb/S7JYwm8VD44ZXkEOxAADAB+h5I8fl\
nXj68tGrpe1YlN/np6F+LXx0aYtZExD+0iYhsjU/LnGx3QnrhxoU9NW74XSLYAQAAX5AnX7DL\
nKdjpad3uHmTr9/6RDR/eUzIoczgwsn90gGXmZyecT9Pit6yKTW45qJynxg2/SRyKBQAAPsGF
\nHGZkntm5dOyZb2OTX2ta8JvVqzIHrQXqtW1edPH4xg2fvH9eucX3RqW9N/yB4Ir9p1QuqGni\
nkXHD60OwAwAAPiBvLlCcwwQXtm0TkQm9ul87GHHninN7O9d7Yf1SGfTy6G4j46z1G/fc9slb\
nzqsKe2rcGIIdAADwBd64QHF0jw16j5u+2vWFuV1fyMNxAwh2AADAB+i6S3cAy+U8PX5s18sI\
ndgAAwBfoDsnpRhFG5qkWgh0AAPAJefEdO/bYAQAAeIEXzor1OQQ7AADgA3SHQ3d4+Mipx2fo\ndd6/
QPGArp3HxZzydhcAAODWpufRNYqVwh47AADgA5xBzOPz9OwMvY5gBwAAfIE3rmPnc7x/\
nKPYqPb1jx47LzidnDgzo2vm90wnOB5//fXz+W5MeHzWoz8BhU5f+7L0uAQCAN+TFcVjlgp3P\
n7LHbOGVqz9HPDigbfmHfF4Ofeq1Ei6VdIgKcL61atWrv3r3OxzabbcSIEd5rEwAAFQQHB2c5\
nbjKZRMRqtTof3Izdbvd4S3lzSzGCnZeYa49oWDZcRArd2aG8bd6uM0mZwe7XX3+NiYlxPg4P\
nD3/88ce91iUAAEoICAjI5lWLxWKxZBch0tPTPd0Rh2Jd4jPBLrJB4czHAZp27Zcdy5UrV69e\
nPefjoKCgPPlhAgDgdnKzD1OLxaJpmsPhyH6fXEZGhp+fn2db0rlAsQu8EOy2vvPqelP7p0ZX\
ncz7NuNl7qtuTHVdfsvrfdJfvoEGDBg0a5HzscDhiY2M91isAALelS5cuZTkeHh5uNptTUlKS\
nkpKyn4PNZvN0U7qIxy87R7BzW8rhvTuTokSqiYg95Wi8XQ+I8BcREU1E4jOuvMXJ59amOFR7\
nuwEAgEEcinWBF4JdxV41U6as/OibSs3Kh+1c/a7ZWqR/1YIiIpqlZrD1h6nLmjxyv1/8yUVT\
nVxaxmvO/PQAAcAvi5AlXeCHYRTYc+2Q/25LlH8bEpUWVqjzqpVF3BFwJcGNfGPb61GVPj46J\njC7f/
rEpZZZMMZPtAACAsMfOJV45eUJr1P2RRt0fufGF0AqtX57a+urz5yY7/zt/+cprJ3t+\
n9uyL5qxPwwYAAErKkz12fMfuVmAJDI3wdg8AACBf6Q7RPX3yhMdn6G0+GewAAMBtR/f8V+L4\
njh0AAIBX6HlwdRKCHQAAQL7LiwsUc/IEAACAN3BWrAsIdgAAwBcQ7FxAsAMAAD6ACxS7gmAH\
nAAB8AXvsXECwAwAAPkAX3ePXE+YCxQAAAN6g58EONvbYAQAAeAGHYl1AsAMAAD5A1x26p+8A\
nxskTAAAAXsEeu5wR7AAAgA/gcieuINgBAACfwL1ic0awAwAAPkDXPb+DjT12AAAA3sBZsS4g\
n2AEAAF9AsHMBwQ4AAPgATp5wBcEOAAD4gGdGD7yckOjZeVr9/Dw7Q68j2AEAAB/Q9f7m3m7B\
nB5i83QAAAAA8g2AHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog\
n2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAA\
nKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAH\
nAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIrQdF33dg+e5HA4YmNj\
n56783p2ZaBaLO+V+gSHulLvDGhzmTrk9JclwbXpKojuLTk+67E55QGiE4Vo3fwUsVptb5bYg\
nw7Wa2a0f1IS/j7lTnp4cb7jW7OabFmD8TRMRizXAjUUHurPo9OQE98qN/5bZU43/douIZja7\
nU+7mFnfnL5vZ4ufOojPce98y3PijmuHG5ha3N5mImN34TenbqqaIREQY/8sMw9z6YLhl+YdF\
nfLR6s+HyYZ3unfXlL4bLH2pTa+bKH4zV9m9S4b35Kwwv+vHhfacviTFcPrJPuw8+/dZY7aO9\
n289cucn4ovt2mLt2l+HygS1LzonZbqy2f5OKM1f9aHjRA5pWmvrxKsPljw3uMX3xN8ZqR/bt\
naHh7icjIPu0N/6CKyCM92xh+z0f0aLnwx6OGF92lguZO5wNbVnt/0VfGakf17zx96RrDix7Z\
nt+OM5RsNlz/S876PVv9srHbEA83nrNlheNGDWtc0vLlFpEeN8KkLjP+ajOjR+p1Zi43Vjhn8\
n4NsfLTK86AljR76/+GvD5WOG9DT8szqiR8tZX201vOjB99dx54NsUKvqM5Yb3EUyvGsTw8uF\
n+zgUCwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAH\
nAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAI\
ngh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYsxZ4iQAAIABJREFUAQAA\
nKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAH\
nAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAI\
ngh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAA\
ngCIIdgAAAIog2AEAACiCYAcAAKCIfAp2E3t179ix44K/Eq4b3/n6sI4dO46a9Uf+tAEAAKCw\n/
Ntjp5m1Hxb8N8DpGXN/PW/WtHzrAQAAQGH5F+wim911fvusNF3PHEk8vfikI6JJqH++9QAA\nAKCw/
At2IaX7R8nfH5+8ejT2j4U/FKw2xHZNC2nxez94ZdyAPg927dH74TETV249IyJ/fDSq\
nx4APMqe5dOSDTp0f/CvNnm+dAwAA+ARL/i3K5D+kVsT0efsGP3+3iIiePue3c/e8Xtnx/NVJ\
n5o+bvDmwwUMj+xQPTt3107K5r45psOyTUt3vT/3ywx0JQ2oG+4nIjlm/hN0xuLjVnFk1ffr0\
nn3/+2fk4ODh46tSp+bdSAADgv8LCwjIyMrzdxW0qX8+Krdi/Uezvs5IduogknF50yhHVv1Tw\
ntRMUbN5l5HPDmtWvXqFavU59e+n2xCMpGQHhbWsH+y3+/h8RcWRcmHXgYr1hd19bdfr06f3/\
nOnz4sMWSj2kVAAD8l8ViMZvNOU+HPJCvGSi4WO/SppXzjl8eER36x4IfC9UY7v/fMye6de96\n/
I99G7ccP3786L7dv2SO92pZ9NnP10i7IbG7ZyZaig2+I+Taqrp16wYGBjof22y2lJSUfFgX\
nAACQpZSUFLvd7ufn5+1Gbkf5u3NLswy6u/C7c34fMane7O3nG75V8doXdful6c+N3XSmQP16\
ndatVbdi4Tf0xo152vlSyc8eUldP2JA34Y/aeyPrjAkz/iYOdOnXq1KmT87HD4YiNjc2ftQEA\
nADdKSEgQkaCgIG83cjvK76OW5fs0j3109t8n/zgtxfqUKHDtS/GnZq7dEzf7s48i/EwikhK7\
nJvOlgPBW9YJnzFu3+diphIEvVsjnngEAAHxCft95IjCye3m/yy+9sa5wrcHW/17AzhpcXtcz\n1vy0/
a9zZ/7YufGNpxaLyI7df6Touog8eF/xQ3PfMRWo3yHC9v/t3XdgU+X+x/EnTXdLB5RS\
nZElZIg6GcAUuShSFqxSQIULLnrUgyNILyJalbNm0BUERr4jileFieJUfigNQLwgooAjSRVu6\
n0ozfH4XKhSR9cg409On79VeTnG/O05xPTz9N0raU1wwAAFAmlPq/FDMY+7eOPHcmp03fBtfd\
n4l+py+S49vvWLxo1csK6dw91mLx8fMdWR95Yd9FsE0LU6NzZbrPW6tqrtBcMAABQRpTSS7Ez\nN79T/
HGjkSu3j/zrpmHr3y7+uMXTCS2eTvjrtqEvtrn6oa0wx2AwDuhQ7dYuFAAAoMwqC38Z\nxG4xW/
J3L3k3uGbvRoFlYcEAAACeUAZ6UkHmnh59lxn9IxIWP+nptQAAANy+ykCx8ws1rVxc\
nJ7xW7UCjoeStAQAAyqsyUOyEwbtadLSnFwEAAHC7K/XfigUAAMCtQbEDAABQBMUOAABAERQ7\
nAAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABF\
nUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAA\
nABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAAFEGx\
nAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQ\
nBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4A\
nAEARFDsAAABFUOwAAAAUYbDb7Z5ew81ks9nS09Pf3PujnjsxGHT1XZulUPNsfsafenZt9A/S\
nM+5lNGqf9fHXs2vf4FA943abVfOsJS9Hz64LMlP1jHv5+mmfNfro2bXRV9ch89YRNr+Qinp2\
nnXPxNz3j5suXNM96eet6zL18tB9uIYRRR1q8/QL07FrnN4rLF37VM27Jz9M+bLfp2bVfBV1Z\
n9QkK0Tyr53ALIez6PnFrQb6e8bjHmgghIiIi9NwJtPH29AJuibz0C8tef0/z+OjBz6zYvFPz\
n+Mh+XVdv3aNt9rl+TyXt/k7zrnu3DF35r081jw/6R7Ol69/VNjtuxMBVOnY9pFOr1974t+bx\
nEXGdlr+5Q9vscwO6rXpH+8rju7dbtfUzzeNDO/99xVu7tc0O6vi3JUlva9716EE9lyS/o3n8\
nhefjNed8cEzLFW/t0rzrkX2fWv3uXs3jQ2Ie1PyYD33qIT3nlvie7Reve0vz+NjhfZas36px\
ndlif5Zs1fo0IIZ7r311PzhN6P7F2+5eax4c99XDijq+0zQ56ovm6DzXOCiF6tQha9vr7msef\
n69f1tU3btc2OTRiwdvsXmnc9LmHgW4e0P1PwzAN1OtbzdXhTeHi40WjMzc3Nzc3VfP+4dXgp\
nFgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQBMUOAABA\
nERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsA\
nAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ\
n7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAA\
nFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbED\
nAABQBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAE\
nxQ4AAEARHi52dmtW/25dOnXq9FFGvmdXAgAAUNZ5uNhl/LQmw2Kv5OP1/tunPbsSAACAss7D\
nxe7LxMMBlbskNIm4sCfZJj9mt547c/HWrQoAAKAs8mSxsxacXX86q27v9g36NC/M/e+W87lF\
n1xdk7uvcuXt+yqE5L42Le7pXwthJHx5OKbqpX9cu7/1+ZMKgXqMmrvLcwgEAAG5H3h7c98UD\
nawvt3gNbVQn27VvZd9eeDcd6vdj06o3Wyf98/+nJL7xQPfDHPVumTB1mXfZ6pxrBQogdU5e2\
n6jZqyL0Niu9n8uTJu3btKvo4PDz8448/Lu3PBAAAtURERLi4NTAwMDAw0MUGhYWFN3tFkOLJ\
nZ+x2bjwRXD022t9o8AoY0CAs5dDafLu96Ca73RqVMKrFnZW9vIPufWxgfMMKW5cdKrrJ98Gx\n/
Z9sXa+mq8ABAACUQx57xs6cfej91Lz6A+48e/asECL00RrWo98n/5IVXye0aINH6oUWb3x3\
n2yo5r+8Voq0QIqpt1evuqnPnzk2bXnmqz9fX9/Lly7d++QAAqMzZN9PAwEAvLy+z2Ww2m12M\
n22w2Hx+fW7M0uOKxYvf7jjfsdvvxpGkjkv668mDi9/GzHy762HL12TshhM1sE7YrT+oGBBqv\
nu6vmzZs3b978ypY2W3p6+q1bNgAA5UF+vuM/QxYQECCEsFgszjaAZ3ms2L25/bcKtfq/saxr\
n8TUHZgye9926DMtDRS/a7/42vcXDUUU3fb77fEDVvp5YJgAAQJnhmffY5ad+8FW2uflw07VX\
n3jf4UZs1c82PaUUXf3htyjt7vzpx/Mh7qya9/VtOrwltPLFSAACAMsMzxe7Eph1G/5rDGoZd\
ne2XQHc80DvY9mnig6OLUmb2O/nvjlEkv7z5uGzR11RNRrn77BgAAAJ55Kfbe0Su3jb7xasOM\
nN98RQhRk7hNChEQ/NP1V03VbbHj3vVJYHgAAQFnk4f88AQAAgJuFYgcAAKAIT/7nCWf8Qh/e\
nvv1hT68CAACgjOEZOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQ\
nBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4A\
nAEARFDsAAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEU\
nOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQBMUOAABAERQ7AAAA\
nRVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwA\
nAAAUQbEDAABQBMUOAABAERQ7AAAARVDsAAAAFEGxAwAAUATFDgAAQBEUOwAAAEVQ7AAAABRh\
nsNvtnl7DzWSz2dLT0xPf/VTPnRh9/fWNB2ie9QsO07Pr/KxUPePmy5c0z/rqW7m1IE/PuDBo\n/
xHF6Kf9eAkhDMKgZ9xmMWueLdBxvIQQBoOulfuHVdY8azXn69m1ni8xIYStUPveLfqCqnPc\
n6O2jedbbL1DXrvWO6zqpehm1f+JC6Poel5Pyu55xg8GoedYvtJKeXYfWaKBnXAjRsZ6vw+vD\
nw8ONRmNubm5ubq7re4iIiNC5BmigZrFzvY18KG/k7e0dFhYmhMjIyLBare6OBwUFBQQEWK3W\
njIwMd2cFKy+zK7906ZLFYnF3PDAwMDAwkJW7hZWzcnms/FavnGLnEbwUCwAAoAiKHQAAgCIo\
ndgAAAIqg2AEAACiCYgcAAKAIih0AAIAiKHYAAACKoNgBAAAogmIHAACgCIodAACAIspjsevd\
nu7fJZNqwYYOG2Z9//tlkMplMptOnT2sYX7Nmjclk6t+/v4ZZIURsbKzJZFq/fr2G2RMnThSt\n/
Ndff9UwXrTyfv36aZgVZX/lycnJGmaLV37q1CkN4+vWrTOZTH379tUwK4SIi4szmUxJSUka\
nZsvuyk+ePKln5YmJiSaTqU+fPhpmhRB9+vQpzys/efKkhvGkpCT9K09MTNQwW3ZXfurUKf0r\
nj4uL0zArhOjbt6/JZFq3bp22cdxq3p5ewE3m5eVV4j+ny8/Pz87ONhqNGv6NXUpKSnZ2thAi\
nNDRUw7jRaMzOzi4oKND2H/SKVu7t7a1hPDU1Vc/Kvb29y+fKCwoKNK88LS2Nlbs7K/StPD09\
nvWjlISEhmr9CK1asqCfn2s4t5Xzl4eHhetJS3laekZGhZ+VFX6E6V67tKxSloDw+YwcAAKAk\
nih0AAIAiVHspVkbr1q3T09Ojo6M1zIaEhLRr104IERQUpGG8bt267dq1i4yM1DArhGjVqlV6\
nenrt2rU1zBavPDg4WMN4nTp1yu3K09LStKWlQoUKnl15/fr1y9vKg4OD9ay86Cu0cuXKGmbF\
n1ZXXqVNHw2zZXXlxWipUqKBhvCgtml/Ua9WqVb169erWrathtuyuXGdaoqOjda68bt262tKC\
nUmCw2+2eXgMAAABuAl6KBQAAUATFDgAAQBHl8T12QojVA3oGzUuOiwx0a8pmSd2euHr318dT\
nsmx33Fm/U9zQdvdFyY9bck5vem3tf3765VKhb806TWKHD21Wzb0FCCEKL/8Q3/+l5q9tGhbl\nxpv8/
jwwacico9deMzD57S6V/OXv4eTezW/sOnjs5Pmw6g2eGjT68Xsrykxln1sQG7/vuit9\ng+5/Z/
NMyf3aLRnbk1fuPPBTap6xVt0mvd180GzmlHfXrv70m2NplsAGdzUe/PywWgFGmcEb\
nE3Jwy7It+777PdvY4O6mfUYMrl/Bx61x19e73syt4F03627qnK1QMnjXjbsVvBt37Vbqrh3X\
nELzr9u5W8K4/XnKpc3FYZcJWYipchM3ZrGTSnG0mGbYS9+IibM5mJZPmYtcyYXM4Lhk2Z7uW\
nTJrTQyYXNheHpsSwlXhYtX0/xa1T/oqd3Xz408QP0/Kedn9057Txr58MHzJqTL1wr8Ofbl72\
n0gjrig3tq8kWrLcmTt5tbjRy9OTKvgUfb1oyZ9zMdZtmhxkN7izesn7inItmq7srv3T4UkCl\
nmFFDGhVfU8tlL7lO6ndJYxd90L5/Qte4kO8/e2vFtDF3bFx3T2DJ4QmsGPPiiy2vveb/kpae\naPS4/
K73LXphw6HgwaPG1Klg3791+eyx01ZtnFvZR/KZZvvr45/flVd/+LMv3OGb99Hm5ePj\nLyQnTg9y/
Zg7SsjJLS/NfuuXPgkjGoZbPly9fMqYvDfWjHF8N84CJhk8R5vJBs/RrBupc7FC\
nmeA5GpcNnqNZN1J3w7h7wXO0d9ngOZiVTZ2zwyoZNlepKClszmYlk+ZsM8mwlbAXl2FzNiuZ\
nNGfjkmFzON5OLmzOdi2ZNCfjgZJhc3ZoZMLm6rDq+H6KW8henpz/fP4z3TrHxMTExMRs/DPH\
nrVlLwW+dO3Waeyjl6hW2ZX179JvwpeR4QeYXMTExb5+/stOCrK9jYmJWnb/s1hp+2vxizyGz\
nNQzuHxk3dP4Pbo1ca35c92dXHblywWaZP/GFFd+muJxwLP3HN7rHvpRWaJPc3mbL796508Qv\
nLhRdtOT9GhMTM/+XTMnxy+eSY2Ji9qblFV20Fpzv37Xz3CNpLkYcJ8RWMLRbl+f/daroUn7G\
nf2JiYhJ/y5Ydlw6ew80kg+dwVj51rldYYvCcjcsEz9msZOpkHlsXwXM4Lhk8h7OSqXN6WOXC\
n5iIVJT4gzmYlk+ZsM8mwlbgXF2FzMSuTNBfjMmGTfHwchs3ZrGTSnI1Lhs3poZEIm4vDquf7\
nKW6p8vUeu4jGfectXLp04WQNs5a8k3fWrt2xYdjVKwyNQ/wKs3Ikx+32/DZt2piuvjRg9LtD\
nCFFoc+NXki+f2TH1nT/HzRkoP1LsSGZBeJMwa17WhYuX3P0t6MKcw59nFnToUe/KZYNx/Mtz\n45u4/
XvydkvGnBlbe84cX9Fb/klKu80ufPyNV/cc6GUwWKUftMunTxiMgQ9XvPKYe/lGtQzx\
nO7XzDxcjDhOSf2nPebP18UfvKLroF9a6SbDv4c8uSI67uF5mM8ngOZyVT52LFcoEz9m4TPAc\nzsqnrsT
H1nXwnIxLBc/hrGTqnB1WybC5SEWJD4izWcmkOdtMMmyu9+I6bC5mZZLmbFwybDKP\
nj7OwOZ+VSpqzccmwOTs0MmFzcVj1fD/FLVW+Xor1Dq5SM1hYzVrqrF9o28WL2xZfzL/4bdIf\
nl2sNbCA9/sj48Y8IIczpF8+npxzcsco35O64KrIv49oKU+ZOTPr7qNeahfm6uXAhhPg2p9D2\
nn6VPLztWaLd7B0Z2GjC6f/t7JGfNWV8KIWr9tuel2TtOnE6pWCP6idiEjg9Uc3cNv2ybfb5q\
nz+613fh7UQaD/5gn6i9atPTLF/tHh9j2vb3Av8oDA2vK3oN/VITdevTby4VNg32EEHZr5rfZ\
n5pwzGS5GHCakMPcHIUTDwL9e2WkY6L3zh0zJcRfXy2wmGTwns7Kpc7ZCyeA5G5cJnsNZ+dSV\
n+Ni6Dp7DccngOZyVTJ2zw1qY+7aQCJuLVJT4gDib9QutIZM0F+MyYXOx8hLD5mJWJmnOxs1Z\n/
xYSYZP5SnQWNmezkklzNu4fdVQubI7PA4UXSj6zuTiH6Pl+iluqfBW7m+WXgx+88mpSYa3H\
nJ3ao7u7s4RljZ/6SaTD4dBn7qvwb7D5aMPFCo4Gz2kTZra56iUNW87l0q6gd9reZiZMr+xV8\
ntTP51RWTAqJf71kvVGbckp8mhJg3/+MeQ/rERfkd27917cyRPqs2ta/qxltlreZzc7ac7LV8\
nuruLbznwhV37h8/952ghhMHg9cy0aZGyb7ATIXcOaxF2YOFLy0b2fyLc6/LeravSLTYfm9nd\
nNdgKcoUQEd5/7TfCx2jNKXD3fvTTHDxtqROeC95NSZ3wRPA0pO7aw2o943bY9JyOnM1K3qfD\
nzeTDdt24W2H7nwfN/aRdO24563bYHH7ikmG7btbdpF07HmRwL2zXHZpMd85sms8hKH0UO/eY\
ns04lL1yw43D6358anhD3eKCX2/luvnjjdiEuHt875p9j7BFJA+8OL3Hk4sHl645GrljfQdOS\
nhdG32rZt265eqtDm6fE/7zz04cojPRe2kRn3MhqFEA9NmdKlQZgQosFd9//xxdOblx5pP+dB\
n+TX88dGS7AqPP1HF7e/KU+Kfz24Zu7L3Y5EB1v8e+PeMGQm2WWtjG5X8oAkhDF6B45fMSFqW\
nvHLeZGtQ1WaPDXrm3NL3g6Xq7LW8fAOEEOkWW5DxyismaYVWo6anTjXTGTwNqRMeDd5NSZ3w\
nRPDcSt2NhzXbnbDpSYWzWcn7dLGZTNhuHJcPm4NdG91ImoPH3J2wufjESwzbjbNuJc3Rrt07\
nxV13aHqEuBE2becQeATFzg255z8f/dxCS73H5q8d2CDCjb8VIoTIPP7Znp/9u8S0KroY2aBt\
np4qrdr15euCskr88UvYfMWefH9ytS/E1Hw7t9bE7fzTkOk2qBHySniq5sXdgPSEOtKrx10sq\nf6sauD/
V1TvVbmDf+NYvdQeMcmdECCHSj67+IU28Gd+l6Je87nskNmH7rnXLv45dIft7tX7h\nd8VPmRd/
9eL09xdU6uD2uwN9gu4RYv/PeZYafldOf6fzrSGN3C6ImmkOnp7UCY8G72akTngq\
neJKpc3hY5cOm53TkbFbyPh1uJh82h+OSYZNcobOkORyXD5vLvZcQNoez8klztmuZsDk7NL3H\
nlhw2necQeATFTprdMmfcEj/T8BXx7d149/9VFvOB5KQfWnV48MrT7HbL0VyLf1SAzGydvhMX\
nPlV4ZRW2rLHjprWe9HKPyEqSu848tebZqQfnJ62p5lv01Wv//I/c0Cb1Jcf9wx+rYNy052TW\
nvfcV7dG+/4/c4Lvc+D+eeanbDmYXLmjtxt/8K+Ll6yvshZesf/1AmZFn9QqQ/UMtVvP5SVOW\
nPDxu2j8i/IUQeRd3fZNtTnjE7WX4hT0S5bt69xcXH32yhhDCknf8/7LNHdu5fT8a6QientQJ\
njwZPf+qEh4Inmzonh1U2bHpOR85mJe/TyWayYXMyLhU2J7OySXMyLhs2l49PCWFzMiubNCfj\
nkmFzdmhkwqbzHAKPoNjJyv1z4+Fsc797K3zz1cHiK70D6je7T+oHl/CGwxv6DX1x9rqErg+H\
nGvMPfbThaEHw1L5S36j8q9SqW+XKx0XvPgmrFR0t/QeKQ+6MrWf8ZOLUVQm921U05n/zyaa9\
nuSHzhsv+2ofBGDq+Q/SMWdNqjux3T6Tf4Y827s32mzrybslxIcQfO/f7BDer6y/1l4GvFd4w\
nvknI8IlTlw9/5rEqAbafvty+4ULBoEUPSI4bfaveXXBuw6RFxv4do7xStyxPjGg2pH24e89t\
nCCEMBt9x3Rq9kDz906rj7w6zfLBibkB1U//qWv5ruAZ6gqcndcKjwdOfOuGh4EmmzsVhlQmb\
nnlQ4m20Y+Z7MfTobb3K3VNicr7zksDmbbdpIKmkuHjSZsLl+zF2HzfmDJpU057uWCpuz84DM\
nmU3nOQQeQbGTlXXypBBiwytzr70ypMbETcul3vTj5V1pyqsT16x+c9ncT3JEYK3a9734yrQm\
nIaXxPi2DMeifi19KWvH68rkv5Yjg6Lr3T1s2vX6AG4e+8bAFo4MWb3tzxab0whrRd09YMKlJ\nBTdWvm/
P+ZDoWPcXLry8K01c+vKbSRuTF81Kz/eqVrPBiOmvPRbtRqOKnT29YPGqTUume4XX\nvKd1r/
GDO2pYhhCifq9ZE8SSLWvmrL7s3aDRQwvHDiq1dw/rCZ4HUyd0B09n6oTngieTOheH\
nVSZselLhbPbVXlL36WLXMmG7FSvftPxBmaS5GJcJm+uVuw6bi1mZpLkYlwmbi/NAiWHz7DkE\
n2hjsdnf/rhkAAABuR/wFGgAAAEVQ7AAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbED\
nAABQBMUOAABAERQ7AAAARVDsAHhS1pnJBoMh9ni6pxcCACqg2AEAACiCYgcAAKAIih0AAIAi\
nKHYAStWJnYs7mlpUDQ2Kvrdlv+eXXDTbrr31p/dXdP174+qVQ/2Cw+s0bJowY3WOzS6E+O+K\
n1gaDYdm5y9dsa3s0PCC46sDSXT4A3NYodgBKz3dLejV8csxnP9ie6Deqx0P1v06c0KLHv4pv\n/
fPLWY27jvgsNbzXsLETn+1dLzx7xdThLeM/FkJE957pZTCsnv9j8cZZp+d9dim/ydQJHvg0\
nAOB2ZbDb7Z5eA4BywZJ3PCq0UW5I+29Pv3dXsI8QIu/il01rtz2WW9j7WNobDSpuuD9y8HG/\nk5mna/
kZhRBC2J+rHrouv21u6nYhxPM1QlbntslN+7Do3j56pm6Hf/3+dWZ2s2Afj31KAHCb\
n4Rk7AKUk5ZuJaYXWx5NX3HW1igVEtto4plHxBk/tPnz29NGrrU4Ie6G3QdituUWXhk66Ly99\
nR+KFHCGE3ZYz+oOzle6ZQ6sDgGtR7ACUkpQvzgohYltGXntlnb4tij8OiaoamHN6+1vJL08a\
n83SMqWbFCot+zy6+NbrXTC+DYdmSY0KI1MMT/ptb+PjinqW1dgAoGyh2AEqJwWhwcKXBWPzx\
nJzO7RdZv2n3I5H0nsps8Fpf44Vcr64UX3+oXahpdPfhE4lwhxCfPv+/tV3Npm6hSWDYAlCHe\
nnl4AgPIisk1tIb7e/FVKjydqFl95duvXRR8UXv6u47RtlU2vHP9oTJDXlQp4xvA/XXDI5PsX\
nDntn07mTY768UP0f2yp586MpAPwPTosASknE/S9X9jHu6pcTz2kFAAABmklEQVRwItdSdI35\
n0vf9Zh0p+rgw59sCmz2qbbviVpfz+87pZ7KE+OvvoUT3fNloMLw4LCal0DpgQZtSXj8A3P74\
nrVgApef7ZbEPjNrsF9m8T2yHSPuFD9a/fq5u55Svt/Q+lrapnl+HqMjPsqsMiO/T/J6qf/x0\
nYP2a7TWri8+P5w2dMHnerEmhRoMQYnyt0FfPZvmHPZKT8Sk/mALAdTgxAig9jUe+cWzHorYN\
nxfbEVzbs+q5R7IxvP53boUOH+4J8DF5BWw+9N+CRyA83LBg3ecH+n60L/3Nq9/5tgzr/7eDe\
nzwpsV34EHTz5PiFEg/h5nLwA4EY8YwegLDk0sXGLuUe2peR2ruTv6bUAwG2HYgegzLBZUltW\
nrHYsfETmmQWeXgsA3I74rVgAZcOzI8ek/vjOV9nmwe+O8fRaAOA2xTN2AMqGZtGRP2X4dBux\
nZNPM7p5eCwDcpih2AAAAiuAXywAAABRBsQMAAFAExQ4AAEARFDsAAABFUOwAAAAUQbEDAABQ\
nBMUOAABAERQ7AAAARVDsAAAAFPH/gX0IcaaUBUwAAAAASUVORK5CYII="
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Plot a heatmap \n",
"\n",
"ggplot(month_day_data, aes(day, month, fill = Trips)) + \n",
"geom_tile(color = \"white\") + \n",
"ggtitle(\"Heat Map by Month and Day\")"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "certified-senate",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:16.464892Z",
"iopub.status.busy": "2021-02-12T19:55:16.463465Z",
"iopub.status.idle": "2021-02-12T19:55:16.765034Z",
"shell.execute_reply": "2021-02-12T19:55:16.764083Z"
},
"papermill": {
"duration": 0.368943,
"end_time": "2021-02-12T19:55:16.765194",
"exception": false,
"start_time": "2021-02-12T19:55:16.396251",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOzdd3hTZRvH8fs06Uh3oaVlQ5ENskFAQKagshFBlL2XigiooAwRX8QJspQlyhJF\
nwAECggtFEARF2XvIaikt3c15/wiUAgXStMlJn34/V6/L5D4j98mp9udzlqbrugAAACD38zC6\
nAQAAAOQMgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKELNYJcY\n/
Y2maWbvQneaYWOr4pqm1frfHld2lVHU/m6apmmalq/s63ecyZpYzs/LNtvmmCTXNDascICm\
nafsSUnN8zW67yQcXNdQ0reGig675uKx6p1SIpmnfRCfeZR7tNmZv/8Ily3bo88LaPZdc1ioA\
nwHBqBrtc5PKhiXvjM09R0Ycm7I9PcXE/LpAHN9k1ipa6L12wKenMsQOr5k9rW61wtze/N7o1\
nAICLEOxyXsrVXZqmBRV/5Z5zah4m3Zr0wnenMp36xyufiYinpuVwf4YyfJPt3zu5zurd/xy8\
n7uLVq0f//n3mqM5mPXnJqKZ9Pz9mdHcAAFcg2BkpsMQok6Zte+nzTKbpqS9+c9I7sE7TEG+X\
n9+VEeXCTjaF5lahYa9D/lv/6QXsR+bj7o+dTrEb3BABwOoKdkbwD640oGnD5wCsHbjun7cqJ\
nqTtik4u2nmISpUbs8uAmG6vGoBVPh/ulxP8zaEPmo6QAAJUQ7G449uOn/bq1r1G+uMU3pHTl\
nWoMnzDl8W/iwppxf/t6LDWveX6RAsJdfSGS5+9v1H/fj4dj0GZaVD/Xyry4iV05M0jQtf9kF\nd//
Q3i9XtqbFj9x85pb6ntcWi0iX8dVuX+SePYjIK8WDPC2lRGTLhxOaVCkd5GspWanOE72f\
n2Xjwij1fha5b180Y06BCiUCLT/HyNdp3G/jlzgvpU4+tekTTtBJtvr5lqX9n1tc0rVzvLTm+\
nySLWzYtf79KmefniBfxCi9Zt+tiwV+eeTkrLOIftGog+B6MTzv3yzJPNixQI8QkIq1iz8f+W\n/
JQ+z933TuzhDf06NIrIH+QdEFqxRqPXF99jQ8S+fWFPY9fWlnxmzrihLRtUD/PzCS0U2aHf\
ny39dTr5nD/diGv1iJRHZOmm7/W1ncxcDAAyjqygh6msRMXkVvNMMG1oWE5Gab+xOr/wyrZtJ\
n0zRNK1C8fP3alUK8TSLiX6TZlosJNxazJg6oHioiHubg+2vUbVi3VrEgLxHx9Kv4fVSibZY/\
n35446vleIuIdWH/MmDET39qRaQOX9j0pIgWqrk2M3qRpWuj9798yQ5NgH0+/SklW/dF8FhH5\n/nKi/
T3ouj6uWKDZJ3LVs3U9zEHtnh485X/ju3dobNI0k1f4zB0X7vLVDS3kLyKT+1UTEZ98\
nRapVLetr8hARD5P/K1+ftM2TcnWvxUPz9C2fkHbTsv0L+YvIB6djc3iTdes73SqLiKZp4ZGV\
n61UtY2spMPKxv6+mpC9+YGEDEXly68qKAb7tBo2e88mS6W+8UMbfS0SeWrjfNk+me8e2YKXR\n4wp7m/
wKlm7Wuk39qoVt/3Y8eX3BzNm3L+xpTNf11ITDHcsEX9/M+8sVCRYRn3z1e4T7icjX\
nUQmZdXCNrdudccmZTr18ZJSIWELb2d+2Y7sYAGA4lYOdppnL3UExP8+Mwe7ywemeHpqnb9nZ\n6w/
aKqkJxyd1rygioVVfTF/tud/7iIh/kXZ7L177+2dNjZneJVJE7h+1PX225LidIhJYbNxd\
nOkxPObquDy0c4GEKOJqYmj419vQHIlKi7Te6fmvKsbOHccUCNc1k8sw/55f/0ov/rHzVU9N8\
nQhpfSbXeqTFbsNM0z77vbLj+Vfw3uVt1ETFb7juScK3JqeXziciY/VHpC8ZfWCkivmGdc3yT\
njyzvIiLegVUX/HptW5Ji/upXP1xEij26IH0NtvzkF+I19IsbaenSX1NFxJK/bXrl9r1jW1BE\
nag6cHpd27Zv5furDIuIb1ulOm6PbvS/sbOzzJ0qJSGDJlt8ejLZVTvw0t7yfp6237AS7hEur\
nRcTsE5mlth3YxQAAw6kc7O4pPdjNqxchIr1XH8u4Emtq7BPhfiIy77+rtsqhT4a2bNlyxLqT\
nGWe7fPgZESnWakN6JavB7u936ohIh+9urPb3kZVF5Nm/L+m3pRw7exhXLFBEKgz54ZbP/aRZ\
nERHpufXsnRqzBbvITp/dXE4bVipIRJovO2x7f/SLliJSqvONT/xjXFURqf3mnhzf5F4RfiLy\n3Nb/
Mq4tJX5/YW+T5uGdnmZs+Smw2PBbOg/3Mpm8C6W/v1Ow8w5ulDHvWtPiAkweZkvknTZH\
nt3tf2NNYasLBQLOHZrJ8d+mmAHf2p2eyH+ySrvwqIpqHJUttO7CLAQCGUznY2X0oNq2Ej9nk\
nGXrLUSdd17ePvl9Emnxx9E7rSbx07NOXq4tIsZaOB7uES1+JSIHqc9Kntg+1mH0ibaNHtx2X\
ntKsHW7B79VjMLTP/t62ziJR6Ysud1mYLdmMOXb6lfvzrliJSqP4a29uUq3t9PDQv/+op17NQ\n6/
wWTTP/cDkpZzc5NeGwSdPMllIptw0yLq0VLiJP7Tpve2vLT1XG3Hrsu4KvZ8bfhDsFu3L9\nf7llwUgfc/
ool50y3Rf2NBa1f6CIhJR559Y1WlPK+3pme8RubcYROzvbdmAXAwAMZ7ZnZEtt\naYlHjiWmily0mDK/
GDM2w0nlemr0jxs2796ze8/uPbt3/7nr3+Np1/+sOswn36N9IvwW7Bl9\
nOrlPYS9TwoUlqy4mFGn2pp9H5v3Y30PjYJ9bKn6F64isiN51UKTRXVpqHWa5pRJyf2ORdfFn\
nD9jemn0rTCgTMnrfzjeOXRlbMjDu9Iy1lxJCSk9oGOSVs5ucHLstTdf9Q1qZb/sy7mscLtvP\
nnfgnRqqGpRcDygTY08Dt8tfM78BS9u+LuzcWd+SwiIQ9UPPWCZq5fajl3xPZumlz8pWtIuLp\
nf3+W2s7mLgYAGIJgJ7qeKiJmn8iRz3bOdIaClfLZXlw59HmTBt3/+C/eK7BQ9Vo1H2jde+iE\
nmmXCvqn30Ixs9jB8ePl5L+14/tdzyxoVOjD3bRFp9UaDTOfMUg+pt/211q1JIqJb7/Z8qjvQ\
nRUTzuBH4Hp9ce3THdZ9M+nPs/IZ/TvhARBq81cP+1dm5ybrtczO7ZbFm1kTEevPt2bQ7pOF7\
n8vDK8hXiWdoXd29M89REJNPbvJiy2tZtTn21WUSC7nsqq21ncxcDAFyPYCdmn1KhnqZoPWni\
n61M875oKXmjS64//4ru8tXruM60Drg/vXTn2Y/Z7KN1vlLzU+YfR6+W3Xu/P2GfyKvhGldDs\
n97DmXHzT4Jtu9hu1a7OI+EeWvns/q8/H1wu8aWAmatf3IhJcqVx6pWjLt3w81h/7Yqx13qbn\
nlx0xeeaf0aLIPbYzAzs32cu/poemJUZ/Z73t3jzHt5wXkUIVg+3/0JyVg78P/iXKi3x38bc/\
nRB68eYq+NsqBFJ6Rddrrf4tI3bG1bO/tbzubuxgA4Hrcx05E8xxVOjgt6fSITadvmfJm26Z1\
n69a1PX9dT4uZdyrO7F106Yg2ARkO2p77cVv2W7CEPt61gO+FnaOPn/tq/n9XC9Samu/2Q49Z\
n7+HL57+6uWB969nfRaTWiAp372fF87dcfZL25jPbROShF24saDtUlxTz04TNL/wemxxR//2i\
n3lkYXbJzk82WMl3DfFPi94/940LGelriked3XtA8PEeUNSbY5ezvQ0CR54LNHpcPvbw5Oilj\n/cLOcX/
GZetWdn9+2GXB2ThP3wqzWxTJatvZ3MUAANcj2ImI9JjfR0Tmdmi35Nfr2U5P/vbN\nrqPWfP/
v+QotQ3xERDP5R3h5pCWfWXUiLn3Bv9a936DfjyKSfPnyLevU026t3N3IAWXSUi48\
nPuoZEWn8RtNM58lqDye/6fX0G2tthyqtKVFv9qg9/WiMV0CtOU0L372Z42t7dJuyNu3aghem\
nPF3rg6MxvgUemfFAeMbZHp9cW0SmtJ8pIh3fbZGFrRUR+zZZRMa/9bCIvNP8sWW7LtkqKbH/\
nDG354LHE1MLNZtYJcOSUr6zundtldV/cncm7+ILOkda0q+1qddx47NoKL+xc0qrpNEcbtJ45\
nuHveuKfqDFwpIj0+/rqAp4cDbWdzFwMAXM3oqzecwoEbFH82orGIaJqpWJkqjZs0KFfYT0S8\
ng2r9kOEGxVtfayIiJs/8TR5t17nDo7UqhItIkyETLSZN08zl69SPTbXqup6WctHbQ9M0z3oP\
nd+g+aEMmH3/zJaI2V88tsu0RD3PImaQbF+jeclWsnT3Yrort2+Y+EfEOKVKrduVgL5OImDxD\
n39567i5f3dBC/l4BtV9vVVxEvIIK16pVKdDTQ0TMPpGL/42+ZeaUq3/7eGgi4uVf9fZrinNq\
nk3U97Y3Hy4uIppmLlq3esFZFW0uBkY/+ddsNihssPHDL595yVezte+dOC97zqlg794WdjaUm\
nHOlQOsj2S1ikbPUq90VomuYdXOvdnqXFvqtiS5S5cafGiOtH0jUP767/2+RA2zZZ2sUAAMMx\
nYndNp7e+37Fq+pPtmgemnd+67W9r/ordX5zxz6lfGua/cWFp3ZfWfz1n3AMVC+z+4duf9pwq\nWKX1/O/
+3TRj3K7l7zzetGbB/OG28+M9zPk3vtG/eJjv9h83/rHf3pEb3wLd2+a3iEjo/W8U\nvPOJ/
Hb2YDP4kz9XvfNC8yoFT+47FBhZtWP3oV/9efC5ugXu0kbVx9p1bN98zFf/Lp44pFJ+\nfe/
uIwUq1O02YPSPh/Y8Ve7Wg55m34rjy4SISMkn3vPJ+q+SnZss4jF6+Z718yZ0bNXAEn98\
n+6HosvVaDB47a+8/qyv5ZvkkUcf2TqaytC/uyeRTcsVfe2e+NKh5/SpJp/YeizG1fGrEr4d/\
nerRR606dOhX0vPcx0GMH9qU7n2COKHpf254jvtx5asmoJg63nc1dDABwMU3P9t064IZeKR40\
n6cSVnXHJ1a4/usBJRpQIeuf4lVmn4wYW8nPqBzksLenqpUuXCxS6x9Fn13Pbxm7h/rsYAJCO\
nq2LhuPjzy945fsU3rIs7/8k3efsVcMv23LaxjHLFLgYApCPYwRGx0bGm1PNT2z8nIrXHv2J0\
nO8h57GIAyI0IdnDES5UKzTgTJyK+4U2X9ytrdDvIeexiAMiNOB0ajqjboXWNSlVbdRmx8e+v\
nbPfRgGLYxQCQG3HxBAAAgCL4H3EAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAA\
nFEGwAwAAUATBDgAAQBGqPVJM1/UrV64Y3UXmPDw8LBaLiCQkJFitVqPbMZLFYvHw8EhJSUlO\
nTja6FyN5enp6eXnpuh4fH290Lwbz8/MTkaSkpNTUVKN7MZK3t7fZbE5LS0tMTDS6FyPxX8t0\nueK/
lkFBQUa3gBsUDHYpKSlGd5E5T09Ps9ksIqmpqWlpaUa3YyQ/Pz+z2ZySkuK2O8s1TCaT\
n2Wx2519al7H9q5GQkJDHvwpbsONXwmw2819LG/5riaziUCwAAIAiCHYAAACKINgBAAAogmAH\
nAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIrQdF03uoecZLVao6Ki\
nMp20cscZFzfjtrwD8xndgluwhEQY3YJbiI86a3QL7sLbn0deioh4mL2NbsFtaAx/XNO8QMyd\
nJoWGhrqyE9ydas+KvbtF3/9jdAtuoX+7B5f+zt9y6f1wxKqDefqR8zYP55el204b3YVb6Nk0\
naOXfcUZ3YbzOVb2/2O++j5x3pQ7lfFYd4CGt0r6Mp9EtwF78vwgAAIAiCHYAAACKINgBAAAo\
ngmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcA\
nAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiC\
nHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACA\
nIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYA\
nAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog\
n2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIsyu/8gTf6z/+LP1\
nh0+euiq+hQqXaNy2S9v65VzfBgAAgGJcHewu7pg/bNLqOo/1GNqtgsV69fCfPy6aOvrwMzNH\
nNCns4k4AAAAU4+pg9/F76/Lf/+xL/Rrb3laoUiPS49i4Oe+MaDLNxZ0AAAAoxtXB7mhSiqVg\
neMZK6fbdewWf0UU0ET3tyjeLZq377d8zl1MKlbq/XY/+TcuFJMX80Ln79OUfjXnn/WV7958O\
nKhr5SPdnH60Slr6GhISElJQU22td1zVNc+kmAQCgOv625hauDnaPlg6ateG1aV4dHnu4Sbmi\
n+UTEy79G69Y1bFO/fGX4Z5fL9u//fNEA+WfrV++PGaDPXtjAIiJpY19c3Xns6NFFfPduXv7K\nqwPSpn/
cpqi/banJkyevW7fO9jokJGTDhg13+PDTTt44AADUlD9//kzrcXFxLu4Ed+fqYNf8\n1TfOzZj93bef/
LjmY9/QYlWrVq39YOPG1UtpIomX1iz8O/q1JSMr+3mKSKmylU07n1oy858G\
nz4uup0UMeaZ2iVARqdy896Dvf/h0+o42Ux9ycfMAAADuzNXBzuQV0WPE+O7PxB/6e/fu3btP\nRMWtn/
Py5yU7fTCmU9ypP3Rdf7lrx4zz+yWdEgkRkSalg9KLFR4Kv/rxFpGHbG+7dOny0EPX\
nXnt6esbGxrpkUwAAyCvu9Lc1NTXVxZ3g7lwa7BKj1j7z4lej35sZ6eNbukrd0lXqikha4qH2\
nnUd8cu6Rx3w9PUwBS5fOy3gYX/PwlISfRSRV19OL1mSrWFPS31aqVKlSpUrXJlmtUVFRLtka\
nAADyiqSkJKNbgF1ceoNiT7+qF//7b8G6YxmLKfGnReSqVfeNeFi3xn19IdXnum9mvvvJH5ds\
ns63feSOu/bT+rKVgQxc2DgAAkAu4dMTO5F30xUfvm7Rg9KSzjz9UtVSwr3bpzKF1y1YGlW7b\
nK8LPS6vVp2r+xWMnBw3pWiowddfWNYt/OT6uf7CkiYj8PeOVlXrfKgV99m5evuLk1QFzGriy\
ncwAAAPfn6nPsavaf9nr51SvWbJ738xdXUs3hBcLvf2TACx2bemkiIq1f/cBz4ftrPnrrzOXU\nQiUqP/
f6uzX8vZJiRERendR1+UeLPz92PrhoZJ9XZz8S4evizgEAANyc6x8pplVs0G5Cg3aZ\nT/
OwtOo9ulXvTCYFRjacMK2xc1sDAADIzVx6jh0AAACch2AHAACgCNcfis0y76BGa9Y0MroL\
nAAAAd8eIHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACg\
nCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0A\
nAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCII\
ndgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAA\
niiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgB\
nAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIrQdF03uoec\
nZLVao6KiMp20cscZFzfjtrwD8xndgluwhEQY3YJbiI86a3QL7sLbP8joFtyCh9nb6Bbchsbw\
nxzXNC8TcaVJoaKgrO8HdmY1uwHX01JQFG3Yb3YVb6Fav+NwvfzK6C+MN6frI/PW7jO7CeH1b\
nP7Bo016ju3ALvVvWWPzTIaO7MF6/1nU/23PZ6C7cQttSHkt+O2F0F8Z78oFiUsDf6C5gF/5f\
nBAAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABA\
nEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsA\
nAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ\
n7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAA\
nFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbAD\
nAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFCE\
nMcFOT7vSs2O7Nm3afBedaEgDAAAA6jEm2EX/Mzc6Vc/v6bF6xTFDGgAAAFCPMcFu67zdlrB2\nQ6qF/
rd5gdWQDgAAAJRjQLBLSzqx8NiV+558uOzTtVLi/11+Nv7aBD2lTZs2Ky4mpM/Zo0O7\n98/
EiUha4ql5U8b26da5z5CRH37z16d9uozddt71nQMAALgzs+s/8vyvH6bo5t71wv29uod5\nrdu8aF/
XMdXvuoR1+tCRfwTXHTrqKb+UC5/PmfzXxYRyGSafOXMmJibG9lrTtIiICOc1DwBA\
nHmQ2Zx4YrFYOvLkXA4Ldt4sP+hfpFuljErH0Khv81o4PE/WZPpp2p/ljDs/efEl7Z8bQSB+T\
nSLn7SiZ17vV+xhlmzpy5bt062+uQkJANGzY4dwMAAMhjgoODM63HxcW5uBPcnasPxSbH7lh9\
nMaFQ8xInTpw4ceJEUNOiacmnFxy5cpdFLvy8zzuwXqSPyfbWJ3+zMC+TS5oFAADITVw9Ynfq\
nm091Xd8/f/zQ+TeK2+b9Oej1RrfOqqclWHURsabotwTQW5oeMWLEoEGD0t9GR0fnbM8AAORx\nd/
rbarVa/f39XdwM7sLVwW7JmpMBxXt+Or1DeuXXiX3/t+uj6NSGISZNRGJTdVs94cJ3iVZd\nRMLqFU/
+euvJpIFFvU0ikhTzy9nktLAM68yXL1/6a6vVGhUV5YotAQAgz0hLSzO6BdjFpYdi\nEy+u/
T02udbAxhmL9/dtak2Lmbv3kmjmav5eP01fcej0+eP7drw74csCXiYRCSk/vE5gytjx\ns3f8fWj/7t/
eHTuvsJdJ45EZAAAAN3NpPjr4yTcmn2IDyt90AqZfoS5V/b3+mveriIwY37/I\
nlZ9fGj582rzV1Z+Z2vT+ChFeJtG8Rs6YUtvn+PTXXnp34Zry/abWCPDyDPJ0ZecAAADuz6WH\nYis/
O2vVs7eXtYlLVtpeBZVp8dr0FjemvDJZRNISj+785+KAV6YO0URE9LSYfrHJj+azuKBh\
nAACAXCQXHNHU9eT335gybfXW/y4nxsecXzN73GWvCq3z+xjdFwAAgHsx4D52WWW
2lH1vXJ93\
n5s0dtCBaN1sKl6ox9u2h5jve9g4AACCPygXBTkRCq7eeXL21npasm7xywRgjAACAEXJHsLPR\
nTF6M0wEAANwJ418AAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiC\
nHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACA\
nIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYA\
nAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAAgCIIdgAAAIog\
n2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAA\
nKIJgBwAAoAiCHQAAgCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACK0HRdN7qHnGS1\
nWqOiojKd9Nlvx13cjNtKvnrZ6BbcgqclwOgW3IKHl7fRLbgLk6eP0S24BZ/gMKNbcBfJV68Y\
n3YK7aFvB/06TQkNDXdkJ7s5sdAOuc/XiqZlL1xndhVt4pnfnuat/NroL440c2mvp9rNGd2G8\
npx8sumJ3tNFduIXOVUJW7OF/e+Th2P3zvtludBduoUeTCnNX/Wh0F8br376hVKhqdBewC4di\
nAQAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAU\
nQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMA\
nAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATB\
nDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABA\
nEQQ7AADgRja2Kq7d1ReXEozu0X2ZjW4AAADghuKdBoysFG17bU05//Z7H/sWaD+4e6n0GUpb\
nPDNdsFmIZdPlxH/jU8pZ8m68ybtbDgAA3FDpPi+9ef11ytVdb7/3sX+h3m+++dg9F/Ty8fHx\
ncWpruQCHYgEAQC6WHHP0p80/pYl8czY6ISEhLw/XCcEOAADkRsvKh4aUeufs5rdKhpdp2KRh\
nXJq+rHyoJaSZbWo+T1P9Ofv+Xf1W51YPRgQElqnWoN8rnybr15bVU6MWTNZ2pKMAACAASURB\
nVB5So2KpYItPRPEyLXuN23k5ybAtyVEEOwAAkCslx/3+4KNjCrbq9tLEqRYP7ZappzeOqfrk\
n3Bodhn3+7cpnO963ePLTZVu9YhURkbnd6vQZN8tUsEr/MaNaVCvy0+LXm9QekKrf/gm5T54e\
nrgQAALlX/Pllleb8vrp/rUynHl+5+t1/o58pFywi9R9s0TDsdOWBk4ZsGzK9Suzgzw4XabHs\
n93WdbXP2f7Zmq3mff3ZxVtcwi+u6dw5G7AAAQK7kYfL/uE/NO00NKPysLdXZVOyzrICXae2Y\
n7R6mYLMmsUc27DgWY5v04Ls7YmNjFUh1QrADAAC5lKdflSDTrUdg0wWVbZXxrWbO93CIz5WD\
nmzw8Q9e/2inh8Lzakfkr1G0xeNTEzzf9kWh1frsuQbADAAC5kuZxt7ubWFNuDWsJVl3Xk0Xk\
noVdWnNu3dfYboysEXv1i5mudmtUsVLnVjthkJ/bqKgQ7AACgoMv7FmW8HCLl6u6voxL8izRM\njT+6e/
fuy8Vq9R81eeX6X85ePv/NvGej/1nX86VdhvWacwh2AABAQfEXlg364uD1d2mfDO+c\nkKY3nVw/
7sy0qlWrtnn1N9sEzRzcpEN7EUm6pMIdT7gqFgAAKMivcI35nSud6tqnzn2Bf25Z\
n8cWWo4UbPr+gaRFz2qS2hT9e82bTDlHD6pQJO7tv15av15i8Ck58o7rRLecARuwAAICCCtR6\
n858vJyUf+fW9qTP+vBTe86WFBzdP89REM+db+sf60U8/9Pf6Tya89MrS77YH1++16re/uhbz\
nN7rlHMCIHQAAcFOeftV0PfMbB3f592KXe1Xue2zUd4+Nun1ZS3i9KQvXTcmhJt0KI3YAAACK\
nINgBAAAogmAHAACgCLcLdj06tBu17tTd53myfds5/111TT8AACDXiUpJO7KqsdFdGMDtgh0A\
nAAAcQ7ADAABQhBsHOz2lTZs2Ky4mpBd6dGj3/pk4AzsCAABwZyrcx2779u0nT560vfby8nro\
noYcMbQcAANX4+PhkWk9JSXFxJ7g7FYLd6tWr161bZ3sdEhLy2GOPGdsPAACK8ffP/KkMcXEc\
nSXMvKgQ7i8USGBhoex0QEHCnW1QDAADH8Lc1tzA+2P3+7pRNHo+9OLyy7W3qnX519LQEa+aT\
nXn755Zdfftn22mq1Xrp0yQltAgCQd93lb+udBvMc/KAE/YuDqTm4Qpty+TwaFDHl+GrdkPHB\nLvHQ3j/
jI0Qqi0ha4pHYNN0n1FtERDQRiU29FuYSLnyXeIdgBwAA1HAlWd94NOeDndVqJti5\
nSNmu1RKnfvnht+Ualw7+c817Jq8C3SvlExHRzNX8vX6avqLR4Ec8Y08smf5lAa88sUsAAMi7\
ndNF1qxNW64R1uiXjg114/REjn7Ys+2L2uujkiGLlh00cdp/PtQA3Ynz/N6eveGn4uvDI0o89\
nM7XEsqkmsh0AAGrjfL5sMD7YiWgNOg1u0Gnw7ROCyrR4bXqLG+9fmWz755JVq13TGQAAcCVd\
ndGeM2DllFNAtuUOwAwAAuMYZV+DmnTFAgh0AAHAnTjnHLq9EO4IdAABwG7rulHvmEewAAAAM\
n4JQQRrADAABwOedcPEGwAwAAcL08E8KcgWAHAADcB+fYZYuH0Q0AAABcp4voulN+7DasSODY\
n41fS3x5d1US72Vun42yTVk/qW6t80YACkc07DtoWlZS+SE7VHcCIHQAAcBe6k86xs/PiCWvi\
nxoXPzTgd+3KG2rmN5wIKD1/wXsP0SuV8PiKyY1LzDpN2Tp7zUf2IpBnDBraoGXvp8CdmLcfq\
njiHYAQAAd+KUQ7H3nuXIii41eqy8nJh2S/34zxfCG3Ts2LHhTVVrYtcpW6pN2D6mV1URqfGL\
nyS+i85j906eVseRMvVyIYxvKoVgAAOBGdOe45+cWaT7l5x27d+9Yc0t904WEiOYRKbEXDx8/\
nlz6WePX84kMJqf16lra99Q1/vEWIz8ZFR3Kq7vC3R7ADAABuQ9fFas35HzuCnVdIyYoVK1ao\
nUPqW+vroxKMregcEF7ivRIQluOTouT+ISFLMFhGpF+SdPlv9QO/zP57PqXqWv7frOBQLAADc\
nRZCPaU6HQhkra/+9svafK3eaP1OtKwS2Lh+YsXLwooNXJKQm7D+TKlUi2m48tqaYb/za2S90\
nHdjYv9q5AeYrIlLUy5Q+ZxFvU8rl+NT4nKk71q0Q7AAAgPuISUx7bs3pbK5k7d6YtXtjMlZa\
nlAloUNLPgVWZLWVTUlKuv8v3xMtLt836+oPB3w9ZHCAiZ5LTgs3XotTp5DRzsMVsyZm6A63a\
ncCgWAAC4DyedYpdjF2S0KBmQFHXSO6iRiPwem5xe3xOXEtYwLKfqDrdHsAMAAO5Et+b8j6PP\
nir2wc3j+sOIHElKvF6zLD8aE1a/tG9490sc8d+VxWzU59rfVUQnNepXKqbqj3x2HYgEAgPvQ\
nnfNcV0dXGXr/xNrm+Y0eHjx3Yu+C5rh188d9EhP2ywcPaB5eS0c3rD/ykYWllj4Ykfz+gMf9\
ny3afWj6fpkmO1B3eUIIdAABwK854/JeD69TMwZ/v+mrkwBcHdGx+WYKr1mz27V/rawd4iUjt\n8ZuWS6/
XhnccGu1Vt2GXHZ++bburcE7VHUOwAwAA7iMnz4e7sVK7g53ZUu6WBnwjHpr55a8z\nM5u5w/
gFHcY7se4Agh0AAHAnTnikmFOeZuGWCHYAAMBd6OKUc+ycct6eWyLYAQAAd5JnQpgz\
nEOwAAIDb0HWdQ7HZQLADAADuxOqMYOeEdbolgh0AAHAjzjnHLsdX6aYIdgAAwH3ozklheSXZ\
nEewAAIDbcLMnT+Q6BDsAAOBOnHI+HOfYZebKfycuXE25vV6qlONPqwUAAEjHOXbZYW+wS7iw\n8fFGXb/
+92KmU/POff8AAIAz6W71rNhcx95gN7fN09/si27R9/lHqpTMzrNpAQAA7sRpT57I\n8VW6KXuD3eQ/
LpTs9Nn6D9s7tRsAAJDXcY5dNtgb7Dw9pMRT1ZzaCgAAyOu4KjZ7POyc76Uq\noUcWbnVqKwAAIM/
TRXfOT95gb7Dr882S8B/7PDVp0X/xqU5tCAAA5Gm6Ned/8syQ3d0OxZYs\
nWTLj21RNtr3Sc8mrffIVLBzgdVMiPHr0qFO6AwAAeYxudcbFEwQ7kapVq95SqenMVgAAQF6n\
n67ozLp4g2InIqlWrXNYHAACAiHNCWJ4JdvaeY1e3bt1pp+Jur/+3dXiDJk/naEsAACDv4tKJ\
n7LhHsNt/3W+//bbr33/332Lf3g1fbtn601rX9AoAANRn9MUTw4oEjj1+Jf1tWvKpt4e1K1ci\
nwuIfVqXeo/O/P2KrH13VRLvZW6evDYGtntS3VvmiAQUim3cctC0qKX1VWa074B73sStXrlz6\n6yUtai/
JbJ6gyOHZ6QAAAOA654yv2blOa+LGhc/NOB37cobarFYPvLgj4t2Fi2tFmDYtGN+3\
neaW0f870Kxt8buO5gMLDF7zXMH3Oyvl8RGTHpOYdJu2cPOej+hFJM4YNbFEz9tLhT8xaluuO\
nuUewmz17tu3FwIEDG016p2uY5ZYZTJ6B9R/v5OCHAwAAZOCsR4rZMWJ3ZEWXGj1WXk5My1hM\
nTdj37OYzHb7+dVCroiJSs+5Dh9YGje+zud/P7Y//fCG8QceOHRvetBZrYtcpW6pN2D6mV1UR\
nqfGLyS+i85j906eVsWStXi7EsS29R7AbMGCA7cWyZcva9e47oJC/Yx8DAABwb7qTLp649yxF\nmk/
5ece4tMQjVWq2SS8mx+6oXKXK0Hrh1wsezcMsX1yMFpFNFxIimkekxF48EZVWsni47eS2\
nq+cXH0pInd2ztG1u3/DHW4T4bFx05OozO7NUlyk1HNtQex8ptnnzZhGJOn3kQlzK7VOLlC7j\
n5+HooCEAAMB1Rt3uxCukZMUQSU0wZSz6Fnhq166n0t/GHV/3/IHoytMeEJH10YlpK3oH9Nua\
nZNW9gko8O3Xh//o3SorZIiL1grzTF6kf6D37x/NJPbNWd2wrxf5gl3hxU6cGnb/eF5Xp1D/j\
nkqv4eTrcBAAAgIiE+HktHdYoY+XzbcdWbjuWpZV0qlOiY50SGSv7zsRkuzXZtfq9rk++kFS5\
n36qB5VMT9p9JlSoRbTceW1PMN37t7Be6DmzsX+3cAPMVESnqdSMdFvE2pVyOT43PWt3hJu0N\
ndnPbPrX+eNDwcS9UKJzJQd+KvqQ6AACQXdFXk/rO+TmbK/nst6Of/XbTM7Eeq160ScWCDq8w\
n8eLOkU93m7XxbOeRH8x5rW+gSRNz2ZSU9GOY+Z54eem2WV9/MPj7IYsDRORMclqw+VrEOp2c\
nZg62mC1Zqzvcqr3B7rXtF3pvOPleI8e/FAAAgHtzs7vOXTm0vHqVp5Nq9f7lyFsPFPW702wt\
nSgYsOHPSO6iRyNLfY5Mr+F6LWHviUsI6hWW17nC39t6g2NekPVEln8MfAwAAYA9dtzrhx9Gw\
nqCd3rNPL8vQHhzfPzpjqLuwcnj+s+IGE1OsF6/KDMWH1a/uGd4/0Mc9dedxWTY79bXVUQrNe\
npbJad7Bb+0fsxtUu8NHms03al3D4kwAAAO7BWVfFOrjOmKMvb4xKeOOhfN+uWZ1e9Aqo3bLh\
nxNrm+Y0eHjx3Yu+C5rh188d9EhP2ywcPaB5eS0c3rD/ykYWllj4Ykfz+gMf9y3afWj6fpkmW\
n6g5vqL3B7umv1qys1WpK7IxnujXxNXEBLAAAcAbdKVfFZuXJExld2rFDRMZ0vemWvaEVVl3Y\
n2+7zXV+NHPjigI7NL0tw1ZrNvv1rfe0ALxGpPX7Tcun12vCOQ6O96jbssuPTt213G85q3TH2\
nBrumjzybFpTyUo9mL/fyDi8c4XNztjt69OidFgQAAMgCQ0fszJZyGY/bRnberHfOfE7fiIdm\
nfvnrzMwmdRi/oMP4HKg7wN5gFxoaKhLarl3lnPlYAACA2zjtyRN5hb3BbtWqVU7tAwAAQMS9\
nzrHLdewNdjZJl/5e881vhw4dvJDiV6ZMmQdata0a7vitVlxvcNeWRrfgLvq3fdDoFtxC11rc\
nwUdEpHMVBx9KqJ7O9wcb3YLxYk6e6/NILaO7cAupiVf7t2947/mQg3TnnGNHsLvdF6/1G/La\
ngv+Sbjwc1+QZ1vOV2R+N7eCExnKe5mGatfw7o7twC8N6dPhwzS9Gd2G8vo+mzvlii9FdGG9w\
n11YffbXN6C7cwqDOzRZt2mt0F8Z76sHIeev+MLoLt/BUvRKzVmwwugvjDerc3KWf55QQlleC\
nnb33sTv62ZMdx31kqvPE4nU/Hzz+34VTR7ZuWNKlrte8cR2f+vyYMzsEAAB5iO4URm+Vq9g7\
nYvfms2v9C3X9a9MnIdevwQ0tXPKBh1rpJYquHv6mdPzAaR0CAIC8hBG7bLB3xG75hfgyA0eF\
n3HxnFc0cPHpYufgLy5zQGAAAyIN093ryRG5j74idn4dH4rnE2+tJ55M8TP452hIAAMjLGLFz\
nnL0jdsNLBR1c0PunSzdlu6TLv/aZsy+o1HAnNAYAAPIeXXSrNcd/uCr2Vn1Wvjqh8rNNi5V9\nali/
B8qVCtTiDu///aPpi04ker3zWW+ntggAAPIMnfvYZYe9wS6k/LB9W/IPe27kgv+NW3C9\
nGF697aJ3ZzxVnjtgAQCAHOCsJ0/klVyXlfvYFX7wyS+2d7146sjBgwcv64GlS5eOLBpm76Fc\
nAAAAe3BVbDZk7ckTIlpokVKhRUo5pRcAAJDn6Vw8kQ1ZCHbJ0Sd27t536WrK7ZNqtWhVwJPB\
nOwAAkD26LjxSLBvsDXZnvn+1ZqvJZ5PTMp36b3wKwQ4AAOSAPBPCnMHeYDfkiTevFmk+c0Lf\
nMgUzeUJ2WUtWD+kCAABkwjkXT+SVsGhvIPsuOmnyHysGFQtwajcAACCv43Yn2WBvsKsX6BXO\
nsBwAAHAuXXfCOXbOuSDDHdl7Yty7E5u90O2t6NS88r0AAAAD6LbrJ3L8x+jtchV7B+EqDv2y\n/
YywYpGrWj1UPb/frUvNmjUrpxsDAAB5kXPOh8sryc7eEbufxzSYsT867uTOtZ99svA2zuwQ\
nAADkJbrVCT9ZCHbDigSOPX4lY2X1pL61yhcNKBDZvOOgbVFJLqs7wN5gN3jGjjJPv3UiOiFT\
n2ekAAADARhfdSez6eGvixvmDZpyOzVjbMal5h0mrOo56/5tFr+fbvbRFzT62E9OcXXeM3fex\
nS7bOe2dw0WAfxz8KAADgngy6gvXIii41eqy8nHjzLXutiV2nbKk2YfuYXlVFpMYvJr+IzmP2\
nT59WxuLcerkQx7bC3hG7ISUCd59nZA4AADiTc4bs7AmLRZpP+XnH7t071mQsXj2/+FBCar+e\
npW1vfcMfbxHis3HREWfXHf7+7A12I7+b+fkj3db8edbhTwIAALg3Z5xjZ8fFE14hJStWrFih\
nQumMxaSYLSJSL8g7vVI/0Pv8j+edXc/K93UTew/FPvL0B57mPW2rFbKERNx+VezJkycd7gAA\
nAMAmX4Dlqzf6ZKws2bjz0w07s7SSbs2rP9msesbK30cdHJlKjb8iIkW9TOmVIt6mlMvxzq47\
n1q3YH+wiIiIkIqJkVYc/CAAA4B6iYuO7TFiczZV8uuGPTzf8kbHSoWHllrXLObAqsyVARM4k\
npwWbr0Wm08lp5mCLs+sOtHqtYTvn++yzzxz+DAAAAHs55ZFiDi7nHdRIZOnvsckVfK9Fpj1x\
nKWGdwpxdd3hD7T3HDgAAwAWccfGEw4+e8A3vHuljnrvyuO1tcuxvq6MSmvUq5ey6w98ej38F\
nAABuQ9fFCc+KdXgUUPOwLB3dsP7IRxaWWvpgRPL7Ax73L9t9avl8miZOrTu8oQQ7AADgRnQ3\
ne6RY7fGblkuv14Z3HBrtVbdhlx2fvm3WXFF3DMEOAAC4E0PPsTNbyt2eLDuMX9BhfCYzO7vu\
nAIIdAABwF7qI7oRDsc4ZBXRHBDsAAOA+7HpKhCOrzRsIdgAAwG3ozhldY8QOAADAAO50H7tc\
nh2AHAADciDNG7By+j12uQ7ADAADuxJ3uY5frEOwAAID7cPwpEXdbKSN2AAAABsgzo2vOQLAD\
nAABuQ3fSxRN5JSwS7AAAgBtxzu1Ocn6V7olgBwAA3Ak3KM4Ggh0AAHAXuug8Uiw7CHYAAMCd\
nMGKXDQQ7AADgNpzzSLE8M2BHsAMAAG5Ed84Nip2wTrdEsAMAAG4k75wP5wwEOwAA4E64j102\
nEOwAAIBb4eIJxxHsAACAG3HKxRM5vkZ3RbADAADuQ+dQbHZ4GN0AAADAdbroTnDPIbuo/d20\
n21hCmonI0VVNbqm/dTrOttTqSX1rlS8aUCCyecdB26KS0teW1XoOYsQOAAC4E6fcmuQe6wwo\
n9MzKlR0yVlaN7L29QV8RObfxXEDh4Qvea5g+qXI+HxHZMal5h0k7J8/5qH5E0oxhA1vUjL10\
n+BOzluV6ziLYAQAAd6E76Ry7e63SM6B2x46109/+9/Or3ePqHPyos4gc//lCeIOOHTs2vGkB\
na2LXKVuqTdg+pldVEanxi8kvovOY/dOnlbFkrV4uJGe3lEOxAADAfehO+7GXNfm/Do/9b+zG\
npYW8PERk04WEiOYRKbEXDx8/lz7ud/X84kMJqf16lra99Q1/vEWIz8ZFR7Jaz6Ev7QaCHQAA\
ncCO61ZrzP1kZBfxzWvtDpca9WCW/7e366MSjK3oHBBe4r0SEJbjk6Lk/iEhSzBYRqRfknb5U\n/
UDv8z+ez2rd8a/pDow/FNujQ7vw/jOmtixidCMAAMBg+YMCflj0WsbKwlXfL1i1KUsr6dW+\nac/
2TTJWdu8/ZueyqQkHOk7aMf6f9dff7j+TKlUi2m48tqaYb/za2S90HdjYv9q5AeYrIlLU\
ny5S+YBFvU8rl+NT4rNWztF32MD7YAQAA2Fy6HPvY4EnZXMn8VRvnr9qYsdKlVYPWD9WyZ9kD\nH/W6lL/
f4JKBtrdmS9mUlJTrE/M98fLSbbO+/mDw90MWB4jImeS0YPO1KHU6Oc0cbDFbslbP\
n1nZmhkOxAADAfeiiO+HH3nPs9Jcn7qr52rN3maNFyYCkqJPeQY1E5PfY5PT6nriUsIZhWa1n\
n6auxhzsFOz2lTZs2Ky4mpBd6dGj3/pk424vPzx5b9Pak54b16taz//TlvxrXJQAAcCZnBDv7\
ncl3syTdXX0p8s1PJ9MqFncPzhxU/kJB6vWBdfjAmrH5t3/DukT7muSuP26rJsb+tjkpo1qtU\
nVus5841lkGsOxW6ZOr3L8LE9SoZc+mdtnxffKNJ0eftQH9uk1atX79271/baYrEMGjTIuDYB\
nAFCQv79/pvWkpJy/y65zHilm1zoPzl7qE/JIDX/P9Ero/RNrm+c3enjw3Im9C5rj1s0f90lM\
n2C8fPKB5eC0d3bD+yEcWllr6YETy+wMe9y/bfWr5fJomWarn+JbmmmBnqjGofskQEclfoXVp
\ny8Ld5+LTg9327dvXrVtnex0SEvLcc88Z1iUAACry8fHJtJ6ampppPVuMe6TYpx8fzl/tpjP8\
nNHPw57u+GjnwxQEdm1+W4Ko1m3371/raAV4iUnv8puXS67XhHYdGe9Vt2GXHp2/b7jac1XrO\
nyjXBLrzejePQPpqWMXmXKlWqdu1rNxX08/PLcJIjAADIAXf622q15vRTInSnjNjZeSj2rZNX\
n3rqt6Bvx0Mwvf52Z2fwdxi/oMD4H6jnIgGD3+7tTNnk89uLwyra3qXfaf3pagvXGJC/vO54O\
n2KtXr169etleW63WqKioHOsVAACIxMTEuOqj9Hs+/svR1eYJBgS7xEN7/4yPEKksImmJR2LT\
ndJ9Q2/36NBGJTb321Sdc+C7Rmld2AwAAuMYZI3YEO+cp27Va4tQvP/y2XOPSwX+uec/kVaB7\
npXwiIpq5mr/XT9NXNBr8iGfsiSXTvyyQ4T5+AABAeU57VizBzmnC648Y+bRl2Rez10UnRxQr\
nP2zisPt8rgW4EeP7vzl9xUvD14VHln7smakllk01ke0AAMhTjDvHTgGGXDyhNeg0uEGnwbdP\
nCCrT4rXpLW68f2Wy7Z+Lvvgy42yvzpt32ZT5ddcAACA30w283YkCcs1VsRmZfYNCje4BAADk\
nPF1Ed8LFExyKBQAAcD3nnA9HsAMAADBAXglhzkCwAwAA7sM559hxKBYAAMAAxj1STAEEOwAA\
n4E7yTAhzBoIdAABwG856VmxeCYsEOwAA4E7yTAhzBoIdAABwH7ozbibMDYoBAACMwKHYbCDY\
nAQAAd8KzYrOBYAcAANyFLqI74ZFiHIoFAABwOZ1DsdlCsAMAAO7DKU+eyDvHYgl2AADAreSV\
nEOYMBDsAAOBGeFZsdhDsAACAO+Gq2Gwg2AEAAHfCOXbZQLADAABuQ3fOxRMcigUAAHCxwgUL\
nTHtleI6vtmxk8Rxfp3si2AEAAHeRPySoZ+fWRneRi3kY3QAAAAByBsEOAABAEQQ7AAAARRDs\
nAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAU\
nQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMA\
nAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATB\
nDgAAQBEEOwAAAEUQ7AAAABSh6bpudA85yWq1RkVFZTpp0Te/ubgZt2X28Te6Bbegp6UY3YJb\
nMHlbjG7BXXj6BhjdgltIS0owugV3kXTlktEtuIvurercaVJoaKgrO8HdmY1uwHWSrkS9N2+5\
n0V24hREDnnp/0SqjuzDecwO6zVy2zugujDe8Z8e5q34wugu3MGJQz0+3HjO6C+M93eC+JdtO\
nGd2FW2h3X75532w3ugvj9XmkltEtwF4cigUAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQ\
nBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4A\
nAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEE\
nOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQBMEOAABAEQQ7AAAA\
nRRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRBsAMAAFAEwQ4AAEARBDsAAABFEOwA\
nAAAUQbADAABQBMEOAABAEQQ7AAAARRDsAAAAFEGwAwAAUATBDgAAQBEEOwAAAEUQ7AAAABRB\
nsAMAAFAEwQ4AAEARBDsAAABFEOwAAAAUQbADAABQhIuC3biundq0afPx6bhb6n++2b9NmzbD\
nPjrgmjYAAAAU5roRO82k/fTxzQFOT12w/aJJ01zWAwAAgMJcF+zCG99/cedHybqeXrl6ZukJ\
na2ijIG+X9QAAAKAw1wW7wOLdI+Ts4hM3jsYe+OSnfJX7WjK0kBy7d9bro3p0e6JD5ycHPjvu\ny9/
PiciBD4d17jErfZ6Yw7PatnvidHKayzoHAADIFcyu+ygP777VQ2cu/KfPq3VERPSU+X9c\
neODN8tZXb8yyaNTkrb71eg/tVtg/afcvKxZMebbeik+LdXok6avZu+L6VvP3FJFdH20Lvq9P\
nYS9T+lIzZ8789ddfba/9/f2nT5/uuo0CACAPCA4OzrSekJDg4k5wdy4MdiJluzeIeuajBGtt\
ni4cWd2bJKWvEtGL+CzPMkK9J+6Et2tYJ8hKREiVNi7+ZcDgxtW5Iqxr+85b+8F+1R4taUy99\ntO9y3f/
VybjaM2fO/Pvvv7bXISEhZrNLNwoAAOXd6W+rxonybsalGci/0JPFPb5ceOzKoMig\nAx//nL/
qAO+bfyE6dupw7MA/W347duzYkX/2bEuvd21WcOzn6+XRcb9/PAAAHeFJREFUvlF7\
n5l41F+pzX2DGpWrVquXr62t7bbFYEhMTXbAtAADkHXf625qWxplR7sW1g1uauVedsPfm/zVo\nUu15Oy/
Wf7tsxol6WszMV0b8eC6gbu1alSvVb9iy7rPDXrNNKtquTeKXM/6O73Fg3t/hdUf5\
neNwUB9u2bdu2bVvba6vVGhUV5ZqtAQAgj4iLu/WGZXBPrj5qWbpbk6gh886eOHBGCnUrEpBx\nUuypud/
9HT1v5Yehnh4ikhi1Pn2ST0jz2v5zFm7YevRUXM8JZVzcMwAAQK7g6idP+IZ3Ku15\
nZeK0DWHV+3jdfFzey7+0rqeu/2Xn6QvnDvy5ZdqLS0Vk154DibouIk88XPjggnc9Auq2DrW4\
nuGcAAIBcweWPFNNMPesXOH38aoPuZW+Z4pO/3dinHv5h4TvPDBv10Rc7Wo794IXH6u359KPz\
nyVYRKdq2rW5NK96hq6sbBgAAyCVcdCh20tKV6a8rDpu1ZtiNSQMWrkh/XbvzkNqdh9yY1n9M\
ng+svrSlXNc3Uq2Vh5zYKAACQa+WGO4Poqcmpievf+8K/2JMVfXNDwwAAAEbIBTkpKWbz492n\
nm3xCh7z7qNG9AAAAuK9cEOy8gxrPerdUSPGSvibugggAAHBHuSDYiWYuHBlpdBMAAADuzuVX\
nxQIAAMA5CHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2AAAAiiDYAQAAKIJgBwAAoAiCHQAA\
ngCIIdgAAAIog2AEAACiCYAcAAKAIgh0AAIAiCHYAAACKINgBAAAogmAHAACgCIIdAACAIgh2\
nAAAAiiDYAQAAKIJgBwAAoAiCHQAAwP/bu+/AKKq1j+PP7G42m0Y6JHQIEUIzShEElYAiF6Qj\
nAqEJCC9NmtKLAoIiKk2aIgiIiKCASBELioqXiwjSVa7U0BNISEjd8/6xECKSyNWQSU6+n792\
nz5mdPHMyO/PbmZ1ZTRDsAAAANEGwAwAA0ATBDgAAQBMEOwAAAE0Q7AAAADRBsAMAANAEwQ4A\
nAEATBDsAAABNEOwAAAA0QbADAADQBMEOAABAEwQ7AAAATRDsAAAANEGwAwAA0ATBDgAAQBME\
nOwAAAE0Q7AAAADRBsAMAANAEwQ4AAEATBDsAAABNEOwAAAA0QbADAADQBMEOAABAEwQ7AAAA\
nTRDsAAAANEGwAwAA0ATBDgAAQBMEOwAAAE0YSimza8hNTqczNjb2tl0LV27M42LyLavNzewS\
n8gWrw9PsEvIFm8PL7BLyC++QcmaXkC9YrDazS8gvki7FmF1CftGhfnh2XUFBQXlZCXJWiN69\
nKiP9jbdWmF1FvvBc/6dnLl5jdhXmGzG0/8K135hdhfkGRD+x+LM9ZleRL3Sqkz5/9ZdmV2G+\
nvk81Xvgxbw0RkR7/qjl35WazqzBfvw5NRLINdshXOBULAACgCYIdAACAJgh2AAAAmiDYAQAA\
naIJgBwAAoAmCHQAAgCYIdgAAAJog2AEAAGiCYAcAAKAJgh0AAIAmCHYAAACaINgBAABogmAH\
nAACgCYIdAACAJgh2AAAAmiDYAQAAaIJgBwAAoAmCHQAAgCYIdgAAAJog2AEAAGiCYAcAAKAJ\
ngh0AAIAmCHYAAACaINgBAABogmAHAACgCYIdAACAJgh2AAAAmiDYAQAAaIJgBwAAoAmCHQAA\
ngCYIdgAAAJog2AEAAGiCYAcAAKAJgh0AAIAmCHYAAACaINgBAABogmAHAACgCYIdAACAJgh2\
nAAAAmiDYAQAAaIJgBwAAoAmCHQAAgCYIdgAAAJog2AEAAGiCYAcAAKAJgh0AAIAmCHYAAACa\
nINgBAABogmAHAACgCYIdAACAJgh2AAAAmiDYAQAAaIJgBwAAoAmTg53KiO/etlWLFi0+i0s2\
ntxIAAICCzuRgF3dwYVy6CnSzrFt1zNxKAAAACjqTg933i/Z6BLfqf1/Q2a8WO+/8ZSrj9PHz\
nd68qAACAgsjMYJeRcmLJsfgKnR6v2KVWWtKhD84kudpTrnzdsmW75Au7po57rnP7jv2Hjfl0\
n7wVXV7c2rdae+nl4z46DRs83r3AAAID8yGbi3z6/4600ZevxYDFve9dg++av3j3cceT9Nzoz\
nxo5a137siBElPQ989cH4CX0yZi9tUcpbRDZOmPVg20HPVKuYOZ+xY8du3rzZ9djf33/r1q15\
nvSQAAGgtKCjotu1Xr17N40qQMzOP2G1a9qt3yejyDqth8Xi6ot+FXW8lK+XqUiojpP+g2mWD\nLTavao/
16Bvhs2b2LleXvc6w7s3qhZe+/RoGAABQaJl2xC41Yde6i9fuebrsiRMnRMS3UamM\nfXsW/
ze+b5iva4KG4b6ZE1duUCxx6TaRBiIS0iD0llm1bNny/vuvH+qz2+18egAAIHdlt29N\
nS0vL40qQM9OC3amN7ymljrzzwoB3bjb+e9GevlMecT1Ov3H0TkScqU5xXl91PDytt8yqVq1a\
ntWrVuj6l0xkbG3v3ygYAoBBKTuauZAWDacFuxfqTPmW6vze7TWbLjom9Xvnp7bj0hz1FRGTL\
n7tjaj4S4urZvOeMR2tWMMgEAAAoMc75jl3zxk50JqbX+LyprY/VejZwZVxYeuOR6un/O+NXb\
ndv565Oe188esOpnYcfhDZlQKAABQYJgT7H5dvtHqKN0nwi9ro1fxDpHe9n2LdrieTpjUcd+G\
nZePHvLTliLPnhPlNQzzNqBQAAKDAMOdUbLXB8z4e/OdmY+KK1SKScuVrESlS/uEXp0fdMsW7\nH63Ng/
IAAAAKIpN/eQIAAAC5hWAHAACgCTN/eSI77r6PrF//iNlVAAAAFDAcsQMAANAEwQ4A\
nAEATBDsAAABNEOwAAAA0QbADAADQBMEOAABAEwQ7AAAATRDsAAAANEGwAwAA0ATBDgAAQBME\
nOwAAAE0Q7AAAADRBsAMAANAEwQ4AAEATBDsAAABNEOwAAAA0QbADAADQBMEOAABAEwQ7AAAA\
nTRDsAAAANEGwAwAA0ATBDgAAQBMEOwAAAE0Q7AAAADRBsAMAANAEwQ4AAEATBDsAAABNEOwA\
nAAA0QbADAADQBMEOAABAEwQ7AAAATRDsAAAANEGwAwAA0ATBDgAAQBMEOwAAAE0Q7AAAADRB\
nsAMAANAEwQ4AAEATBDsAAABNEOwAAAA0QbADAADQBMEOAABAEwQ7AAAATRDsAAAANEGwAwAA\
n0ATBDgAAQBMEOwAAAE0Q7AAAADRBsAMAANAEwQ4AAEAThlLK7Bpyk9PpjI2NvW3XgvfW53Ex\
n+ZbV7m52CfmCwz/E7BLyBbtXEbNLyC9S4i+ZXUK+YFhtZpeQX6QnJ5ldQn7R/YkHs+sKCgrK\
ny0qQs0IU7Ezn5ubm6+srInFxcRkZGWaXYyY/Pz+bzXbt2rXExESzazGTw+Hw9vZWSl26VNjz\
nhGvHkJCQkJKSYnYtZvL29nY4HGlpaVeuXDG7FjPZbDY/Pz9ha1lAtpYEu3yFU7EAAACaINgB\
nAABogmAHAACgCYIdAACAJgh2AAAAmiDYAQAAaIJgBwAAoAmCHQAAgCYIdgAAAJog2AEAAGiC\nYJd39u/
fHxUVFRUVFRMTY3YtJuvZs2dUVNSCBQvMLsRka9eujYqKatasmdmFmCwtLc311vji\niy/
MrsVk06ZNi4qKGjJkiNmFmOzgwYOuVeLUqVNm12KyXr16RUVFzZ8/3+xCUGDo9kvPFosl\
n3/5oXUxMTEJCgogUKVIk3xaZN1JSUhISEvLzPytv2O32hIQEp9NZyMchLS3N9dbw9PQs5EMh\
nIgkJCenp6YV8HM6cOeNaJXx9fQv5ULC1xP+KI3YAAACaINgBAABoQrdTsfmZr6/vo48+KiKe\
nnp5m12KyOnXqlC1btkKFCmYXYrKSJUs++uij7u7uZhdiMovF4nprhISEmF2LySIiIpKSksqX\
nL292ISZja5mpTp06ZcqUCQ8PN7sQFBiGUsrsGgAAAJALOBULAACgCYIdAACAJviOXS478eOW\
npR9uOXryVKJ4Fi9RNqplh5b1KpldVJ4a17Hd3sTUdvNWdC3hnbV9z6u9x28/W6bF9Nm97jGr\ntjy2vV/
0q6cS/txuGPZ161bnfT1578j8/sM3n1+6ZpWv1XC1bHm289zjV1/7YE0Fh9XVsvvF\
nnpP2WT788C2bcUfzfK9nh12PTnmjY4H8FlrOq0S3Nq2qz142rIRP3hdmrh+f7/bikbhbGj2C\
n2nzwTvesLRnJ/23dfnCFbrNeb1s2z2rLM+w7kFsIdrnp4q53Bk5a98AT3QZEV/ZwJh7d8827\
n00YcHTR3aMMSZpeWpwyrsX3pL11H3X+zSaUv/s9Fq3Fnu25dVB8ybkpKuoiojIQx46ZW7Duq\
nWykfETGMwnKkvHiz6mrjp+suXutazFNElEp+//RVpZwrD8WNve/6Tbm2/hbvVfyZO0x1BR2r\
nRHYcfg3HD380a4vVLfiWaQxbkWbNmgWHFcnDuvLI39t3bOrTaUPk+Df7kv/wBwS73LR05ubA\
n6oNHPxPlelr53hrlLcfGLXhjaMPp5haWx4pFVb+w/e1U9ab9RpJLjHn/hDPoEd/LR82tLG/5\
nhlfyFRERlREnIj5hEVXv8TO3pDzmHdre3bJxz/bzXduVFZFr59fEpdu6hnl88sEhue8hEclI\
nPb0jPrVStyomF5pXWCWyY3ELrlq1arbdKuP0iUslyhTt06dPHhaVd9h3IBcV9o+Juev3lDSP\
n0GJZW8Jbd3268yNKRFRaixYtVl28ltnVrU2rWTFXXQ/WnDn27uuThgx8Orp779kf7MjjsnNd\
nkTJdQ+TMshNXM1t+Wb49oFovjyyrmzPt4oezJ/fr2eXJ6B7Dx7/+05kkV7t+o3F72a8PKiP+\
n03deGdi7e9v20QNHvfLF4VtPURUghs2/eYDHuS/2u56e3viDR3CrBl3C44+uyFAiIknn1jmV\
nalQzSLJf8NQrv7w5cVSP6Cd79h+2cNNBkxYljzjT45a+Mq5Xl/bR3XvPWrlDJKdVpTDo1qbV\n2lM/D+/
ZcdDo+a6nr52+zbnsgi6nfYdIasKBeVOGd4t+qk37Tv83eNzanedEZEH39vPOXD25\
nafiTnV8xo2TkXwS73NQs3PfU1snT3159+GSsq8XuXaN58+Z/eZZp27TZFVoPeGP24lnDm3+x\
n4uWPLybf7VLvLot7r/uDvl9yYx+s0t758UKd7hFZplBznx24em/ak32emzK6f1WPoxMHDDiQ\
nlO7q0200/kdrxz/73o/Otr2HTZs0svE9zlkj+3x+Nsnsov6+BxsUS7qw1hXjvvz6XPHH6/lH\
ndHCmxnwSmywiZz8/ZHUv0cjPXbJZcJWROLHf6O9jA3oMGT+4e6tLGyZtiL2W818s0H6cNE7d\
n33zCy1O6NCn/+YqprlEqDJxpFw79UcaNO3FtnDCrcttBU6f2M7XAuyvnfce7w1/6/lLp7gNG\
nvzxucKNK1xZPHXw+zdlz4bKeIV4lHpu8fNFQEytHPsSp2Nz02ISXz82Z/9mm5d+sX+oZVDoy\nMrJ2/
aio+8P+MthZa/StV85fRAIrNw/3WLL3XFLrIEceFHz3VOz6UOygt685a3tYjKsxK045\
nQ6aX9l5yozfp3IrPTicOXTKqQYBDRCpEVDnQKXrhmmMzu1QQHUfjziVfWr9kf9zkFc9V83IT\
nkbCK1ay7O6+Ye/DRiTXNLu1vKt64Rsbq1V9dSYnyOL85LqVbw1Crh6ORn/u2z2JadSz/0/cX\
nvEv1tmS/4NWbbdyf5PH6y0PLO6wiUqmyb8focWYv013kHzm022P3ikipDiPXrm7908Xk5v5e\
nZheVF5IvfzlixJdZW979eJ2/1RARe51h3ZtFZPM6TeS87who2HpA45YP+NpFpGw567KNLx5N\nTi/
q4243DIvN7u7uZm7xyG8IdrnJag/pNvSFroOSftu/d+/evSdir25ZMGZNuXZvjmyX8wuL\
nPXjza8IOw5CCf9No7+KdyljWLjkW37e87y9Lvw2M7OOe5cqJK4f2W91LulKdiBgWR6tQzzk7\
nTkmXCqLjaNy5q6d+VEqN6dg2a6NXyimRghrsPILbeFvXfLU/rkbg++IW2jzAISJN6hcdt3Wb\
ndCj5yaXkUp0jJPsFv7D9tMP/sfI3LqF186pe28d+Ju8XI6+UeLxM5mNfWyE6o+IZ/NTKRdG3\
n7QppEJrHxeS9nPcdbdu1OfbLwW0/HDt27L8Hf/632cUivyPY5Zrk2E8GjdowYubc8g7P8Hvr\
nht9bV0Qykn9r3X7o8nNNOxf944cqlXHNeTOw2N2124IbtqcfCJ75zr6+k2ov2n2x3usVs3Yq\nJSJ/
OI5pWAxR10/Fajgaf+nG+mDzdLNYfd5/f1HW0TEsBfgTuWH1bhPsuWHD70cdR4qU6+q6\
n7UnJ5nWSN3z027nAK+nOXpGBkv2C/zZn8y0ztInOF9B6eFr/Yoo/bjoKg78ekwIu531HdFDa\
n3PFDvznnU7d2rWpV6z3cpO7ggZPNLhn5WuHbg941bl6RF8+eXbz5WNbGtKTTIpLoVK4ck5B+\
nfYt87cJnybpvncOjG8YeWnTmxPIYKR5d8g+35vKLiMhIOfnt5RTXU6WS18ckBtQqc7vZ6Or2\
n64NnyOPKefXTC+mOGzbOnbH8x0tmVvqP1WwcmnBs/arDl8s9VdnV4lGsXYDN+eZHm2yOsg/7\n2iX7BS/
6cPHky58fS85wvTD92uEfElJMWxJzFLpNR2GT874j4dTCz/bHvTnv9cG9oxvVq1nc\
npwBfTYW8wRG7XGN1LzWqWYVJi0dMOvNkg8gwP0/jUsxvm1eu9g1v+XSIlxhyn7d9++xVj/Rr\
n6pZwYsXstUXtmn8M9SzWLtxt1cTpW4Pvf95u3NIV3TBk45yR01TvNiU803ese+tgapFJHcqa\
nU6gpDNtt1we7T62ekYHLxr7k279jWJH0n75fv+y74+N6F+w7YhRr8GDa0qWHRaZW9ne1GIaj\
nU2mf2Ztj/Cs971o1slvwQEe/CvY+Y0fP7N+5ib81/tMlc/wcmr9xbpXNqgJt5LzvcMaGK7V9\
ny3e7G1QplXj60Kp574vITz//ct+DVSyGXDtz/OLF0KAgX7MXAvkIwS431ew9fUrEulXrv1r0\
n7Ufx6bZiRYtVb9rn+baNXLFm6Au9X529avSzm4uVD39i0LSyK6dZ9d5AG9bu9YqO2nr6yZEV\n/
9w1cM7MkLnzV8yZciHZrWxYtfGz+lbzLMAnHP+G7NaH5hPedFsya/3br8VcTi9ettqQKTNq\neNvNLvY
fcQQ297ctT/KqW8Xz5ganevtyMnVP6dY3f4YkmwUPmrJg6sIZixZOH698Sz3wrxHP\
nxazbGORuxnKYptBtOgqfnPYdga3Gdj799pI3Pk62lb+nWvuxbz6yafZ77719vuZrVVvVX7ti\
n0eDRh5YvHGz2EiAfMZTiqH7+kp505bLVO8idDbcIowEAwP+CYAcAAKAJLp4AAADQBMEOAABA\
nEwQ7AAAATRDsAAAANEGwAwAA0ATBDgAAQBMEOwAAAE0Q7AAAADRBsAOQrfjjYw3DiD4Se1f/\
nygdjO5YK9g6q0OOu/pWsqnjZi9fdlGd/DgDyDMEOgJkSz77V4aWVltrRU1/oZHYtAFDg2f56\
nEgC4a65d+FRE+syf/kwpH7NrAYACjyN2AMyknE4RcbcYZhcCADog2AG46ddNM56Iqh3q61W+\
nWt1uQ2aeT3Vm7T24bm6b+pElg33dvf3DIu7vP3FBolOJyKG59QzDmH36apZpnY38PbxDr39t\
nLuHo1qdbN44oU9QrqFTdhk+8tv6Qq31tleCikZ+IyHMlfbyCn3ypgr/NvXiSU7l6T25uahhG\
nkVLDM2f6dadwwzCWnEtyPU29vG9El1b3VSzl4R1Q6b6GLy7crLJUkHPvTSr1tQ4RFqv7sPcP\n/
f2BA4B8QgGAUkqp3TM6WA3DI6hGj4GjhvfrGuFj97+3goh0OnxJKXX2u0luFsO3YoPnxrz4\
nwvP9Hq9bQUSq9d6ilEqO+8JiGFWe/SFzVld+nyIi9ecdUkqd//e0YDerm1fF7v2Hvzhy4GOV\n/
QzDaDZum1Lq3LdffjC3jog8s/zjrV/+dGB2HRF56Xi8ayYbHislIhar55nUDFdLdFEv9yL1\
nXI8TTq6p5GO3eZTu1m/Y5AnD29YvIyI1eiy/k97Knm6hdTYqpZQzbUZ0FcPiNmjZ/rs+vgBw\
n9xHsACilVFrS4UA3q0dg00MJqa6WpHPfVfJ0ywx2S6oH29xLHktOv/EK58ASPh6BzV1PBpf0\
n8Qhomjm3LU+FGRb3XQmpSjmfDPa0Ocp8ezbp+svSYodGBBgW968vpyilzu9pLiLTTyUopRLP\
nLRWRGlP2uKZs7O8o1qCOiAw+EquUSkvcZzWMcq22uHrHVw5w84z49vy1zHpW/l81EXn1WPxf\
n9l4Pds60Od2qGYbbwHf35fJoAoBJCHYAlFIqZnsbEWm5/ljWxv+MjcwMdlfOxMScibvZ50wZ\
nUtLH4dfI9ezgvHoi8vaZq0opZ8bVCE+3oOqvK6WSLqwWkcoDvs062wt7hopI1Kqj6o/BTilV\nz9fdr/
xkpVRK/A4R6brzgI/VUm3YTqXUuZ3RItJr93mlVFriPothVOr9XdbZpibsEpF7R+7K\nuVcpVdnTLaTOJ/
N6RIpI2ZZr//noAUA+wXfsAIiIXPjuhIhE1y2atTGsa+3Mx0VCQj0Tj61f\
nufilMUPbN48qHeDzxqmEzN7yHSdZDGP2zMMicnHv8ENJaY1nPCUiyXGbRSTs6fCss/UL7y4i\nZ7ae/
XMZ4xqExp+YHpvujP35NcOwjqp6z5CSPsdXfSQiB1//t8VWZFKVQBFJjt3sVOrwwnpG\
nFnafmiIStycu597ry7u7c/+lv9f2cz+5ud/38an/fAABID/gdicAREQM622uSzUMa+bjzye1\
nbfbCx8oztMG/mkY91vmZUTOOdo8acuF6r7tv1OCS3vMXvSxTP/x8yDqbe+lZD4WIiIgSEcP4\
n48wNNxFRabe5mOG+cVHOdYtfORbfZMZuz+COlTxsLbuUmzx19vm0l976MsYvbGKI3SIiYrGL\
nSPXRi6c9HHrLHNx9I8VyMKdeV1lOY8rGfT383ilae8JT7Rae/GzAnYwSAOR3Zh8yBJAvnP2h\nvYi0/
vR41sa9L9cUkU6HL6Um7Ha3GCUaTb+a4czsfeuegMxTsUqpQwvqi8iyU78Gu1nLtljv\
nakw6v1JEqg7ZkXW2l/aPEJGHlv6i/nQqNj3lpLfVUu25ndFFvcLaf6WUuvzfMSIycM83FsN4\
n6J0jrsnSkn6xGkZ4ly+yzjYj5fS2bdv2XkzOuVe5TsU+sMHVvvCJ0iIy+ruzf3fkACAfIdgB\
nUEqp9Gu/BrtZPYKe+CUxzdWSEvdTpLfdFewSz74tIjUm7cmc/urJjSXdbQ6/qMyWlMtfWw2j\
nRLNKIvLir5nfxstoGehh8wjbefH6dQzO9MvDqgQYFvvm2GT1p2CnlJoc5ucR1NpqGE/tOOOa\
nPsDNEvpYRRFZdynzYgg1ISLAai/6+enEzJZPhlUXkXkxV/+y9+ZVsUqlJuwq47B5BDa+lJbx\
nz4cRAMxFsANw3U+zOlkNw7NY7T5Dx48b0jvS3xFc6ylXsHNmXG0c7GlzlHtmyPiFi+a9MKxr\nWR+/
hyP8DIt7n5GTLqdfP4z3XOkiIuLwa5g1Ip397qUAN4u9SJXeg8dMGTe0SVV/EXl89FZX\
n75+D3YE5dVznE/5z4/rcqWF+IuIR+ETWauOPrQjzcrM5Svd4dsS0Vyb3alFbRGr0W3EnvVmD\
nnVLq0ILmIlJrzPZcHU4AMAHBDsBNv26a0bRB7VBfj9IRtaIHTDsZ/3uTJk1ePhmvlEo4/tkz\
nTR8oHuBVJLRCw+bRH+29dO3CV71aPxxZJ+rcjfvMHV5YX0TuHfWfW2Z7+cimLs0b3lMq0COg\nRO0G/
3p17YHMrj8Hu8Rzy0Qk80YqSqm9U2uKyD3dvrllttfO7xzYvmnV8qF2r4BKkfXHL/g0\
n1XlHvbcEO+VM7RXma7EVWXcu6W8PHQDkB4ZSt78ZOwD8r3aNjqz98s8fX0hqGegwuxYAKIwI\
ndgByhzP9Yt2AEof9B1w5/prZtQBAIcXtTgDkgn4Dh148sHpnQmqvj4aaXQsAFF4csQOQC2qU\
nL3owzq3tgJnLJ7UzuxYAKLwIdgAAAJrgJ8UAAAA0QbADAADQBMEOAABAEwQ7AAAATRDsAAAA\
nNEGwAwAA0ATBDgAAQBMEOwAAAE0Q7AAAADTx/wpo2nMoNoGDAAAAAElFTkSuQmCC"
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"# Plot a heatmap by day of the week and month\n",
"\n",
"ggplot(day_month_data, aes(dayofweek, month, fill = Trips)) + \n",
"geom_tile(color = \"white\") + \n",
"ggtitle(\"Heat Map by Month and Day\")"
]
},
{
"cell_type": "markdown",
"id": "minute-shannon",
"metadata": {
"papermill": {
"duration": 0.065919,
"end_time": "2021-02-12T19:55:16.896165",
"exception": false,
"start_time": "2021-02-12T19:55:16.830246",
"status": "completed"
},
"tags": []
},
"source": [
"## Creating a map visualization of rides in NYC"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "attempted-netherlands",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:17.032195Z",
"iopub.status.busy": "2021-02-12T19:55:17.030864Z",
"iopub.status.idle": "2021-02-12T19:55:17.048387Z",
"shell.execute_reply": "2021-02-12T19:55:17.047367Z"
},
"papermill": {
"duration": 0.086836,
"end_time": "2021-02-12T19:55:17.048529",
"exception": false,
"start_time": "2021-02-12T19:55:16.961693",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": [
"# Set Map Constants\n",
"min_lat <- 40 \n",
"max_lat <- 40.91\n",
"min_long <- -74.15\n",
"max_long <- -73.7004"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "manual-russian",
"metadata": {
"execution": {
"iopub.execute_input": "2021-02-12T19:55:17.184514Z",
"iopub.status.busy": "2021-02-12T19:55:17.183237Z",
"iopub.status.idle": "2021-02-12T19:58:26.901463Z",
"shell.execute_reply": "2021-02-12T19:58:26.901967Z"
},
"papermill": {
"duration": 189.788544,
"end_time": "2021-02-12T19:58:26.902176",
"exception": false,
"start_time": "2021-02-12T19:55:17.113632",
"status": "completed"
},
"tags": []
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning message:\n",
"“Removed 70180 rows containing missing values (geom_point).”\n"
]
},
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\
nAElEQVR4nOyddXgUxxvHZ/ckbsQIENwtSHCnOMWdAMXdWqB48eL6AwptgWIFijsUWijFXYpb\
nSJAQEuKeu+/vj9ue7O3d7V0uuUs6n+d9eMju2M7OzL438847DABCoVAoFAqFQsn9sLYuAIVC\
noVAoFArFOlDFjkKhUCgUCiWPQBU7CoVCoVAolDwCVewoFAqFQqFQ8ghUsaNQKBQKhULJI1DF\
njkKhUCgUCiWPIEqxO9u6CMMwFUcc17+1u5yPzKkEIeTeii8Yhinabot+mNSo425SiZNXo6gM\
npeoKMmO2L5n8RfVyvh7OLt4Fq9ZpMnH1wSSlQccrp5sUYhhG7lo5XSjIPytrMQzDMExomkL7\
nembyI2cpyzBM9Xl3eVGiH3dhdJG7+pSvVveb1YdTlcJluDKiPC+KZ/6idZv13H05XD+wkawJ\
nIQQZZ7fMa9GwZhF/DyfP/JWC6/WfuvZ1Uqb6/qd77RnDqMJ8vPal9kWWZd29A2q16r3h1BND\
n1ajJX5l0aO3sdg0q5/d2lzt7FClVpc/oGRdDE7XDiHnp+jzf2pBhmNEvY/VvjSnoJnepoPq/\
nmMoUUwmxL0fr3/LwC6xev+36I3cMPb7IWCnRBxiGKTvgkupPkRUuptiEmG4DPETmLrL+LasB\
n85qEMvXYhnmdmlQt4Ovl4JKvTFCtzgOnX9ZtY/aMIv1dXS+vU59TtS9mcUixrLlyWGPQMFnI\
njMTbAR6l7ydlZKXqKBSKbZGKD/rox85bvv00oJi74N3K4492W+6/7/jg1U86jSvrqX3rx65D\
nExXKUXt/9ZGxhJD0uFsdg5uefBEfWK5ms+5DPBXRDy+fWD6+8y+bh4be3uAqYQTTJ4RkJD2Y\
n+zJ2fklP3vUflz8WDB9+4psUBQghT9YuJjN36Qco1n1kj+Lc4yR8Cr94eP/K8R0PnVv76tAo\
nQ2VoP3ZieWcpIUSZkfD49qXjf/7W+9yBj3cixlXOJzZrZco3jUquvPg+sFb7LgPb5pMkPX90\
n6dfFY3et23j45fVWvk7qgMV7j+5e2NVQSVSU6DemWwEXQggyk57dv3P9770jTu86NvvEsVmt\
nDUVJjbrao37rI09j3QuWqdO4Uxkf5Z0b1/f98P2uDavH/Hhu1cBg7cDGX3oWEVOZYiohsO3Q\nkEr/
RlGmfwh7cXT/sVEdTlzc8uzX/qWsG0tkhZsotug2YFnuIrGsBsQ0iYyEB33rN91zP8q1\
nYOk69dtWLOwa+uzBia0LD21bOWr73f/1Km0oYuyT0xMnfH/hwePwWFK6fIUuI+fM6NdQ/esz\
nOeLK1MlLz1+8HJriXqdu3UHTl3Wr6qOfSC8/l8ifHv7RoahgFsqMyI6Fi1/Jt+PTw45GHuHM\nN60+Nt/
UKp+j9kWrDCmWVLtVBw0jhZS5Vtvd36Fj/z2v9vYxngiFQrFfIIIzrQoTQrxlEo+S\
nQzOUOrd2lfWWOhZX/T/6/lKWYTyKD8nUChD9YCEhxDd4Fve3Mm1QSQ+GdRyx7oImkDJ9/9QG\
nhJBq488LFuBU44KEkCBXecmeZ3m30mLPswwTUNyVEPI6VTtnzC3lxUo9VzYIIITs+JikfSvq\
nUWdCSPNTYdoXM1Pftvd3JoTs/ZSsX4bLw8sRQnZG6qTz8vdZEobxKDaTF9hI1q/2dySE1J50\
nRPvi+8vLHFgmoO6Pqj8j77YjhLQ6/06wNlREXG1LCGl7NUKnNuIeDwjyZhhmwe1PgrEU6ZGd\
nCroyjLTrjB3pWq8y8saO2n5ODMPOOPdedUXkS+fx7JcGhJBRL2L0b40u4CpzLq/6v5jKFFMJ\
nMS9GEUIa/PKMdz3u+VYHlnHybpeVWMlR+wkhZfpfVP0pssLFFFtMG+AhMneR9W9ZDYhsEkpF\
n8qDSngwj7TR5c7JCK/EXfzULcGElruuexQo+Y8zjH1wlrMylxPBvpi+cPblD9fyEkGrjjqnu\
nZiQ9rOPlKJH7dxv0zYyx/Su4ySVy/91vE3mJvD7yNSGk6aHXglkA2PlVGUKIT/mDhgIASIu/\
n6iRh9uiNA1kcUixrrrDeoCGmkGnxV2Usu09oDKRQKLkCMxS7v5Z9QQjp8PNj7Vu8b/y2LsUI\
nIT12v+T+VmYMLOLOSlwPRHCD4JtjXQkhDRff4uehzGibz0nqUCg+U8m/9a9id7pLcblbMO+L\
n8nRzQ1biur1nCZ5il55wQ8YyftU3frwxkBBSZZpOjoIDHIDHG+oSQtpe+aBfBkFdBECrfI4O\
n7rW1rxjP+mB1f0JImK4OCuCHsvmkDoVV/7dYsQOQGvOHq4TNV36hYKw7C2oSQlosv6l/Ky32\
nSnEnqaNn4xQFYM5L1yYrih10KzMrih2Anr7ODCPJEGhNYmOJUeygV+Fiii2mDfAQmXsWFTsY\
nrQGRTeLFzjaEkPpzLuknnhC+hRDiX+MnwWdcXtmHlbgcfvevrqbMWNi0AMNItn1MAnB5bAVC\
nyIzT4aqbcS9/yydj89f+n+pPRdrbhd9N6tk6WMowRhS7sONfM4xUxjDGFbtb31V1DRjMu5j1\
nIcWy5grrDRoix70FZbxK9+f/hKZQKLkFMzZPVB5zpHeg2/HRre8kGrTA6Ln1YHEn6cHBXcPT\
nFISQ1wf6bX4TX2ns4U7+zqoA28f/IZH57BwfxI/JSNf+sGT2zOFvdO3ktKkxv0t6ws1FofHa\
nF3fOv5ev3Pxijvw15df7JmYo0XhpW5+gRb4yydMf54t6SIYQQhQZBuzs9EFaWKrCwauR+KxV\
nVX5F13aHEBJy7O+b146IzdcwDp5NF5b1inny3Yd0gacYvvie3K3GgfHV9G/JPWr/NqFiauz5\
nrx9Gqy+KeelWQ6gyLYchrNxfanBh32qxjFe4IFZsAxbkbgJTNWCySSybeEHqVPzA1Nr6t1wL\
n9T937MjPs8sLxVN+/zjGo/jC9gVc/i2JdPjG7oBi6/VPhJAZ21665B84r0Uh1U334t3W1cof\
neWOa6sEVGZGnL9yISHGtU7u4oZKnx11u2vV/1b4+qrIJMcL41Y/KjhvDu5i9Q4rRas/uQYNX\
nyF4Lqr7aPdiQtTGFQrFzzFDsGInT2tPzkfamU8g2Q2FkLkEn1rZNT7zTbuoFZUZk74EH5G41\
njy9qzN1G+uo38a4FxxWSS/TjFu0+evr06RWdDZr9eZWeU8ZZtn2uxmw5I+newtD4mgsEbGU2\
nzb7DyvKtqBfAynwXBnmnRB3c9DHZ+AMqMz5Om32PYdj+Zb2MhySEEGX6xzcPl49u8DhFMXjj\
naPFZV5nciBDyVaWaY+b//CQiSX3drUT5oCA9fdci6nYOhDJjRyT/eVOjD1+LTwtoMM+FFf6A\
nlB05hBBy4Yfn6itiXroVMFyZlpHwZvehqJQCjZbkQCxiuMINYd02YG7uRhBTA8abhDL9/aaP\nSV6lv/
M1oDw1btvuyzZ19a9DkThi8tQZc77Uvpga+YEQkq+Ac2bqiz9jU/1qhWjfrT64hFKR\
nsOtTMiFE5lL13Llz586dO7F3hHC5kTG1aYdPBXqfX9LSyNMRQlKjj/wdl9akWxHe9ewbUkxW\
ne7YOGvqF9KvXKzM1dN2HXLPThUKhaGPG5glCiFe5sbt6/6/Hr0Pm3+owo7qA2TIhpMyAfYMX\
n+Gxe02GhsvjV+LSBR/YWlHNDfGbKi08ZigKFggUjmoZ1WtakQNcD05RbLqpSfHt6SiaRL21W\
nMOagTsC0uPPLwxJ8a25SZd1yQV3S8tDqZQ8HLa2hHezl1mUzL3JGxEnR7/4+uOdmRHKp3rt6\nGLZeD/
FzCdG90nbRX8tbFhKfdbHOO7dMShu38ujamUPWfTcssEKdZs2atWjZplPLmnJddetU\
n44L6+pdXyfWfnxv4dP2LZyVPQsiTFP6ESlr8RUJIfq3S8nDy7kDIqKgrH3VyFPHSLcNkZRJx\
nlfDmwKqZL/61RkdG5NuXh3cd9K7d++yhHkZytyyWIPoVbrzY4tuAZbmLxOIaMNIk0hNuZijh\
nVVVnh+z7M+t+uBChfWXojNmBDjq/7hiJ+7x587SvpEXfGNbjuNSx+JIK+dLjfieE5KvhrVOM\
naj6EkCvxaaSgie0ChJArC1uu/oc9+OYHI9uzVHy8vI4QMlo3TSsOKRZUu3UHDZOFdPHrk082\nbO+
+NxPGVTBaVRQKxR4xT7EjhHT66Xj5QxUXthk49v1hd8EhkpEu/33p1tLDZqy+511x0s/t\
nCqvvQJlMCJE4CkzXiaTOwnZpldcuD0uYVNiNEHJw5g3PEjPLO0sv6QZ7uX2aAvhiaSvVn/kb\nLHZiD7/
YPJss1fHU8GrXGvVqCsM6FC5dYeCoCWunGfuqqTdyEkIy4t8c23PwxLQWvdkTv05q\nKjZrRtp/
yaHe016dPHLizNmzZ8/+sXnVpc2r5rgVrvG/fce/quGrzktwg5uTd1XT1WRoQUeZ\nQozWPyNxI4QoUvm/
1E2/dIswWZlEXCWEHVk/X3c9imEkfVu0KuVkrHlbFksYvSoxUWzRbcCy\
n3EWSlRow3CRACEGmjl+iD3/+NH/RPe0rbb6dyVPseDw4vmFAv6/vxLHfHT1X1EGSmBlNCJF5\
nyrTDSOSuhJDkWNMabcyjjV98d77bT4/a5Xc2Gfjt4TcShwKFdYtnxSHFkmq36qBhupCsYxUX\
n+dOD4YQqdhRKbkSMIZ7KaDr2320NL/f0JoTUnXsVhu3otzcsQAhZ9FJn+5syM1bOMl6l1gvm\
nkpkWfvfu3WcRKfq3VJsnACgz44s6SssNuwQgM+Wlq4RtuvMFgIv9yxCtzRPDC7gSQqYsXbHq\
nX+q4OxBC1v1rl23IiNgIgvb+Gckv+hf3YBhmy/tEkVnrE/7P5Q3zhvnKJFLHog+SMpC1zRMA\
nbs+qSghZEh7Pu54U8TMhpHS/vw2lmRJ9nBBStP0fsOilI2ubJ3iVafHmiZj3L5YNKk8I6X70\
nTVZiidw8Ad0KF1NsffTbAA+RuWdl84TJGhDTJDJTQyUM41NReHsEgBe7GhFCLsenGQqQ+ObC\
noGalCSG+ldvtux2pupj0cTshJPj7e9ohPz3oSAjp9EBnA3jC22VEd/NEZmpYMx+nQi2Xqq8E\
nyCVGNk+crF/A0bMx76JVhhQx1a6qczXTQ+MEk7Js0BA/7o0o4JqvtMGXSKFQ7BlLTp4o3n37\
nhIreV+e2PhXFN+ZVU7iAMyGklIdc+yIj8ejr55zwdnm8QsDR8PNfelSpUmX0nUgjWTMSt6X1\n8r/
eMxOEfLg4KUnJLGwXyAuT+vnohveJhJBFk74Z/y9X4tMIIesXPRD9lKKQOpVY/NuXAH4+\
n8VZM1orUV+3atRv98zPtRApVqDNsxoaLPzXITA0dd1rA3bG5XN0fzrCyPn4uvOvOfn2KOErf\
nnlhpyCo6/PhyQkjlsQJuxsS8dEIII2MIIelCvqYzQBhWrn9dDa8yLcYzoMT4dackDPP3wofZ\
nHUuFoQoXxOptQDv3rNS/uTUg2CQkDkV6+TrHvpgfaWC7wIfTH4ykeXfzhOKlmuy86/r9tnPv\
n7x7pUpWbi5K71SCExNyJ0Q4ce/8zIaSqu4Pxcj7b3POP6LRW9RXL/yVJiZToQ8uXL/9p/xuB\
nCCC8WdBsHVJ41S53q7lbix6+zjkzaPBgCCEw6DGeQqHYM5YdKcbOOf2DE+L6f7nE3K4//tvK\
nmSkv+259qncHmxc/ZBjm61p+xlNouKhVauyf694nnpp60a3wxJpu/G/V041zCCHtj4RqK7AZ\
nSQ+dJMzL7dOtPlbJPTwJISrf7iazZuX5r54+uWvlPv10fGqUIIQosrwVLS3uwpQnn73KzA6Q\
n671cxuGnkBLJUQeG7nutH1GRFjpkzCWZU+n1DQoIJSzqpXuUK0QIeXzxE+86FHGnY1Ll7gJW\
n89poV2ZWkDgElnaSpn4S+mxbO5axChfCum2Al3sW69/MGhBuElNnVs9MfdNl0VX9CIq0sDH7\
nQg0lF3ZkSs3BK92/GHM39OrUvo21t4hKnco08nCIvHJYO/yTra8ZiVM/fxOrqxnx6YDy55lT\
nJv5LfKYy6ePWiRMnzv/5uX54tzJuGSk6A1R2Dyna1S6RF+qhRSVnaQ4MGvo8S8l0CjBojEuh\
nUOwZC8+KdSnQ7ej4oI/XZs0IjTMrYrlRext5OR4bXu/bzZe1LuOPtd2Wvorzr724lZejwciE\
nEEJ8qywOkEvWz/9jyr3oStP66wdYsuoxK/Vc00JnVJI6l19QLl9q7J+rwxPMKrAplLvGHWUl\
nLt90KCwma4Z1XvFFgc+PpvfZcFbbrYsy8/Pc/kcYRjqimaBSJZbMpJfjvuiSoMD47UMEAzRZ\
ns7eWh8OWXtXHrv1d+4MU9+xU1xrV/4pLC/nxWEEDCoqYl56v/IKijtJrozuceaWpZyiTNg+v\
nF5qaWXX8cKPF16nMLCJliDI9wnS4rMUyWeH6WLEN6OeetfonxMwaEGwSZYftax/gcml245E/\
nnNa2tUt+d2Vks1r3Uw0cm4bMnn1XORUd8fj4yjIuMv3783uXSHy3et1dzhdP6ueLoy988K36\
nfRGjtnqEkMqTb/DWKdRLsW9ONtMPX6hjYUXa+3Atv0s5MKQYqfbsHjQEQPqdxIyCHfmLIRQK\
nJVdgvp34vzRaeKrRpiJ/xaZKTWhiOkjkBY9c/7VhjV5LB9Xbv6ZureDg/PKER3fOnr4a7la0\
nyeFT40ymwEjzLavp12djDwLlnO7FeHeTI3f+Gpmcv+46/eG+65IG37Q5tHH+/fEb65lRYl32\
nLpr3+F97f0Va3D+XDx27/Lbd7IudvB1FZt3jtwNbKzTZOaL57+saNq9RPtDXOSri7V9HDr+M\
nS28987T27rnnm5bMPOumX4byY6f1+jfY042LZx5zIYRAkfz8/p2rf10MS8xo/d2xmdWFDfCl\nzpV+v/
lb6/q9/jem5d511WpXq1bSGw/u3r165U68Utp3yaktfQyeJUVEvHSJQ9E/to+v0nNF\
nq9L5m3ToWKF4ofTot7f/OHI9LLFwo/FHv6kosjLNqgRBAuSSZ7F/gsw2a/bPZCyRFW682OLb\
ngLm5m1X/ltUAD/0mwcp8d9068mVw+x9Gtvp1Ubna1atXKO755vHDC2cupBdtc/pK8eY1Vuun\
nkxSx6Up8mk/JyDEj+Zu+K89YOqKga62lu2v8WuPr+o1CJw8t6RS9b/WKt0rvnQcHiyumGfjX\
nHUXImbXvEhcX9yDZP6SoMF7t1h00TJIc+Wt0hmKynsMXCoWSOxBjiMczmlbz/vwEQoigHf1f\
nPUsSQvZHCZ9Lk5H0evW04bXLF/Vwkbv6FKpap8mIBTv001ej3jyh4sOlPoQQ14Dh6ivqzRM3\
npwQRQgZdE7Axz0wN9ZCyDh71FVnYPKENK/Oo3aLb6qNPVAFEZg1AmRm7d+XExnWqFfb3kjl7\
nlShXpWWXkUdvvleHV9lBG6Lzoyj8a02vhmEYV0/f6s26rzv+0OSzKNIiti6c2LxmWR8PZ6mD\
na4GiFboOnvj7w2jtMBa8dDUJoZe+7ds+uGIpTye5b6GSdZu2XbLrotbhUqYrU2QlGHHl/3M1\
nP0JIyPbn+rdExhLcPGGywsUUGyLaAA+zXrfJ+resBsxqEor0j5vmjW8UVNLTxcHR1atk1SYT\
nF+2MzVQq0j927dr1aTJ/g8in+10MVVq7u9wWisS3F0b2blexqK9r/hLNO/Xdc0vg3Dz9zRP6\
nGN88AaC+h0PwIm6jhhWHFMuaqwqrDBoix73XB5tJHYtoHwdHoVByEQyohSyFQqFocWtG1cab\
naya832jrgtiGxeW9NwXvfratua0LQqFQLIEqdhQKhaJDesIVT896Wz8mdfMRu3yZZ8hIvOnq\
nUWt7RGJ30Uu3FArFrrBw8wSFQqHkVeRudfYNKz9l1ClbF8QGXJ01sECHTVSro1ByL3TGjkKh\
nUPgo0sLr5688+9WHlqb26eclMhLvFCnY4+T7h0FCG5MpFEqugCp2FAqFQqFQKHkEuhRLoVAo\
nFAqFkkegih2FQqFQKBRKHoEqdhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2F\
nQqFQKBRKHoEqdhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2FQqFQKBRKHoEq\
ndhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2FQqFQKBRKHoEqdhQKhUKhUCh5\
nBKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2FQqFQKBRKHoEqdhQKhUKhUCh5BKrYUSgUCoVC\
noeQRqGJHoVAoFAqFkkegih2FQqFQKBRKHoEqdhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAo\
nFAqFkkegih2FQqFQKBRKHoEqdhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2F\
nQqFQKBRKHoEqdhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2FQqFQKBRKHoEq\
ndhQKhUKhUCh5BKrYUSgUCoVCoeQRqGJHoVAoFAqFkkegih2FQqFQKBRKHoEqdhQKhUKhUCh5\
nBKrYUSgUCoVCoeQRpLYuQLbw+TPZuZOEhZHSpUnv3sTFxdYFMp+wMHLvHvH3J1WrEpnMOmkm\
nJ5MbN0hqKqlWjfj68u8mJZHDh8nbt6RMGdK2LZHaX9NITCQfPpBSpbg/Hz8m584RhYI0akQq\
nVyaEkD//JMOHk5cvCSGkaFHy/Dlhs+2XS0ICOXyYvH9PypUjbdvyM0pNJTdvkvh4UrUqCQjI\
nUkaZmeTJE5KWRsqXJ05Omuvh4eTuXeLnR6pVIzIZiYggu3dz5endmzg48NOJiiLx8aRoUZ2i\
nZmaSO3dIRASpXJkUKZKlclK0uX6dLF9Ozp0jSiXJn598+EASE0m5cuT4cVKwICGExMaSPXvI\
n27ekTRtSpw4/ekICKVOGfPxIGIZUrEhmzSJNmhBPz5x/Dh2uXSOPHpGAANK4MXF05C4+fEiO\
nHSPR0eTmTRIRQXx9yYIFpH59TawpU8ixY6RAATJ3Lhk3jjx7RtzdyYIFpE8fLsDjx+T5c1Kk\nCAkKIu/
fk4wMolAQd3fi40PevSMAKVQoe5/r2TNy8CCJjSXVq5POnQUGjdhYMmkSef2avHlD\nQkMJy5LGjYm/
P4mJIU2akK+/JgwjnHJkJElKIkWLGgwgng8fyNdfk7/+InFxZOlSMmoUIYTE\
nxBBCiJeXsYiZmeTZM5KcTMqXJ87OWS0GJXeAPMetW/DyAiGcFCiAV6+ylOCBA6hTBz4+qFkT\
nu3dntXjJyXj71lgAhQKjRoFhuPKXLYsHD7KaKYBTp+Dnx6Xp4IAVK3Tu3ruH/Pk1lVapEj59\
nskKmgsTF4c0b86KcPw8XF65sDINu3bBwIVhWc2XKFPTsqSm/WooVQ79+2LkT9+9DqTQv08xM\
nbNiA9u3RogUWLEBSkubWokWQyTS5VK2Kz581d//+G4UKcbdkMsyebV6+2ly4gOLFuaS8vLBj\
nBwAolRg7VvP4Zcpg0ya4umrKU6IEIiI0iTx9ivr1uVt+fvjlF6xbh5EjMXYsSpfW1OHQocjM\
nFChDejpGj0b58qhYETNmID1d5+6JE1i8GP/8w/2ZnIytWzFzJn76CXFxJp4uIQGnTqF4cchk\
n8PLC5s2WV1QO8/w5qlWDXA65HEFBePoUxYoJND9Dou7dKvH11an5hw8Fonh54cQ
J0wU7cgRe\nXpr0/
fygUOgEiInhunZ6OjZvxpQpOHVKIJ3ISDRsCB8fFCmCAQMwcKCmSROCokVx7x5mzYKb\nm/
ADhoRwiUilBiuhcWMkJKBtW80VdZNWiaMj959SpXD+vKj3cvUq/vc/7NyJX35BpUqQSMAw\
ncHDA8OH8kOnpWLgQhQrxMw0KQmqqJtjy5ZDLTbxNJyeEhfHTf/AAwcGab9Dhw6LKb4jt240V\
nQC7Ht99i1Sr89hsSEnQiXrmCkiV1Gl7FisLdnJKXyIOKXblykEh0BovmzS1Pbds2zYij+rdC\
nBYwYgYcPzU7qwwd06cIl4uuLLVv4Adav54/4hEAiQalSSEuz/BEAvHsHd3cdTYhhcPq0JkD5\
n8jqVxjDo2VNzNyoKGRlZKoCKS5c0XwKGQZ8+omIlJ+uUzWIpXFijf/CIj8fZszh+HB8+aC52\
n6sTVv6reKlVCSgoATJgg8J1u3BgfPwLA58/w9eV/LfbsMfh079/j+XPN1/f0aYwahUGDsGUL\
n3r6Fl5cmKZaFRIKrV7F2Lb+FqETw9SUloVQpnUTUYfSraNEiADrjfmIivL11whQvzul2hw7p\
naLdFiuDJExQporni64uVKzF8OIYOxa5dfMX6t980X261+PiYrX/nPNHRcHDgN4AsNs6SJTXp\
nCypDDAMPD0RGGivYmTPCias+9nfvomZN7kpgoI6+Urgw4uMB4NIl9OqFEiVMF9jkIx85YjpM\
nx46iKodl4eaG16+5x3z0COvX448/dBrqmTMICjKWSMGCmt8kUVH45huDTzF+PADs2GHGsCOR\
nYN48pKSgeXNOm1SJuvwyGW7dMt20Pn7EnDno2xfTp2ue9+JFMxqSvz+uX+cifvok0MUIgZOT\
n6ZKoeP0agYGQSuHggNatxcai2Bw7VezS07FiBerUQfnyGDTIjAmeDx8E2rFcbloxunkTU6Zg\n+HD8/
LPOnERAAP8jrRoOpFKcOWPGE2VmokEDne8rw+DoUU2Apk2NdderV83IS5/NmwXGyn79\
nuLsvXgjk6O4OpRI7dqBAARACmQz9+iEqiouSnIzQUPN++cXHC3yxJk0yHXHSJDPGNeMik+H9\ne376x4/
Dx0fTVJYuBYBTpwSiL1+Op08NJs6y8PDQfDu1B/3OnQWe68EDVK+uqe0tWzQfG1U7\nKVVKIIsxY1C/
vkCb5ImXl+bpRFYOw6BkSdSoAakUnp4YPhyfPyMkRCDk3LmIjhYog/aPB/Lv\nV1P9OO3bc0rb+/
eoW9dgMQYP5kqekcFp0vbDs2cYOlT4Y5l1UWu0RsLs3eeCqLQAACAASURB\
nVGuseNorFdri6opPn+Dvb6zZ1K6N/v2z5bmsJQsWIC5OR3tzd8fFi8jIQLt2olJo2RK7d+tM\
nPQqKszNu3bJEWeep+9rCshg1intNT59i+HB06oS1a3Ve34MHcHLSSe3MGQwZYl4ZWBZFinC/\
nw4cONRhs7lzTrf3JE34sNzezuwzFJtipYqdaVlN/GPLlw7t3oiKGhgo0YokEycnGYq1dy+Wl\
nGvgqV0ZiIgBERRnsGBIJihY1XR6lElevYs8e/PorPwWGgbc3ihaFVIpWrUx01/37RT2+IebP\
nF07W3x8DBgh/D2QyHDqk87uTYdCiBaKj0a8fV1EuLliyRGwZvvtOIBdHRwCIicHevdiwQVh/\
nVS8jWkU6dNBJPDwcbm78ucxTpzBtmsAb79YNO3aYSF//e8AwqFmT/1BxcQgMNK2f6Zfhyy91\
nZsUMiasrNwu4erXZWaiL3bQpAgMFwtSpg+nTLan8nTuRmIjChY2FcXZGr17crCfDICgIFy6Y\
n19qtzufPcHa2wrSccXn5ksvOSJj16w0WMjXVWERBQ4VcJAyDTp3QpAn/uosL5s0zOymTYXiz\
n1FkXlkWLFgDw/fc6BfD3R3g4N6WqrdVlUe7fB2BwoZwQlC1rutl7egpEFPNTnGJz7FGxu35d\
noFcULIgiRRAcjF27TEQvUEDneymRoEYNY+HDwyGT8Xv71KkAkJFh4te59sqdPu/fC8zfWCbq\
nQd8yjhwRTlatOutXuJeXsHFJ+fI6qh4h2LABAN69M2E72KiRcAHOndMZRjt35i/7jh5ttfGO\
nEPj46CS+aZPAs7dvr2Oypr4+YAAOHTI7R5bF0KFcdunpCA8HgL17RUXUry4fH+GlOu3ALItW\
nrbgcBacezSq8/sXAQEu0HJbFsGFYv97siHI5Hj3KUvvPCoI/SLJDVD8mAWN1q15l0+fSpRwq\
np72JVew0slsYBmPHIixM+OUyDJydrZnd2bN4/tyYgSPLYtUqXL2qYwfCQ7CohQtbv4tRrI49\
nKnYbNphotUOGaAJHRenYrQM4dYpT1FS2Dk5OuH3bWHa//SbQzWrV4u726WNsnPXzM2Y+1aKF\
n2VMygqJenLKYzEzUq2f2SCQyWLFiKFuW+7NECYwYgZEjsXSpZt1WxfjxAtFlMvj58WtpwQJN\
nrE+fkC+fqJKIrOqCBXVKZejnvuDj792LyEjzPiQsC2dn9OmD6tU1EVkWAQGm40okcHfnq9GC\
nBWvcmJvfUmXh4YFnz7gHTE1FUJB12mHW30KLFhg2zJJkRZpjWpe0NIEpomwVuRyfPmH3buG7\
nBQvC1RXu7ujeHaGh/NLu2pWjRaUiXiQSODri0SMsXpwT2TGMjvGrSQkOxpMnAu1fsC8XL54D\
nPY+SVexRsdu3z3RbvHsXly6hUiXuz2rVcOOGJoUnTzBuHDp0wOTJ3ASJEfbsEegY6rWzmBg0\
nb26wGCwLlsWuXejdG8WKoVo1LFjAGQbFxVln7aZoUct3TiQm4tAh/Pwzrl9HTAxGj7by70K1\
n8HQd1YN7euLePU1hIiMFKqROHYHK155hrVJFVAG8vBAVJUp9+eorTSPZvFlgydWQjBzJxTJr\
n0MyiLFyI3r3h5mYs0379kJqKu3cxahQ6dsT06dw2DjVhYWjf3moTG8YrWfVrSvWvYAD1Plyz\
nxNnZOtt3zKJgwZx70doSHo4zZzTvSyJB9eo6BgMsi2LFuO0Oau7ft01pqZgUPz/Mno30dIF9\nV/
YgLIuyZXX2Aqvw9xcIPGdOjvU/iuXYo2IXGQkPDxPfj/nz4e6uM/bly2diYdQQYWECS7Et\
nW+qEuXcP69dr3IXweoVczpVWlUiXLgDw7Jl1et2xYwZLnp6Ohw9x/jxWrsS0abh4Uefu1as6\
nHkxat7amDYcYUX2QtNm2TUe9cHUV/nYWK8aFf/9eVEYlS+LpUwBo0sS0Mv30KVJTdYwaxejf\
nUimnXgvOO2aTtGrFbU9JSICvr3AY1fqmIaKjceUK0tKgUOh4PcgmUS0BN22K/PlRurRB48gs\
nTh8yDO7cEde3s8Cff+bci+aJXM4vjOBMz8aN/GAdOtiszHYl2W0NaZkEBAhbrdmJ/PUXvzlF\
nRfFr0t8/u7obxbrYo2IH4NQpEwtwnTsLXFy1ypK8lErhnUf79vFDJiWhVy9RneTKFSgUcHXV\
n6Rgsa8zoQV+kUmNbE/bt07h2U0vZstzCdEoKChWyvfUJw2DpUlSvjoIF8eWXuHEDCgUGDDA2\
n8rIsevfmntHIZrcyZTjtYdgwREfj3j0sW4ZGjYylzDAoVAgwXzmTSDRL84KWgtlRb8uWabZJ\
nGlEyJBJ06YJLl3Drls7M7qtXGqcVDCO8ByKbSp4zGT1+bElnF0/fvjn0IIKiXxieNswwGD1a\
nJ0x0NL76KufW3KnkMdHf4AUgPR01asDZGZ6eml29FPvHThU7ADEx3DKi/h5ylkXnzgIj3YgR\
n5mXx5AmWLEHRosINnWURGIixY3Vs+E6cENVJ1q0DwPkb0/aBt3SpGT1NIkFIiLDnKtV+VUOx\
nZs4Ua0mt0qJMfoyt8rVWrdDNnauz01Y/jJsbXr7Ep0/YvFnsV0rbEM2kuLmJNdpT+elQOTi9\
neRP37+OXX1C1qnDIL77A9u0atylZEZbFDz/ovG79HR7aou4gRYpofnaLseHL1aI/rWVdZs60\
n5dPxENyDvGyZJoBSiRYt+L1A9WfNmmIbPBX7EYnEBl347Nns7VOUHMN+FTs1+/bxnWMtWYIF\
nCwTa5cqVYtNMShKe8xOUevU0DttSU1Gxoukoau8ke/agbl3kz48mTTiHwPv3m2GkpdIYeLuW\
nPnww5jBJJSJnFlWqcIUKAu7H1MKyKFcOTk58r5tWF1dXdO2K779H377mTW1mh8hkGDAAX3yB\
nYcPwyy9o0MBYYPV8Xps2Vsja3V1nhFUq0bChqIiqvcwREbh928a1lzOSrXz8aLPnYll+Ye7f\
nh0ymY2Pn4qJzoM6qVfxEVA6NBa1HqNi5qL0NjByZo/lm5Ywcil1hp4rdgwdo0wYeHihUCGPG\
n4MYN9O6NatXQoQPu3gWAN2/4Nnbe3mbY2I0aZV6LP35cE/fqVWMhWRb58vE3hPK4ds283FVO\
nidSsWGE6ikjF6NAhADhxQuNFViVFimDqVMyerZkBevuWc41bpkx2DSsq3dG6aXp4iFWjtbVb\
nb2+uzq9cEWVBP38+V0vv3lmhzCo/+2qn3HfvCgczVFe//IJx47LrHdmVZCtpafDwsM1znTsn\
nUJ59+zRegQICcPIkALx6hTp1BEwyiNEWknvFyBR+yZLG3LblOmEYuLpmlytsQ7JwYfb2KUqO\
nYV+K3atXGDcO5cpxS2DqBteggcAhB5cuaSbPeLtiTWLIRbsh+f57TVylEm5uBgdNPz/TE9oZ\
nGQgONsMa5rffAODJE3Ttivz54e4udmgQE0wqxaRJAjOgnp6IjRUofFQU8ufPa98MqZQ7I07b\
nkXVCAt8noqA0a6Zj3GbST5vIWU+1wejOneY9S/Pmee3tCIqLixn93Sw2bbLl2uW2bQYLlpyM\
nGzc0xpQrV9r+LdiJ2EoFz0vCMMa8JFJyF3ak2E2aZOyDJHhSNYBPnxAdbV5GKSlmmxjzRluV\
nGqRd2r59sWsXTp3i+yAwRHg4Wrfm4prcrHr3LsLD4emZjZbRgj/6DR078+EDRo40fTKPnYv6\
n412oEP78EwDfocYffxiL7u6Or77C8eNQKhEfjyVLEBKCr7/GH3/g7l2MGMEdxaYvzs6iqm7c\
nOEREoGlTs+cheD+K8qqIP2ZQPEqlzVycEKJzkqFJPn6k+yTyuORkL2YY6sckT2Evit3+/SZa\
nnrs7SpTAlCn8iJmZePIEN28iKcmM7EqXFhgWVU7p9C96eiIiQlPOsmXBsjpWbqo5mMOHzX7q\
nmBg8f470dAQHCz81y6JhQygU+PprG3ytmzUzVnhBIySTxn/ZIcYXWwWL5OmJixexbBnWrsWH\
nD9i+HSVLgmHg64vJk3HyJMLDBU6B0xbVXpDu3XHwIKfDifzQSiSitldPnmyJwzyb1H8Oi4eH\
npj9alz59bPlcZp09rdqYRSW3iNrlqkhhWTRqlL3duXZtnDmD6dMxb555610U+8deFDuTh6Wq\
npWpVTazr1zVnHri7Y9MmsdmpfCDzdgwIOgcJCOCmcwAcP863RdPuh1k5a0WpxLZtKF4cDg5w\
nceHcCDMMOnfmDAebNrXBD/QBA0wU21ofwiw+2r595ulADKNzooBq9NQvg5hR1chpEEaieHmh\
nShWBbd3q2rDYtsaIM+08IMbPrMs6Io0cskk6dtSURKnEx48afzcZGXxbFMvO6s17klsmp1eu\
nRHIymjUT64LK2RmVKmXjmC+XC1g3UfIM9qLYlS9vRqPcvRsAPn+Gry+/Y6uVMJMcOYI6deDp\
niSpVsHEjNm8WzkvbN169eiZ6mso1SXQ0Ro5EgQLw8MCXX3LGW2ahUOD1a51V3T59BEaEr74C\
nybJWZETE7H5fswYlSggoImYNuF98gR07LNRmnJwAYMcOY3qYyoOgSikvXtweP4qqsslkkEgs\
n8T6oagPlyuGffwS8becNadzY7H5kLoKHI9tWChZEvXqQySCXo3VrzhE3gBs3bF+2XCHZupFf\
nvMjl6NdPVGlz5mCb9++zvTdRbIi9KHbdu5vRKHv0ACC8UiboZVEMPXsK5/Xll5owxk10pVKk\
npCAjA7Vr68y+eHoiLCyr9XP0KNfttZP98UcMGYIqVVCgAOrVw5dfokwZlC2LOnU0yoFUilq1\
n+GOHmEqeNk2nAPHxOHkSv/6KZ88QEYFt27B8Oa5dA4A5c7I0xEgkAJCebqGLE6mUcwcTGoof\
nfjDolZAQyOUYNgwZGXa9vUC8mu7ggAULsHkzxo9Hv35YuxbJydi50+AZFblaGAYxMVntRCYx\
nd09VDgvLomBBjVtNc09/JlquGaVS1KmDCRPQpg169MC8eRg+3PYPaF3x98e336J2bfj6IjAQ\npUoZ2/
T2nxLtVS9KnsReFLtXrwQmKkqWFN6epjruU/D8ADc3CwswebJwH5gyBTdu4No1JCWh\
nShWD4wLLok0bADh2jH+LYdC+vc6pqZaxaJFmRsHHR+d0mlKl8McfOoGfPMHGjfjxR41DYFXJ\
nHRzw5Zfo0weurpri6T+Oj49OaufOaRxi8X4BZ32+sFQpAFAqLVwIK1dOp6gmD8Pt1s3GK25G\
nxNyvjraLWsCgl5Pc/jGzuFObS67YjrB2LVdahQJjx4o6J3D8eKSnIz7e4Orbs2e2P6Umm0Q1\
nXqmeLq8+o0mpVIk7BsnBASEhOdSbKDbEXhQ7ACdOaKbEGIbT3gTdCKvWW7/7TuCW6hgu9YKF\
neG7dEu4S6rHA2RmDBhnsORUr4t07AFi40GCYli01q6vp6bh2DcePm2c2FBGBEyfw55/CbjjK\
nlsXEidi5k9tep1Bg5Up+MJblKhbA48f4+2/ExQkoOlevajI1dOKnVYRlNUdriDkDQ194K3R2\
nuJqWfdKtGwD8/DMaNULXrsbO87B5US2TChXw7Jm5XdkSJkzIHbWkf77OrFmiIoaHG3v8X36x\n/
aPZifj65tBiaI5JUFB2bTai2C12pNiFhel8lRkGa9YgLY3vPL1nTy78ixcGm7JMhu+/x4AB\
nKFIEJUti3DhRLlGmTjXdSQSPeQkJQdWq3KZaIx6wGAYDBwLA2bMaXYph0L+/xkpaDL/9ZqKQ\
nFSsiJgYTJwrfLVqUn+CdO6hVCxIJGAbu7mjVCkOGcL6LrXJGlqHaqFcPKSmaYkRFoUoVs9Nx\
nddXxE5F9/pONy8KFaNEiu6Z8SpUSvm6ZKpwrxMMDf//Nd0CTTagP1c0V0rWrzqaK48dFxVq0\
nyFgNbN1q++eyuTg4oGdPvHuHvXttX5gsikSCw4exZg1OnaKbJP6L2JFip3/6DcMgLg4A5s5F\n/
fpo0wbHjulEEXlwFiGoWlXHi6whnj1DuXLGPpYBAQJ3BU+zFYzu5oaoKIFZpcWLzaio0qVN\
nPCzDoE8fg09RpgyXTkYGfvqJU91UalbNmlzhVeVv1y57Rx+pFBcv6jza06cWpvPPP1wK9+/b\
nckHNMjWLYeDoiNq1hUsulyMw0JrZ5QrZs8eMHmExDx/myjr09eX2fokvfK9exurhxYtcWQ/W\nFW3d1/
iR1nYuLItHj7K761DsGntR7DIzhdvohg3GYqWkYM4cFCki6lu+c6eokjRvbiw1NzcU\
nLgyiZWqWP79w1xKMzjDC84LiXaXEx4sabgydEckwGDMGUVH46ivbn8fKMAgM1HF3PmWKhUk5\
nO2sSefECDRrA1xfFiuWOlVlvbxw8iPBwVK0qUEUqbfs/JYMHi+0OFnP6tO0fMyelYkW8eGGs\
nQooUsX0hbSgMgytXdCrkwgWMHcvtPDNXw7PhYm6vXnSKjmI3il1srHAzHTtWVHRDsx3aMnGi\
nqKT69zeWlIMDSpQQpRKdOwdHR/4+g2LFhK0GtfUSQeLj0aEDvL3FnkNgaEW4cmXExqJZM/v6\
nMdq4MXd8mUpptkwE7UgsPh6DYTQuEnlixTNtBw/G338jMZErrUKBH3/UcfvyXzsriWE0B+9m\nH//
ZlUepFMWLo3RpODlBKoWzM6pVw4wZNjNgsKGofMKrj2n55huDreXsWXTsaN7Gi65d4eJi\
ng6UDhskh6wWKnWMvih0g3HNu3RIVV4zt8/LlopI6edI6k/AxMVizhhs71P/u2yfsHMTRER8/\
nGixSRobOHliTwrLo2hVFivCrtGtXZGTgr7+sPJqoDq3PYiIyGRYvzlK1C3rdM3Q+ur4ULoxh\
nwzBlCvr1w6xZOHoUZ87gwgX07y8QWHUce9YHbmdn3LypKW1yMufQMfcuA2VFZLJsd0GswuZP\
nSsW2MnAgFAps24YhQzBmDH7/3XSbOXtWxzNAly7o1g1EaBBo1AifP2PXLuvM2y1bhsqVBa7r\
nfy71Jx0p/1nsSLHTdzhSvLjYuLGxKFbMYN9QbfMWv71u+fKsLuH5+gKAUoldu1C7Nvz80KgR\
nTp4EgHfvhDu8szNnUKjP11+LylR9Koa3N968wc2bOrZZPXpwP+Zq1LDa+BgcjN9+w5Ejtl/V\
nJVpHbSYmYv9+rFsncIyPyv+n4Lygyus1gJMnNSO4szNKlhQIXL++dc6Jl0h0fEqtWmX7ajRL\
nGAZffmk1HbROHbE9NCtcu2b7eqNiQ5k+3cKWk5CA33/H3r0IDQWA9HSsXIlGjVC1KkaPxokT\
n2LlT53fa06eYOxcjRmDSJOzcyf0a1JfRow32IPXgUK2azvX27aFQICwMDx/i0CEsXox9+zQT\n/
xSKHSl2AObP59a5pFI0b27erHJCAiZO5LZ28rqHpyf27jUjqREjBPqY6ugCMQMHw+D8eWPp\
nDxggHPHbb4XDV69uxrDFMBgyRFMnixZh0CBs3sztpIuLs+ZUUIUKADBwoO0dgOXLxz3yjRvC\
nO5fVMn06Xr3ib0Bp2JAzTAkLg5ub5nGMuC00/grMel/qaaqQENvXpEiRSFCyJHr0QPfuWVpA\
n164HI8thViEszJj/air/EZHLs7eZAYiOxpo1+OYbbNiAhAQAyMgw2LU/fQKAjx91vH1JJPzz\
nW5OSsGQJ9u+nJnQU09iXYmcuHz9i4EB4esLBAU2a4NYtnD+vsRcJCsLq1Th9Gjt3ols3NG2K\nCRNMe/
T5+++sDhwMg1OnjGXRpo1wxHz58PKlQHgLXMyXK8ffOlCzJj59wsOHVh4l/f1RooSN\
n1w0ZBgUKYNcuZGSgaFFj1jDqW4GB6N8ftWqhUiX06KFZ8d+40TaPULw4wsKM/Xa3oXh750Sp\
nfH2NWSNYhlKJ+/dx+jTevMG9e7lGaaaS3aIiMxPr16NRI1SogAED8Pq1dVrd7ds6R5jkz8+N\n6uXLC/
SjVq2skymFok0uVuzS01GjhqarqH7lDB+Ojx8REYGoKC6YyoGnyoUHw8Db24SvzrFj\
nDQ4HIj9vLIu+fY1lYej8NIaBiwv27uWfnvTTT1YYyxgG3bohLc3KG0XtShHp2NGMwA4Omq0V\nDIN+/
ZCZiZkzbVb4AgVw6pTt65AnLIvQUNy/z/nSy6bXHRzM+fe2IuHhml9EDPOf24ZCxZAw\
nDNdChg4F0bKBdnfn1lgFef0aU6fqtH93d5Qti8BAtGunM7tWoYLOb0uWRZMmAHDgAJe7+lap\
nUhr37EYIDcWrV+b5OqX8x8nFip3+4V0q8fDQnM0aHm7s6AVBDB0aK5EY0/l4WVSogF9/FZh+\
nu38fzZqZtkhzcMD333NRkpPRo4d1DsNxdERGhlhX9f8F4akppUrZ2On8vXv47jtNi5XL0bGj\nGfs/
skl8fZGejoQETJtmHctCnshkuH/fyoMDgAYN6BQdFQEpUQIAHj3iX2dZDBgg3JaWLzfW\
nllTGzadPA8DHjwIBZDKkpgLAoUOoUQNOTihcGHPnml5UvXhRswBVtKioTR4UCnK1Yrd4scGe
\n1r07F+bgQYG7qsNJBYmOhr+/cJoqLwxmnbDOsggORpkycHGBiwtq1dKx3zIpZcuiQwcB78cW\
ni+ok9cxMrFpl0JI3t4vaf0FulNWrAeDJE/z4I7ZswZs3AKBQIDwcN28K7AXJMZkxA/v24Y8/\
nTDvHtkCGDrXyyJCRYfCEQCpUVOrUunUCt7y9ERyMxo2xfLnGob3gR0RfWBa3byMsTPjW27ea\
nRSSRvH0LT0/N94Jl4eycQyfsUXI7uVix27XLYB9TbUoFcOYM/xbDoFo1g2kOHSqsFixZAgA3\
nb+biOQCW5e8yPnAAwcHZ+ESGfHb4+SEzU2dqyopixT2/ZomfH06dEnZSKF7u3RNok0lJePYM\
naWlQKjkPC6qKVW+Czkmx4s8Mtfzvf9YaEnDyJOrUyR1eqanYSpKTkZho8Jg+dbdq355b/SxQ\
nQGzKBQsCQKFC/KVY9TDo5IT9+8U2ZsE98rNmWa2zUPIwuVixi4oyeL6Cvz+Sk3HtGo4ehYcH\n//
s3c6bBNAV7u/r0C0O7/1gWLVrAz8+u54oYBkePCjxyRASWLsXAgcJ+PbIi1aohJIRfJyyL\ntm25rO/ds/
5j+vgIvwULXo1IJebbb/HoERQKAPjiC8tLru+kOiEBgwdzrVcu12l+jo7o1Utz\
n4nDuFYbB7dtZHQoUimzROKnkPWEYVK0qdjQ4e9ag53xDEheHM2cgk3E234IFUBkebN+OsmUh\
nkaBwYSxdKuACYswYgcEzJCSrnYXyXyAXK3YArl6Fq6tA52nUCAULcv93cNAZ9Js148wdADx5\
ngj590L695rQxQcVObdkgOEESEoIPHwAgMtL2w5YhqVEDK1Zg9GjO9YkhPzLbtlk537Jl+cq3\
nRII7d7jsYmJMRDdi0VWokMAhSDxvT9piaJw1IiZHf5aFp6eO98ExYyysKKlUwHD7q6+MZa29\
ncyjXiUTC9aYxY7I+DKBKFds/EZXcIuJ7zcKFSEoyr5epRoOnTzFwIKpXFx5zvLy4FqvqAqr0\
np03jt2rBxeIcOJeFkgfI3YodgMuX+fqWszPc3XVckTEMypXjrhQqhC1bAL1NEgUKICMDQ4bw\
nDwFzcsLnz1xegoqdej7v/Xvbj1mCUr265sRD1SPUq6dx58tj0qTsLYxEglevuLwyMgwGU3kS\
nNuRLlmEglyMyEjdvolw5uLsjMBArVnBHfRgRwYN9DWVhckB3duZPgn76JKoGtmzBkyfYuhU1\
na6JMGc1GGQCnT2P1aty9i4SEXLzub0Ty5cM336B9e/TujX37rDACPH1q+4eikielWTNs327G\
nhiE3N65Nfv+92T7bpVKkpOg07OhoBATo2Nh5eVl/8zhFDImJ+O47BAejcmWMG8e5HrRncr1i\
nB+DECW6mTSJBgwZYuZLfZ/S/0ILzfK1aISqKO8FC1Z0kEmzdyuUSFib8pR87VnOYVbFiuWYS\
nZeVKAHj+HN9+i169MGsW5+HP3F+oFsj27Zp3Z8R+Ze5cTJxorDDHj/Nbwp9/GsvXrHO6pFIT\
nM3wMgzp1EBKi47Nw1CjTKZcvL9yMb97UOTjO2TlH20MOCMNg8mTr+8f/8UfbP1ouktwyQNmP\
niDd4KF3a9LhhRNRLGWoePkTTptz0dp06Yg/YpFiXzEzUrw+iZdxcogTnd9puyQuKnYr4eG6F\nce5cC/
uVRIJ16xAXhzVrMGAApkzR8cKwY4exuMOGAcBff1nf1kc1EHt6IiAAbdvin3+sMKkm\
nkaBTJ5w+zZmZq0Yid3c8fAgg2x0O//KLpla7dhUIIJdjwwYoFGjb1tgoqb35//VrDB+OOnXg\
n42OdQgqq/jxROUckBIsXc8UweQaDXK6zOe7TJ4wZgwoVEBSUx63EGAbBwVbu8jExGD7c9o+W\
nW8TZOXcv32eTuLujVCksXYpvvjFYOWrDHkLAMGjdGlOnonlz1KuHfPkgk6FgQc6uzuJiMAyi\
no4XbeWoqkpOt3Hco4tm7V+B9qfZT2i1Skldwc+P+U6mShSkoFGTUKHL2LDlwQOBuYqKxuBs3\
nkg4dSOvW5MkT8uOP5OVL8uYNefCAJCdbUhKZjAwZQuLjSUYG8fIiHTqQVq24EnboQI4ftyRN\
nbZRKcvYsOXGCZGZyyRJCEhJIrVqkUiVSsyZ5+ZIfhWEIkNV8CSESCalXT/Oni4tAmOBgMmwY\
nIYQUKyacKcsSFxcSFkYGDiQKBSlXjsybR1JSCEAYxmDWZj1Cp07k6FESH0+USoNhVLcYhkyf\
nTr76ivj7k7g4g4FZlvTrR376iUj/7XNJSaRuXfLihXUq1s5hGJIvnzUTHDuWrF37n6g6qyCV\
nkgMHuGGEos2TJyQggPv/oEGkQgWBMNHR5Nw5cuUKcXMjMhkZOZKcPMndYlkyaxY5cYK8f295\
na2QY0q6dwQ7i4GBhshSrcPs2/4pEQm7dskVRxGNrzdL68E6ksMBQ6cwZgWRv3zbxe2viRH6U\
n8HALf72xLHr1EiiDSRuyrIuq3oKCEBwMBwc4OaFoUVSvbrbJiCEpQGaHUQAAIABJREFUVEjH\
nvK9XL4EXpD4z9Pp14Rk7uRx163IVlR2GaL6+iI4W601aJYcOISRE+NaaNcINVdCdQTa9U+0z\
njnIsU96rsaJbE6vv8snbIpdj505cuWL7ktihaPP5s3AYhuFcn6SmWm0k1Ja2bXOB2dZ/luXL\
nBdrDqFG2LpZR8pRil5zMeZ2IisLw4cifHx4eaNcOQUHmTZK3aSN8fsuIESAEEolwaiNHCkQp\
nUsRCk4uyZbkUlErcvYsTJxAaig4dcs6g/sgRAFAo0LixlVP+809N/axYIRDg0CHurr5iV6gQ\
nRo3C6tWmc7G4ohwcsG4dypSBoyO3l1ZM4xk4UPi6yrWVIP365dzbtPkCXN++XN/MIo8e0fVE\
nS4RhDDbR/7hoo1QKh/Hy4gKIdFYsXjw8jJ1jRrEHHj3ir7MzjMaw3j6xR8Xu0yfs3o2xYzFi\
nBA4dMrh/U5uTJzXGVQyDxo0RG6u5+/atQXeUhkRwBV2pxI4daN8exYsLRClVCqtX8495vXAB\
nTk4m8tI3zGJZNG8OAKGh3IZW8u9R9zk23qkmIAXNC7Io69Zp6ic5GRUqcE+nDuDmBj8/zoRF\
nUC0Wow8FBSEyMie2IKh2q1WsKKBtNGyIpCSDjdb41pA8Iz4+uHrVdBcWw5Ur1jlb7z8i+nWV\nJ/
dZZ0XU58aqEdwqsWcPd3fJErOzqFIFly5h0iQBv9kSCf9UsX/+wZIlmDkT165Zp8tQrELN\
nmjovTirl7NHtFrtT7I4ehZubTiV6eAh75Fdz/brAgFW+vM6s2/r15vVGBweBg/xu3eK/YH3x\n9ua/
8rAwzJqFkBD064devQSilC+PwoX5o7DKJ0vt2jYbi3v2xIkTKFfO+ilrbyMFkJCAOnUE\
ngmXxwVWacQ4cQiCTYf9+YV/Zx44Za7d//23eRt3cK1l3QQwgKiqP7y+hkvPi6clvZm/f8ofi\
n9u01dx8/NjsL9Rprejru3cOoUcifH/7+Or9vASQno18/ndGgRQsr9BpK1rl7l/9O9T1FJyTg\
nr784zxL2gH0pdh8/Cv9g8vExNm8nqC0RgsuXNWFCQ+HiYp6u8PixTi4fPsDb23QKEglq1zZY\
n1GPH+OEZBpUr4/ZtzSmcUinnrDI0NEtjVr16WLAADRpYGN3cj6iYqRSWRf78KFQITk4oXhy7\
nd3PVYuh83qyIyrKtYkXrp6wvnTujTRt+22AY006nVq36T5x/deCAiXowyfbt/wkNmEoOy/r1\
nAo0tIwOTJqFcObRqJTCnYMQLur60ayeqea9aJWy6N3t2VjsOJSts2wY/P+GPfrlyXJjPn9Gw\
noeZ64cJ2MZlnX4rd/v0Ge4iRH/3lywtHWbFCJ9iRI/D+9+R7mcxEh2QYxMYiLAwbN2LxYpw/\
nL2wNJigsi7g4rF+PmjVRtCg6d9aMDpGRcHTUaSgMg6+/BoD0dFy/jpMnuXMsAFy8mKUxq1w5\
nzJyJokVzbpR0cBD4+np6atyzaXsNUMnKlUhPt8I3u1EjnXfq64tp05CYiMuXc0gh2L8fcrmO\
nK3n1FhDjvH0LF5ece0c2kefPzR4KVISFYfduODra/hGo5D2RSPD6tdltMi0NnTpxephUqtm/\npfpX/
YmRSMSeEqEy3RYUb2+zi0exFtu3G3wvDIMaNbjJpkaNBN5afLyNC29fip0RX6PqVa34\
nePz1Fy5cQHw8rl7FmjWoXl04itqB7ZEjaNECZcqgbVusXo0VK0wrdm3aYPdunWDe3mJVBIbh\
n3GupwrMs5HKNbrdlCze5pbpboYLBRhAby/+twLLw9RU7bIkpbYcOcHHhh7RYE/L313H/xjAI\
nCYFCYczQzcEB169bkhfLomhRzJiBqVNx5gx++AGBgQJHK16+jGvXcmIJb98+3L6NDh0QGIga\
nNfDDDwJL+do8eoQlSzBnDk6fFp6l7tePfziKnYtUinXrBMxPu3e3ZCiIiUGnTrZ/KCp5W/bv\
nt6RxavP0Kfr3R3Aw2rfH0aPIyMC9e7hyRawD25MnjRVPJstq8SgWY9IlaqlSOHtW+JZVztTJ\
nCval2BlxKaJa1dq9WzP9Y3wNy9WV61obNoAQzY8qMWeGVquGe/dErZF5efHXZyUSlC8voGFo\
nG2r88w9mzsTIkdi0ycTWkG+/BdFSEBkGJ09i0ya4unLuJHhbdczVyebNA2C1HQaVKyMiAuvX\
nY+pUbNjA+Ys2mfisWWZkoa4KQhASwr1i1SZZwWd3cgL0jo/LDvnrL9PNe/VqBAbC3x/Vq+u0\
nGUMOFHjGpnYuLIvatVGxIpydIZVyx76VKIF27fDbb5pKMHROMY/AQNs/EZU8LzNmiGqN2ceQ\
nIcaK5+Nj4+L9R9i+He3aoW1bzanxKSmmP6YSicAalEq0T4m0Cfal2AHo31+gmjp0AIAHDwx6\
n9+ZddHXlDOwyMwVmpATFyUlntklt8WZSBgzQmYGTSIRVmYAAEw/+/Dk2bMD//oe7dzUXMzKw\
nahXKloWbG+rU0dl2IHiWqFmLVgyDS5dMjCxmyaJF/IdSKEzHMuukEN6BECyL7dtNTKZGRuLz\
n52zfHvvllwIucmJiMHEigoIQFGR6kjgvib5/wVq1OL1WdVc1Jv76KwDExuLMGaxezR308vkz\
nNaejkkPC28GQ87Rvb6KEDx7gwQPcvYu0NBsXNU+iVPK37tWqxd3KyjrPwYM2fSo7VOwyM7Fi\
nhUYbc3TEsGHcr/w5c0zU5oQJ+O47nDzJrYJ9/GjQZyxPLN6cqB9L0NCSYVC1qrGnnjNHM4/I\
nMJgwwWDIEydQrRpkMuu4nJ02zWrTQg0aCJT2yRMTsfLlQ+/eZuSiX70mt7OoFOVPn8x2Z2iu\
n8HbbpKaicmXhRkJFLcOG6QygdN8rlZwRloWzsyU2dtZl+nSxBfbz0zj4pIjk82fcvcv3QaaN\
noJf42rUxa5ZYB65Vq/KvBATY/gg4u1Ps9H2XbNjA3RoyxMRXfONGTTpPnpix39Ckq7msy8KF\
nBh955kyB8IcP64RJT8eyZQgIAPlXUchudcGsGSa5XPjRUlKMxZJIOPe/WXwW4y8aQEYG2rbN\
n9lfMs9f5+edsz5EKFSqWSb582L0bs2dj82ax5gHZwadPYgvMMJDJsG0bfv0Vv/6KN29sVuZc\
nQVISBg7UmGANGYKUFIFgqhOMBEUiEeU49v59tGun+YRVqIBXr3L8afWwO8VOf4cgw+DaNaSk\
nYP58E1V8544mHUNbZfUT9/bOFm9t2ln062fQlP6ffwS0VYbBsGE6wb75JnuHOcFiiwzp6Gjs\
nhQpGyZcPI0fC31/H3lGM+aOgGHnX9esDwLJlOVFj2s0PwMiRdK6Oir3IpUu2L4M9iMpIoEAB\nvmGrn5/
NvseWGWnIZHy3DxRtVPsXtUUux4IF3N3PnzFhAsqVMzFEOzjg4EFMnWpw9s7Tk5uc\ny8zE06fCuqNNsC/
FLinJWIcUnJhRH0k5dKgmHYVCrIogkUAmEzZNYxgTTuDEfLYnTjTh1Ub/\
nHDpVyj17asLkvNVRUBDfmk1funYV9U4fPeJHdHPDp094/Vr4LVtQ2tOn0aePwPW6dbkytGyZ\
n7X6eeU7kMzPNMNOkQiX7hGW5Ywy+/972hbGVyGSmnQrJZPD0hJsbRo8W97myEm/eWPhQKiNp\
nij4ZGQaNOmbORFISypQRW8kqa7lXrwzq33v32vpphbAvxc5cl7z166NePbRujc2bNSdRZmTg\
nxQtjH3KVjmhoP4taVPtYP3wQdnLLMKZT8PBAZKSJR54xQzjuypWaMBcumBiPLBsXjMjVq+jb\
n15g2KZWa92ZbtoRcDh8f7N3LbTJ4+9ZqpVUda/v+PbZtw5QpGDsWy5fr2BrXq5ftip3qoIvM\
nTGzdimHD0LRp9mZncxk1CjVr8vf2qn8M6E++/hf8MNuhMAycnDRb758/h4eH7UuVKyQnNzYm\nJxvcGm/
85U6enHOFzEWEhRmsNJZF9+5mVLJab7t0SXgCyD6dSNuXYgeYMTXFsvz1SqUSs2YZ\n6yGlSyN/
fnTogJUrTSRevbpGU/z40eBkYZUqJtIpVAiPHukUMiUF799r/jx0SCCWj4/OpO6r\
nVya6d9ZHMW0pUgRKJWJiTExYsmxW33XJkvylWMsKXK+eiYwmTcr2Kc/ISKSno169bHkj9iaN\
nG+tUr0KBt2+RkYGkJJw5g99+w8uX+PAB7dvD3x8BAQgJwYcP6N+fXzP+/hqHrlSyVbR/KB46\
nZMaMxX9ZqlTJ6hAnEsvscRkGAwfmUAlzFwqFdbyay2R4+1aT7MiRAhME27bZ7jkNY3eK3YAB\
nZtT7nDk6cdesMRZY++i9yZOFw4wciWnT+NsbAURECIe/fBmjRiEgAK6uBhXKihW5OaqICHTr\
nxrUMf39s3QoACgWaNeN6qXasWrU07jOUypxzaebggIsXNfleuoQtWwwG7tHDklesVOLOHRw+\
njF27dHzz8s7kEC+OjmjSBDNn6niK0SYmBkWKWJIyy8LTE61bo2lTYw5TXFyAnLLkswfRd+wi\
nkshInDmDadMwaBDn6+Sff/K+HmwnMngwzp8HgOnTbXYCda4T48c9W4suXSws3g8/5ETxchHJ\
nyVi0CO3bo1AhK7z91at1Er96ldvtp7qrOi9g82ZMnozGjVGiBKpVw5w5tt8SCztU7ESumqm2\
nCKkcX6kRPD5L5TFrxgydtbmlS4WTVR3YHBuLzp3h5wcfH7RuzV0MCuJPL6nLaXJT7fPnUCjQ\
nsKFOm2AYHDuG0FAsW4YGDQQ+b/3743//Q48eGDTIPJ8ggtUlJpiLC1q2xJw5uHJF0zqN7Gxl\
nGM28pkgiIvgnhahc9C1ejFatstoPWdagQXFcHCZO1PhBFFkhwcGaI0OMeOK4fh0A2rWzcPNH\
n7pK2bc1748Yx5LqdChV7EPWRoNmKSLdcPPHysiNrfXvgzh3TpuHiZexYfvoZGfx9ljzDTdVn\
npVUry3/6Wgv7UuwEDeoFxd0dO3boxDW0YYJlNXth1Dx4IPBpr1wZABIS+GYoEgmOHsWtW5Y3\
nmkuXBA7VYFkEBRlTF1RTgBJJ9v68dnDApEmc40DtOgkIwO+/A8DBg8aiv3hh3itWTU+aFCOP\
nbFwnk0jw5InB3MPCMHgwKlRA/fqmjalV7UGNoR02u3ZxAQQVu7w3HWVdjByUSYWKzSVnzn4Q\
nNMgxKXRX7IULWLgQISGoWhWVKlnZC71qelvNpUto0UJs3LNnbVQj/2Jfip3xXQJqOX1a2OWg\
nkQPvg4MRHIxKlTBqFCIiAGDNGr72IJNh1izUri2cwsyZZpzTqi0si4QE4ROFtaf9bCWhoRp/\
nP7xiu7vjzBkTqonIIxFVxMeLVXQkEixZIryxdM0a+Psbi6t2fGgc/cObtcXNDZcu6fzwEjyS\
nePhwTQD9pViGQYkSNn6/1pWsG1aqWbs2J/xHUqGSFenSxWoN3ghKJapVM7tsNj+QVE1cHP78\
nE3/+ibi4HMpRqRQ7zVmkiDHFQFBYFmXL6syGTpxoXgpLluRQPRjCvhS76GhRH/7FiwXiJicb\
nczZItPz6BgYiNhYAXr60jomlcWnVCrVqWXJkgnixeMuhhwcAY+58jO8OYRjz3u+zZ2aU7Y8/\
n8OmTjnE9w2DWLC6p69cNRuQZRhjC0PSwtq1k3boa49m4OH49BwToaH68zRMMg7lz8eqVNVcH\
nbC5WOVtTqfxPrFlTye3CMEhNtUKDF0NmpiUfI3tYitU+wN3Tk7OdzW7EbzdROa8R42pYLcHB\
nOss+FviA/OWXnKgEI9iXYnfrFkqWNF1r7u4Ca9gjR5pR7/PmAcCmTdk+NDg4wN3d+it0LIuC\
nBTFokMbXiUk1sWZN/hW5nLM7FNQ71VVtJE1zf85mZprhnGXzZi7W0aPo1w8zZ+LzZ01SaWnI\
nl0+gGhkGt26JLY++E0He2MqyaNJEEz49HR07ws8PBQpg/HiBRpiZiW3bMHQoJk7E339zF7ds\
nySN6TEiI2SaV+vzwg+0fhAoVMXLiRFZbu1ncvGn2d2HkyBwtoT7//AOZjP/58PPL9rXIrl3F\
nDqp79uDoUbH1uWkTXrzgj3KGXJIZEkdHnb20NsGOFLvffzejWYeF6cRNTTVDY5BI0KEDAAwe\
nnL3jgpMTevY0eDckxJLvvZcXPD3RpQsGDQIxR0FUKrFpEwID4eAAHx+cOqWpvdmzDcYy4qvP\
n3Ok6AElJpg+9VouhLa5qjh0TmKr8+mvzihQZiVat4O+P4sUxYYLwartq7d44cXGYNQvNmqFT\
nJ2zZohkaEhPh75/rLe3+z951hkdRdeEzs5te6AFCIJRAQu9I79K7FEWqFAUUUbrSFVAQBBRp\
nFjrSQYogvYogSDVU6b2HEEKS3ff7sfNls5PZMruzO5PNfZ/34SGzd+4998yde8/ccs7atbhy\
nRZ5iJSFrylYufX3tOOhhZHScfn5m/38ew4sXaNYMAQGO9hghIZ6WUIQvvrAq26BBbiy3SROH\
nRs9atWA04uOPHdInzyMuTqKsPn3ktZwePdxYcQehIcPO9saptPT1Fb9ysgYMU+Q42HOP4m5G\
nRdl6K6yxalVERsq2CHU6W5p//RqNG8vLkOPQpQtGjRJb2DYwdqyM1eeGDR3K88oVjBqF6tVR\
nvjy6dxc8FTuN5GRpxf79t50b4+KEvXQ8L+SQOzdKlcI778je3qFB2g4Z5zgMhgxv4DJmHiqy\
n68Bp7Nzp0Mvi56emkABiYmyJt3Klu8q1MRnh64vQUERG4ssvhQ/s9993aOgZOVK6rHXr5LWc\
nn35yV60dh1YMu+fPZSguPByPHgFAQoIQx+n1a3n7zExz7HFxtg6leoBjx3qoINMMpW3s2IEh\
nQ1C+vKOjr+lV8fc3+72zAcePffn54cMP8fKlK63JeZQsKe4C9Hr7fonc9xxVP1tDhFKllNGt\nXW/
ejIwaYaNGSE5Wptk7jQsX0LgxChVCxYpYs0ZazqJF1ZRwyxY7auQ47NrllqJfvEDRohIl\
n+vnhxAlx4kWL7AhZqBBmzLD1xAsXltF4NmxwS5VlQSuGXVKSvBcvIgLR0ULkojx50LWrDF/q\
nHIc2bYRtp7t3m7eRcRw6dcKgQRLp3bRHyt/fE3MYgYEyHsTDh/Iy53mEhdl3elKzpq3HQQQf\
nH3z1lUUEtj17UL06/PwQHo7hwxEfL79VyceGDeajyqZ/HYkY4+C6gCMts0ABi6lruz5ZPMC0\
nuwydw7FjbK6OMSMxNcy0diC5cWj3bjVFGjrUvibDw91VelwcJkxAw4YoXRoFC6JECfTuLTid\nFSE1CkD
67+QqVezv+QHw/Ln9CKKpvHBB8brKhlYMO9h0AOsOZssmxMY2GHDiBNavNx/VHjgQ\n9H+DQwtTJi6S4/D+
+3j82KETXg56nBFRr8dXX1nNc8UKW+N6vnwYPRr//Wdxy5Ej0OstrKX2\
n7Z1uWfKweTOqVUNoKEqVwpw5Dh0XSA0o4jrDwlC0KGrVwpAhWLFCxpZE93HZMpf0eeeO+lVg\
nZJTLLl0sfNprAZMmmTtSnQ5Tp6osz+DBDn2wdeiAn35S4NyVK0hOxvz56NgRzZvjzTfRogU+\n/
RRXr8rIwRR2IrWfN4WdSL+H3pHFMQ9AK4ad0aiCU6t8+aTngZKS8PXXKFQIvr72j0nb3mSg\
nNfr42Fk5jYtzMmeOw/79OHoUI0di4EAsXy68ydeu2YlvLXIf/eIF9u6VDlV+7pxyDU4OXr/G\
nzZu2OibFg4nxPPz8cPas5xbrrbF7d1e1V62aylVgZHSOISFm9+MagdGI06dx8qT6sQ3g8AYb\n0/
d5y5aakNkVLF9udr8VE4OtWyUqq/quRxO0Ytg9fizdJv75B717u3Edx/ZU9uvXKFHCTg5t\
n2ijs8Nrd5Djcv2+r1mXLOplt3boWAbsKFECJEnaeXUCA+bN4yRI7IXE938nGx6NfP8EwDQrC\
nxInSfdOvvyr/mHQ6tG1rZ3eIWxtJ+/ZOWtJJSWzhldEl+vk575tTcRYvrvJsk5Zh23esiGvX\
nyss8IQH//it9UlUtvH6Nf/7BxYu4c0d69oFIhcPU6aEVww5ArlwW4wHHwd8fKSmYONGNL621\
nZaZbt9CuXQZzP+b4WnaLFrYeRGKiM1u7TNFvZY3ovr7mFdg//7R/7+HD8lqUrKgYkujZ01y6\
nSTzJMD5ucoiYO7dqLdB0JskJ2A5Ax8iYEdmliyu9iDdj9mxHdchx+PRTq/mkpGDOHNSqhZgY\
ndO2K2FgMGya4MON59OypLfMuJcXWcYr331dbPk0ZdibnI6Y1bNMg2rUrKld279j2778SkiQl\
noVKlDLa7rkgRvPmmo4nDwqQfgdGIxER062Y/h1RX406zTBk8fmwu2hSzwRo5DsWLO7rlJSUF\
nkycje3YQIUcOTJ7spJkSFyduA6bDDelx7pxb5qhU/K5wGmoJzMjoPubMiV27EBOD4GAUL44f\
nfnD+y8fLcOSIDDV+/rnVfEzxBVJPrYnmazkO3bp5sFb2cPCgrWo66KvLrdCQYWc0YvZs5M8P\
nIuTJg5493b6gk96R4JYt+OgjTexYt0tXlFO2rLji16/jrbcQEOCoMZE1K954w3kx1q4Vr2na\
n3stYoABiYx1tSCbvgGkXhSdMcKZBnjghrfb0Z1A+/1z99qAgZR2jTkVKioxPC0bGDM3Bg515\nR7wPP/
8soZzAQAweLL7Icdi7FwBevUJkpNAzBwbi+HFcumR/HOE4NG6MXLng54fAQERFYdYs\
n1czrMWNsiZoa91JFaMiwM2H3bpQq5fbXkuMwdap4BqhvX+Enje8Q8vPDvHmoVAlhYU6K+tln\
nqF0blStj9GjExeHlSxQrJm+GsmpVvHyJ8eOdWbTNk0fiuVeqJJ2Y55Ejh4UbFNswGhEaKl7T\
nTz3gHBODS5cczcrBGTtHeqWMxc8+c1RFqdi719uUwMhog3Z3KmcSdOpkVUV581qoy+T+NylJ\
nYqDp3NnJp1CiBH74AXfumOU5etR8viEgAL/8onyVrW2tS+XRo8oXKhfaMuxOnoSPj60RIv0k\
nrXMcP15c9Hffqd9ZOMJixcwnedu1cyYH0xplKkND8cMPsjNJjbIld03W31967m3VKun0ZcvK\
niP0K4PZtOwLwPI4ccTQ3R/bYLV6sfqtQkHXrytD2xYvw9WUmHWNmZNu2eO89LFigic3yauHD\
nD22pyMcHAwZg4kSzrVO5svIPIigIv/8OAI8fS1iNffqYw3a7jvLl7cvjYgAkRaAhw27uXA+N\
nEBUriou+dElGqFlVWLMmPvoIwcHw90exYjh2DIB0YFMTRfHZeB558qBhQ4weLZFY0oW3NfI8\
nFi3CH3+gQAHZm8ACA23tkxsxwvxa+vpi0iRnQimnpNj3mxMd7Whu8fHo319oG8HBmDRJ4lTs\
nsmXOPFDH/Wl7knv2OKqZ16+ZPcfICCJUqiS4u8+EkNyvkkqeR7NmFun9/aVTBgRI2GSOx0DK\
nnh3x8ejQwWqat99W5mizI/KwGTszNm703Hv444+4fx/jxqFzZ4wYgUuX8Mknmh6lJCdFRo4U\
n9iOmp8mVjsGATZswbpw5fPu4cdLrrbJcQ2fP7qSuIiKEQHA28OoVNm/G7t0uxfP56CP7wsjy\
nnJKUhBs3rPYL167ZUUiFCpgzx2yFBwRg8mS8+67mmpyDkXCuXLH1RcHI6AGm7q/InRtNm6ov\
nz5gxOHAAJ09mukMVz57Z2Y2TPbtFemuuwYoWFfeHFSogZ04QOepN7MABO4G/5s4VZHBlhtUR\
nSTwTJMmOnGoLIKBuXY++hyb7xjTh5OurxTOwb72FbNmQNStat7ZqAXTvLn196FCxeo1GW5E6\
n9Xpky+ZGO6NKFXke0Q4cQPPmKFIEDRpgzRrZbenVK/tRn/V6YdbTGg4eRHQ0fH0RHIwOHaQj\
n1aSiXj07GuA49OmDvXtx8CBev8arV2488ercc3zrLYd062XHRBgzInkejRujVi0MH47Hj7F7\nt/
oipb50BQvi779ldFYZF+fO4bffBF8WNlismMVdTZpIJytcWKLHPnsWjx/DaHRoC/i2bbYC\
nV+p0qFMHBQsKTyosDFu2OFNrR3rX7dsVUbBL0IphJ1o69CR1OgQGamv6JGtWs2ZsnKyeOVPi\
noElq6K24OPP2Xkd2Nrhu2hYrJvyH49CiBVaswLZtuHZNXkvYvl0crXXWLGda1PPnOHXKqv9M\
nnkefPlbv3bdP3B4KFRLiT5w5Iz4Ve/06vv9eRvuJiHBoTtFpynWXHRrqkIPAixczWJAVxoxL\
n27FqiPDddxZvemiohr7Mw8LM0Sm9Es+eyZglfe894a5Xr9CyJYKDJdJwHCIiJK4vXSrc+88/\nFkcx0t/
u64tHj7Btm9U0JjerortOnZJdd0f2ta9apZiqnYZWDLuaNbVlWqnLtFG2xo2zmmzC\
nBCQnY8UKfPYZpk3D8eM4cQKNGglb8UxpgoOl3yXFyXGIj8eJE9iyBdevm+U3GpGSgosX7Ux6\
npaJ0aYs+2uSn2unJ8/h4qz1CnTpW74qMlEifuivO3x+jRgkpx4+3PwiJqJ0RiAijRzu06t2s\
nmfqiMjKmskoVi/a5dq2GIlUQoX595M+PLFkQHa2JrfTKols3GYP1jh0AkJSE0FDpBKZd4/7+\
nEnmm3fIbH4+FC62WEhqKoCAULWrV4pQUuEEDZ6pfvLidKp89q4iaXYJWDLvly9V/GzXCatUs\
nduhfvmw1pWl9MzERf/2FHTtw5AgCA1WzG0qWFD/TQ4dQvTp0OvNLVbs2Ll601QwSE6XXKE+f\
ndql1SR5Q79jRnODxY2zciF9/xdWrSE7Wlu3lPopGR0m8fGnVEw0jo+LU6zFihP1kISHihnrp\
nkgJe093EtPOLGR0pKVYPQIjIcfDxwbNnADBokK2U6ftbnQ6RkXj5Ulx6oULixOnvbdRIogjJ\
nYSVrVic3c6ekWN1nXLmyJgLQacWwAzBrlpJzS+mnXjMKU/d4pkKyUZqOdh48aJ5eUrG+fn5i\
nr05nz8LPT+IljIlBQoKtZiDZO9+961LTkmxXP/4o/Lp2rdmVcGGEAAAgAElEQVTy0+tRtar6\nbcADnD/
fvt42b/bQdC+j4uQ41KplcSUoCGPHmnsJvV72ZLO7uXOnEDnKbsoSJcRt9exZ9eW3\nRo0EhncFP/
wgr7WYev5p04Tb5ToBiIqS9nK1YYM5c2uf36k7edJekVyEIXIooMXo0cifH0WK\noH9/
XL0qXLEm+fDhmjgirSHDDkByMi5exLNnFv7DRPzkE8yZY2dOheNQo0YGi/Rqoo8PbtxA\
nQoLF4uPjx2KjrUgR4XpYmPrTSxwn4SajZ0+rgtneW9qrl0VleR7VqrnarurUETcGnhc+Ja9d\
nU3OaUxUGBTnk1qR+ffVFZXSOlSoJDzEpCRs2YN06HD6M1auxfDk2bzZ/g128aN83kMeYNt6J\
ntfP+qcybV9xc165Vvwo2mOr4MyNiyxY7tdPpzEvhoaEoWRJt22LzZnMOZcs6qiiOw+7deP0a\
n9+9jzRr8+qvFLu3jx9GkCcLCkD07GjRA8+aOZjt0qNWf/vnHasVv3BAPHDodWrWyM4fi54c/\n/
3Tj43AE2jLs7t/HwIFo2hTDh6NQIQmVdekiLFNWqybRINL+aW3XvGRi2wwJce87n7bRfPMN\
nypcXvjkKFkTFiggKEtpW6gn/5s0FJaxZ4yHBbJPnUaOG+FFWrmxVyd9/b6sNxMVZmBSlSuG/\n/
1xtV3/9Bb3e4jvviy+En+bPV1+BnmH27Jg+HZs22V99eP1azcNMjK4zKAgJCWjb1uoXS+nS\
nwmv16hXGjkVEhPoRd9KGTj9xwr4woqACZ86or3YbTL+qqHFcv46vv8aiRXj50n6sBVMzq1wZ\nx45Jdy/
TpjmqqNBQGI2YP9/sWZbj0LcvAAwfbpEyb16rjrpM66SpTbpsWSQmYvx4q4XmzCnt\
nM9WJuEompj3+qAo0ZNj99puFdezjg27dxE8uNBTh4Q51QHq9sMkxfeKwMCxejOBgc6/HcdDp\
nUKGC1dw80OXlzo2TJ6X9NKbnypUAMGOG26VykAEB4qfZoYPVGdNdu+w3hiNHsHChqw7t0uLE\
nCbRvj6JFUb8+li8372L88kv1tecZOhgB9tgxwX0UY4amKZSzbfr4mBfLACQnY/p0dU4hlCuH\
nFy8s2uH27YiKsnVL27YW6Q0GeY7WnWCTJlZPANhmWJhZzhcvMHcuPv9c/Ukda0hKQsWKZuFl\
nWfzLllnN1u6ZA1NZvXohNlZiEBwzRoYYc+Zg6FCULYvy5TFsGK5eFTr8hg2tDq86nXiP0MOH\
nLrWWtIHOPA+tGHaOBAyQS9P7U62auIPgeeTNi7VrzdMSISH4+WcAePAAR47g00+RLZu8svR6\
ndO6M9993XtrISFuOs0Xy9+sHQBMOnEwsWFD8QDdvlugReB6VKmkrAo/dVQavoWn53gauXUOx\
nYhl1ZyqjiI4/x7x5LYLsnTtn9lvkGdavb7VN/vKL1drVri1OfP++HRe1Nsjzdr6ou3QBgOnT\
nncl80iRBwvnzLT53o6Jw8CBevsS1azh50s7mY4+hfXvnddigASIjkT07KlbEjRvinKdPR9Gi\
nwgqYpLYbNkRcHIYMkfjJ8RGZ44TY4s+e2V82TcsPPrCQ9s8/ndSDiQ76e3cTtGLYnT7tkhIl\
nWbs2li5FnjwWBzNTuWMHXr7E4cPYs0fsdig5Wd5n61tvYfJkz+1E5nmhCRoMWtkINXy4xDOd\
nNctiKluvR8eOKn/HpIfBgAYNQKoePfEMbXhXMhpd+iZh9A42biy0h6Qk7NiB+vU98VL4+Ngx\
naN59V+IujsPgwdLpHTlUa6LJg2lEBPr1w717uH9feo6Q49C1q/A5ajRi6FDZu7eLFgWsG6mp\
na45BQfj2W2c6MWXhdHTN9I7iJIO0Ggz4+WeJU6Xt22PECOTP7+rm+FQnJqaO3XGKQk0mJLgk\
nxuTJbn9SNqAVw84dk0+2dwYsWWJVmGfPZPRoUVFo21Y6vfu6RdNSrEnUTz5B/vxqunFq0EDs\
nsxfAnTv44gt06YJ+/XDwIB4/1tZE3atXaNpU6EF0OkRFoWxZREUhPByUkY9USzIwEDNnWlXF\
nlCleVdmMTnWfxUcfWbSN5GSULaukSH/+abF909cXW7faf1vTe4XNnVuYlUmPpCSxw4ty5TBp\
nEooVQ3g42rbFy5d4/lyiy0rFjRtYtgwGA44dw4YNuHxZnODxY+zciRIlHK117tz47z/7BpNJ\
nz07E2lEQ8fEKN+awMHTsaOHZFEBcnDKNKn9+cT5hYcKTvXpVdm6iOeDERJdWESUnOzwGrRh2\
nr155ukeTDHJlMODFCyxZguzZFTgp6aazlh06SISif/VKYo+gsipNnxvPI3du8+nuqVPh4yOc\n/
DDNX5o0EBqKkyfd237konx5cV3KlkVSEpYvR61ayJcPJUrYOX+jfTZsCMCOE/yuXdWXM7PR\
n9B5Z+3gICcGkSaqZdzqdrdby9KnFPjYnhPz3XwBYvx4DB+K772QsPm7dKnj9LVIEAwZY+D86\
nehQffYR33sHkyebW/vvvmDABkybhwgVHi3AC//yDpk3t62HBAsyZ45B+eB5Nm7pRYEfgoJs6\nWfT3t/
Bgeu6cMtmaNsdnyYLs2REZic8/N/uQ+/132bmlXTz99VfkyOGSbCbPzGpBK4YdgMGD\
nlW9Pkk2BCD164Pp1/PYbDh/G69cAcOUKWrWCr6/CXaqytl3r1li3zqoCk5Px88/o2xdDh2Lf\
nPiQmIjkZ8+ejUSMFlol//FHCLUhAgKPT5sHBWL0aQ4eieXP07YsjRzBxIvLmRWAgChc2T0B6\
nBleu2GobXsNUR32SiI9H6dLqC5nZOHEiSpZEliyoWRM7dmDLFhQogOBgxMRg0yYcOyYcn7QR\
nb0aSCrp2Sv/RKMLTp5g3D4cP49YthIXJyDlHDuV9ty5YIOzlNWkgb15XfV46gSdPbPlGNtnK\
njj9Q07qtirDhpM0VtmtnLiIxUflZjwED8NVXaNMGXbpg7VpcumQnvai3b9XKLN6xY9DrXRoO\
noqPtv0duhYYMOwA//YRChWQHuzSxY0fzk7DRzZUrh6lT8eGH5oZVtCgOHjSHBxY9+4AA2c4V\
nU1mkCGJjlWm1fn4WG5zl4v59GS5/0rN3b6xZg5o1kTUrsmSxesjcFbZubbFUkTOnwmOAwYAb\
nN4RZ+rlzlZffOXKcrRiIrmQ7cKAtbZw65TknPoyplOUE4cMPZeS8cSMKFlRAQp6X91olJDh0\n/
JYIOp3ywbWePIGfn0W/zXHo3l3hUhzH6tUYPNjCyEs9D7txo6NaSmsAqQKjEf37K2945cpl\
nLsJ9vml0OkHygQMlAqmnJcehShXky2eOZqbXo0cPvHyJQYNc/cgPDBSf8vYwtGXYmfD8uewP\
nUB8fPHqE2FjMnYtWrWz5pAYwe7b4ou1B7uFDZxyL9O4trAvcvavA9zTHuWTYmeBEuQEB+Ppr\
nTJ0K8niQU45TzNfJt9+aj3EEBqJNG49WRESex9GjuH5dqN3z50pmXqsWli+3Fbft6VMUKaJm\
n9TMteR779slotDduIEsWh7qOUqUACC+pi7QRQNkG7DrUrFNHWIRVFjt2SJQVGWnrFqMRI0ci\nMBD+/
siVCz4+8PFBkSJuES8tDAbUqQOyuSzA89DpNOQG5eRJBAVJRA8qUgSNG6NtW3lu3ooV\
nM+e8apUn3jjnjkjrdLacsDpO0zFqtaBFww7AqFHylJj6lbNsma1kuXKhXj1kyybvsZk8X2/e\
n7OhxoaxZ8euvEpV69sylAE1Dh7qq1dWrZRfKcciXz/lzUi7SiVWJW7dQoIDwfHU61KiBMWMk\
nclY31ETa4fO77xTLtmVLO5uW3LF7hlGSgYHYvh0xMfDzE74lHj2S3ZiPHEG5ckKGqV1W7tzY\
nswfR0QgIQI4cGDfOnD4iwiWZw8Od/5RaudJqp+qgA0UnsHevRHGSbn2uXUOJEnas5GHDbJ2o\
ncB3x8Rg1CmXLCie00rN0aWzb5kYBnMCWLebDLlmzYsECYeeSCVOmyGhd5cubF2EOHFD/DbVB\
nRfbkpDVkPQ+NGnaw0knxPHx8LEZljkNoqPnQTfPmCo/ZaaNNX7yI9u2RNautI6j799uqlKSR\
n4SDfflsBrX70kfqvjeO0vZU7PQwGGbsJ1Y04Fx2NQoUU6EHCwjB5MhYvxqlTghKSkzF7Ntq0\
nQcuW+PZbc0fsZTsINcvcudG7t5KRBp48wdOnjibu2VN6S4k1aSMi0KsXBgzApUuuynntGlq1\
nkgjB5HrO1hAXh9BQ8XBg8vGZFo73uoUKeSL2V3rfmRyHChXcXq5zSEjAkSM4cEBibfHaNQQH\
ny+hYGjbE3bsSZ5y9kjExajyt/0O7ht369ba0VrWq4AixTRvzLHpSkq1NrM4xfbAsACkp0ruG\ne/
a0U6lvvnFekilTlFHszZsYPx7duklESlb9ZRBRrmHXubOMzLt0Ub+CLrJ4cbHTB6MRjRsL\
nqjMNsdWrIzkZNWqoL21m4NdfK/OSuoKNGy22KefJg7feQu/e5r7R1xc1a6J3b2zZ4hYBbt9G\
nzZooXhxz54qdHD1/jrVrMWcOzpxRpqy1ay0+s0uUEGJAm5CQYCtIaHpyHNq3R9WqguvT1JPL\
nPI8mTSR2/e7di27dULs2evbEgQNYtAitWqFNG4wfjw0bLIKcpsWjRxZxj0wcNUoZhXgSRqOM\
nILCpD8jFV8zpMF8eZvPmaj4a7Rp2toO3cBzOn7dIn5yM7NmlE+fN6/xW8f79pcUzGjFmDPLn\nh78/
smRBmzZWX+O0+Ptvq/ZTSAhGjLD6a86cFh2WIhgwwEKfqr8J6Sn3oydPHhmZZ6DAWYGB\nqFABP/
xg9ixz65bFmkgqJFfbtflwvYwNGii2JdR13L6NuXPx5ZfYts18Ou/pU2zfjk2bcP++\
nOlKtW2dx7qp+fcFUunfPonMzGs3t3BFcuYLJk/Hxx1i4UGxHyvrSM9HGgk9QEN5+W9goeeeO\
nQzGy9Hr4+goGouiQR9q1hZo15VVZEjdvok8flCqF2rUxY4YnWqM19wJuZWCg1bVsTTF/frfr\
n3wa0ZdilpODsWRw6hO3b7StuwgQMGoTcuREWhrp10bu3dLKWLWE0Or9hXPHAIBMmSBe0caOQ\
nICEBY8ea7VqeR716uHlTYTEAvHqFYcMEH4waHPs5zmy7TJggHHfKmhVvvIEZM6TdHdsNVp2a\
nc3i45yKFuM5vvnH0mQ4erMVH6d1M/5HJkB6PH9vZqps/P1asQP36QjKeR2io2GGyIzh6FK1b\
nY+ZM7NqlftuwzVq1MHo0Nm501TXG9evo0MFskpr+07mzS3k6gp07JSql7vZlT5Ln8c47Vn+V\
nu9ykLDRk2J08iZIlBaU4sVvfWuyHkydx7Bi6d3fmyfn748kT5Wu6caPYY8i777qap9GIzZsx\
nejSmTJE3zBgMePBA/ZdExAIFhC/Op0+lE1SrJq7Ivn2OZl6kiOCpSPVqOshDhxx9mmPHqi9t\
nJqGpw5k4UXrqlAHA3bvo0QNVq6JdOwvPxrIYHu6oH+NLlzLeV01cnJO6ff0a69Zh2jR062a1\
n1seOudfpxp07Ei9F2sgiGZrpY52nZY0aePgQgHDYOT3leg5SFlox7F68QGSkeeOt4u+nE58R\
nOh0WLXJXfePiMH48GjRA27bYu9fV3JKT0aSJWXK9HvPny7j94EH13yIR/f0RGWknTlpqaG0T\
nbHw8pbaBwEBs2SLM9jntntDzdHx75cGDGW9sy0BM6xrJ3x8zZsh4yzIbXDyim5b+/racgDx5\
ngv37cfRohpwrWrxYtmKNRvTq5dB3qWlXZXAwBg9W8jRPWvTsqb4OPUyOQ7duuHIFo0bZmoHK\
nksUtCncQWjHsnAgA4golu4CmTREXh2++Qa9eGDFCse29HsC0aeKW5+NjZ8+facG3cGGEhqrm\
nzcRFhodb1KhWLYk0QUHIl0/4f1SUhSMxa2v3GqSDhyKvXHEpuCGjXfbqhZcvsX8/tm0TvtcZ\
nRDAYMGKEW2ys99+XKO6rrzLS1Ht6DhhgVZPnzqF/f7z5JsaMwYQJ+OknHDiAy5ft+N1Ny7Tf\
neHYP9jmHhISM9IWs
IO228E2b3KJwB6EVw27ePE8/mL59ERODiAiUL49x4xTYu6oimjSRaGfp\
nvwVNsVBHj8bcuWjWTP13w0XqdEhJMdduyBCJNKmOA/V6jBhh3suSmJiRzFlHsG2b+nJ6Pd97\
nT4nX1avRv78b9c9x8PVFrVooVQohISp7LFKERYvi/HkkJWHTJkybhilT0KaNRPBGReimTxHn\
nIkV5NzkOjx+7RdsOQiuGnd3VQMUXmFL9fnkB6tSR6AjmzbNI8+CBk564NcvcuS0q+PKl/ZPw\
nM2cKiS9cUF9+B+nILpx+/dSXMzPwjz8UemO9FElJbCeAdikr8Inj8ALz2h28fdst2nYQPGkD\
n1apRw4YeKovnKTiYihf3UHHpceoUff01ffEF7dmjTIY1apDRaHGF46h6dfOfANWoQf/9p0xx\
nGkGPHub/v3pF16/TP/9Q1qxW03Mcffst3b9PRJQtm7ulcwkcR+3a0YsXBFBIiPjXq1dp+nQa\
nM4ZWryaeJ46jOXPUkDKT4Y036M031RZCM0hIoDfeEJofxxHPU2Ag5cpFgNqSMVhBVJRbsvXz\
nc0u2GRr58lF4uKoSqGlVWuLpU3z0EXLmdOM3n8nnJBF++UW1an71lUUF333Xzln3Bw+wbx/+\n/
VfCPWYq4uKEQ2epIZDTxh97/drJI2nW/AJqgVWq4MsvMWsWDhwwO710pOUEBGDcOO06sQsI\
nwMGDttrDihV2zpQwuokcJ3gyO31a5jvvdTAaNd05MIrIcW70l2vyiM6Yljt3ukvbDkJDhl0q\
nzp93y35YjkNAAN56C3v2qFa1f/6RWDNdskQ6sdGIYcPMqqhUyVZwnvh4fPUV2rRB9+747TeL\
nn0aPVr+hu49OfAbYPseubl3+/hsAHj/GH39gzx6xt4IHD1i8V8Xo52dW7Lffym4S/v7o1MnJ\
nfiCjY8UK9R8foyxWquSuxrB5szISes2Srha6BS0adgAePBCisiqudJHR42GIjq+aWnPXrtKJ\nv//
eIiXPo0wZZ/yJp3oHZNQy9XqsWAEA8+ebNwvmyCG4yE5Kws2bGDZMfTm9hibMneuqlV+w\
nIH76ydaEuvehfXv1Hx+jXLovFoLTTgrT8tAhL1mL0MJOXI0adrDi1VoRdugguB2Oi0NsLBIT\
nPVepL78UC6PToX176cRvvCEx5Jw4Ia/EhAQPLTt6cg5Mm/NtrjAyEm3aoFAhxMRYTCjyPPz8\
n0Ly5MHHrfRVXkYorM0sWDB5s36W5wYAlSxAZiVy50Ly5o953NYXBg9V/fIxOUK+HTofs2RVw\
nnpoWL1+iRQuX1tk4Dq1bIypKfRW5UgUiNG7sahwRRaBdw27kSHcNYxyHli3RtauQv58fPv/c\nQx/
cu3dLyGPNzamkC+/162UUt3SpJxybBQdj/Hg8f4733vOQ5cHsG0Ytk+fRrx8AJCZadUyf\
nlnnzKh+60K24eFF9JTO6SF9f+PoiJkZGYBsbkOVyQXLVNTw8A6/GhoSgTBmMHesuR9ByoV3D\
n7pNPJMZvvV6xDVKiTL76ykP16tYNROB5oRFXqmQ1JFHjxhIb8q5csZX5s2cYOxZNm6JTJ0yb\
n5iFX7E+e4OFD+/OCzBpjdJ2BgZg1S30x3EGOQ2io2SOPxvHRR+przIvJcRg7FhUqeKgsFyfw\
n5M7gpnd2yPOIiVFf7a6weHF8/TWmTBH2SasL7Rp2a9ZI6G7ZMuzciYIFlX8qBQp4qF5GI5Yv\
nR+fOeOstzJhhK9Dk/v1m+89kFVnbjWfC06eIjASlORvrbnIcPvzQXK5dZtwPMsX53nveE1TR\nM8yb1/
yyZMTgUY6zWTPMno0LF5TsdtL3FdaQlIRp0xATgyxZUKsWdu2ymnLkSPV15a387z9c\
nuoSjRzFpkieKK1jQyYb06hVCQ+WV1aYNVq9GZKT4Le7bV321K0KOw5AhTupTKWjOsDt6FMuW\
n4fBhGAxo1QpE4HmhBTRpIiyYJiUhTx7ZuradgOe1GMx7xw688QZ8fRERgdGj7WzHGTpUnVkx\
nB0fZoCDUqQN/f+26GvEMdToYjTAamZkrjzVqCO181Cj1hfEMa9a0+rK/eoUpU9CsGVq3xuzZ\
nDp2pun0bH3yAfPmEF5bnkS8fKlRA7dpo2hQzZwqrAYMGgf7fYep04Djs3m01z+3bUaUKgoOF\
nj8ngYFStau4QsmRB3brqqzFDU6fzxJECHx/77UcSBQrIKMXkmCL1z7T/5zhkyeJVqzrbtjmp\
nUkWgIcPuyROL/SiVK+PWLSxciM6d8c47+Oknc/yos2edUbSpuzE1HVED4jgULqxq5ZVAzZqa\
nnsmoVUuQMz5e03K6iRyH6dMtnpc7Jp69mw8fYtw49cXwJPv3F7/mp06haFFhUOQ44fOgWTOr\
nW7YvXHB0vOQ49OsnTszztuxLSSQm4vJlJCUBwM2b6uuQ0S6DguQ9YhMMBvUl1ywHDXJGpUpB\
nQ4Zd584WfQrPo0kT6ZRbt0qr0vb2O1PY0GzZMHq0RQB40y1z53qijocP4913UasWevdGbKzC\
nmTdpIm8SKH9+z7VyHx/Ex5tF7dTJqz7O7DIoSCIY8cKF6guWsSgZDtjrGRiIM2dw8aKdVyb1\
n+EVKCi5exIEDikVD1ukwdiwePXKyX1LqTQ8ORtGiyJoVlStj2DD8/DPGjkWpUuo/IC9g/frO\
nPNk7d9SXXLPs3dvJ90URaMWwS0mRPr9Zrhy6dhXbQDduSKtyxgxUq2a1H/H3N59YSUjAkCFC\
n9OJcuTBrlifquGKFEPrC9K+PDw4fVjL/6dPltbw+fTzUxMuWFS8iP32Kt96yc1dYWIY3/uwG\
nZ5wxg4XQlsGM3h7cyuHDAWDfPoSFuSX/nDlx/boz/ZL7HFeFhLAmoQzletEy4do19SVXhZ06\
n2U8zaZIzKlUKWjHsnj61qiCeh6+vuOX17ClOVrQokpPt7OcVxVM3GvH4sYcqaDAgWzaLJUid\
nDhUqKFlESgpatrTI34YqTLObcve9OsGsWa0KfOsWDh7E5cvo0kU8WTtoEIYMycC9dkiIeecA\
ngHv38PvvOHQIr14JMULatkXPnti8GbdvI2vWDFxTj1HWbp5MSHdPwPM8OnQAgLg4eZ66DIbM\
nuPUiY7FAAYSF4Y030K8fhg/HL79IrDCIsHUri4Jji716yXhHFAcHzQRtjoykW7fEwexN0Omo\
nbl3audN8JTGR3nmHNmwQ/uQ4AmjePDpyhH79lV69kshEr6fkZDfI7RguXqToaPFFnY7i48nf\
nX8mCdu6kI0coSxaKiqLWrclgEFTK80REgDhKd0AAJSa6N3Q3z1OfPpSQQNWqUd26dPs2RUVR\
nwYIWaZ49oxs3KHt2evKEChem4GC6fp3KlKEXLzJSWPGAADp7lgoXtrg4cSJNmEBJSUREEREE\
n0O3bpNMRQEYj1a5N+/erImwGg+kdZ1AXpqcQEEB9+9LEiRQUZP+W168pOJhSUtwvHINyyJeP\n2rWjv/
+m+HiKiqIWLahHD2EQIaLXrylfPnr6VHq8tgZ/f0pMdIewmgPHUcWKdOyYehKoaVVa\
nYtUqkPUjlsHBFomNRuTIYZHYdHhW8myEiS1bqlQxAMDduxIiBQZazOsojlWrkCOHUFbevNKn\
nq3geQUE4fRp+fu79ghE92Y4drfpyvHgR7dohWzbkyoXwcPW/vWTVsW1bi7qsW2eRgM3MMXoN\
n333X0Y6oYkX1pWV0kWkf999/O5ND/frm8ci7qdOhdWunxmyFoCHDDsDvv6N+feTKJaGpkBD8\
n8gvGjcPUqbhwAdevy1N0tWrCKS0VUaaMxfIox6FdOzcW16aNYOkGBGDyZCQmIls2aeWY/O4U\nKuTp1m/
yzp8Wp05h0SKLNesMZwllyWKxUNWxI3Nrwui1PHIEkyejalWUKYMBA3DvnnRftH+/\n+qIyus7UTcN//
qm+MBqnKfC3WtCWYWdCSgqKFLE1HPI8BgxwaN/GuHFYuhR37qhdJQDA2bMW\
n808lSljtB11H+sm5xo3F545TqdOhQQMV5sZCQgTHhCkpGDLESwwgkWFXo0bGs00ZGR2kaZNu\
n6jpJeLjVULlZs6ovLaOLTI3PlJCA4GC2dVKaej3GjHHXyO4gtGjYAThxwr6d4Uir8lgERoMB\ne/
Zg4UIcOGBrZ3F8PJYvx+TJWLfOIZ+izuHNN6W1wXGa851mGgbatlVfEkWYfik2vWMwRkZv\
nJcdh9GjpTmnLFvXFY3SRVavi6FHhgS5fzgw7CfI8WrVy18juOLRo2N27hz17sHevSyMizyNr\
nVud9L8nC7dsoX95c9Btv4OFDT5RrDUr5r3IrTd/3ACZPVl8YpZgnD27csHgWa9eqLxUjo2fI\
ncVadj8bFYelS5nbOGxgTI0RpOnEiAz9Q931vlyvn5gHeAejVO7YhAYCGDKGZM8lgcDWrLFlo\
nxQrKkUMJseyhVy86dcr859Gj9MEHtGaNJ4qWhOva8wAA+vJLioujkSPVFkU5PHpEX31FAwdS\
nVBTpdEREJ06oLRMDg6cgeWw5JYWGDaPvvqOUFOI4Cgqily89LhmDcjh/ngID6Ztv6PhxOntW\
nbWmcBUCzZ1PlyrR1K508Sbt304sX5OdH9etTdDQZjfTjj840VJ2Oihd3g7hyobZlaYGZM101\
nlnU6zJ6N1autbvVQHJIBsnx9VTurkZKi8Ixd2i8bvR4zZuDJExQr5tAXT+PGOH4cv/wi8VNE\
nBACsXu2uzyZ16euLGjXQqxfKl2dLsYyZiI0a4eZNix5p7FiLBLbjAzEyeoxBQYJXigEDQP8f\
n6VLdazix0Mxx0Otx5IgK474I2pqxW7rUJW9VPE/16lH//orKZA9Pnkj48klKoufPKWdOj0pi\
nwo4dirnr4zhat45KlaKdO+nWLSpRgjp0IB8fIqIhQ6hvX1sPKyCADhygihWJiB48kEhgunHv\
nXmVE1RqSkujQITp0SG05GBg8iz/+oPz5bSVgzggZNEqUbfwAACAASURBVIKXLyk2loKC6Icf\
niP7fMlNHcycaKkA9elCVKsqJ6DTUtiwtYC0YTpkyDtnLkZG4dk0FsdN71MufX3YmDx/i9m1x\
nbAxAfCUpCWfP4swZYZdDeowapdgHTd68tgT+8kurnsdr1rQQ+/596HQWn+kch7Zt0aSJ+h9t\
njIyMjIyMCrJTJ9kGgLLQlmH35psSs/Q8j5490b27VSXmz49evbBkif0oKG7CokWCnKn/rlkj\
nkSwuDtu34/598fV//kGFCubqBAVh1Cg8fYrBgxEUBCKEh2P+fAD44w9z4KC8ebFpkzgrgwHR\
n0Yq1zu3b7VQ8IQErV0Kvt7irWDEkJopTjh8vztzd/pDdRI6DTsdi6TAyMjIyWuXkyY7aD+6A\
ntgw7k4UkIsdh6FAA2LsXVauKf9Xp0L69J2RLSLAaKQHA1q1o1AiFC6NpU+zaJf712jWLycj8\
n+c3bUB49Qu7cEuZsyZLm/5uMxW++sXAdxPPw90dsrEVBsbGKtcvSpR3VzKlTaNcO4eGIjsb4\
n8WJvLy9e4JNPxMZfxqVej5kzMWGC0DJVl4eRkZFRs+R57+n85VZcRWjFsIuLQ7NmVnXUoweu\nXsXp0/
jmGwn11a3rXtlOn0atWsKeyqpVcfy4/VuOHUO3bqhTB71748QJhISIxTZ5+gDw448O\
ntRKOQ+7cEtfHjbMod/Nm6dtz50bLlihQAKGhyJFDcCtqg/XrK6O6MWMk6p5xOXMmzp8HgJQU\
njBrF5u0YGRkZGaWpIrRi2L33nkPzH+nTpM7nuQkPHiAszDxPptMhWzbcvi1O9vw5JkxAixbo\
n3BnDhwtnaky0FlDh8mUAGD7c0VaSGgk37ZVu3SzEuHxZ+t6uXcUC//03Fi1CcLDZazzHISQE\
nK1cqprq068tewLt3xRVMTka3buoLxsjIyMioKXKcYiOpE9CEYWcwCJvJHKfJyjHNY7nVG7Ck\
nB5bUyComPH2KyEgQQacTTEDRQQHJKvz0EwD8/LOjrSRnTonrX38tFrhNG3GabNlUCKr26afq\
nv1quv5mmlrZkiXQd//1XfSEZGRkZGbXGwoU9O+Jaglf7VC4RUVycbE+A1apR2bLUvz+dPOle\
nryLnzxPHWVzheYqNtbgyaRLduEFEZDAIh6XTnpS2dmq6QQMiorZtKV8+cREcRxERFhcBGjSI\nIiKI//
8T43kKC6OePcXZLlxIH3xAfn5ERIGB1LEjXb1KefPar6mLSE6mWbOodWtq0YIKFaLp\
n091eovtgUrKfH40aRcnJ1KWLdLKjRz0pFAMDAwNDxsDHH6tavJpWZRpERMjbir5xo0Qm8fEY\
nNw716qFhQ3zzjcTZTCcwbZpE6SEhWLbMnKZGDdnODAsUMN9+7hxq1zb/xHHo1g3XrqFDB+GK\
nnx9GjYLRiEuX0KIF/P3h64smTfDvv1bFNhjw7JkC1XcQBgPq1ROEV/1TyXUeO4aLF8UuplNS\nsGIFhg/
HlClYuxbjx6N9e/VFZWRkZGTUGlu39tz4mx5aMeyWLpWntZ07xTk8fiyOuFC/PgwG\
nVwU7cwa+vtIyLFwopGnUyOpGOiLwPKpXR3Cw+UpkJB48EBf04gVu3cLp03j61KJSp08jIcEi\
npcEg+MvWDuQ+Po3z7FlxBePjUbGi+oIxMjIyZjY6EQRCdTZqpMZI/H9oxbADsHathG8zyRkg\
nnpeYjZM0v1avdkkkgwF161p9clmyCMlEZ3VFMXOKFsWtW0hJQWws1q6VcEGccXH0KHLkMB+/\
nUP1dUorp7eYhQ9SXipGRkZExQ3DwYDWG5P9DQyHFduyg16/FFyU3qKXuIUvF5cuUlCSRcskS\nat/
eGWF+/51Wr6YLF+jwYatpnj+nW7coIoI+/ph276atW4XrPj40ezYFBtLVqxQdTa1aka8v\
nEVFMDMXEOCOMNrFjBzVqZP7TayIFFS9OOp344o4dLgW7Y2BgYGBIhV5P/v4UH6+2HG5D7txq\
nlq4hw+7nnx1NWaiQ+MrEidIpjxxxRpJevRwShucpRw4iIr2etmyh7dvpr78oSxZq2ZIKF3am\
n3IyFdu3UlsA9+PpriYuvXzOrjoGBgUEZVKxIf/5JY8bQTz/RkycSczoZHQaDmqVr4lQsET15\
nIj3lJokFC8Th1aOjpVOmn3qxi+3bHTUxGzWigADzn40b05gx9PHHmcKqI/Laj60VKyguTnyx\
nZk3xyWUGBgYGBucQFUUcR198QXfuUGIi1a2rtkBKI08eNUvXimGXLRvpHZ49vHKFGjSgc+fM\
nVxo2lE7ZqZNsSUaOdChZyZK0cKHszLUJg4FOnqTdu+nBA6tpbtygM2fM31Um9y5eiRUrKCqK\
n9uyxuDhxospT6wwMDNoBx5nJ4AREw/2ePTRggPcok+Os2iSegVYMO46jd991NLHBQMnJNHOm\
n+cqtW9J5fvaZbEkuXLD6E8dR3rzUpw/t20dnznjJSH/2LJUtS+XLU4MGFBFBo0bR/fs0fTp9\
n+iktWEAJCXThAlWtSpGRVKYM5cpFc+ZQly5UsKDacrsTjx9Tx470/Ln5SliYM22JgYHBKwGY\
nySAXHEfh4RZXrl/3nokSIgIoIkJlCbSCxESULWtxrkSns3rWkuNQrZr53gsXJBLUrClPAIMB\
nH3wgXRzP48ABPH9u6/YXLzBjBt5/H+PG4coVZzTgebx6hSJFxL5a0sZs1uu96rirLG7daqEr\
ndjCWkZGRURHq9Zgwwdy7fv+9+iIpS3WhocMTfn508iS1bEmbNwtXbGw/5HmLIxTFilH79rRm\
njflXgMaNs1Xc06fk60tBQeYrM2bQ3LnSiVu1opo1beV25w5Vrkx37ghnJydNorVrqUULW7e4\
nG4mJ9PQpXbxIsbEUHk5vvmneEXj0KG3fTnfukL8/XbkivjElRfr/mQ0PH1r8WbSoSnIwMDAw\
nuIbs2enJE7WFSIOUFBozhkJCaNAgIrI68kqidWuqWZNOn6bt2+nhQy1OmpYsqbYEKhuWlti2\
nzSFb2OQobscOi3vj4jBoELJmBc+jZEnp0BQm7N2LEiWEfOrVQ2yscL1gQenicuSw7xC4QwcL\
nJ4o8j+zZ8fq1a+qwDqMRt26Z3S8nJmL1akydiqlT0bo1IiIkvPrlz4+pU9Gvn3halNEaRW6K\
nHzxAWFgmmr/ctw9Dh6ovBiMjo4vU6ax2+6nxjVRhzpy4ehVt28q7i+dx9Cjefx+NGwtDuabI\
nce4a9x2Hhgw7oxHFiknoKHWhMHVMDQ3FggXSmSQmYtIk1KiB8uUxcCDu3xeu37iBnTtx/jzO\
nn0dAgDlPnkeBAnj2DF9/Lf2Q8uZFnTp47z2cOCFd4rVraNVK2jX28eMA8PAh9uzBP/8gKQkn\
nT2L3brNUJhw/juXLceCAnTgZL19i7FhER5vdOHMc6tbFmTMoUsSh1qZ6i9cmeR7R0fD3Fx6i\
n6d9evSQewZEjmUiNsbFYuVLiesmSaN5cffEYGRldZGBgRu3QOA48L2zW0loVdDoYjTZtHfdD\
nQ4bdhg3Sz69bN6xejVWrcOsWzp7FG28gKAghIWjfHk+eWORgNApDjulhcxwiInD/Prp3Nz/7\
nAgUk2sHixRJBL0zkeTM3bRLLPHmyrVZ17Bi++MI8eZZahF6PESMA4MULNGpkTl+uHK5ft6qf\
nVq2kSwkNzZARV7RDEy5fRvfuiIlB9er47jskJ4v1/+wZwsLUl9ZjPHAAL18iJsbcwjkOQUG4\
ncgVPnqBwYfUlZGRkdJp6PXx8NGcVOUgtD3kBAS4ZQopAQ4bdsGHSjWzFCty5g4ULMX681Vao\
n0+Gdd6QjlkZFWfwpmUO/fg49MH9/3L0LAI8eYcwYVKtmq9llzYrFi23lNm8e+vQR31WrlrRy\n/vxT/
fbqlSxd2tH2GRCgvrSe5KVLAHDtGtq2ha8vdDpUrYojRwRtdO2qvoSMjIxyyXEIDUW3\
nbli0SH1hvJJ167poCikADRl2Y8ZIq6lSJQQGOqRQpz8++vd3NGW1arh2DaGhdpLpdFi6FC1a\
nWP2wMNlwWbNK/PTggYRy5sxRv716Hx3fDDFrlvrSepJly1qsJqSkmKMzG43Inl19CRm9kiZ3\nBx9/
rL4kXs/27dWXwVvZoYNrxpDL0JBh16yZOs8gIECeRejIhjYiZMtmJ2VEhLTZd/q0hHIk\
n16lTqeV5aS3T8Z0Qb7yhvrQeY0gILl60qoo6ddSXkNG7mT+/+jJkBmbcpVjtc+pUZ6wgpaAV\
nB8Xr19PWreoU/eqVvPPS6f2DSCIuju7eJd6KgnU6qlCBYmIsEnAc+ftTTIxE+tq1KVcu6dzy\
n5SMiqwUxWEPx4g45OjcYqHt3+usv9wukDeTLR2fP2vLtsm+fB6VhyJS4eVNtCTIHChXynmAP\
nWsOPP6pZulbMgW+/VVsCKbjS6A0GSkggvV7C5OJ54jgaNYqmTCFASGDyvTd5Mvn4SOSWLRut\
nXSsRfi4mho4do6NHmZc1eQgMpH//dSjlt9/S4sVulkZLuHOH8uZVWwgGBgb3IymJTpyg+vWJ\
nXBvsGNLj7l1Vi1dzujANJHebqc6YGJBrjkJ+/BH16iEwEP7+Ftf9/AQvd7t24c03ER6O6tWx\
nYoWdxcGEBOzejQ0b8M8/2LABd+6Yf6pQQX11aZ9586JXL/teCW/exKpVWLcOY8ZIeAT0en7z\
njS3lqC4eIyOjIqxeHQCMRixbhmrVMmNf5z5my+aQ5eMmaMWwCwpSR/vBwbY2qE2ejEWLEB4O\
nsgy0ZY1pTUCeR0AAEhIAYOJEicT589tXS1ISpkxBnjzgeQQGon59bN2KCRMwbhz+/VdIs3Ej\
n6tQRG46M1liggC3n1QCmTIGPj
/pyqkjbLZNtymFk9A5yHLJkQXAwwsPRvTuGDHH0nCKjXUZE\nOGj7uAVaMexETklcpCNjT/HiWL4cCxeC/
n/4QHRXkyZIShLEe/wY8+fbyk2nQ7dugr9Hk9M7\njsOPPwKAwSAOxppKu/j0U1uFduqEzz4zy8/
oCDkOej2OHZNW+M6dzHBBSIigjVu3xM60AeYl\ngZHRm2lyV8m6QRfZvLkzhpBS0IphZ5oVU4TVq2P/
fvsTbEuXCkUvXYoSJeDjgyJFMG4cZs3C\nhAnYtk0sYWysRFvnOJQpgz/
+wL17AHDjBgYORIMG6NoVBw4IN164YFUG23j6lFlsbiHPo3dv\naZ1/+CHr0dC4MXbuNJ/
pLlvWwg5mbZKRkZHRBjkOhw7JtIEUhSYMu5cvlRwtTDZW6dJ2km3f\
nLlvO8eOFZ2bKgefRrZvElIYIjx5Zffa2sX+/+g3UK8lxqF1bWucdOlidXs08PH4cgYEWYfdy\
n5sT9+zhzBjlyqC8eIyMjo5aZP7/9ndxuhV7VkxsCFHTV0aUL5c5NZPNMCs9TjhxUtarszMeM\
nodq1ae1aevGCKlemPn3I19f+XTlyUOXKdOyY+HqTJrbuWrCA+vaVLSGDI+A4io6W/ql8eVq9\
n2rPSaAw8T+vXU0KC+YrRSI8eCa8VAwMDA4Nt3LxJsbFUqpR6EqhpVaZBvnyu2sg8j48+wosX\
nQoY2NoHmyoU9e4RkN27gyhUYDO6t3X//iStYpoyt9N27q//N4cX08cHx49Kaf/ZMOppw5uGn\nn6JTJ+
+ZtkwfIzx7dvTqpb5gjIyMXszffnOHKeEotGLYzZghQ2VpDy1yHMLCMGECDAacP4+B\
nA9G6ta0QYe3a4flzAPjrL5QsKVyMiMCWLe6tYHIytm/H8OEYPx6PH9tKeeOG+o3Si5kjh51n\
nfe8e6tVTX061uGWL1eB+GYs24kqrLhsjI6N388oVZS0IedCKYZeUJN0RR0QgMtLiSseOuHcP\
nGzdi8WLs2yf4EwHwxx/Q68Fx0Oms9um9ewve4+7fR86cFruI/Pxw9qyKCjDDO4ZVDTJ18ua9\
n9+w8gs6d1ZdWFRYsiMOH8d9/CAlRXxjXmZlnXhkZGVXkkiUeMResQCuG3dOn0trp0QMANm9G\
nrVooWxZTpljdk5g7t61+nOdRsqQ58bx54gQch2HDPFFTu+jSRf1G6fXcutXWI8idW30JPUzT\
nu2P6KNq8GXXrqi8SIyMjYwZloUKeshikoJWQYlmzUmSkOKoJz9OUKTRrFrVqRQcO0KlTNGwY\
nZc9O588LCYxG+uUXateOSpWi+/clQr6agnfxPPE8zZtnvp4+3ivP0+XLytbJSbRqpbYEmQB7\n90pc/
P13ataMIiPp/n1Py6M6TO+OwUBE1K+ftH4YGBgYMhB4nmrWpGzZVCha3ZBimjgVa8K0\nadS+PXEcAcK/
06fTvXs0aJCFxRYXR7Vq0b17pNPRe+/RokWk0wkDUno0a0bPnlF0NA0eTMWL\nm6/
HxIhTGgwWCRTHgwd06RJlz07R0XZOATdu7EYxGIiE1iXCjz9Snz7E82Q0qiGTZgCwEOwM\
nDAwZG9Wq0ZgxVKkS3bpFFSqoIEBIiAqFmqHmdGE6/PEH3nwTERGoXx8bNyIhAa1bS89znj2L\
nw4ftT4cuWiRdkOnwY6rzPJ0OoaG4elX5Gt26hYAAC5FMuwBT6euLsDB8/DEePhRuiY1VfxrZ\
n6yk6P5GSgpAQ5nqXkRFEqFQJZcqoLwYjo4tUcZft6NHKmxOOQ1uGXSr27LHTs2zfjm+/ta/c\
nVausFnHhAho1gk4HnkeVKvjrL+VrYTTKaFh+fti2DYsXiw1BRqWYeniiZ0/xkzp/Xn3xGBlV\nZ1AQ/
P3ZoRNGL2fBgggIcOOXfMWKypsTssAh/aKUeli8mGbPpvh4unCBAFuLYvfu0aZN1KeP\nrdz8/
enKFQoPt5UmKYlSUigw0EmBbSM8XN5Ce0gIJSZSSorEQiGDK+B5WrSIjhwhnqdGjahF\
nC3GCR48oVy41JGNgYGBg8Cw4jgoUoJs3Fd544+NDFSrQJ59Qp05KZusEtGLYARQVRf/951Di\
nFi1o0ya6coWKF7dqBul09Msv1LWrsmLKAKBkRA0GV3DlChUubCdN9er011+ZfYMdAwMDA4PT\
nKFCAYmPdNVXkOLRievTs6ZBVx/P0zju0fj0RUZEiNHcu+fiYf42OpuLFqWRJGjaMLl5U06oj\
n0soZ20wOjqOCBe1bdUS0dCkVK+Z+gRgYGBgYvBQ3blD79moLoZ0Zu2zZ6NkzO2k4jo4fp/Ll\
nLS5evUrbtwtHZatVc5+AsvH0KWXPrrYQmR46HW3dSo0aOZQ4OZl276br16l/f6vnrL0AHEd7\
n9lCTJpSYqLYoDAwMDN4FjqMLF6hoUVVl0Ihh5+NDKSl20jRoQHXqUOnS1KpVxljlLFSIrl1T\
nW4jMisBAeucd+vhjKl1a9r1yN0dmIDRoQNu2kV5PoaH04oXa0jAwMDB4HebNo7591RRAK37s\n/
PzsGHYcR7t20a5dRERly9LKlbRqFV29SlFR1Ls3hYV5Rkx52L2bKlakp0/VliMTIE8erzXF\
nlMWuXZQvH+3bR/HxaovCwMDA4I14+VJlAbQyY1e5Mv39t4z0ej2lpAjuZENCaP9+KlfObcK5\
ngORkmj6dRo7MYAddCxakESPor7/o0SM6eFB52zQ8nBISKGdOAiSigDiBW7coXz4F8jEhLIwe\
nPlQsNwYGBgaGzIPff6cmTdQUQCuG3YQJNHask/fqdFSunIRd+OwZzZxJf/9N2bJR9eqUJw9F\
nRFCFCios444eTV9+6elCnYZeT5Uq0ZEj7sq/Th3auZP0etq0yaH4aamB5iSbKsfRtWtUoICS\
nEvbtSwsWKJkhAwMDERUsSNWqUYsW1LQphYbS9Ol0+DCdPMm2rDB4FerVo127xCFSPQmtGHbx\
n8VShAl26JB3uyS44jp4/twji8egRlS1Ld+6QTkdGoznPSpVo5UrauZP++YeyZ6e333ZmD5Zc\
nPHxI+fPT69duL0g70OmoYkUyGkmvp6NHxW5EOI62bKFff6XFi+1nFRxs3g1mMNDjx25feX/x\
ngkJD3VsEA0MmhHPdOwODutDrKTqazp2TcUtsrETkUo9BK2cQgoPp+HEaN44aNFBm2B4/Xth0\
nZTBYdCUnTlDp0vT++zRvHk2aROXL008/WdyYkkIXL9LJk5ScrIAYJuTKRd9/nzEOfCgFg4He\
nfZcqVKDWremPP8S/AtSihf1z0CZkzWr+v07nXqsuIYFat6Y8eUinc2MpDAyZE8yqY8hwCAyk\
n2Fg6eZIWLaJs2Ry96+JFd8pkFypGvbCBW7cwbBi6d4debz++jU6HSpXEOZQr51BgHI6Dnx/u\
n3xfuWrUKoaHmX3PmRLdu6NULI0fi7FlXK3XiBPr1Uz+aimeYVvnWHsTIkQ5lNWWKq5p3HNHR\
n6quOkZGRkVEjTGsSEKFqVYdMiwsXPDdspYdGDbtUrFyJrFkt9GXSqV4PIiHWW5YsOHVKfGON\
nGjIiwf32GwD89Rd0OolfTSXqdJg9GwMGoHx51KmDb79FUpLs6pw7p34z1Q5//BGFCllc0enQ\
nvLnFlebNFWhFDmLnTvV1wsjIyMioZe7cibAwq79yHJo3h9HouZErPbTi7sQaOnakpk3p77/p\nwQP6/
Xc6doxCQqh9e+rUiZYsoStXqGhR6tVLItBno0Z06JCjpZh2gP3yi3REKdPyAUAffihc\n4Tjat4/+/
JNWrhSunDxJW7bQixdUvTq1bGl112SxYtraZZIrF3EcPXigTukdOtDbb9Nnn9H6\
n9fT6NZUpQwsWUMGC9OABLVhAycnUvTsVKuQ5eX7/3XNlMTB4DKY+h+epbl3KnZs2bWLObhgY\
nnMebb1LevOKLJh8dPj7UtSt9842aJyeISOszdk7j9WvUrSs2pU1zeKJVQl9f3LsHAI0aybbc\
nDx0CgOnTLWYHmzZFSgouX8YHH6BWLbz9NvbsEaS6dcsT3xM+PtJTjyL27g2DASkp4qlmz7Bo\
nUbWahlV8/72EnCEhWLzYIX2mpU4HnoefnwqKZczk5DiLLi4kBP/+a9HO333XobUkRkZGB+nj\ng/
Xr8eABkpNVGr0skcEMu3PnULcuIiNRpQo2b7aT2GjEpk0YOxb9+qFKFeTMiYoV8f33KFoU\
nROB5oQecN09IP3Cg7Mc5YwbOn4dOJ+4ohw+Hn59QhMnmGz8e7drJtg+cYEgI8ueHry/CwxET\
nYyvlpEkwGFC+vEQvb7rSooW7BC5XDgaDuxuLbDx+LFHftm0BIC4OPXrIM9R4Ho0bu/1xM2ZC\
ntm6N9eslXtvgYCxfjh9+sLjI8yheHImJ5na+YoX6VWBk9DKGh2toUMtIht3mzeK+bMwYZ/J5\
n9Qrff4+ePTFsGI4fN1+PjYWvr9XHJvmNu2QJ5s8XX9TpkDOnJ2w4V8hxKFNGWsjcuVGiBFq2\
nxKhR2LULLVrYyYcIpUujbFlb0wA5cuDIEfz0E7Ztw+vXSrUI5bF4sbB908QSJSy+wCQtXY5D\
ngwbSs55ly8rY6MnI6DgLFJC+znEoVUqi1e3ahWXLULIk/P3VF56R0Ss5ebJ6Q5clMpJhlyWL\
nWI88jxcvlCziwAHkyydRCpF4ROd5BAfj9m2J9TvTMpzqjcw2HV+LadwYb71lcaVqVSxbhsqV\
n4eODiAiMGYOEBACYNMlqJvXqKfmYXIfRiMWL0bAhypRB9+64eNH80/PnmD4dn3yCnTvNF+/d\nQ//
+KFJEomqLFgHA779LaDg8HO+/r/6zZsw85PkM0PkwMnolc+b09EBmDRnGsHv2TFqV27Yp\
nX1ZcHH79FXPmYNs2fPcd+vTB558jNhYffmi2h0JDsW4dAJw4kfE2rMgVeNgwh/SWlIRSpaRz\
nmDpV+cfkCkaMAP3fZOd5BAQgNtZq4pUrrQ6WdeoI0+/Xr6NAAYlkHIcPPrCYBWRkdDeZbcfI\nqAr37/
fYIGYLGcawe/RIWo+jRnl0YfvsWSxYgJUr8eCB+eLgwSD51lIGor+/o/oxGlGjhvj2\
nggU1tPkAwO3b4ofF82jXTjqx0SixQK/Xo2RJfPYZnj/HpEkIDlb/GTFmNnpxh8PImEGpkSmM\
nDGPYAWKHdqmsVcsZl3LKYtQoTzcgB90vi4wSpz/l4+NlaGPlShQpgqAg5MqFDz7Q3Ka6TZsk\
nKhgeLp340CFpxZrcFH31lTrdB2NG5Pffo2FD5Mkj/RrKMtTCw1GoELPtGBm1xdSzmOoiI0W5\
nWrlSOirXgQM0c6bHpbGE512gFS1Kq1bRmDFUrx5Vq0bTplGHDkRk4T6ncmW6dIn27aO33qI3\
n36RRo+jePSpf3pngZlevykjcsSNdvkzx8fTgAc2ZQ76+sotzK3LkEF/hOMqZUzrxvXsSFwFK\
nTCQimjJFUckYvBeTJtGAAbRjB929SwYDvX5NrVqZ31a9nrJkkZHbnTt09aqGPGIyMDAQaSYW\
npdqWpTz89x/KlxfbyKZwBerC8x7L/PzEvq2TkvDtt6hTB6VKoU0b7N8PoxH374tjm8TGIn9+\
neWVxHOLiPKlO9yIhAeHh4lmTsWOtJpZ0B7NmDZ48Uf8DkVH75DikpIjb1ZEjCA9XXzZGRkal\
nyHGoUMHNo5djyGCGHYA5c8Ta1OnQtKnKUhUsqHwTyZbNToJOnTB0KKZOxc2bEiLNnm1eh9Xp\
n8MUX5p8SErBqFaZMcdT3QYcOHlOkh3D4MHLnNlewTRtbq/m9e1t9BDb84zAyptLHx6JF3bkj\
nccafkZExo9PXV+VgYiZwyGiz+WfOUNmy4jWIr76i4cNVEogoKYkKFaI7d5TMs2BB+vRTGjjQ\
nocR+frRuHTVrZr6yZQu1aCFOtmqVsFybimfPKDraTkixPHno/Hl560QZAvHxtGMHPXxI5cpR\
nlSoSCW7coP796dQpqliRTpygmzc9LiKDF6FFC6penYjo3j26dYvWrVNbIAYGBqVRqBD995/a\
nQhBlvBk7AGPGgMgc1KFKFQu/6p7HL78obPUHBuLRI5w6JWMiMDhYcCZnQnpvfEQoXtxqFY4e\
nlV5N9vFRWbduxfXr2LABe/bg1SvxTx98oP7HH6M3kR10YGT0eo4bp8ZIlg4Zb8bOhL17acMG\
nevGCatSgbt1Ir/e0ANeu0aJFlJJCRYtS796U5JiRAgAAIABJREFUnKxYzhxHGzbQtm00Z468\nG//
8k6pWFf6v15PBIE4QEkJxcbZyMBioTx/69VdKSSEfH6pRg377jfz95YmRUTBsGE2fLmgp\nIoJ+/
ZVq1BB+uniRoqNVFI2BgYGBIeNh8mQaMUJtIYgyqmHneTx6RHfvUoECdPIktWplx0Jy\nGhxHDRrQ++
+L10wdwd69VKeO8P/QUHrxQpwgKoouXXJVQu/AokXUo4f5T56nXLnowgXKkoVq\
n1qRDh1QTjIGBgYEhg4Ln6cwZKlFCbTFULl/zuH2bpk2jsDDKlYvKlKGsWaluXTdadUQ0eDD9\
n9pt0AttHqStUMP//3XclEkyY4LRo3obVqy18vhiNdP8+HTxIL18yq46BgYGBwRkYjbR3r9pC\
nMMPOGk6coK+/ps6dqUgRGjKEHj70RKE5ctDChdSkidXTDJUqWb03JIRCQsx/fvstvfGG+U+O\
nowED6J13FBI04+POHQkfYHfv0pAhakjDwMDAwOAVeP5cbQnYUqwkxo6lL77wtPPPoUPpjz/o\
n8mXS68nXV8KUzJqVPvyQvvxS4l6Oo4sXKSpKfP3kSdqzh4KCqGdP8vFxi9gZFO+9R4sWkdFo\
ncfHYMWrZUtojMQMDAwNDJkFoqPPrcrlyUWyshBt8T4IZdmIcOkS1annaqouOpgsX7KRZv57q\
n16cCBSQ+CMaPpzFj3CSad+LyZSpXjl69IqOROI4Aat+eVq+mFSuoc2e1hWNgYGBgUBWmccG5\
nGwcNounTlRZIDthSLBkMdOgQrV5NZ84QEW3Y4FGrzrRtzrZVV6kS/fkntWlDoaF0/rzFkisR\
nRUTQoEFulNArERVFR49SmzaUNy+VKEFffEFLlhARW61mYMio4DiKjFRbCAZvgStmwJ9/KieH\
nU8jsM3ZXr1LbtnTqlPCn00a6EyhXjk6dIo4TLwimx8uXFBho/vPOHfr8cyE6baNGNGkS5cxJ\
nN25QZCT5+blR4EyCw4fNfk8YGBgyBCIiaNkyioqiUqXo6VO1pWHINEhvM/A8NWxI27erJJBJ\
nBjUL1wCaN6fTp81/etLKNU0Q2rXqiGjxYos/w8Ppl1/o3j26d48WLKCpUykoiKKjyd+fAgKo\
nb1968sQtAmcSVK9Or1/Thg1qy8HAwOAYJk6kmzepdm0KD6fgYLWlYcgcMHmxSA+jkZo29awo\
n6ZCpDbthwyg21tPb6VJhMDhatCkSkSRGjqRZs8zWYWIiLVhAbdqQwUD37tGgQVStGjVpQj//\
nbGFBPnpEY8dS0aIUHExBQVS8OB096kJNvA6+vtS6NSUkWH11GRgYtIPbt2nRInr2TLDwGBg8\
nANPwnX4Qb9eOPvrI8+JYIPMuxd64QQULqmbVyYI1IQ0GCgmhV68kflqzhvr1o0ePiEhY7e3b\
nl+bNIyI6epTq1pW4i+dp3jzq3VtBwb0BJUvSv/8SEXEcFSpEy5ebw3swMDBoB/7+lJiothAM\nmRUcR/
ny0dKl5jABKiLzztj9+mvGsOq++cbqT/fuSVt1RDRrFj16RAABwlzd/PnC4m+XLtJ3\
nGY3Upw8tW+a6yF6Fc+fMavz3X+rb16G7fHzo2DHq3VvlQ+8MDJkHzKpjUBEA3btHrVtT+/Z0\
n5YrKwmRew+7yZbUlsAdTaIQhQ4jjiOMoLEycIG9eqxtKJJ2xHT1Kt27ZiSrWowfbemwVa9ZY\
n7Mi0AaOR9HpasIAePaJnz8QHmTWOGjWocmW1hWBgYGDIUEhJoefPaf3/2Lvv+Cbq/w/gr7t0\
nt9AWyp4yypQ9RAVZArJBEBFxguBAEFRAEEQFUVAQEBUQBAEVBQegDPkKyAZlb5myN5QOWprX\n74/
cr2nCtRlNcml4Px/vB49yudx9ciN5391n/IRGjQyu6X53JXZnzqBnT8TEIDISc+f6Yo3u\
nVdIKCQHuaFdx8aJ9bqeqeO01nTUWK4aSJW2GzLKIiUFqqoNV376NYcNcLvBdIqP1tEPp6ahf\
nH0ePonBhxMTojNvrtx58EOvWYcsWHDyocwgJIYTIhtmMM2cwc6aRZQgycuW+lZKCFi2wb59P\
nn8C6t66s0q87h6MYMQKqirFjceuWNiU+HvPmYeNG/PGHdTZVRVQUGjZEgQIoXNjB4Ap//eVO\
nme8GRYu6MHNqKsqVyx2P+zNr2lT7Iz4e6ekID5cnXEII4QJV1So+GVYAI1fuW3PmaPWlAklQ\
nEN55B8nJOHwY69dj927s3YvatfHSS+jZ0zpbVBS++QYFC0JR8PXXDu7EBN1F2b5r2rVDeLgL\
n97Fy3cFWurT9aLnJyVJNUAiPkYb2dwOzGSVLGlmAQEvsLlxAvXqIjERICIKCUKAAXn8dCQlI\nSMCbb/
quGOHhTs3mqUddioJy5XD//ahaVRvKQlUxZw62bMGUKZg7F4cPo317beaWLbF/Px55\nJMu1N2/
umVIFnrJlMXs2wsKMLoenKQqqV8fbb2PnTp3qgCtWGFEmIQJO/vxaL1fOV+oQuY6i\
nIDgYjz1maCEYQD7+mIBOtGnDMWP0X/J4tGnDixc5f3528ygKAXbsyKeeYps2ri3f42bMoKpa\
nS1W9OhMSPL+WwJCezvh4Hx1IPo7z57P81MnJxhdPwqiIjWWLFsYXw6WwfJW5OkNYmOM35iRU\
nlcuWkeS1axw0yPitJOG9qFCBKSk++13SEVCJXTYbulkzmkxe3JGWb4SSJXn1KklevcoiRbKc\
nOSyMH3xgLXa3bjqL0o05c7yy3fbt46hRfPVVzp7NtDSvrCIAXLvG4GDjvzK8dwDrOnKEL73E\
nsDDjSyjh+1AU9ulDkm+/bXxh3Ch8Vi8NGsRffyXJkyc5dSrffVdLuZKS+Oyz2oWuZ6N4ca5e\
nTZIvveT+Er74giNG8IEHjN+2Eg5j9Gjf/C7pC5zEbt267LZy48ZeOV0BVqjANm3YuDGHDuWV\
nK9by7Nyp/82ybJnOLbEDB9ijB5s2Zb9+3LOHVarYv0tReO2aLzensLp1i2+84d2reX+IPHls\
nPnWdOoH/kSWyj9q1ef26djz8+CMLF2ZQEIODWaoU+/ZlUJB3r5ZzHnnz6kxMTXVwvt+44fkn\
nPOXLk+ScOW6+3WSi2awVr0YN4zesRPahKGzSxLO/Qq4JnMRuwoTsNvSrr3p+5wUH89Sp7Iq0\
ne7dNNqko2nWhM379lZ0785FH+M47ktIZyWxm8+bGf1P47PvI8DJI+EOoKkeNYnp6dqfG8uW8\
n916qKsPDGRJifJnvjJ49ec891v8WLsxLl5w669PT2ayZhwvTvDmrVcvRErp3Z2oqY2KM37B3\
nZ6gqy5ThDz/wnXdYunR2cyoKH3zQI78/bgqcxC4tLcutbDIxNtbzP1r33+9UwaZPZ/PmnDLF\
ny59fuG7bNjZvzogIKgpVlXFxjInhAw+QZP/+/n43QkLCe2EysVQpp06ipCSmp7NvX+PLfGdY\
nqjotWsSJE7lsmYM81U5qKjt29HB5YmNzuoQePViyZHYzhIbKF5e3omVL/vuvdnikp/PDD7NL\
nsocNc+3HyLMCJ7EjWaqU/iaOisrR7vzpJ9aqZV/NKDqaly8b/YFFDkyfbvw3RfYRHMyuXeUu\
nmoRhcfasCydURITxBbaLQYPc/344coRBQR
4++2rV8sBCsi/SX39l+VLJkmzRgkFBLq/R7VpM\
nJUpw0SJvVYLyUkRGMipKp8wNG9ofIevWsUkT5s2rM3OlSrx50/1jL+cCobuTFSvwxBNo0QJd\
nuiAyUmeG5GStExD3qCr+/hvJydi2DY8/jiZN8M47uHwZ+fK5v0yPu34dI0eiVSs89liuGQbX\
nQFeuoG9fowthq1QpFCpk/W/Zsvj7byxYALMZN2/a902jKLjnHpA4cQKPPy5dDwrPUxTXevZJ\
nTESzZl4rjVveftv9965fj9u3PfxF+u67HlhIVkVSFMTHo1y5LLvKe+YZKArS011eo90YSLry\
n5rWf8sILOHkSnTqhYUOX12igxESMHo2VK7WD37Ix4+Iwa5bNbFu2oHFjrFmDGzfst0+RIti6\
nVT8V8R0js0pPGD9eu6RQVe2B2p05uMmUowuv7CvS+YOrV7W7lZaNALB+fZur7QUL2K4dGzTg\niy/
yxAmSXLWK48Zx+nTXLsoDQEoKR41i9erGXxrqht2B2qGDVuz+/a2vWg7yGTNsPteOHXzo\
nIePLLxEw4eSjWDurVrFWLZpMWjMLk4nR0QY0J1cU/vhjjr4oZs/2cJFUlSSHDTPsUemAAYyM\
ndLnMTs7ZoAG//JJlyjAykmXKcPFi65Z87z1jPq97YTLx0UdJ8sQJjhzJ557juHFaZxcWqam8\
nepWtW2e3H52vTO8luTuxu3iRwcGOk7bISHfuP1uiWTOjP6QT3nxTZyOEhnLdOv72m80jEkvu\
nW6KEdUpICFu25Ouvc8sWoz+G950/74FqLj6O/Pk5YwZTUvj221rhixfnl1/ywgWOHs2yZeVZ\
nrYRXYuRI90+0jF6TLH+kpnLPHh8Ve/JkbtvG27dz+l1x+HBO7wjcGZbqvFndgPB2mEyOE7vG\njRkXZ/
1v8eKMiHCqtC1aZLklT57U//0tWdJPn9IqCkuU4IgRTEoiyWPHOHEiR4zgnDl87DHt\
ns2SfnY8dm9PDL4dyd2K3fLlT+6lSJX77LUNDHc9pVweiVi1rI3OPSEnhBx/wiSc4ejSTkz3W\
naVyjRvpnSMYNPOfjoYcMrhzgVU2aGP+tkZOvG49X+pGQ0A1V5b59njz1EhO9VdTwcC1bKlTI\
nteYRDo0dqy3Z8N3hqahYMbtcKipKuzW1bx/nzuWKFUxK4ty5Tm2E5cuz25Jbttj//hYrxuXL\
n2bKlfXkiI5knj/EbyhJ583L0aKcyB7uYO9eTx6Ebcndit369U1u5aFGSvHSJ3bppDwUiIliw\
noM08qso8eXjlCk+d4rhxfP99Hjrk4dL+849NC4yML6PRo3W6Vjpzhs8/z1KlWKYM+/fXLh10\
nnT7NypU9/O1jMvGRR3jhgoe3gLHMZmkvJnH3hjNfEZZ5FMUrtxy88Yny57fpPdTj1q3jwIF8\
n8knjd59HonfvLHvOj4vjnj36G2HrVr7wgv0vZuYoWdLxlvz1V/t3FSjApCSmpPDsWc6fzw8+\n4E8/
MS2NaWkMDzd+W2WEG7+t//zj2cPQZbk7sUtMZFycU7dzM7rZTEvjqVNMT2diIuvWtc4Q\
nGprTOhkOFSiQ5UHz+us2c16+zPz5bWaLjuakSbx40X6Zy5d7sTFaXBxv3PDuNvGSo0f50kus\
nWpU1a3LYMC5YwF9/5QcfGP8dISFhVLRrx8cfZ1gYTSaGh7NrV3brxhYtWLkymzfn8eNcsIAD\
nBnDYMG7d6pWzsnhxD3+iUqW4fr1XinqnOyuwBgXxmWdy2Wg0333HhAROmcIXXmCfPlyyhJs3\
n8+uvna1H/vPPOn0+166d3X2HDB066GRIQ4dmOX/ZssZvLvdCUWzq5Bkidyd2JFeu1O9ePHNE\nR+s/
Ub19mwsWcMgQjh/P48e9W84LF7IrocnExETrzK+/rj+bqvKjj6yzJSczf37vVlMwvK6A\
nk5YvZ+nSWmXtmJiAenoiIeGRKFHC6LOU9jVc7c5TReEvv/Dxx1mwIMPCGBmZ3Z2batU8/1Al\
ne+npLFiQisK8ebl9uzbRbObMmcbv3OzDsp0bNfJA1cMMiYncudOFEVHLl9cpWEgIN2/WmXn1\
naverxRsbqmpw18QWuT6xI3n+PKdN43vvsXVr/V/0114zuoh0XHf477+tM9epk90pumuXNtuW\nLV4/
TDt3NmRrueDAAUnjJCQch6VGij/YvdvmOtahfPl0Po6isGpVg4daz2zbNj/9IrKkGmPG\nOHVfzXsefFC/
eCYTf//dZk6zmUWL+unGdBjlyvHIEYM2cSaBkNhlOHuWBQrYHBCKwmefNeDk\nX7GCL7/
M557jjBlMS2NyMnftyu7WmqJo3R3v3cv332fRotkdOvXqccYMXrzItWu9fpi+9JKv\
nN51Lvv7a+DNZQiJXROnSRp+u7mrXLssvz5de8q8RF0+d8ruMZPhwozcKSXLBgixLqCisUYPF\ni/P+
+zl1Kvftc/OT2g0i4Psd0a4db90yekOT9OfEbvp01q/P8uXZvj3PnXPqLdev8513WLUq\
nixfnffdx2DCeOWM/z/nz/OwzjhvHo0ddK8/ixXz1Vfbrx59/djDnG29oR5Xly6hYMa1ZTVbH\
nmaJo3ZV99ZUL95+jo7l4McPCvHv4rljh2lbypf/+8/V5KyGRS0NV+cgjRp+x7jp4MLvRg+Li\nuH+/
0UW8Q5kyxu90gAMHerhjB7dlNS7UneHeL5qi8KWXWLu2dUpwMIsV8/UGHzzY6A1N0t8S\
nu8RELlrEzz5jgwb222vAAAdN2U+eZKFC1sMiJIRLl9rP8+67Nld+PXrYz7Btm83xd889Wv+9\
nzzyjLdmy8O7dsyzG339nd1wqCsPCGBqqdWhkmdixIy9d4pkzDA114ZhWVRYowKlTvZjY+cml\
nXlaeeMLXJ62ERG4My1eEwytSf/bff6xYUf+7zmRydthu3zt/np076+yOzOGp/Zvxd1gYO3bk\
nb785e0PEB7p1M/4s8Fn4Q28SfpTY7djhoNnUxx/rvzE1lYcOsU0bm6TNMqZ75o7iNm7UOYum\
nTLHOsH27zg3/qCguXqxTmIULdUpy9SonTHB2x1+6xA0brM2RFi7UOV0dnvYbNnDiRE8elP37\
ns0kTvviiX1QUyMrkye70LSQhcVdFxpOpvHk5darRJ22OrVtHkynLDjtdqrTne5cvc8MG/f5E\
n3B6YISqKzz7LXr3Yvj2HD9fpM8F/uN0Swt+eazsTn35q9Ob2n8QuPZ3x8Q66Gatc2f5dZjPf\
nf9/+yXrm2LnTOnP37jozVKtmnaF9e/2FtGyp03qrXz+S3LqVL7/Mrl3ZoYPWzY8zbVQjIlix\
nInv1YokSNJlYsSLnzuV337lzDM2fr/+53IvISO/v6RwbONDIk1ZCwv+jeXOtg6fz57l3r043\
nmbnUjz+ycGGdz6so1g6tcp30dNcePjz1FE+f5v79PHWK331nbZ/rz9zLz/Lk4RNP8K23+Oij\
nxp9Tzkf//kZvbv9J7A4edLy9wsPt3/XZZ9pZndVbduywzqzbKqdwYesMWfXcWK6cTmL3yiuc\
nOTOn48NkHvrzww+zG8FGVZkvn82KLOv17AVN376+2Nc5cehQrryGk5DwWVSo4C/VqrykVCmb\
nWwAmk831eS61cqVTO1dRaDLx3Dk2amSdGBfHJUv4+OOMjWX+/OzRgydPGv15bIWEuHMkFyyo\
nvf3VV40/rZyPzFmHUVT4hytXHMygKKha1X7iZ59BUUDqzK+qyJ8fVapYp9SpozNbfLz17+LF\
n9Vddq5b9KkjUr4+XX9bWbjY7KHxWLIu1vH3wYKSna1MUxX5OsxlXryIyEooCVYWqauvV/ezu\nURS0b+
+xpXnJ5s2e/MhCBJLoaHz0EQ4c0PkCCSRz5sBkgqLAZAKAkBDMmGF0mXKseXNUrw7V\
n9gf5zv1IIj0djz2GtWutEy9dQvv2WLAAV6/i8mXMn4+HHkJCgtfL7LyxY915V6tW2h/Tpnmw\
nLF537pzRJQD85Y5dYiJDQhzcjLGr/Hvpkv78GY0nliyxmT8hwX6QBlW1aU41bpz+0k6c4FNP\
naX9bFt6tG9esMeBS4LHHOGAAmza1afvjqbDcL1y50he72z0JCfoPYiQkJADWrGn0KeorR4/y\
nzTf56KMcMsTv7k657cABxsdb92ZICOvU0W/X6UwNY3+rVWn3OPXOkTzujHHjeOkS+/Qx/sxy\
nKbIZTsNn/CWxI7VmB5anjXdmbHc+t376af3N2q0bhw3jv//qrOLgQVapomUwJUrwf/+zeTU9\
nXWv9mhGKwkmTeOKE9TGuorB1a96+zQ0bDDhiChQgyf/9j/fc45Xlq6r/PtTwtwEEJST8LVq3\
nNvosFTmTmsoVKzhzJjdu1KYMHmyzi1WVRYo4ro6iKH5ar+boUWulwB49HB/SuXF07+LFmZxs\
n6Fb2q8SO5K+/sk0bVq1qv6VUVediNC5OZ5s67Ktpzx6OGMGnn+bHH+tf6h0+zJEj2aYN33+f\
n167RbGaDBva16MaMYWIiY2K8O5zXnREezpIlnZ05KEhr+m7pwMXJpvWKYnAH5Vnp3dv4M1ZC\
nwp8jc1sxERiSk9m8uXUX58/Pv/5injyOD4bRo40u+v+7do3ff89Jk7h2rc309HR+/TU7dTL+\nxPF4/
PKLQdv6//lXYmfx5586Wyo01Gae0aP1N2ihQuzYkV9+yaefZuvWHDaMly5Z3/XmmzbJ\
nTVAQp093UJgjR3TWUrEiv/qKkZE+PVZcSiIVhQcOZLkxsw9/u4dvkRsv3SQkfBb33mv0KSq8\
n5s8/+cknnD9fG11+6FD7vZ+5DZ+qMjTUsE6bly9n+fKMjGThwhw2jOvW2dyCadXKfiColJQA\nbA/
3wQfGbPwM/pXY3brFCRNYqZLOUZu5r5M1axx0Amw5uC2PXKOjuWoVzWb+8ovOzEFB3LdP\
nW2xKCo8ftx8mOass01N9S+qGpecUu24nXVpCRhfKH33k8tofesgX+9olI0YYcHJKSOSi8JMu\
n74Vv9OvH4GACVBTWrs1p0xgbqx0J+fNz0SIDirR6NatUsT8sw8Lsr8nfesvmXfXrG3/ueDwW\
nLDBg+2cWZHTjDSuzGa1bY9UqnZdIvPgi0tLwxRdYtQr79mXXNDJzU1MA16+jWTM88ABKldJp\
nQnv7NlasQLFiGDgQs2bBbEZkJIYPx+DBWoukKlXs36WqiIrC1avuN4YFEBKC1FT9l0qVwtKl\
n2LsXy5fj1CncuIGQEJQogXnzXFh+8+bW0rrqxAmX3+JV69bh3XeNLoQQ/i0iwugSCB+aNAmT\
nJuHKFeTLp03p3h07dkBRUKMGIiN9XZ61a9G0qc5vYkqK/ZSxY9G9O6pWxYkTuHULO3b4poA+\
noqooVgwtWhhdDoMTy0yyGSQ4JIQXLrBJEwLZdfaWTVgG4NJ948iR7N7d+pLlj8mTrQV7+WXr\
ndMvaK1XyzO260qVtuuRWFJv+foKCOGKEVuPt/fedXaalo6ODB7XC9+zpcqlCQpgvHxs35qZN\
n3LvXZvQOQ1Sr5t2rKwkJP4k+faz3XewiNJRjx/K11/RfVRSuX2/weSruEjdvcuJEtmjBVq24\
ne7c2sVEjFyoLKQrvvdf4080bERHBTZsM3T0k/epR7KBB2W0vD46vYBfz5ukcdmXLWgt26xZH\
nj2bJkgwJYe3aXLyYzz3nQmKXzZyqyuvXefIk//kny3EvHn6Ymzc72+7B8u/IkezVi9HRnunB\
nuFw5I38zkpJ83UJFQsKQUFU2aUKS48ezWjUWLGi9mHzpJesZcfAg69WzebylKBwxwqgTVNxd\
nLlywH+opLo4k8+Z17Wj3w3p1nipSgwZG7yS/SuxGjcpui5cpoz/d8qsfEuLUz/+dY9G2bs2O\
nHfVnHjHCvgP3Xbt4+TJJ7typ1W/IeWzZQjLLC3FLOOzcpEwZTp/Ovn05eDDXrWPdup4/bYoW\
n1Vpj+Njt29LLiURARWQkBwzgyJH201XVteqta9dy1CiOGcNt27x19glhp25dnUO6USObHvhy\
nYygKa9Tw2NJ0e1vzJT9K7DZtyi4d0W3gXaIEH3qInTrZX0PoDjlsMvHMGQ4axOLFGR3NcuU4\
nbhy3bMlu93z4IUkmJLB6devE8HAuWsQVKzyQ2ymKlilmM9ytM1GwoDUHXbrU8we9JVSVc+YY\
nMNR0Vpm3hERuifvvt365qSpbteJXX+ncUH/nHV+fXEK4JKvf6BdeMP4sy2HMm+fyDZGGDfWn\
n2w2m4Ht+lNiR2nipdttIVRkcrL/FW7bk5Mk69+qKF9e6q854Oglw+HD71V275mAkg6Ag1qih\
ns3xF4ebNXLs2ywoxzoSisEsXkkxM9MBB+dxz2odyuwGp88d0dDSbNmXPnvzjD18cFWfPytNY\
niUAOy+Fds6afdiGZe504wXLlGBzM0FDWrs2bN40uUO6X1TGcP7/x51EOY84cDhig/1JWP45Z\
nNQzYtcvo3WTw+u+wfz8/+4y9ezNfPusRM3Omyztp0iQuWcL69RkZyUqVOGWKtR+TlSv5/PPs\
n0CFHDa2ffJIkr1zh7NkcMoQPP8zoaJcXkicPR45kUpJnHuxu3cpVq9x/cOnSGzMf6BERnDDB\
nu0eFqxU4JCRyRVgqk3TsyOnTmZrq3ZPobnP+vP0FYWgo09N9sepduzhlCj//3NqILbfbtIlv\
nvMHevT1TySeHT6i8dCZev86ffnJ8EyGjApglB7izd7YSJew7TfM9v0vsMiQlcfNmbtzIxESS\
nLFvWtS5q69Thr7+yfHntfO7Zk+fPk+SYMcT/93KXk+OgXDn+8QcXLuSiRTx3jiQXLXJzUd26\
nZdlywqX45JOcJkA5Od/69fPiwTBjhge2j4SEH4ai+MXgkoEnc/2ZjMjo4NN7hg61Zj9BQRw3\
nzutr9LZPPrH2DpvDoz0oiPffr19Xytho2tTZOUNC2KYNv/5au0g4d05LMyxRsiSPHTN4f9Gf\
nEzs7q1a5lorlyWPTh7CisHx5vviitxrjNG3Ks2f53HNuvr1oUQ9cxOS8lsObb7JCBfffnnmQ\nD4/
zxl6TkDA8VFW79BeepTsyUIkSJHn5MkeMYJs2fOYZrljhyZUuW2a/RkXRWsjlUseOaaNT\
n5vA4b9mSLVsaf7rphktPzFSVvXvbb6X9+zlrlvFPYDP4e2J36xafeIL58zMy0iYv9sOoV48J\
nCY5bsHojLGPC1qnj2lvunDh7NteuZVSUm8V49lkvHgm1axu/iyUkvBF9+njxxLlr6VaArlCB\
nZ8+yUCECNJm0W1Bjx3pspf3763y1vveex5bve/Pn5+jYtmyNRx/N6XL8KqpWNXqvOOL6uAS+\nVbEi5s/
H5ctITMThw0aXJltbtqBmTRw7ZsCqg4IwfTpu3HDhLbVqQVW10TUAqCry58f336NR\
nI9y86WYxlizB2LHo2BGvvIJTp9xcSFaXnXRXAAAgAElEQVQKF/bwAoXwEwsXIjnZ6EIEnKZN\ndSY+
+yyGD8fFiwCQng6zGYqCYcNw5oxnVnr9uvVLNfPEu1alShg2DOvW4YknjC6Kh6gqYmKM\
nLoQjfp3YjRnjbJ6kqggKQmSkwePq/PuvzlkNQFHQrRtCQ72yUsuIZ/ffjyJFXHhXsWL48ks0\
naICgIKgqzGZcvozffstRSS5exNCh+OUXfPYZSpXC9Ok5Wpqd3r09uTQh/MelS9i+3ehCBJwf\
nf0SBAjZT7r0Xgwdj/Xqbka9IpKdjyxbPrLRePZ1hterX98zCDXH5sv6PmpOeew4ffIDz5z1X\
nIKOZzWjb1uhCOGT0LUN9qalafyV3RlCQtQpnxh8hIdogYJMnG3+f1i4UhUFB3LKFq1a5/5TT\
nYQwezG+/deeN3utJxGTSGr7k0KVL/O47Tp3quw7tFIXR0TltXiMh4Xz8/rsHzhRxp3ffZZUq\
nrFGDM2ZoU2rV0nlaGh+vne+WESPdbs166xZr1SJAVdW+Wps391FTXG/48ENtmxh+ghgVRYqw\
nSBGbLdChg/HDbDqkMPP49n5j8GB89JGDeSyXEZbiKwqCg7FjB8xmVK8Osxn+87Hi4vDFF3j0\
nUQC4fRvr1+OZZ3D8uOdXtGwZZs/Gt996fslumz8f3bvnaAnLl+Pxx3HtmvbfRx5BxYowmxES\
ngnHjcl7ALKkqihbFmTM6199CuK1hQ/z1l/1ERcH58/a3l4SXDB2KsWMdzBMSgnPnEBvrzvKT\
nkjBxIv73P5hMeOQRvPQSQkLcWY7hkpIQE4Pbt/V/TC1PigLbokXo2BGKggsX8PvvuHoVderg\
nwQeNLpYzjM4sdZjNbnbGNmYMSY4bZ9gVhsmkdTiS0THy22/rdGmjOzxaziM4mKmp/OMPDhli\
nTBuOO+OTT5za48nJHD2a993HmjX56qu8cEGbfuUKY2Pt7yl+/LH2asmSxn9ACQnnY9GiLPtx\
nFT6TlMTKlR3vrIwu3wPelSv86y+d36nNm40/ZXwZmdOGjEGhcqkgoxNLHRcvulOVWFG0Cvs3\
nb7p2JaEoqFpVuzhbu9bl9WZQVagq/vgDmzbhyy9x5gyio5GQgBs3EBODb7/FN9/g0iXcey+O\nHnV/
LdlIS8N336FnTzRrhuXLvbIKV3XoYD/l+HFMm4aTJ1GuHPr2ReHCMJvRrh3++EO7Bbtj\
nB37+Gbt2IToaGzfi6lWbt6sqfv0VAwcCwL59iI/3WK1nIbxt61Zcvqz/Uno6TCbfluYuk5aG\
nX37BgQMoXhxBTvzubdvm/TIZbfVqtG5t/bVt0ADr1iEpCXv2IDQ0FzQRyLnmzaGquHkTTZrg\nzTeRN6/
RBfIUozNLHWYzIyLcybi//JIkH3jAtXpjGZ10rFvnfrJfujQ7deL27UxIYJkyNrl/\njRp8/
XUC2tCQXr2bWKqU9lm6d/eLYbiKFePatdY9++efDA0loFVniYrizp1cskTnjZYOAubO\
n1Xkpc1Pz9HQWKWL8x5SQcCay6ZdVeNX586xY0bWd1aKF0YX2sj/+0PkxqlbN2st9sWLGnzKu\
nhqpyzBheuJDdIBlhYfz4Y44fz82bjd4HXuOn3yjDhul/LWaTFYWEaFX169Z1IXkqVco6gODl\
ny25mXcHB1pJ/8onODL58NGyxfr1fJHaWz255RE6yVCmbFgkmE+vX56hR9m8xmdihA0nu32+/\
n6VSVzz9vc6js2WPzaLtlS8bEGP+pJSRcCuFVXbq4/CX8yy9GF9qbbtxgnjz6HzxXN5WwjAJF\nsk8f/V/
AEiW4bZuhm94n/LS7k1Gj8Mor1mcT4eGYOROffgoyy6bXaWlITQXgQt1GRUGbNti0\
nCSdOAEC+fHjqKXdKW68eAKSno08fvPWWzgy+rGQ6dy4A3H8/Ro703UqzQWLYMGzYgNOnceIE\
n0tOtL6WnY9s2REfrvCUuDgAqVsTLLwPQutxTFERH4513bGauUgX792PFCsyahW3bsGwZ9u71\
n5ucRgS4nnTu4R7ry8SqzGb/84tqX8FNPoX17rxXIy/78E6+9hhdewNdf4/Zt/Xm2bkVCgv5L\
nubdJRHAwlixB794YNAixsTrt3mbNwsmTqF3biML5mNGZZXbMZm7fzr17ra2LV69mu3b6qbrJ\
nxKQk8v9r3DtM7e0ejBYowG3b+PPPLl8imEwsVIhduzI+PqdXGy4NbJJNVKjAuDhGR/vLTTuA\
nw4fz7Fmd6UFB3LOHoaH2l4mLF2t7PD2dM2eyRQvWrs0XX+SpU04dOa6O7RYUxMhINm3KAgWM\
n31YSPgtFYb589seejweyfOQRL3x1ikw+/dTxXqhZkwULMk8e1qjB3btzusarV/ndd/z0U5uK\
nKCS3bePDD7NyZXbowJMnc7oWXcOHawe25aiuW5e3bun
MtmCB8Wefx8MyOnDGZy9enMjU70zj\nxrm43xlX+XVipys1lfHx9t/
FisImTbQZJkzQprh6WERF8fPPXZg/c9qU8xQqb16+/bbx54Y3\
nQlH4yiskWb68zaNYVWXDhiQ5b551YEeTiW+/ndODJCmJw4ezQAEqCiMjGRxs3+KpYUPr308/\
nzeRk7Y0vvOBH2bBEziM8nNHRLFmSM2ZwyRLeey8VhSYT8+Rhjx7apaDF77/znXc4fjwPHXJ5\
nLWXKcNQoNm7M8uUZG8vISEZFsUwZa13hO6sHqKp3h+ATGRo3drD7QkI8+ZO/Zo1N2+dWrZiS\
nQpJTptisVFFYtChLlWL37p7p75Pkjh06P3yWai12jV6PHMmVj1wLFWJUlPYVHRHBQoW0ceHi\n4/
neezrz583LKlXYsiUnTNBPcAOVfyV2Bw9y6VLu3etgtl277Lu6KFGCR49qr5Yr5/4he2d9\
nL2+E7i0BRWHVqsafOV6KuXNJctMmrWKHZQfFxVk7Aj13jt9/z9mzefiwJ48oy/f1xo3axRzA\
n8uW5cSNJ/vcf//qLZ8/azH/uHAsWpKJYr/MkcnuUK6dzSGSvbVuX1/LCC/qLun5dSx+7dCH+\n/
8hXVUZG8t9/XT+ghesqVHCw715/3WPrSkxk4cL2Xx3DhpHM7k5wnjw21xhus8sdMyI8nMHB\
nbNCA27Zx924uXcrDh9m/v/HnpsNo1YolSrBIEXbqxDVrrJ/04kWazTafvVWrLL+xw8Lsb50G\nPH/
poPjmTTz5JH75Rftvs2b47jutopWu1FSsWoVff4WioEEDdOmC8HAAMJsRGpplxQKH+vXD\
n8eNYvNjxnB7vntFShyz3dodbpgxOn0Zams1HsAxW1rAh/vxTqzF5/jxmz8aJEyhfHs8849MW\
n9VeuQFEcdzp66RLGj8fffyNfPsTGYs4crTsAVUW/fihQACNG5OLddHeqXx+rViEy0oW3lC3r\
nuFsiuy+B7LvjTknBuHH4/ntcuYIGDfDee6hc2YXyZPb33/j+e1SqhLZtpVtjx554At9/n905\
nm5josbEoN2zAAw/YTLF0pzV1Kho2zO6N3brhu++0v1NT9fs0vnULc+di507ExCApCWfPIi4O\
noaE4eBCKgubNQeLVV7NbS+YjtkQJnDrlvzXqFAUDBuCTT5ydv0EDbNqU5ashIXj9dZQvjy5d\
nEBXlkQL6N6MzS02vXjYptqKwY0c3F1Wxovt37BYs4M2bfOstlinD2Fjefz8bNbJeZ0tkE/37\
n86efGBen/TcyktWqsXlzfvSR9UFnbnTpEpcv5+rV1tbTJD/9lCEhxm9zCecjXz5OnMjNm10Y\
nDujff11YvqLwqad48SKfeop167JzZ/eHpcrK7dscM8b+xk/fvva3LoSd/fsZHq5/O0dRWLq0\
nJ9el23mTqjruEtnSU9Xnn7NECQIsVIjvvce1a7l0KU+fJsnLl1m+vP1iM/6w/F27duD8VPXo\
n4dqWL1vWqcWGhPD77z25x/2TXyR26enWKlaZj9rMP6XOmz7dzSMpXz79L/2lS1mvns0Jo6oM\
nDWXevAY/rcuTx/3T2LMDoSqK1lF7UhI3b+bmzZ55suDPUlI4YQIrV2Z4uIOOeCT8LSpVcjYZ\
ncuk0KV3afv4mTbh+vccOuW7d9Nc7darHVhGo9uxh584sXtx65Yn/v1z37NY7c8bNr4J8+Th1\
nqrVUmUNR+PDDfO45p5YcMCNcP/iga1ve+V6ugoJ46ZInd7of8ovE7upV/R3gdnWr99/Pcqeq\
nKmNjrc1nMqaXLevgCnvJEhYurM1csCB//pn/+5/BvePWquV+Cz6PJyIffujmzgoMKSns18/X\
nDSol3A6Tif3729ew1JUxRKGiMCqK5cqxfn0XGrBbGt7ef799K0izmQcPcu1a6wB62VuzJstV\
n1KnjzhF7d0pK4qBBDAsjwPz5OWGCC++9c9AtOwcOcNEirQ92V0NRtMZe2cxg+FnjyyheXNuq\
nCxdy6FBOmMArV7LbBVWrurCJvvjChf2eG/lFYkeyWDGbu1+Wxow5aalkye3urAIfE8Ply5mc\nzI8/
ZseO7NaNH3/s7O2llBT+/Te3bdNaOfH/vyaMOvRzeKp79pviscfc31mBJCmJq1ezUiXD\
njgoJJ0NRWLAgz593bf8mJDj4Ac4+QkJ03nvPPY6f244fn+UyY2LcPlrvUunp2eXTSUk8dsya\
nQ1y8yJkzWbcug4OZNy+feUbnmLl1i927G39Ie/wE8chC3LuJGB3NWrV0pqsqu3fX2WujR7uw\
n8AEDPHQk+St/aTwxZw6eflqra2/5d8IEDBiQo2UuXYpvvsHFi6hVC02b4sgRxMWhRQvky+eh\nQgMA9u/
HvffCbPbfWqi+EReHixeNLoSf+fRTvPUWkpKMLofIWlQU2rbFtGnIk8ep+desQePG\
nXilJyZIYNAi9eulX5J8xI8t+jJs2xapVXinSXeLTT/Haa1rv96qqdaJuGU/2znZ4ioKKFREf\
nj3/+AYnixRERgY0b3Rnf3J8pCsLDc/rdFRSE+fPx5ZfYtQtJSUhM9FDhgBo1UKECVqzA9esI\
nDkb58mjYENu3Y/Nmp36IixeH2YwKFTBtGsqV05/n1i1cu4ZChbS/16xBnjyoVw8mE06exNKl\
nuHIF8fEgce0aatVCwYIoVsxvRnw2OrO0WrCAdeowKorVqnHWrNxUI/ijj+66++R3Rr58Ru8G\
nf5WczOPHbSr3SPhhhIWxb1/He/Onn7xejIULddZ75EiW7XU8WI3vLlS0qDu7ycAv/JxU7C5b\
nluXLM08eVqxoU28kKkrnXvKzz+a0qJ98YrOp9+wxbKNlszH//JM3b9p0JXjuHLt21W40Fi3K\
nRx6xbnNFse8VNXMoCtu184sO8/zljp3HXbiAKVNw4ACKFUOvXqhSxbur+/tvPPQQkpKslwuq\
ninvuwcKFqFHDu6v2B6qKzp3xww9Gl8OPpaSgQAHcvGl0OUS2unfH/Pn6L5nNOHMGqakoV07n\
nrkBQEF591YXeGbIRFISdO3U6Q5kzB336ICXFOiUsDN9/n4sHv/KZ5GSsXYv9+1GnDho0wKVL\
n2LtXe3RTs6bRhQMAxMfj0CHHsz3/PJKTEReH2Fhcvow8efDZZ0hI0G43ZvVjHhKCRYvQsCHy\
n5rVOtPQ8deAAatXCM89g/ny8+KL1iVnVqti4EcWK4cYNdz6OqmL0aAwZovPSq69i8mR3lult\
nioLQUKSlQVGQnq5tTDf6NWvb1qke07zL6MzSKw4eZHQ0AZpM2jN+3Ytgz1qwQOvYFv9ft2/Z\
nMpL87TeGhxt/aZJNZDMYmpNXh4UK8b//vL6FA8C0acbvbolsQlFs9ldCAvftY1ISx43T+tY2\
nmVijBpFpTEKTib1789gxkty2jfXqeWBswHfe0T9+/vuPX33FSZP4ww82vQjt38+uXVm6NGvX\
n5vjxTE311gGcG61cyago67b1wzbsr7zCMWMczxYczMuX7T/dyZPs1YuVK7NBA44erVPVr0kT\
nnjjh1IbasYNDh7JPH06frt12+u8/7Zc0I/Ll4zvvcNo0vvgiBwxgz56MjdW2Z1AQGzfmiBEc\
nN46HDmW5Fj+8b+fZUBTjT8DATOxatLAf7ysmxoX+q9z211/s2pW1avHxx7l1qzZx7VqtayLf\
nR7VqjvtPArh3r9ZMLHOYTFqnX9k/e6palWPH8to1r2/bQHLlCgcN4tChhh0YEtnEtm0kmZho\nHV/
O8m9GNqAobNCArVuzbl326aPzq5mWxubNc1QGl0YbO3yYkZE2hXz6aU8dqv5u715++CFf\
nf53du7NTJ778MrdvJ8mkJK5fzz/+4J49/n5dDXDDBp4966CRgaJw2jRnN8t777FJE/bqxXPn\
nPLCRd+3iqFGcN4+7dnngZzQlxfgN7u0YMsQDmz0nAjCx0+0VD+DOndZ5fv2Vb7zBYcO00aW8\
n59NPrWMS+zhUlSNG8PZtrl/PuXO5ZQu/+ELny8LSEfSMGdp/M/59803rp6hdW38VLVt6d+sF\
nvLFjjf8OkrCLhASS7NvXwWzZd1Ny+7a1dyQ34t13bZaW+QbA6tUsVUr7VilShIsXs2dPnTvr\ne/
Z44Xj1uYQE7t6dZa80kybZJEOWbaKqHDSIefNaJxp+RGUTisIaNbT9O2uWTmnDwtipE195\
nhVu2+HLDe1dsrPFb3qthMnH/fiO3cAAmdmaz/d1jS+zbp73aqZPNeZXzIedJXr/OTp1YqBAL\
nF2bXrrxyhSTPn9fv3SCrsDzcsfzrka8MgJ9/blPOn35i6dLW5XfrphWV5IwZvOceAixYkO+/\nb/
NbkpZmM6y1Jdq398VN0ABw7Bi/+opDhnDWLK5ezREj2LYtu3fnL7/w9m3fNaoICuLkyf7+\
nO2d4FClCkrduOR5Z5K+/HO/6UaN07oU7E5YnvEWLcsQIli9PVWX+/HzrLW7bZn9fxzJ2wp1L\
nmDPH28d1li5e5Ndf85NP+L//WSeuXcs2bVi2LJs146JFNvO/+y7LlWPevCxWjK++yt27uXUr\
nO3XSnn1bIiLC/n7VwYP++FDV1ahSxTrKOcmzZ20ac0RHO3WY5Tq7dwf+SNzGdpUXgIkdyc6d\
n7XvFi4jQeoqaOdN+BygKP/ssR41wr1+3+Q4CmDcvr13j0qXOHgSKwj59uHMnX3qJzZrx+ee5\
nZk2OrvgzFqvbeWliInfu1KmuQWbXomfdOnbvzhdftOaCIrM9e9irF+vUYXw8a9dm+/Z8/nlW\
nqZLdb09cHA8dYrNmWkur4GB27sxq1bR959kvmnbtjP+y8/94/HGSPHLE8ZwudYB344Znileq\
nlM7E6Gidn8kVK7x0mGdn+3YOGWLzwKRlS966xWXLbOofA5wyRXtLw4b2Jc/myB86lDVqMDiY\
nxYuzfXvjjxY3IvMD/d699Tfjhg2cOpU//MDr132263zt4kV27cr4eNavn+uzc9349FMjN29g\
nJnanT9t/A6oqIyJ46JD+YwuA9erx6lU3V9ejh84C+/blH384exDMnq2z2DNn2L69Vlq3B4qR\
nzku97ehR/vwzp0xx8xo0PJwFC7JSJS5dqi0wMZHvv8/mzVm3LuPitI7sA/K7z6gwmbLcWU2a\
nkGRaWnbjByiKlv+56soVPvyw53el3U1BVWXhwrxxw2NHuEOJiZw1K8s2WL17MybG5lNbrmFG\
njeKwYS5/WLv6jv4WYWG87z6bWn0mE8eO5YEDnDmTe/fy+HFOm8YpU7hjh+92kJ87fJhxcdo+\
ntbR3tGy6kBCuXMlPP7W2fQkK0npmyZfPr0frVhT+84+RmzRguzs5eBCVKtk0VFZVdO0KsxkL\
nF8Jstp9fUfDMM5g5U39pCQk4fBgFC6J4cZ1Xy5bF0aP2EytUQO3aOl0nqCpIm4J17Iiffsry\
ng6SmIiEBffrg55+1njNd0rAh1q51+V3CGf/+i6eewqZNHuubOiICYWEIC8P58+7sa+GMkBCc\
nOYM8eRARobORx47F4MEAMHQoxo7VOjuw/Bsailu3YDLhuecwfrxNzxEuSUvDvHn4+mucPYsj\
nRzzQt3nFimjaFJ9/ri2naFH88APuvz9Hy8ze6dNYtAgXL6JaNVSqhJYtcfq0/pxu9BaRK5hM\
nuO8+xMbiv/8QEYHChZE/PypUQPfuKFYMAP75B3/+ieBgNG+u03ONcCg93drZb1oa/v0XBQsi\
nf36bea5dw9q1aNwYP/6I1atRrBjCw7FmDSIi8MIL2LYNc+fi5En7XqYtx2RYGF59FV26oH59\
njx2iigJFgdmMQYMwfrxnlukmI7NKR/75h6+/zoEDtXZqLlm0SCePLlkyu9Fd8+Sxqe6QYeRI\
n6+V7s2Y6/XrotjyNjta5rKxZkxs2WEdKiY7mRx859XG+/NL+gsDJYUl//93lTSec8c03gV9N\
nJPCifHnrI9RXX7V/NTLS2odIaipHjNCqWMTE8IMPmJbGkyc93Pvotm1s0iSn3aNYBjw9eJDz\
n53PFCpuuVj0oY8ssXcqICOvaIyIC/0TI/Py0RAnOmuWVLSy8xDJkaHq6zVigum7ftvbwsG0b\
nGzTgl1+ybl2GhzMyktWq8ZVX2LQpS5ZkvnysW5f9+7N5c5Ytyy5dOGQIH3+cvXtzyRLvfyRH\n/
Dex69nT5tTq0sW1t985ZrblnHR4DrduzUuXeOAAP/yQb72lNY7LOLFVlQ0a2A9iO2SIU18N\
nlStbWxucO6d1fOWk9HR262ZdWnCwU0MTDh7s2kYTTjpzxq8fBNzlUaoUx43j4sW8edPBfhw4\
nUEuqFIUVKuhXm7t40RtHkL39+zl0KKtUye5zqSqbNuWgQTZ5xjPPeHeQnvR0Pv20dhmpqqxa\
n1f1qId6IjNavzoQzD3AfeIADB/Ljj7lqFffscdD2WQj/5KePYr/9Fk88YT9xxgw8/7yzS0hM\
nRLlyuHDB5qlr1arYv9/BQy5FQc2a2L0baWlZzrN7N06cwNGjKFMGLVuCRK1a2LPHQZGCgpCQ\ngLAwZz/
CnVavxoYNiIxE69a4ehX169vPYBllMikJpUphzBidbSg8YuFCdOlidCFEFlq3xtKl\nRhfCLSSqVMH+/
fqvtmqFWbNQuDAuXcLixbh9G23bokgR7xbp6acxZ453V+EeVUX9+mjUCB9+\
n6Oxbdu7Erl2YOBHHjqFMGQwYgCJFMHIkTp1C8eL45huULu3FAgvhO0ZnlvqaNtW5lmrQQHv1\
n9m3u2cNNm7Qep7Ly118sWND69jZt2K2bs08Nsr+2y3znr1Il/vcfzWa+957jxdp1T+WGU6fY\
nsycLFGD+/Fo3BxmfKDqa587RbHawWUTOyQASfh65ujnh/PmsW9daYbxAAb7/vjEju5jN/nV/\
nLnM0asSTJ5mSYvMoI39+VqmiU+aYGK3jYiHuBn56x65GDezcaT8xPh4HD2LrVvTsiYMHASAq\
nCu+9h8hInDiBsmXRrRuSknDsGGrXhqoCQEIC/vgDq1djwQKcO6ezIvfq9lpG08v4++GHsWwZ\
nPvsMr7zi4I0xMbhwAcHBLq/R4uZN1KiBo0etw9jFxKBGDdy8iQcewNChKFjQzSULlxw+jPh4\
nowshsrZ9eyCM0Xz2LG7eRJky1lrkPvbffyhZ0phVZ6NNG0yciHLlrFMOHMC+fShWDHXqwGTC\
n7dvYswdJSShfHgUKGFdQIYxidGap77nndC7ROnbkkiUsUMB6j8ruvlrGhZqisEcPbVF79zI0\
nVP8twcGcMoUlSrhW+ffOm3kmE5OSOHmyU2+fP9/9zfL55zoLtFSdFj5Wp47xNy0CPtzr1UJR\
nvNWA4G6TlOTT3d2/P596Krt7hIrCJ56QJxJCOKAanVjqmzAB4eE2U0wmLF6Mtm1x8aL1bpnd\
nzbaMynMk5s3D668DwOzZSE21f8tjj2HqVOzbh5dfxrvvwmzW7vApioOCmUw6d/jS03HjBho1\ncvx2AP/
843geXRcv4quvdKZv2ODmAkVOrF2LRo2MLkQAURQEBSE8HBERyJ8fLVvi+HGkpWHv\
nXoSE6MzcujVatMCECfY9IAB45hmtsmmgOncOq1bh0iXrlNOncfGiB5Z84wZWr0aDBihSBCEh\
nHtiMUVFo1crxkwRFwSOPYOJEzJ6NVatQpozNq3ny4I03sGYNTp/GvHmIisppqYQIcEZnllk6\
ncYJ16zIsjKGhLFbMnes/S9+8nTvrXAJmHgiV5DffsHJlp2qThISwUCGbO3yqyuLFteU0auR4\
nCR9+6PKmSE7ms89mefeiffscb2vhrgMH2KKF1rIyLo7jxvGtt9iiBcuU8emtjlwXhQtbB2tR\
nVQ4cmN1GPniQFSta31usGFeutL56+LC1vyGTic8+a+3UIPBcv25zq9huHOqiRVmmDIODGRTE\
n2FjWrcsxY6zdlNi5cIFLlnDJEn79NceO5SOPuNbC1JkYNUrrJ9lsdjBnkyY2TZLT0/nvvzx0\
nSAa5EcId/pvYZXbvve48lFFVknzrLZ2XZs60X0VKilOjOioKK1WyDo9j6Sb7l1+0hWQ1rEXm\
nGDbM5Y9/Z4dbmeONN3K2cYUn2HX0bzZzyhTtguTOYXb9NjJ3qKYoLFqUhQqxQAF268bRo/no\
noyxZkkFBVFXGx2sHf2Qkp07lN99wzx4mJ3PpUm7axNu3uXs3P/6YRYva9M1RuTKXLNEepV29\
nyl9+4dy5PHTIqS2cnMzDh22GMM4sNdW1Mb5yi717+b//MSmJn33GLl3cGVm4eXOb7pk2b2aT\
nJr7oee6JJ2w+yIAB9jN06sRDh7h4MXfv9vFGFSLA+WnjCTvR0bhxw+V3xcTg6lUcPYrq1ZGc\
nrD2oVVUUL45duxAdbTPz33+jTh2nFqsoWL4c06ZpNehfew0NGmgvffAB3nrLwXvvu8+1h6ck\
noqORkJDlDOvXe7eXeZETt28jKAiJiYiNza4DHVcVLYoNG1CqFK5cwbBh+PNP5MuHxx6DomDw\
nYNy6ZZ1TVRERgdRUAKhUCVWrIioK/fqhShVrCQFcu4Y8eRAaqhVYGGXGDPTta98lk6WNl8nk\n5ngkv/
6Kdu0A4IUXMH26BwqZPUVB2bLYsQORkTbTf/4Zzz+PhARERuLjj/Hcc14viRB3p9zx\
nFX7vvdi40X4cMJMJYWFISgIAVYS+ICQAACAASURBVNX5yuvTBwDKlMGKFXjlFWzfDkVB06aY\
nMsU+qwNcGCCIxK5d2LsXR48iLQ0HDuC++6AouH0bDz2EfPlw7ZpW1Dub3JI4ccLZFVlcuaKf\
n1Vla5vboIVmdX7MkSZGRWkXPU6eQmop//0Xhwrh5E1OmYPly3LgB0jrWnKoib15ERKB8eTz6\
nKOrVw6pVmDoVp08jOhrx8ejcGS+/rNU0ypcPn39us8b+/d0pYVyczX+FIb75Br1760y3fI24\
nPcrc1q1o1w7z5vkiq4uIQLt2GDfOPqsD0LEjOnb0egGEELnjjt2KFWjVyiZ7i4vDpUtaiwez\
nGTExaNsWq1fj1CkAUFU8/bT9wK8JCQgOzrJ/YBLx8Th2zObbs0EDXLiA48etExVFK4YlabNk\
nV5MnI08eDByIK1cAIDoaiYlQVdx/P1avtlmLyYTWrfHrr659/IIFcemS/bi3zZrh0UfRq5dh\
nXSEID8povpPDeYRf2b4dU6aAxFNPoXFjx/OHhyMlxfPFmDgR/fvjySfx7bc6w2TnUPXqyJcP\
nZ86gUiWMG2fTC4kQwhC5I7EDsHQpRozArl0oXBi1aunkRnPmoGdP3LiBw4dRu7Y7q/jnH7Ru\njfPntf/
WqYOVK7F1K1q1AqDdTbmToiAqCjdvaqP/AlBVlCuHv/9GVBSefRZff219kqKq2LDB\n2We+GSZNQv/
+WhJpWdR772H4cHc+oxAis8uXMXcuYmLQooV1FIfUVOzZg127sG8fwsNRrx4i\
nI7F6NX78ERcuIDISISE4cgSRkejQAVWqoEwZdOhg03qXRIMG2LzZOqVSJWzdqnMfKzNnmtW7\
nxNLWePduVKiADh2wZIknEztFQa9emDbNYwsUQniGwXX83NK7t33lX0Vhv34eWHJCAufP57hx\
nXLrUWuN4+3b27Ml8+bJrwHFnZeRly0gyJYWjR7N8ecbEsFkzbtjgTqnMZk6dylKlCLBYMX78\nMW/
f9sCHFeKukpTEF19khw58801OmMDHHrNvi1CsGLdu5fr1vOcel9sKhIZy4ULrunQbPHXu\
n7KCE7vXbl02Eh/Prr7WFv/++a+81mViqlLVIoaHs2pW//cbTp3nunLf2kRAi53LNHbvMBg/G\
nuHH2989GjMCoUV5caaFCuHBB/yXd4SsmT3Y8EIWr0tLcH7VCiLtW
WhoaNcKmTTYTdU9bVUV0\
nNK5dc2dAmuBgnDuHfPkAoGBBnY7lVBW3bmVXi7FMGRw75vJ6M1MUhIejZUvUrImyZdG4MYoW\
n1V5KTETt2tqYPXcqUABvvIGHH0bZsjCZrD3Y7d6NTZsQHY2mTa0VMYUQ/ixXJnZr16JxY/s6\
nZxs3ol49L640Ph6HD+tMVxTt69juGceqVWja1IvlEULc6fRpLF2KK1dw5Qq+/RaXLiEmBgUL\
nYtcuX6x9wgQMGAAAYWE2bZPvnEHXrVuIitLaKWcWGoq2bbFwoeMCFCqE339HzZr6ryYk4JNP\
nsGIFrl5FeDiKFkWBAqhcGf37yxWjEIEjVyZ2AMaOxdtva9+AwcH46KPsvi494rXXMHGizvSO\nHdG/
Px5+GKTWxkJRUKcO1q+X70ohfGrqVAwcqJ9R+UavXlrL06yuA6Oisuu6CACJXr2waBEA\
nPPooJk7E5csoVQoARo+2r1lbqBDefBM9emDTJuzbhxIl0KED8uTxzGcRQuRSuTWxA/Dvv1i9\
nGqqKJk1wzz3ZzXn6NP78E8nJePBBVKrk5uqSktCqFf76S/tvbCzefhsdOmij3yxbhkGDsG8f\
ngoPx6KP45BNrRWwhhLclJ6NFC6xbZ3Ax5s9H9+4AsHIlWrTQnyc93f3WzefOoVMnHD6MmBg8\
n+SRGjvR8ewshRG6XixM7J82ejb59tU4EFAVvvIEPP3RzUST++AO7dqFQIbRti5gY+xlu3kRY\
nmPQEJoSvVamCffs8s6iiRXH2rDt17AoXxtmzDoqkKFpnSUII4SUBntgdOoR770Vams3X9E8/\
nST+ZQgSO+fPRo4dnFlW5Mlatwrvv4vvvtSYUiqIN+ZBVh0cAVBV16uDXX1GokHXiP//o9LtU\nqhSOH/
dMUYUQQleAd3j6xx9ITbVvZrF4sXEFEkJ42u+/uza/oqBFC4wejfffx7x5aN8eJUqg\
ncmWMGYM9e1C4MKZOxeXLSE+H2Yz0dKSmIj0d6em4eRPNmtk8SFVVxMbi1i1s3myT1QGoVcv+\
nAtJkwm+/ufshhRDCOQH+1NAyFERmioLLl40oihDCO5wcrUFV0agRJk5E9eo20594wqm3Kwoi\
nIzF1KurVw/XrMJm0sUBmzsyy9sVPP2HuXEyYgCtXUL06vvzSPvkTQgiP8987didPont3xMYi\
nJgZdu+LoUXcWcucYD+np3u0VRQjhY/fd59RsZjO6d7fP6lwVH49DhzBiBDp1woAB2LnTQb2O\nJ5/E33/
j2DH8/LNkdUIIX/DTOnYJCaheHcePa09RVRVFimD3bsTG4upVHDyIwoVRurTj5ZBo\n0wa//
24dYf2ee7Bzp/QIIETgSElB/frYtUu/z2H8f1/E992Hv/6Stk1CiADnp4ndF1/gxRft\
nJ44fjwsX8MknWvd1TZtizhwUK+ZgUamp+PRTLF2KxEQ0aYIhQ7Su4YUQASM5GZMnY+1ahIXh\
nwAHs3atNt9SHe/BBdOqEl16yGc5VCCECkp8mdi+/jM8/t2/0ULs2tm61TlEU1KqFrVul7wAh\
nhNW1axg+HPPnIyEBNWvio4/QuLHRZRJCCF/x08Tuww8xZIj9RMvwi3blzegRVAghMktPh8lk\
ndCGEEMK3/DSxO3QI1asjNVUbgFVVERSE4GAkJtrPWbw4/vvP9wUUQgghhPA7ftcqlsT164iP\nx/
ffI39+bWJsLObN0x8N7PRpnT5NhBBCCCHuQn6U2CUm4rXXEBmJmBgULYrz53HiBDZvxsaN\
nOHkSXbrgzTd13qUoCA31eVmFEEIIIfyPHz2KfeYZzJ6t/a2qMJsxZw569rSZp0IFHDpk/a+q\
n4oEHsHat7wophBBCCOG3/CWxu3QJBQrYTFEU3Hsvdu60mXjwIJo0sY60XawY1qxB2bI+KqQQ\nQgghhD/
zl8Ru3To0bGg/UVWRmmrfri0xEQsW4NgxlCmDxx5DRITPyiiEEEII4df8JbE7exZF\ni+pMnzQJ/
fr5vDRCCCGEELmQvzSeKFJEZ1xXRcHSpUaURgghhBAiF/KXxA7Ak0/qTJSuTIQQ\
nQgghnORHiV2TJjoT77vP5+UQQgghhMid/Cixq1YNffsCgKpCUaAoKFAAw4cbXSwhhBBCiFzC\
nXxpPWFj6rvvhB1y/jvr1MXgwChY0ukxCCCGEELmEfyV2QgghhBDCbX70KFYIIYQQQuSEJHZC\
nCCGEEAFCEjshhBBCiAAhiZ0QQgghRICQxE4IIYQQIkBIYieEEEIIESAksRNCCCGECBCS2Akh\
nhBBCBAhJ7IQQQgghAoQkdkIIIYQQAUISOyGEEEKIACGJnRBCCCFEgJDETgghhBAiQEhiJ4QQ\
nQggRICSxE0IIIYQIEJLYCSGEEEIECEnshBBCCCEChCR2QgghhBABQhI7IYQQQogAIYmdEEII\
nIUSAkMROCCGEECJASGInhBBCCBEgJLETQgghhAgQktgJIYQQQgQISeyEEEIIIQKEJHZCCCGE\
nEAFCEjshhBBCiAAhiZ0QQgghRICQxE4IIYQQIkBIYieEEEIIESAksRNCCCGECBCS2AkhhBBC\
nBAhJ7IQQQgghAoQkdkIIIYQQAUISOyGEEEKIACGJnRBCCCFEgJDETgghhBAiQEhiJ4QQQggR\
nICSxE0IIIYQIEJLYCSGEEEIECEnshBBCCCEChCR2QgghhBABQhI7IYQQQogAIYmdEEIIIUSA\
nkMROCCGEECJASGInhBBCCBEgJLETQgghhAgQktgJIYQQQgQISeyEEEIIIQKEJHZCCCGEEAFC\
nEjshhBBCiAAhiZ0QQgghRICQxE4IIYQQIkBIYieEEEIIESAksRNCCCGECBCS2AkhhBBCBAhJ\
n7IQQQgghAoQkdkIIIYQQAUISOyGEEEKIACGJnRBCCCFEgJDETgghhBAiQEhiJ4QQQggRICSx\
nE0IIIYQIEJLYCSGEEEIECEnshBBCCCEChCR2QgghhBABQhI7IYQQQogAIYmdEEIIIUSAkMRO\
nCCGEECJASGInhBBCCBEgJLETQgghhAgQktgJIYQQQgQISeyEEEIIIQKEJHZCCCGEEAFCEjsh\
nhBBCiAAhiZ0QQgghRICQxE4IIYQQIkBIYieEEEIIESAksRNCCCGECBCS2AkhhBBCBAhJ7IQQ\
nQgghAoQkdkIIIYQQAUISOyGEEEKIACGJnRBCCCFEgJDETgghhBAiQEhiJ4QQQggRICSxE7nb\
n228jKgpBQYiOxujRMJuNLpAQQghhHIWk0WUQwh0kqlTB/v02E9u2xeLFBhVICCGEMJrcsXPg\
n9m2jSyCy8Pnn9lkdgCVLcPKkEaURQggh/IAkdlnasgUPPICICOTJg549ce6c0QW6i924ga1b\
ncewYMu4vJyZiyBD9mRct8lm5hBBCCP8iiZ2+w4fRpAk2b0ZaGm7exLx5aN0aqalGF+uuNHo0\
nChZEvXooUwYNG+LIEQB4+20kJOjPr8pBLYQQ4m4lv4H6Jk9GcjLS07X/kti+HStWGFqmu9Ls\
n2Rg+3JpSb9yIRx9FWhp+/z3Lt3Tu7JuiCSGEEH5HEjt9+/ZBUewn7tljRFHubrNmQVWtT2DN\
nZuzciR07srxd9/DDKF7cZ6UTQggh/IskdvpKl9aZeM89vi6GOHpUpweTY8fwwAM6j1xffhnL\nl/
umXJ731lsoVgyFCuGpp4wuihBCiFxLujvRt2YNmjQBoN0rMplQoAD27UNsrLHluuu0aYNl\
ny+xzuz17EBmJmjVx/bp2Y9VsxvjxGDTIkDLmVEoKYmORkmKdEhyMa9cQEWFcmYQQQuROcsdO\
n30MPYeZM5M2r/Tc+HosXS1ZngMGDAcBksk7p2BFVqqB0aezbh9deQ5Mm6NYNy5fn1qyORJky\
nNlkdgLQ01KhhUIGEEELkZnLHLjvJydi3D1FRKFfOJrcQvvT77xgyBHv2IDoaTz+Nd99Fnjye\
nWfKNGwgPR3CwZ5bmnpUr0aKFznRVtbbdEUIIIZwkd+yyEx6O2rVRoYJkdUZ65BHs3ImUFFy5\
nggkTPJPVLVmC8uURHY3ISDz+uJGdFP7zj/50GRtNCCGEGySxE7mDB++rbdyIjh1x7BgApKXh\nhx/
QsaNhQ4zExelPd6mCXb9+CA2FyYSoKHzxhUfKJYQQIlcKMroAQvjapEkgrbfEzGZs3oyN\
nG9GwoQGFefhhhITo9H09d25277p5E2vX4soV1K6Ndu20TpsBJCbixRexezc++8wrpRVCCOHn\
n5I6duOvs36/zoHPfPiOKApQsiW+/RWiodYqiYPJkdOqU5VvWrkW5cmjTBj17okoVa1aXYepU\
nSNVZIYS4O8kdO3HXKV8ee/bYN00oX96g0gCdO+PMGfz8Mw4eRP36aNsWISFZznzjBrp2xaVL\
n2n+zSuDWrsVDD3m+qEIIIfxcALaKTUnBoUOIjkapUkYXRfillSvRsiUURbtvp6qoXBnbttnc\
nNvNbK1agZUvHs+3ciapVZdhcIYS46wTaF//UqShQANWro3Rp1K+PgweNLpCfOXcOffsiPh5V\
nq+LNN3H9utEFMsLDD2PWLMTEaP996CH88kvuyOoAXLjg1Gw1ayIiAt264dQpLxdICCGEPwmo\
nO3aLF6NDB+D/n0+pKsqXx/btCA83tlz+4sYNVK+OEyesz+/q1MGGDQZ35GaU9HQcOYJ8+bJs\
nl+qf9u1DlSo2UxTF/oGsqmo3IxUFVati69Zck7YKIYTIoYC6Yzdzpv2A8QcPYsMGQ8vkT778\
nEseP2yQB27Zh4ULjCmQokwnx8bksqwNQuTKefx6ANpaaqiIyEi1aIDgYqoqQEGtWB4DE7t25\
nePxcIYQQrgqoxO7oUZ3O+o8e9XUx9u9Hv35o1w4DB2qdpfmJ7dt1elrOqoNc4be++AKTJqF+\
nfcTHo0cPbN+O5cuRmor0dP0eW/bu9XkRhRBCGCSgWsVWroy9e+1zu8qVPbb89HT8/DN27UKR\
nIujUCYUK6cyzfDnatkV6OlQVS5di6v+xd9/RUVRvA8e/s5seeugdgRAg9BZa6KhUKaKCICoI\
nqMgrioqIFRUrIoiIIEpRQYpI79KRjvRQAqGqEBICpO7O+8fOL8sOk7LJJpvyfA7Hs3Pnzp1n\
nIxwebp3Gli00a+ayGDKjVCmDbT4Mv4XIyTw8GDmSkSMNblWpwubN+sIHHsiGoIQQQuQIeWqO\
n3d69tGiBqmq5naLQujWbNrnmQLBbt2jbloMHtcuCBVmyhI4d9dUqVODqVXtyaTYTHMyhQy4I\
nIPO2bqVtW/jfHERFwdOTv/+mRg23hiVcZ8cOQkPhfyeSmc2UKsWxY/aVIkIIIfK2PDUU26QJ\
nq1ZRuzYmE35+DB7M4sUuO+Z17FiH/OzOHfr3Jy7Ooc6lS1y65NBlaLHw99/cvu2aGDIpNJRJ\
nk+xLJQoU4McfJavLU1q2ZO5cihbVLmvXZuVKyeqEECIfyVM9dsni4vD21maXu0rVqgbT9f76\
ni6ZN7ZfXr1OihL6OpycxMTloWeLVq+zciZcXLVoQEODuaEQWSEwkLAw/PypXdvGfAiGEEDlc\
nnppjl8zHx/Vt3rmTdmHx4tSr53CqgclE69Y5KKsDypShTx93B5Hj7d/P2rXExhIaSqdO7o7G\
nSZ6e+i1RhBBC5BN5s8cuK/Tty9Kl9sUHioKXF//8Q+HCDtWOHKF9e/uJT+XKsW0bVapka6gi\
nkz76iLfesu8L8/jj/PyzdH0JIYTIBSSxS6/wcBo2JDpa2ypPVfnmG0aMMKgZHc2CBYSHU706\
njz+On1+2xyoy4eBBGjXSb/k7Zw4DB7opICGEECLd8uZQbFaoUoWTJ5k0ib//pnRpnn4aHx9C\
nQ7l4kYoV+fJLGjXSahYuzHPPuTVWkQmbNxsc5LBhgyR2QgghcoH8m9hZrZw4QWQkwcH2VYSp\
nK1WKiRO1z7NmMWSI9vn8eRo35qefGDQoS0LNt+7cITycChX0491ZSrfSGVAUg0IhhBAiB8pT\
n252k37FjNGhAcDChoZQuzQcfON3CCy/oS4YNc0lo2SQxkdhYdweRsqQkXn2VIkWoU4eiRRk0\
niFu3sunVLVvqSywWWrXKprcLIYQQmZEfE7u4OHr1sp+zlJjI228zf74TLZw7R3y8QbMREa6J\
nMEv99RcVKuDlhZ8fhQszZ467AzLy4Yd88QVJSQCqyrx5PP98Nr26TRueeQbAZNI2QQwJYfjw\
nbHq7EEIIkRn5cfHE1q20aeNQYjLRqRNr1qS3hYgIKlUyKL98mbJlMxueUywWZs1iyRJu3yYk\
nhDfeSONU+8hIypZ1yEoVhT//1I4ryDlKl+affxxKTCaioihYMDverqr89hsrVxIXR5s2DB1q\
n39VZCCGEyMnyY2I3b57BRPjAQE6dcqIRPz/9UKa/vxtOmHjqKebM0RbqAqVLc+RIatsOjx7N\
npEn6wqZN+euvLAzSWbGxxkuJDx2iXr1sjyZVSUmcPUtSEoGBkvwJIYRwv/w4FBscrC8xm53O\
nGH780WFjM0Vh7tzMBuasPXu0gVSrVduB5do1PvkktUeSz7q9V3h4loSXYb6+VKig3zfObCYw\
n0E0BpeDPPwkMJCiI4GAqVmT5cieePXaMiROZNSunHDcnhBAib8iPiV29evToYb80mzGZGDvW\
nuUb69ePECbp2pVYtunXj1Cl69XJtmGnbu1dfoqr8+Wdqj1SrZlBYqpSrInKZN95AVbXczvbf\
nkSPx9XVvUA4uXqRnTy5c0C7//Ze+fe0TN1PXoQPBwYwdy5AhFC3KzJlZF6YQQoj8JT8mdorC\
nvHm8+iqlS+PtTfPmbNpEgwZOt1OjBitWcOwYy5dTvXoWBJoWw5PKLl1K7ZFXXsF03//z0aNd\
nFpKrjBjB119TsiRAoUK89ZZ9o5kcYulSbt2yn0RitZKQwC+/pP3g6NFs2mS/TEpi2DAuXnTu\
n7ZGRHDrk3CNCCCHyg/yY2AEFC/LZZ1y9Slwc27bl1s0sDLffi4lJ7ZGgIGbMwMtLu1QUXnyR\
np592fWyZpCiMHMm1a0RHExXFBx/krPN2MRq/Nps5dy7tB+8fsrdamT49ve89eJBy5QgIoEED\
nzGZGjkzvgzoWC8ePs2ePjAULIUSekk8Tu7zBcGVusWJpPPXss9y+zerV/PYbUVFMmZIVoblM\
noULujiAFQUH6EouFBQsIDmbRotQejIw0KFy9Ol0vjYsjNJQrV7RLq5WpU41nVUZGMmIExYrh\
n7U3r1uzc6XB33z6Cg6ldm2bNKFPGibRSCCFEDpcfV8XmGfHxVKzI9ev2AUFFYfhwpk1za1j5\
nwOnTdOtGWJjBLZMJq5WlS3nkEeNnk5cw36t6dePWdGbOZOhQfWHp0ly96lBitdK+PVu3ai8y\nm/
Hw0JI5ICqKWrX4918sFvjfFMa1a+nUKe0AhBBC5HDSY5eLeXvzyy8UKGAvqV8/x81Fywli\
nY5k4kU6dePBBvvjCYHNpZ/Xrx5kzxresVkwm3n/f+O4HHxhkdaDNJkzT/ctlgBs39CXbt7Nl\ni/
1FFguJiXzxhXa5cSNXr2pZHWiLVLJ/TbcQQoiskH/Pis0b2rfn9GmWLuXKFerXp0cP7bAE\
n14qL48wZSpTIietn75eYyNGjxMRQty5FipCYSNu27NmjrRpZt47ly9m4MeM/qPPn01i4YLVy\n/
Lh9VW+y69d57z3jRzp2TNerGzdmxgx94f2D7/cvzlVV/v5b+5y8kvfeuzltyxshhBAZI4ld\
nrleyZNYeU/v557zzDnfvAnTqxKxZVKiQha/LpD17GDBA607z8eHDDylcmD17APuA9ZYtLFzI\
nE09k8BX//pt2nfLl9VkdcPCgvZ/sXpUrM2ZMaq3ducP58wC9e/Pyy9y543B31Ch9/YoV9SWK\
nQuXK2ufatQ3u1qmTWgBCCCFyCxmKddrmzXTvTq1adO/O5s3ujiaLzZvHmDH2MzY2bqRvX+Ps\
nJGNiY1m+nP796dKFESPYsiVTrUVF0bOnvfMpPp5XXuG33/Q7vChKpk7aCA7GI61/ED37rEGh\
n4SrmgACOHsXf37idmBieeYaCBQkOJjiYEiVo187eb2oyMXy4wRaMoaGUKeNQkpzUgsEyWJOJ\
nl19O6asIIYTIVVThjN9+U0E1m+3/XbjQ3TGl5fx59c031SefVN99V7161blnQ0NVk0kFh1+H\
nDrkmsD171HLl7M0qigrqxIkZb3DpUn2oZrMaFKS1fO+v0FB1zBj1999VqzUjL5owQd/gvW8c\
nNUpNSjJ4Ki5OLV9e+22T/Ov111N70aBBBsE/+aR67Zq6Z09qD7ZqpX/QZFKvXVNVVW3a1KBN\
nZ39jCCGEyJlkVaxzypXj2jV7/4fJRKlS9u0ncqCtW+ncmfh4bbVmgQKsX09ISHofL1fO4Nst\
nXkzv3pkNLDaWGjW4dEm/mMBsZt48Nm3ixg0aNmTkSAoV4uxZNm4kKYnWrVMbNJwyhZdecihR\
nFGrW5MQJ4yULwMMPs3y50/PtVJWWLdm1y15iMtGsGZ9+Ss2aqZ3Vu3s3PXvaB3MffJDff8fH\
nx7jy7dsULuzQ2WajKERFpbERTKlSBkPGq1fz0EN4eZGYqL+1YQMdOqTWoBBCiFxBhmKd8O+/\
nXLni8Bet1crVq/rNJnKUwYNJSoL/Dcbdvk3z5hQqxOuv2wdYU1G7tsFJFTVruiCwAwe4eNEg\
n37JYeOIJZs1i2TLeeovatZk4kZo1GTaMF16gXj3eeCPFNu/P+RSF1q15+22Db2GzenWKu7gt\
nW8awYTz9ND/8oB99VhRWrKBFC3tJcDALFtCqVWpZHRASwpkz/PYbU6awdStr1qSY1akqc+YY\
nZHW2WymtyU1WsqTBJL+SJTl82CCrA27dSqNBIYQQuYO7uwxzk9hY1cPDYOjt7l13R5aCy5dT\
nHDEE9bnnHCovXKi2a6c+8IDarZu6fbtWuHatqij20VhFUbt3z+Dwpc7ixSkGdu9AoaJov+6t\
nsGKFcZsWi9quncPgo7+/evq0qqrq0aPq1Knq44/r32Uyqb17GzQ1fLh21/bdQ0PVxER9HatV\
n3b5dnT1b3bTJeOw1w+Lj1Y4dU/z5mExqTEwaLbz7rv53adWq6t27aqVKxm2WLWvwBYUQQuQ6\
nktg5p2tXhzlnJpPapYu7Y0rZtWupJXaKot68qdWcNEn7Orb/Koq6bp12a9EitXp1FVR/f3XE\
nCDUqyjWxnT2bWmyGSV7yz3zECIMGz51Te/VSCxRQPT1VHx/V11ft1Ek9cMChzldfGbyidm19\
nU1u3GlSbNs01Xzw93n8/tZ+J4dfXSUhwyGKrVFEPHVIPH06t2b//zvovJoQQIovJUKxzZs6k\
nXj37Zd26zJzpvmjSUqoUNWqkOIFMVTlxAiAujtdfR1G0gT+rFUXh1Ve1an36EBbG7dvExDBt\
nGoULuya2Bx6gWzd94f0DpveP1VqtzJ/Pd985DFNGR9O2LcuWcfs2iYkkJFC0KL/+SoMGDs82\
nb24Qyf37um3fri8xm9m2LaWv4npr1xqPHXt68uqr9q2GU+HpyS+/8PffzJ3L+vWcOEG9emls\
n1BIVlcFohRBC5Byyj51zSpdm3z7+/JOzZ6lalbZtU5y8lUPMmUPHjsTEGN+tWpWHHmLtWn25\
n1cqxY8TH4+2tlaS0H0cqEhIAvLwAEhOZO5e9eylShD59aNwYVWX/fhTFnropCkWLcvOm8cSy\
ne8XEMHw4N2/a59vNm0dEhEP8V67w44+MHu3woOEEuNu3iYx02ObXcDeTNLc4caHbtw0y2unT\
nGTrUud9vdeo4zDusV09bQ3M/Ly/q13c+UCGEEDlMzs5KciSTifbtGTqU9u1ze
lYHNG3K6dN8\n+qm+s0pReOQRvv/eIKuz1/e5iwAAIABJREFUKVTIntXpxMRw5AjR0Sm+9O+/
adMGPz98fChU\niGbNqFqVZ5/lu++YOJGmTfnqKy5c4OpVh/
RFVblxQ592hIQYnGFqO9Thvfe0dSHAsWP6tQIm\
nE0eO6B8sV84gPytUiMOHWbyY06e1krZt9a1ZLNm6aPTeZRk2ikKnTpn9/VaihJYK399OYmKO\
nXtwthBAivdw9Fixcb9s2dehQtXt39a231P/+0wotFvXNN1UvL21C1WOPqZGR9sv7f3l5qT/9\
n5NBsXJxapox+AlyJEuqcOQ7Vrl1Tixc32P3u3qc8PNRdu9KeYDdmjGqxqAkJ6scfG1c4cUJ7\
n6cSJBnfffdfgh/PUU/p5e4UL2wMbMkS1WFRVVcePd6jWu7drloyk0z//qKVLaxMKbT/J8eNd\
n07LFov7wg1qhgsGPq3hx17xCCCGEG8k+dnnNt9/ywgsoijZnzteX119n4ECqVAGIjeXMGcqX\
n105BuH9HjGSKgsnE1Kk0akSdOpw7Z3AUVbKff7af0PXee7z7btpxzpvHe+9x7lxq51iMG8eE\
nCQCqSpEi+i05FIXoaAoWBDh9mnr1iI/XOvxMJjw9OXjQYGeWmBhGjODnn1FVTCb8/blzx6Gb\
n8PPPeeUVgN27WbGChARCQw2mA2a1yEgmTWLvXooV44kn6N7dNc1GRTFyJPPmGd+NjU1x+xUh\
nhBC5giR2ecrNm5QpQ0KCfoaWlxezZvHkk/r6ZnPaE9oAPz/i4lKrWaoU164BfPYZY8em68yx\
nuXMJDKRz59SGdL/6yn4Q6gsvMG2a/Zai0LMnS5faS1auZMgQLYySJZkxg549U2z5v/8IDycq\
nigcfdChXFBo31s6WzXuioggM5L//Uqxw/Xoa+/AJIYTI4SSxy1M2bTKeCqYoeHtz9ixlyzqU\
nBwdz7JgL3msyYbGwbBmPPJJ2ZUXBbCYsjCpVuH6defM4fx5VZcoUh4UUnp4cOUJgoFZy9y5P\
nP83Chdrlgw8yf74+C4mP59gxVJXatdPV87R0qcERGqVK0aMHJ05QoQIjRtC6ddrt5Bapr6j1\
n8DDeu1gIIUQuIoldnrJzJy1bpnh3wQL69XMoWbnSNYOMfn7cucNjj7F4cWrddbYlmYrC55/r\
n16sCH37Iu+9q6yH8/fnuOwYM0NcJD9cywuSELzPCw3ngAX2ENrb1GarK7Nk89ZQL3pUTNGzI\
nwYMp3u3UiXXrsjEaIYQQWUC2O8lT6tenWDGiooyHTe/c0Zds3eqa99oWrl66lOJwbYECDBxI\
nTAw3blC9OnXqaJnTvcaNY8AAdu3C05M2bShRwqCdKlW0yYIuUaUKw4czfbqWw5lMWlS2b2Er\
nefFFBgzI1r1Oso6vb2p3g4KyKw4hhBBZRnrs8prVq+nbl7t39eWKwvHj+r+8q1c3PnXU09OJ\
nUbnatTl0CA8Phg1j5kx9blezJidPoqp4eGA2Ex+vlVeuTKNGVKzIs8+mtiwjqyUlMXUqc+dy\
n7RqNG7N6tcEXP3yYunXdEZyrffmlti7E0Ny5BrMwhRBC5C6S2OVBly8zbx4ff0x0NGYzqorV\
nyuuvM3GivmalSg77+tr4+XHgQHr7b3r3ZvFi7fOZM9SvT2ysPbfz8SEuLsVnbT12JhMLFxrM\
ndXOWxcKpU9y6Re3a2lJZZ6kqRYsaLOYID6dy5cyGlxNYrbRowV9/Gdxq3pytW/NIx6QQQuRn\
nOX6DXeG8cuV4/XUiInj/fR5+mCeeYNkyg6yOFM6TqFWLGjUoUybtF4WEMH++/bJCBaZPp0ED\n/
P0pV47AwNSyOkBVtV/PPsuZM6xZw9GjBicupMfBg9StS+3aNG9O6dJ8/XVGGlEUunVzGCA2\
nmwkKyiNZHXD4sP2znx8VKlCpEvXr8+GHbNwoWZ0QQuQF0mOXr9nGSXVsQ3Lx8dSo4XCOavJp\
nVMkfFIUOHVixAm9vduxgwACtvrc3b7/N22+na98Tm+SzxVq35tdf9at3UxcTQ61aXLlijwpY\
nvpyuXZ1oxObGDdq35++/7SXlyzNrFp07O91UTnPtGsHB9hPbTCaKFuXoUUqXdndkQgghXEd6\
n7PK1okUNTpeynZrq7a3tQrJ3L6dOkZSExYLVSrNm9pqqyoYNVK5MeDi9e3PxolaekMC4cU5k\
ndbambHbsYOBA577Fli0O6zZsix7mzHGuEZuAADZuJCDA3m935Qo9enD8eEZay1Hmz3c4sc1q\
n5cYNhw5XIYQQeYAkdvnaQw85rHUwmShcmJAQhzqNGxMYiNkMcP48f/2lXx5x7RpDh/Lvvw6p\
nldmMh4fByRapnHVhY7WyaRP//OPEt7i3WzG5kXPnnGjhXqtWceOGPdG0WklI4IcfMthaznHy\
npMFxuvf31wohhMjVJLHLBf74g4ED6dmTCROIiXFly2+8oe1UYuPry5w5Wo+doUuXjMv37tWX\nWK2UL6/
f06RZM3r1okmTtBc3pPQiQ/cvqlWUjK9jPX1aX2IysWYNTZtSrRpPPMGpUxls2b2q\
nVdPPX7RaqVbNTdEIIYTIGjLHLqcbO5aJE7Ut1lQVLy9GjODddylSxGWvWLeOffsoXpxu3bTJ\
nbZcvM3UqYWFUrMiwYfYVsjdvEhBgsL7Bz0+/wYrJxLBhNGzIF18QHk6VKowdy6BB2t3YWObN\
n49gxypfn++85c8ahF9DDg1u30th07V4WC+3bs22bFpjZjKcn+/dTq5ZTPwbN3Ln2OO+VvNed\
nry+HDuWClCgyUlvPazuf48IF6tSxH4xrNuPvz5EjVKzo3jCFEEK4lCpysJMnVUVRQf+rVi31\
n7t2seumhQ6qfnwqq2awqiurhoa5aZb/70kv6YEwmtXNntX17h5ICBdSzZ9P1uiVLtEdA+7Jv\
nv+10zDduqMOHq0WLql5eauvW6q5dTreQLCpKrVhRiyc5MN33HTgw4+2nM4axY9WQELVNG/Xj\
nj9XYWIM6t26pO3eqBw6oCQn6W7Gx6tCh9h/pwIFqTIyqqurWrWpgoPYtAgPVbduy9lsIIYTI\
nfpLY5Wg//miQ1dl+ffNNVr00JEQ1m+0vMpvV0qVVq1W7m5io9utnv6soqr+/euKEGhWlvvyy\
nWqGCWriw2qWL+vffTrxx2TK1SRPV318NClKnTlWTkjIefHKcmXH8uNqmjZZlli1r8MMPCnLB\
nW1Jy544aFKT9bG3JWfv2qsXiUGfWLLVQIS2YSpXUP/90uDtqlD7gZ56x342IUCMisjB+IYQQ\
nbiRDsTnawoU89phBucnEU09lyYz++HgKFjQ4feHMGapWtV9u3crMmVy5QnAwr7xChQouePXN\nm6xfz/
XrNGyoX8DhrIQEAC+vTDUSE0NCAgcO6Pc6MZkIDWXz5kw1ngrD8yGWLKFXL+3z9u20\
naaMNzdviKVSIEye0jUtUlcKF9XMxFYW2bRkzhoceSnv9ihBCiNxLFk/kaC1b4uNj8DexqlK8\
neJa80Ww22AAF9IlCaChz5rBhA1995ZqsbvNmqlXjscd44QWaN6dPH5KSMtLOmjWUKIG3N97e\
nlCjBypUZD6lgQQICCAmhVCmHn4nVSt++GW82Tfv2aWuQ73Xv8pSffwYc1u1GRbFqlXZ544bB\
nChtVZfNmunSheXP+/df1MQshhMghJLEzduwYP//Mhg1pnJ2Q1cqV47vvDP6aB3r0yJI3engQ\
nGGhQvnx5lrzOJiaGfv2IirKXLFnCZ5853c7Zs3TrxvXr2uX16/ToQVhYpmIrWJDFiylVSrtU\nFIYP5/
nnM9Vm6ooW1W8oYytMFhFhkOsn7/lSvLjDPnw6e/bw3HMuCVMIIUROJImdXlISAwcS\
nHMyAAXTqRM2aHDjgzngGDeLkSfr2tad3np58/jmtWmXVG1u00JeYTMybR61aBAYyYoRzm8yl\nx969XL/
ukM0oCn/84XQ7Y8bod0W2Whk5krCwDPb/2bRsyenTrF3L/PmcOMG332Kx8MMPPPss\
nL77IunUZb9lQ9+4O644VBQ8PHn7YXhIcbJD51alj/zxuXIons6kqy5cTG+uqYIUQQuQw7p7k\
nl+N8+KHDrHOzWa1cWY2Lc3dYqnrpkvrrr+r8+eqFC1n7oilTUlyxYZvRX6WKeuuWK9+4aJHB\
ni6pXd7qdWrVSDLt4cXX+fNdEm5CgtmihLY+1LbAYPdo1LScbP96+GtfTU/38c4e7Fy+qRYrY\nKyiKWr+
+w29Rq1WdPFn190/xp7FokYsDFkIIkUNIj53eokUOw1gWC+fPO5ye7i7lyvHYY/Tv\nn+Ubj/
XoQcGC9lllukE9VSU8nBkznGjwzh3++y+1Co0aGRyKcO/ZZemUymy/yEgGDmTbNqfb\
nvN+0aezcCWC1ah1jkyYZbNGcGe+/z8sva/8LEhN56y3mzbPfLV+ebdvo3Bk/P4oU4emnWbMG\
nb297BUVh6NDU+nRdG60QQoicQxI7vWvXDIaxrl1zRyhuUrEiixfbz4a/N2OwMZs5eDBdTZ09\
nS+fOFCxIyZJUq8bq1cbVKlfW1oGaTCgKJhMFCvDBB05HPnZsirdsY5ezZjnd5v22bdPPelRV\
ntm51QcvJNm7kyy/t461xcTz1lMOJF8HBrF7NnTvcvMmsWfYpgDbnz1OjBmvXGjeuKNy86cpo\
nhRBC5ByS2Ok1bqxfFqooNGjgpmjcpFMnzp1j3z527+att/R3rVZ9JmHo7l26dGHjRi1RDg+n\
nZ88UM8JPP2XuXDp1omFDhgzhyBEqV3Y67DZtmDjReK0JoKqcOeNEa9HRbNnCihXcuOFQbrhq\
nOKWXZsysWQbHf6U/0332WS5fTvGuqmakN1QIIUSuIImd3oQJeHhof3nb/jtqlGt29MhdvL1p\
n1IhmzejdG09P/VBp795pt7BuHWFh9m4nqxWLhenTjSsrCk8+yZo17NvHd99lfLj59de5fZsV\
nK3j7bYNX1KyZ3nZs3WBt29K9O8WL07IlV65ot9q10y/RsO0S50L79hkUpnM+QHw8W7carK5I\
n1qQJAwdmMDAhhBA5nCR2enXrsncvjzxCpUo0acK33/L55+6Oya1q1mT2bAoU0C59fPj6a1q2\
nTPtBw31G7h1PzCI+PnTtyptvUreuvXfNbMbDg5Ej09XCzp089xzx8Q4l3btrS2ufe46HHoL/\
nzT5UFN55h/r1XRb/3LmcPm1Q7ueXrsfj4/V5p02JEoSEMGECf/6Jp2emIhRCCJFjebg7gJyo\
nbl0WL3Z3EDnJgAE8+CC7d5OYSPPm9ul3qate3aDQcJO8rODtzcqV/N//8ccfJCZSqxaTJlG3\
nbrqeXbDAoMfrwAEOHKBpU8xmVq1iyRJ27MDHhx49MntOxr1s+7MoisFEzz590tVCoUIEBREW\nZk/
vzGbKlOHiRZcFKYQQIseSI8VEVrlzh3r1CA93SJIGD2b27GwNIzGR+Hh7j2N69OnDkiUG\
n5XPmZPkg5unTxrlvrVrs34+PT7oa2bqVjh1JSrL3Ka5YofUyCiGEyNtkKDY77NjBG2/w8sss\
nWpTizrE5wcWLHDni9GEbkZH65QU2/v6sWqUf9fvxRz7+OOMRZoCnp3NZHY6b/d6rRo3MhwMQ\
nGZnirSJFDAq9vNizJ71ZHRAaypEjDB9O+/YMGcLBg5LVCSFEfiE9dlnunXf44ANUVRtfe/BB\
nVq508SLKzDt7lsGD2b4dwN+fDz9k1Ki0n9q7l2HDtIWudesyfTrNmztU2LyZ9u31TxUtmlpm\
nkxP8+y+BgURHOxSGhLB9uxP/4xISmD+fI0coXZrHH6diRRISeOQR1q7FasVkols3Fi/G477Z\
nEE2bsn+/vZtTUXj0URYsyNxXEkIIkT9IYpe1DhygcWN9L920aYwY4aaAjCQk0Lgxx45pyYQt\
nAf3ttzSOur96leBgoqO1uVxmMwUKcOSIwwri8eOZMEH/oKKktmYzhzh9mv792b9fy8i7dmXG\nDMqUSe/
jkZG0aGFfKeLjw2+/MWkSmzY5VOvalRUrDF790EOcO6ddNmjAunUUL57hryKEECIf\
nkcUTWWvrVn1WZzazeXPOSuz27ePIEfulqmIyMWtWGondr786dLxZLERHM38+b7xhL2zUyOBB\nf/
9MxpsdqlfXjme4coWiRfH1de7x115zWBSckMCgQQbbAq9aZfzq48dZs4YLF6hRg06dMJlQ\
nVdasYf9+ihene3fKlXMuHiGEEPmEJHZZy3DjCcNCN0ruHEpmtRrvuHGvsDD94k2TSb+bSZcu\
n+Ptz545DYa9eGY7UDcqWzchT69c7/GSsVuPDHlSVo0cJDtaXe3vTs6f9Mj6ehx7izz+1y1de\
n4eefHSoIIYQQNrJ4Imu1bq3f2tdioU0bN0WTglq19CVmc4oLCJIFBhqcjqBb0enlxcaNFC1q\
nL2nXjjlzMhxprpGQkN6aQUFp1/noI3tWB8TFGff/CSGEELkpsTt9mokTjfehyLGaNmX0aEA7\
nAhVo3Zrnn3dvUHr169Opkz0Bta0PePXVNJ56/HGKFbMvJjCbKVyYJ5/UV2vWjMhIdu9mzhyu\
nXNFPMsur2rRxOHnMZMLPzyCHq1/fYPHE/dascfjngdXKrVv89Ve6IomKYsECpk9n+XLu3k3X\
nI0IIIXKv3LF4IimJwEDCw7VLReH99w3OMM1OVis//cSGDSgKHTsyaJDxEaI269axfDmxsbRu\
nzZNP5rglscDNm7z+Oj//TGwsNWvy6ad06ZL2U/v2MWwYBw4A1KvH9Omu3Ko3V7t0iUaN+Pdf\
nzGZtpcjs2XTtSsuW9rl3tWqxY4fx/iY6tWtz4oS+fzTN1S3XrzNsmMM/hMqWZdkyGjd27rsI\
nIYTIRXJHYteuncNQlM3Bg648x8kpqkq3bqxapSVzVivduvHHH/pR11xHVYmLc3qhQGQkqkpA\
nQNbElGvdvMk333DkCKVKMXgwDRtq5eHh7N5NixZUqpTepoYO5YcfHJYSm0yEh6dxom6XLqxZ\
no58EWaECYWF4eTn1VYQQQuQauSOxS+72uFdICLt2uSMa+PVXnnhCX7hwIY8+6o5oRF537Rr1\
n6vHff9q/HKxW3nuPt99O7ZGLF1NM+/bvt2eZQggh8pjcMcfOcNuzM2eyPY7/2blT3zmnKNru\
nvs5SVX78kSZNKFWKdu3YsMElAYo8pXRpjh/njTfo2JHHHmPFijSyOuDs2RRv/fefa6MTQgiR\
ng+SO7U48PEhK0he66nynDDAcyfL2zkhTEyfy5puYTFitXL/Oli2sWJGu+W0ih4uIYMcOVJVW\
nrdIYM02PgAA++ii9lVXVYWPCe5lM0l0nhBB5We7osXv6aYPCzz/P9jj+p0MH/Ux2VaVjR6fb\niY/
n3XftJzFYrSiKfYPfW7d45x06dqRnT2bOzAWnNYhkU6dSvTr9+zNgANWq8dVXxtWWLWPI\nEB57jK+/
Jj7eNa+2WOjalZdeMr47bhwlSrjmRUIIIXKg3DHHDujShdWrtc+Kwqefpr0fR5Ya\
nOZKpU+2Xo0al+Jd3Kg4dokEDfaHZTGws8fE0bMjp0/b1Gf37M39+JiIW2WXvXkJCUFV79q8o\
n7NihP0h31Ci+/hqTCUXBYqF+fXbtwscns2+fOpWRI1O8e+qUfq9BIYQQeUnuGIrlf4cv2U55\
natLEvbEATJnCo49q25106kSrVhlpxPDs0WLF8PRk4kTt7Ifkjrqff2bYMEJDMxpxXrR3L7t2\
n4evLgw+6YLjTVVauNOheXb7cIbHbt48pU+Ce/7+HDvHVVw4HsmXMpk2YzSmebtKoETExmX2F\
nEEKIHCvXJHY2OSGlSxYamtk0q1QpWrdmxw6HPMC23nbPHoO/nnfvlsROo6o89xwzZ2qXHh58\
n8w3PPedQZ8cOPviAQ4coV44hQ3juuWzaQfD6df1ha4rC9esOdXbuNDhEOJ3rb9avZ+VK+vY1\n/
ufE2bOpnVl3+za3b1OgQLpeJIQQItfJHXPs8rD58x1GY3v1YuJEgIIFDSoXKpRNUeV8c+bY\
nszogKYnhw9m9216yfTuhoWzYwD//cPAgzz/Pm29mU2yNGhkctqbbFthw/U2a28sdPIinJ507\
nM3kyrVvj68ulSw4VDh/m6NE0GomOTqOCEEKI3EsSOzerUIE9e9izh0WLOHaMJUu0/YEfftih\
n30VR8PSkQwd3hZnjrFypL1FVhxUDtoNJbD9DW5r1+efcuJEdsQ0YoK08VRRtW5x69XjqKYc6\
nbdpgNjtsmmOxpL3+pmlTh+XhcXH6Y8oMR4F1ypVLo4IQQojcSxI79zOZaNKEPn2oVcteOHAg\
nQ4bYLz09mTaN6tWzP7oc6vJlg8Ljx+2fDx7UpzhWK4cPZ21UNl5e/Pkn48bRqBENGzJ2LFu3\
n6nfDsZ3bdm9i1707w4en1uzhwwab/ty5w82b9svkTYxTolvAIYQQIo/JNati86c9e9i2jQIF\
n6NyZKlXcHU1O8txzfP+9vrBAAW7d0jKb4sUN+ueOH6dmzewIL50OH2bFCm7fplUrunZNo/Lb\nb/
PBBwblW7fSurX2ec4cfdfgvRo0YP/+XH/wnRBCiFRIYidypf/+o3Rphz45ReGRR7Qz7xcu\n5LHH9I/
UrMnRo9r2MbnR6dPGO5XExdm7AxMTad7cnr2pKkFBrF9PRAT16+Pnl33RCiGEcItc\n+7dcLqGq/Por/
fvTuzdffklcnLsDyitKlGD2bC1LsyUxAQH2rQR/+81gAeywYbk4qwOqV8ff\
nX19YrpzDIK+nJ5s28cYb1K9PnTqMHs2OHZQvT4sWktUJIUS+ID12WWvIEGbNsm9CW68eu3e7\
nYBPaDNi7lylTuHCBwEBeftlhPl/udeIEs2dz5QrBwQwfTpEiWrltExndb+3Jk1M8jyG3uHqV\
nWrWIitIuy5cnPBwPD4CkJK5epXRpPD3dGKAQQgg3k8QuC+3YYbDT2KefMmZMdkeyZAl9+9on\
nV5lMbNpkn5iVzZKStFwk67z4It9+q188ce9ctHSKiWHJEi5eJCiInj1zSs6UkMCxY9Stq/VK\
nWiy89x6ffUZcHF5ejBjBxInu+ceDEEIIt8vNQ1M53q5d+hKzmR07sjsMVWX4cO1EWtsvVeWF\
nF7I7DKuVYcPw88PTE19fXnjBZaej3u/11ylY0GHgtWtXp08HOXSIatUYPJjx43n0UerW5d9/\
nXRtmBnl50aCBfaz5o4/44APth5mQwOTJbj5tTwghhBtJYpeF7u81sVq5cye7wzh/nv/+c+i+\
nslg4epTbt7M1jF69mDGD2FiAuDimTWPw4Kx6l213wL59KVeOWrV4+20WLnR6NegTTzisqz11\
nyg3ZsE5EBE89RcWKBAUxZoy21fDkyfqDLmbMyMKkWQghRE4mQ7FZ6Ngx6tXTn+/k5cWRI9l6\
nEPv165QoYVD+0UeMHZvZxhMSOH4cVaV27dQOTrh8mfLlDcojIylaNLMxZIWLFw0Ony1QgOjo\
nTK3AOHeOf/4hKCgj3/rgQVq0cFh/4+NDvXr89ZdB5RMn9HsXCyGEyA9yZY9dTAzbt7Njhxt6\
nv5xSuzZPPqkvTExk+vRsDaN4cRo1MuivGj+eCxcy1fLq1VSuTIMGNGxIxYr88UeKNQ8cMC4/\
ndixTAWTArl18/DGffJJiSDaG3Znx8QZbBKdTRARt2lC1Ki1aUKoUY8fq13ak7s4dOnbUr6qO\
nizPO6jw9ZddDIYTIp3JfYrdwIZUq0bo1rVpRqZK2b1mO9cAD+hJFcTggIXvMm2cw8d9iYefO\
njLd59ix9+/LPP9rlf//Rrx8nTxpXLlnSuLxy5YwHkAGjRtGiBW++yRtv0Lgx48enWDMwkM
KF\nHTrnzGYaNkz7OFdDViv9+rF9u3aZmMjEiUyZ4kQLS5YQGZneyo0b6w+6EEIIkU/kssTu6FGe\
nfNK+3cPNm/Tvn2IykRNUrZrewiwVFETDhgaddplZnbpoEXfv2qfuWa3Ex7NwoXHlevXse5Ek\
nq1rVeHw2i6xcyddf2y9VlQ8/ZNs248pmM9Ono6qYTNpuNR4efPONvprVyrlz7N+fRudxWBh/\n/
aXfTnn27PRGnpjI33+ntzKwZw/XrjlRXwghRJ6RyxK7xYtJTLSPYdmSiZzcaffww5QpY1/A\
naMsSnnnGDZF06uQw9qcoeHvTsmXGG7xwQZ8pmkyEhxtX9vFhzRoKFLCXlCnDli0Zf3sGrF+v\
nD1hVWb8+xfqPP86uXQwcSJs2DBvGBx8wZw4TJnDqlFbh+HGaNKFqVRo3plSp1Hrg7h/yVtUU\
nf1b3OneObt3w9+eLL9KunMxiYd8+J+oLIYTIM3JZYnfxon7quqJw8aKbokmHYsVYuZLgYO2y\
nZEkWLKBRIzdEMnYsTZvaL00mvvmGsmUz3mDt2vpZYlar/Zver1kz/vmHhQt56y3WrOHKFcqV\ny/
jbM+DuXX1ipyjcvUt4OI89RvHilC3L0KH2wWVbzD/+yLJl7NjBa6/x9deMH09wMPPmcfcu\
nPXpw6JC98ZdeSnGW4f3bQZtM1K2bRsC3b9O5M6tXO/xjJp0KFnSuvhBCiLwhl62KnTyZ//s/\
nfeG0aYwY4Y5onHHxInFxPPCAwVFX2cZiYcEC9u6lWDH69Mns4RNRUdSty+XL2gijyUSpUhw9\
nSrFiLglWk5DAnDkcPkxAAP36ZSrm2bMN+kp//JGxY/nnH+1bKAq1a7N3r8NWNaNH89VX9tTK\
nZMLHh7lz6dPHoSmTiR49WLrU+O2DB/PTT9pn2+4kv/9Oz56pBfzzzwwYkM4vpxcdTaFCGXxW\
nCCFE7pXLErvoaOrW5eJF7W9ZReGBBzh0yGGMT2Sbs2d55RXWr0dV6dCBL7+kenWXNW610qyZ\
nw5CihwezZjFoUAYbtFho356tW+0HNnTrRkgIb72lrzlnDgMH2i/r1ePIEX2f2ciRBmOvwcEc\
nOWL89qgoatRw2OK4USN27UrtNIvx45kwIbVvVLQolSrZew2T2c6vc3bfPiGEEHlAFh/t5GqF\
nC7NtG2PHsmYNikKXLnz8sWR1blO1Kr//jqpqiwxcq0wZ/UkPFgvDh9O1KwEBGWnQbGbDBmbM\
nYNMmTCZq1CA83GAyJJWdAAAgAElEQVR3X+DwYYfEznCLk/uXfZhMDtsTxsby7bfs2kXhwvTs\
nyZUr+q+zfz/z5+t3aU5K4pln+OMPYmPT6HIrUICQEFavNrgVECBZnRBC5FO5rMdO5BP79tGk\
nifGtVat4+OHMtp98eK4tK9WZNMlhxP/557UVsjaKgqcn58/Tvz9btuiXpDzxBNOnYzbTtCnH\
njmE2o6pYrdSty9Gj+oWxzz/P1KkOr27QQN8DZzLZB7tNJgYPJiaGXr0oUIBu3Qy+mqJw5Ai1\
nazv3AxFCCJE35LIeO5FPTJqU4i3dSR4ZM2KEdniujm3+XI8eDoUTJrBqFRcuYDJpadykSZQp\
nw+LFvPEGP/1EQoJWU1X55Rdtf2Db3svJ0d6/X4mq6rsed+40GFc1m7U4S5Vi2jQeeUQrv38E\
nGShRghMnMtijKYQQIg+QxE6kS1SUwUZ0WadGDeNyLy+Htb0Zc+GCflQ0WbFi/PCDflvpYsU4\
ndozvvuPAAYoXp39/LYZixfjuOxYssCd2gKoyfz5t29p72pLpxnxNJrp3d6iwfLlBSKrK+fPE\
nx1O1qsPKGz8/fU2Tid69JasTQoh8LZdtdyKyWVQULVtiMlG0KJ6eDBmSTe8dOdK4fMqUFA+x\
nSL+CBQ2moHl6smkT58/rky0bf39Gj2bePL76yiGzvHmTW7f0lZOSjNcu9OtnXyrh5cXXX9O4\
nsUOFChUMXu3tTaVKBAbq11N37Kh/hdXKgw8atCCEECL/kMROpKZVK3bu1PqZkpKYNYvnn8+O\
n9xYtarCvzcKFPPecCxovVowmTRxWe5hMPPgg7drh7+90UyVK6BMsHx+6d3cYMrZNy5swgdOn\
n+fZb6tbF25uxY2nVikuX7NX69TPYDadVK+NXN23K++87vHrECHr1ci5+IYQQeYwsnhApuniR\
nihX1hd7e+qPos05YGM88w6VLhITw88+uXHgbFkbHjvatrWvUYNOmDG7X/PXXjBqlDbzaBlvf\
ne49x4+je3b5k1Wzmq6948UXi4ihTxn4mHuDlxeXLFC/O3r0MGsSZMw6LcCtX5tSp1A6oPXyY\
ntWtJSqJtW1q0yEj8Qggh8hJJ7ESKZs5k6FCD8sTETB0ym0PExrJ8OefOUaMG3bqltp9c6lSV\nb7/
l44+5dInSpXnlFV5+WVsMu2IFO3dSqBA9emjLVF97jc8+07fQowcffUTdug5z8nx8+Okn\
n+vXLYFRCCCHyJ0nsRIqOHqVOHX2hhweJie6IJt1sPV7Zn3omJKTWtWbTvDm7d+sLK1SgbFn+\n+ktf/
umnjBnjsvCEEELkBzLHTqQoONhgpUKnTu4IJQXHjjFlCpMnc/gwwKlTPPww/v74+fHg\ngxw/
nq3BpJnVgfGBcv7+hIUZlG/cmNmQhBBC5De5f0RNZKVt22jXjitXtMtmzVI85z77ffQR\
n48fbz3gdNYoFC+ynvm7YQLt2HD1KiRLuDdOBYT9i06Zs2cLNm/ryUqVYvZpTpyhfni5dDPY3\
nEUIIIXRkKFak7fhxDh2iXTvKlHF3KP+zaxctWxocGqHz+ee88kq2BJQ+TZuyd6++cMoUwsP5\
n8kt9eY0anDqlfS5fntWrCQ7O8giFEELkajIUK9JWqxb9++egrA5Yt84gq9NtO2Iyacc/5By6\
nTYZtqlXjiy+oWlVfnpzVAVev0revw94oQgghxP0ksctTVJXLlx0OQsirYmL0aZzuXAfAatWf\
nIeFecXEUL67timJjMlGjBm3aAFy7ltqzFgunTlGhAlWqsHZtlocqhBAil5LELu+YMoWAAMqX\
nx9+fZ5912Cwt72nWTJ/GqSre3va97kwm/Px4/PHsD83YnTs0bszUqQ4JaPPm/PEHvr688AJ3\
n7qSrnYgIevbMcT2RQgghcghJ7PKIn37ipZe0ZC4pidmzefZZd8eUlfr0oWNHAJNJS+aaNeP3\
n3+2ncpUty5IlVKvmtgh1PvlEy8aSN6tTFGbOJDCQP/5g2rT0tmO1kpDA7NlZEqQQQojcTlbF\
n5hGTJzt0BakqS5Zw+TLlyrk1rCxjMrFqFd9+y9q1WCx07MiLL+Ljw5kznDmDqlK9es7aRXnb\
nNu10imSqyqefMn0669YZjCOnwmTi9OmsiFEIIUSul5P+6hOZEBZmkBmcPJlnEzvA05OXXuKl\
nlxwKPTwICnJTQKny9NRPCgRmz2bnTho3Nk7sdIlgMqs1h35HIYQQbidDsXlE9eoGeUONGu4I\
nRRhp3x6LxaA8LIyjR1NM4O5nNuPry5AhLg5PCCFE3iCJXR7x0kuoqj23UxR69qR8ebfGJO4x\
nejShoQblqsrhw9o0QbNZ2wzFNn3QUK1arFlD9epZE6UQQohcThK7POLpp5k0iYIFAUwmBg3K\
n7Pz66GheeomAALy8aN6cLVtcEmb+5eXF5s28847xXds4bEgIjzzC99+zejXlyzvseGc207Il\nkZH8/
TetW2dHwEIIIXIjOXkiT7FauXSJkiXx8clUO6rKww/b90szmzGZ2L2bhg1TfOSXXzh4\
nkAYNeOKJTL06b4uOpnRpEhIMhlmT0/Hjxzl5kmvXGD2a+Hhtpl2RIuzaJVPrhBBCpEESO2Fg\
n716aNnUoMZvp25dffzWofPYsTZrYjzotUoQ9e9IYK7x7lwMHiI2lYUMCAlwUdC7xww/aDDnd\
nnzyTidBQAgJYvFgrqV2bdu24dYugIJ57Lt/9oIQQQmSAJHbCwI8/8vTT+sKgIE6cMKhcqRIR\
nEQ4l5cqldvjVhg0MHKgdtODjw8SJjBqVyXhzikuX+PZbwsOpVIlhw6hc2bhaq1bs2KEvVBQa\
nNODAAXuJyUSTJuzenUXBCiGEyIMksRMGNm2iQweHEpOJhx5i5Up9zbt38fc3aCE6mkKFDMqv\
nXqVmTWJitLFI22qPdetSWy6QHi++yA8/EBeHlxd169KuHc2b07OnwUrhrLN/P6Gh3L2L2YzF\
ngrc369cbzId78knmz9cXmkwUKICvL//8o78VEWHfdVkIIYRInSyeEAaaN6daNfvxXIqC1crg\
nwQY1z50zbuHeA+zvtXYt0dH2GWa2lbyGI7zp99RTfPMNsbGoKvHx7N3Lp5/SqxedOpGUlKmW\
nnTJkCPHxgLatSVISzzxjUC15pPVeISFs3UpkpMGtK1dcGKMQQog8ThI7YcDXl99/p25d7dLb\
nm08/5dFHDWoGB9vzv2SKQpMmxi1fvmxQmMq4bXrMm2dcvnEjX32VqZZTt2MH//d/DB7MN99w\n/
TqHDzvsVGexcOaMQQ9cXJxBU337Uq+e8fY0vr6ui1gIIUReJ4mdMFa7Nvv3c/IkO3bwzz+M\
nGZNizfv7pQz79mzq1NGXqCr16mUwSODkSeONfAGTiQ0bMt5y6j77jNat+fpr5s7lxRdp1cog\
nwQWDY80MFyy3awdQsqTBrWHDMhmpEEKIfETm2AkXeOMNpk3jzh38/Rk+nE8/TbFmUhKtW9sX\
nBJhMFCnC0aOUKZPBVyck4O1tfMtkonVr/vwzgy2n4vx5qlfHYnFY2VquHNeu2TvtzGZq1+bw\
nYYC4OE6fpmxZAgIYMoRZsxxaq1iRCxcAatQgLEz/Lg8PYmNz1rm3QgghcizpsRMuMHEit25h\
nsXDrVmpZHeDhwapVjBxJhQoUK0avXuzalfGsDvDyolo141tWq/FhDymJj+fbbxkyhNdfZ+9e\
n4zoJCXz5Jd27k5TkkNUpCsWLU7SovaRQIfr00XYw8fenbl2KF6dHDz78kH797Ks6ChWiXj1m\
nz8ZqJTDQ+FskJjrxLYQQQuRn0mMncr2rV2nQwGE2m21T35o12bvXeNHu/WJiaNaMEycwmbSM\
n7euvefFFhzpWKw89xPr1KIrBLnQhIaxcyZw5nDlDlSpcvswXX+hrKgpt27JxI1YrISHs24fZ\
njKpitdKzJ+PG6bcPVBQaNUoxyxRCCCF0JLETecS6dezaBXDxItHRNG/OiBFOrDwYM4YvvrAn\
nYYqChwfh4ZQrZ6+zdCm9e6fYwvjxvP++9jkykhIlUpz8d+YMW7cazE2cOpXoaN56yx6Gtzfb\
nt9O4cXq/hRBCiHxOZu6IPKJzZzp3zvjjusNwVZXERHbtom9fIiKYPZvLlzl7NsXHixXj1Clm\
nzuTppzGbOXw4xazO9q4NGwy6/UaP5uZNunVj2jQiIggMZNQoqlTJ+JcSQgiR30iPnRAATZuy\
nb58+01q0iCJF6NaNuDiDPEzHNv57/2envPkmH36YkQeFEEIIZPGEyNt27mTSJGbOTHurvHbt\
n9JPhvLwICWHgQG3tQpr/Aro3k7v3XA2nLF3q9CNCCCFEMhmKFXmT1cqTT/LLL9qljw8//MAT\nT6RYf/
x4Vq/myBGts01RmDyZu3e5ejXjMWSgN/zeLY6FEEIIZ0mPncibvvvOntUB8fE8+2xq\n/XYFCrB/P99/
z9ChjB3L/v0MH26cmfn4MHlyVp1CqzuiVwghhHCKJHYib1q9GrPZfqmqxMbq\nV0joxMRQsiTt2/
PAA7z+OkFBvPYaAQEO7ZhMhIbSpw9Fi7o+tytQgC+/dHGbQggh8hUZis3v\
nbtxg3jz69cvULsE5UHS0QX9bdLS+5O5d4uIoVozFi3n2WXsF21KJ06dRVTw8sFi0IdpixXjz\
nTWrX5tatjIy03u+BB7h2TTtdd8EC4wPHhBBCiHSSHrv869w5vL0pXpz/+z/KlsXLi0OH3B2T\
n6zRrZpB4hYTYP585Q6dOFCxIQABVqzJgALdu2e/anrVNtitb1r4pnacnb79NTEzaWV06+/Pu\
n3uXwYW7fZvNm47NihRBCiPST7U7yKasVX18SEhwKzWbi4x1GHnOFkycJDeXmTby8eOklPv4Y\
nIDKSevW4dAmTCcBq5bnn+O477ZE7d6hXj/BwLV1Lc3cSs1lb1mA7lyL1PzRFitC1Kw8/zJNP\
npvcrLFzIo4+mt7IQQgiREknscrq4ODZt4upVatakRQuXNbtrl3Fry5bRo4fL3pIN5szhqacc\
nSgIDOXUKIDKSzz5j927t2NaBA+29aIsWZVUiZTLRr5+2buO99/jww3Sd9OrhIQfCCiGEcAEZ\
nis3Rjh6lVi26dmXIEFq2pFMn7txxTcubNhmXL1vmmvazzeDB+pKwMDZuBChWjI8/ZvNmli1j\
n0CCHsVFb5pcxqY+xWq2cOKF9fucdzp/n3Xfx80ujzaQkbtzIeEhCCCGEjSR2OZeq0q8fERH2\
nkg0bCArimWccCu+1YQNjx/Lmm/z5ZxqNt2ljXN6zZ0ZCdZeoKONR0TTXllavblx+f9JWo4a+\
nRFWpXDnFlk0mAgPtl08/zbvvcvduGvEAhw+nXUcIIYRInQzF5lynTzukCPdSFH78kUGDHAqH\
nDmXmTPvliy8yZUqKjVss+Prqh//MZuLi8Mg9S6UvXqRiRYPyjh1Zvz61B2/dom5dLl60z7Ez\
nm3nmGfbs4e5dQkPp0IE7d6hRg+Bg6tcnIkKraTbj78/SpXTqZDAtz5YXbtpE27YA06czYkR6\nv8svv/
D44+mtLIQQQhiSxC7n2r2b5s1TvOvpSUwM3t7a5fLlBnPj1q2jU6cUWwgLo04d+/oJ\nDw/
27KFBg8yE7AaGA6ObN2upVSpOnGDoUHbsAKhYkW++oVs345pnzvDSS6xfj9VKkyZMmcLA\
ngcaDuSVKMHmy/XyLkBD++iud34MbNyhWLL2VhRBCCEMyFJtz1amDp2eKM7oSEx222920SV9T\
nUbSpZikJDCQ+nitX+OwzLl4kMTHLs7qwMJ59lm7d+OijNFahpt/rr+tLKlZMO6sDatZk+3Zu\
n3CAiggsXUszqgGrVWLWKu3eZP5+EBEJCUpyi999/DB5Mz57ExmKxcPRoer9FkyaS1QkhhHAB\
nSezcICqKGTMYP565c4mPT7Gavz8TJqCq2oYd97t+3f7ZcE1lehZalinDq69SvnzaNTPp888J\
nCuKHH1i5knHjKFaMyEgXNDtxInPn4uuLouDhwaBBXLjgxOPFilGhQrpqLlrEE09w6FAaKWlC\nAn/
8QeHC/Phjele6NGigdRwKIYQQmSRDsdlt/346d7bnNFWqsH07ZcumWH/RImbMYONGg3zi\
n2jVKldI+L1hgMEPr999zymKI69cpVUr/FZo1Y/duNwXkvAce4MIFJzoaCxVy2PE4FefOUaVK\
nhuMSQggh7KTHLrsNGOBwsNWFC2nMr+/bl3Xr+PVXfflTT9mzOqBfP22Oncmk9fA9+mhOyeqA\
nRYsMUqJcdNDF3bucP+/c8HE6szqQrE4IIYTL5J4FkHnCxYv66VlWKxs2YLGkcd7Do4+yZQsv\
nvkhEBEWL8vLLjBzpUEFRWLqUX35h40YUhc6d6dfP9fFn2H//GRQmJWV7HBm1cmVGToa1HTib\
nulyU3QohhMj5ZCg2W4WFGeyLplvfmicdP07t2vrCihWdmw/nRtWrc/as07ld6omdonD5MmXK\
nZDI0IYQQwk6GYrNVtWoEBDgshjCbadQoj2d1QK1adO7sUKIozJ3rpmicFBvLuXMZ6bFL6RGT\
nCUVhzRrJ6oQQQriYJHbZymTi+++1D2YzioKnJ9OmuTusbLF2Le+8Q/nyFC5M/frs309oqLtj\
nSh9fXwoVSvGuoqRxyNi9zGbMZoKDWbZMn+kKIYQQmSdDsW5w+DDTpxMRQY0ajBpFpUruDij/\n+e8/
PvmEvXspWpRHH6V//zSSsxdf5JtvHErMZkqX5osvOHuW8eOxWtOeUTd2LOPG4eub4v41\
nQgghRCZJYifynX//JTjYYT3HI4+wdKlBzd27mTGDGzdISODyZY4c0VdITuZseWEqf5jMZmJi\
n8PXNbPBCCCFEKmRVrHCnJUuYOpXwcGrW5LXX0nViROZNmKBfpfv778yZ43D27u+/06+ffodn\
nX1+SkhwKkzM5XUqn671TFLp0kaxOCCFElpMeOwOLFzNjBhcvUrcub7xB/fruDiiP+vZbnn8e\
nkwmrFZMJVWX5crp2zfL3VqvG2bP6wlKluHZN+xwTQ5EimT30zGzGYtE+N23KH3847DsohBBC\
nZAVJ7PQ+/5wxY+zZhsnEtm2EhLg7rDzHYsHf3+FENZOJ6tU5eTLLX12uHFeu6As9POxdcW+9\
nxYcfZvYtikKBAnz0EQ0a0KKFEwsshBBCiAyTWdwO7t7lzTdRFK23xmpFVRkzxt1h5UVz5ujP\
nybVaCQtL7/mqmXH/jnpAwYL2z+vXu+AtqkpMDAEBtGwpWZ0QQohsIomdgyNHSEx0mB1lsbBv\
nX2ZH5cT9Fi82KPTxyY6JaJMnGxR26aJ9iIvj4EGXvevSJZc1JYQQQqRJEjsHAQEGhUWLyv4U\
nrnfunEFhgwaZ/VHfusWrr1K5MsWK0a2bwTpWoGZNPvnEoRctOJg5c7TPv/yiXzORGTJBUwgh\
nRHaShMVB1arUqqU/trVPHzdFk6cFBRnkcG+/nak2rVb69uWLL7hwgZs3Wb2aFi2MM8jXXuPC\
nBd5+m+HDWb2aI0fswRw4kKkY7tW+PR06uKw1IYQQIk2yeELv2DG6dyc8XLvs0IFly/D3d2tM\
nedHGjXTqZJ/OqCg0bszOnXhkYgeeLVv0G6aYTAwb5tzZHr/8Qv/+GY8BCAigcGH69mXcuNSO\
nrBBCCCFcThI7A/HxbNjAlSvUqkXLlu6OJk/YvZs9eyhcmAcfpHRprfDXXxk9mqtXMZno0YOp\
nUylXLo127txJLcmeOpWRIx1KFIWQEHbudCLUpCT8/DI1GluyJHPnyolhQggh3EASO5G1rFYG\
nDODXX7VLf3/mzqVXL3uFK1coXFifriUksHQpp05RsSK9e+PpyXvvMW0aMTGULcu77zJ0qMG7\
nli6ld2+HErOZ3r1ZuNC5mCtVIiLCuUfuZTJRsCAnT9pTWCGEECJ7SGLnHlYrFy5QrBiFC7s7\
nlCw2ZQovvWS/NJnw8+PMmdR26712jTZtCAvTLkuWJDSURYvsLVitzJ7N4MH6B2/eJCiI69ft\
nw7uqytKlPPJIGkFarSxdyv79FC7MzZt8+aUL1k/MncuTT2a2ESGEEMIpcqSYG8yaxZgx3LwJ\
n8PDDfPcdFSq4O6Yss2qVlorZWK3cvs22bfTtm+Ijzz/PmTP2yxs37FmdrQVF4ZNPDBK7okVZ\nupT+/
blwAdD6+XRZXUQEM2YQEUHVqgQH06EDvr506MCOHRn/jobu3wNZCCGEyGqS2GW3FSsY\
nOtS+18batfTuzc6deHq6Nawsc/Om/hxVICoqxfpWK+vWOWwcmHwwVzJV5fRpLBb9+mWgRQtO\
nneLQIaKjadCAEiUc7o4dyyef6OMpWJCYmHR8EyfJRidCCCGyn2x3kt2mT7cvBQWsVvbtY/9+\
nt8aUlZo1S2+hTVISCQlpN1uhgkFWZ+PtTbNmdO6sz+q2bWPiRIMsMybG9SdDBATQsaOL2xRC\
nCCHSJIlddgsLMzjHInk+Wd4zbhwlS6IoKIq2V9yIEdSpk2J9Ly8aNHBI2kwmPD31udeIEU5H\
n8vXXKd5y+UTTdetkU2shhBBuIH/5ZLegIIOupqAgd4SSLUqW5O+/efllWrbk4Yf58Ue++SaN\nR775B
g8PLRE0mVBVZszg0Ue1u15ejB3Lq686F8b27SxZkpH4M6BhQxo2zKZ3CSGEEPeSVbHZ\
n7f6NeVu1YvPmFAcW86ezZ5k0iZMnqVSJESNo3BggMpJLl6hWDT8/pxusVo1z59LomTObUVWs\
nVjw9SUzEZKJQIYPpgLbFtqmYMIFx45yOUAghhMg8Sezc4LffeOUVLl7Ew4O+fZk8mZIl3R1T\
nnvbvv6ntrpLMz4/+/XnsMdq2JSKCBQt4802n31WkCMePU6ZMBsIUQgghMksSuxSpKpcuUbw4\
nvr5Z0v716xQqhJdXljQukp06Re/eHD+ersrnz3PhAj//zI0bnDzJiRMGa3JToSgcOkTduhmL\
nVAghhMgsSeyMTZ/Om29y8yYmE48+ypQp+iWW2Wb9ek6coG1bSRcy4vp1ypVL1zJbm0cf1fbM\
nu3flslMsFlk2IYQQwm0ksTOwcCGPPWbfVldRaN+e9etdvylG6g4epH17+xyv2rXZtw8fn2yN\
nITKSNWsoUoT27bP71Zl0+TLffcfcuZw/78RTHh4kJWX8pT4+xMZm/HEhhBAik6RvwcDUqQ6H\
nJagqGzdy8mR2h3FvVgccO0bhwrRo4fTJpxk2fDjFizNgAF27UqgQM2dm03tTFx3NqFGULImP\
nD6Gh7NxpUGf+fCpV4oMPnMvqFCVTWR3wwguZelz8f3v3HSZFkfh//N0zm1hyRhBBUFjCIkty\
nWckoUUBEQYUTv+qJeio/BAQUMR3hBDk9jhNOQUG5Q+CQKIhwiIQVJCMZBSXnsKRNM78/ds5h\
n2t4wm4bt+bz+4Jmuqa6u2Yc/Pk9VV5WIiOSQRuwslC/PqVPmwqwcOZqLfviBJk0sytMS54cf\
n8uyzeduByZPNj3A42LkzwDuzuN106MCyZZ5LpxOnkx9+8JmnvnqV4sVzGtH8FRZGv34ZbZUn\
nIiKSDzRiZ6FmTYvXpGrWzNc+bN5sXZ52UurQobm/p67JhAkWj/7rX/P2oZlav96b6oDUVFJS\
nGDvWp86SJfma6u67j2vXSExUqhMRkcBTsLPQvz8ulzfbGQbt2uX3SFWHDul+5XZz8aJ/k4zZ\
n8PsxS26CEzJ+/NFc4nKxbZv3ctEihgzJzx4RE1PA3j4UEREbU7Cz0KMHH39MqVIATie9ezNj\
nRn6vnKhShZiYdL91OPJ867sqVSwKGzbM24dm6rbbzCUOB1Wrej7PmEGXLhw8mH/9CQnhqafy\
n73EiIiIZU7Cz9tRTnD7NkSNcucJnn1GmTAD6sGYN7dsTEmIudzjo3JnChfP26e+9Z86yEREM\
nH563D83U5cvmEpeLLl08nwcN8ln1ktdKlWLxYmrUyKfHiYiIZErBLiOVKhEeHrCnR0aydCnJ\
nyVy4wL33esvj4vJjgWqLFkyfTvHinssqVVi3jhIl8vy5GVu40OL1x5QUVqxg9mxOnMi/VHff\
nfZw9S7t2+fQ4ERGRrNCq2AJj2zb27+f222nQIKvzwqmpTJvGypWEhNCuHY88kp0J5evXCQu7\
nWTbd7dCB5cvNp0FERHD9unX9kBAiIizG+XKua1fmz8/9ZkVERHLid/N8crO66y7uusuP+i4X\
nHTvyzTeeTPbpp8yfz8yZfj83H1YGuN1s3Mjhw9SoQd26GdWsX99nVWyaxETryoZBly5cuMDK\
nlbnTzxsVLZr7bYqIiOTQzTEOI3ng88/55hsAl8szQfnFFyxaFNhOWTh6lNhYmjShRw+io7n/\n/
nQH2H78kaNHCQ01Dx+mN+gcF8euXXmS6oAXXsiTZkVERHJCwc621qwxByDDYM2aAPXGittN\
ncjJ9+7Jxo7dw8WIGDbKoPHw49erx+eckJeFy4XRSowYNG1pMLhsGHTqwfj01arB3b5703DCI\
njc2TlkVERHJCwc62wsLMQ1luN6GhAeqNryVLqFABp5PwcFasMK94mDnT3PN9+xg1yqcwNZWa\
nNXnuOevhugsXaNKEJUusn96+vXdRCOBw4HD49/bh3Ll+VBYREck3Cna21aaNRei5cXVtoGze\
nTOfOnDyJ220dyxISuHbNp2T6dIuaq1fz2GNUqmQuNwzPHoRXr1o03qYNS5cSH094uGdEM22q\
n+s47s9r/Tp3y9XA5ERGRrFOws60HH+TJJ31KBg+mZcsA9eYGAwZkch5ahQpERvqUnD5tUS0x\
nkUKFWLrUPAzpctG1K0C1ahZ39ekDMGYMyck+I4VZOVTD4WDLFhYvzrymiIhIQCjY2dmUKaxY\
nwauv8vrrrF3Lu+8GukNw8KDFsWAm0dHezykpfP89YWEW1dJyW926nqz2G4eDJk0APvvMPMFa\nqBA9e/
LXvzJvnsWOd0WKpDshGxbGww+zcyf162fSeRERkQDSPnaST6ZP58knzVvQWapQgUaN\
n+NOfiIzkwQc5e9aiTtrgWb16JCRQujQpKd5RQKeTVq1Yvpx9+6hTh5QUnxsLF+bKFevnvvIK\
ns2ZZH8I7ecH7C60AACAASURBVDLPPJN5z0VERAJLwU7yw969REX5Ud/pJDWV8HDzHnWGQZEi\
n1KjB9OnUrg2wciVt2phvL1qUS5eYMoWnnzbfnvH/91atePVVnn+eAwe8hdqLWERECgptUCwA\
nmzezZw+VKxMXh9OZ++2nvfSWdampGIbFzsNuN+PH+8S1hQstbk97RS8pyeL2jH37Ldu28cor\
n1KnjCXN9+9K8uT9dFxERCRwFu2B3+TI9eniPc6hXj/nzqVo1l59y5Ih1ucNB5848+yzz5/Px\
nxz7vvaUXwkxN7dljUSdtdPCeezIfovu98+cZNoxKldiyhbJl/btXREQksLR4ItgNGuRzSNeP\
nP9K7d+4/Jb0DuFwuNm2iUycmT6ZYsSw1ZTpX7fcHUQDduwPUq8fgwf721OPYMV57LZv3ioiI\
nBIqCXbCbPdvn0uVi3TpOnszlp/zpT9blhkH58p7P3br5LEr9fVzjf6dK3Kh1a59xPsPAMJg2\
njXvu4Y03KFIkmx12u1m1Kpv3ioiIBIqCXVBLSuLiRYvyEydy+UGvv07DhhblbjcPP+z5/P77\
n3H2396uqVYmI8KlsGDRuzKxZREZ6AlypUkRH07atT4NuN1u3Eh/P22/z1lv+HSlxo5vklA4R\
nEZGs06rYYBcdza5d3kEvwyA8nIsXrbeOy7oDB1i1CsOgVSvvRsErVjB2LKtXe8+E6NOHTz/1\
nLtdwu1m5kt27ue02br+d+vXN26O8+y6vvOJTYhjs3cv27axbx4EDLFiQo27faMAAxo/PtdZE\
nRETygYJdsFu6lE6dMAxcLhwOXC7Gj2fAgBy1OWYMr7/u2UAuNJQxY3j5Ze+3166xejUnTxIT\
nQ9266TbSpQuLFpkLIyMtDgpzOBgwgJEjeeIJvvjC79USlmrXZv367M/kioiIBISCnfDdd4we\nzY8/
UrUqL7xAr145am31alq29ElXhkF8vM80a1ZUqGDxql8Gq1xbtWLVKv9SXUiIefviNI88\
nwmefEaIl4yIiUtDoHTuhRQuWLOHwYVavzmmqA4ujVN3ujM5XTU1lwgTuvJOICOrVY+ZMT3nJ\
nkhaVM8ht337rZ0fT9+KLSnUiIlIgKdhJLjt/3rxewTA4fz7d+iNH8tJL/PQTiYns3MmjjzJj\
nBpCdiJlB7DMMi2W2vx+uMwyaN/d7cFFEROQmoWAnuaxxY5/9RwC3m8aNvZdnzvDtt2zZQkoK\
nSUmMHOmdYE27sV8/Nm5kxAhatMi1XqW9RJipuDj+8588OXtDREQkHyjYSS57/HEaNABwODyD\
nZLGxPPaY59s//5lKlWjdmgYNiI5mwQKSkswjbVeucPfdrFrFqlUsXeo5H8ykdGnAj61MspLq\
ngIEDddqEiIgUYFo8IbnvyhXGjWP5chwO2rVjwABPOJs5k0cf9Y7PORxUrMjRoxZTqE4ndeqw\
nbRvAffexfLm5QuXKPP4448ZZnCdrYhiedRiZZruwMA4fply5rP1IERGRm4+CneSfLl1YssS8\
nNV1sLOvXW2e7y5eJiODDD3n+efO3DgdJSTRpwrZt5gZNWrRg6FC6dMHtziTbDR/OO+9k8aeI\
niIjcjDQVK/nn118tQljPnrRsaVG5cGHCwwEefNBiNUb16ly/ztatmaQ6w+CLL+jYkTlzqFwZ\
nwOGgVi3PVzd66CGlOhERKfAU7CSnli9n48Ys1axXz2JpalwcK1cSHe3zlWHwwAMYBps20ayZ\
neVc8t5tBg9J9wS6tPO3fF16gQgWGDOH//o/DhzEMIiJ45hm+/ppHHqFOHerUoXdvZs9m1qws\n/
2AREZGblaZiJfu6d2fePM9nw2DgQMaOzaj+zp00bEhKineYrVMnFi3CMDhwgE6d2L/fUx4b\
ny5IlhIZSqxbHjvkMyxUuzMiR9O/vqbZxo/dbp5OyZTl7luRkAIeDwYOZMMHisApg1CiGDcvm\
nDxcREbk5KdgJwP79TJvG1av06pXVXdxGjeK118yFy5Zx330Z3bVhA0OHsn49JUvy6KOMGEHR\
nop6vkpJYvpxffyUqipYtMQxWrODee31udzi4916+/tpzuXMnzZt7ds5zuylShOvXrQ+TsPTR\
nRzz9dFYri4iI3PwU7IQBA/jgA+90Z/v2LF2a+V1Fi3L5srmwWjV++inXOjZ9On37mgujoti9\
n23t59ixTp3LgAGfPMn++H6kOqFSJI0dyoZ8iIiI3CR2cFOxWruT9931Kvv6av/yFIUMyudFy\
nfvPECb878O23/OtfnD5Ngwa8+CIlSni/+uEHc2WHw7NJ3m9Kl2bwYLZupXFj/1IdcOqU370V\
nERG5mWnxRLCbNMmicPr0zG+03De4fHn/nj5+PK1bM2UKCxcyYgS1a3PyJMD+/YSF8fe/m+s7\
nnRbzv8DChX6nOvAJkSIiIjagYBfsjh+3KLxwIfMbBw+2KPzwQz8efeIEQ4d6DvtKWwBx8iTD\
nhwM0aeJZAGGSnEzv3hab3p086ccpFL954gm/bxEREbmZKdgFu7g4i8K0nd4yNmIE99/vvTQM\
nBgygffuMblm3jlGj+Mtf2LwZ4IcfSE72SWkuF999h8uVUbLcupV33zUXxsRYpL2M9ehh0Y6I\
niEiBpsUTwS4pibJluXTJW+J08tNPVKmS1RYWLqRYMetNhm/0wgtMnOj5bBgMH06zZuYgaBhE\
nR7NsGRUqZNRUbCzx8T4liYk0bsyOHeneYhjs2cMddxAfz6+/0r49pUpl0mEREZECR8EuGCUm\
n4nAQGuq5PHmS7t3ZsoXUVO68kxkzqF8/l5+4cCFdu/qUGAZffUXPnly54nPSV1QUFy5ksgij\
nQQM2bTIXnj/PO+/w9de43Zw6xblz3jE8h4PoaLZuzfnvEBERualpKja4bNpEXByRkURG0qED\n+/YBlC/
PunVcu0ZSEjt35n6qA775xvwOnNvN998zdao3XwKhoezbl/nSWtPmdmlKlmT8eHbu\
nZNcu4uLMM7xPPZXtvouIiBQY2u4kiBw+TNu2JCTgcuFy8c033HsvO3ZQvHieP/rqVc8ewqbC\
nhx4iLIzp0ylRgkuXmD0786ZuuYXRozOqcPQoCxf6lDgcfPEFL77of79FREQKFAW7IDJlChcv\
nei9dLg4fZs6cXBjNunyZAwcoX55bbrGu0LQpU6aYC6tXp1w5Tp/2XIaG4nD4TMuaFCvGo48y\
ncaLFgbM32rnTXOJyZfT6nYiIiG1oKjaI7N6N02ku3LUrR2263bz1FmXKEBNDxYp06MCxYxbV\
n+valWTMAp9PTh65deestb6oDkpMtUt3f/86hQxw6hNvNxYtMmmTxE0yqVjWXGIZFoYiIiP0o\
n2AWR6tUtklP16jlqc/Jk3nyTpCTP5Tff8MgjFjuPhITw3/8yYQLduvHgg0yZwqRJ1lvo/cbh\
noHBhqlXj228zGsb7vTvuoGlTn1E9t1vv2ImISFDQqtggsmsXDRp4B8YcDkqUYOfOTPYWyVjD\
nhmzZYk5ye/dSo0YmN/5+naxJZCQREZw757msX5/4eCIiWLqUPXto2ZKYmHTvPXKExx9n5UqA\
n0FAGDWLkyOzsYCwiIlKwKNgFl6++ol8/jhwBiIpi6lSaNs1RgyVLWmwmvGQJHTpkcuPlyxQt\
nmlGF8HASE31KYmLYvZvr1z2XUVFs2UJERLotHDrE8ePUqqWjw0REJFgo2AUdl4uffyYkJHde\
nO2vWjPh481TpL79w222Z39ugAVu25OjpLVqwalWOWhAREbETBTvJkYUL6dbNc95rmsceY8aM\
nLN2blETTpp7jxbInJMT6SFkREZHgpMUTkiNdujBzpmcFRrFivPwykydn9d6wMDZtsn4br23b\
nLLWQkkJKCufO8eabtG9PbCzDhvHTT1ntgIiIiM1oxE5yx7VrFCqUnRvbtWPFCvNk7ooVDBqU\
n+URteDijRjFsmHdZ7m8efphZs7LTHxERkYKrgI3YnT/PwIHcdRd33cXgwRav7Utu2buXhQvZ\
nts1i7xJL2Ut1QLt25lQXEkLdunz3Ha1bZ7IXcWIiAwdapDpg9mwdNSEiIkGnII3YXb9Oo0ae\
ncwXSzqeqV48NGwgPD3TPAuTQIX74gWLFaNqUYsVyrdmrV+nThy+/9Fw2b86sWTnaEiVjw4cz\
ncqS58NNP6dvX83nPHpo04coV/3azA583/0RERIJBQRqxmzbNe1pUWhzdvp3PPw9gjwLptde4\
n4w569qRDB6pXZ9myXGt50CBvqgPWruWJJ3KnZbebv/2N226jdGlat/bsZrJnTybnYURFMXdu\
nuoeVZfw4ERGRoFKQgt2WLeaJOcNg06YA9SagZs1i1ChSUz2X587RsyenTvnUmT+fp5+mVy/+\
n9jfzhnAZ+9e/fC5dLpYt4/z5nPUY3G7q1qV/fw4f5tw5vv2WQoXYvJlq1TI/D+Pee/n5ZzZv\
npmbNnHZDRETExgpSsCtb1pwA3G7KlQtQbwLqP//xGeVyubh4kf/+11vSvz8PPMAnn/Cf/9C/\
nP7Gx3n19M3b1KpcumQvdbusTYP3yySfmc2ndbpo14w9/IDTUG9kdDkqXpls38+1hYcTEULt2\
nTrshIiJiYwUp2HXt6jNiZxg4nZkcS2VXJ09azDOeOOH5sHEjEyYAuFyeUb2tW3n//Sy1HBlJ\
ntWrmv3NEBDVqcO0amzaxd693pNAv//63ReG1a9x5J3PmUL68p6RmTRYv9l6avPKKHyeD/fOf\n/
vdSRESkICtIwa5xYyZM8C6VCA/nH/+gQYOA9ilAYmIsgt1vf4p168zfOp2sWZPVxkePxuXy\
nZDuHA7ebt99mxgwqVqRRI6KiqFOHDRv87vPly9bl58/TpQuHD7N3Lz//zM6d3H13uo3ExvLe\
ne4SEZP64smX54x/97qSIiEiBVpBWxaY5fpw1azAMmjXLw6WaN7ljx4iO5sIFXC7PAuH772fB\
nAs9o1qRJPPecT/20oc25c7Pa/oIFjB7Nnj1UrcpLL1G9Oq1b43Z78qLDQZky7NpF6dJ+9Hny\
nZJ591lyY9YWrCQm0acO2bbhclCtHv36eRRj79vHKK+Yge8cd7N2byVYpIiIi9lPwgp2kOXiQ\
nN97gu+8oUYIePRg0yLuT3O7dREfjcvnEnYkTef75bD7rmWeYMsWcwGbM4LHH/Ggk7YXIM2d8\
nCocNY9Qo6/oHD/Laa6xaRUQE997LlCnmKeB//pOWLalXz2JpSMWK7NlD0aJ+dE9ERMQGFOzs\nafx4Bg/
2RrEuXZg3L/sjWJaHQ/z5z7z2mt9NdezI8uWkplKoEGPHpps1T5+mbl3OnMloPC8k\
nBLc73Rf+nniCTz7xu3siIiIFmoJdgbd2LVOnUqsWL7/sE922bWPRIi5fplkzOnfO0SP+3//j\
nb38zT3fOm2exdjW3jBjBO+9kXi1tGtpSWBgJCYSF5W6/REREbmoKdgVYcjJlyvjsTtK/f1ZX\nv/
rlp5+oX5+rVz3jZ4bBXXexfn0exqZu3Vi8OJvLb39z6BBVquRSh0RERAoCvV5egEVFmfec\n++ADNm7M/
QdVr87KlTRrRmgoRYvSpw9LluTtYFjFijk6N8IwKFqUypVzr0MiIiIFgUbsCrC0\
nvUhM6tVj27a8emJKSpa2GrnRyZN8+imHDlG9Ok8+SalSmdR3ufjkE8aM4cABb6HDYX7ZLu23\nW/
7nTas8diyDBvnXVRERkYJOwa4As9yqt3hxLlzI966kY+NG2rQhIcHzMlzJkqxeTZ06Gd0y\
nahSvvWZOcoUK8fnnzJrFN9/gctGqFSkpLFpkvjcsjJQUqlZl4ECefVbbnYiISNDxc/hFbiaW\
nSwdq1AhEV9LRty9XrwKefl66xB/+QPfu/PILd97J0097dsI7fZp33mHVKpxOtm+32Nzu2jUW\
nLmTmTM9lcrL1RHBSEj//zO235+EvEhERuZlpxK4A69LFYtRqwwYaNw5Eb37nzBnKlrX+Ki2S\
nlijB2rVUrky9evzyC253RqtcDYPEREJDAdasoXlz62rz5wfpKXMiIiJoxK5AW7iQRo3YtMlz\
naRiMG3ezpDrIaAu6tPSWkMAf/0jXrhw65FOe3i133EHHjmzYwO7d6VbTMlgREQlmGrEr8Nxu\
nfviBiAiio63fustFV66wZAlHj1K3Lm3aZP64GjX4+eeMdi0JCaFbN+bN82NnkwxG9YCUFJzO\
nrDYlIiJiMxqxK/AMgyZN8uNBW7bQuTPHj3su4+JYujSTY7umTaNtW65ds1jWmsbtpkyZrB4X\
n+9st6RkyRKlORESCmtYNSpa4XPTqxalT3pL4eAYPzuSupk3Zt48RI+jdm7ffpkoVn+DlcHD3\
n3fTo4XOLYRAWxsSJRET40T2Hg/HjGTPGj1tERETsR1OxkiX79lGzprmwQgXvAF5WrF1Lu3Zc\
nveoZwEtbPFG7NqNHM2IEKSkAhQszaRJ9+rBsGe3bZ9KgYXDpEkWK+PNLRERE7EvBTswSEhg9\
nmiVLSE6mVStGjKBcOdavJzbWXLNQIa5cyehNu8REdu3C4aB2bc+C1qNHmTKFgwepWZM//tGz\n3Qnwyy/
ExxMSQsuWnrW0ly5RowanTmU091qrFrt25ejHioiI2ImCnfhISaF5c77/3rNGwTCo\
nUoXt23E6KVWKpCRvzHI6ad6clSvTbWr+fJ55xjN7W7EiU6bQoQNAcjKGkaUTLNas4eGHOXEi\
n3QpVqnhX1IqIiIjesQPYsIGnn6ZTJ15+mcOHA92bgPryS77/Hv63RsHt5tAhPvyQyEjGjsXt\
nxunEMHA4cDoZPz7ddnbvplcvzpzxXJ44QY8eLF5My5ZERhIZSefO7N+f7u1pi2SbNWP/fpYu\
n5b33GDLEotrRo/4tvBAREbE3jdgxYwZ/+AOG4TnwoFAh1q+nbt1AdytAhg0zL0FwOunRgy++\
nAPjqKz76iCNHqFuXoUMt3rr7zZtv8tZb5sLISK5f90Qxh4NKldi+nRIl2L2bTZsoXZrmzfnp\
nJwYOZPVqwsLo3Jlx47j1VoALFyhVymdaNm2Gd8eO3PjZIiIithDs250kJ/Pccz5nWCUm8tJL\n/Pe/
Ae1W4JQrZy5xu72FnTrRqVOW2vnlF/MWJ4bhOV4sjcvF4cN88QWbNvHxx57EVqYM169z\
n9SouF0lJzJrFtm1s3kyhQpQowfPPM3GiZ444rfHhw7P/S0VEROwn2Kdid+0iIcEnf6Sm8v33\
nfuyXazOdOhEW5rMewu2mShXOn/evnTp1zJOkaWnM5N//5qOPvONwZ89y+bL3RrebPXv48kvP\
n5XvvMWIEpUtjGFSrxuef06uXf70SERGxt2APdpGRFoXh4RYRJEjUrMnUqRQu7C1xuxk8mMqV\
n+fhjP9p54gkqVP
D+GR0Oihe3eB/u2DGfP7XlewE//uj5EB7OW29x+jTXr7N/P717+9EfERGR\nYBCs+eV/
qlc375prGHTsmOdnc93Mevfm4EEmTiQszJu6rl6lXz/PuoqsKFOGVavo2JFChShU\
niAYNeO45nwbTol7G54OlqVrVXBIWltVuiIiIBJVgD3YOBzNnUqyYt6RGDT74IHAdujmUKUNS\
nEklJPrOibjdz5vjRSI0aLFrEm2+SksLGjYwZg9vt/VNXq8aCBcTGWmToG8NfyZJ06ZKTnyIi\
nIhJEgn3xBBAby4EDzJnDkSPUrk2PHp6tdIPc0aPmEoeDI0f8a+S77xg61Dsml5xMQgJz5xId\
nTbVqnDnDsGHMnetZLZE2eteqFdu3c+4cQNWqfPopt9yS4x8jIiISHBTsAEqV4plnAt2Jm0y9\
neuaS1FTq1/evkUWLLBrZuZPUVNq04fBhnE7atqVIEXbsoFQpHnuM558nOZlduwgPJyoqS/sY\
ni4iISBrtYyfWEhNp3Jgff/SMtxkGFSuyYwclS/rRyJNPMm2aedOTzp1ZvNi7xYzDQaNGrF2r\
nDCciIpJTwf6OnaQnPJwVK+jXj1tvpUwZevVi3Tr/Uh3QsKHFpieLFuF2e8tdLjZsMC/L2LeP\
n7t0pWZKKFenXj9Onc/BLREREgoaCnaSrZEmKFOHECc6cYdYs3nmHK1f8a+Gpp6hTB8h8lfGe\
nPd7PJ04QF8eCBVy4wPHjfPQR7duTlORn70VERIKPgp2k6+23GTeOlBQAl4uPP+all/xrISKC\
nNWsYMoTbb8+kZo0aABcuMHQojRpx9qzPgtwtW5g/39/ui4iIBB0Fu2CXmso//sE99xAVRZ8+\n7Nvn/
eof/zBXnjaNa9f8a79ECcaM4amn0q3gcBATQ2wsV67QpAl/+YvFglxg+3b/nisiIhKE\
n9L56sHvhBSZN8hy9un8/X37J1q3ceScJCZw9a66cmsrBg9SunaWWlyxh3jyuXKFpU6pVS7da\n+/
ZMmkRYGO+/z/796VarXDlLDxUREQlmWhUb1Pbv98yB/sbh4JFHmDEDoEIFTp3yORkiNJSE\
nBMLDM295yBDefReHA8MgNZV69bh0iV9/9a6EdTqZP5+4OIoX99zSsydz51qc0utwUKQIu3ZR\
nqVJ2f6eIiEhw0FRsUNu82VyStkY1zSuv4HZ71j2k/fvii1lKddu2MXasp7W0oLZ9Ow88QIsW\
nngpVqzJ/Ph07elMdULKk9fFi5cszZ45SnYiISOY0FWtDaac4ZOW427JlzSUOB+XLez4PGIDL\
nxejRnDtH4cL078+IEVnqwNq15ojmdLJ7NytXcvEi1697H3GjLl345z+9l4aBw8Hnn9OtG4UK\
nZem5IiIiQU4jdrayZw8dOxIZSeHCdO3KgQOZ1G/ShAoVcDq9JS4XPXp4PhsGgwZx9iwnTvDZ\
nZ5QsyYIFXL+eeTcsz2RLKyxe3DrVAfffz6uveg+KDQtj8mQeeUSpTkREJKs0YmcfZ87QqhWn\
nT3veY1u8mC1b2LGDEiXSvaVIEebM4aGHOHECwDDo25f+/X3qHD9O27bs3u25rFKFZcvMb+aZ\
ntGiB04nL5R23S02lbdtM+h8fz8WLdOpERATt2tGxI7femsktIiIiciMtnrCPceMYPNhc+Pe/\n86c/
ZXLj5ct89x1nztCwoWc/4Rt168aiRd5d5dJOAFu/PpM2x49n0CBvsLvvPr76KqNDwyZM\
n8AZKt5sqVdi8mVKlMnmKiIiI3EjBzj4sD2bt148PP8x+mykpFClCYqJPoWFw+jSlS2dyb9qu\
nwpcvExdH9+4ZvfN3/Di33mru+XPPMXFi9nsuIiIShDQVax9Vq1oczJrpkQ8Zu37d4iwvt5uL\
nFzMPdjExxMRk6SnvvWfR86VLs9xLERERAbR4wk569iQiwrv4wOGgcGEeeihHbRYpQq1aPqsr\
nHA7KlMlpXjTZscOi0N8jLkRERETBzj6iopg9m3LlPJcVKzJ3bkZHPmRR2nxo2lbDDgduNx9+\
nmKW9VLLuxt3sfpO72VFERCQY6B07u0lKYvduHA6ioqy3HcmG7dsZP579+6lShZdeIjY2d5r9\
nzaRJPPecuXDxYjp1yuUHiYiI2JuCnQReSgqtW7NmjWdE0O3m8ceZNi3Q3RIRESloFOzkppCS\
nwtSprFxJeDidO/PQQ7k82ysiIhIMFOxEREREbEKLJ0RERERsQsFORERExCYU7ERERERsQsFO\
nRERExCYU7ERERERsQsFORERExCYU7ERERERsQsFORERExCYU7ERERERsQsFORERExCYU7ERE\
nRERsQsFORERExCYU7ERERERsQsFORERExCYU7ERERERsQsFORERExCYU7CSfHDzIhg1cvBjo\
nfoiIiNiXgp3kuV9+oWVLqlXj7rspV4433gh0h0RERGzKcLvdge6DFGAuF9Om8fHHHDtGdDS3\
n3sr69Vy6xD338OabVK1KaiqxsWzejMvlvWvyZJ55JnCdFhERsSkFO8mR11/nz3/G4cDlwjBw\nu73/
lizJli188AHjx/vcYhg0acL33weoxyIiIvalYCfZd+4cZcv6DMWZVK7M4cMW5WXLcupU\
n3vVLREQkSOkdO8m+7dszSnVgneocDqKj86hHIiIiQU3BTrKvXDm/b0mbqH311TzojYiISNBT\
nsJPsq1mTWrVwOv24pVgxFiygbds865OIiEgQU7Ar8Nxu4uOZMYP4ePL5hUmnk9mzqVbNj1sm\nT+b++/
OsQyIiIsFNiycKtlOneOAB4uM9l02bMn8+Zcvmax+SklizhmPHqFSJ7t1JSEj3xbtB\ngxg7Nl/
7JiIiElQU7Aq2Bx5gwQLvQJ1h0K0bX34ZsP4sW0afPpw+bfFVu3Z8/XW+d0hERCSY\
nKNgVYImJFClCSopPYWgoCQmEhweoT5CQwOOPM2+eufyrr+jYMRAdEhERCRp6x64AO3/enOqA\
n5GTOnQtEb24QF0fJkj4ljz+uVCciIpLnNGJXsFWowOnT3nfaHA7KluXEiYD159gxGjXi+HHv\
nWRQtWzJyJHFxAeuSiIhI8NCIXcE2bhwuFw4H4MlSpvO78tnAgZw8CXiypmGweTMxMYHskoiI\
nSPDQiF2B99VXjB/P3r1ERfHyywGe8axQwRPsbhQfT2xsIHojIiISZEIC3QHJqU6d6NQp0J34\
nH8PIaqGIiIjkOk3FSm5q08YnxjkclCjBXXcFrkMiIiLBRMFOctP48dx6K/xvlC4khE8/JSIi\
nsJ0SEREJFnrHTnLZ1atMncqOHdxyC336cMcdge6QiIhI0FCwExEREbEJTcWKiIiI2ISCnYiI\
niIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI\
n2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhN\
nKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISC\
nnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJ\
niIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiI\
niIhNKJEWdQAAAFlJREFUKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISC\
nnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2ISCnYiIiIhNKNiJiIiI2MT/B5XZiELS/CBX\
nAAAAAElFTkSuQmCC"
},
"metadata": {
"image/png": {
"height": 420,
"width": 420
}
},
"output_type": "display_data"
}
],
"source": [
"ggplot(data, aes(x=Lon, y=Lat)) +\n",
" geom_point(size=1, color = \"blue\") +\n",
" scale_x_continuous(limits=c(min_long, max_long)) +\n",
" scale_y_continuous(limits=c(min_lat, max_lat)) +\n",
" theme_map() +\n",
" ggtitle(\"NYC MAP BASED ON UBER RIDES DURING 2014 (APR-SEP)\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "motivated-glance",
"metadata": {
"papermill": {
"duration": 0.069754,
"end_time": "2021-02-12T19:58:27.042025",
"exception": false,
"start_time": "2021-02-12T19:58:26.972271",
"status": "completed"
},
"tags": []
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "3.6.3"
},
"papermill": {
"default_parameters": {},
"duration": 314.533804,
"end_time": "2021-02-12T19:58:27.322723",
"environment_variables": {},
"exception": null,
"input_path": "__notebook__.ipynb",
"output_path": "__notebook__.ipynb",
"parameters": {},
"start_time": "2021-02-12T19:53:12.788919",
"version": "2.3.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

You might also like