{"cells":[{"metadata":{},"cell_type":"markdown","source":"<h1>NFL 1st and Future Playing Surface Analytics</h1>\n<h2>Three Birds Systems Data Science Team<br>Howard E. Neely, III</h2>\n<p>The objective of this project is to recommend rule changes to the NFL that are suggested and validated by the provided datasets.</p>\n<p>We were provided three datasets to work with:  InjuryRecord, PlayList, and PlayerTrackData.  I make it a habit to always start by generating and examining the \ndescriptive statistics of each raw dataset, to plan my work in cleaning and feature extraction and get an idea of what insights each dataset might yield.\nI'll start with InjuryRecord.</p>\n<p>But first, I'll initialize the environment with some imports I'll need:</p>\n<h3>Imports</h3>"},{"metadata":{"trusted":true},"cell_type":"code","source":"import json\nimport math\n\nimport matplotlib.pyplot as plt\nimport numpy             as np\nimport pandas            as pd\nimport xgboost           as xgb\n\nfrom sklearn.metrics         import roc_curve\nfrom sklearn.metrics         import auc\nfrom sklearn.model_selection import StratifiedKFold\nfrom sklearn.preprocessing   import LabelEncoder","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<h3>Data Preparation Functions</h3>"},{"metadata":{"trusted":true},"cell_type":"code","source":"NPSABASEDIR='../input/nfl-playing-surface-analytics/'\nMYBASEDIR  ='../input/neelynflpsaworkfiles/'\nWORKBASEDIR='/kaggle/working/'\n\ndef read_my_csv(datasetfile):\n    return pd.read_csv(WORKBASEDIR+datasetfile)\n\ndef clean(df, col_name, old_string, new_string):\n    \"\"\"\n    Replace all instances of an old string with a new string.\n\n    Args:\n        df: pandas DataFrame.\n        col_name: String name of column to be cleaned.\n        old_string: String to be found and removed.\n        new_string: String to be inserted instead.\n    \"\"\"\n    \n    col = df[col_name]\n    rej = col.str.contains(old_string)\n    df[col_name] = np.where(rej, new_string, df[col_name])\n    return\n\ndef make_dummy_variables(df, name, src_col_name):\n    \"\"\"\n    Append a one-hot column to the DataFame with 1 in each row in which\n    the corresponding row of the source column matches name, 0 otherwise.\n    \n    Args:\n        df: pandas DataFrame.\n        name: String value to match in source column.\n        src_col_name: String name of the source column.\n    \"\"\"\n    \n    df[name] = [0 for x in range(df.index.size)]\n    col   = df[src_col_name]\n    match = col.str.contains(name)\n    df[name] = np.where(match, 1, 0)\n    return\n\ndef encode_string_values(df, col_name, num_values, mappings, save_mapping=False):\n    \"\"\"\n    Append a new column to the DataFrame containing numeric mappings for string\n    categorical values.\n\n    It is wise to run fill_missing_with_text over the column prior to running\n    this function.\n\n    Args:\n        df: pandas DataFrame.\n        col_name: String name of column to be cleaned.\n        num_values: int number of categorical values we expect.\n        mappings: dictionary in which to insert a list of the string values.\n          The index in the list is the new numeric value for that category.\n        save_mapping: boolean used to control whether this is the first scan\n          of the categoricals, in which case numeric values will be saved to\n          mapping, or read from mapping for use with input data for inference.\n    \"\"\"\n\n    new_col_name = col_name + '_code'\n    if save_mapping:\n        encoder = LabelEncoder()\n        codes   = encoder.fit_transform(df[col_name])\n        names   = encoder.inverse_transform(range(num_values))\n        df[new_col_name] = codes\n        mappings[col_name] = list(names)\n        print('\\nMapping of %s names:' % col_name)\n        print(names)\n    else:\n        df[new_col_name] = df[col_name].apply(lambda x : mappings[col_name].index(x))\n    return\n\ndef remap_categories(df, col_name, remap):\n    \"\"\"\n    Append a new column to the DataFrame containing string categorical\n    mappings defined in the remap DataFrame.\n\n    Args:\n        df: pandas DataFrame.\n        col_name: String name of column to be remapped.\n        remap: pandas DataFrame with the old values in column 0 and new\n          values in column 1.\n    \"\"\"\n    \n    mp = {}\n    for i in range(remap.index.size):\n        mp[remap.iloc[i,0]] = remap.iloc[i,1]\n        \n    df['New_' + col_name] = df[col_name].map(mp)\n    return\n    \ndef fill_missing_with_text(df, col_name, text):\n    \"\"\"\n    Replace all values in a column containing NaN with the provided text.\n\n    Args:\n        df: pandas DataFrame.\n        col_name: String name of column to be cleaned.\n        text: String value to use instead.\n    \"\"\"\n    \n    df[col_name] = df[col_name].fillna(value=text)\n    return\n    \ndef replace_numeric_with_median(df, col_name, value):\n    \"\"\"\n    For all matching values in a column, replace with the median value of the column.\n\n    Args:\n        df: pandas DataFrame.\n        col_name: String name of column to be cleaned.\n        value: numeric value to replace.\n    \"\"\"\n    \n    chg = df[col_name] == value\n    median= df[col_name].median()\n    df[col_name] = np.where(chg, median, df[col_name])\n    return\n\ndef drop_zero_columns(df):\n    \"\"\"\n    Drop all columns that contain no non-zero values.\n\n    Args:\n        df: pandas DataFrame.\n\n    Returns:\n        DataFrame with no all-zero columns.\n    \"\"\"\n    \n    return df.loc[:, (df !=0).any(axis=0)]\n\ndef describe(dataset, inbasedir=NPSABASEDIR, outbasedir=WORKBASEDIR):\n    \"\"\"\n    Make descriptive statistics for a dataset and write to a CSV file.\n\n    Args:\n        dataset: String for the dataset filename, without the extension.\n    \"\"\"\n    \n    filename = inbasedir+dataset+'.csv'\n    print('\\nReading dataset: ', filename)\n    df = pd.read_csv(filename)\n    stats = df.describe(include='all').transpose()\n    stats.to_csv(outbasedir+dataset+'_stats.csv', index=False)\n    print(stats)\n    return\n\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<h3>Machine Learning Functions</h3>"},{"metadata":{"trusted":true},"cell_type":"code","source":"def xgb_plot_feature_importances(model, model_name, group, dataset, injury, fold, auc):\n    \"\"\"\n    Make a horizontal bar chart showing the top ten feature importances for the\n    model with the given dataset and injury target.\n\n    Args:\n        model: A trained and fitted xgboost model.\n        model_name: String of the model name.\n        group: String for the two-letter PositionGroup the dataset covers. \n        dataset: String for the dataset filename, without the extension.\n        injury: String for the BodyPart target on which the model is to be trained and fitted.\n        fold: int value for the cross variance fold to be plotted.\n        auc: float value of the area under the receiver operating characteristic (ROC)\n             curve for this fold.\n    \"\"\"\n    \n    title = ('Top Ten Features for Prediction of %s %s injury\\n' % (group, injury)) + \\\n    'Using the ' + model_name + ' model with the ' + dataset + ' dataset, fold ' + str(fold) + \\\n    ('\\n(ROC AUC = %6.4f)' % auc)\n    \n    xgb.plot_importance(\n        booster = model,\n        ax      = None,\n        height  = 0.2,\n        xlim    = None,\n        ylim    = None,\n        title   = title,\n        xlabel  = 'F score',\n        ylabel  = 'Features',\n        grid    = True,\n        max_num_features = 10\n        )\n    plt.show()\n    return\n\ndef xgb_crossvalidation(df, model_name, group, dataset, injury, target_drops,\n                        params, nfolds=5, features=False):\n    \"\"\"\n    Prepare data for cross validation using the XGBoost classifier.\n\n    Args:\n        df: pandas DataFrame still containing all targets.\n        model_name: String of the model name.\n        group: String for the two-letter PositionGroup the dataset covers. \n        dataset: String for the dataset filename, without the extension.\n        injury: String for the BodyPart target on which the model was trained and fitted.\n        target_drops: List of all target column names to be dropped before training.\n        params: Dictionary of hyperparameters for the XGBoost classifier.\n        nfolds: int value for the number of cross variance folds to process, default=5.\n        features: boolean indicating whether feature importances are to be plotted\n        instead of ROC curves.\n    \"\"\"\n    \n    y = df[injury]\n    X = df.drop(columns=target_drops)\n    title = model_name + ' using ' + dataset + ' for target ' + injury\n    \n    xgm = xgb.XGBClassifier(\n        params        = params,\n        random_state  = 45,\n        n_jobs        =  8,\n        )\n    cross_val_with_roc(xgm, X, y, nfolds, model_name, group, dataset,\n                       injury, title, features)\n    return\n\ndef cross_val_with_roc(classifier, X, y, nfolds=5, model_name='', group='', dataset='',\n                       injury='', title='Example', features=False):\n    \"\"\"\n    Run n-fold cross-validation of classifier and plot multiple ROC curves on one chart.\n\n    Args:\n        classifier: model to be tested.\n        X: DataFrame containing features.\n        y: DataFrame containing the target.\n        nfolds: int value for the number of cross variance folds to process, default=5.\n        model_name: String of the model name.  Default is an empty string.\n        group: String for the two-letter PositionGroup the dataset covers. \n        dataset: String for the dataset filename, without the extension.\n        injury: String for the BodyPart target on which the model is to be trained and fitted.\n        title: String title for use on the chart.\n        features: boolean indicating whether feature importances are to be plotted\n        instead of ROC curves.\n    \"\"\"\n    \n    plt.clf()\n    cv = StratifiedKFold(n_splits=nfolds, shuffle=True, random_state=45)\n\n    tprs = []\n    aucs = []\n    mean_fpr = np.linspace(0, 1, 100)\n\n    i = 0\n    for train, test in cv.split(X, y):\n        probas_ = classifier.fit(X.iloc[train], y.iloc[train]).predict_proba(X.iloc[test])\n\n        # Compute ROC curve and area the curve\n        fpr, tpr, thresholds = roc_curve(y.iloc[test], probas_[:, 1])\n        tprs.append(interp(mean_fpr, fpr, tpr))\n        tprs[-1][0] = 0.0\n        roc_auc = auc(fpr, tpr)\n        aucs.append(roc_auc)\n\n        if features:\n            xgb_plot_feature_importances(classifier, model_name, group, dataset,\n                                         injury, i, roc_auc)\n        \n        plt.plot(fpr, tpr, lw=1, alpha=0.3,\n             label='ROC fold %d (AUC = %0.6f)' % (i, roc_auc))\n        i += 1\n        \n    plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r',\n             label='Chance', alpha=.8)\n\n    mean_tpr = np.mean(tprs, axis=0)\n    mean_tpr[-1] = 1.0\n    mean_auc = auc(mean_fpr, mean_tpr)\n    std_auc = np.std(aucs)\n    plt.plot(mean_fpr, mean_tpr, color='b',\n             label=r'Mean ROC (AUC = %0.6f $\\pm$ %0.5f)' % (mean_auc, std_auc),\n             lw=2, alpha=.8)\n\n    std_tpr = np.std(tprs, axis=0)\n    tprs_upper = np.minimum(mean_tpr + std_tpr, 1)\n    tprs_lower = np.maximum(mean_tpr - std_tpr, 0)\n    plt.fill_between(mean_fpr, tprs_lower, tprs_upper, color='grey', alpha=.2,\n                 label=r'$\\pm$ 1 std. dev.')\n\n    plt.xlim([-0.05, 1.05])\n    plt.ylim([-0.05, 1.05])\n    plt.xlabel('False Positive Rate')\n    plt.ylabel('True Positive Rate')\n    plt.title(title)\n    plt.legend(loc=\"lower right\")\n    plt.show()\n    return\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"describe('InjuryRecord')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>We note that some PlayKey values are missing.  We can recover the missing PlayKey values by indexing into the PlayList dataset using GameID, then appending the final value of PlayerGamePlay to GameID to reconstruct the PlayKey.  We assume here that the play on which the player has an injury that will cost him some weeks of playing time will also be his final play of that game.  While we're at it, after reconstructing PlayKey, we can drop PlayerKey, GameID, and Surface from the new, cleaned dataset:  TBSNFLPLA00.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"ir = pd.read_csv(NPSABASEDIR+'InjuryRecord.csv')\npl = pd.read_csv(NPSABASEDIR+'PlayList.csv')\n\n# Repair missing PlayKey values.\npkn = ir['PlayKey'].isnull()\nfor i in range(ir.index.size):\n    if pkn[i]:\n        gameid = ir.loc[i, 'GameID']\n        giddf  = pl[pl['GameID'] == gameid]\n        pgp  = list(giddf['PlayerGamePlay'])\n        pgpi = pgp[-1]\n        pkm  = gameid + '-' + str(pgpi)\n        ir.loc[i, 'PlayKey'] = pkm\n\n#Drop unneeded columns.\nir.drop(columns=['PlayerKey', 'GameID', 'Surface'], inplace=True)\n    \n# Save cleaned file and descriptive statistics.\nir.to_csv(WORKBASEDIR+'TBSNFLPSA00.csv', index=False)\nstats = ir.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA00_stats.csv')\nprint(stats)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Now we see that we have all 105 injury records, and that two belong to an unfortunate player who got two injuries on the same play.  We see that Knee is the body part most frequently injured.  Let's examine that further.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"injuries = [\n    \"Ankle\",\n    \"Foot\",\n    \"Heel\",\n    \"Knee\",\n    \"Toes\"\n    ]\n\nnum_injuries = len(injuries)\ncounts = [0 for x in range(num_injuries)]\nfor i in range(num_injuries):\n    counts[i] = ir[ir['BodyPart'] == injuries[i]].shape[0]\n\nexplode = (0.1, 0, 0, 0.1, 0)\n\nfig1, ax1 = plt.subplots()\nax1.pie(counts, explode=explode, labels=injuries, autopct='%1.1f%%',\n        shadow=True, startangle=90)\nax1.axis('equal')\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Here we see that Ankle and Knee injuries make up 85.7% of the total.  No other injury is even in double-digits of percentage points.  So, let's keep this insight in mind as we proceed to clean and transform the other datasets.  Next up is PlayList.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"describe('PlayList')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Tipped off by the \"a free text description\" comments in the data dictionary, we see that we need to do something about the values for StadiumType and Weather.  Looking at the 29 values for StadiumType, it seems that the essential issue is whether the stadium is indoor or has the potential of being indoor (e.g., sliding roof) venues, or are outdoors in the weather.  I decided to remap these 29 values to three:  Indoor, Outdoor, and NotReported.  This mapping is shown below:</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"stadia = pd.read_csv(MYBASEDIR+'StadiumType.csv')\nprint(stadia)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Weather is a 63 value variable that rambles all over the place.  I decided that the essential elements here were weather was Wet, Dry, or NotReported:"},{"metadata":{"trusted":true},"cell_type":"code","source":"weather = pd.read_csv(MYBASEDIR+'Weather.csv')\nprint(weather)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>The following additional issues were addressed in the clean-up of Play List:</p>\n<ol>\n    <li>Drop field “RosterPosition”.  This value doesn’t necessarily indicate the role of a player on a given play.  This information is already present in the “Position” field.</li>\n    <li>Replace the “Temperature” values that show -999 with the median of the variable.</li>\n    <li>For the “PlayType” field, remap the “0” values to NotReported, then map the eleven categorical val-ues to numeric values.</li>\n    <li>For the “Position” field, map the 23 categorical values to numeric values.</li>\n    <li>For the “PositionGroup” field, map the 9 categorical values to numeric values.</li>\n</ol>\n<p>The code that does this and remaps the StadiumType and Weather to form new derived dataset TBSNFLPSA01 is as follows:"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Replace zero PlayType values with NotReported.\nclean(pl, 'PlayType', '0', 'NotReported')\n\n# Replace Temperature=-999 with mean.\nreplace_numeric_with_median(pl, 'Temperature', -999)\n\n# Drop unneeded columns.\npl.drop(columns=['RosterPosition'], inplace=True)\n\n# Fill missing categorical data with text.\nfill_missing_with_text(pl, 'StadiumType', 'NotReported')\nfill_missing_with_text(pl, 'Weather',     'NotReported')\nfill_missing_with_text(pl, 'PlayType',    'NotReported')\n\n# Map categorical variables.\nmappings = {}\nencode_string_values(pl, 'Position',      22, mappings, True)\nencode_string_values(pl, 'PositionGroup',  9, mappings, True)\nencode_string_values(pl, 'PlayType',      11, mappings, True)\nencode_string_values(pl, 'FieldType',      2, mappings, True)\n\n# Remap StadiumType before mapping to integers.\nremap_categories(pl, 'StadiumType', stadia)\nencode_string_values(pl, 'New_StadiumType', 3, mappings, True)\n \n# Remap Weather before mapping to integers.\nremap_categories(pl, 'Weather', weather)\nencode_string_values(pl, 'New_Weather', 3, mappings, True)\n\n# Save mappings to JSON file.\nwith open(WORKBASEDIR+'TBSNFLPSA01-variable-mappings.txt', 'w') as outfile:\n    json.dump(mappings, outfile, indent=3)\n\n# Save dataset and statistics to files.\npl.to_csv(WORKBASEDIR+'TBSNFLPSA01.csv', index=False)\nstats = pl.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA01_stats.csv')\nprint(stats)\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Next, we'll join TBSNFLPSA00 and TBSNFLPSA01 on PlayKey to form TBSNFLPSA02:</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Join datasets on PlayKey.\nj1 = pd.merge(pl, ir, how='left', on='PlayKey')\n\n# Fill NaNs that appear due to the left join with reasonable values.\nfill_missing_with_text(j1, 'BodyPart', 'None')\nfill_missing_with_text(j1, 'DM_M1',    '0')\nfill_missing_with_text(j1, 'DM_M7',    '0')\nfill_missing_with_text(j1, 'DM_M28',   '0')\nfill_missing_with_text(j1, 'DM_M42',   '0')\n\n# Now that we also have \"None\" values, make dummy variables for BodyPart.\nmappings = {}\nencode_string_values(j1, 'BodyPart',    6, mappings, True)\nfor part in mappings['BodyPart']:\n    make_dummy_variables(j1, part, 'BodyPart')\n\n# Save mappings to file.\nwith open('TBSNFLPSA02-variable-mappings.txt', 'w') as outfile:\n    json.dump(mappings, outfile, indent=3)\n\n# Drop unnecessary columns.\ndrops = ['PlayerKey', 'GameID', 'FieldType', 'PlayType', 'StadiumType', 'New_StadiumType',\n         'Weather', 'New_Weather'\n         ]\nj1.drop(columns=drops, inplace=True)\n\n# Save dataset and statistics to files.\nj1.to_csv(WORKBASEDIR+'TBSNFLPSA02.csv', index=False)\nstats = j1.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA02_stats.csv')\nprint(stats)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Now that we have a dataset that associates injury with position and position group, we can revisit the question of \"who gets injured?\"  Continuing our focus on Ankle and Knee injuries, this joined dataset now allows us to see the following for position groups (Ankle chart on top, Knee chart below):</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"injuries = [\n    \"Ankle\",\n    \"Knee\"\n    ]\n\nposition_groups = [\n      \"DB\",\n      \"DL\",\n      \"LB\",\n      \"OL\",\n      \"QB\",\n      \"RB\",\n      \"SPEC\",\n      \"TE\",\n      \"WR\"\n   ]\n\nnpg    = len(position_groups)\ncounts = [0 for x in range(npg)]\n\nfor injury in injuries:\n    inj  = j1[j1['BodyPart'] == injury]\n    for i in range(npg):\n        counts[i] = inj[inj['PositionGroup'] == position_groups[i]].shape[0]\n\n    title = injury + ' Injuries by Position Group'\n    fig1, ax1 = plt.subplots()\n    ax1.pie(counts, labels=position_groups, autopct='%1.1f%%', \n            startangle=90)\n    ax1.axis('equal')\n    plt.show()\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>From these charts, we can confirm what was intuitively obvious:  the players who run the fastest and collide with the most other players get the most ankle and knee injuries.  Can we find something to do with running fast that is predictive of injury risk?  If so, the source data for that insight would be the PlayerTrackData. The descriptive statistics for the PlayerTrackData dataset are as follows:</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"describe('PlayerTrackData')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Dataset PlayerTrackData is clean, but it is big, at 76.4M samples.  How can we effectively glean insight from this huge trove?  What are we looking for?</p>\n<p>Sports medicine researchers agree that excessive rotational traction, which can be caused by cleats getting “caught” in the turf, can cause ankle and knee injuries, but there is no consensus on how much traction is too much [Villwock09].  But, we can estimate the forces on a player from the track data, right?</p>\n<p>I used the 76 million timed position measurements to estimate linear acceleration magnitude and rotational acceleration magnitude using the difference equations shown below.  Since these accelerations are proportional to force and torque, respectively, these estimates correlate with forces and torques on the player.  Normalized histograms were made from these values to make much smaller and easy to use datasets that reflect the percentage of time each player is subjected to forces and torques at different levels, for every play.  I've provided the source code for this module, but used the previously computed files instead of running it.  The acceleration magnitude code took about 67 hours on an AWS ml.t2.2xlarge instance and the angular acceleration magnitude took about 24 hours on an ml.c5.4xlarge instance.</p>"},{"metadata":{},"cell_type":"markdown","source":"![DifferenceEquations.png](attachment:DifferenceEquations.png)","attachments":{"DifferenceEquations.png":{"image/png":"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"}}},{"metadata":{"trusted":true},"cell_type":"code","source":"def make_acceleration_histograms(df):\n    \"\"\"\n    Library for generating the Histogram of Acceleration Magnitudes feature vector\n    from the NFL Next Generation Statistics (NGS) PlayerTrackData dataset.\n\n    This function computes sequences of velocities from the sequences of player (x,y)\n    position data in the PlayerTrackData dataset, then computes sequences of acceleration\n    from the sequences of velocities.  Acceleration magnitude is computed from the\n    x and y components of acceleration.  Various sizes of histograms accumulate the\n    number of times acceleration magnitudes are seen within the various bands.\n    This serves to compress the acceleration magnitude sequence without losing\n    information about peak values.  One row of histogram data is generated\n    for each PlayerPlay, regardless of how long that play lasts.  Differences in\n    play duration are mitigated when the histograms are normalized to percentages\n    in the next feature extraction step.\n\n    Args:\n        df: a pandas DataFrame containing the PlayerTrackData dataset.\n    \"\"\"\n\n    STATE_SIZE =  4\n    IDT        = 10.0\n    MAX_VALUE  = 30.0\n    HISTO_LIST = [10, 20, 50, 100]\n\n    # State Indices\n    X_1 =  0\n    Y_1 =  1\n    XV_1=  2\n    YV_1=  3\n\n    class Filter:\n        \"\"\"\n        Represents the displacement state of a player.\n\n        Public methods:\n        - update: Provide new (x,y) values to update state.\n        - clear:  Reset state to zero.\n        \"\"\"\n        \n        def __init__(self):\n            self.clear()\n            return\n        def update(self, x, y):\n            \"\"\"\n            Uses (x,y) to update the player's angular state.\n\n            Args:\n                x: float value that is the player's position in yards\n                  at a sample time along the long axis of the field.\n                y: float value that is the player's position in yards\n                  at a sample time along the short axis of the field.\n\n            Returns:\n                an estimate of the player's angular acceleration.\n            \"\"\"\n\n            xv = IDT*(x  - self.state[X_1])\n            yv = IDT*(y  - self.state[Y_1])\n            xa = IDT*(xv - self.state[XV_1])\n            ya = IDT*(yv - self.state[YV_1])\n\n            self.state[X_1]  = x\n            self.state[Y_1]  = y\n            self.state[XV_1] = xv\n            self.state[YV_1] = yv\n            \n            return (xv, yv, xa, ya)\n        \n        def clear(self):\n            \"\"\"\n            Resets the state vector to zero.\n            \"\"\"\n            \n            self.state = np.array([0.0 for x in range(STATE_SIZE)])\n            return \n\n    def make_col_names(nbins):\n        \"\"\"\n        Makes a list of column name strings used to create the DataFrame.\n\n        Args:\n            nbins: int number of bins.\n\n        Returns:\n            list of column name strings.\n        \"\"\"\n        \n        return ['PlayKey'] + ['Bin'+str(x) for x in range(nbins)]\n\n    def make_histos(df):\n        \"\"\"\n        Generate angular acceleration magnitude histogram.\n\n        Args:\n            df: a pandas DataFrame containing the PlayerTrackData dataset.\n        \"\"\"\n        \n        size          = df.index.size\n        histo_indices = range(len(HISTO_LIST))\n        histos        = [{} for x in histo_indices]\n        \n        for i in histo_indices:\n            nbins     = HISTO_LIST[i]\n            histos[i] = {'nbins': nbins,\n                         'histo': [],\n                         'df'   : pd.DataFrame(columns=make_col_names(nbins)),\n                         'bins' : np.linspace(start=0, stop=MAX_VALUE, num=nbins),\n                         'index': 0\n                         }\n            \n        # Initialize loop variables.        \n        done      = False\n        row_index = 0\n        \n        # Instantiate filter.\n        kf = Filter()\n\n        while not done:\n            kf.clear()\n            pk = df.loc[row_index, 'PlayKey']\n            x  = df.loc[row_index, 'x']\n            y  = df.loc[row_index, 'y']\n\n            # Propogate out transients due to initial x,y.\n            kf.update(x, y)\n            kf.update(x, y) \n            kf.update(x, y)\n            \n            for i in histo_indices:\n                nbins = histos[i]['nbins']\n                histos[i]['histo'] = [0 for x in range(nbins)]\n                \n            while True: #for row_index in range(df.index.size):\n                x = df.loc[row_index, 'x']\n                y = df.loc[row_index, 'y']\n                xv, yv, xa, ya = kf.update(x, y)\n                ma = math.sqrt(xa*xa+ya*ya)\n\n                for i in histo_indices:\n                    nbins = histos[i]['nbins']\n                    bins  = histos[i]['bins']\n                    for bin_index in range(1, nbins):\n                        if (ma >= bins[bin_index-1]) and (ma < bins[bin_index]):\n                            histos[i]['histo'][bin_index-1] += 1\n                            break\n                    \n                row_index += 1\n                if row_index == size:\n                    for i in histo_indices:\n                        histo_index = histos[i]['index']\n                        histo       = histos[i]['histo']\n                        histos[i]['df'].loc[histo_index] = [pk] + histo\n                    done = True\n                    break\n                elif pk != df.loc[row_index, 'PlayKey']:\n                    for i in histo_indices:\n                        histo_index = histos[i]['index']\n                        histo       = histos[i]['histo']\n                        histos[i]['df'].loc[histo_index] = [pk] + histo\n                        histos[i]['index'] += 1\n                    break\n\n        #Writing datasets.\n        for i in histo_indices:\n            df = histos[i]['df']\n            dataset = 'histo-' + str(HISTO_LIST[i])\n            df.to_csv(dataset + '.csv', index=False)\n            stats = df.describe(include='all').transpose()\n            stats.to_csv(dataset+'_stats.csv', index=False)\n        return\n       \n    make_histos(df)\n    return\n\ndef make_angular_acceleration_histograms(df):\n    \"\"\"\n    Generate the Histogram of Angular Acceleration Magnitudes feature vectors\n    from the NFL Next Generation Statistics (NGS) PlayerTrackData dataset.\n\n    This function computes sequences of angles from the sequences of player (x,y) position\n    in the PlayerTrackData dataset, then computes sequences of angular velocity from\n    the sequences of angles, and angular accelerations from the sequences of velocities.\n    Angular acceleration magnitude is computed by taking the absolute value of the\n    angular acceleration.  Various sizes of histograms accumulate the number of times\n    angular acceleration magnitudes are seen within the various bands.  This serves to\n    compress the angular acceleration magnitude sequence without losing information about\n    peak values.  One row of histogram is generated for each PlayerPlay.  Differences in\n    play duration are mitigated when the histograms are normalized to percentages in the next\n    feature extraction step.\n\n    Args:\n        df: a pandas DataFrame containing the PlayerTrackData dataset.\n    \"\"\"\n\n    STATE_SIZE  =  9\n    IDT         = 10.0\n    MAX_VALUE   = 30.0\n    HISTO_LIST  = [10, 20]\n    HISTO_DEPTH = 266960\n\n    # State Indices\n    X_1     = 0\n    Y_1     = 1\n    XV_1    = 2\n    YV_1    = 3\n\n    THETA   = 4\n    OMEGA   = 5\n    ANGAC   = 6\n\n    THETA_1 = 7\n    OMEGA_1 = 8\n\n    class Filter:\n        \"\"\"\n        Represents the angular state of a player.\n\n        Public methods:\n        - update: Provide new (x,y) values to update state.\n        - clear:  Reset state to zero.\n        \"\"\"\n        \n        def __init__(self):\n            self.clear()\n            return\n        def update(self, x, y):\n            \"\"\"\n            Uses (x,y) to update the player's angular state.\n\n            Args:\n                x: float value that is the player's position in yards\n                  at a sample time along the long axis of the field.\n                y: float value that is the player's position in yards\n                  at a sample time along the short axis of the field.\n\n            Returns:\n                an estimate of the player's angular acceleration.\n            \"\"\"\n\n            th = math.atan2((y - self.state[Y_1]), (x - self.state[X_1]))\n            om = IDT*(th - self.state[THETA_1])\n            aa = IDT*(om - self.state[OMEGA_1])\n\n            self.state[X_1]  = x\n            self.state[Y_1]  = y\n            \n            self.state[THETA_1] = th\n            self.state[OMEGA_1] = om\n            return aa\n        \n        def clear(self):\n            \"\"\"\n            Resets the state vector to zero.\n            \"\"\"\n            \n            self.state = np.array([0.0 for x in range(STATE_SIZE)])\n            return \n\n    def make_col_names(nbins):\n        \"\"\"\n        Makes a list of column name strings used to create the DataFrame.\n\n        Args:\n            nbins: int number of bins.\n\n        Returns:\n            list of column name strings.\n        \"\"\"\n        \n        return ['PlayKey'] + ['Bin'+str(x) for x in range(nbins)]\n\n    def make_histos(df):\n        \"\"\"\n        Generate angular acceleration magnitude histogram.\n\n        Args:\n            df: a pandas DataFrame containing the PlayerTrackData dataset.\n        \"\"\"\n        \n        size          = df.index.size\n        histo_indices = range(len(HISTO_LIST))\n        histos        = [{} for x in histo_indices]\n        \n        for i in histo_indices:\n            nbins     = HISTO_LIST[i]\n            columns   = make_col_names(nbins)\n            histos[i] = {'nbins': nbins,\n                         'histo': [],\n                         'df'   : pd.DataFrame(columns=columns),\n                         'bins' : np.linspace(start=0, stop=MAX_VALUE, num=nbins),\n                         'index': 0\n                         }\n            for column in columns:\n                histos[i]['df'][column] = [0 for x in range(HISTO_DEPTH)]\n\n        # Initialize loop variables.        \n        done      = False\n        row_index = 0\n\n        # Instantiate filter.\n        kf = Filter()\n\n        while not done:\n            kf.clear()\n            pk = df.loc[row_index, 'PlayKey']\n            x  = df.loc[row_index, 'x']\n            y  = df.loc[row_index, 'y']\n            \n            # Propogate out transients due to initial x,y.\n            kf.update(x, y)\n            kf.update(x, y)\n            kf.update(x, y)\n            \n            for i in histo_indices:\n                nbins = histos[i]['nbins']\n                histos[i]['histo'] = [0 for x in range(nbins)]\n                \n            while True: #for row_index in range(df.index.size):\n                x = df.loc[row_index, 'x']\n                y = df.loc[row_index, 'y']\n                aa = kf.update(x, y)\n\n                for i in histo_indices:\n                    nbins = histos[i]['nbins']\n                    bins  = histos[i]['bins']\n                    for bin_index in range(1, nbins):\n                        if (aa >= bins[bin_index-1]) and (aa < bins[bin_index]):\n                            histos[i]['histo'][bin_index-1] += 1\n                            break\n                    \n                row_index += 1\n                if row_index == size:\n                    for i in histo_indices:\n                        histo_index = histos[i]['index']\n                        histo       = histos[i]['histo']\n                        histos[i]['df'].loc[histo_index] = [pk] + histo\n                    done = True\n                    break\n                elif pk != df.loc[row_index, 'PlayKey']:\n                    for i in histo_indices:\n                        histo_index = histos[i]['index']\n                        histo       = histos[i]['histo']\n                        histos[i]['df'].loc[histo_index] = [pk] + histo\n                        histos[i]['index'] += 1\n                    break\n                \n        #Writing datasets\n        for i in histo_indices:\n            df = histos[i]['df']\n            dataset = 'angular-histo-' + str(HISTO_LIST[i])\n            df.to_csv(dataset + '.csv', index=False)\n            stats = df.describe(include='all').transpose()\n            stats.to_csv(dataset+'_stats.csv')\n        return\n\n    make_histos(df)\n    return","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"describe('histo-20_normalized', inbasedir=MYBASEDIR)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>TBSNFLPSA03 is formed by joining TBSNFLPSA02 with the normalized 20-bin linear acceleration magnitude histogram, as follows:"},{"metadata":{"trusted":true},"cell_type":"code","source":"h20 = pd.read_csv(MYBASEDIR+'histo-20_normalized.csv')\n\n# Join datasets on PlayKey.\nj2 = pd.merge(j1, h20, how='inner', on='PlayKey')\n\n# Drop rows with with bad PlayerDay values.\nj2.drop(j2.loc[j2['PlayerDay'] < 0].index, inplace=True)\n\n# Save dataset and statistics to files.\nj2.to_csv(WORKBASEDIR+'TBSNFLPSA03.csv', index=False)\nstats = j2.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA03_stats.csv')\nprint(stats)\n","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Now that we have a complete dataset, we can start doing some experimenting.  I like to start with decision trees, because they aren't finicky about normalization, and they provide some insight into which features are important.  XGBoost is an agressive gradient boosted tree that I'll start with for my experiment.</p>\n<p>First, I'll try the whole dataset for an Ankle target.  I'll do some hyperparameter optimization first.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn.model_selection  import RandomizedSearchCV\n\ndef optimize(model, df, model_name, dataset, injury, initial=False):\n    \"\"\"\n    Optimize XGBoost hyperparameters via randomized search over\n    cross validation results.\n\n    Args:\n        model: A classifier model ready to be trained.\n        df: pandas DataFrame still containing all targets.\n        model_name: String of the model name.\n        dataset: String for the dataset filename, without the extension.\n        injury: String for the BodyPart target on which the model is to\n          be trained and fitted.\n        initial: boolean indicating if an initial set of parameters is to\n          be used for all models, or is a model-specific set to be used.\n\n    Returns:\n        Dictionary of the best param set.    \n    \"\"\"\n    y = df[injury]\n    X = df.drop(columns=target_drops)\n    if initial:\n        clf  = RandomizedSearchCV(\n            estimator=model,\n            param_distributions=param_grid_initial,\n            scoring='roc_auc',\n            random_state=42,\n            verbose=1,\n            cv=5,\n            n_iter=50\n            )\n    else:\n        clf  = RandomizedSearchCV(\n            estimator=model,\n            param_distributions=param_grid_model_specific[model_name],\n            scoring='roc_auc',\n            random_state=42,\n            verbose=1,\n            cv=5,\n            n_iter=50\n            )\n    search = clf.fit(X, y)\n    print('\\nModel %s and dataset %s, for %s injury:\\n' % (model_name, dataset, injury))\n    print(search.best_params_)\n    print('Best score= %6.4f' % clf.best_score_)\n    return search.best_params_\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"target_drops = [\n    \"Ankle\",\n    \"Foot\",\n    \"Heel\",\n    \"Knee\",\n    \"Toes\",\n    \"None\"\n    ]\n\nfeature_drops = [\n    \"PlayKey\",\n    \"BodyPart\",\n    \"BodyPart_code\",\n    \"Position\",\n    \"PositionGroup\",\n    \"PositionGroup_code\",\n    \"DM_M1\",\n    \"DM_M7\",\n    \"DM_M28\",\n    \"DM_M42\"\n    ]\n\nminimal_params = {\n    'eval_metric': \"auc\"\n    }\n\nparam_grid_initial = {\n    'max_depth':         [x for x in range(6,    100)],\n    'learning_rate':     np.linspace(0.06, 0.09,  50),\n    'subsample':         np.linspace(0.4,  1.0,   50),\n    'colsample_bytree':  np.linspace(0.3,  1.0,   50),\n    'colsample_bylevel': np.linspace(0.3,  1.0,   50)\n    }\n\ngbm = xgb.XGBClassifier(\n    params        = minimal_params,\n    n_jobs        = 16\n    )\n\ndef run_opt(runs, param_file):\n    \"\"\"\n    Optimize sets of hyperparameters for specified models and write parameters\n    to specified JSON file.\n\n    Args:\n        runs: List of dictionaries containing the parameters to be used\n          to train, fit, and evaluate a group of models.\n        param_file: String filename for the destination JSON file.\n    \"\"\"\n    params     = {}\n    param_sets = []\n    for run in runs:\n        dataset = run['dataset']\n        injury  = run['injury']\n        model   = run['model']\n        group   = run['group']\n        \n        print('\\nReading dataset %s.' % dataset)\n        data=pd.read_csv(WORKBASEDIR+dataset+'.csv')\n        data.drop(columns=feature_drops, inplace=True)\n        print('Optimizing model %s for the %s position group with %s injury.' %\n              (model, group, injury))\n        try:\n            params = optimize(gbm, data, model, dataset, injury, initial=True)\n        except:\n            print('An error occurred, saving what we have.')\n            with open(param_file, 'w') as outfile:\n                json.dump(param_sets, outfile, indent=3)\n            exit(1)\n        param_set = {}\n        param_set['model']   = model\n        param_set['dataset'] = dataset\n        param_set['target']  = injury\n        param_set['group']   = group\n        param_set['params']  = params\n        param_sets.append(param_set)\n\n    with open(WORKBASEDIR+param_file, 'w') as outfile:\n        json.dump(param_sets, outfile, indent=3)\n    return","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from scipy                   import interp\n\ndef run_cv(param_file):\n    \"\"\"\n    Run cross-validation on models, datasets, and parameters specified in\n    JSON file.\n\n    Args:\n        param_file: String filename for the source JSON file.\n    \"\"\"\n    with open(WORKBASEDIR+param_file, 'r') as json_file:\n        runs = json.load(json_file)\n\n    for run in runs:\n        model   = run['model']\n        dataset = run['dataset']\n        target  = run['target']\n        params  = run['params']\n        group   = run['group']\n        \n        print('Reading dataset %s.' % dataset)\n        data=pd.read_csv(WORKBASEDIR+dataset+'.csv')\n        data.drop(columns=feature_drops, inplace=True)\n        xgb_crossvalidation(data, model, group, dataset, target, target_drops, params)\n    return","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM00',\n     'dataset': 'TBSNFLPSA03',\n     'group':   'All',\n     'injury':  'Ankle'\n     }\n    ]\nrun_opt(runs, 'PSA00.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"run_cv('PSA00.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM01',\n     'dataset': 'TBSNFLPSA03',\n     'group':   'All',\n     'injury':  'Knee'\n     }\n    ]\nrun_opt(runs, 'PSA01.json')  ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"run_cv('PSA01.json')   ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Both ROC charts are disappointing, providing about the predictive power of pure chance.  Clearly, this will not be an approach that will provide insightful features.  Since we saw that the DB, WR, and LB position groups had high numbers of injuries, let's give those groups a try.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"lb = j2[j2['PositionGroup'] == 'LB']\nlb.to_csv(WORKBASEDIR+'TBSNFLPSA04.csv', index=False)\nstats = lb.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA04_stats.csv')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM02',\n     'dataset': 'TBSNFLPSA04',\n     'group':   'LB',\n     'injury':  'Ankle'\n     }\n    ]\n\nrun_opt(runs, 'PSA02.json')\nrun_cv('PSA02.json')  ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"wr = j2[j2['PositionGroup'] == 'WR']\nwr.to_csv(WORKBASEDIR+'TBSNFLPSA07.csv', index=False)\nstats = wr.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA07_stats.csv', index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM09',\n     'dataset': 'TBSNFLPSA07',\n     'group':   'WR',\n     'injury':  'Knee'\n     }\n    ]\n\nrun_opt(runs, 'PSA09.json')\nrun_cv('PSA09.json')   ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"db = j2[j2['PositionGroup'] == 'DB']\ndb.to_csv(WORKBASEDIR+'TBSNFLPSA05.csv', index=False)\nstats = db.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA05_stats.csv', index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM04',\n     'dataset': 'TBSNFLPSA05',\n     'group':   'DB',\n     'injury':  'Ankle'\n     }\n    ]\n\nrun_opt(runs, 'PSA04.json')\nrun_cv('PSA04.json')  ","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>These are not predictive models.  This result greatly motivates the addition of the rotational acceleration magnitude histogram data.  First, we're going to normalize the histogram to percentages.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"HISTO_LIST = [10, 20]\n\ndef normalize_histogram(df):\n    \"\"\"\n    Normalize the histogram values to percentage across the row.\n\n    Args:\n        df: histogram DataFrame containing histogram columns and\n        a PlayKey column.\n\n    Returns:\n        Normalized histograms (with PlayKey restored).    \n    \"\"\"\n    data  = drop_zero_columns(df.drop(columns=['PlayKey']))\n    norm  = data.div(data.sum(axis=1), axis=0)\n    norm['PlayKey'] = df['PlayKey']\n    return norm\n\nfor nbins in HISTO_LIST:\n    dataset = 'angular-histo-' + str(nbins)\n    df = pd.read_csv(MYBASEDIR+dataset+'.csv')\n    norm = normalize_histogram(df)\n    normed_dataset = dataset+'_normalized'\n    norm.to_csv(WORKBASEDIR+normed_dataset+'.csv', index=False)\n\n    stats = norm.describe(include='all').transpose()\n    stats_of_normed = normed_dataset+'_stats'\n    stats.to_csv(WORKBASEDIR+stats_of_normed+'.csv', index=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"describe('angular-histo-20_normalized', inbasedir=WORKBASEDIR)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Let's get a better look at this histogram...with a set of histograms, one for each remaining bin (bin19 was empty, so was dropped).  It's a metahistogram!"},{"metadata":{"trusted":true},"cell_type":"code","source":"def make_metahistogram(df, ncols=4, nbins=50, prefix=''):\n    \"\"\"\n    Make rectangular array of histograms of the bin contents of a histogram.\n\n    Args:\n        df: pandas DataFrame containing histogram only.  Any other columns\n          need to be dropped before the call.\n        ncols: int number of columns, so you can format to your page.\n        nbins: int number of bins to use for the bin histograms.\n        prefix: String with prefix to be used in the bin titles.\n    \"\"\"\n    \n    binsize = df.columns.size\n    nrows   = math.ceil(binsize/ncols)\n                \n    fig, ax = plt.subplots(nrows=nrows, ncols=ncols, tight_layout=False)\n    \n    bin_index = 0\n    row_index = 0\n    col_index = 0\n    done      = False\n    \n    for row in ax:\n        for col in row:\n            if done:\n                fig.delaxes(ax[row_index][col_index])\n            else:\n                x = list(df.iloc[:, bin_index])\n                col.hist(x, bins=nbins)\n                col.set_title(prefix+'Bin' + str(bin_index))\n                \n            bin_index += 1\n            col_index += 1\n            if bin_index == binsize:\n                done = True\n        row_index += 1\n        col_index  = 0\n    plt.show()\n    return","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"make_metahistogram(pd.read_csv(WORKBASEDIR+'angular-histo-20_normalized.csv').drop(columns=['PlayKey']))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Just look at the distributions in these histogram bins!  Any data scientist in the world would love to have a feature extraction algorithm that produced such nicely distributed data from real-world time-series position data, right?</p>\n<p>Now, we join the 20-bin angular acceleration histogram to the full dataset, TBSNFLPSA03.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"jd = pd.read_csv(WORKBASEDIR+'TBSNFLPSA03.csv')\nhs = pd.read_csv(MYBASEDIR+'angular-histo-20_normalized.csv')\n\n# Join datasets on PlayKey.\nj1 = pd.merge(jd, hs, how='inner', on='PlayKey')\n\n# Drop rows with with bad PlayerDay values.\nj1.drop(j1.loc[j1['PlayerDay'] < 0].index, inplace=True)\n\n# Save dataset and statistics to files.\nj1.to_csv(WORKBASEDIR+'TBSNFLPSA09.csv', index=False)\nstats = j1.describe(include='all').transpose()\nstats.to_csv(WORKBASEDIR+'TBSNFLPSA09_stats.csv', index=False)\nprint(stats)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Now, generate the separate datasets for each position group.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"PGs = ['LB', 'DB', 'RB', 'WR']\n\ndf = pd.read_csv(WORKBASEDIR+'TBSNFLPSA09.csv')\n\nfor i in range(len(PGs)):\n    dataset = \"TBSNFLPSA%02d\" % (i+10)\n    print('%s.py:  TBSNFLPSA09 for players in the %s PositionGroup only.' % (dataset, PGs[i]))\n    print('Extract rows for players in the %s PositionGroup.' % PGs[i])\n    pg = df[df['PositionGroup'] == PGs[i]]\n\n    print('Save dataset and statistics to files.')\n    pg.to_csv(WORKBASEDIR+dataset+'.csv', index=False)\n    stats = pg.describe(include='all').transpose()\n    stats.to_csv(WORKBASEDIR+dataset+'_stats.csv', index=False)\n    describe(dataset, inbasedir=WORKBASEDIR)\n    print('\\n')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"<p>Now, we'll do a hyperparameter optimization for each new model, and take a look at the five-fold crossvalidation to see if we're doing any better.</p>"},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM10',\n     'dataset': 'TBSNFLPSA09',\n     'group':   'All',\n     'injury':  'Ankle'\n     }\n    ]\n\nrun_opt(runs, 'PSA10.json')\nrun_cv('PSA10.json')  ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM11',\n     'dataset': 'TBSNFLPSA09',\n     'group':   'All',\n     'injury':  'Knee'\n     }\n    ]\n\nrun_opt(runs, 'PSA11.json')\nrun_cv('PSA11.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM12',\n     'dataset': 'TBSNFLPSA10',\n     'group':   'LB',\n     'injury':  'Ankle'\n     }\n    ]\n\nrun_opt(runs, 'PSA12.json')\nrun_cv('PSA12.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM13',\n     'dataset': 'TBSNFLPSA10',\n     'group':   'LB',\n     'injury':  'Knee'\n     }\n    ]\n\nrun_opt(runs, 'PSA13.json')\nrun_cv('PSA13.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM14',\n     'dataset': 'TBSNFLPSA11',\n     'group':   'DB',\n     'injury':  'Ankle'\n     }\n    ]\n\nrun_opt(runs, 'PSA14.json')\nrun_cv('PSA14.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM15',\n     'dataset': 'TBSNFLPSA11',\n     'group':   'DB',\n     'injury':  'Knee'\n     }\n    ]\n\nrun_opt(runs, 'PSA15.json')\nrun_cv('PSA15.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM17',\n     'dataset': 'TBSNFLPSA12',\n     'group':   'RB',\n     'injury':  'Knee'\n     }\n    ]\n\nrun_opt(runs, 'PSA17.json')\nrun_cv('PSA17.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM18',\n     'dataset': 'TBSNFLPSA13',\n     'group':   'WR',\n     'injury':  'Ankle'\n     }\n    ]\n\nrun_opt(runs, 'PSA18.json')\nrun_cv('PSA18.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"runs = [\n    {'model':   'TBSNFLPSAPM19',\n     'dataset': 'TBSNFLPSA13',\n     'group':   'WR',\n     'injury':  'Knee'\n     }\n    ]\n\nrun_opt(runs, 'PSA19.json')\nrun_cv('PSA19.json')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import matplotlib.ticker as ticker\n\ndef make_injury_vs_angular_accel_histogram(dataset, group):\n    \"\"\"\n    Make a bar chart showing the median of angular acceleration magnitude\n    percentages for Ankle, Knee, and None body parts for each bin of the histogram\n    (fields RotBin0 to RotBin18).\n\n    Args:\n        dataset: String for the dataset filename, without the extension.\n        group: String for the two-letter PositionGroup the dataset covers. \n    \"\"\"\n    \n    plt.clf()\n    print('Read %s data.' % dataset)\n    df   = pd.read_csv(dataset+'.csv')\n    code = pd.DataFrame(df['BodyPart_code'].apply(lambda x : int(x)))\n    bins = df.drop(df.loc[:, 'PlayKey':'Bin18'].columns, axis = 1)\n\n\n    title  = 'Angular Acceleration Magnitude vs. Body Part Injuries\\n' + \\\n             'for %s group, dataset %s' % (group, dataset)\n\n    ankles = bins[code['BodyPart_code'] == 0]\n    knees  = bins[code['BodyPart_code'] == 3]\n    nones  = bins[code['BodyPart_code'] == 4]\n\n    ankles.describe(include='all').transpose().to_csv(dataset+'-ankle-angular.csv', index=False)\n    knees.describe(include='all').transpose().to_csv(dataset+'-knee-angular.csv', index=False)\n    nones.describe(include='all').transpose().to_csv(dataset+'-none-angular.csv', index=False)\n\n    x = np.array([0.0 for x in range(bins.columns.size)])\n    a = np.array([0.0 for x in range(bins.columns.size)])\n    k = np.array([0.0 for x in range(bins.columns.size)])\n    n = np.array([0.0 for x in range(bins.columns.size)])\n    \n    for i in range(bins.columns.size):\n        x[i] = i\n        a[i] = ankles.iloc[:,i].median()\n        k[i] = knees.iloc[:,i].median()\n        n[i] = nones.iloc[:,i].median()\n\n    w  = 0.3\n    ax = plt.subplot(111)\n    ax.xaxis.set_major_locator(ticker.MaxNLocator(integer=True))\n    ax.bar(x-w, a, width=w, color=\"#f98008\", align='center', label='Ankle')\n    ax.bar(x,   k, width=w, color=\"#f90808\", align='center', label='Knee')\n    ax.bar(x+w, n, width=w, color=\"#30f908\", align='center', label='None')\n    ax.autoscale(tight=True)\n    plt.xlim(-0.5, 18.5)\n    plt.xlabel(\"Bin Number\")\n    plt.ylabel(\"Median of Bin Percentages\")\n    plt.suptitle(title)\n    ax.legend(loc='upper right')\n    plt.show()\n    return\n\ndef make_injury_vs_accel_histogram(dataset, group):\n    \"\"\"\n    Make a bar chart showing the median of acceleration magnitude percentages\n    for Ankle, Knee, and None body parts for each bin of the histogram\n    (fields RotBin0 to RotBin18).\n\n    Args:\n        dataset: String for the dataset filename, without the extension.\n        group: String for the two-letter PositionGroup the dataset covers. \n    \"\"\"\n    \n    plt.clf()\n    print('Read %s data.' % dataset)\n    df   = pd.read_csv(WORKBASEDIR+dataset+'.csv')\n    code = pd.DataFrame(df['BodyPart_code'].apply(lambda x : int(x)))\n    df2  = df.drop(df.loc[:, 'PlayKey':'Toes'].columns, axis = 1)\n    bins = df2.drop(df2.loc[:, 'RotBin0':'RotBin18'].columns, axis = 1)\n\n\n    title  = 'Acceleration Magnitude vs. Body Part Injuries\\n' + \\\n             'for %s group, dataset %s' % (group, dataset)\n\n    ankles = bins[code['BodyPart_code'] == 0]\n    knees  = bins[code['BodyPart_code'] == 3]\n    nones  = bins[code['BodyPart_code'] == 4]\n\n    ankles.describe(include='all').transpose().to_csv(WORKBASEDIR+dataset+'-ankle.csv', index=False)\n    knees.describe(include='all').transpose().to_csv(WORKBASEDIR+dataset+'-knee.csv', index=False)\n    nones.describe(include='all').transpose().to_csv(WORKBASEDIR+dataset+'-none.csv', index=False)\n\n    x = np.array([0.0 for x in range(bins.columns.size)])\n    a = np.array([0.0 for x in range(bins.columns.size)])\n    k = np.array([0.0 for x in range(bins.columns.size)])\n    n = np.array([0.0 for x in range(bins.columns.size)])\n    \n    for i in range(bins.columns.size):\n        x[i] = i\n        a[i] = ankles.iloc[:,i].median()\n        k[i] = knees.iloc[:,i].median()\n        n[i] = nones.iloc[:,i].median()\n\n    w  = 0.3\n    ax = plt.subplot(111)\n    ax.xaxis.set_major_locator(ticker.MaxNLocator(integer=True))\n    ax.bar(x-w, a, width=w, color=\"#f98008\", align='center', label='Ankle')\n    ax.bar(x,   k, width=w, color=\"#f90808\", align='center', label='Knee')\n    ax.bar(x+w, n, width=w, color=\"#30f908\", align='center', label='None')\n    ax.autoscale(tight=True)\n    plt.xlim(-0.5, 18.5)\n    plt.xlabel(\"Bin Number\")\n    plt.ylabel(\"Median of Bin Percentages\")\n    plt.suptitle(title)\n    ax.legend(loc='upper right')\n    plt.show()\n    return","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"make_injury_vs_angular_accel_histogram('TBSNFLPSA11', 'DB')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"make_injury_vs_accel_histogram('TBSNFLPSA11', 'DB')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"![PSA15-Fold3-Features.svg](attachment:PSA15-Fold3-Features.svg)","attachments":{"PSA15-Fold3-Features.svg":{"image/svg+xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iDQogICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPCEtLSBDcmVhdGVkIHdpdGggbWF0cGxvdGxpYiAoaHR0cDovL21hdHBsb3RsaWIub3JnLykgLS0+DQo8c3ZnIGhlaWdodD0iNDQ3Ljg0cHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDczMS41MiA0NDcuODQiIHdpZHRoPSI3MzEuNTJwdCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQogPGRlZnM+DQogIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+DQoqe3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO30NCiAgPC9zdHlsZT4NCiA8L2RlZnM+DQogPGcgaWQ9ImZpZ3VyZV8xIj4NCiAgPGcgaWQ9InBhdGNoXzEiPg0KICAgPHBhdGggZD0iTSAwIDQ0Ny44NCANCkwgNzMxLjUyIDQ0Ny44NCANCkwgNzMxLjUyIDAgDQpMIDAgMCANCnoNCiIgc3R5bGU9ImZpbGw6I2ZmZmZmZjsiLz4NCiAgPC9nPg0KICA8ZyBpZD0iYXhlc18xIj4NCiAgIDxnIGlkPSJwYXRjaF8yIj4NCiAgICA8cGF0aCBkPSJNIDkxLjQ0IDM5OC41Nzc2IA0KTCA2NTguMzY4IDM5OC41Nzc2IA0KTCA2NTguMzY4IDUzLjc0MDggDQpMIDkxLjQ0IDUzLjc0MDggDQp6DQoiIHN0eWxlPSJmaWxsOiNmZmZmZmY7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMyI+DQogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAzNzAuMzYzNjggDQpMIDI4MC40MTYgMzcwLjM2MzY4IA0KTCAyODAuNDE2IDM2NC4wOTM5MiANCkwgOTEuNDQgMzY0LjA5MzkyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzQiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gOTEuNDQgMzM5LjAxNDg4IA0KTCAyODAuNDE2IDMzOS4wMTQ4OCANCkwgMjgwLjQxNiAzMzIuNzQ1MTIgDQpMIDkxLjQ0IDMzMi43NDUxMiANCnoNCiIgc3R5bGU9ImZpbGw6IzFmNzdiNDsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF81Ij4NCiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDkxLjQ0IDMwNy42NjYwOCANCkwgMzE0Ljc3NTI3MyAzMDcuNjY2MDggDQpMIDMxNC43NzUyNzMgMzAxLjM5NjMyIA0KTCA5MS40NCAzMDEuMzk2MzIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfNiI+DQogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAyNzYuMzE3MjggDQpMIDM0OS4xMzQ1NDUgMjc2LjMxNzI4IA0KTCAzNDkuMTM0NTQ1IDI3MC4wNDc1MiANCkwgOTEuNDQgMjcwLjA0NzUyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzciPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gOTEuNDQgMjQ0Ljk2ODQ4IA0KTCAzODMuNDkzODE4IDI0NC45Njg0OCANCkwgMzgzLjQ5MzgxOCAyMzguNjk4NzIgDQpMIDkxLjQ0IDIzOC42OTg3MiANCnoNCiIgc3R5bGU9ImZpbGw6IzFmNzdiNDsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF84Ij4NCiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDkxLjQ0IDIxMy42MTk2OCANCkwgNDM1LjAzMjcyNyAyMTMuNjE5NjggDQpMIDQzNS4wMzI3MjcgMjA3LjM0OTkyIA0KTCA5MS40NCAyMDcuMzQ5OTIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfOSI+DQogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAxODIuMjcwODggDQpMIDQ1Mi4yMTIzNjQgMTgyLjI3MDg4IA0KTCA0NTIuMjEyMzY0IDE3Ni4wMDExMiANCkwgOTEuNDQgMTc2LjAwMTEyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzEwIj4NCiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDkxLjQ0IDE1MC45MjIwOCANCkwgNDY5LjM5MiAxNTAuOTIyMDggDQpMIDQ2OS4zOTIgMTQ0LjY1MjMyIA0KTCA5MS40NCAxNDQuNjUyMzIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMTEiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gOTEuNDQgMTE5LjU3MzI4IA0KTCA1ODkuNjQ5NDU1IDExOS41NzMyOCANCkwgNTg5LjY0OTQ1NSAxMTMuMzAzNTIgDQpMIDkxLjQ0IDExMy4zMDM1MiANCnoNCiIgc3R5bGU9ImZpbGw6IzFmNzdiNDsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF8xMiI+DQogICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCA4OC4yMjQ0OCANCkwgNjA2LjgyOTA5MSA4OC4yMjQ0OCANCkwgNjA2LjgyOTA5MSA4MS45NTQ3MiANCkwgOTEuNDQgODEuOTU0NzIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0ibWF0cGxvdGxpYi5heGlzXzEiPg0KICAgIDxnIGlkPSJ4dGlja18xIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gOTEuNDQgMzk4LjU3NzYgDQpMIDkxLjQ0IDUzLjc0MDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yIj4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIA0KTCAwIDMuNSANCiIgaWQ9Im00MWMyNDg1MTFlIiBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI5MS40NCIgeGxpbms6aHJlZj0iI200MWMyNDg1MTFlIiB5PSIzOTguNTc3NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEiPg0KICAgICAgPCEtLSAwIC0tPg0KICAgICAgPGRlZnM+DQogICAgICAgPHBhdGggZD0iTSAzMS43ODEyNSA2Ni40MDYyNSANClEgMjQuMTcxODc1IDY2LjQwNjI1IDIwLjMyODEyNSA1OC45MDYyNSANClEgMTYuNSA1MS40MjE4NzUgMTYuNSAzNi4zNzUgDQpRIDE2LjUgMjEuMzkwNjI1IDIwLjMyODEyNSAxMy44OTA2MjUgDQpRIDI0LjE3MTg3NSA2LjM5MDYyNSAzMS43ODEyNSA2LjM5MDYyNSANClEgMzkuNDUzMTI1IDYuMzkwNjI1IDQzLjI4MTI1IDEzLjg5MDYyNSANClEgNDcuMTI1IDIxLjM5MDYyNSA0Ny4xMjUgMzYuMzc1IA0KUSA0Ny4xMjUgNTEuNDIxODc1IDQzLjI4MTI1IDU4LjkwNjI1IA0KUSAzOS40NTMxMjUgNjYuNDA2MjUgMzEuNzgxMjUgNjYuNDA2MjUgDQp6DQpNIDMxLjc4MTI1IDc0LjIxODc1IA0KUSA0NC4wNDY4NzUgNzQuMjE4NzUgNTAuNTE1NjI1IDY0LjUxNTYyNSANClEgNTYuOTg0Mzc1IDU0LjgyODEyNSA1Ni45ODQzNzUgMzYuMzc1IA0KUSA1Ni45ODQzNzUgMTcuOTY4NzUgNTAuNTE1NjI1IDguMjY1NjI1IA0KUSA0NC4wNDY4NzUgLTEuNDIxODc1IDMxLjc4MTI1IC0xLjQyMTg3NSANClEgMTkuNTMxMjUgLTEuNDIxODc1IDEzLjA2MjUgOC4yNjU2MjUgDQpRIDYuNTkzNzUgMTcuOTY4NzUgNi41OTM3NSAzNi4zNzUgDQpRIDYuNTkzNzUgNTQuODI4MTI1IDEzLjA2MjUgNjQuNTE1NjI1IA0KUSAxOS41MzEyNSA3NC4yMTg3NSAzMS43ODEyNSA3NC4yMTg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzAiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDg4LjI1ODc1IDQxMy4xNzYwMzgpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMwIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzIiPg0KICAgICA8ZyBpZD0ibGluZTJkXzMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSAxNzcuMzM4MTgyIDM5OC41Nzc2IA0KTCAxNzcuMzM4MTgyIDUzLjc0MDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF80Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSIxNzcuMzM4MTgyIiB4bGluazpocmVmPSIjbTQxYzI0ODUxMWUiIHk9IjM5OC41Nzc2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMiI+DQogICAgICA8IS0tIDUgLS0+DQogICAgICA8ZGVmcz4NCiAgICAgICA8cGF0aCBkPSJNIDEwLjc5Njg3NSA3Mi45MDYyNSANCkwgNDkuNTE1NjI1IDcyLjkwNjI1IA0KTCA0OS41MTU2MjUgNjQuNTkzNzUgDQpMIDE5LjgyODEyNSA2NC41OTM3NSANCkwgMTkuODI4MTI1IDQ2LjczNDM3NSANClEgMjEuOTY4NzUgNDcuNDY4NzUgMjQuMTA5Mzc1IDQ3LjgyODEyNSANClEgMjYuMjY1NjI1IDQ4LjE4NzUgMjguNDIxODc1IDQ4LjE4NzUgDQpRIDQwLjYyNSA0OC4xODc1IDQ3Ljc1IDQxLjUgDQpRIDU0Ljg5MDYyNSAzNC44MTI1IDU0Ljg5MDYyNSAyMy4zOTA2MjUgDQpRIDU0Ljg5MDYyNSAxMS42MjUgNDcuNTYyNSA1LjA5Mzc1IA0KUSA0MC4yMzQzNzUgLTEuNDIxODc1IDI2LjkwNjI1IC0xLjQyMTg3NSANClEgMjIuMzEyNSAtMS40MjE4NzUgMTcuNTQ2ODc1IC0wLjY0MDYyNSANClEgMTIuNzk2ODc1IDAuMTQwNjI1IDcuNzE4NzUgMS43MDMxMjUgDQpMIDcuNzE4NzUgMTEuNjI1IA0KUSAxMi4xMDkzNzUgOS4yMzQzNzUgMTYuNzk2ODc1IDguMDYyNSANClEgMjEuNDg0Mzc1IDYuODkwNjI1IDI2LjcwMzEyNSA2Ljg5MDYyNSANClEgMzUuMTU2MjUgNi44OTA2MjUgNDAuMDc4MTI1IDExLjMyODEyNSANClEgNDUuMDE1NjI1IDE1Ljc2NTYyNSA0NS4wMTU2MjUgMjMuMzkwNjI1IA0KUSA0NS4wMTU2MjUgMzEgNDAuMDc4MTI1IDM1LjQzNzUgDQpRIDM1LjE1NjI1IDM5Ljg5MDYyNSAyNi43MDMxMjUgMzkuODkwNjI1IA0KUSAyMi43NSAzOS44OTA2MjUgMTguODEyNSAzOS4wMTU2MjUgDQpRIDE0Ljg5MDYyNSAzOC4xNDA2MjUgMTAuNzk2ODc1IDM2LjI4MTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zNSIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTc0LjE1NjkzMiA0MTMuMTc2MDM4KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ4dGlja18zIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF81Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gMjYzLjIzNjM2NCAzOTguNTc3NiANCkwgMjYzLjIzNjM2NCA1My43NDA4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfNiI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iMjYzLjIzNjM2NCIgeGxpbms6aHJlZj0iI200MWMyNDg1MTFlIiB5PSIzOTguNTc3NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzMiPg0KICAgICAgPCEtLSAxMCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTIuNDA2MjUgOC4yOTY4NzUgDQpMIDI4LjUxNTYyNSA4LjI5Njg3NSANCkwgMjguNTE1NjI1IDYzLjkyMTg3NSANCkwgMTAuOTg0Mzc1IDYwLjQwNjI1IA0KTCAxMC45ODQzNzUgNjkuMzkwNjI1IA0KTCAyOC40MjE4NzUgNzIuOTA2MjUgDQpMIDM4LjI4MTI1IDcyLjkwNjI1IA0KTCAzOC4yODEyNSA4LjI5Njg3NSANCkwgNTQuMzkwNjI1IDguMjk2ODc1IA0KTCA1NC4zOTA2MjUgMCANCkwgMTIuNDA2MjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzEiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI1Ni44NzM4NjQgNDEzLjE3NjAzOClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfNCI+DQogICAgIDxnIGlkPSJsaW5lMmRfNyI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDM0OS4xMzQ1NDUgMzk4LjU3NzYgDQpMIDM0OS4xMzQ1NDUgNTMuNzQwOCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzgiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjM0OS4xMzQ1NDUiIHhsaW5rOmhyZWY9IiNtNDFjMjQ4NTExZSIgeT0iMzk4LjU3NzYiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF80Ij4NCiAgICAgIDwhLS0gMTUgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNDIuNzcyMDQ1IDQxMy4xNzYwMzgpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM1Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzUiPg0KICAgICA8ZyBpZD0ibGluZTJkXzkiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA0MzUuMDMyNzI3IDM5OC41Nzc2IA0KTCA0MzUuMDMyNzI3IDUzLjc0MDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xMCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iNDM1LjAzMjcyNyIgeGxpbms6aHJlZj0iI200MWMyNDg1MTFlIiB5PSIzOTguNTc3NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzUiPg0KICAgICAgPCEtLSAyMCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTkuMTg3NSA4LjI5Njg3NSANCkwgNTMuNjA5Mzc1IDguMjk2ODc1IA0KTCA1My42MDkzNzUgMCANCkwgNy4zMjgxMjUgMCANCkwgNy4zMjgxMjUgOC4yOTY4NzUgDQpRIDEyLjkzNzUgMTQuMTA5Mzc1IDIyLjYyNSAyMy44OTA2MjUgDQpRIDMyLjMyODEyNSAzMy42ODc1IDM0LjgxMjUgMzYuNTMxMjUgDQpRIDM5LjU0Njg3NSA0MS44NDM3NSA0MS40MjE4NzUgNDUuNTMxMjUgDQpRIDQzLjMxMjUgNDkuMjE4NzUgNDMuMzEyNSA1Mi43ODEyNSANClEgNDMuMzEyNSA1OC41OTM3NSAzOS4yMzQzNzUgNjIuMjUgDQpRIDM1LjE1NjI1IDY1LjkyMTg3NSAyOC42MDkzNzUgNjUuOTIxODc1IA0KUSAyMy45Njg3NSA2NS45MjE4NzUgMTguODEyNSA2NC4zMTI1IA0KUSAxMy42NzE4NzUgNjIuNzAzMTI1IDcuODEyNSA1OS40MjE4NzUgDQpMIDcuODEyNSA2OS4zOTA2MjUgDQpRIDEzLjc2NTYyNSA3MS43ODEyNSAxOC45Mzc1IDczIA0KUSAyNC4xMjUgNzQuMjE4NzUgMjguNDIxODc1IDc0LjIxODc1IA0KUSAzOS43NSA3NC4yMTg3NSA0Ni40ODQzNzUgNjguNTQ2ODc1IA0KUSA1My4yMTg3NSA2Mi44OTA2MjUgNTMuMjE4NzUgNTMuNDIxODc1IA0KUSA1My4yMTg3NSA0OC45MjE4NzUgNTEuNTMxMjUgNDQuODkwNjI1IA0KUSA0OS44NTkzNzUgNDAuODc1IDQ1LjQwNjI1IDM1LjQwNjI1IA0KUSA0NC4xODc1IDMzLjk4NDM3NSAzNy42NDA2MjUgMjcuMjE4NzUgDQpRIDMxLjEwOTM3NSAyMC40NTMxMjUgMTkuMTg3NSA4LjI5Njg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzIiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQyOC42NzAyMjcgNDEzLjE3NjAzOClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfNiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTEiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA1MjAuOTMwOTA5IDM5OC41Nzc2IA0KTCA1MjAuOTMwOTA5IDUzLjc0MDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xMiI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iNTIwLjkzMDkwOSIgeGxpbms6aHJlZj0iI200MWMyNDg1MTFlIiB5PSIzOTguNTc3NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzYiPg0KICAgICAgPCEtLSAyNSAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxNC41Njg0MDkgNDEzLjE3NjAzOClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzUiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfNyI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA2MDYuODI5MDkxIDM5OC41Nzc2IA0KTCA2MDYuODI5MDkxIDUzLjc0MDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xNCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iNjA2LjgyOTA5MSIgeGxpbms6aHJlZj0iI200MWMyNDg1MTFlIiB5PSIzOTguNTc3NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzciPg0KICAgICAgPCEtLSAzMCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gNDAuNTc4MTI1IDM5LjMxMjUgDQpRIDQ3LjY1NjI1IDM3Ljc5Njg3NSA1MS42MjUgMzMgDQpRIDU1LjYwOTM3NSAyOC4yMTg3NSA1NS42MDkzNzUgMjEuMTg3NSANClEgNTUuNjA5Mzc1IDEwLjQwNjI1IDQ4LjE4NzUgNC40ODQzNzUgDQpRIDQwLjc2NTYyNSAtMS40MjE4NzUgMjcuMDkzNzUgLTEuNDIxODc1IA0KUSAyMi41MTU2MjUgLTEuNDIxODc1IDE3LjY1NjI1IC0wLjUxNTYyNSANClEgMTIuNzk2ODc1IDAuMzkwNjI1IDcuNjI1IDIuMjAzMTI1IA0KTCA3LjYyNSAxMS43MTg3NSANClEgMTEuNzE4NzUgOS4zMjgxMjUgMTYuNTkzNzUgOC4xMDkzNzUgDQpRIDIxLjQ4NDM3NSA2Ljg5MDYyNSAyNi44MTI1IDYuODkwNjI1IA0KUSAzNi4wNzgxMjUgNi44OTA2MjUgNDAuOTM3NSAxMC41NDY4NzUgDQpRIDQ1Ljc5Njg3NSAxNC4yMDMxMjUgNDUuNzk2ODc1IDIxLjE4NzUgDQpRIDQ1Ljc5Njg3NSAyNy42NDA2MjUgNDEuMjgxMjUgMzEuMjY1NjI1IA0KUSAzNi43NjU2MjUgMzQuOTA2MjUgMjguNzE4NzUgMzQuOTA2MjUgDQpMIDIwLjIxODc1IDM0LjkwNjI1IA0KTCAyMC4yMTg3NSA0My4wMTU2MjUgDQpMIDI5LjEwOTM3NSA0My4wMTU2MjUgDQpRIDM2LjM3NSA0My4wMTU2MjUgNDAuMjM0Mzc1IDQ1LjkyMTg3NSANClEgNDQuMDkzNzUgNDguODI4MTI1IDQ0LjA5Mzc1IDU0LjI5Njg3NSANClEgNDQuMDkzNzUgNTkuOTA2MjUgNDAuMTA5Mzc1IDYyLjkwNjI1IA0KUSAzNi4xNDA2MjUgNjUuOTIxODc1IDI4LjcxODc1IDY1LjkyMTg3NSANClEgMjQuNjU2MjUgNjUuOTIxODc1IDIwLjAxNTYyNSA2NS4wMzEyNSANClEgMTUuMzc1IDY0LjE1NjI1IDkuODEyNSA2Mi4zMTI1IA0KTCA5LjgxMjUgNzEuMDkzNzUgDQpRIDE1LjQzNzUgNzIuNjU2MjUgMjAuMzQzNzUgNzMuNDM3NSANClEgMjUuMjUgNzQuMjE4NzUgMjkuNTkzNzUgNzQuMjE4NzUgDQpRIDQwLjgyODEyNSA3NC4yMTg3NSA0Ny4zNTkzNzUgNjkuMTA5Mzc1IA0KUSA1My45MDYyNSA2NC4wMTU2MjUgNTMuOTA2MjUgNTUuMzI4MTI1IA0KUSA1My45MDYyNSA0OS4yNjU2MjUgNTAuNDM3NSA0NS4wOTM3NSANClEgNDYuOTY4NzUgNDAuOTIxODc1IDQwLjU3ODEyNSAzOS4zMTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zMyIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjAwLjQ2NjU5MSA0MTMuMTc2MDM4KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ0ZXh0XzgiPg0KICAgICA8IS0tIEYgc2NvcmUgLS0+DQogICAgIDxkZWZzPg0KICAgICAgPHBhdGggZD0iTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDUxLjcwMzEyNSA3Mi45MDYyNSANCkwgNTEuNzAzMTI1IDY0LjU5Mzc1IA0KTCAxOS42NzE4NzUgNjQuNTkzNzUgDQpMIDE5LjY3MTg3NSA0My4xMDkzNzUgDQpMIDQ4LjU3ODEyNSA0My4xMDkzNzUgDQpMIDQ4LjU3ODEyNSAzNC44MTI1IA0KTCAxOS42NzE4NzUgMzQuODEyNSANCkwgMTkuNjcxODc1IDAgDQpMIDkuODEyNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMjAiLz4NCiAgICAgIDxwYXRoIGQ9Ik0gNDQuMjgxMjUgNTMuMDc4MTI1IA0KTCA0NC4yODEyNSA0NC41NzgxMjUgDQpRIDQwLjQ4NDM3NSA0Ni41MzEyNSAzNi4zNzUgNDcuNSANClEgMzIuMjgxMjUgNDguNDg0Mzc1IDI3Ljg3NSA0OC40ODQzNzUgDQpRIDIxLjE4NzUgNDguNDg0Mzc1IDE3Ljg0Mzc1IDQ2LjQzNzUgDQpRIDE0LjUgNDQuMzkwNjI1IDE0LjUgNDAuMjgxMjUgDQpRIDE0LjUgMzcuMTU2MjUgMTYuODkwNjI1IDM1LjM3NSANClEgMTkuMjgxMjUgMzMuNTkzNzUgMjYuNTE1NjI1IDMxLjk4NDM3NSANCkwgMjkuNTkzNzUgMzEuMjk2ODc1IA0KUSAzOS4xNTYyNSAyOS4yNSA0My4xODc1IDI1LjUxNTYyNSANClEgNDcuMjE4NzUgMjEuNzgxMjUgNDcuMjE4NzUgMTUuMDkzNzUgDQpRIDQ3LjIxODc1IDcuNDY4NzUgNDEuMTg3NSAzLjAxNTYyNSANClEgMzUuMTU2MjUgLTEuNDIxODc1IDI0LjYwOTM3NSAtMS40MjE4NzUgDQpRIDIwLjIxODc1IC0xLjQyMTg3NSAxNS40NTMxMjUgLTAuNTYyNSANClEgMTAuNjg3NSAwLjI5Njg3NSA1LjQyMTg3NSAyIA0KTCA1LjQyMTg3NSAxMS4yODEyNSANClEgMTAuNDA2MjUgOC42ODc1IDE1LjIzNDM3NSA3LjM5MDYyNSANClEgMjAuMDYyNSA2LjEwOTM3NSAyNC44MTI1IDYuMTA5Mzc1IA0KUSAzMS4xNTYyNSA2LjEwOTM3NSAzNC41NjI1IDguMjgxMjUgDQpRIDM3Ljk4NDM3NSAxMC40NTMxMjUgMzcuOTg0Mzc1IDE0LjQwNjI1IA0KUSAzNy45ODQzNzUgMTguMDYyNSAzNS41MTU2MjUgMjAuMDE1NjI1IA0KUSAzMy4wNjI1IDIxLjk2ODc1IDI0LjcwMzEyNSAyMy43ODEyNSANCkwgMjEuNTc4MTI1IDI0LjUxNTYyNSANClEgMTMuMjM0Mzc1IDI2LjI2NTYyNSA5LjUxNTYyNSAyOS45MDYyNSANClEgNS44MTI1IDMzLjU0Njg3NSA1LjgxMjUgMzkuODkwNjI1IA0KUSA1LjgxMjUgNDcuNjA5Mzc1IDExLjI4MTI1IDUxLjc5Njg3NSANClEgMTYuNzUgNTYgMjYuODEyNSA1NiANClEgMzEuNzgxMjUgNTYgMzYuMTcxODc1IDU1LjI2NTYyNSANClEgNDAuNTc4MTI1IDU0LjU0Njg3NSA0NC4yODEyNSA1My4wNzgxMjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTczIi8+DQogICAgICA8cGF0aCBkPSJNIDQ4Ljc4MTI1IDUyLjU5Mzc1IA0KTCA0OC43ODEyNSA0NC4xODc1IA0KUSA0NC45Njg3NSA0Ni4yOTY4NzUgNDEuMTQwNjI1IDQ3LjM0Mzc1IA0KUSAzNy4zMTI1IDQ4LjM5MDYyNSAzMy40MDYyNSA0OC4zOTA2MjUgDQpRIDI0LjY1NjI1IDQ4LjM5MDYyNSAxOS44MTI1IDQyLjg0Mzc1IA0KUSAxNC45ODQzNzUgMzcuMzEyNSAxNC45ODQzNzUgMjcuMjk2ODc1IA0KUSAxNC45ODQzNzUgMTcuMjgxMjUgMTkuODEyNSAxMS43MzQzNzUgDQpRIDI0LjY1NjI1IDYuMjAzMTI1IDMzLjQwNjI1IDYuMjAzMTI1IA0KUSAzNy4zMTI1IDYuMjAzMTI1IDQxLjE0MDYyNSA3LjI1IA0KUSA0NC45Njg3NSA4LjI5Njg3NSA0OC43ODEyNSAxMC40MDYyNSANCkwgNDguNzgxMjUgMi4wOTM3NSANClEgNDUuMDE1NjI1IDAuMzQzNzUgNDAuOTg0Mzc1IC0wLjUzMTI1IA0KUSAzNi45Njg3NSAtMS40MjE4NzUgMzIuNDIxODc1IC0xLjQyMTg3NSANClEgMjAuMDYyNSAtMS40MjE4NzUgMTIuNzgxMjUgNi4zNDM3NSANClEgNS41MTU2MjUgMTQuMTA5Mzc1IDUuNTE1NjI1IDI3LjI5Njg3NSANClEgNS41MTU2MjUgNDAuNjcxODc1IDEyLjg1OTM3NSA0OC4zMjgxMjUgDQpRIDIwLjIxODc1IDU2IDMzLjAxNTYyNSA1NiANClEgMzcuMTU2MjUgNTYgNDEuMTA5Mzc1IDU1LjE0MDYyNSANClEgNDUuMDYyNSA1NC4yOTY4NzUgNDguNzgxMjUgNTIuNTkzNzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTYzIi8+DQogICAgICA8cGF0aCBkPSJNIDMwLjYwOTM3NSA0OC4zOTA2MjUgDQpRIDIzLjM5MDYyNSA0OC4zOTA2MjUgMTkuMTg3NSA0Mi43NSANClEgMTQuOTg0Mzc1IDM3LjEwOTM3NSAxNC45ODQzNzUgMjcuMjk2ODc1IA0KUSAxNC45ODQzNzUgMTcuNDg0Mzc1IDE5LjE1NjI1IDExLjg0Mzc1IA0KUSAyMy4zNDM3NSA2LjIwMzEyNSAzMC42MDkzNzUgNi4yMDMxMjUgDQpRIDM3Ljc5Njg3NSA2LjIwMzEyNSA0MS45ODQzNzUgMTEuODU5Mzc1IA0KUSA0Ni4xODc1IDE3LjUzMTI1IDQ2LjE4NzUgMjcuMjk2ODc1IA0KUSA0Ni4xODc1IDM3LjAxNTYyNSA0MS45ODQzNzUgNDIuNzAzMTI1IA0KUSAzNy43OTY4NzUgNDguMzkwNjI1IDMwLjYwOTM3NSA0OC4zOTA2MjUgDQp6DQpNIDMwLjYwOTM3NSA1NiANClEgNDIuMzI4MTI1IDU2IDQ5LjAxNTYyNSA0OC4zNzUgDQpRIDU1LjcxODc1IDQwLjc2NTYyNSA1NS43MTg3NSAyNy4yOTY4NzUgDQpRIDU1LjcxODc1IDEzLjg3NSA0OS4wMTU2MjUgNi4yMTg3NSANClEgNDIuMzI4MTI1IC0xLjQyMTg3NSAzMC42MDkzNzUgLTEuNDIxODc1IA0KUSAxOC44NDM3NSAtMS40MjE4NzUgMTIuMTcxODc1IDYuMjE4NzUgDQpRIDUuNTE1NjI1IDEzLjg3NSA1LjUxNTYyNSAyNy4yOTY4NzUgDQpRIDUuNTE1NjI1IDQwLjc2NTYyNSAxMi4xNzE4NzUgNDguMzc1IA0KUSAxOC44NDM3NSA1NiAzMC42MDkzNzUgNTYgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTZmIi8+DQogICAgICA8cGF0aCBkPSJNIDQxLjEwOTM3NSA0Ni4yOTY4NzUgDQpRIDM5LjU5Mzc1IDQ3LjE3MTg3NSAzNy44MTI1IDQ3LjU3ODEyNSANClEgMzYuMDMxMjUgNDggMzMuODkwNjI1IDQ4IA0KUSAyNi4yNjU2MjUgNDggMjIuMTg3NSA0My4wNDY4NzUgDQpRIDE4LjEwOTM3NSAzOC4wOTM3NSAxOC4xMDkzNzUgMjguODEyNSANCkwgMTguMTA5Mzc1IDAgDQpMIDkuMDc4MTI1IDAgDQpMIDkuMDc4MTI1IDU0LjY4NzUgDQpMIDE4LjEwOTM3NSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNDYuMTg3NSANClEgMjAuOTUzMTI1IDUxLjE3MTg3NSAyNS40ODQzNzUgNTMuNTc4MTI1IA0KUSAzMC4wMzEyNSA1NiAzNi41MzEyNSA1NiANClEgMzcuNDUzMTI1IDU2IDM4LjU3ODEyNSA1NS44NzUgDQpRIDM5LjcwMzEyNSA1NS43NjU2MjUgNDEuMDYyNSA1NS41MTU2MjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTcyIi8+DQogICAgICA8cGF0aCBkPSJNIDU2LjIwMzEyNSAyOS41OTM3NSANCkwgNTYuMjAzMTI1IDI1LjIwMzEyNSANCkwgMTQuODkwNjI1IDI1LjIwMzEyNSANClEgMTUuNDg0Mzc1IDE1LjkyMTg3NSAyMC40ODQzNzUgMTEuMDYyNSANClEgMjUuNDg0Mzc1IDYuMjAzMTI1IDM0LjQyMTg3NSA2LjIwMzEyNSANClEgMzkuNTkzNzUgNi4yMDMxMjUgNDQuNDUzMTI1IDcuNDY4NzUgDQpRIDQ5LjMxMjUgOC43MzQzNzUgNTQuMTA5Mzc1IDExLjI4MTI1IA0KTCA1NC4xMDkzNzUgMi43ODEyNSANClEgNDkuMjY1NjI1IDAuNzM0Mzc1IDQ0LjE4NzUgLTAuMzQzNzUgDQpRIDM5LjEwOTM3NSAtMS40MjE4NzUgMzMuODkwNjI1IC0xLjQyMTg3NSANClEgMjAuNzk2ODc1IC0xLjQyMTg3NSAxMy4xNTYyNSA2LjE4NzUgDQpRIDUuNTE1NjI1IDEzLjgxMjUgNS41MTU2MjUgMjYuODEyNSANClEgNS41MTU2MjUgNDAuMjM0Mzc1IDEyLjc2NTYyNSA0OC4xMDkzNzUgDQpRIDIwLjAxNTYyNSA1NiAzMi4zMjgxMjUgNTYgDQpRIDQzLjM1OTM3NSA1NiA0OS43ODEyNSA0OC44OTA2MjUgDQpRIDU2LjIwMzEyNSA0MS43OTY4NzUgNTYuMjAzMTI1IDI5LjU5Mzc1IA0Keg0KTSA0Ny4yMTg3NSAzMi4yMzQzNzUgDQpRIDQ3LjEyNSAzOS41OTM3NSA0My4wOTM3NSA0My45ODQzNzUgDQpRIDM5LjA2MjUgNDguMzkwNjI1IDMyLjQyMTg3NSA0OC4zOTA2MjUgDQpRIDI0LjkwNjI1IDQ4LjM5MDYyNSAyMC4zOTA2MjUgNDQuMTQwNjI1IA0KUSAxNS44NzUgMzkuODkwNjI1IDE1LjE4NzUgMzIuMTcxODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8L2RlZnM+DQogICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM1Ni44OTU0MDYgNDI2Ljg1NDE2MilzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgPHVzZSB4PSI1Ny41MTk1MzEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgICA8dXNlIHg9Ijg5LjMwNjY0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzMiLz4NCiAgICAgIDx1c2UgeD0iMTQxLjQwNjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MyIvPg0KICAgICAgPHVzZSB4PSIxOTYuMzg2NzE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgPHVzZSB4PSIyNTcuNTY4MzU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MiIvPg0KICAgICAgPHVzZSB4PSIyOTguNjUwMzkxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9Im1hdHBsb3RsaWIuYXhpc18yIj4NCiAgICA8ZyBpZD0ieXRpY2tfMSI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTUiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAzNjcuMjI4OCANCkwgNjU4LjM2OCAzNjcuMjI4OCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzE2Ij4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMCAwIA0KTCAtMy41IDAgDQoiIGlkPSJtNDc2N2I5YjYxMSIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgICA8L2RlZnM+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iOTEuNDQiIHhsaW5rOmhyZWY9IiNtNDc2N2I5YjYxMSIgeT0iMzY3LjIyODgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF85Ij4NCiAgICAgIDwhLS0gUm90QmluNiAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gNDQuMzkwNjI1IDM0LjE4NzUgDQpRIDQ3LjU2MjUgMzMuMTA5Mzc1IDUwLjU2MjUgMjkuNTkzNzUgDQpRIDUzLjU2MjUgMjYuMDc4MTI1IDU2LjU5Mzc1IDE5LjkyMTg3NSANCkwgNjYuNjA5Mzc1IDAgDQpMIDU2IDAgDQpMIDQ2LjY4NzUgMTguNzAzMTI1IA0KUSA0My4wNjI1IDI2LjAzMTI1IDM5LjY3MTg3NSAyOC40MjE4NzUgDQpRIDM2LjI4MTI1IDMwLjgxMjUgMzAuNDIxODc1IDMwLjgxMjUgDQpMIDE5LjY3MTg3NSAzMC44MTI1IA0KTCAxOS42NzE4NzUgMCANCkwgOS44MTI1IDAgDQpMIDkuODEyNSA3Mi45MDYyNSANCkwgMzIuMDc4MTI1IDcyLjkwNjI1IA0KUSA0NC41NzgxMjUgNzIuOTA2MjUgNTAuNzM0Mzc1IDY3LjY3MTg3NSANClEgNTYuODkwNjI1IDYyLjQ1MzEyNSA1Ni44OTA2MjUgNTEuOTA2MjUgDQpRIDU2Ljg5MDYyNSA0NS4wMTU2MjUgNTMuNjg3NSA0MC40Njg3NSANClEgNTAuNDg0Mzc1IDM1LjkzNzUgNDQuMzkwNjI1IDM0LjE4NzUgDQp6DQpNIDE5LjY3MTg3NSA2NC43OTY4NzUgDQpMIDE5LjY3MTg3NSAzOC45MjE4NzUgDQpMIDMyLjA3ODEyNSAzOC45MjE4NzUgDQpRIDM5LjIwMzEyNSAzOC45MjE4NzUgNDIuODQzNzUgNDIuMjE4NzUgDQpRIDQ2LjQ4NDM3NSA0NS41MTU2MjUgNDYuNDg0Mzc1IDUxLjkwNjI1IA0KUSA0Ni40ODQzNzUgNTguMjk2ODc1IDQyLjg0Mzc1IDYxLjU0Njg3NSANClEgMzkuMjAzMTI1IDY0Ljc5Njg3NSAzMi4wNzgxMjUgNjQuNzk2ODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTguMzEyNSA3MC4yMTg3NSANCkwgMTguMzEyNSA1NC42ODc1IA0KTCAzNi44MTI1IDU0LjY4NzUgDQpMIDM2LjgxMjUgNDcuNzAzMTI1IA0KTCAxOC4zMTI1IDQ3LjcwMzEyNSANCkwgMTguMzEyNSAxOC4wMTU2MjUgDQpRIDE4LjMxMjUgMTEuMzI4MTI1IDIwLjE0MDYyNSA5LjQyMTg3NSANClEgMjEuOTY4NzUgNy41MTU2MjUgMjcuNTkzNzUgNy41MTU2MjUgDQpMIDM2LjgxMjUgNy41MTU2MjUgDQpMIDM2LjgxMjUgMCANCkwgMjcuNTkzNzUgMCANClEgMTcuMTg3NSAwIDEzLjIzNDM3NSAzLjg3NSANClEgOS4yODEyNSA3Ljc2NTYyNSA5LjI4MTI1IDE4LjAxNTYyNSANCkwgOS4yODEyNSA0Ny43MDMxMjUgDQpMIDIuNjg3NSA0Ny43MDMxMjUgDQpMIDIuNjg3NSA1NC42ODc1IA0KTCA5LjI4MTI1IDU0LjY4NzUgDQpMIDkuMjgxMjUgNzAuMjE4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTc0Ii8+DQogICAgICAgPHBhdGggZD0iTSAxOS42NzE4NzUgMzQuODEyNSANCkwgMTkuNjcxODc1IDguMTA5Mzc1IA0KTCAzNS41IDguMTA5Mzc1IA0KUSA0My40NTMxMjUgOC4xMDkzNzUgNDcuMjgxMjUgMTEuNDA2MjUgDQpRIDUxLjEyNSAxNC43MDMxMjUgNTEuMTI1IDIxLjQ4NDM3NSANClEgNTEuMTI1IDI4LjMyODEyNSA0Ny4yODEyNSAzMS41NjI1IA0KUSA0My40NTMxMjUgMzQuODEyNSAzNS41IDM0LjgxMjUgDQp6DQpNIDE5LjY3MTg3NSA2NC43OTY4NzUgDQpMIDE5LjY3MTg3NSA0Mi44MjgxMjUgDQpMIDM0LjI4MTI1IDQyLjgyODEyNSANClEgNDEuNSA0Mi44MjgxMjUgNDUuMDMxMjUgNDUuNTMxMjUgDQpRIDQ4LjU3ODEyNSA0OC4yNSA0OC41NzgxMjUgNTMuODEyNSANClEgNDguNTc4MTI1IDU5LjMyODEyNSA0NS4wMzEyNSA2Mi4wNjI1IA0KUSA0MS41IDY0Ljc5Njg3NSAzNC4yODEyNSA2NC43OTY4NzUgDQp6DQpNIDkuODEyNSA3Mi45MDYyNSANCkwgMzUuMDE1NjI1IDcyLjkwNjI1IA0KUSA0Ni4yOTY4NzUgNzIuOTA2MjUgNTIuMzkwNjI1IDY4LjIxODc1IA0KUSA1OC41IDYzLjUzMTI1IDU4LjUgNTQuODkwNjI1IA0KUSA1OC41IDQ4LjE4NzUgNTUuMzc1IDQ0LjIzNDM3NSANClEgNTIuMjUgNDAuMjgxMjUgNDYuMTg3NSAzOS4zMTI1IA0KUSA1My40Njg3NSAzNy43NSA1Ny41IDMyLjc4MTI1IA0KUSA2MS41MzEyNSAyNy44MjgxMjUgNjEuNTMxMjUgMjAuNDA2MjUgDQpRIDYxLjUzMTI1IDEwLjY0MDYyNSA1NC44OTA2MjUgNS4zMTI1IA0KUSA0OC4yNSAwIDM1Ljk4NDM3NSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8cGF0aCBkPSJNIDkuNDIxODc1IDU0LjY4NzUgDQpMIDE4LjQwNjI1IDU0LjY4NzUgDQpMIDE4LjQwNjI1IDAgDQpMIDkuNDIxODc1IDAgDQp6DQpNIDkuNDIxODc1IDc1Ljk4NDM3NSANCkwgMTguNDA2MjUgNzUuOTg0Mzc1IA0KTCAxOC40MDYyNSA2NC41OTM3NSANCkwgOS40MjE4NzUgNjQuNTkzNzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHBhdGggZD0iTSA1NC44OTA2MjUgMzMuMDE1NjI1IA0KTCA1NC44OTA2MjUgMCANCkwgNDUuOTA2MjUgMCANCkwgNDUuOTA2MjUgMzIuNzE4NzUgDQpRIDQ1LjkwNjI1IDQwLjQ4NDM3NSA0Mi44NzUgNDQuMzI4MTI1IA0KUSAzOS44NDM3NSA0OC4xODc1IDMzLjc5Njg3NSA0OC4xODc1IA0KUSAyNi41MTU2MjUgNDguMTg3NSAyMi4zMTI1IDQzLjU0Njg3NSANClEgMTguMTA5Mzc1IDM4LjkyMTg3NSAxOC4xMDkzNzUgMzAuOTA2MjUgDQpMIDE4LjEwOTM3NSAwIA0KTCA5LjA3ODEyNSAwIA0KTCA5LjA3ODEyNSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNTQuNjg3NSANCkwgMTguMTA5Mzc1IDQ2LjE4NzUgDQpRIDIxLjM0Mzc1IDUxLjEyNSAyNS43MDMxMjUgNTMuNTYyNSANClEgMzAuMDc4MTI1IDU2IDM1Ljc5Njg3NSA1NiANClEgNDUuMjE4NzUgNTYgNTAuMDQ2ODc1IDUwLjE3MTg3NSANClEgNTQuODkwNjI1IDQ0LjM0Mzc1IDU0Ljg5MDYyNSAzMy4wMTU2MjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTZlIi8+DQogICAgICAgPHBhdGggZD0iTSAzMy4wMTU2MjUgNDAuMzc1IA0KUSAyNi4zNzUgNDAuMzc1IDIyLjQ4NDM3NSAzNS44MjgxMjUgDQpRIDE4LjYwOTM3NSAzMS4yOTY4NzUgMTguNjA5Mzc1IDIzLjM5MDYyNSANClEgMTguNjA5Mzc1IDE1LjUzMTI1IDIyLjQ4NDM3NSAxMC45NTMxMjUgDQpRIDI2LjM3NSA2LjM5MDYyNSAzMy4wMTU2MjUgNi4zOTA2MjUgDQpRIDM5LjY1NjI1IDYuMzkwNjI1IDQzLjUzMTI1IDEwLjk1MzEyNSANClEgNDcuNDA2MjUgMTUuNTMxMjUgNDcuNDA2MjUgMjMuMzkwNjI1IA0KUSA0Ny40MDYyNSAzMS4yOTY4NzUgNDMuNTMxMjUgMzUuODI4MTI1IA0KUSAzOS42NTYyNSA0MC4zNzUgMzMuMDE1NjI1IDQwLjM3NSANCnoNCk0gNTIuNTkzNzUgNzEuMjk2ODc1IA0KTCA1Mi41OTM3NSA2Mi4zMTI1IA0KUSA0OC44NzUgNjQuMDYyNSA0NS4wOTM3NSA2NC45ODQzNzUgDQpRIDQxLjMxMjUgNjUuOTIxODc1IDM3LjU5Mzc1IDY1LjkyMTg3NSANClEgMjcuODI4MTI1IDY1LjkyMTg3NSAyMi42NzE4NzUgNTkuMzI4MTI1IA0KUSAxNy41MzEyNSA1Mi43MzQzNzUgMTYuNzk2ODc1IDM5LjQwNjI1IA0KUSAxOS42NzE4NzUgNDMuNjU2MjUgMjQuMDE1NjI1IDQ1LjkyMTg3NSANClEgMjguMzc1IDQ4LjE4NzUgMzMuNTkzNzUgNDguMTg3NSANClEgNDQuNTc4MTI1IDQ4LjE4NzUgNTAuOTUzMTI1IDQxLjUxNTYyNSANClEgNTcuMzI4MTI1IDM0Ljg1OTM3NSA1Ny4zMjgxMjUgMjMuMzkwNjI1IA0KUSA1Ny4zMjgxMjUgMTIuMTU2MjUgNTAuNjg3NSA1LjM1OTM3NSANClEgNDQuMDQ2ODc1IC0xLjQyMTg3NSAzMy4wMTU2MjUgLTEuNDIxODc1IA0KUSAyMC4zNTkzNzUgLTEuNDIxODc1IDEzLjY3MTg3NSA4LjI2NTYyNSANClEgNi45ODQzNzUgMTcuOTY4NzUgNi45ODQzNzUgMzYuMzc1IA0KUSA2Ljk4NDM3NSA1My42NTYyNSAxNS4xODc1IDYzLjkzNzUgDQpRIDIzLjM5MDYyNSA3NC4yMTg3NSAzNy4yMDMxMjUgNzQuMjE4NzUgDQpRIDQwLjkyMTg3NSA3NC4yMTg3NSA0NC43MDMxMjUgNzMuNDg0Mzc1IA0KUSA0OC40ODQzNzUgNzIuNzUgNTIuNTkzNzUgNzEuMjk2ODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zNiIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDUuMTE5Njg3IDM3MS4wMjgwMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICAgPHVzZSB4PSI2OS40MTk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgICAgPHVzZSB4PSIxMzAuNjAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgIDx1c2UgeD0iMTY5LjgxMDU0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjIzOC40MTQwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSIyNjYuMTk3MjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMzI5LjU3NjE3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzYiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfMiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTciPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAzMzUuODggDQpMIDY1OC4zNjggMzM1Ljg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMTgiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjkxLjQ0IiB4bGluazpocmVmPSIjbTQ3NjdiOWI2MTEiIHk9IjMzNS44OCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEwIj4NCiAgICAgIDwhLS0gUm90QmluNyAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gOC4yMDMxMjUgNzIuOTA2MjUgDQpMIDU1LjA3ODEyNSA3Mi45MDYyNSANCkwgNTUuMDc4MTI1IDY4LjcwMzEyNSANCkwgMjguNjA5Mzc1IDAgDQpMIDE4LjMxMjUgMCANCkwgNDMuMjE4NzUgNjQuNTkzNzUgDQpMIDguMjAzMTI1IDY0LjU5Mzc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zNyIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDUuMTE5Njg3IDMzOS42NzkyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICAgPHVzZSB4PSI2OS40MTk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgICAgPHVzZSB4PSIxMzAuNjAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgIDx1c2UgeD0iMTY5LjgxMDU0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjIzOC40MTQwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSIyNjYuMTk3MjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMzI5LjU3NjE3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzciLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfMyI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTkiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAzMDQuNTMxMiANCkwgNjU4LjM2OCAzMDQuNTMxMiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzIwIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI5MS40NCIgeGxpbms6aHJlZj0iI200NzY3YjliNjExIiB5PSIzMDQuNTMxMiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzExIj4NCiAgICAgIDwhLS0gQmluNSAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYyLjEwMDkzOCAzMDguMzMwNDE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICAgIDx1c2UgeD0iNjguNjAzNTE2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iOTYuMzg2NzE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMTU5Ljc2NTYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzUiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfNCI+DQogICAgIDxnIGlkPSJsaW5lMmRfMjEiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCAyNzMuMTgyNCANCkwgNjU4LjM2OCAyNzMuMTgyNCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzIyIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI5MS40NCIgeGxpbms6aHJlZj0iI200NzY3YjliNjExIiB5PSIyNzMuMTgyNCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEyIj4NCiAgICAgIDwhLS0gUm90QmluMSAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1LjExOTY4NyAyNzYuOTgxNjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDx1c2UgeD0iNjkuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgIDx1c2UgeD0iMTMwLjYwMTU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzQiLz4NCiAgICAgICA8dXNlIHg9IjE2OS44MTA1NDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSIyMzguNDE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iMjY2LjE5NzI2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjMyOS41NzYxNzIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzUiPg0KICAgICA8ZyBpZD0ibGluZTJkXzIzIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gOTEuNDQgMjQxLjgzMzYgDQpMIDY1OC4zNjggMjQxLjgzMzYgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iOTEuNDQiIHhsaW5rOmhyZWY9IiNtNDc2N2I5YjYxMSIgeT0iMjQxLjgzMzYiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xMyI+DQogICAgICA8IS0tIFJvdEJpbjExIC0tPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzguNzU3MTg3IDI0NS42MzI4MTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICAgPHVzZSB4PSI2OS40MTk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgICAgPHVzZSB4PSIxMzAuNjAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgIDx1c2UgeD0iMTY5LjgxMDU0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjIzOC40MTQwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSIyNjYuMTk3MjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMzI5LjU3NjE3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgICA8dXNlIHg9IjM5My4xOTkyMTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzYiPg0KICAgICA8ZyBpZD0ibGluZTJkXzI1Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwNTIxNTcyZTg1ZikiIGQ9Ik0gOTEuNDQgMjEwLjQ4NDggDQpMIDY1OC4zNjggMjEwLjQ4NDggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNiI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iOTEuNDQiIHhsaW5rOmhyZWY9IiNtNDc2N2I5YjYxMSIgeT0iMjEwLjQ4NDgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xNCI+DQogICAgICA8IS0tIFJvdEJpbjQgLS0+DQogICAgICA8ZGVmcz4NCiAgICAgICA8cGF0aCBkPSJNIDM3Ljc5Njg3NSA2NC4zMTI1IA0KTCAxMi44OTA2MjUgMjUuMzkwNjI1IA0KTCAzNy43OTY4NzUgMjUuMzkwNjI1IA0Keg0KTSAzNS4yMDMxMjUgNzIuOTA2MjUgDQpMIDQ3LjYwOTM3NSA3Mi45MDYyNSANCkwgNDcuNjA5Mzc1IDI1LjM5MDYyNSANCkwgNTguMDE1NjI1IDI1LjM5MDYyNSANCkwgNTguMDE1NjI1IDE3LjE4NzUgDQpMIDQ3LjYwOTM3NSAxNy4xODc1IA0KTCA0Ny42MDkzNzUgMCANCkwgMzcuNzk2ODc1IDAgDQpMIDM3Ljc5Njg3NSAxNy4xODc1IA0KTCA0Ljg5MDYyNSAxNy4xODc1IA0KTCA0Ljg5MDYyNSAyNi43MDMxMjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTM0Ii8+DQogICAgICA8L2RlZnM+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NS4xMTk2ODcgMjE0LjI4NDAxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTIiLz4NCiAgICAgICA8dXNlIHg9IjY5LjQxOTkyMiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmYiLz4NCiAgICAgICA8dXNlIHg9IjEzMC42MDE1NjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgICAgPHVzZSB4PSIxNjkuODEwNTQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICAgIDx1c2UgeD0iMjM4LjQxNDA2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgICA8dXNlIHg9IjI2Ni4xOTcyNjYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgICAgPHVzZSB4PSIzMjkuNTc2MTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja183Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNyI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDkxLjQ0IDE3OS4xMzYgDQpMIDY1OC4zNjggMTc5LjEzNiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzI4Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI5MS40NCIgeGxpbms6aHJlZj0iI200NzY3YjliNjExIiB5PSIxNzkuMTM2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTUiPg0KICAgICAgPCEtLSBCaW40IC0tPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjIuMTAwOTM4IDE4Mi45MzUyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSI2OC42MDM1MTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSI5Ni4zODY3MTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgICAgPHVzZSB4PSIxNTkuNzY1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja184Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yOSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDkxLjQ0IDE0Ny43ODcyIA0KTCA2NTguMzY4IDE0Ny43ODcyIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMzAiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjkxLjQ0IiB4bGluazpocmVmPSIjbTQ3NjdiOWI2MTEiIHk9IjE0Ny43ODcyIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTYiPg0KICAgICAgPCEtLSBSb3RCaW4xMiAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4Ljc1NzE4NyAxNTEuNTg2NDE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDx1c2UgeD0iNjkuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgIDx1c2UgeD0iMTMwLjYwMTU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzQiLz4NCiAgICAgICA8dXNlIHg9IjE2OS44MTA1NDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSIyMzguNDE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iMjY2LjE5NzI2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjMyOS41NzYxNzIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICAgPHVzZSB4PSIzOTMuMTk5MjE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja185Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8zMSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcDUyMTU3MmU4NWYpIiBkPSJNIDkxLjQ0IDExNi40Mzg0IA0KTCA2NTguMzY4IDExNi40Mzg0IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMzIiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjkxLjQ0IiB4bGluazpocmVmPSIjbTQ3NjdiOWI2MTEiIHk9IjExNi40Mzg0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTciPg0KICAgICAgPCEtLSBCaW42IC0tPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjIuMTAwOTM4IDEyMC4yMzc2MTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSI2OC42MDM1MTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSI5Ni4zODY3MTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgICAgPHVzZSB4PSIxNTkuNzY1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja18xMCI+DQogICAgIDxnIGlkPSJsaW5lMmRfMzMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3A1MjE1NzJlODVmKSIgZD0iTSA5MS40NCA4NS4wODk2IA0KTCA2NTguMzY4IDg1LjA4OTYgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8zNCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iOTEuNDQiIHhsaW5rOmhyZWY9IiNtNDc2N2I5YjYxMSIgeT0iODUuMDg5NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzE4Ij4NCiAgICAgIDwhLS0gUm90QmluMTUgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOC43NTcxODcgODguODg4ODE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDx1c2UgeD0iNjkuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgIDx1c2UgeD0iMTMwLjYwMTU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzQiLz4NCiAgICAgICA8dXNlIHg9IjE2OS44MTA1NDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSIyMzguNDE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iMjY2LjE5NzI2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjMyOS41NzYxNzIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICAgPHVzZSB4PSIzOTMuMTk5MjE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ0ZXh0XzE5Ij4NCiAgICAgPCEtLSBGZWF0dXJlcyAtLT4NCiAgICAgPGRlZnM+DQogICAgICA8cGF0aCBkPSJNIDM0LjI4MTI1IDI3LjQ4NDM3NSANClEgMjMuMzkwNjI1IDI3LjQ4NDM3NSAxOS4xODc1IDI1IA0KUSAxNC45ODQzNzUgMjIuNTE1NjI1IDE0Ljk4NDM3NSAxNi41IA0KUSAxNC45ODQzNzUgMTEuNzE4NzUgMTguMTQwNjI1IDguOTA2MjUgDQpRIDIxLjI5Njg3NSA2LjEwOTM3NSAyNi43MDMxMjUgNi4xMDkzNzUgDQpRIDM0LjE4NzUgNi4xMDkzNzUgMzguNzAzMTI1IDExLjQwNjI1IA0KUSA0My4yMTg3NSAxNi43MDMxMjUgNDMuMjE4NzUgMjUuNDg0Mzc1IA0KTCA0My4yMTg3NSAyNy40ODQzNzUgDQp6DQpNIDUyLjIwMzEyNSAzMS4yMDMxMjUgDQpMIDUyLjIwMzEyNSAwIA0KTCA0My4yMTg3NSAwIA0KTCA0My4yMTg3NSA4LjI5Njg3NSANClEgNDAuMTQwNjI1IDMuMzI4MTI1IDM1LjU0Njg3NSAwLjk1MzEyNSANClEgMzAuOTUzMTI1IC0xLjQyMTg3NSAyNC4zMTI1IC0xLjQyMTg3NSANClEgMTUuOTIxODc1IC0xLjQyMTg3NSAxMC45NTMxMjUgMy4yOTY4NzUgDQpRIDYgOC4wMTU2MjUgNiAxNS45MjE4NzUgDQpRIDYgMjUuMTQwNjI1IDEyLjE3MTg3NSAyOS44MjgxMjUgDQpRIDE4LjM1OTM3NSAzNC41MTU2MjUgMzAuNjA5Mzc1IDM0LjUxNTYyNSANCkwgNDMuMjE4NzUgMzQuNTE1NjI1IA0KTCA0My4yMTg3NSAzNS40MDYyNSANClEgNDMuMjE4NzUgNDEuNjA5Mzc1IDM5LjE0MDYyNSA0NSANClEgMzUuMDYyNSA0OC4zOTA2MjUgMjcuNjg3NSA0OC4zOTA2MjUgDQpRIDIzIDQ4LjM5MDYyNSAxOC41NDY4NzUgNDcuMjY1NjI1IA0KUSAxNC4xMDkzNzUgNDYuMTQwNjI1IDEwLjAxNTYyNSA0My44OTA2MjUgDQpMIDEwLjAxNTYyNSA1Mi4yMDMxMjUgDQpRIDE0LjkzNzUgNTQuMTA5Mzc1IDE5LjU3ODEyNSA1NS4wNDY4NzUgDQpRIDI0LjIxODc1IDU2IDI4LjYwOTM3NSA1NiANClEgNDAuNDg0Mzc1IDU2IDQ2LjM0Mzc1IDQ5Ljg0Mzc1IA0KUSA1Mi4yMDMxMjUgNDMuNzAzMTI1IDUyLjIwMzEyNSAzMS4yMDMxMjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTYxIi8+DQogICAgICA8cGF0aCBkPSJNIDguNSAyMS41NzgxMjUgDQpMIDguNSA1NC42ODc1IA0KTCAxNy40ODQzNzUgNTQuNjg3NSANCkwgMTcuNDg0Mzc1IDIxLjkyMTg3NSANClEgMTcuNDg0Mzc1IDE0LjE1NjI1IDIwLjUgMTAuMjY1NjI1IA0KUSAyMy41MzEyNSA2LjM5MDYyNSAyOS41OTM3NSA2LjM5MDYyNSANClEgMzYuODU5Mzc1IDYuMzkwNjI1IDQxLjA3ODEyNSAxMS4wMzEyNSANClEgNDUuMzEyNSAxNS42NzE4NzUgNDUuMzEyNSAyMy42ODc1IA0KTCA0NS4zMTI1IDU0LjY4NzUgDQpMIDU0LjI5Njg3NSA1NC42ODc1IA0KTCA1NC4yOTY4NzUgMCANCkwgNDUuMzEyNSAwIA0KTCA0NS4zMTI1IDguNDA2MjUgDQpRIDQyLjA0Njg3NSAzLjQyMTg3NSAzNy43MTg3NSAxIA0KUSAzMy40MDYyNSAtMS40MjE4NzUgMjcuNjg3NSAtMS40MjE4NzUgDQpRIDE4LjI2NTYyNSAtMS40MjE4NzUgMTMuMzc1IDQuNDM3NSANClEgOC41IDEwLjI5Njg3NSA4LjUgMjEuNTc4MTI1IA0Keg0KTSAzMS4xMDkzNzUgNTYgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTc1Ii8+DQogICAgIDwvZGVmcz4NCiAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzIuNjc3NSAyNDguMDM1NzYzKXJvdGF0ZSgtOTApc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDYiLz4NCiAgICAgIDx1c2UgeD0iNTcuNDQxNDA2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICAgPHVzZSB4PSIxMTguOTY0ODQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MSIvPg0KICAgICAgPHVzZSB4PSIxODAuMjQ0MTQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgPHVzZSB4PSIyMTkuNDUzMTI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NSIvPg0KICAgICAgPHVzZSB4PSIyODIuODMyMDMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MiIvPg0KICAgICAgPHVzZSB4PSIzMjMuOTE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICAgPHVzZSB4PSIzODUuNDM3NSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzMiLz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF8xMyI+DQogICAgPHBhdGggZD0iTSA5MS40NCAzOTguNTc3NiANCkwgOTEuNDQgNTMuNzQwOCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMTQiPg0KICAgIDxwYXRoIGQ9Ik0gNjU4LjM2OCAzOTguNTc3NiANCkwgNjU4LjM2OCA1My43NDA4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF8xNSI+DQogICAgPHBhdGggZD0iTSA5MS40NCAzOTguNTc3NiANCkwgNjU4LjM2OCAzOTguNTc3NiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6IzAwMDAwMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMTYiPg0KICAgIDxwYXRoIGQ9Ik0gOTEuNDQgNTMuNzQwOCANCkwgNjU4LjM2OCA1My43NDA4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzIwIj4NCiAgICA8IS0tIDExIC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI5Ny41OTU2MzYgMzY5Ljk4ODE3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzIxIj4NCiAgICA8IS0tIDExIC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI5Ny41OTU2MzYgMzM4LjYzOTM3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzIyIj4NCiAgICA8IS0tIDEzIC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMzMS45NTQ5MDkgMzA3LjI5MDU3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzIzIj4NCiAgICA8IS0tIDE1IC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM2Ni4zMTQxODIgMjc1Ljk0MTc3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzI0Ij4NCiAgICA8IS0tIDE3IC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQwMC42NzM0NTUgMjQ0LjU5Mjk3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNyIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzI1Ij4NCiAgICA8IS0tIDIwIC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1Mi4yMTIzNjQgMjEzLjI0NDE3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzI2Ij4NCiAgICA8IS0tIDIxIC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ2OS4zOTIgMTgxLjg5NTM3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzI3Ij4NCiAgICA8IS0tIDIyIC0tPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4Ni41NzE2MzYgMTUwLjU0NjU3NSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+DQogICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPg0KICAgIDwvZz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJ0ZXh0XzI4Ij4NCiAgICA8IS0tIDI5IC0tPg0KICAgIDxkZWZzPg0KICAgICA8cGF0aCBkPSJNIDEwLjk4NDM3NSAxLjUxNTYyNSANCkwgMTAuOTg0Mzc1IDEwLjUgDQpRIDE0LjcwMzEyNSA4LjczNDM3NSAxOC41IDcuODEyNSANClEgMjIuMzEyNSA2Ljg5MDYyNSAyNS45ODQzNzUgNi44OTA2MjUgDQpRIDM1Ljc1IDYuODkwNjI1IDQwLjg5MDYyNSAxMy40NTMxMjUgDQpRIDQ2LjA0Njg3NSAyMC4wMTU2MjUgNDYuNzgxMjUgMzMuNDA2MjUgDQpRIDQzLjk1MzEyNSAyOS4yMDMxMjUgMzkuNTkzNzUgMjYuOTUzMTI1IA0KUSAzNS4yNSAyNC43MDMxMjUgMjkuOTg0Mzc1IDI0LjcwMzEyNSANClEgMTkuMDQ2ODc1IDI0LjcwMzEyNSAxMi42NzE4NzUgMzEuMzEyNSANClEgNi4yOTY4NzUgMzcuOTM3NSA2LjI5Njg3NSA0OS40MjE4NzUgDQpRIDYuMjk2ODc1IDYwLjY0MDYyNSAxMi45Mzc1IDY3LjQyMTg3NSANClEgMTkuNTc4MTI1IDc0LjIxODc1IDMwLjYwOTM3NSA3NC4yMTg3NSANClEgNDMuMjY1NjI1IDc0LjIxODc1IDQ5LjkyMTg3NSA2NC41MTU2MjUgDQpRIDU2LjU5Mzc1IDU0LjgyODEyNSA1Ni41OTM3NSAzNi4zNzUgDQpRIDU2LjU5Mzc1IDE5LjE0MDYyNSA0OC40MDYyNSA4Ljg1OTM3NSANClEgNDAuMjM0Mzc1IC0xLjQyMTg3NSAyNi40MjE4NzUgLTEuNDIxODc1IA0KUSAyMi43MDMxMjUgLTEuNDIxODc1IDE4Ljg5MDYyNSAtMC42ODc1IA0KUSAxNS4wOTM3NSAwLjA0Njg3NSAxMC45ODQzNzUgMS41MTU2MjUgDQp6DQpNIDMwLjYwOTM3NSAzMi40MjE4NzUgDQpRIDM3LjI1IDMyLjQyMTg3NSA0MS4xMjUgMzYuOTUzMTI1IA0KUSA0NS4wMTU2MjUgNDEuNSA0NS4wMTU2MjUgNDkuNDIxODc1IA0KUSA0NS4wMTU2MjUgNTcuMjgxMjUgNDEuMTI1IDYxLjg0Mzc1IA0KUSAzNy4yNSA2Ni40MDYyNSAzMC42MDkzNzUgNjYuNDA2MjUgDQpRIDIzLjk2ODc1IDY2LjQwNjI1IDIwLjA5Mzc1IDYxLjg0Mzc1IA0KUSAxNi4yMTg3NSA1Ny4yODEyNSAxNi4yMTg3NSA0OS40MjE4NzUgDQpRIDE2LjIxODc1IDQxLjUgMjAuMDkzNzUgMzYuOTUzMTI1IA0KUSAyMy45Njg3NSAzMi40MjE4NzUgMzAuNjA5Mzc1IDMyLjQyMTg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzkiLz4NCiAgICA8L2RlZnM+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjA2LjgyOTA5MSAxMTkuMTk3Nzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM5Ii8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjkiPg0KICAgIDwhLS0gMzAgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjI0LjAwODcyNyA4Ny44NDg5NzUpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPg0KICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICA8L2c+DQogICA8L2c+DQogICA8ZyBpZD0idGV4dF8zMCI+DQogICAgPCEtLSBUb3AgVGVuIEZlYXR1cmVzIGZvciBQcmVkaWN0aW9uIG9mIERCIEtuZWUgaW5qdXJ5IC0tPg0KICAgIDxkZWZzPg0KICAgICA8cGF0aCBkPSJNIC0wLjI5Njg3NSA3Mi45MDYyNSANCkwgNjEuMzc1IDcyLjkwNjI1IA0KTCA2MS4zNzUgNjQuNTkzNzUgDQpMIDM1LjUgNjQuNTkzNzUgDQpMIDM1LjUgMCANCkwgMjUuNTkzNzUgMCANCkwgMjUuNTkzNzUgNjQuNTkzNzUgDQpMIC0wLjI5Njg3NSA2NC41OTM3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTQiLz4NCiAgICAgPHBhdGggZD0iTSAxOC4xMDkzNzUgOC4yMDMxMjUgDQpMIDE4LjEwOTM3NSAtMjAuNzk2ODc1IA0KTCA5LjA3ODEyNSAtMjAuNzk2ODc1IA0KTCA5LjA3ODEyNSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNTQuNjg3NSANCkwgMTguMTA5Mzc1IDQ2LjM5MDYyNSANClEgMjAuOTUzMTI1IDUxLjI2NTYyNSAyNS4yNjU2MjUgNTMuNjI1IA0KUSAyOS41OTM3NSA1NiAzNS41OTM3NSA1NiANClEgNDUuNTYyNSA1NiA1MS43ODEyNSA0OC4wOTM3NSANClEgNTguMDE1NjI1IDQwLjE4NzUgNTguMDE1NjI1IDI3LjI5Njg3NSANClEgNTguMDE1NjI1IDE0LjQwNjI1IDUxLjc4MTI1IDYuNDg0Mzc1IA0KUSA0NS41NjI1IC0xLjQyMTg3NSAzNS41OTM3NSAtMS40MjE4NzUgDQpRIDI5LjU5Mzc1IC0xLjQyMTg3NSAyNS4yNjU2MjUgMC45NTMxMjUgDQpRIDIwLjk1MzEyNSAzLjMyODEyNSAxOC4xMDkzNzUgOC4yMDMxMjUgDQp6DQpNIDQ4LjY4NzUgMjcuMjk2ODc1IA0KUSA0OC42ODc1IDM3LjIwMzEyNSA0NC42MDkzNzUgNDIuODQzNzUgDQpRIDQwLjUzMTI1IDQ4LjQ4NDM3NSAzMy40MDYyNSA0OC40ODQzNzUgDQpRIDI2LjI2NTYyNSA0OC40ODQzNzUgMjIuMTg3NSA0Mi44NDM3NSANClEgMTguMTA5Mzc1IDM3LjIwMzEyNSAxOC4xMDkzNzUgMjcuMjk2ODc1IA0KUSAxOC4xMDkzNzUgMTcuMzkwNjI1IDIyLjE4NzUgMTEuNzUgDQpRIDI2LjI2NTYyNSA2LjEwOTM3NSAzMy40MDYyNSA2LjEwOTM3NSANClEgNDAuNTMxMjUgNi4xMDkzNzUgNDQuNjA5Mzc1IDExLjc1IA0KUSA0OC42ODc1IDE3LjM5MDYyNSA0OC42ODc1IDI3LjI5Njg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNzAiLz4NCiAgICAgPHBhdGggZD0iTSAzNy4xMDkzNzUgNzUuOTg0Mzc1IA0KTCAzNy4xMDkzNzUgNjguNSANCkwgMjguNTE1NjI1IDY4LjUgDQpRIDIzLjY4NzUgNjguNSAyMS43OTY4NzUgNjYuNTQ2ODc1IA0KUSAxOS45MjE4NzUgNjQuNTkzNzUgMTkuOTIxODc1IDU5LjUxNTYyNSANCkwgMTkuOTIxODc1IDU0LjY4NzUgDQpMIDM0LjcxODc1IDU0LjY4NzUgDQpMIDM0LjcxODc1IDQ3LjcwMzEyNSANCkwgMTkuOTIxODc1IDQ3LjcwMzEyNSANCkwgMTkuOTIxODc1IDAgDQpMIDEwLjg5MDYyNSAwIA0KTCAxMC44OTA2MjUgNDcuNzAzMTI1IA0KTCAyLjI5Njg3NSA0Ny43MDMxMjUgDQpMIDIuMjk2ODc1IDU0LjY4NzUgDQpMIDEwLjg5MDYyNSA1NC42ODc1IA0KTCAxMC44OTA2MjUgNTguNSANClEgMTAuODkwNjI1IDY3LjYyNSAxNS4xNDA2MjUgNzEuNzk2ODc1IA0KUSAxOS4zOTA2MjUgNzUuOTg0Mzc1IDI4LjYwOTM3NSA3NS45ODQzNzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTY2Ii8+DQogICAgIDxwYXRoIGQ9Ik0gMTkuNjcxODc1IDY0Ljc5Njg3NSANCkwgMTkuNjcxODc1IDM3LjQwNjI1IA0KTCAzMi4wNzgxMjUgMzcuNDA2MjUgDQpRIDM4Ljk2ODc1IDM3LjQwNjI1IDQyLjcxODc1IDQwLjk2ODc1IA0KUSA0Ni40ODQzNzUgNDQuNTMxMjUgNDYuNDg0Mzc1IDUxLjEyNSANClEgNDYuNDg0Mzc1IDU3LjY3MTg3NSA0Mi43MTg3NSA2MS4yMzQzNzUgDQpRIDM4Ljk2ODc1IDY0Ljc5Njg3NSAzMi4wNzgxMjUgNjQuNzk2ODc1IA0Keg0KTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDMyLjA3ODEyNSA3Mi45MDYyNSANClEgNDQuMzQzNzUgNzIuOTA2MjUgNTAuNjA5Mzc1IDY3LjM1OTM3NSANClEgNTYuODkwNjI1IDYxLjgxMjUgNTYuODkwNjI1IDUxLjEyNSANClEgNTYuODkwNjI1IDQwLjMyODEyNSA1MC42MDkzNzUgMzQuODEyNSANClEgNDQuMzQzNzUgMjkuMjk2ODc1IDMyLjA3ODEyNSAyOS4yOTY4NzUgDQpMIDE5LjY3MTg3NSAyOS4yOTY4NzUgDQpMIDE5LjY3MTg3NSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTAiLz4NCiAgICAgPHBhdGggZD0iTSA0NS40MDYyNSA0Ni4zOTA2MjUgDQpMIDQ1LjQwNjI1IDc1Ljk4NDM3NSANCkwgNTQuMzkwNjI1IDc1Ljk4NDM3NSANCkwgNTQuMzkwNjI1IDAgDQpMIDQ1LjQwNjI1IDAgDQpMIDQ1LjQwNjI1IDguMjAzMTI1IA0KUSA0Mi41NzgxMjUgMy4zMjgxMjUgMzguMjUgMC45NTMxMjUgDQpRIDMzLjkzNzUgLTEuNDIxODc1IDI3Ljg3NSAtMS40MjE4NzUgDQpRIDE3Ljk2ODc1IC0xLjQyMTg3NSAxMS43MzQzNzUgNi40ODQzNzUgDQpRIDUuNTE1NjI1IDE0LjQwNjI1IDUuNTE1NjI1IDI3LjI5Njg3NSANClEgNS41MTU2MjUgNDAuMTg3NSAxMS43MzQzNzUgNDguMDkzNzUgDQpRIDE3Ljk2ODc1IDU2IDI3Ljg3NSA1NiANClEgMzMuOTM3NSA1NiAzOC4yNSA1My42MjUgDQpRIDQyLjU3ODEyNSA1MS4yNjU2MjUgNDUuNDA2MjUgNDYuMzkwNjI1IA0Keg0KTSAxNC43OTY4NzUgMjcuMjk2ODc1IA0KUSAxNC43OTY4NzUgMTcuMzkwNjI1IDE4Ljg3NSAxMS43NSANClEgMjIuOTUzMTI1IDYuMTA5Mzc1IDMwLjA3ODEyNSA2LjEwOTM3NSANClEgMzcuMjAzMTI1IDYuMTA5Mzc1IDQxLjI5Njg3NSAxMS43NSANClEgNDUuNDA2MjUgMTcuMzkwNjI1IDQ1LjQwNjI1IDI3LjI5Njg3NSANClEgNDUuNDA2MjUgMzcuMjAzMTI1IDQxLjI5Njg3NSA0Mi44NDM3NSANClEgMzcuMjAzMTI1IDQ4LjQ4NDM3NSAzMC4wNzgxMjUgNDguNDg0Mzc1IA0KUSAyMi45NTMxMjUgNDguNDg0Mzc1IDE4Ljg3NSA0Mi44NDM3NSANClEgMTQuNzk2ODc1IDM3LjIwMzEyNSAxNC43OTY4NzUgMjcuMjk2ODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02NCIvPg0KICAgICA8cGF0aCBkPSJNIDE5LjY3MTg3NSA2NC43OTY4NzUgDQpMIDE5LjY3MTg3NSA4LjEwOTM3NSANCkwgMzEuNTkzNzUgOC4xMDkzNzUgDQpRIDQ2LjY4NzUgOC4xMDkzNzUgNTMuNjg3NSAxNC45Mzc1IA0KUSA2MC42ODc1IDIxLjc4MTI1IDYwLjY4NzUgMzYuNTMxMjUgDQpRIDYwLjY4NzUgNTEuMTcxODc1IDUzLjY4NzUgNTcuOTg0Mzc1IA0KUSA0Ni42ODc1IDY0Ljc5Njg3NSAzMS41OTM3NSA2NC43OTY4NzUgDQp6DQpNIDkuODEyNSA3Mi45MDYyNSANCkwgMzAuMDc4MTI1IDcyLjkwNjI1IA0KUSA1MS4yNjU2MjUgNzIuOTA2MjUgNjEuMTcxODc1IDY0LjA5Mzc1IA0KUSA3MS4wOTM3NSA1NS4yODEyNSA3MS4wOTM3NSAzNi41MzEyNSANClEgNzEuMDkzNzUgMTcuNjcxODc1IDYxLjEyNSA4LjgyODEyNSANClEgNTEuMTcxODc1IDAgMzAuMDc4MTI1IDAgDQpMIDkuODEyNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy00NCIvPg0KICAgICA8cGF0aCBkPSJNIDkuODEyNSA3Mi45MDYyNSANCkwgMTkuNjcxODc1IDcyLjkwNjI1IA0KTCAxOS42NzE4NzUgNDIuMDkzNzUgDQpMIDUyLjM5MDYyNSA3Mi45MDYyNSANCkwgNjUuMDkzNzUgNzIuOTA2MjUgDQpMIDI4LjkwNjI1IDM4LjkyMTg3NSANCkwgNjcuNjcxODc1IDAgDQpMIDU0LjY4NzUgMCANCkwgMTkuNjcxODc1IDM1LjEwOTM3NSANCkwgMTkuNjcxODc1IDAgDQpMIDkuODEyNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy00YiIvPg0KICAgICA8cGF0aCBkPSJNIDkuNDIxODc1IDU0LjY4NzUgDQpMIDE4LjQwNjI1IDU0LjY4NzUgDQpMIDE4LjQwNjI1IC0wLjk4NDM3NSANClEgMTguNDA2MjUgLTExLjQyMTg3NSAxNC40MjE4NzUgLTE2LjEwOTM3NSANClEgMTAuNDUzMTI1IC0yMC43OTY4NzUgMS42MDkzNzUgLTIwLjc5Njg3NSANCkwgLTEuODEyNSAtMjAuNzk2ODc1IA0KTCAtMS44MTI1IC0xMy4xODc1IA0KTCAwLjU5Mzc1IC0xMy4xODc1IA0KUSA1LjcxODc1IC0xMy4xODc1IDcuNTYyNSAtMTAuODEyNSANClEgOS40MjE4NzUgLTguNDUzMTI1IDkuNDIxODc1IC0wLjk4NDM3NSANCnoNCk0gOS40MjE4NzUgNzUuOTg0Mzc1IA0KTCAxOC40MDYyNSA3NS45ODQzNzUgDQpMIDE4LjQwNjI1IDY0LjU5Mzc1IA0KTCA5LjQyMTg3NSA2NC41OTM3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNmEiLz4NCiAgICAgPHBhdGggZD0iTSAzMi4xNzE4NzUgLTUuMDc4MTI1IA0KUSAyOC4zNzUgLTE0Ljg0Mzc1IDI0Ljc1IC0xNy44MTI1IA0KUSAyMS4xNDA2MjUgLTIwLjc5Njg3NSAxNS4wOTM3NSAtMjAuNzk2ODc1IA0KTCA3LjkwNjI1IC0yMC43OTY4NzUgDQpMIDcuOTA2MjUgLTEzLjI4MTI1IA0KTCAxMy4xODc1IC0xMy4yODEyNSANClEgMTYuODkwNjI1IC0xMy4yODEyNSAxOC45Mzc1IC0xMS41MTU2MjUgDQpRIDIxIC05Ljc2NTYyNSAyMy40ODQzNzUgLTMuMjE4NzUgDQpMIDI1LjA5Mzc1IDAuODc1IA0KTCAyLjk4NDM3NSA1NC42ODc1IA0KTCAxMi41IDU0LjY4NzUgDQpMIDI5LjU5Mzc1IDExLjkyMTg3NSANCkwgNDYuNjg3NSA1NC42ODc1IA0KTCA1Ni4yMDMxMjUgNTQuNjg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNzkiLz4NCiAgICA8L2RlZnM+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI2LjIzNjE4OCAyMC44NjYwNSlzY2FsZSgwLjEyIC0wLjEyKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4NCiAgICAgPHVzZSB4PSI2MC44MTgzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MCIvPg0KICAgICA8dXNlIHg9IjE4NS40NzY1NjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMjE3LjI2MzY3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4NCiAgICAgPHVzZSB4PSIyNzguMDgyMDMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjMzOS42MDU0NjkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgIDx1c2UgeD0iNDAyLjk4NDM3NSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSI0MzQuNzcxNDg0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICA8dXNlIHg9IjQ5Mi4yMTI4OTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY1Ii8+DQogICAgIDx1c2UgeD0iNTUzLjczNjMyOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjEiLz4NCiAgICAgPHVzZSB4PSI2MTUuMDE1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjY1NC4yMjQ2MDkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc1Ii8+DQogICAgIDx1c2UgeD0iNzE3LjYwMzUxNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzIiLz4NCiAgICAgPHVzZSB4PSI3NTguNjg1NTQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjgyMC4yMDg5ODQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTczIi8+DQogICAgIDx1c2UgeD0iODcyLjMwODU5NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSI5MDQuMDk1NzAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NiIvPg0KICAgICA8dXNlIHg9IjkzOS4zMDA3ODEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTAwMC40ODI0MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTcyIi8+DQogICAgIDx1c2UgeD0iMTA0MS41OTU3MDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMTA3My4zODI4MTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+DQogICAgIDx1c2UgeD0iMTEzMy42Njk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTcyIi8+DQogICAgIDx1c2UgeD0iMTE3NC43NTE5NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY1Ii8+DQogICAgIDx1c2UgeD0iMTIzNi4yNzUzOTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY0Ii8+DQogICAgIDx1c2UgeD0iMTI5OS43NTE5NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgIDx1c2UgeD0iMTMyNy41MzUxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTYzIi8+DQogICAgIDx1c2UgeD0iMTM4Mi41MTU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgIDx1c2UgeD0iMTQyMS43MjQ2MDkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgIDx1c2UgeD0iMTQ0OS41MDc4MTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTUxMC42ODk0NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgIDx1c2UgeD0iMTU3NC4wNjgzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMTYwNS44NTU0NjkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTY2Ny4wMzcxMDkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY2Ii8+DQogICAgIDx1c2UgeD0iMTcwMi4yNDIxODgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMTczNC4wMjkyOTciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ0Ii8+DQogICAgIDx1c2UgeD0iMTgxMS4wMzEyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgPHVzZSB4PSIxODc5LjYzNDc2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSIxOTExLjQyMTg3NSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNGIiLz4NCiAgICAgPHVzZSB4PSIxOTc2Ljk5ODA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgPHVzZSB4PSIyMDQwLjM3Njk1MyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjUiLz4NCiAgICAgPHVzZSB4PSIyMTAxLjkwMDM5MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjUiLz4NCiAgICAgPHVzZSB4PSIyMTYzLjQyMzgyOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSIyMTk1LjIxMDkzOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgPHVzZSB4PSIyMjIyLjk5NDE0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgPHVzZSB4PSIyMjg2LjM3MzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmEiLz4NCiAgICAgPHVzZSB4PSIyMzE0LjE1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NSIvPg0KICAgICA8dXNlIHg9IjIzNzcuNTM1MTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MiIvPg0KICAgICA8dXNlIHg9IjI0MTguNjQ4NDM4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03OSIvPg0KICAgIDwvZz4NCiAgICA8IS0tIFVzaW5nIHRoZSBUQlNORkxQU0FQTTE1IG1vZGVsIHdpdGggdGhlIFRCU05GTFBTQTExIGRhdGFzZXQsIGZvbGQgMyAtLT4NCiAgICA8ZGVmcz4NCiAgICAgPHBhdGggZD0iTSA4LjY4NzUgNzIuOTA2MjUgDQpMIDE4LjYwOTM3NSA3Mi45MDYyNSANCkwgMTguNjA5Mzc1IDI4LjYwOTM3NSANClEgMTguNjA5Mzc1IDE2Ljg5MDYyNSAyMi44NDM3NSAxMS43MzQzNzUgDQpRIDI3LjA5Mzc1IDYuNTkzNzUgMzYuNjI1IDYuNTkzNzUgDQpRIDQ2LjA5Mzc1IDYuNTkzNzUgNTAuMzQzNzUgMTEuNzM0Mzc1IA0KUSA1NC41OTM3NSAxNi44OTA2MjUgNTQuNTkzNzUgMjguNjA5Mzc1IA0KTCA1NC41OTM3NSA3Mi45MDYyNSANCkwgNjQuNSA3Mi45MDYyNSANCkwgNjQuNSAyNy4zOTA2MjUgDQpRIDY0LjUgMTMuMTQwNjI1IDU3LjQzNzUgNS44NTkzNzUgDQpRIDUwLjM5MDYyNSAtMS40MjE4NzUgMzYuNjI1IC0xLjQyMTg3NSANClEgMjIuNzk2ODc1IC0xLjQyMTg3NSAxNS43MzQzNzUgNS44NTkzNzUgDQpRIDguNjg3NSAxMy4xNDA2MjUgOC42ODc1IDI3LjM5MDYyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTUiLz4NCiAgICAgPHBhdGggZD0iTSA0NS40MDYyNSAyNy45ODQzNzUgDQpRIDQ1LjQwNjI1IDM3Ljc1IDQxLjM3NSA0My4xMDkzNzUgDQpRIDM3LjM1OTM3NSA0OC40ODQzNzUgMzAuMDc4MTI1IDQ4LjQ4NDM3NSANClEgMjIuODU5Mzc1IDQ4LjQ4NDM3NSAxOC44MjgxMjUgNDMuMTA5Mzc1IA0KUSAxNC43OTY4NzUgMzcuNzUgMTQuNzk2ODc1IDI3Ljk4NDM3NSANClEgMTQuNzk2ODc1IDE4LjI2NTYyNSAxOC44MjgxMjUgMTIuODkwNjI1IA0KUSAyMi44NTkzNzUgNy41MTU2MjUgMzAuMDc4MTI1IDcuNTE1NjI1IA0KUSAzNy4zNTkzNzUgNy41MTU2MjUgNDEuMzc1IDEyLjg5MDYyNSANClEgNDUuNDA2MjUgMTguMjY1NjI1IDQ1LjQwNjI1IDI3Ljk4NDM3NSANCnoNCk0gNTQuMzkwNjI1IDYuNzgxMjUgDQpRIDU0LjM5MDYyNSAtNy4xNzE4NzUgNDguMTg3NSAtMTMuOTg0Mzc1IA0KUSA0MiAtMjAuNzk2ODc1IDI5LjIwMzEyNSAtMjAuNzk2ODc1IA0KUSAyNC40Njg3NSAtMjAuNzk2ODc1IDIwLjI2NTYyNSAtMjAuMDkzNzUgDQpRIDE2LjA2MjUgLTE5LjM5MDYyNSAxMi4xMDkzNzUgLTE3LjkyMTg3NSANCkwgMTIuMTA5Mzc1IC05LjE4NzUgDQpRIDE2LjA2MjUgLTExLjMyODEyNSAxOS45MjE4NzUgLTEyLjM0Mzc1IA0KUSAyMy43ODEyNSAtMTMuMzc1IDI3Ljc4MTI1IC0xMy4zNzUgDQpRIDM2LjYyNSAtMTMuMzc1IDQxLjAxNTYyNSAtOC43NjU2MjUgDQpRIDQ1LjQwNjI1IC00LjE1NjI1IDQ1LjQwNjI1IDUuMTcxODc1IA0KTCA0NS40MDYyNSA5LjYyNSANClEgNDIuNjI1IDQuNzgxMjUgMzguMjgxMjUgMi4zOTA2MjUgDQpRIDMzLjkzNzUgMCAyNy44NzUgMCANClEgMTcuODI4MTI1IDAgMTEuNjcxODc1IDcuNjU2MjUgDQpRIDUuNTE1NjI1IDE1LjMyODEyNSA1LjUxNTYyNSAyNy45ODQzNzUgDQpRIDUuNTE1NjI1IDQwLjY3MTg3NSAxMS42NzE4NzUgNDguMzI4MTI1IA0KUSAxNy44MjgxMjUgNTYgMjcuODc1IDU2IA0KUSAzMy45Mzc1IDU2IDM4LjI4MTI1IDUzLjYwOTM3NSANClEgNDIuNjI1IDUxLjIxODc1IDQ1LjQwNjI1IDQ2LjM5MDYyNSANCkwgNDUuNDA2MjUgNTQuNjg3NSANCkwgNTQuMzkwNjI1IDU0LjY4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTY3Ii8+DQogICAgIDxwYXRoIGQ9Ik0gNTQuODkwNjI1IDMzLjAxNTYyNSANCkwgNTQuODkwNjI1IDAgDQpMIDQ1LjkwNjI1IDAgDQpMIDQ1LjkwNjI1IDMyLjcxODc1IA0KUSA0NS45MDYyNSA0MC40ODQzNzUgNDIuODc1IDQ0LjMyODEyNSANClEgMzkuODQzNzUgNDguMTg3NSAzMy43OTY4NzUgNDguMTg3NSANClEgMjYuNTE1NjI1IDQ4LjE4NzUgMjIuMzEyNSA0My41NDY4NzUgDQpRIDE4LjEwOTM3NSAzOC45MjE4NzUgMTguMTA5Mzc1IDMwLjkwNjI1IA0KTCAxOC4xMDkzNzUgMCANCkwgOS4wNzgxMjUgMCANCkwgOS4wNzgxMjUgNzUuOTg0Mzc1IA0KTCAxOC4xMDkzNzUgNzUuOTg0Mzc1IA0KTCAxOC4xMDkzNzUgNDYuMTg3NSANClEgMjEuMzQzNzUgNTEuMTI1IDI1LjcwMzEyNSA1My41NjI1IA0KUSAzMC4wNzgxMjUgNTYgMzUuNzk2ODc1IDU2IA0KUSA0NS4yMTg3NSA1NiA1MC4wNDY4NzUgNTAuMTcxODc1IA0KUSA1NC44OTA2MjUgNDQuMzQzNzUgNTQuODkwNjI1IDMzLjAxNTYyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNjgiLz4NCiAgICAgPHBhdGggZD0iTSA1My41MTU2MjUgNzAuNTE1NjI1IA0KTCA1My41MTU2MjUgNjAuODkwNjI1IA0KUSA0Ny45MDYyNSA2My41NzgxMjUgNDIuOTIxODc1IDY0Ljg5MDYyNSANClEgMzcuOTM3NSA2Ni4yMTg3NSAzMy4yOTY4NzUgNjYuMjE4NzUgDQpRIDI1LjI1IDY2LjIxODc1IDIwLjg3NSA2My4wOTM3NSANClEgMTYuNSA1OS45Njg3NSAxNi41IDU0LjIwMzEyNSANClEgMTYuNSA0OS4zNTkzNzUgMTkuNDA2MjUgNDYuODkwNjI1IA0KUSAyMi4zMTI1IDQ0LjQzNzUgMzAuNDIxODc1IDQyLjkyMTg3NSANCkwgMzYuMzc1IDQxLjcwMzEyNSANClEgNDcuNDA2MjUgMzkuNTkzNzUgNTIuNjU2MjUgMzQuMjk2ODc1IA0KUSA1Ny45MDYyNSAyOSA1Ny45MDYyNSAyMC4xMjUgDQpRIDU3LjkwNjI1IDkuNTE1NjI1IDUwLjc5Njg3NSA0LjA0Njg3NSANClEgNDMuNzAzMTI1IC0xLjQyMTg3NSAyOS45ODQzNzUgLTEuNDIxODc1IA0KUSAyNC44MTI1IC0xLjQyMTg3NSAxOC45Njg3NSAtMC4yNSANClEgMTMuMTQwNjI1IDAuOTIxODc1IDYuODkwNjI1IDMuMjE4NzUgDQpMIDYuODkwNjI1IDEzLjM3NSANClEgMTIuODkwNjI1IDEwLjAxNTYyNSAxOC42NTYyNSA4LjI5Njg3NSANClEgMjQuNDIxODc1IDYuNTkzNzUgMjkuOTg0Mzc1IDYuNTkzNzUgDQpRIDM4LjQyMTg3NSA2LjU5Mzc1IDQzLjAxNTYyNSA5LjkwNjI1IA0KUSA0Ny42MDkzNzUgMTMuMjM0Mzc1IDQ3LjYwOTM3NSAxOS4zOTA2MjUgDQpRIDQ3LjYwOTM3NSAyNC43NSA0NC4zMTI1IDI3Ljc4MTI1IA0KUSA0MS4wMTU2MjUgMzAuODEyNSAzMy41IDMyLjMyODEyNSANCkwgMjcuNDg0Mzc1IDMzLjUgDQpRIDE2LjQ1MzEyNSAzNS42ODc1IDExLjUxNTYyNSA0MC4zNzUgDQpRIDYuNTkzNzUgNDUuMDYyNSA2LjU5Mzc1IDUzLjQyMTg3NSANClEgNi41OTM3NSA2My4wOTM3NSAxMy40MDYyNSA2OC42NTYyNSANClEgMjAuMjE4NzUgNzQuMjE4NzUgMzIuMTcxODc1IDc0LjIxODc1IA0KUSAzNy4zMTI1IDc0LjIxODc1IDQyLjYyNSA3My4yODEyNSANClEgNDcuOTUzMTI1IDcyLjM1OTM3NSA1My41MTU2MjUgNzAuNTE1NjI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8cGF0aCBkPSJNIDkuODEyNSA3Mi45MDYyNSANCkwgMjMuMDkzNzUgNzIuOTA2MjUgDQpMIDU1LjQyMTg3NSAxMS45MjE4NzUgDQpMIDU1LjQyMTg3NSA3Mi45MDYyNSANCkwgNjQuOTg0Mzc1IDcyLjkwNjI1IA0KTCA2NC45ODQzNzUgMCANCkwgNTEuNzAzMTI1IDAgDQpMIDE5LjM5MDYyNSA2MC45ODQzNzUgDQpMIDE5LjM5MDYyNSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNGUiLz4NCiAgICAgPHBhdGggZD0iTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDE5LjY3MTg3NSA3Mi45MDYyNSANCkwgMTkuNjcxODc1IDguMjk2ODc1IA0KTCA1NS4xNzE4NzUgOC4yOTY4NzUgDQpMIDU1LjE3MTg3NSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNGMiLz4NCiAgICAgPHBhdGggZD0iTSAzNC4xODc1IDYzLjE4NzUgDQpMIDIwLjc5Njg3NSAyNi45MDYyNSANCkwgNDcuNjA5Mzc1IDI2LjkwNjI1IA0Keg0KTSAyOC42MDkzNzUgNzIuOTA2MjUgDQpMIDM5Ljc5Njg3NSA3Mi45MDYyNSANCkwgNjcuNTc4MTI1IDAgDQpMIDU3LjMyODEyNSAwIA0KTCA1MC42ODc1IDE4LjcwMzEyNSANCkwgMTcuODI4MTI1IDE4LjcwMzEyNSANCkwgMTEuMTg3NSAwIA0KTCAwLjc4MTI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQxIi8+DQogICAgIDxwYXRoIGQ9Ik0gOS44MTI1IDcyLjkwNjI1IA0KTCAyNC41MTU2MjUgNzIuOTA2MjUgDQpMIDQzLjEwOTM3NSAyMy4yOTY4NzUgDQpMIDYxLjgxMjUgNzIuOTA2MjUgDQpMIDc2LjUxNTYyNSA3Mi45MDYyNSANCkwgNzYuNTE1NjI1IDAgDQpMIDY2Ljg5MDYyNSAwIA0KTCA2Ni44OTA2MjUgNjQuMDE1NjI1IA0KTCA0OC4wOTM3NSAxNC4wMTU2MjUgDQpMIDM4LjE4NzUgMTQuMDE1NjI1IA0KTCAxOS4zOTA2MjUgNjQuMDE1NjI1IA0KTCAxOS4zOTA2MjUgMCANCkwgOS44MTI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTRkIi8+DQogICAgIDxwYXRoIGQ9Ik0gNTIgNDQuMTg3NSANClEgNTUuMzc1IDUwLjI1IDYwLjA2MjUgNTMuMTI1IA0KUSA2NC43NSA1NiA3MS4wOTM3NSA1NiANClEgNzkuNjQwNjI1IDU2IDg0LjI4MTI1IDUwLjAxNTYyNSANClEgODguOTIxODc1IDQ0LjA0Njg3NSA4OC45MjE4NzUgMzMuMDE1NjI1IA0KTCA4OC45MjE4NzUgMCANCkwgNzkuODkwNjI1IDAgDQpMIDc5Ljg5MDYyNSAzMi43MTg3NSANClEgNzkuODkwNjI1IDQwLjU3ODEyNSA3Ny4wOTM3NSA0NC4zNzUgDQpRIDc0LjMxMjUgNDguMTg3NSA2OC42MDkzNzUgNDguMTg3NSANClEgNjEuNjI1IDQ4LjE4NzUgNTcuNTYyNSA0My41NDY4NzUgDQpRIDUzLjUxNTYyNSAzOC45MjE4NzUgNTMuNTE1NjI1IDMwLjkwNjI1IA0KTCA1My41MTU2MjUgMCANCkwgNDQuNDg0Mzc1IDAgDQpMIDQ0LjQ4NDM3NSAzMi43MTg3NSANClEgNDQuNDg0Mzc1IDQwLjYyNSA0MS43MDMxMjUgNDQuNDA2MjUgDQpRIDM4LjkyMTg3NSA0OC4xODc1IDMzLjEwOTM3NSA0OC4xODc1IA0KUSAyNi4yMTg3NSA0OC4xODc1IDIyLjE1NjI1IDQzLjUzMTI1IA0KUSAxOC4xMDkzNzUgMzguODc1IDE4LjEwOTM3NSAzMC45MDYyNSANCkwgMTguMTA5Mzc1IDAgDQpMIDkuMDc4MTI1IDAgDQpMIDkuMDc4MTI1IDU0LjY4NzUgDQpMIDE4LjEwOTM3NSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNDYuMTg3NSANClEgMjEuMTg3NSA1MS4yMTg3NSAyNS40ODQzNzUgNTMuNjA5Mzc1IA0KUSAyOS43ODEyNSA1NiAzNS42ODc1IDU2IA0KUSA0MS42NTYyNSA1NiA0NS44MjgxMjUgNTIuOTY4NzUgDQpRIDUwIDQ5Ljk1MzEyNSA1MiA0NC4xODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02ZCIvPg0KICAgICA8cGF0aCBkPSJNIDkuNDIxODc1IDc1Ljk4NDM3NSANCkwgMTguNDA2MjUgNzUuOTg0Mzc1IA0KTCAxOC40MDYyNSAwIA0KTCA5LjQyMTg3NSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02YyIvPg0KICAgICA8cGF0aCBkPSJNIDQuMjAzMTI1IDU0LjY4NzUgDQpMIDEzLjE4NzUgNTQuNjg3NSANCkwgMjQuNDIxODc1IDEyLjAxNTYyNSANCkwgMzUuNTkzNzUgNTQuNjg3NSANCkwgNDYuMTg3NSA1NC42ODc1IA0KTCA1Ny40MjE4NzUgMTIuMDE1NjI1IA0KTCA2OC42MDkzNzUgNTQuNjg3NSANCkwgNzcuNTkzNzUgNTQuNjg3NSANCkwgNjMuMjgxMjUgMCANCkwgNTIuNjg3NSAwIA0KTCA0MC45MjE4NzUgNDQuODI4MTI1IA0KTCAyOS4xMDkzNzUgMCANCkwgMTguNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy03NyIvPg0KICAgICA8cGF0aCBkPSJNIDExLjcxODc1IDEyLjQwNjI1IA0KTCAyMi4wMTU2MjUgMTIuNDA2MjUgDQpMIDIyLjAxNTYyNSA0IA0KTCAxNC4wMTU2MjUgLTExLjYyNSANCkwgNy43MTg3NSAtMTEuNjI1IA0KTCAxMS43MTg3NSA0IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0yYyIvPg0KICAgIDwvZGVmcz4NCiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTcuMjk5OTM4IDM0LjMwMzQyNSlzY2FsZSgwLjEyIC0wLjEyKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTUiLz4NCiAgICAgPHVzZSB4PSI3My4xOTMzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTczIi8+DQogICAgIDx1c2UgeD0iMTI1LjI5Mjk2OSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgPHVzZSB4PSIxNTMuMDc2MTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICA8dXNlIHg9IjIxNi40NTUwNzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY3Ii8+DQogICAgIDx1c2UgeD0iMjc5LjkzMTY0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSIzMTEuNzE4NzUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgIDx1c2UgeD0iMzUwLjkyNzczNCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjgiLz4NCiAgICAgPHVzZSB4PSI0MTQuMzA2NjQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjQ3NS44MzAwNzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iNTA3LjYxNzE4OCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4NCiAgICAgPHVzZSB4PSI1NjguNzAxMTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICA8dXNlIHg9IjYzNy4yODkwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUzIi8+DQogICAgIDx1c2UgeD0iNzAwLjc2NTYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNGUiLz4NCiAgICAgPHVzZSB4PSI3NzUuNTcwMzEyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICA8dXNlIHg9IjgzMy4wODk4NDQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTRjIi8+DQogICAgIDx1c2UgeD0iODg4LjgwMjczNCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4NCiAgICAgPHVzZSB4PSI5NDkuMTA1NDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8dXNlIHg9IjEwMTIuNTk3NjU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MSIvPg0KICAgICA8dXNlIHg9IjEwODEuMDA1ODU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICA8dXNlIHg9IjExNDEuMzA4NTk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00ZCIvPg0KICAgICA8dXNlIHg9IjEyMjcuNTg3ODkxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjEyOTEuMjEwOTM4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgICA8dXNlIHg9IjEzNTQuODMzOTg0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjEzODYuNjIxMDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZCIvPg0KICAgICA8dXNlIHg9IjE0ODQuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICA8dXNlIHg9IjE1NDUuMjE0ODQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NCIvPg0KICAgICA8dXNlIHg9IjE2MDguNjkxNDA2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjE2NzAuMjE0ODQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02YyIvPg0KICAgICA8dXNlIHg9IjE2OTcuOTk4MDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjE3MjkuNzg1MTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NyIvPg0KICAgICA8dXNlIHg9IjE4MTEuNTcyMjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICA8dXNlIHg9IjE4MzkuMzU1NDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjE4NzguNTY0NDUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OCIvPg0KICAgICA8dXNlIHg9IjE5NDEuOTQzMzU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjE5NzMuNzMwNDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjIwMTIuOTM5NDUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OCIvPg0KICAgICA8dXNlIHg9IjIwNzYuMzE4MzU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjIxMzcuODQxNzk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjIxNjkuNjI4OTA2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01NCIvPg0KICAgICA8dXNlIHg9IjIyMzAuNzEyODkxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICA8dXNlIHg9IjIyOTkuMzAwNzgxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8dXNlIHg9IjIzNjIuNzc3MzQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00ZSIvPg0KICAgICA8dXNlIHg9IjI0MzcuNTgyMDMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICA8dXNlIHg9IjI0OTUuMTAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00YyIvPg0KICAgICA8dXNlIHg9IjI1NTAuODE0NDUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICA8dXNlIHg9IjI2MTEuMTE3MTg4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8dXNlIHg9IjI2NzQuNjA5Mzc1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MSIvPg0KICAgICA8dXNlIHg9IjI3NDMuMDE3NTc4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjI4MDYuNjQwNjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjI4NzAuMjYzNjcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjI5MDIuMDUwNzgxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NCIvPg0KICAgICA8dXNlIHg9IjI5NjUuNTI3MzQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MSIvPg0KICAgICA8dXNlIHg9IjMwMjYuODA2NjQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjMwNjYuMDE1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MSIvPg0KICAgICA8dXNlIHg9IjMxMjcuMjk0OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MyIvPg0KICAgICA8dXNlIHg9IjMxNzkuMzk0NTMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjMyNDAuOTE3OTY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjMyODAuMTI2OTUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yYyIvPg0KICAgICA8dXNlIHg9IjMzMTEuOTE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjMzNDMuNzAxMTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NiIvPg0KICAgICA8dXNlIHg9IjMzNzguOTA2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMzQ0MC4wODc4OTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZjIi8+DQogICAgIDx1c2UgeD0iMzQ2Ny44NzEwOTQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY0Ii8+DQogICAgIDx1c2UgeD0iMzUzMS4zNDc2NTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMzU2My4xMzQ3NjYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMzIi8+DQogICAgPC9nPg0KICAgIDwhLS0gKFJPQyBBVUMgPSAwLjk4OTApIC0tPg0KICAgIDxkZWZzPg0KICAgICA8cGF0aCBkPSJNIDMxIDc1Ljg3NSANClEgMjQuNDY4NzUgNjQuNjU2MjUgMjEuMjgxMjUgNTMuNjU2MjUgDQpRIDE4LjEwOTM3NSA0Mi42NzE4NzUgMTguMTA5Mzc1IDMxLjM5MDYyNSANClEgMTguMTA5Mzc1IDIwLjEyNSAyMS4zMTI1IDkuMDYyNSANClEgMjQuNTE1NjI1IC0yIDMxIC0xMy4xODc1IA0KTCAyMy4xODc1IC0xMy4xODc1IA0KUSAxNS44NzUgLTEuNzAzMTI1IDEyLjIzNDM3NSA5LjM3NSANClEgOC41OTM3NSAyMC40NTMxMjUgOC41OTM3NSAzMS4zOTA2MjUgDQpRIDguNTkzNzUgNDIuMjgxMjUgMTIuMjAzMTI1IDUzLjMxMjUgDQpRIDE1LjgyODEyNSA2NC4zNTkzNzUgMjMuMTg3NSA3NS44NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTI4Ii8+DQogICAgIDxwYXRoIGQ9Ik0gMzkuNDA2MjUgNjYuMjE4NzUgDQpRIDI4LjY1NjI1IDY2LjIxODc1IDIyLjMyODEyNSA1OC4yMDMxMjUgDQpRIDE2LjAxNTYyNSA1MC4yMDMxMjUgMTYuMDE1NjI1IDM2LjM3NSANClEgMTYuMDE1NjI1IDIyLjYwOTM3NSAyMi4zMjgxMjUgMTQuNTkzNzUgDQpRIDI4LjY1NjI1IDYuNTkzNzUgMzkuNDA2MjUgNi41OTM3NSANClEgNTAuMTQwNjI1IDYuNTkzNzUgNTYuNDIxODc1IDE0LjU5Mzc1IA0KUSA2Mi43MDMxMjUgMjIuNjA5Mzc1IDYyLjcwMzEyNSAzNi4zNzUgDQpRIDYyLjcwMzEyNSA1MC4yMDMxMjUgNTYuNDIxODc1IDU4LjIwMzEyNSANClEgNTAuMTQwNjI1IDY2LjIxODc1IDM5LjQwNjI1IDY2LjIxODc1IA0Keg0KTSAzOS40MDYyNSA3NC4yMTg3NSANClEgNTQuNzM0Mzc1IDc0LjIxODc1IDYzLjkwNjI1IDYzLjkzNzUgDQpRIDczLjA5Mzc1IDUzLjY1NjI1IDczLjA5Mzc1IDM2LjM3NSANClEgNzMuMDkzNzUgMTkuMTQwNjI1IDYzLjkwNjI1IDguODU5Mzc1IA0KUSA1NC43MzQzNzUgLTEuNDIxODc1IDM5LjQwNjI1IC0xLjQyMTg3NSANClEgMjQuMDMxMjUgLTEuNDIxODc1IDE0LjgxMjUgOC44MjgxMjUgDQpRIDUuNjA5Mzc1IDE5LjA5Mzc1IDUuNjA5Mzc1IDM2LjM3NSANClEgNS42MDkzNzUgNTMuNjU2MjUgMTQuODEyNSA2My45Mzc1IA0KUSAyNC4wMzEyNSA3NC4yMTg3NSAzOS40MDYyNSA3NC4yMTg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNGYiLz4NCiAgICAgPHBhdGggZD0iTSA2NC40MDYyNSA2Ny4yODEyNSANCkwgNjQuNDA2MjUgNTYuODkwNjI1IA0KUSA1OS40MjE4NzUgNjEuNTMxMjUgNTMuNzgxMjUgNjMuODEyNSANClEgNDguMTQwNjI1IDY2LjEwOTM3NSA0MS43OTY4NzUgNjYuMTA5Mzc1IA0KUSAyOS4yOTY4NzUgNjYuMTA5Mzc1IDIyLjY1NjI1IDU4LjQ2ODc1IA0KUSAxNi4wMTU2MjUgNTAuODI4MTI1IDE2LjAxNTYyNSAzNi4zNzUgDQpRIDE2LjAxNTYyNSAyMS45Njg3NSAyMi42NTYyNSAxNC4zMjgxMjUgDQpRIDI5LjI5Njg3NSA2LjY4NzUgNDEuNzk2ODc1IDYuNjg3NSANClEgNDguMTQwNjI1IDYuNjg3NSA1My43ODEyNSA4Ljk4NDM3NSANClEgNTkuNDIxODc1IDExLjI4MTI1IDY0LjQwNjI1IDE1LjkyMTg3NSANCkwgNjQuNDA2MjUgNS42MDkzNzUgDQpRIDU5LjIzNDM3NSAyLjA5Mzc1IDUzLjQzNzUgMC4zMjgxMjUgDQpRIDQ3LjY1NjI1IC0xLjQyMTg3NSA0MS4yMTg3NSAtMS40MjE4NzUgDQpRIDI0LjY1NjI1IC0xLjQyMTg3NSAxNS4xMjUgOC43MDMxMjUgDQpRIDUuNjA5Mzc1IDE4Ljg0Mzc1IDUuNjA5Mzc1IDM2LjM3NSANClEgNS42MDkzNzUgNTMuOTUzMTI1IDE1LjEyNSA2NC4wNzgxMjUgDQpRIDI0LjY1NjI1IDc0LjIxODc1IDQxLjIxODc1IDc0LjIxODc1IA0KUSA0Ny43NSA3NC4yMTg3NSA1My41MzEyNSA3Mi40ODQzNzUgDQpRIDU5LjMyODEyNSA3MC43NSA2NC40MDYyNSA2Ny4yODEyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNDMiLz4NCiAgICAgPHBhdGggZD0iTSAxMC41OTM3NSA0NS40MDYyNSANCkwgNzMuMTg3NSA0NS40MDYyNSANCkwgNzMuMTg3NSAzNy4yMDMxMjUgDQpMIDEwLjU5Mzc1IDM3LjIwMzEyNSANCnoNCk0gMTAuNTkzNzUgMjUuNDg0Mzc1IA0KTCA3My4xODc1IDI1LjQ4NDM3NSANCkwgNzMuMTg3NSAxNy4xODc1IA0KTCAxMC41OTM3NSAxNy4xODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zZCIvPg0KICAgICA8cGF0aCBkPSJNIDEwLjY4NzUgMTIuNDA2MjUgDQpMIDIxIDEyLjQwNjI1IA0KTCAyMSAwIA0KTCAxMC42ODc1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTJlIi8+DQogICAgIDxwYXRoIGQ9Ik0gMzEuNzgxMjUgMzQuNjI1IA0KUSAyNC43NSAzNC42MjUgMjAuNzE4NzUgMzAuODU5Mzc1IA0KUSAxNi43MDMxMjUgMjcuMDkzNzUgMTYuNzAzMTI1IDIwLjUxNTYyNSANClEgMTYuNzAzMTI1IDEzLjkyMTg3NSAyMC43MTg3NSAxMC4xNTYyNSANClEgMjQuNzUgNi4zOTA2MjUgMzEuNzgxMjUgNi4zOTA2MjUgDQpRIDM4LjgxMjUgNi4zOTA2MjUgNDIuODU5Mzc1IDEwLjE3MTg3NSANClEgNDYuOTIxODc1IDEzLjk2ODc1IDQ2LjkyMTg3NSAyMC41MTU2MjUgDQpRIDQ2LjkyMTg3NSAyNy4wOTM3NSA0Mi44OTA2MjUgMzAuODU5Mzc1IA0KUSAzOC44NzUgMzQuNjI1IDMxLjc4MTI1IDM0LjYyNSANCnoNCk0gMjEuOTIxODc1IDM4LjgxMjUgDQpRIDE1LjU3ODEyNSA0MC4zNzUgMTIuMDMxMjUgNDQuNzE4NzUgDQpRIDguNSA0OS4wNzgxMjUgOC41IDU1LjMyODEyNSANClEgOC41IDY0LjA2MjUgMTQuNzE4NzUgNjkuMTQwNjI1IA0KUSAyMC45NTMxMjUgNzQuMjE4NzUgMzEuNzgxMjUgNzQuMjE4NzUgDQpRIDQyLjY3MTg3NSA3NC4yMTg3NSA0OC44NzUgNjkuMTQwNjI1IA0KUSA1NS4wNzgxMjUgNjQuMDYyNSA1NS4wNzgxMjUgNTUuMzI4MTI1IA0KUSA1NS4wNzgxMjUgNDkuMDc4MTI1IDUxLjUzMTI1IDQ0LjcxODc1IA0KUSA0OCA0MC4zNzUgNDEuNzAzMTI1IDM4LjgxMjUgDQpRIDQ4LjgyODEyNSAzNy4xNTYyNSA1Mi43OTY4NzUgMzIuMzEyNSANClEgNTYuNzgxMjUgMjcuNDg0Mzc1IDU2Ljc4MTI1IDIwLjUxNTYyNSANClEgNTYuNzgxMjUgOS45MDYyNSA1MC4zMTI1IDQuMjM0Mzc1IA0KUSA0My44NDM3NSAtMS40MjE4NzUgMzEuNzgxMjUgLTEuNDIxODc1IA0KUSAxOS43MzQzNzUgLTEuNDIxODc1IDEzLjI1IDQuMjM0Mzc1IA0KUSA2Ljc4MTI1IDkuOTA2MjUgNi43ODEyNSAyMC41MTU2MjUgDQpRIDYuNzgxMjUgMjcuNDg0Mzc1IDEwLjc4MTI1IDMyLjMxMjUgDQpRIDE0Ljc5Njg3NSAzNy4xNTYyNSAyMS45MjE4NzUgMzguODEyNSANCnoNCk0gMTguMzEyNSA1NC4zOTA2MjUgDQpRIDE4LjMxMjUgNDguNzM0Mzc1IDIxLjg0Mzc1IDQ1LjU2MjUgDQpRIDI1LjM5MDYyNSA0Mi4zOTA2MjUgMzEuNzgxMjUgNDIuMzkwNjI1IA0KUSAzOC4xNDA2MjUgNDIuMzkwNjI1IDQxLjcxODc1IDQ1LjU2MjUgDQpRIDQ1LjMxMjUgNDguNzM0Mzc1IDQ1LjMxMjUgNTQuMzkwNjI1IA0KUSA0NS4zMTI1IDYwLjA2MjUgNDEuNzE4NzUgNjMuMjM0Mzc1IA0KUSAzOC4xNDA2MjUgNjYuNDA2MjUgMzEuNzgxMjUgNjYuNDA2MjUgDQpRIDI1LjM5MDYyNSA2Ni40MDYyNSAyMS44NDM3NSA2My4yMzQzNzUgDQpRIDE4LjMxMjUgNjAuMDYyNSAxOC4zMTI1IDU0LjM5MDYyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzgiLz4NCiAgICAgPHBhdGggZD0iTSA4LjAxNTYyNSA3NS44NzUgDQpMIDE1LjgyODEyNSA3NS44NzUgDQpRIDIzLjE0MDYyNSA2NC4zNTkzNzUgMjYuNzgxMjUgNTMuMzEyNSANClEgMzAuNDIxODc1IDQyLjI4MTI1IDMwLjQyMTg3NSAzMS4zOTA2MjUgDQpRIDMwLjQyMTg3NSAyMC40NTMxMjUgMjYuNzgxMjUgOS4zNzUgDQpRIDIzLjE0MDYyNSAtMS43MDMxMjUgMTUuODI4MTI1IC0xMy4xODc1IA0KTCA4LjAxNTYyNSAtMTMuMTg3NSANClEgMTQuNSAtMiAxNy43MDMxMjUgOS4wNjI1IA0KUSAyMC45MDYyNSAyMC4xMjUgMjAuOTA2MjUgMzEuMzkwNjI1IA0KUSAyMC45MDYyNSA0Mi42NzE4NzUgMTcuNzAzMTI1IDUzLjY1NjI1IA0KUSAxNC41IDY0LjY1NjI1IDguMDE1NjI1IDc1Ljg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMjkiLz4NCiAgICA8L2RlZnM+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzEyLjcxMjEyNSA0Ny43NDA4KXNjYWxlKDAuMTIgLTAuMTIpIj4NCiAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yOCIvPg0KICAgICA8dXNlIHg9IjM5LjAxMzY3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTIiLz4NCiAgICAgPHVzZSB4PSIxMDguNDk2MDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00ZiIvPg0KICAgICA8dXNlIHg9IjE4Ny4yMDcwMzEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQzIi8+DQogICAgIDx1c2UgeD0iMjU3LjAzMTI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjI4OC44MTgzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQxIi8+DQogICAgIDx1c2UgeD0iMzU3LjIyNjU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTUiLz4NCiAgICAgPHVzZSB4PSI0MzAuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MyIvPg0KICAgICA8dXNlIHg9IjUwMC4yNDQxNDEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iNTMyLjAzMTI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zZCIvPg0KICAgICA8dXNlIHg9IjYxNS44MjAzMTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iNjQ3LjYwNzQyMiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICAgPHVzZSB4PSI3MTEuMjMwNDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yZSIvPg0KICAgICA8dXNlIHg9Ijc0My4wMTc1NzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM5Ii8+DQogICAgIDx1c2UgeD0iODA2LjY0MDYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzgiLz4NCiAgICAgPHVzZSB4PSI4NzAuMjYzNjcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zOSIvPg0KICAgICA8dXNlIHg9IjkzMy44ODY3MTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMwIi8+DQogICAgIDx1c2UgeD0iOTk3LjUwOTc2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjkiLz4NCiAgICA8L2c+DQogICA8L2c+DQogIDwvZz4NCiA8L2c+DQogPGRlZnM+DQogIDxjbGlwUGF0aCBpZD0icDUyMTU3MmU4NWYiPg0KICAgPHJlY3QgaGVpZ2h0PSIzNDQuODM2OCIgd2lkdGg9IjU2Ni45MjgiIHg9IjkxLjQ0IiB5PSI1My43NDA4Ii8+DQogIDwvY2xpcFBhdGg+DQogPC9kZWZzPg0KPC9zdmc+DQo="}}},{"metadata":{},"cell_type":"markdown","source":"![PSA15-Fold1-Features.svg](attachment:PSA15-Fold1-Features.svg)","attachments":{"PSA15-Fold1-Features.svg":{"image/svg+xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iDQogICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPCEtLSBDcmVhdGVkIHdpdGggbWF0cGxvdGxpYiAoaHR0cDovL21hdHBsb3RsaWIub3JnLykgLS0+DQo8c3ZnIGhlaWdodD0iMzkyLjRwdCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgNjgyLjU2IDM5Mi40IiB3aWR0aD0iNjgyLjU2cHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KIDxkZWZzPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KKntzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjpyb3VuZDt9DQogIDwvc3R5bGU+DQogPC9kZWZzPg0KIDxnIGlkPSJmaWd1cmVfMSI+DQogIDxnIGlkPSJwYXRjaF8xIj4NCiAgIDxwYXRoIGQ9Ik0gMCAzOTIuNCANCkwgNjgyLjU2IDM5Mi40IA0KTCA2ODIuNTYgMCANCkwgMCAwIA0Keg0KIiBzdHlsZT0iZmlsbDojZmZmZmZmOyIvPg0KICA8L2c+DQogIDxnIGlkPSJheGVzXzEiPg0KICAgPGcgaWQ9InBhdGNoXzIiPg0KICAgIDxwYXRoIGQ9Ik0gODUuMzIgMzQ5LjIzNiANCkwgNjE0LjMwNCAzNDkuMjM2IA0KTCA2MTQuMzA0IDQ3LjA4OCANCkwgODUuMzIgNDcuMDg4IA0Keg0KIiBzdHlsZT0iZmlsbDojZmZmZmZmOyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzMiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMzI0LjUxNDggDQpMIDMxOC4wMTA5MDkgMzI0LjUxNDggDQpMIDMxOC4wMTA5MDkgMzE5LjAyMTIgDQpMIDg1LjMyIDMxOS4wMjEyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzQiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMjk3LjA0NjggDQpMIDMxOC4wMTA5MDkgMjk3LjA0NjggDQpMIDMxOC4wMTA5MDkgMjkxLjU1MzIgDQpMIDg1LjMyIDI5MS41NTMyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzUiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMjY5LjU3ODggDQpMIDM2NC41NDkwOTEgMjY5LjU3ODggDQpMIDM2NC41NDkwOTEgMjY0LjA4NTIgDQpMIDg1LjMyIDI2NC4wODUyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzYiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMjQyLjExMDggDQpMIDM4MC4wNjE4MTggMjQyLjExMDggDQpMIDM4MC4wNjE4MTggMjM2LjYxNzIgDQpMIDg1LjMyIDIzNi42MTcyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzciPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMjE0LjY0MjggDQpMIDM5NS41NzQ1NDUgMjE0LjY0MjggDQpMIDM5NS41NzQ1NDUgMjA5LjE0OTIgDQpMIDg1LjMyIDIwOS4xNDkyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzgiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMTg3LjE3NDggDQpMIDQxMS4wODcyNzMgMTg3LjE3NDggDQpMIDQxMS4wODcyNzMgMTgxLjY4MTIgDQpMIDg1LjMyIDE4MS42ODEyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzkiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMTU5LjcwNjggDQpMIDQyNi42IDE1OS43MDY4IA0KTCA0MjYuNiAxNTQuMjEzMiANCkwgODUuMzIgMTU0LjIxMzIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMTAiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMTMyLjIzODggDQpMIDQ1Ny42MjU0NTUgMTMyLjIzODggDQpMIDQ1Ny42MjU0NTUgMTI2Ljc0NTIgDQpMIDg1LjMyIDEyNi43NDUyIA0Keg0KIiBzdHlsZT0iZmlsbDojMWY3N2I0OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzExIj4NCiAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGIzNzI2OTE4ZWIpIiBkPSJNIDg1LjMyIDEwNC43NzA4IA0KTCA0ODguNjUwOTA5IDEwNC43NzA4IA0KTCA0ODguNjUwOTA5IDk5LjI3NzIgDQpMIDg1LjMyIDk5LjI3NzIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMTIiPg0KICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgNzcuMzAyOCANCkwgNTY2LjIxNDU0NSA3Ny4zMDI4IA0KTCA1NjYuMjE0NTQ1IDcxLjgwOTIgDQpMIDg1LjMyIDcxLjgwOTIgDQp6DQoiIHN0eWxlPSJmaWxsOiMxZjc3YjQ7Ii8+DQogICA8L2c+DQogICA8ZyBpZD0ibWF0cGxvdGxpYi5heGlzXzEiPg0KICAgIDxnIGlkPSJ4dGlja18xIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xIj4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMzQ5LjIzNiANCkwgODUuMzIgNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMiI+DQogICAgICA8ZGVmcz4NCiAgICAgICA8cGF0aCBkPSJNIDAgMCANCkwgMCAzLjUgDQoiIGlkPSJtOGY3ZGQ5YzIyNyIgc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgICA8L2RlZnM+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iODUuMzIiIHhsaW5rOmhyZWY9IiNtOGY3ZGQ5YzIyNyIgeT0iMzQ5LjIzNiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEiPg0KICAgICAgPCEtLSAwIC0tPg0KICAgICAgPGRlZnM+DQogICAgICAgPHBhdGggZD0iTSAzMS43ODEyNSA2Ni40MDYyNSANClEgMjQuMTcxODc1IDY2LjQwNjI1IDIwLjMyODEyNSA1OC45MDYyNSANClEgMTYuNSA1MS40MjE4NzUgMTYuNSAzNi4zNzUgDQpRIDE2LjUgMjEuMzkwNjI1IDIwLjMyODEyNSAxMy44OTA2MjUgDQpRIDI0LjE3MTg3NSA2LjM5MDYyNSAzMS43ODEyNSA2LjM5MDYyNSANClEgMzkuNDUzMTI1IDYuMzkwNjI1IDQzLjI4MTI1IDEzLjg5MDYyNSANClEgNDcuMTI1IDIxLjM5MDYyNSA0Ny4xMjUgMzYuMzc1IA0KUSA0Ny4xMjUgNTEuNDIxODc1IDQzLjI4MTI1IDU4LjkwNjI1IA0KUSAzOS40NTMxMjUgNjYuNDA2MjUgMzEuNzgxMjUgNjYuNDA2MjUgDQp6DQpNIDMxLjc4MTI1IDc0LjIxODc1IA0KUSA0NC4wNDY4NzUgNzQuMjE4NzUgNTAuNTE1NjI1IDY0LjUxNTYyNSANClEgNTYuOTg0Mzc1IDU0LjgyODEyNSA1Ni45ODQzNzUgMzYuMzc1IA0KUSA1Ni45ODQzNzUgMTcuOTY4NzUgNTAuNTE1NjI1IDguMjY1NjI1IA0KUSA0NC4wNDY4NzUgLTEuNDIxODc1IDMxLjc4MTI1IC0xLjQyMTg3NSANClEgMTkuNTMxMjUgLTEuNDIxODc1IDEzLjA2MjUgOC4yNjU2MjUgDQpRIDYuNTkzNzUgMTcuOTY4NzUgNi41OTM3NSAzNi4zNzUgDQpRIDYuNTkzNzUgNTQuODI4MTI1IDEzLjA2MjUgNjQuNTE1NjI1IA0KUSAxOS41MzEyNSA3NC4yMTg3NSAzMS43ODEyNSA3NC4yMTg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzAiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgyLjEzODc1IDM2My44MzQ0Mzgpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMwIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzIiPg0KICAgICA8ZyBpZD0ibGluZTJkXzMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSAxNjIuODgzNjM2IDM0OS4yMzYgDQpMIDE2Mi44ODM2MzYgNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfNCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iMTYyLjg4MzYzNiIgeGxpbms6aHJlZj0iI204ZjdkZDljMjI3IiB5PSIzNDkuMjM2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMiI+DQogICAgICA8IS0tIDUgLS0+DQogICAgICA8ZGVmcz4NCiAgICAgICA8cGF0aCBkPSJNIDEwLjc5Njg3NSA3Mi45MDYyNSANCkwgNDkuNTE1NjI1IDcyLjkwNjI1IA0KTCA0OS41MTU2MjUgNjQuNTkzNzUgDQpMIDE5LjgyODEyNSA2NC41OTM3NSANCkwgMTkuODI4MTI1IDQ2LjczNDM3NSANClEgMjEuOTY4NzUgNDcuNDY4NzUgMjQuMTA5Mzc1IDQ3LjgyODEyNSANClEgMjYuMjY1NjI1IDQ4LjE4NzUgMjguNDIxODc1IDQ4LjE4NzUgDQpRIDQwLjYyNSA0OC4xODc1IDQ3Ljc1IDQxLjUgDQpRIDU0Ljg5MDYyNSAzNC44MTI1IDU0Ljg5MDYyNSAyMy4zOTA2MjUgDQpRIDU0Ljg5MDYyNSAxMS42MjUgNDcuNTYyNSA1LjA5Mzc1IA0KUSA0MC4yMzQzNzUgLTEuNDIxODc1IDI2LjkwNjI1IC0xLjQyMTg3NSANClEgMjIuMzEyNSAtMS40MjE4NzUgMTcuNTQ2ODc1IC0wLjY0MDYyNSANClEgMTIuNzk2ODc1IDAuMTQwNjI1IDcuNzE4NzUgMS43MDMxMjUgDQpMIDcuNzE4NzUgMTEuNjI1IA0KUSAxMi4xMDkzNzUgOS4yMzQzNzUgMTYuNzk2ODc1IDguMDYyNSANClEgMjEuNDg0Mzc1IDYuODkwNjI1IDI2LjcwMzEyNSA2Ljg5MDYyNSANClEgMzUuMTU2MjUgNi44OTA2MjUgNDAuMDc4MTI1IDExLjMyODEyNSANClEgNDUuMDE1NjI1IDE1Ljc2NTYyNSA0NS4wMTU2MjUgMjMuMzkwNjI1IA0KUSA0NS4wMTU2MjUgMzEgNDAuMDc4MTI1IDM1LjQzNzUgDQpRIDM1LjE1NjI1IDM5Ljg5MDYyNSAyNi43MDMxMjUgMzkuODkwNjI1IA0KUSAyMi43NSAzOS44OTA2MjUgMTguODEyNSAzOS4wMTU2MjUgDQpRIDE0Ljg5MDYyNSAzOC4xNDA2MjUgMTAuNzk2ODc1IDM2LjI4MTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zNSIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU5LjcwMjM4NiAzNjMuODM0NDM4KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ4dGlja18zIj4NCiAgICAgPGcgaWQ9ImxpbmUyZF81Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gMjQwLjQ0NzI3MyAzNDkuMjM2IA0KTCAyNDAuNDQ3MjczIDQ3LjA4OCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzYiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjI0MC40NDcyNzMiIHhsaW5rOmhyZWY9IiNtOGY3ZGQ5YzIyNyIgeT0iMzQ5LjIzNiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzMiPg0KICAgICAgPCEtLSAxMCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTIuNDA2MjUgOC4yOTY4NzUgDQpMIDI4LjUxNTYyNSA4LjI5Njg3NSANCkwgMjguNTE1NjI1IDYzLjkyMTg3NSANCkwgMTAuOTg0Mzc1IDYwLjQwNjI1IA0KTCAxMC45ODQzNzUgNjkuMzkwNjI1IA0KTCAyOC40MjE4NzUgNzIuOTA2MjUgDQpMIDM4LjI4MTI1IDcyLjkwNjI1IA0KTCAzOC4yODEyNSA4LjI5Njg3NSANCkwgNTQuMzkwNjI1IDguMjk2ODc1IA0KTCA1NC4zOTA2MjUgMCANCkwgMTIuNDA2MjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzEiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIzNC4wODQ3NzMgMzYzLjgzNDQzOClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfNCI+DQogICAgIDxnIGlkPSJsaW5lMmRfNyI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGIzNzI2OTE4ZWIpIiBkPSJNIDMxOC4wMTA5MDkgMzQ5LjIzNiANCkwgMzE4LjAxMDkwOSA0Ny4wODggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF84Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSIzMTguMDEwOTA5IiB4bGluazpocmVmPSIjbThmN2RkOWMyMjciIHk9IjM0OS4yMzYiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF80Ij4NCiAgICAgIDwhLS0gMTUgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTEuNjQ4NDA5IDM2My44MzQ0Mzgpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM1Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inh0aWNrXzUiPg0KICAgICA8ZyBpZD0ibGluZTJkXzkiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSAzOTUuNTc0NTQ1IDM0OS4yMzYgDQpMIDM5NS41NzQ1NDUgNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMTAiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjM5NS41NzQ1NDUiIHhsaW5rOmhyZWY9IiNtOGY3ZGQ5YzIyNyIgeT0iMzQ5LjIzNiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzUiPg0KICAgICAgPCEtLSAyMCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTkuMTg3NSA4LjI5Njg3NSANCkwgNTMuNjA5Mzc1IDguMjk2ODc1IA0KTCA1My42MDkzNzUgMCANCkwgNy4zMjgxMjUgMCANCkwgNy4zMjgxMjUgOC4yOTY4NzUgDQpRIDEyLjkzNzUgMTQuMTA5Mzc1IDIyLjYyNSAyMy44OTA2MjUgDQpRIDMyLjMyODEyNSAzMy42ODc1IDM0LjgxMjUgMzYuNTMxMjUgDQpRIDM5LjU0Njg3NSA0MS44NDM3NSA0MS40MjE4NzUgNDUuNTMxMjUgDQpRIDQzLjMxMjUgNDkuMjE4NzUgNDMuMzEyNSA1Mi43ODEyNSANClEgNDMuMzEyNSA1OC41OTM3NSAzOS4yMzQzNzUgNjIuMjUgDQpRIDM1LjE1NjI1IDY1LjkyMTg3NSAyOC42MDkzNzUgNjUuOTIxODc1IA0KUSAyMy45Njg3NSA2NS45MjE4NzUgMTguODEyNSA2NC4zMTI1IA0KUSAxMy42NzE4NzUgNjIuNzAzMTI1IDcuODEyNSA1OS40MjE4NzUgDQpMIDcuODEyNSA2OS4zOTA2MjUgDQpRIDEzLjc2NTYyNSA3MS43ODEyNSAxOC45Mzc1IDczIA0KUSAyNC4xMjUgNzQuMjE4NzUgMjguNDIxODc1IDc0LjIxODc1IA0KUSAzOS43NSA3NC4yMTg3NSA0Ni40ODQzNzUgNjguNTQ2ODc1IA0KUSA1My4yMTg3NSA2Mi44OTA2MjUgNTMuMjE4NzUgNTMuNDIxODc1IA0KUSA1My4yMTg3NSA0OC45MjE4NzUgNTEuNTMxMjUgNDQuODkwNjI1IA0KUSA0OS44NTkzNzUgNDAuODc1IDQ1LjQwNjI1IDM1LjQwNjI1IA0KUSA0NC4xODc1IDMzLjk4NDM3NSAzNy42NDA2MjUgMjcuMjE4NzUgDQpRIDMxLjEwOTM3NSAyMC40NTMxMjUgMTkuMTg3NSA4LjI5Njg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzIiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4OS4yMTIwNDUgMzYzLjgzNDQzOClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfNiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTEiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA0NzMuMTM4MTgyIDM0OS4yMzYgDQpMIDQ3My4xMzgxODIgNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMTIiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjQ3My4xMzgxODIiIHhsaW5rOmhyZWY9IiNtOGY3ZGQ5YzIyNyIgeT0iMzQ5LjIzNiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzYiPg0KICAgICAgPCEtLSAyNSAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ2Ni43NzU2ODIgMzYzLjgzNDQzOClzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzUiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieHRpY2tfNyI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA1NTAuNzAxODE4IDM0OS4yMzYgDQpMIDU1MC43MDE4MTggNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMTQiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9IjU1MC43MDE4MTgiIHhsaW5rOmhyZWY9IiNtOGY3ZGQ5YzIyNyIgeT0iMzQ5LjIzNiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzciPg0KICAgICAgPCEtLSAzMCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gNDAuNTc4MTI1IDM5LjMxMjUgDQpRIDQ3LjY1NjI1IDM3Ljc5Njg3NSA1MS42MjUgMzMgDQpRIDU1LjYwOTM3NSAyOC4yMTg3NSA1NS42MDkzNzUgMjEuMTg3NSANClEgNTUuNjA5Mzc1IDEwLjQwNjI1IDQ4LjE4NzUgNC40ODQzNzUgDQpRIDQwLjc2NTYyNSAtMS40MjE4NzUgMjcuMDkzNzUgLTEuNDIxODc1IA0KUSAyMi41MTU2MjUgLTEuNDIxODc1IDE3LjY1NjI1IC0wLjUxNTYyNSANClEgMTIuNzk2ODc1IDAuMzkwNjI1IDcuNjI1IDIuMjAzMTI1IA0KTCA3LjYyNSAxMS43MTg3NSANClEgMTEuNzE4NzUgOS4zMjgxMjUgMTYuNTkzNzUgOC4xMDkzNzUgDQpRIDIxLjQ4NDM3NSA2Ljg5MDYyNSAyNi44MTI1IDYuODkwNjI1IA0KUSAzNi4wNzgxMjUgNi44OTA2MjUgNDAuOTM3NSAxMC41NDY4NzUgDQpRIDQ1Ljc5Njg3NSAxNC4yMDMxMjUgNDUuNzk2ODc1IDIxLjE4NzUgDQpRIDQ1Ljc5Njg3NSAyNy42NDA2MjUgNDEuMjgxMjUgMzEuMjY1NjI1IA0KUSAzNi43NjU2MjUgMzQuOTA2MjUgMjguNzE4NzUgMzQuOTA2MjUgDQpMIDIwLjIxODc1IDM0LjkwNjI1IA0KTCAyMC4yMTg3NSA0My4wMTU2MjUgDQpMIDI5LjEwOTM3NSA0My4wMTU2MjUgDQpRIDM2LjM3NSA0My4wMTU2MjUgNDAuMjM0Mzc1IDQ1LjkyMTg3NSANClEgNDQuMDkzNzUgNDguODI4MTI1IDQ0LjA5Mzc1IDU0LjI5Njg3NSANClEgNDQuMDkzNzUgNTkuOTA2MjUgNDAuMTA5Mzc1IDYyLjkwNjI1IA0KUSAzNi4xNDA2MjUgNjUuOTIxODc1IDI4LjcxODc1IDY1LjkyMTg3NSANClEgMjQuNjU2MjUgNjUuOTIxODc1IDIwLjAxNTYyNSA2NS4wMzEyNSANClEgMTUuMzc1IDY0LjE1NjI1IDkuODEyNSA2Mi4zMTI1IA0KTCA5LjgxMjUgNzEuMDkzNzUgDQpRIDE1LjQzNzUgNzIuNjU2MjUgMjAuMzQzNzUgNzMuNDM3NSANClEgMjUuMjUgNzQuMjE4NzUgMjkuNTkzNzUgNzQuMjE4NzUgDQpRIDQwLjgyODEyNSA3NC4yMTg3NSA0Ny4zNTkzNzUgNjkuMTA5Mzc1IA0KUSA1My45MDYyNSA2NC4wMTU2MjUgNTMuOTA2MjUgNTUuMzI4MTI1IA0KUSA1My45MDYyNSA0OS4yNjU2MjUgNTAuNDM3NSA0NS4wOTM3NSANClEgNDYuOTY4NzUgNDAuOTIxODc1IDQwLjU3ODEyNSAzOS4zMTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zMyIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTQ0LjMzOTMxOCAzNjMuODM0NDM4KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPg0KICAgICAgIDx1c2UgeD0iNjMuNjIzMDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ0ZXh0XzgiPg0KICAgICA8IS0tIEYgc2NvcmUgLS0+DQogICAgIDxkZWZzPg0KICAgICAgPHBhdGggZD0iTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDUxLjcwMzEyNSA3Mi45MDYyNSANCkwgNTEuNzAzMTI1IDY0LjU5Mzc1IA0KTCAxOS42NzE4NzUgNjQuNTkzNzUgDQpMIDE5LjY3MTg3NSA0My4xMDkzNzUgDQpMIDQ4LjU3ODEyNSA0My4xMDkzNzUgDQpMIDQ4LjU3ODEyNSAzNC44MTI1IA0KTCAxOS42NzE4NzUgMzQuODEyNSANCkwgMTkuNjcxODc1IDAgDQpMIDkuODEyNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMjAiLz4NCiAgICAgIDxwYXRoIGQ9Ik0gNDQuMjgxMjUgNTMuMDc4MTI1IA0KTCA0NC4yODEyNSA0NC41NzgxMjUgDQpRIDQwLjQ4NDM3NSA0Ni41MzEyNSAzNi4zNzUgNDcuNSANClEgMzIuMjgxMjUgNDguNDg0Mzc1IDI3Ljg3NSA0OC40ODQzNzUgDQpRIDIxLjE4NzUgNDguNDg0Mzc1IDE3Ljg0Mzc1IDQ2LjQzNzUgDQpRIDE0LjUgNDQuMzkwNjI1IDE0LjUgNDAuMjgxMjUgDQpRIDE0LjUgMzcuMTU2MjUgMTYuODkwNjI1IDM1LjM3NSANClEgMTkuMjgxMjUgMzMuNTkzNzUgMjYuNTE1NjI1IDMxLjk4NDM3NSANCkwgMjkuNTkzNzUgMzEuMjk2ODc1IA0KUSAzOS4xNTYyNSAyOS4yNSA0My4xODc1IDI1LjUxNTYyNSANClEgNDcuMjE4NzUgMjEuNzgxMjUgNDcuMjE4NzUgMTUuMDkzNzUgDQpRIDQ3LjIxODc1IDcuNDY4NzUgNDEuMTg3NSAzLjAxNTYyNSANClEgMzUuMTU2MjUgLTEuNDIxODc1IDI0LjYwOTM3NSAtMS40MjE4NzUgDQpRIDIwLjIxODc1IC0xLjQyMTg3NSAxNS40NTMxMjUgLTAuNTYyNSANClEgMTAuNjg3NSAwLjI5Njg3NSA1LjQyMTg3NSAyIA0KTCA1LjQyMTg3NSAxMS4yODEyNSANClEgMTAuNDA2MjUgOC42ODc1IDE1LjIzNDM3NSA3LjM5MDYyNSANClEgMjAuMDYyNSA2LjEwOTM3NSAyNC44MTI1IDYuMTA5Mzc1IA0KUSAzMS4xNTYyNSA2LjEwOTM3NSAzNC41NjI1IDguMjgxMjUgDQpRIDM3Ljk4NDM3NSAxMC40NTMxMjUgMzcuOTg0Mzc1IDE0LjQwNjI1IA0KUSAzNy45ODQzNzUgMTguMDYyNSAzNS41MTU2MjUgMjAuMDE1NjI1IA0KUSAzMy4wNjI1IDIxLjk2ODc1IDI0LjcwMzEyNSAyMy43ODEyNSANCkwgMjEuNTc4MTI1IDI0LjUxNTYyNSANClEgMTMuMjM0Mzc1IDI2LjI2NTYyNSA5LjUxNTYyNSAyOS45MDYyNSANClEgNS44MTI1IDMzLjU0Njg3NSA1LjgxMjUgMzkuODkwNjI1IA0KUSA1LjgxMjUgNDcuNjA5Mzc1IDExLjI4MTI1IDUxLjc5Njg3NSANClEgMTYuNzUgNTYgMjYuODEyNSA1NiANClEgMzEuNzgxMjUgNTYgMzYuMTcxODc1IDU1LjI2NTYyNSANClEgNDAuNTc4MTI1IDU0LjU0Njg3NSA0NC4yODEyNSA1My4wNzgxMjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTczIi8+DQogICAgICA8cGF0aCBkPSJNIDQ4Ljc4MTI1IDUyLjU5Mzc1IA0KTCA0OC43ODEyNSA0NC4xODc1IA0KUSA0NC45Njg3NSA0Ni4yOTY4NzUgNDEuMTQwNjI1IDQ3LjM0Mzc1IA0KUSAzNy4zMTI1IDQ4LjM5MDYyNSAzMy40MDYyNSA0OC4zOTA2MjUgDQpRIDI0LjY1NjI1IDQ4LjM5MDYyNSAxOS44MTI1IDQyLjg0Mzc1IA0KUSAxNC45ODQzNzUgMzcuMzEyNSAxNC45ODQzNzUgMjcuMjk2ODc1IA0KUSAxNC45ODQzNzUgMTcuMjgxMjUgMTkuODEyNSAxMS43MzQzNzUgDQpRIDI0LjY1NjI1IDYuMjAzMTI1IDMzLjQwNjI1IDYuMjAzMTI1IA0KUSAzNy4zMTI1IDYuMjAzMTI1IDQxLjE0MDYyNSA3LjI1IA0KUSA0NC45Njg3NSA4LjI5Njg3NSA0OC43ODEyNSAxMC40MDYyNSANCkwgNDguNzgxMjUgMi4wOTM3NSANClEgNDUuMDE1NjI1IDAuMzQzNzUgNDAuOTg0Mzc1IC0wLjUzMTI1IA0KUSAzNi45Njg3NSAtMS40MjE4NzUgMzIuNDIxODc1IC0xLjQyMTg3NSANClEgMjAuMDYyNSAtMS40MjE4NzUgMTIuNzgxMjUgNi4zNDM3NSANClEgNS41MTU2MjUgMTQuMTA5Mzc1IDUuNTE1NjI1IDI3LjI5Njg3NSANClEgNS41MTU2MjUgNDAuNjcxODc1IDEyLjg1OTM3NSA0OC4zMjgxMjUgDQpRIDIwLjIxODc1IDU2IDMzLjAxNTYyNSA1NiANClEgMzcuMTU2MjUgNTYgNDEuMTA5Mzc1IDU1LjE0MDYyNSANClEgNDUuMDYyNSA1NC4yOTY4NzUgNDguNzgxMjUgNTIuNTkzNzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTYzIi8+DQogICAgICA8cGF0aCBkPSJNIDMwLjYwOTM3NSA0OC4zOTA2MjUgDQpRIDIzLjM5MDYyNSA0OC4zOTA2MjUgMTkuMTg3NSA0Mi43NSANClEgMTQuOTg0Mzc1IDM3LjEwOTM3NSAxNC45ODQzNzUgMjcuMjk2ODc1IA0KUSAxNC45ODQzNzUgMTcuNDg0Mzc1IDE5LjE1NjI1IDExLjg0Mzc1IA0KUSAyMy4zNDM3NSA2LjIwMzEyNSAzMC42MDkzNzUgNi4yMDMxMjUgDQpRIDM3Ljc5Njg3NSA2LjIwMzEyNSA0MS45ODQzNzUgMTEuODU5Mzc1IA0KUSA0Ni4xODc1IDE3LjUzMTI1IDQ2LjE4NzUgMjcuMjk2ODc1IA0KUSA0Ni4xODc1IDM3LjAxNTYyNSA0MS45ODQzNzUgNDIuNzAzMTI1IA0KUSAzNy43OTY4NzUgNDguMzkwNjI1IDMwLjYwOTM3NSA0OC4zOTA2MjUgDQp6DQpNIDMwLjYwOTM3NSA1NiANClEgNDIuMzI4MTI1IDU2IDQ5LjAxNTYyNSA0OC4zNzUgDQpRIDU1LjcxODc1IDQwLjc2NTYyNSA1NS43MTg3NSAyNy4yOTY4NzUgDQpRIDU1LjcxODc1IDEzLjg3NSA0OS4wMTU2MjUgNi4yMTg3NSANClEgNDIuMzI4MTI1IC0xLjQyMTg3NSAzMC42MDkzNzUgLTEuNDIxODc1IA0KUSAxOC44NDM3NSAtMS40MjE4NzUgMTIuMTcxODc1IDYuMjE4NzUgDQpRIDUuNTE1NjI1IDEzLjg3NSA1LjUxNTYyNSAyNy4yOTY4NzUgDQpRIDUuNTE1NjI1IDQwLjc2NTYyNSAxMi4xNzE4NzUgNDguMzc1IA0KUSAxOC44NDM3NSA1NiAzMC42MDkzNzUgNTYgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTZmIi8+DQogICAgICA8cGF0aCBkPSJNIDQxLjEwOTM3NSA0Ni4yOTY4NzUgDQpRIDM5LjU5Mzc1IDQ3LjE3MTg3NSAzNy44MTI1IDQ3LjU3ODEyNSANClEgMzYuMDMxMjUgNDggMzMuODkwNjI1IDQ4IA0KUSAyNi4yNjU2MjUgNDggMjIuMTg3NSA0My4wNDY4NzUgDQpRIDE4LjEwOTM3NSAzOC4wOTM3NSAxOC4xMDkzNzUgMjguODEyNSANCkwgMTguMTA5Mzc1IDAgDQpMIDkuMDc4MTI1IDAgDQpMIDkuMDc4MTI1IDU0LjY4NzUgDQpMIDE4LjEwOTM3NSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNDYuMTg3NSANClEgMjAuOTUzMTI1IDUxLjE3MTg3NSAyNS40ODQzNzUgNTMuNTc4MTI1IA0KUSAzMC4wMzEyNSA1NiAzNi41MzEyNSA1NiANClEgMzcuNDUzMTI1IDU2IDM4LjU3ODEyNSA1NS44NzUgDQpRIDM5LjcwMzEyNSA1NS43NjU2MjUgNDEuMDYyNSA1NS41MTU2MjUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTcyIi8+DQogICAgICA8cGF0aCBkPSJNIDU2LjIwMzEyNSAyOS41OTM3NSANCkwgNTYuMjAzMTI1IDI1LjIwMzEyNSANCkwgMTQuODkwNjI1IDI1LjIwMzEyNSANClEgMTUuNDg0Mzc1IDE1LjkyMTg3NSAyMC40ODQzNzUgMTEuMDYyNSANClEgMjUuNDg0Mzc1IDYuMjAzMTI1IDM0LjQyMTg3NSA2LjIwMzEyNSANClEgMzkuNTkzNzUgNi4yMDMxMjUgNDQuNDUzMTI1IDcuNDY4NzUgDQpRIDQ5LjMxMjUgOC43MzQzNzUgNTQuMTA5Mzc1IDExLjI4MTI1IA0KTCA1NC4xMDkzNzUgMi43ODEyNSANClEgNDkuMjY1NjI1IDAuNzM0Mzc1IDQ0LjE4NzUgLTAuMzQzNzUgDQpRIDM5LjEwOTM3NSAtMS40MjE4NzUgMzMuODkwNjI1IC0xLjQyMTg3NSANClEgMjAuNzk2ODc1IC0xLjQyMTg3NSAxMy4xNTYyNSA2LjE4NzUgDQpRIDUuNTE1NjI1IDEzLjgxMjUgNS41MTU2MjUgMjYuODEyNSANClEgNS41MTU2MjUgNDAuMjM0Mzc1IDEyLjc2NTYyNSA0OC4xMDkzNzUgDQpRIDIwLjAxNTYyNSA1NiAzMi4zMjgxMjUgNTYgDQpRIDQzLjM1OTM3NSA1NiA0OS43ODEyNSA0OC44OTA2MjUgDQpRIDU2LjIwMzEyNSA0MS43OTY4NzUgNTYuMjAzMTI1IDI5LjU5Mzc1IA0Keg0KTSA0Ny4yMTg3NSAzMi4yMzQzNzUgDQpRIDQ3LjEyNSAzOS41OTM3NSA0My4wOTM3NSA0My45ODQzNzUgDQpRIDM5LjA2MjUgNDguMzkwNjI1IDMyLjQyMTg3NSA0OC4zOTA2MjUgDQpRIDI0LjkwNjI1IDQ4LjM5MDYyNSAyMC4zOTA2MjUgNDQuMTQwNjI1IA0KUSAxNS44NzUgMzkuODkwNjI1IDE1LjE4NzUgMzIuMTcxODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8L2RlZnM+DQogICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMzMS44MDM0MDYgMzc3LjUxMjU2MylzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICAgPHVzZSB4PSI1Ny41MTk1MzEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgICA8dXNlIHg9Ijg5LjMwNjY0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzMiLz4NCiAgICAgIDx1c2UgeD0iMTQxLjQwNjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MyIvPg0KICAgICAgPHVzZSB4PSIxOTYuMzg2NzE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgPHVzZSB4PSIyNTcuNTY4MzU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MiIvPg0KICAgICAgPHVzZSB4PSIyOTguNjUwMzkxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9Im1hdHBsb3RsaWIuYXhpc18yIj4NCiAgICA8ZyBpZD0ieXRpY2tfMSI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTUiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA4NS4zMiAzMjEuNzY4IA0KTCA2MTQuMzA0IDMyMS43NjggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8xNiI+DQogICAgICA8ZGVmcz4NCiAgICAgICA8cGF0aCBkPSJNIDAgMCANCkwgLTMuNSAwIA0KIiBpZD0ibTY2MTYwMGFlOTciIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9Ijg1LjMyIiB4bGluazpocmVmPSIjbTY2MTYwMGFlOTciIHk9IjMyMS43NjgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF85Ij4NCiAgICAgIDwhLS0gQmluNCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTkuNjcxODc1IDM0LjgxMjUgDQpMIDE5LjY3MTg3NSA4LjEwOTM3NSANCkwgMzUuNSA4LjEwOTM3NSANClEgNDMuNDUzMTI1IDguMTA5Mzc1IDQ3LjI4MTI1IDExLjQwNjI1IA0KUSA1MS4xMjUgMTQuNzAzMTI1IDUxLjEyNSAyMS40ODQzNzUgDQpRIDUxLjEyNSAyOC4zMjgxMjUgNDcuMjgxMjUgMzEuNTYyNSANClEgNDMuNDUzMTI1IDM0LjgxMjUgMzUuNSAzNC44MTI1IA0Keg0KTSAxOS42NzE4NzUgNjQuNzk2ODc1IA0KTCAxOS42NzE4NzUgNDIuODI4MTI1IA0KTCAzNC4yODEyNSA0Mi44MjgxMjUgDQpRIDQxLjUgNDIuODI4MTI1IDQ1LjAzMTI1IDQ1LjUzMTI1IA0KUSA0OC41NzgxMjUgNDguMjUgNDguNTc4MTI1IDUzLjgxMjUgDQpRIDQ4LjU3ODEyNSA1OS4zMjgxMjUgNDUuMDMxMjUgNjIuMDYyNSANClEgNDEuNSA2NC43OTY4NzUgMzQuMjgxMjUgNjQuNzk2ODc1IA0Keg0KTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDM1LjAxNTYyNSA3Mi45MDYyNSANClEgNDYuMjk2ODc1IDcyLjkwNjI1IDUyLjM5MDYyNSA2OC4yMTg3NSANClEgNTguNSA2My41MzEyNSA1OC41IDU0Ljg5MDYyNSANClEgNTguNSA0OC4xODc1IDU1LjM3NSA0NC4yMzQzNzUgDQpRIDUyLjI1IDQwLjI4MTI1IDQ2LjE4NzUgMzkuMzEyNSANClEgNTMuNDY4NzUgMzcuNzUgNTcuNSAzMi43ODEyNSANClEgNjEuNTMxMjUgMjcuODI4MTI1IDYxLjUzMTI1IDIwLjQwNjI1IA0KUSA2MS41MzEyNSAxMC42NDA2MjUgNTQuODkwNjI1IDUuMzEyNSANClEgNDguMjUgMCAzNS45ODQzNzUgMCANCkwgOS44MTI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHBhdGggZD0iTSA5LjQyMTg3NSA1NC42ODc1IA0KTCAxOC40MDYyNSA1NC42ODc1IA0KTCAxOC40MDYyNSAwIA0KTCA5LjQyMTg3NSAwIA0Keg0KTSA5LjQyMTg3NSA3NS45ODQzNzUgDQpMIDE4LjQwNjI1IDc1Ljk4NDM3NSANCkwgMTguNDA2MjUgNjQuNTkzNzUgDQpMIDkuNDIxODc1IDY0LjU5Mzc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDxwYXRoIGQ9Ik0gNTQuODkwNjI1IDMzLjAxNTYyNSANCkwgNTQuODkwNjI1IDAgDQpMIDQ1LjkwNjI1IDAgDQpMIDQ1LjkwNjI1IDMyLjcxODc1IA0KUSA0NS45MDYyNSA0MC40ODQzNzUgNDIuODc1IDQ0LjMyODEyNSANClEgMzkuODQzNzUgNDguMTg3NSAzMy43OTY4NzUgNDguMTg3NSANClEgMjYuNTE1NjI1IDQ4LjE4NzUgMjIuMzEyNSA0My41NDY4NzUgDQpRIDE4LjEwOTM3NSAzOC45MjE4NzUgMTguMTA5Mzc1IDMwLjkwNjI1IA0KTCAxOC4xMDkzNzUgMCANCkwgOS4wNzgxMjUgMCANCkwgOS4wNzgxMjUgNTQuNjg3NSANCkwgMTguMTA5Mzc1IDU0LjY4NzUgDQpMIDE4LjEwOTM3NSA0Ni4xODc1IA0KUSAyMS4zNDM3NSA1MS4xMjUgMjUuNzAzMTI1IDUzLjU2MjUgDQpRIDMwLjA3ODEyNSA1NiAzNS43OTY4NzUgNTYgDQpRIDQ1LjIxODc1IDU2IDUwLjA0Njg3NSA1MC4xNzE4NzUgDQpRIDU0Ljg5MDYyNSA0NC4zNDM3NSA1NC44OTA2MjUgMzMuMDE1NjI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDxwYXRoIGQ9Ik0gMzcuNzk2ODc1IDY0LjMxMjUgDQpMIDEyLjg5MDYyNSAyNS4zOTA2MjUgDQpMIDM3Ljc5Njg3NSAyNS4zOTA2MjUgDQp6DQpNIDM1LjIwMzEyNSA3Mi45MDYyNSANCkwgNDcuNjA5Mzc1IDcyLjkwNjI1IA0KTCA0Ny42MDkzNzUgMjUuMzkwNjI1IA0KTCA1OC4wMTU2MjUgMjUuMzkwNjI1IA0KTCA1OC4wMTU2MjUgMTcuMTg3NSANCkwgNDcuNjA5Mzc1IDE3LjE4NzUgDQpMIDQ3LjYwOTM3NSAwIA0KTCAzNy43OTY4NzUgMCANCkwgMzcuNzk2ODc1IDE3LjE4NzUgDQpMIDQuODkwNjI1IDE3LjE4NzUgDQpMIDQuODkwNjI1IDI2LjcwMzEyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzQiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU1Ljk4MDkzOCAzMjUuNTY3MjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICAgIDx1c2UgeD0iNjguNjAzNTE2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iOTYuMzg2NzE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMTU5Ljc2NTYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzQiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfMiI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTciPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA4NS4zMiAyOTQuMyANCkwgNjE0LjMwNCAyOTQuMyANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzE4Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI4NS4zMiIgeGxpbms6aHJlZj0iI202NjE2MDBhZTk3IiB5PSIyOTQuMyIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEwIj4NCiAgICAgIDwhLS0gUm90QmluNiAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gNDQuMzkwNjI1IDM0LjE4NzUgDQpRIDQ3LjU2MjUgMzMuMTA5Mzc1IDUwLjU2MjUgMjkuNTkzNzUgDQpRIDUzLjU2MjUgMjYuMDc4MTI1IDU2LjU5Mzc1IDE5LjkyMTg3NSANCkwgNjYuNjA5Mzc1IDAgDQpMIDU2IDAgDQpMIDQ2LjY4NzUgMTguNzAzMTI1IA0KUSA0My4wNjI1IDI2LjAzMTI1IDM5LjY3MTg3NSAyOC40MjE4NzUgDQpRIDM2LjI4MTI1IDMwLjgxMjUgMzAuNDIxODc1IDMwLjgxMjUgDQpMIDE5LjY3MTg3NSAzMC44MTI1IA0KTCAxOS42NzE4NzUgMCANCkwgOS44MTI1IDAgDQpMIDkuODEyNSA3Mi45MDYyNSANCkwgMzIuMDc4MTI1IDcyLjkwNjI1IA0KUSA0NC41NzgxMjUgNzIuOTA2MjUgNTAuNzM0Mzc1IDY3LjY3MTg3NSANClEgNTYuODkwNjI1IDYyLjQ1MzEyNSA1Ni44OTA2MjUgNTEuOTA2MjUgDQpRIDU2Ljg5MDYyNSA0NS4wMTU2MjUgNTMuNjg3NSA0MC40Njg3NSANClEgNTAuNDg0Mzc1IDM1LjkzNzUgNDQuMzkwNjI1IDM0LjE4NzUgDQp6DQpNIDE5LjY3MTg3NSA2NC43OTY4NzUgDQpMIDE5LjY3MTg3NSAzOC45MjE4NzUgDQpMIDMyLjA3ODEyNSAzOC45MjE4NzUgDQpRIDM5LjIwMzEyNSAzOC45MjE4NzUgNDIuODQzNzUgNDIuMjE4NzUgDQpRIDQ2LjQ4NDM3NSA0NS41MTU2MjUgNDYuNDg0Mzc1IDUxLjkwNjI1IA0KUSA0Ni40ODQzNzUgNTguMjk2ODc1IDQyLjg0Mzc1IDYxLjU0Njg3NSANClEgMzkuMjAzMTI1IDY0Ljc5Njg3NSAzMi4wNzgxMjUgNjQuNzk2ODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDxwYXRoIGQ9Ik0gMTguMzEyNSA3MC4yMTg3NSANCkwgMTguMzEyNSA1NC42ODc1IA0KTCAzNi44MTI1IDU0LjY4NzUgDQpMIDM2LjgxMjUgNDcuNzAzMTI1IA0KTCAxOC4zMTI1IDQ3LjcwMzEyNSANCkwgMTguMzEyNSAxOC4wMTU2MjUgDQpRIDE4LjMxMjUgMTEuMzI4MTI1IDIwLjE0MDYyNSA5LjQyMTg3NSANClEgMjEuOTY4NzUgNy41MTU2MjUgMjcuNTkzNzUgNy41MTU2MjUgDQpMIDM2LjgxMjUgNy41MTU2MjUgDQpMIDM2LjgxMjUgMCANCkwgMjcuNTkzNzUgMCANClEgMTcuMTg3NSAwIDEzLjIzNDM3NSAzLjg3NSANClEgOS4yODEyNSA3Ljc2NTYyNSA5LjI4MTI1IDE4LjAxNTYyNSANCkwgOS4yODEyNSA0Ny43MDMxMjUgDQpMIDIuNjg3NSA0Ny43MDMxMjUgDQpMIDIuNjg3NSA1NC42ODc1IA0KTCA5LjI4MTI1IDU0LjY4NzUgDQpMIDkuMjgxMjUgNzAuMjE4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTc0Ii8+DQogICAgICAgPHBhdGggZD0iTSAzMy4wMTU2MjUgNDAuMzc1IA0KUSAyNi4zNzUgNDAuMzc1IDIyLjQ4NDM3NSAzNS44MjgxMjUgDQpRIDE4LjYwOTM3NSAzMS4yOTY4NzUgMTguNjA5Mzc1IDIzLjM5MDYyNSANClEgMTguNjA5Mzc1IDE1LjUzMTI1IDIyLjQ4NDM3NSAxMC45NTMxMjUgDQpRIDI2LjM3NSA2LjM5MDYyNSAzMy4wMTU2MjUgNi4zOTA2MjUgDQpRIDM5LjY1NjI1IDYuMzkwNjI1IDQzLjUzMTI1IDEwLjk1MzEyNSANClEgNDcuNDA2MjUgMTUuNTMxMjUgNDcuNDA2MjUgMjMuMzkwNjI1IA0KUSA0Ny40MDYyNSAzMS4yOTY4NzUgNDMuNTMxMjUgMzUuODI4MTI1IA0KUSAzOS42NTYyNSA0MC4zNzUgMzMuMDE1NjI1IDQwLjM3NSANCnoNCk0gNTIuNTkzNzUgNzEuMjk2ODc1IA0KTCA1Mi41OTM3NSA2Mi4zMTI1IA0KUSA0OC44NzUgNjQuMDYyNSA0NS4wOTM3NSA2NC45ODQzNzUgDQpRIDQxLjMxMjUgNjUuOTIxODc1IDM3LjU5Mzc1IDY1LjkyMTg3NSANClEgMjcuODI4MTI1IDY1LjkyMTg3NSAyMi42NzE4NzUgNTkuMzI4MTI1IA0KUSAxNy41MzEyNSA1Mi43MzQzNzUgMTYuNzk2ODc1IDM5LjQwNjI1IA0KUSAxOS42NzE4NzUgNDMuNjU2MjUgMjQuMDE1NjI1IDQ1LjkyMTg3NSANClEgMjguMzc1IDQ4LjE4NzUgMzMuNTkzNzUgNDguMTg3NSANClEgNDQuNTc4MTI1IDQ4LjE4NzUgNTAuOTUzMTI1IDQxLjUxNTYyNSANClEgNTcuMzI4MTI1IDM0Ljg1OTM3NSA1Ny4zMjgxMjUgMjMuMzkwNjI1IA0KUSA1Ny4zMjgxMjUgMTIuMTU2MjUgNTAuNjg3NSA1LjM1OTM3NSANClEgNDQuMDQ2ODc1IC0xLjQyMTg3NSAzMy4wMTU2MjUgLTEuNDIxODc1IA0KUSAyMC4zNTkzNzUgLTEuNDIxODc1IDEzLjY3MTg3NSA4LjI2NTYyNSANClEgNi45ODQzNzUgMTcuOTY4NzUgNi45ODQzNzUgMzYuMzc1IA0KUSA2Ljk4NDM3NSA1My42NTYyNSAxNS4xODc1IDYzLjkzNzUgDQpRIDIzLjM5MDYyNSA3NC4yMTg3NSAzNy4yMDMxMjUgNzQuMjE4NzUgDQpRIDQwLjkyMTg3NSA3NC4yMTg3NSA0NC43MDMxMjUgNzMuNDg0Mzc1IA0KUSA0OC40ODQzNzUgNzIuNzUgNTIuNTkzNzUgNzEuMjk2ODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zNiIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzguOTk5Njg4IDI5OC4wOTkyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICAgPHVzZSB4PSI2OS40MTk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgICAgPHVzZSB4PSIxMzAuNjAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgIDx1c2UgeD0iMTY5LjgxMDU0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjIzOC40MTQwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSIyNjYuMTk3MjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMzI5LjU3NjE3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzYiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfMyI+DQogICAgIDxnIGlkPSJsaW5lMmRfMTkiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA4NS4zMiAyNjYuODMyIA0KTCA2MTQuMzA0IDI2Ni44MzIgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yMCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iODUuMzIiIHhsaW5rOmhyZWY9IiNtNjYxNjAwYWU5NyIgeT0iMjY2LjgzMiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzExIj4NCiAgICAgIDwhLS0gUm90QmluNyAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gOC4yMDMxMjUgNzIuOTA2MjUgDQpMIDU1LjA3ODEyNSA3Mi45MDYyNSANCkwgNTUuMDc4MTI1IDY4LjcwMzEyNSANCkwgMjguNjA5Mzc1IDAgDQpMIDE4LjMxMjUgMCANCkwgNDMuMjE4NzUgNjQuNTkzNzUgDQpMIDguMjAzMTI1IDY0LjU5Mzc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zNyIvPg0KICAgICAgPC9kZWZzPg0KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzguOTk5Njg4IDI3MC42MzEyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICAgPHVzZSB4PSI2OS40MTk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgICAgPHVzZSB4PSIxMzAuNjAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgIDx1c2UgeD0iMTY5LjgxMDU0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjIzOC40MTQwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSIyNjYuMTk3MjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMzI5LjU3NjE3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzciLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfNCI+DQogICAgIDxnIGlkPSJsaW5lMmRfMjEiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA4NS4zMiAyMzkuMzY0IA0KTCA2MTQuMzA0IDIzOS4zNjQgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yMiI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iODUuMzIiIHhsaW5rOmhyZWY9IiNtNjYxNjAwYWU5NyIgeT0iMjM5LjM2NCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEyIj4NCiAgICAgIDwhLS0gUm90QmluMTIgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMi42MzcxODggMjQzLjE2MzIxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTIiLz4NCiAgICAgICA8dXNlIHg9IjY5LjQxOTkyMiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmYiLz4NCiAgICAgICA8dXNlIHg9IjEzMC42MDE1NjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgICAgPHVzZSB4PSIxNjkuODEwNTQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICAgIDx1c2UgeD0iMjM4LjQxNDA2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgICA8dXNlIHg9IjI2Ni4xOTcyNjYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgICAgPHVzZSB4PSIzMjkuNTc2MTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICAgIDx1c2UgeD0iMzkzLjE5OTIxOSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0ieXRpY2tfNSI+DQogICAgIDxnIGlkPSJsaW5lMmRfMjMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA4NS4zMiAyMTEuODk2IA0KTCA2MTQuMzA0IDIxMS44OTYgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNiMGIwYjA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS13aWR0aDowLjg7Ii8+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9ImxpbmUyZF8yNCI+DQogICAgICA8Zz4NCiAgICAgICA8dXNlIHN0eWxlPSJzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MC44OyIgeD0iODUuMzIiIHhsaW5rOmhyZWY9IiNtNjYxNjAwYWU5NyIgeT0iMjExLjg5NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzEzIj4NCiAgICAgIDwhLS0gUm90QmluOCAtLT4NCiAgICAgIDxkZWZzPg0KICAgICAgIDxwYXRoIGQ9Ik0gMzEuNzgxMjUgMzQuNjI1IA0KUSAyNC43NSAzNC42MjUgMjAuNzE4NzUgMzAuODU5Mzc1IA0KUSAxNi43MDMxMjUgMjcuMDkzNzUgMTYuNzAzMTI1IDIwLjUxNTYyNSANClEgMTYuNzAzMTI1IDEzLjkyMTg3NSAyMC43MTg3NSAxMC4xNTYyNSANClEgMjQuNzUgNi4zOTA2MjUgMzEuNzgxMjUgNi4zOTA2MjUgDQpRIDM4LjgxMjUgNi4zOTA2MjUgNDIuODU5Mzc1IDEwLjE3MTg3NSANClEgNDYuOTIxODc1IDEzLjk2ODc1IDQ2LjkyMTg3NSAyMC41MTU2MjUgDQpRIDQ2LjkyMTg3NSAyNy4wOTM3NSA0Mi44OTA2MjUgMzAuODU5Mzc1IA0KUSAzOC44NzUgMzQuNjI1IDMxLjc4MTI1IDM0LjYyNSANCnoNCk0gMjEuOTIxODc1IDM4LjgxMjUgDQpRIDE1LjU3ODEyNSA0MC4zNzUgMTIuMDMxMjUgNDQuNzE4NzUgDQpRIDguNSA0OS4wNzgxMjUgOC41IDU1LjMyODEyNSANClEgOC41IDY0LjA2MjUgMTQuNzE4NzUgNjkuMTQwNjI1IA0KUSAyMC45NTMxMjUgNzQuMjE4NzUgMzEuNzgxMjUgNzQuMjE4NzUgDQpRIDQyLjY3MTg3NSA3NC4yMTg3NSA0OC44NzUgNjkuMTQwNjI1IA0KUSA1NS4wNzgxMjUgNjQuMDYyNSA1NS4wNzgxMjUgNTUuMzI4MTI1IA0KUSA1NS4wNzgxMjUgNDkuMDc4MTI1IDUxLjUzMTI1IDQ0LjcxODc1IA0KUSA0OCA0MC4zNzUgNDEuNzAzMTI1IDM4LjgxMjUgDQpRIDQ4LjgyODEyNSAzNy4xNTYyNSA1Mi43OTY4NzUgMzIuMzEyNSANClEgNTYuNzgxMjUgMjcuNDg0Mzc1IDU2Ljc4MTI1IDIwLjUxNTYyNSANClEgNTYuNzgxMjUgOS45MDYyNSA1MC4zMTI1IDQuMjM0Mzc1IA0KUSA0My44NDM3NSAtMS40MjE4NzUgMzEuNzgxMjUgLTEuNDIxODc1IA0KUSAxOS43MzQzNzUgLTEuNDIxODc1IDEzLjI1IDQuMjM0Mzc1IA0KUSA2Ljc4MTI1IDkuOTA2MjUgNi43ODEyNSAyMC41MTU2MjUgDQpRIDYuNzgxMjUgMjcuNDg0Mzc1IDEwLjc4MTI1IDMyLjMxMjUgDQpRIDE0Ljc5Njg3NSAzNy4xNTYyNSAyMS45MjE4NzUgMzguODEyNSANCnoNCk0gMTguMzEyNSA1NC4zOTA2MjUgDQpRIDE4LjMxMjUgNDguNzM0Mzc1IDIxLjg0Mzc1IDQ1LjU2MjUgDQpRIDI1LjM5MDYyNSA0Mi4zOTA2MjUgMzEuNzgxMjUgNDIuMzkwNjI1IA0KUSAzOC4xNDA2MjUgNDIuMzkwNjI1IDQxLjcxODc1IDQ1LjU2MjUgDQpRIDQ1LjMxMjUgNDguNzM0Mzc1IDQ1LjMxMjUgNTQuMzkwNjI1IA0KUSA0NS4zMTI1IDYwLjA2MjUgNDEuNzE4NzUgNjMuMjM0Mzc1IA0KUSAzOC4xNDA2MjUgNjYuNDA2MjUgMzEuNzgxMjUgNjYuNDA2MjUgDQpRIDI1LjM5MDYyNSA2Ni40MDYyNSAyMS44NDM3NSA2My4yMzQzNzUgDQpRIDE4LjMxMjUgNjAuMDYyNSAxOC4zMTI1IDU0LjM5MDYyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtMzgiLz4NCiAgICAgIDwvZGVmcz4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4Ljk5OTY4OCAyMTUuNjk1MjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDx1c2UgeD0iNjkuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgIDx1c2UgeD0iMTMwLjYwMTU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzQiLz4NCiAgICAgICA8dXNlIHg9IjE2OS44MTA1NDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSIyMzguNDE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iMjY2LjE5NzI2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjMyOS41NzYxNzIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM4Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzYiPg0KICAgICA8ZyBpZD0ibGluZTJkXzI1Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMTg0LjQyOCANCkwgNjE0LjMwNCAxODQuNDI4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMjYiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9Ijg1LjMyIiB4bGluazpocmVmPSIjbTY2MTYwMGFlOTciIHk9IjE4NC40MjgiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xNCI+DQogICAgICA8IS0tIEJpbjYgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NS45ODA5MzggMTg4LjIyNzIxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjY4LjYwMzUxNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgICA8dXNlIHg9Ijk2LjM4NjcxOSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjE1OS43NjU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM2Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzciPg0KICAgICA8ZyBpZD0ibGluZTJkXzI3Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMTU2Ljk2IA0KTCA2MTQuMzA0IDE1Ni45NiANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzI4Ij4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI4NS4zMiIgeGxpbms6aHJlZj0iI202NjE2MDBhZTk3IiB5PSIxNTYuOTYiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xNSI+DQogICAgICA8IS0tIEJpbjIgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NS45ODA5MzggMTYwLjc1OTIxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjY4LjYwMzUxNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgICA8dXNlIHg9Ijk2LjM4NjcxOSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjE1OS43NjU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICAgPGcgaWQ9Inl0aWNrXzgiPg0KICAgICA8ZyBpZD0ibGluZTJkXzI5Ij4NCiAgICAgIDxwYXRoIGNsaXAtcGF0aD0idXJsKCNwYjM3MjY5MThlYikiIGQ9Ik0gODUuMzIgMTI5LjQ5MiANCkwgNjE0LjMwNCAxMjkuNDkyIA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMzAiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9Ijg1LjMyIiB4bGluazpocmVmPSIjbTY2MTYwMGFlOTciIHk9IjEyOS40OTIiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0idGV4dF8xNiI+DQogICAgICA8IS0tIFJvdEJpbjQgLS0+DQogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOC45OTk2ODggMTMzLjI5MTIxOSlzY2FsZSgwLjEgLTAuMSkiPg0KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTIiLz4NCiAgICAgICA8dXNlIHg9IjY5LjQxOTkyMiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmYiLz4NCiAgICAgICA8dXNlIHg9IjEzMC42MDE1NjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgICAgPHVzZSB4PSIxNjkuODEwNTQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICAgIDx1c2UgeD0iMjM4LjQxNDA2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgICA8dXNlIHg9IjI2Ni4xOTcyNjYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgICAgPHVzZSB4PSIzMjkuNTc2MTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNCIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja185Ij4NCiAgICAgPGcgaWQ9ImxpbmUyZF8zMSI+DQogICAgICA8cGF0aCBjbGlwLXBhdGg9InVybCgjcGIzNzI2OTE4ZWIpIiBkPSJNIDg1LjMyIDEwMi4wMjQgDQpMIDYxNC4zMDQgMTAyLjAyNCANCiIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6I2IwYjBiMDtzdHJva2UtbGluZWNhcDpzcXVhcmU7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgICAgPC9nPg0KICAgICA8ZyBpZD0ibGluZTJkXzMyIj4NCiAgICAgIDxnPg0KICAgICAgIDx1c2Ugc3R5bGU9InN0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDowLjg7IiB4PSI4NS4zMiIgeGxpbms6aHJlZj0iI202NjE2MDBhZTk3IiB5PSIxMDIuMDI0Ii8+DQogICAgICA8L2c+DQogICAgIDwvZz4NCiAgICAgPGcgaWQ9InRleHRfMTciPg0KICAgICAgPCEtLSBSb3RCaW4xNSAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMyLjYzNzE4OCAxMDUuODIzMjE5KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MiIvPg0KICAgICAgIDx1c2UgeD0iNjkuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICAgIDx1c2UgeD0iMTMwLjYwMTU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzQiLz4NCiAgICAgICA8dXNlIHg9IjE2OS44MTA1NDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQyIi8+DQogICAgICAgPHVzZSB4PSIyMzguNDE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICAgIDx1c2UgeD0iMjY2LjE5NzI2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgICA8dXNlIHg9IjMyOS41NzYxNzIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgICAgPHVzZSB4PSIzOTMuMTk5MjE5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgPC9nPg0KICAgIDxnIGlkPSJ5dGlja18xMCI+DQogICAgIDxnIGlkPSJsaW5lMmRfMzMiPg0KICAgICAgPHBhdGggY2xpcC1wYXRoPSJ1cmwoI3BiMzcyNjkxOGViKSIgZD0iTSA4NS4zMiA3NC41NTYgDQpMIDYxNC4zMDQgNzQuNTU2IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojYjBiMGIwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJsaW5lMmRfMzQiPg0KICAgICAgPGc+DQogICAgICAgPHVzZSBzdHlsZT0ic3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjAuODsiIHg9Ijg1LjMyIiB4bGluazpocmVmPSIjbTY2MTYwMGFlOTciIHk9Ijc0LjU1NiIvPg0KICAgICAgPC9nPg0KICAgICA8L2c+DQogICAgIDxnIGlkPSJ0ZXh0XzE4Ij4NCiAgICAgIDwhLS0gUm90QmluMSAtLT4NCiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4Ljk5OTY4OCA3OC4zNTUyMTkpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUyIi8+DQogICAgICAgPHVzZSB4PSI2OS40MTk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgICAgPHVzZSB4PSIxMzAuNjAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICAgIDx1c2UgeD0iMTY5LjgxMDU0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgICA8dXNlIHg9IjIzOC40MTQwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgICAgPHVzZSB4PSIyNjYuMTk3MjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICAgIDx1c2UgeD0iMzI5LjU3NjE3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgIDwvZz4NCiAgICAgPC9nPg0KICAgIDwvZz4NCiAgICA8ZyBpZD0idGV4dF8xOSI+DQogICAgIDwhLS0gRmVhdHVyZXMgLS0+DQogICAgIDxkZWZzPg0KICAgICAgPHBhdGggZD0iTSAzNC4yODEyNSAyNy40ODQzNzUgDQpRIDIzLjM5MDYyNSAyNy40ODQzNzUgMTkuMTg3NSAyNSANClEgMTQuOTg0Mzc1IDIyLjUxNTYyNSAxNC45ODQzNzUgMTYuNSANClEgMTQuOTg0Mzc1IDExLjcxODc1IDE4LjE0MDYyNSA4LjkwNjI1IA0KUSAyMS4yOTY4NzUgNi4xMDkzNzUgMjYuNzAzMTI1IDYuMTA5Mzc1IA0KUSAzNC4xODc1IDYuMTA5Mzc1IDM4LjcwMzEyNSAxMS40MDYyNSANClEgNDMuMjE4NzUgMTYuNzAzMTI1IDQzLjIxODc1IDI1LjQ4NDM3NSANCkwgNDMuMjE4NzUgMjcuNDg0Mzc1IA0Keg0KTSA1Mi4yMDMxMjUgMzEuMjAzMTI1IA0KTCA1Mi4yMDMxMjUgMCANCkwgNDMuMjE4NzUgMCANCkwgNDMuMjE4NzUgOC4yOTY4NzUgDQpRIDQwLjE0MDYyNSAzLjMyODEyNSAzNS41NDY4NzUgMC45NTMxMjUgDQpRIDMwLjk1MzEyNSAtMS40MjE4NzUgMjQuMzEyNSAtMS40MjE4NzUgDQpRIDE1LjkyMTg3NSAtMS40MjE4NzUgMTAuOTUzMTI1IDMuMjk2ODc1IA0KUSA2IDguMDE1NjI1IDYgMTUuOTIxODc1IA0KUSA2IDI1LjE0MDYyNSAxMi4xNzE4NzUgMjkuODI4MTI1IA0KUSAxOC4zNTkzNzUgMzQuNTE1NjI1IDMwLjYwOTM3NSAzNC41MTU2MjUgDQpMIDQzLjIxODc1IDM0LjUxNTYyNSANCkwgNDMuMjE4NzUgMzUuNDA2MjUgDQpRIDQzLjIxODc1IDQxLjYwOTM3NSAzOS4xNDA2MjUgNDUgDQpRIDM1LjA2MjUgNDguMzkwNjI1IDI3LjY4NzUgNDguMzkwNjI1IA0KUSAyMyA0OC4zOTA2MjUgMTguNTQ2ODc1IDQ3LjI2NTYyNSANClEgMTQuMTA5Mzc1IDQ2LjE0MDYyNSAxMC4wMTU2MjUgNDMuODkwNjI1IA0KTCAxMC4wMTU2MjUgNTIuMjAzMTI1IA0KUSAxNC45Mzc1IDU0LjEwOTM3NSAxOS41NzgxMjUgNTUuMDQ2ODc1IA0KUSAyNC4yMTg3NSA1NiAyOC42MDkzNzUgNTYgDQpRIDQwLjQ4NDM3NSA1NiA0Ni4zNDM3NSA0OS44NDM3NSANClEgNTIuMjAzMTI1IDQzLjcwMzEyNSA1Mi4yMDMxMjUgMzEuMjAzMTI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02MSIvPg0KICAgICAgPHBhdGggZD0iTSA4LjUgMjEuNTc4MTI1IA0KTCA4LjUgNTQuNjg3NSANCkwgMTcuNDg0Mzc1IDU0LjY4NzUgDQpMIDE3LjQ4NDM3NSAyMS45MjE4NzUgDQpRIDE3LjQ4NDM3NSAxNC4xNTYyNSAyMC41IDEwLjI2NTYyNSANClEgMjMuNTMxMjUgNi4zOTA2MjUgMjkuNTkzNzUgNi4zOTA2MjUgDQpRIDM2Ljg1OTM3NSA2LjM5MDYyNSA0MS4wNzgxMjUgMTEuMDMxMjUgDQpRIDQ1LjMxMjUgMTUuNjcxODc1IDQ1LjMxMjUgMjMuNjg3NSANCkwgNDUuMzEyNSA1NC42ODc1IA0KTCA1NC4yOTY4NzUgNTQuNjg3NSANCkwgNTQuMjk2ODc1IDAgDQpMIDQ1LjMxMjUgMCANCkwgNDUuMzEyNSA4LjQwNjI1IA0KUSA0Mi4wNDY4NzUgMy40MjE4NzUgMzcuNzE4NzUgMSANClEgMzMuNDA2MjUgLTEuNDIxODc1IDI3LjY4NzUgLTEuNDIxODc1IA0KUSAxOC4yNjU2MjUgLTEuNDIxODc1IDEzLjM3NSA0LjQzNzUgDQpRIDguNSAxMC4yOTY4NzUgOC41IDIxLjU3ODEyNSANCnoNCk0gMzEuMTA5Mzc1IDU2IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy03NSIvPg0KICAgICA8L2RlZnM+DQogICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI2LjU1NzUgMjIwLjAzODU2Mylyb3RhdGUoLTkwKXNjYWxlKDAuMSAtMC4xKSI+DQogICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ2Ii8+DQogICAgICA8dXNlIHg9IjU3LjQ0MTQwNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjUiLz4NCiAgICAgIDx1c2UgeD0iMTE4Ljk2NDg0NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjEiLz4NCiAgICAgIDx1c2UgeD0iMTgwLjI0NDE0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzQiLz4NCiAgICAgIDx1c2UgeD0iMjE5LjQ1MzEyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzUiLz4NCiAgICAgIDx1c2UgeD0iMjgyLjgzMjAzMSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzIiLz4NCiAgICAgIDx1c2UgeD0iMzIzLjkxNDA2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjUiLz4NCiAgICAgIDx1c2UgeD0iMzg1LjQzNzUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTczIi8+DQogICAgIDwvZz4NCiAgICA8L2c+DQogICA8L2c+DQogICA8ZyBpZD0icGF0Y2hfMTMiPg0KICAgIDxwYXRoIGQ9Ik0gODUuMzIgMzQ5LjIzNiANCkwgODUuMzIgNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF8xNCI+DQogICAgPHBhdGggZD0iTSA2MTQuMzA0IDM0OS4yMzYgDQpMIDYxNC4zMDQgNDcuMDg4IA0KIiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojMDAwMDAwO3N0cm9rZS1saW5lY2FwOnNxdWFyZTtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLXdpZHRoOjAuODsiLz4NCiAgIDwvZz4NCiAgIDxnIGlkPSJwYXRjaF8xNSI+DQogICAgPHBhdGggZD0iTSA4NS4zMiAzNDkuMjM2IA0KTCA2MTQuMzA0IDM0OS4yMzYgDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InBhdGNoXzE2Ij4NCiAgICA8cGF0aCBkPSJNIDg1LjMyIDQ3LjA4OCANCkwgNjE0LjMwNCA0Ny4wODggDQoiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLWxpbmVjYXA6c3F1YXJlO3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utd2lkdGg6MC44OyIvPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjAiPg0KICAgIDwhLS0gMTUgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzMzLjUyMzYzNiAzMjQuNTI3Mzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM1Ii8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjEiPg0KICAgIDwhLS0gMTUgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzMzLjUyMzYzNiAyOTcuMDU5Mzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM1Ii8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjIiPg0KICAgIDwhLS0gMTggLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzgwLjA2MTgxOCAyNjkuNTkxMzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM4Ii8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjMiPg0KICAgIDwhLS0gMTkgLS0+DQogICAgPGRlZnM+DQogICAgIDxwYXRoIGQ9Ik0gMTAuOTg0Mzc1IDEuNTE1NjI1IA0KTCAxMC45ODQzNzUgMTAuNSANClEgMTQuNzAzMTI1IDguNzM0Mzc1IDE4LjUgNy44MTI1IA0KUSAyMi4zMTI1IDYuODkwNjI1IDI1Ljk4NDM3NSA2Ljg5MDYyNSANClEgMzUuNzUgNi44OTA2MjUgNDAuODkwNjI1IDEzLjQ1MzEyNSANClEgNDYuMDQ2ODc1IDIwLjAxNTYyNSA0Ni43ODEyNSAzMy40MDYyNSANClEgNDMuOTUzMTI1IDI5LjIwMzEyNSAzOS41OTM3NSAyNi45NTMxMjUgDQpRIDM1LjI1IDI0LjcwMzEyNSAyOS45ODQzNzUgMjQuNzAzMTI1IA0KUSAxOS4wNDY4NzUgMjQuNzAzMTI1IDEyLjY3MTg3NSAzMS4zMTI1IA0KUSA2LjI5Njg3NSAzNy45Mzc1IDYuMjk2ODc1IDQ5LjQyMTg3NSANClEgNi4yOTY4NzUgNjAuNjQwNjI1IDEyLjkzNzUgNjcuNDIxODc1IA0KUSAxOS41NzgxMjUgNzQuMjE4NzUgMzAuNjA5Mzc1IDc0LjIxODc1IA0KUSA0My4yNjU2MjUgNzQuMjE4NzUgNDkuOTIxODc1IDY0LjUxNTYyNSANClEgNTYuNTkzNzUgNTQuODI4MTI1IDU2LjU5Mzc1IDM2LjM3NSANClEgNTYuNTkzNzUgMTkuMTQwNjI1IDQ4LjQwNjI1IDguODU5Mzc1IA0KUSA0MC4yMzQzNzUgLTEuNDIxODc1IDI2LjQyMTg3NSAtMS40MjE4NzUgDQpRIDIyLjcwMzEyNSAtMS40MjE4NzUgMTguODkwNjI1IC0wLjY4NzUgDQpRIDE1LjA5Mzc1IDAuMDQ2ODc1IDEwLjk4NDM3NSAxLjUxNTYyNSANCnoNCk0gMzAuNjA5Mzc1IDMyLjQyMTg3NSANClEgMzcuMjUgMzIuNDIxODc1IDQxLjEyNSAzNi45NTMxMjUgDQpRIDQ1LjAxNTYyNSA0MS41IDQ1LjAxNTYyNSA0OS40MjE4NzUgDQpRIDQ1LjAxNTYyNSA1Ny4yODEyNSA0MS4xMjUgNjEuODQzNzUgDQpRIDM3LjI1IDY2LjQwNjI1IDMwLjYwOTM3NSA2Ni40MDYyNSANClEgMjMuOTY4NzUgNjYuNDA2MjUgMjAuMDkzNzUgNjEuODQzNzUgDQpRIDE2LjIxODc1IDU3LjI4MTI1IDE2LjIxODc1IDQ5LjQyMTg3NSANClEgMTYuMjE4NzUgNDEuNSAyMC4wOTM3NSAzNi45NTMxMjUgDQpRIDIzLjk2ODc1IDMyLjQyMTg3NSAzMC42MDkzNzUgMzIuNDIxODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zOSIvPg0KICAgIDwvZGVmcz4NCiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTUuNTc0NTQ1IDI0Mi4xMjMzNzUpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzkiLz4NCiAgICA8L2c+DQogICA8L2c+DQogICA8ZyBpZD0idGV4dF8yNCI+DQogICAgPCEtLSAyMCAtLT4NCiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MTEuMDg3MjczIDIxNC42NTUzNzUpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMiIvPg0KICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICA8L2c+DQogICA8L2c+DQogICA8ZyBpZD0idGV4dF8yNSI+DQogICAgPCEtLSAyMSAtLT4NCiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0MjYuNiAxODcuMTg3Mzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjYiPg0KICAgIDwhLS0gMjIgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQyLjExMjcyNyAxNTkuNzE5Mzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMyIi8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjciPg0KICAgIDwhLS0gMjQgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDczLjEzODE4MiAxMzIuMjUxMzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM0Ii8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjgiPg0KICAgIDwhLS0gMjYgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTA0LjE2MzYzNiAxMDQuNzgzMzc1KXNjYWxlKDAuMSAtMC4xKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4NCiAgICAgPHVzZSB4PSI2My42MjMwNDciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM2Ii8+DQogICAgPC9nPg0KICAgPC9nPg0KICAgPGcgaWQ9InRleHRfMjkiPg0KICAgIDwhLS0gMzEgLS0+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTgxLjcyNzI3MyA3Ny4zMTUzNzUpc2NhbGUoMC4xIC0wLjEpIj4NCiAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPg0KICAgICA8dXNlIHg9IjYzLjYyMzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4NCiAgICA8L2c+DQogICA8L2c+DQogICA8ZyBpZD0idGV4dF8zMCI+DQogICAgPCEtLSBUb3AgVGVuIEZlYXR1cmVzIGZvciBQcmVkaWN0aW9uIG9mIERCIEtuZWUgaW5qdXJ5IC0tPg0KICAgIDxkZWZzPg0KICAgICA8cGF0aCBkPSJNIC0wLjI5Njg3NSA3Mi45MDYyNSANCkwgNjEuMzc1IDcyLjkwNjI1IA0KTCA2MS4zNzUgNjQuNTkzNzUgDQpMIDM1LjUgNjQuNTkzNzUgDQpMIDM1LjUgMCANCkwgMjUuNTkzNzUgMCANCkwgMjUuNTkzNzUgNjQuNTkzNzUgDQpMIC0wLjI5Njg3NSA2NC41OTM3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTQiLz4NCiAgICAgPHBhdGggZD0iTSAxOC4xMDkzNzUgOC4yMDMxMjUgDQpMIDE4LjEwOTM3NSAtMjAuNzk2ODc1IA0KTCA5LjA3ODEyNSAtMjAuNzk2ODc1IA0KTCA5LjA3ODEyNSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNTQuNjg3NSANCkwgMTguMTA5Mzc1IDQ2LjM5MDYyNSANClEgMjAuOTUzMTI1IDUxLjI2NTYyNSAyNS4yNjU2MjUgNTMuNjI1IA0KUSAyOS41OTM3NSA1NiAzNS41OTM3NSA1NiANClEgNDUuNTYyNSA1NiA1MS43ODEyNSA0OC4wOTM3NSANClEgNTguMDE1NjI1IDQwLjE4NzUgNTguMDE1NjI1IDI3LjI5Njg3NSANClEgNTguMDE1NjI1IDE0LjQwNjI1IDUxLjc4MTI1IDYuNDg0Mzc1IA0KUSA0NS41NjI1IC0xLjQyMTg3NSAzNS41OTM3NSAtMS40MjE4NzUgDQpRIDI5LjU5Mzc1IC0xLjQyMTg3NSAyNS4yNjU2MjUgMC45NTMxMjUgDQpRIDIwLjk1MzEyNSAzLjMyODEyNSAxOC4xMDkzNzUgOC4yMDMxMjUgDQp6DQpNIDQ4LjY4NzUgMjcuMjk2ODc1IA0KUSA0OC42ODc1IDM3LjIwMzEyNSA0NC42MDkzNzUgNDIuODQzNzUgDQpRIDQwLjUzMTI1IDQ4LjQ4NDM3NSAzMy40MDYyNSA0OC40ODQzNzUgDQpRIDI2LjI2NTYyNSA0OC40ODQzNzUgMjIuMTg3NSA0Mi44NDM3NSANClEgMTguMTA5Mzc1IDM3LjIwMzEyNSAxOC4xMDkzNzUgMjcuMjk2ODc1IA0KUSAxOC4xMDkzNzUgMTcuMzkwNjI1IDIyLjE4NzUgMTEuNzUgDQpRIDI2LjI2NTYyNSA2LjEwOTM3NSAzMy40MDYyNSA2LjEwOTM3NSANClEgNDAuNTMxMjUgNi4xMDkzNzUgNDQuNjA5Mzc1IDExLjc1IA0KUSA0OC42ODc1IDE3LjM5MDYyNSA0OC42ODc1IDI3LjI5Njg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNzAiLz4NCiAgICAgPHBhdGggZD0iTSAzNy4xMDkzNzUgNzUuOTg0Mzc1IA0KTCAzNy4xMDkzNzUgNjguNSANCkwgMjguNTE1NjI1IDY4LjUgDQpRIDIzLjY4NzUgNjguNSAyMS43OTY4NzUgNjYuNTQ2ODc1IA0KUSAxOS45MjE4NzUgNjQuNTkzNzUgMTkuOTIxODc1IDU5LjUxNTYyNSANCkwgMTkuOTIxODc1IDU0LjY4NzUgDQpMIDM0LjcxODc1IDU0LjY4NzUgDQpMIDM0LjcxODc1IDQ3LjcwMzEyNSANCkwgMTkuOTIxODc1IDQ3LjcwMzEyNSANCkwgMTkuOTIxODc1IDAgDQpMIDEwLjg5MDYyNSAwIA0KTCAxMC44OTA2MjUgNDcuNzAzMTI1IA0KTCAyLjI5Njg3NSA0Ny43MDMxMjUgDQpMIDIuMjk2ODc1IDU0LjY4NzUgDQpMIDEwLjg5MDYyNSA1NC42ODc1IA0KTCAxMC44OTA2MjUgNTguNSANClEgMTAuODkwNjI1IDY3LjYyNSAxNS4xNDA2MjUgNzEuNzk2ODc1IA0KUSAxOS4zOTA2MjUgNzUuOTg0Mzc1IDI4LjYwOTM3NSA3NS45ODQzNzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTY2Ii8+DQogICAgIDxwYXRoIGQ9Ik0gMTkuNjcxODc1IDY0Ljc5Njg3NSANCkwgMTkuNjcxODc1IDM3LjQwNjI1IA0KTCAzMi4wNzgxMjUgMzcuNDA2MjUgDQpRIDM4Ljk2ODc1IDM3LjQwNjI1IDQyLjcxODc1IDQwLjk2ODc1IA0KUSA0Ni40ODQzNzUgNDQuNTMxMjUgNDYuNDg0Mzc1IDUxLjEyNSANClEgNDYuNDg0Mzc1IDU3LjY3MTg3NSA0Mi43MTg3NSA2MS4yMzQzNzUgDQpRIDM4Ljk2ODc1IDY0Ljc5Njg3NSAzMi4wNzgxMjUgNjQuNzk2ODc1IA0Keg0KTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDMyLjA3ODEyNSA3Mi45MDYyNSANClEgNDQuMzQzNzUgNzIuOTA2MjUgNTAuNjA5Mzc1IDY3LjM1OTM3NSANClEgNTYuODkwNjI1IDYxLjgxMjUgNTYuODkwNjI1IDUxLjEyNSANClEgNTYuODkwNjI1IDQwLjMyODEyNSA1MC42MDkzNzUgMzQuODEyNSANClEgNDQuMzQzNzUgMjkuMjk2ODc1IDMyLjA3ODEyNSAyOS4yOTY4NzUgDQpMIDE5LjY3MTg3NSAyOS4yOTY4NzUgDQpMIDE5LjY3MTg3NSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTAiLz4NCiAgICAgPHBhdGggZD0iTSA0NS40MDYyNSA0Ni4zOTA2MjUgDQpMIDQ1LjQwNjI1IDc1Ljk4NDM3NSANCkwgNTQuMzkwNjI1IDc1Ljk4NDM3NSANCkwgNTQuMzkwNjI1IDAgDQpMIDQ1LjQwNjI1IDAgDQpMIDQ1LjQwNjI1IDguMjAzMTI1IA0KUSA0Mi41NzgxMjUgMy4zMjgxMjUgMzguMjUgMC45NTMxMjUgDQpRIDMzLjkzNzUgLTEuNDIxODc1IDI3Ljg3NSAtMS40MjE4NzUgDQpRIDE3Ljk2ODc1IC0xLjQyMTg3NSAxMS43MzQzNzUgNi40ODQzNzUgDQpRIDUuNTE1NjI1IDE0LjQwNjI1IDUuNTE1NjI1IDI3LjI5Njg3NSANClEgNS41MTU2MjUgNDAuMTg3NSAxMS43MzQzNzUgNDguMDkzNzUgDQpRIDE3Ljk2ODc1IDU2IDI3Ljg3NSA1NiANClEgMzMuOTM3NSA1NiAzOC4yNSA1My42MjUgDQpRIDQyLjU3ODEyNSA1MS4yNjU2MjUgNDUuNDA2MjUgNDYuMzkwNjI1IA0Keg0KTSAxNC43OTY4NzUgMjcuMjk2ODc1IA0KUSAxNC43OTY4NzUgMTcuMzkwNjI1IDE4Ljg3NSAxMS43NSANClEgMjIuOTUzMTI1IDYuMTA5Mzc1IDMwLjA3ODEyNSA2LjEwOTM3NSANClEgMzcuMjAzMTI1IDYuMTA5Mzc1IDQxLjI5Njg3NSAxMS43NSANClEgNDUuNDA2MjUgMTcuMzkwNjI1IDQ1LjQwNjI1IDI3LjI5Njg3NSANClEgNDUuNDA2MjUgMzcuMjAzMTI1IDQxLjI5Njg3NSA0Mi44NDM3NSANClEgMzcuMjAzMTI1IDQ4LjQ4NDM3NSAzMC4wNzgxMjUgNDguNDg0Mzc1IA0KUSAyMi45NTMxMjUgNDguNDg0Mzc1IDE4Ljg3NSA0Mi44NDM3NSANClEgMTQuNzk2ODc1IDM3LjIwMzEyNSAxNC43OTY4NzUgMjcuMjk2ODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02NCIvPg0KICAgICA8cGF0aCBkPSJNIDE5LjY3MTg3NSA2NC43OTY4NzUgDQpMIDE5LjY3MTg3NSA4LjEwOTM3NSANCkwgMzEuNTkzNzUgOC4xMDkzNzUgDQpRIDQ2LjY4NzUgOC4xMDkzNzUgNTMuNjg3NSAxNC45Mzc1IA0KUSA2MC42ODc1IDIxLjc4MTI1IDYwLjY4NzUgMzYuNTMxMjUgDQpRIDYwLjY4NzUgNTEuMTcxODc1IDUzLjY4NzUgNTcuOTg0Mzc1IA0KUSA0Ni42ODc1IDY0Ljc5Njg3NSAzMS41OTM3NSA2NC43OTY4NzUgDQp6DQpNIDkuODEyNSA3Mi45MDYyNSANCkwgMzAuMDc4MTI1IDcyLjkwNjI1IA0KUSA1MS4yNjU2MjUgNzIuOTA2MjUgNjEuMTcxODc1IDY0LjA5Mzc1IA0KUSA3MS4wOTM3NSA1NS4yODEyNSA3MS4wOTM3NSAzNi41MzEyNSANClEgNzEuMDkzNzUgMTcuNjcxODc1IDYxLjEyNSA4LjgyODEyNSANClEgNTEuMTcxODc1IDAgMzAuMDc4MTI1IDAgDQpMIDkuODEyNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy00NCIvPg0KICAgICA8cGF0aCBkPSJNIDkuODEyNSA3Mi45MDYyNSANCkwgMTkuNjcxODc1IDcyLjkwNjI1IA0KTCAxOS42NzE4NzUgNDIuMDkzNzUgDQpMIDUyLjM5MDYyNSA3Mi45MDYyNSANCkwgNjUuMDkzNzUgNzIuOTA2MjUgDQpMIDI4LjkwNjI1IDM4LjkyMTg3NSANCkwgNjcuNjcxODc1IDAgDQpMIDU0LjY4NzUgMCANCkwgMTkuNjcxODc1IDM1LjEwOTM3NSANCkwgMTkuNjcxODc1IDAgDQpMIDkuODEyNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy00YiIvPg0KICAgICA8cGF0aCBkPSJNIDkuNDIxODc1IDU0LjY4NzUgDQpMIDE4LjQwNjI1IDU0LjY4NzUgDQpMIDE4LjQwNjI1IC0wLjk4NDM3NSANClEgMTguNDA2MjUgLTExLjQyMTg3NSAxNC40MjE4NzUgLTE2LjEwOTM3NSANClEgMTAuNDUzMTI1IC0yMC43OTY4NzUgMS42MDkzNzUgLTIwLjc5Njg3NSANCkwgLTEuODEyNSAtMjAuNzk2ODc1IA0KTCAtMS44MTI1IC0xMy4xODc1IA0KTCAwLjU5Mzc1IC0xMy4xODc1IA0KUSA1LjcxODc1IC0xMy4xODc1IDcuNTYyNSAtMTAuODEyNSANClEgOS40MjE4NzUgLTguNDUzMTI1IDkuNDIxODc1IC0wLjk4NDM3NSANCnoNCk0gOS40MjE4NzUgNzUuOTg0Mzc1IA0KTCAxOC40MDYyNSA3NS45ODQzNzUgDQpMIDE4LjQwNjI1IDY0LjU5Mzc1IA0KTCA5LjQyMTg3NSA2NC41OTM3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNmEiLz4NCiAgICAgPHBhdGggZD0iTSAzMi4xNzE4NzUgLTUuMDc4MTI1IA0KUSAyOC4zNzUgLTE0Ljg0Mzc1IDI0Ljc1IC0xNy44MTI1IA0KUSAyMS4xNDA2MjUgLTIwLjc5Njg3NSAxNS4wOTM3NSAtMjAuNzk2ODc1IA0KTCA3LjkwNjI1IC0yMC43OTY4NzUgDQpMIDcuOTA2MjUgLTEzLjI4MTI1IA0KTCAxMy4xODc1IC0xMy4yODEyNSANClEgMTYuODkwNjI1IC0xMy4yODEyNSAxOC45Mzc1IC0xMS41MTU2MjUgDQpRIDIxIC05Ljc2NTYyNSAyMy40ODQzNzUgLTMuMjE4NzUgDQpMIDI1LjA5Mzc1IDAuODc1IA0KTCAyLjk4NDM3NSA1NC42ODc1IA0KTCAxMi41IDU0LjY4NzUgDQpMIDI5LjU5Mzc1IDExLjkyMTg3NSANCkwgNDYuNjg3NSA1NC42ODc1IA0KTCA1Ni4yMDMxMjUgNTQuNjg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNzkiLz4NCiAgICA8L2RlZnM+DQogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjAxLjE0NDE4OCAxNC4yMTMyNSlzY2FsZSgwLjEyIC0wLjEyKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4NCiAgICAgPHVzZSB4PSI2MC44MTgzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MCIvPg0KICAgICA8dXNlIHg9IjE4NS40NzY1NjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMjE3LjI2MzY3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4NCiAgICAgPHVzZSB4PSIyNzguMDgyMDMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjMzOS42MDU0NjkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgIDx1c2UgeD0iNDAyLjk4NDM3NSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSI0MzQuNzcxNDg0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICA8dXNlIHg9IjQ5Mi4yMTI4OTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY1Ii8+DQogICAgIDx1c2UgeD0iNTUzLjczNjMyOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjEiLz4NCiAgICAgPHVzZSB4PSI2MTUuMDE1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjY1NC4yMjQ2MDkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc1Ii8+DQogICAgIDx1c2UgeD0iNzE3LjYwMzUxNiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNzIiLz4NCiAgICAgPHVzZSB4PSI3NTguNjg1NTQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjgyMC4yMDg5ODQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTczIi8+DQogICAgIDx1c2UgeD0iODcyLjMwODU5NCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSI5MDQuMDk1NzAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NiIvPg0KICAgICA8dXNlIHg9IjkzOS4zMDA3ODEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTAwMC40ODI0MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTcyIi8+DQogICAgIDx1c2UgeD0iMTA0MS41OTU3MDMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMTA3My4zODI4MTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUwIi8+DQogICAgIDx1c2UgeD0iMTEzMy42Njk5MjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTcyIi8+DQogICAgIDx1c2UgeD0iMTE3NC43NTE5NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY1Ii8+DQogICAgIDx1c2UgeD0iMTIzNi4yNzUzOTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY0Ii8+DQogICAgIDx1c2UgeD0iMTI5OS43NTE5NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgIDx1c2UgeD0iMTMyNy41MzUxNTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTYzIi8+DQogICAgIDx1c2UgeD0iMTM4Mi41MTU2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgIDx1c2UgeD0iMTQyMS43MjQ2MDkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY5Ii8+DQogICAgIDx1c2UgeD0iMTQ0OS41MDc4MTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTUxMC42ODk0NTMiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZlIi8+DQogICAgIDx1c2UgeD0iMTU3NC4wNjgzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMTYwNS44NTU0NjkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMTY2Ny4wMzcxMDkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY2Ii8+DQogICAgIDx1c2UgeD0iMTcwMi4yNDIxODgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMTczNC4wMjkyOTciIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQ0Ii8+DQogICAgIDx1c2UgeD0iMTgxMS4wMzEyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNDIiLz4NCiAgICAgPHVzZSB4PSIxODc5LjYzNDc2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSIxOTExLjQyMTg3NSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNGIiLz4NCiAgICAgPHVzZSB4PSIxOTc2Ljk5ODA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgPHVzZSB4PSIyMDQwLjM3Njk1MyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjUiLz4NCiAgICAgPHVzZSB4PSIyMTAxLjkwMDM5MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjUiLz4NCiAgICAgPHVzZSB4PSIyMTYzLjQyMzgyOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSIyMTk1LjIxMDkzOCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgPHVzZSB4PSIyMjIyLjk5NDE0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmUiLz4NCiAgICAgPHVzZSB4PSIyMjg2LjM3MzA0NyIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNmEiLz4NCiAgICAgPHVzZSB4PSIyMzE0LjE1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NSIvPg0KICAgICA8dXNlIHg9IjIzNzcuNTM1MTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MiIvPg0KICAgICA8dXNlIHg9IjI0MTguNjQ4NDM4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03OSIvPg0KICAgIDwvZz4NCiAgICA8IS0tIFVzaW5nIHRoZSBUQlNORkxQU0FQTTE1IG1vZGVsIHdpdGggdGhlIFRCU05GTFBTQTExIGRhdGFzZXQsIGZvbGQgMSAtLT4NCiAgICA8ZGVmcz4NCiAgICAgPHBhdGggZD0iTSA4LjY4NzUgNzIuOTA2MjUgDQpMIDE4LjYwOTM3NSA3Mi45MDYyNSANCkwgMTguNjA5Mzc1IDI4LjYwOTM3NSANClEgMTguNjA5Mzc1IDE2Ljg5MDYyNSAyMi44NDM3NSAxMS43MzQzNzUgDQpRIDI3LjA5Mzc1IDYuNTkzNzUgMzYuNjI1IDYuNTkzNzUgDQpRIDQ2LjA5Mzc1IDYuNTkzNzUgNTAuMzQzNzUgMTEuNzM0Mzc1IA0KUSA1NC41OTM3NSAxNi44OTA2MjUgNTQuNTkzNzUgMjguNjA5Mzc1IA0KTCA1NC41OTM3NSA3Mi45MDYyNSANCkwgNjQuNSA3Mi45MDYyNSANCkwgNjQuNSAyNy4zOTA2MjUgDQpRIDY0LjUgMTMuMTQwNjI1IDU3LjQzNzUgNS44NTkzNzUgDQpRIDUwLjM5MDYyNSAtMS40MjE4NzUgMzYuNjI1IC0xLjQyMTg3NSANClEgMjIuNzk2ODc1IC0xLjQyMTg3NSAxNS43MzQzNzUgNS44NTkzNzUgDQpRIDguNjg3NSAxMy4xNDA2MjUgOC42ODc1IDI3LjM5MDYyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNTUiLz4NCiAgICAgPHBhdGggZD0iTSA0NS40MDYyNSAyNy45ODQzNzUgDQpRIDQ1LjQwNjI1IDM3Ljc1IDQxLjM3NSA0My4xMDkzNzUgDQpRIDM3LjM1OTM3NSA0OC40ODQzNzUgMzAuMDc4MTI1IDQ4LjQ4NDM3NSANClEgMjIuODU5Mzc1IDQ4LjQ4NDM3NSAxOC44MjgxMjUgNDMuMTA5Mzc1IA0KUSAxNC43OTY4NzUgMzcuNzUgMTQuNzk2ODc1IDI3Ljk4NDM3NSANClEgMTQuNzk2ODc1IDE4LjI2NTYyNSAxOC44MjgxMjUgMTIuODkwNjI1IA0KUSAyMi44NTkzNzUgNy41MTU2MjUgMzAuMDc4MTI1IDcuNTE1NjI1IA0KUSAzNy4zNTkzNzUgNy41MTU2MjUgNDEuMzc1IDEyLjg5MDYyNSANClEgNDUuNDA2MjUgMTguMjY1NjI1IDQ1LjQwNjI1IDI3Ljk4NDM3NSANCnoNCk0gNTQuMzkwNjI1IDYuNzgxMjUgDQpRIDU0LjM5MDYyNSAtNy4xNzE4NzUgNDguMTg3NSAtMTMuOTg0Mzc1IA0KUSA0MiAtMjAuNzk2ODc1IDI5LjIwMzEyNSAtMjAuNzk2ODc1IA0KUSAyNC40Njg3NSAtMjAuNzk2ODc1IDIwLjI2NTYyNSAtMjAuMDkzNzUgDQpRIDE2LjA2MjUgLTE5LjM5MDYyNSAxMi4xMDkzNzUgLTE3LjkyMTg3NSANCkwgMTIuMTA5Mzc1IC05LjE4NzUgDQpRIDE2LjA2MjUgLTExLjMyODEyNSAxOS45MjE4NzUgLTEyLjM0Mzc1IA0KUSAyMy43ODEyNSAtMTMuMzc1IDI3Ljc4MTI1IC0xMy4zNzUgDQpRIDM2LjYyNSAtMTMuMzc1IDQxLjAxNTYyNSAtOC43NjU2MjUgDQpRIDQ1LjQwNjI1IC00LjE1NjI1IDQ1LjQwNjI1IDUuMTcxODc1IA0KTCA0NS40MDYyNSA5LjYyNSANClEgNDIuNjI1IDQuNzgxMjUgMzguMjgxMjUgMi4zOTA2MjUgDQpRIDMzLjkzNzUgMCAyNy44NzUgMCANClEgMTcuODI4MTI1IDAgMTEuNjcxODc1IDcuNjU2MjUgDQpRIDUuNTE1NjI1IDE1LjMyODEyNSA1LjUxNTYyNSAyNy45ODQzNzUgDQpRIDUuNTE1NjI1IDQwLjY3MTg3NSAxMS42NzE4NzUgNDguMzI4MTI1IA0KUSAxNy44MjgxMjUgNTYgMjcuODc1IDU2IA0KUSAzMy45Mzc1IDU2IDM4LjI4MTI1IDUzLjYwOTM3NSANClEgNDIuNjI1IDUxLjIxODc1IDQ1LjQwNjI1IDQ2LjM5MDYyNSANCkwgNDUuNDA2MjUgNTQuNjg3NSANCkwgNTQuMzkwNjI1IDU0LjY4NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTY3Ii8+DQogICAgIDxwYXRoIGQ9Ik0gNTQuODkwNjI1IDMzLjAxNTYyNSANCkwgNTQuODkwNjI1IDAgDQpMIDQ1LjkwNjI1IDAgDQpMIDQ1LjkwNjI1IDMyLjcxODc1IA0KUSA0NS45MDYyNSA0MC40ODQzNzUgNDIuODc1IDQ0LjMyODEyNSANClEgMzkuODQzNzUgNDguMTg3NSAzMy43OTY4NzUgNDguMTg3NSANClEgMjYuNTE1NjI1IDQ4LjE4NzUgMjIuMzEyNSA0My41NDY4NzUgDQpRIDE4LjEwOTM3NSAzOC45MjE4NzUgMTguMTA5Mzc1IDMwLjkwNjI1IA0KTCAxOC4xMDkzNzUgMCANCkwgOS4wNzgxMjUgMCANCkwgOS4wNzgxMjUgNzUuOTg0Mzc1IA0KTCAxOC4xMDkzNzUgNzUuOTg0Mzc1IA0KTCAxOC4xMDkzNzUgNDYuMTg3NSANClEgMjEuMzQzNzUgNTEuMTI1IDI1LjcwMzEyNSA1My41NjI1IA0KUSAzMC4wNzgxMjUgNTYgMzUuNzk2ODc1IDU2IA0KUSA0NS4yMTg3NSA1NiA1MC4wNDY4NzUgNTAuMTcxODc1IA0KUSA1NC44OTA2MjUgNDQuMzQzNzUgNTQuODkwNjI1IDMzLjAxNTYyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNjgiLz4NCiAgICAgPHBhdGggZD0iTSA1My41MTU2MjUgNzAuNTE1NjI1IA0KTCA1My41MTU2MjUgNjAuODkwNjI1IA0KUSA0Ny45MDYyNSA2My41NzgxMjUgNDIuOTIxODc1IDY0Ljg5MDYyNSANClEgMzcuOTM3NSA2Ni4yMTg3NSAzMy4yOTY4NzUgNjYuMjE4NzUgDQpRIDI1LjI1IDY2LjIxODc1IDIwLjg3NSA2My4wOTM3NSANClEgMTYuNSA1OS45Njg3NSAxNi41IDU0LjIwMzEyNSANClEgMTYuNSA0OS4zNTkzNzUgMTkuNDA2MjUgNDYuODkwNjI1IA0KUSAyMi4zMTI1IDQ0LjQzNzUgMzAuNDIxODc1IDQyLjkyMTg3NSANCkwgMzYuMzc1IDQxLjcwMzEyNSANClEgNDcuNDA2MjUgMzkuNTkzNzUgNTIuNjU2MjUgMzQuMjk2ODc1IA0KUSA1Ny45MDYyNSAyOSA1Ny45MDYyNSAyMC4xMjUgDQpRIDU3LjkwNjI1IDkuNTE1NjI1IDUwLjc5Njg3NSA0LjA0Njg3NSANClEgNDMuNzAzMTI1IC0xLjQyMTg3NSAyOS45ODQzNzUgLTEuNDIxODc1IA0KUSAyNC44MTI1IC0xLjQyMTg3NSAxOC45Njg3NSAtMC4yNSANClEgMTMuMTQwNjI1IDAuOTIxODc1IDYuODkwNjI1IDMuMjE4NzUgDQpMIDYuODkwNjI1IDEzLjM3NSANClEgMTIuODkwNjI1IDEwLjAxNTYyNSAxOC42NTYyNSA4LjI5Njg3NSANClEgMjQuNDIxODc1IDYuNTkzNzUgMjkuOTg0Mzc1IDYuNTkzNzUgDQpRIDM4LjQyMTg3NSA2LjU5Mzc1IDQzLjAxNTYyNSA5LjkwNjI1IA0KUSA0Ny42MDkzNzUgMTMuMjM0Mzc1IDQ3LjYwOTM3NSAxOS4zOTA2MjUgDQpRIDQ3LjYwOTM3NSAyNC43NSA0NC4zMTI1IDI3Ljc4MTI1IA0KUSA0MS4wMTU2MjUgMzAuODEyNSAzMy41IDMyLjMyODEyNSANCkwgMjcuNDg0Mzc1IDMzLjUgDQpRIDE2LjQ1MzEyNSAzNS42ODc1IDExLjUxNTYyNSA0MC4zNzUgDQpRIDYuNTkzNzUgNDUuMDYyNSA2LjU5Mzc1IDUzLjQyMTg3NSANClEgNi41OTM3NSA2My4wOTM3NSAxMy40MDYyNSA2OC42NTYyNSANClEgMjAuMjE4NzUgNzQuMjE4NzUgMzIuMTcxODc1IDc0LjIxODc1IA0KUSAzNy4zMTI1IDc0LjIxODc1IDQyLjYyNSA3My4yODEyNSANClEgNDcuOTUzMTI1IDcyLjM1OTM3NSA1My41MTU2MjUgNzAuNTE1NjI1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8cGF0aCBkPSJNIDkuODEyNSA3Mi45MDYyNSANCkwgMjMuMDkzNzUgNzIuOTA2MjUgDQpMIDU1LjQyMTg3NSAxMS45MjE4NzUgDQpMIDU1LjQyMTg3NSA3Mi45MDYyNSANCkwgNjQuOTg0Mzc1IDcyLjkwNjI1IA0KTCA2NC45ODQzNzUgMCANCkwgNTEuNzAzMTI1IDAgDQpMIDE5LjM5MDYyNSA2MC45ODQzNzUgDQpMIDE5LjM5MDYyNSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNGUiLz4NCiAgICAgPHBhdGggZD0iTSA5LjgxMjUgNzIuOTA2MjUgDQpMIDE5LjY3MTg3NSA3Mi45MDYyNSANCkwgMTkuNjcxODc1IDguMjk2ODc1IA0KTCA1NS4xNzE4NzUgOC4yOTY4NzUgDQpMIDU1LjE3MTg3NSAwIA0KTCA5LjgxMjUgMCANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNGMiLz4NCiAgICAgPHBhdGggZD0iTSAzNC4xODc1IDYzLjE4NzUgDQpMIDIwLjc5Njg3NSAyNi45MDYyNSANCkwgNDcuNjA5Mzc1IDI2LjkwNjI1IA0Keg0KTSAyOC42MDkzNzUgNzIuOTA2MjUgDQpMIDM5Ljc5Njg3NSA3Mi45MDYyNSANCkwgNjcuNTc4MTI1IDAgDQpMIDU3LjMyODEyNSAwIA0KTCA1MC42ODc1IDE4LjcwMzEyNSANCkwgMTcuODI4MTI1IDE4LjcwMzEyNSANCkwgMTEuMTg3NSAwIA0KTCAwLjc4MTI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTQxIi8+DQogICAgIDxwYXRoIGQ9Ik0gOS44MTI1IDcyLjkwNjI1IA0KTCAyNC41MTU2MjUgNzIuOTA2MjUgDQpMIDQzLjEwOTM3NSAyMy4yOTY4NzUgDQpMIDYxLjgxMjUgNzIuOTA2MjUgDQpMIDc2LjUxNTYyNSA3Mi45MDYyNSANCkwgNzYuNTE1NjI1IDAgDQpMIDY2Ljg5MDYyNSAwIA0KTCA2Ni44OTA2MjUgNjQuMDE1NjI1IA0KTCA0OC4wOTM3NSAxNC4wMTU2MjUgDQpMIDM4LjE4NzUgMTQuMDE1NjI1IA0KTCAxOS4zOTA2MjUgNjQuMDE1NjI1IA0KTCAxOS4zOTA2MjUgMCANCkwgOS44MTI1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTRkIi8+DQogICAgIDxwYXRoIGQ9Ik0gNTIgNDQuMTg3NSANClEgNTUuMzc1IDUwLjI1IDYwLjA2MjUgNTMuMTI1IA0KUSA2NC43NSA1NiA3MS4wOTM3NSA1NiANClEgNzkuNjQwNjI1IDU2IDg0LjI4MTI1IDUwLjAxNTYyNSANClEgODguOTIxODc1IDQ0LjA0Njg3NSA4OC45MjE4NzUgMzMuMDE1NjI1IA0KTCA4OC45MjE4NzUgMCANCkwgNzkuODkwNjI1IDAgDQpMIDc5Ljg5MDYyNSAzMi43MTg3NSANClEgNzkuODkwNjI1IDQwLjU3ODEyNSA3Ny4wOTM3NSA0NC4zNzUgDQpRIDc0LjMxMjUgNDguMTg3NSA2OC42MDkzNzUgNDguMTg3NSANClEgNjEuNjI1IDQ4LjE4NzUgNTcuNTYyNSA0My41NDY4NzUgDQpRIDUzLjUxNTYyNSAzOC45MjE4NzUgNTMuNTE1NjI1IDMwLjkwNjI1IA0KTCA1My41MTU2MjUgMCANCkwgNDQuNDg0Mzc1IDAgDQpMIDQ0LjQ4NDM3NSAzMi43MTg3NSANClEgNDQuNDg0Mzc1IDQwLjYyNSA0MS43MDMxMjUgNDQuNDA2MjUgDQpRIDM4LjkyMTg3NSA0OC4xODc1IDMzLjEwOTM3NSA0OC4xODc1IA0KUSAyNi4yMTg3NSA0OC4xODc1IDIyLjE1NjI1IDQzLjUzMTI1IA0KUSAxOC4xMDkzNzUgMzguODc1IDE4LjEwOTM3NSAzMC45MDYyNSANCkwgMTguMTA5Mzc1IDAgDQpMIDkuMDc4MTI1IDAgDQpMIDkuMDc4MTI1IDU0LjY4NzUgDQpMIDE4LjEwOTM3NSA1NC42ODc1IA0KTCAxOC4xMDkzNzUgNDYuMTg3NSANClEgMjEuMTg3NSA1MS4yMTg3NSAyNS40ODQzNzUgNTMuNjA5Mzc1IA0KUSAyOS43ODEyNSA1NiAzNS42ODc1IDU2IA0KUSA0MS42NTYyNSA1NiA0NS44MjgxMjUgNTIuOTY4NzUgDQpRIDUwIDQ5Ljk1MzEyNSA1MiA0NC4xODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02ZCIvPg0KICAgICA8cGF0aCBkPSJNIDkuNDIxODc1IDc1Ljk4NDM3NSANCkwgMTguNDA2MjUgNzUuOTg0Mzc1IA0KTCAxOC40MDYyNSAwIA0KTCA5LjQyMTg3NSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy02YyIvPg0KICAgICA8cGF0aCBkPSJNIDQuMjAzMTI1IDU0LjY4NzUgDQpMIDEzLjE4NzUgNTQuNjg3NSANCkwgMjQuNDIxODc1IDEyLjAxNTYyNSANCkwgMzUuNTkzNzUgNTQuNjg3NSANCkwgNDYuMTg3NSA1NC42ODc1IA0KTCA1Ny40MjE4NzUgMTIuMDE1NjI1IA0KTCA2OC42MDkzNzUgNTQuNjg3NSANCkwgNzcuNTkzNzUgNTQuNjg3NSANCkwgNjMuMjgxMjUgMCANCkwgNTIuNjg3NSAwIA0KTCA0MC45MjE4NzUgNDQuODI4MTI1IA0KTCAyOS4xMDkzNzUgMCANCkwgMTguNSAwIA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy03NyIvPg0KICAgICA8cGF0aCBkPSJNIDExLjcxODc1IDEyLjQwNjI1IA0KTCAyMi4wMTU2MjUgMTIuNDA2MjUgDQpMIDIyLjAxNTYyNSA0IA0KTCAxNC4wMTU2MjUgLTExLjYyNSANCkwgNy43MTg3NSAtMTEuNjI1IA0KTCAxMS43MTg3NSA0IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0yYyIvPg0KICAgIDwvZGVmcz4NCiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMzIuMjA3OTM4IDI3LjY1MDYyNSlzY2FsZSgwLjEyIC0wLjEyKSI+DQogICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTUiLz4NCiAgICAgPHVzZSB4PSI3My4xOTMzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTczIi8+DQogICAgIDx1c2UgeD0iMTI1LjI5Mjk2OSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjkiLz4NCiAgICAgPHVzZSB4PSIxNTMuMDc2MTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZSIvPg0KICAgICA8dXNlIHg9IjIxNi40NTUwNzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY3Ii8+DQogICAgIDx1c2UgeD0iMjc5LjkzMTY0MSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjAiLz4NCiAgICAgPHVzZSB4PSIzMTEuNzE4NzUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTc0Ii8+DQogICAgIDx1c2UgeD0iMzUwLjkyNzczNCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNjgiLz4NCiAgICAgPHVzZSB4PSI0MTQuMzA2NjQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjQ3NS44MzAwNzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iNTA3LjYxNzE4OCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTQiLz4NCiAgICAgPHVzZSB4PSI1NjguNzAxMTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICA8dXNlIHg9IjYzNy4yODkwNjIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTUzIi8+DQogICAgIDx1c2UgeD0iNzAwLjc2NTYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNGUiLz4NCiAgICAgPHVzZSB4PSI3NzUuNTcwMzEyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICA8dXNlIHg9IjgzMy4wODk4NDQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTRjIi8+DQogICAgIDx1c2UgeD0iODg4LjgwMjczNCIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTAiLz4NCiAgICAgPHVzZSB4PSI5NDkuMTA1NDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8dXNlIHg9IjEwMTIuNTk3NjU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MSIvPg0KICAgICA8dXNlIHg9IjEwODEuMDA1ODU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICA8dXNlIHg9IjExNDEuMzA4NTk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00ZCIvPg0KICAgICA8dXNlIHg9IjEyMjcuNTg3ODkxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjEyOTEuMjEwOTM4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNSIvPg0KICAgICA8dXNlIHg9IjEzNTQuODMzOTg0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjEzODYuNjIxMDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZCIvPg0KICAgICA8dXNlIHg9IjE0ODQuMDMzMjAzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02ZiIvPg0KICAgICA8dXNlIHg9IjE1NDUuMjE0ODQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NCIvPg0KICAgICA8dXNlIHg9IjE2MDguNjkxNDA2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjE2NzAuMjE0ODQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02YyIvPg0KICAgICA8dXNlIHg9IjE2OTcuOTk4MDQ3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjE3MjkuNzg1MTU2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NyIvPg0KICAgICA8dXNlIHg9IjE4MTEuNTcyMjY2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OSIvPg0KICAgICA8dXNlIHg9IjE4MzkuMzU1NDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjE4NzguNTY0NDUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OCIvPg0KICAgICA8dXNlIHg9IjE5NDEuOTQzMzU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjE5NzMuNzMwNDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjIwMTIuOTM5NDUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02OCIvPg0KICAgICA8dXNlIHg9IjIwNzYuMzE4MzU5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjIxMzcuODQxNzk3IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjIxNjkuNjI4OTA2IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01NCIvPg0KICAgICA8dXNlIHg9IjIyMzAuNzEyODkxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MiIvPg0KICAgICA8dXNlIHg9IjIyOTkuMzAwNzgxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8dXNlIHg9IjIzNjIuNzc3MzQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00ZSIvPg0KICAgICA8dXNlIHg9IjI0MzcuNTgyMDMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00NiIvPg0KICAgICA8dXNlIHg9IjI0OTUuMTAxNTYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00YyIvPg0KICAgICA8dXNlIHg9IjI1NTAuODE0NDUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MCIvPg0KICAgICA8dXNlIHg9IjI2MTEuMTE3MTg4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy01MyIvPg0KICAgICA8dXNlIHg9IjI2NzQuNjA5Mzc1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MSIvPg0KICAgICA8dXNlIHg9IjI3NDMuMDE3NTc4IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjI4MDYuNjQwNjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMSIvPg0KICAgICA8dXNlIHg9IjI4NzAuMjYzNjcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjI5MDIuMDUwNzgxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NCIvPg0KICAgICA8dXNlIHg9IjI5NjUuNTI3MzQ0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MSIvPg0KICAgICA8dXNlIHg9IjMwMjYuODA2NjQxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjMwNjYuMDE1NjI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02MSIvPg0KICAgICA8dXNlIHg9IjMxMjcuMjk0OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03MyIvPg0KICAgICA8dXNlIHg9IjMxNzkuMzk0NTMxIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NSIvPg0KICAgICA8dXNlIHg9IjMyNDAuOTE3OTY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy03NCIvPg0KICAgICA8dXNlIHg9IjMyODAuMTI2OTUzIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yYyIvPg0KICAgICA8dXNlIHg9IjMzMTEuOTE0MDYyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjMzNDMuNzAxMTcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy02NiIvPg0KICAgICA8dXNlIHg9IjMzNzguOTA2MjUiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZmIi8+DQogICAgIDx1c2UgeD0iMzQ0MC4wODc4OTEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTZjIi8+DQogICAgIDx1c2UgeD0iMzQ2Ny44NzEwOTQiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTY0Ii8+DQogICAgIDx1c2UgeD0iMzUzMS4zNDc2NTYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iMzU2My4xMzQ3NjYiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+DQogICAgPC9nPg0KICAgIDwhLS0gKFJPQyBBVUMgPSAwLjkzMDYpIC0tPg0KICAgIDxkZWZzPg0KICAgICA8cGF0aCBkPSJNIDMxIDc1Ljg3NSANClEgMjQuNDY4NzUgNjQuNjU2MjUgMjEuMjgxMjUgNTMuNjU2MjUgDQpRIDE4LjEwOTM3NSA0Mi42NzE4NzUgMTguMTA5Mzc1IDMxLjM5MDYyNSANClEgMTguMTA5Mzc1IDIwLjEyNSAyMS4zMTI1IDkuMDYyNSANClEgMjQuNTE1NjI1IC0yIDMxIC0xMy4xODc1IA0KTCAyMy4xODc1IC0xMy4xODc1IA0KUSAxNS44NzUgLTEuNzAzMTI1IDEyLjIzNDM3NSA5LjM3NSANClEgOC41OTM3NSAyMC40NTMxMjUgOC41OTM3NSAzMS4zOTA2MjUgDQpRIDguNTkzNzUgNDIuMjgxMjUgMTIuMjAzMTI1IDUzLjMxMjUgDQpRIDE1LjgyODEyNSA2NC4zNTkzNzUgMjMuMTg3NSA3NS44NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTI4Ii8+DQogICAgIDxwYXRoIGQ9Ik0gMzkuNDA2MjUgNjYuMjE4NzUgDQpRIDI4LjY1NjI1IDY2LjIxODc1IDIyLjMyODEyNSA1OC4yMDMxMjUgDQpRIDE2LjAxNTYyNSA1MC4yMDMxMjUgMTYuMDE1NjI1IDM2LjM3NSANClEgMTYuMDE1NjI1IDIyLjYwOTM3NSAyMi4zMjgxMjUgMTQuNTkzNzUgDQpRIDI4LjY1NjI1IDYuNTkzNzUgMzkuNDA2MjUgNi41OTM3NSANClEgNTAuMTQwNjI1IDYuNTkzNzUgNTYuNDIxODc1IDE0LjU5Mzc1IA0KUSA2Mi43MDMxMjUgMjIuNjA5Mzc1IDYyLjcwMzEyNSAzNi4zNzUgDQpRIDYyLjcwMzEyNSA1MC4yMDMxMjUgNTYuNDIxODc1IDU4LjIwMzEyNSANClEgNTAuMTQwNjI1IDY2LjIxODc1IDM5LjQwNjI1IDY2LjIxODc1IA0Keg0KTSAzOS40MDYyNSA3NC4yMTg3NSANClEgNTQuNzM0Mzc1IDc0LjIxODc1IDYzLjkwNjI1IDYzLjkzNzUgDQpRIDczLjA5Mzc1IDUzLjY1NjI1IDczLjA5Mzc1IDM2LjM3NSANClEgNzMuMDkzNzUgMTkuMTQwNjI1IDYzLjkwNjI1IDguODU5Mzc1IA0KUSA1NC43MzQzNzUgLTEuNDIxODc1IDM5LjQwNjI1IC0xLjQyMTg3NSANClEgMjQuMDMxMjUgLTEuNDIxODc1IDE0LjgxMjUgOC44MjgxMjUgDQpRIDUuNjA5Mzc1IDE5LjA5Mzc1IDUuNjA5Mzc1IDM2LjM3NSANClEgNS42MDkzNzUgNTMuNjU2MjUgMTQuODEyNSA2My45Mzc1IA0KUSAyNC4wMzEyNSA3NC4yMTg3NSAzOS40MDYyNSA3NC4yMTg3NSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNGYiLz4NCiAgICAgPHBhdGggZD0iTSA2NC40MDYyNSA2Ny4yODEyNSANCkwgNjQuNDA2MjUgNTYuODkwNjI1IA0KUSA1OS40MjE4NzUgNjEuNTMxMjUgNTMuNzgxMjUgNjMuODEyNSANClEgNDguMTQwNjI1IDY2LjEwOTM3NSA0MS43OTY4NzUgNjYuMTA5Mzc1IA0KUSAyOS4yOTY4NzUgNjYuMTA5Mzc1IDIyLjY1NjI1IDU4LjQ2ODc1IA0KUSAxNi4wMTU2MjUgNTAuODI4MTI1IDE2LjAxNTYyNSAzNi4zNzUgDQpRIDE2LjAxNTYyNSAyMS45Njg3NSAyMi42NTYyNSAxNC4zMjgxMjUgDQpRIDI5LjI5Njg3NSA2LjY4NzUgNDEuNzk2ODc1IDYuNjg3NSANClEgNDguMTQwNjI1IDYuNjg3NSA1My43ODEyNSA4Ljk4NDM3NSANClEgNTkuNDIxODc1IDExLjI4MTI1IDY0LjQwNjI1IDE1LjkyMTg3NSANCkwgNjQuNDA2MjUgNS42MDkzNzUgDQpRIDU5LjIzNDM3NSAyLjA5Mzc1IDUzLjQzNzUgMC4zMjgxMjUgDQpRIDQ3LjY1NjI1IC0xLjQyMTg3NSA0MS4yMTg3NSAtMS40MjE4NzUgDQpRIDI0LjY1NjI1IC0xLjQyMTg3NSAxNS4xMjUgOC43MDMxMjUgDQpRIDUuNjA5Mzc1IDE4Ljg0Mzc1IDUuNjA5Mzc1IDM2LjM3NSANClEgNS42MDkzNzUgNTMuOTUzMTI1IDE1LjEyNSA2NC4wNzgxMjUgDQpRIDI0LjY1NjI1IDc0LjIxODc1IDQxLjIxODc1IDc0LjIxODc1IA0KUSA0Ny43NSA3NC4yMTg3NSA1My41MzEyNSA3Mi40ODQzNzUgDQpRIDU5LjMyODEyNSA3MC43NSA2NC40MDYyNSA2Ny4yODEyNSANCnoNCiIgaWQ9IkRlamFWdVNhbnMtNDMiLz4NCiAgICAgPHBhdGggZD0iTSAxMC41OTM3NSA0NS40MDYyNSANCkwgNzMuMTg3NSA0NS40MDYyNSANCkwgNzMuMTg3NSAzNy4yMDMxMjUgDQpMIDEwLjU5Mzc1IDM3LjIwMzEyNSANCnoNCk0gMTAuNTkzNzUgMjUuNDg0Mzc1IA0KTCA3My4xODc1IDI1LjQ4NDM3NSANCkwgNzMuMTg3NSAxNy4xODc1IA0KTCAxMC41OTM3NSAxNy4xODc1IA0Keg0KIiBpZD0iRGVqYVZ1U2Fucy0zZCIvPg0KICAgICA8cGF0aCBkPSJNIDEwLjY4NzUgMTIuNDA2MjUgDQpMIDIxIDEyLjQwNjI1IA0KTCAyMSAwIA0KTCAxMC42ODc1IDAgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTJlIi8+DQogICAgIDxwYXRoIGQ9Ik0gOC4wMTU2MjUgNzUuODc1IA0KTCAxNS44MjgxMjUgNzUuODc1IA0KUSAyMy4xNDA2MjUgNjQuMzU5Mzc1IDI2Ljc4MTI1IDUzLjMxMjUgDQpRIDMwLjQyMTg3NSA0Mi4yODEyNSAzMC40MjE4NzUgMzEuMzkwNjI1IA0KUSAzMC40MjE4NzUgMjAuNDUzMTI1IDI2Ljc4MTI1IDkuMzc1IA0KUSAyMy4xNDA2MjUgLTEuNzAzMTI1IDE1LjgyODEyNSAtMTMuMTg3NSANCkwgOC4wMTU2MjUgLTEzLjE4NzUgDQpRIDE0LjUgLTIgMTcuNzAzMTI1IDkuMDYyNSANClEgMjAuOTA2MjUgMjAuMTI1IDIwLjkwNjI1IDMxLjM5MDYyNSANClEgMjAuOTA2MjUgNDIuNjcxODc1IDE3LjcwMzEyNSA1My42NTYyNSANClEgMTQuNSA2NC42NTYyNSA4LjAxNTYyNSA3NS44NzUgDQp6DQoiIGlkPSJEZWphVnVTYW5zLTI5Ii8+DQogICAgPC9kZWZzPg0KICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI4Ny42MjAxMjUgNDEuMDg4KXNjYWxlKDAuMTIgLTAuMTIpIj4NCiAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yOCIvPg0KICAgICA8dXNlIHg9IjM5LjAxMzY3MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTIiLz4NCiAgICAgPHVzZSB4PSIxMDguNDk2MDk0IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00ZiIvPg0KICAgICA8dXNlIHg9IjE4Ny4yMDcwMzEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQzIi8+DQogICAgIDx1c2UgeD0iMjU3LjAzMTI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yMCIvPg0KICAgICA8dXNlIHg9IjI4OC44MTgzNTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTQxIi8+DQogICAgIDx1c2UgeD0iMzU3LjIyNjU2MiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtNTUiLz4NCiAgICAgPHVzZSB4PSI0MzAuNDE5OTIyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy00MyIvPg0KICAgICA8dXNlIHg9IjUwMC4yNDQxNDEiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iNTMyLjAzMTI1IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zZCIvPg0KICAgICA8dXNlIHg9IjYxNS44MjAzMTIiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTIwIi8+DQogICAgIDx1c2UgeD0iNjQ3LjYwNzQyMiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzAiLz4NCiAgICAgPHVzZSB4PSI3MTEuMjMwNDY5IiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0yZSIvPg0KICAgICA8dXNlIHg9Ijc0My4wMTc1NzgiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM5Ii8+DQogICAgIDx1c2UgeD0iODA2LjY0MDYyNSIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzMiLz4NCiAgICAgPHVzZSB4PSI4NzAuMjYzNjcyIiB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPg0KICAgICA8dXNlIHg9IjkzMy44ODY3MTkiIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM2Ii8+DQogICAgIDx1c2UgeD0iOTk3LjUwOTc2NiIgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMjkiLz4NCiAgICA8L2c+DQogICA8L2c+DQogIDwvZz4NCiA8L2c+DQogPGRlZnM+DQogIDxjbGlwUGF0aCBpZD0icGIzNzI2OTE4ZWIiPg0KICAgPHJlY3QgaGVpZ2h0PSIzMDIuMTQ4IiB3aWR0aD0iNTI4Ljk4NCIgeD0iODUuMzIiIHk9IjQ3LjA4OCIvPg0KICA8L2NsaXBQYXRoPg0KIDwvZGVmcz4NCjwvc3ZnPg0K"}}},{"metadata":{},"cell_type":"markdown","source":"<h2>Results and Conclusion</h2>\n<p>The ROC curve from experiment TBSNFLPSAPM15 use the TBSNFLPSA11 dataset (DB position group with both HNAM and HNAAM features) shows reason to investigate further.  The XGBoost classifier was rerun with the same hyperparameters to produce the plots of feature importance shown above.  These plots didn't quite work right in the notebook, so the images generated on a different machine are shown above.  They show the ten features with the highest F score rating from folds 1 and 3 of the cross-validation.  What we see is:</p>\n<ul>\n    <li>Angular bin15 (RotBin15) scored 1st and 2nd highest.</li>\n    <li>Linear bin6 (Bin6) scored 2nd and 5th highest.</li>\n    <li>Angular bin12 (RotBin12) scored 3rd and 7th highest.</li>\n    <li>Angular bin4 (RotBin4) scored 5th and 3rd highest.</li>\n    <li>Linear bin4 (Bin4) scored 4th and 10th highest.</li>\n</ul>\n<p>I think that a case can be made that, for this dataset, angular acceleration is a good predictor of knee injury in defensive backs (DB). I believe that this indicates that the Histogram of Normalized Angular Acceleration Magnitudes (HNAAM) is a successful feature for predicting some NFL injuries, and is therefore a useful application of the NGS player track data.</p> \n<p>High levels of angular acceleration means that the player generated or otherwise\nexperienced high levels of torque to produce these accelerations, and there had to be\ncorresponding opposite and equal ground reaction torques.  Problems arise when the\ncleat doesn't release from the surface before the failure limit of a body part \nis reached, such as the ACL in the knee. The ACL is particularly problematic, because\nfully ruptured ACLs do not heal [Bahr12].</p>\n<p>Research has shown that the combination of weather, surface, and cleat design and \nmanufacture can have a wide range of what is called \"rotational traction\" in the\nliterature [Iacovelli11], [Orchard03], [Villwock09].  While there is general agreement\nthat excessive rotational traction may precipitate ankle and knee injuries, there\nis no consensus on what the absolute limits are [Villwock09].  So, what can we do\nto help the players?</p>\n<p>I believe that better information about the weather, cleat, surface interactions\non game day is one answer.  The player may choose to use that information to select\nthe right cleat for the day, and measured rotational traction data can be correlated\nwith any injuries that occur on that day for the construction of better injury risk\nmodels.</p>\n<h3>Proposed Rule Change</h3>\n<p>Currently, field certification includes hardness, visual inspection, infill evenness and depth (synthetic fields), and moisture content (natural fields).</p>\n<p>I propose a new mandatory field certification test for Rotational Traction, as follows:</p> \n<ul>\n<li>Up to 72 hours before each game (within 48 hours in unstable weather), a field certification expert will measure the rotational traction with the field surface of the top dozen football cleats preferred by NFL players.</li>\n<li>Testing shall be compliant with ASTM F2333-04 (2017). I expect that testing will be performed using a rotational traction tester, such the Pennfoot, The TrakTester, the Boise State TurfBuster, etc. [Twomey14].</li>\n<li>Results will be posted to the players not less than 8 hours prior to game time.</li>\n<li>Test results will be correlated with injury reports and integrated into NGS data for help in injury risk studies.</li>\n</ul>\n<p>Thank you for your attention.  This has been fun!  I learned a ton!</p>"},{"metadata":{},"cell_type":"markdown","source":"<h2>References</h2>\n<ul>\n    <li>ASTM F2333-04 (2017), Standard Test Method for Traction Characteristics of the Athletic Shoe-Sports Surface Interface, ASTM International, West Conshohocken, PA.</li>\n    <li>Bahr, R. ed. (2012).  <em>The IOC Manual of Sports Injuries</em>, Wiley-Blackwell, ISBN: 978-0-470-67416</li>\n    <li>Iacovelli, J.N. (2011).  Effect of field condition and shoe type on lower extremity injuries in American football, MS (Master of Science) thesis, University of Iowa, 2011, https://doi.org/10.17077/etd.cxrtfiqc.</li>\n    <li>Orchard, J and J. Powell (2003).  Risk of Knee and Ankle Sprains under Various Weather Conditions in American Football, <em>Medicine & Science in Sports & Exercise</em>, 35(7):1118-1123, DOI: 10.1249/01.MSS.0000074563.61975.9B, PMID: 12840631.</li>\n    <li>Twomey,D.M.et al (2014). Rotationaltraction testing: How can we improve the current test device?, <em>Procedia Engineering</em>, Vol. 72, Elsevier, pp. 919-924.</li>\n    <li>Villwock, M.R. et al (2009).  Football Playing Surface and Shoe Design Affect Rotational Traction, <em>The American Journal of Sports Medicine</em>, February 2009, pp. 518-27, DOI: 10.1177/0363546508328108.</li>\n    <li>2019 Football Cleat Models – Traction Comparison, Penn State’s Center for Sports Surface Research, August 2019.</li>\n    <li>Web page, <em>NFL Field Certification</em>, https://operations.nfl.com/the-game/game-day-behind-the-scenes/nfl-field-certification/, accessed January 1, 2020.</li>\n</ul>"}],"metadata":{"kernelspec":{"display_name":"conda_python3","language":"python","name":"conda_python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.6.5"}},"nbformat":4,"nbformat_minor":1}