WHO Immunization Implementation Guide
0.2.0 - ci-build
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/tree/123/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-03 |
{
"resourceType" : "Library",
"id" : "IMMZD2DTTyphoidViPSLogic",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTTyphoidViPSLogic</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTTyphoidViPSLogic</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">0.2.0</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTTyphoidViPSLogic.html\">IMMZD2DTTyphoidViPSLogic</a></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.0.1/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>logic-library</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2026-03-03 13:07:11+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">WHO</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This library defines decision support logic for the IMMZ.D2.DT.Typhoid.ViPS decision table in the Immunization CPG</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li><a href=\"Library-IMMZD2DTTyphoidEncounterElements.html\">IMMZD2DTTyphoidEncounterElements</a></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n \n <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client is not due for Typhoid vaccination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client is not due for Typhoid vaccination Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client is due for Typhoid vaccination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client is due for Typhoid vaccination Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Primary series is complete. Client is not due for typhoid booster dose</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Primary series is complete. Client is not due for typhoid booster dose Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Primary series is complete. Client is due for typhoid booster dose</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Primary series is complete. Client is due for typhoid booster dose Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Guidance</th><th>string</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Has Guidance</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Test Validation</th><th>Resource</th><th>0</th><th>1</th><th>Out</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">/*\n * Library: IMMZD2DTTyphoidViPSLogic (IMMZ.D2.DT.Typhoid.ViPS)\n * Rule: Determine if the client is due for a typhoid vaccination according to the national immunization schedule\n * Decision Table: Unconjugated Vi polysaccharide (ViPS) schedule\n * Trigger: IMMZ.D2 Determine required vaccination(s) if any\n */\nlibrary IMMZD2DTTyphoidViPSLogic\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude IMMZD2DTTyphoidEncounterElements called Encounter\n\nparameter Today Date default Today()\n\ncontext Patient\n\n\n/*\n@dynamicValue: Guidance\n*/\ndefine "Guidance":\n case \n when "Client is not due for Typhoid vaccination" then "Client is not due for Typhoid vaccination Guidance"\n when "Client is due for Typhoid vaccination" then "Client is due for Typhoid vaccination Guidance"\n when "Primary series is complete. Client is not due for typhoid booster dose" then "Primary series is complete. Client is not due for typhoid booster dose Guidance"\n when "Primary series is complete. Client is due for typhoid booster dose" then "Primary series is complete. Client is due for typhoid booster dose Guidance" \n else ''\n end\n \ndefine "Has Guidance":\n "Guidance" is not null and "Guidance" != ''\n\n/*\n@output: Client is not due for Typhoid vaccination\n@pseudocode: "Immunization recommendation status" = "Not due"\n*/\ndefine "Client is not due for Typhoid vaccination":\n Encounter."Client's age is less than 2 years"\n\n/*\n@output: Client is not due for Typhoid vaccination Guidance\n@guidance: Should not vaccinate client with typhoid dose as client's age is less than 2 years.\nCheck for any other vaccines due and inform the caregiver of when to come back for the first dose.\n*/\ndefine "Client is not due for Typhoid vaccination Guidance":\n 'Should not vaccinate client with typhoid dose as client\\'s age is less than 2 years.\nCheck for any other vaccines due and inform the caregiver of when to come back for the first dose.'\n\n/*\n@output: Client is due for Typhoid vaccination\n@pseudocode: "Immunization recommendation status" = "Due"\n*/\ndefine "Client is due for Typhoid vaccination":\n Encounter."No typhoid primary series doses were administered"\n and Encounter."Client's age is more than or equal to 2 years"\n\n/*\n@output: Client is due for Typhoid vaccination Guidance\n@guidance: Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.\nCheck for contraindications.\n*/\ndefine "Client is due for Typhoid vaccination Guidance":\n 'Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.\nCheck for contraindications.'\n\n/*\n@output: Primary series is complete. Client is not due for typhoid booster dose\n@pseudocode: "Immunization recommendation status" = "Not due"\n"Completed the primary vaccination series" (where "Vaccine type" = "Typhoid vaccines") = TRUE\n*/\ndefine "Primary series is complete. Client is not due for typhoid booster dose":\n Encounter."One typhoid primary series dose was administered"\n and Encounter."The latest typhoid dose was administered less than 3 years ago"\n\n/*\n@output: Primary series is complete. Client is not due for typhoid booster dose Guidance\n@guidance: Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.\nCheck for any other vaccines due and inform the caregiver of when to come back for the next dose.\n*/\ndefine "Primary series is complete. Client is not due for typhoid booster dose Guidance":\n 'Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.\nCheck for any other vaccines due and inform the caregiver of when to come back for the next dose.'\n\n/*\n@output: Primary series is complete. Client is due for typhoid booster dose\n@pseudocode: "Immunization recommendation status" = "Due"\n"Completed the primary vaccination series" (where "Vaccine type" = "Typhoid vaccines") = TRUE\n*/\ndefine "Primary series is complete. Client is due for typhoid booster dose":\n Encounter."One typhoid primary series dose was administered"\n and Encounter."The latest typhoid dose was administered more than 3 years ago"\n\n/*\n@output: Primary series is complete. Client is due for typhoid booster dose Guidance\n@guidance: Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.\nCheck for contraindications.\n*/\ndefine "Primary series is complete. Client is due for typhoid booster dose Guidance":\n 'Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.\nCheck for contraindications.'\n\n\n/*\n@test: Test expected results based on example patients\n*/\ndefine "Test Validation":\n case\n when Patient.id = 'Typhoid19.1' then "Client is not due for Typhoid vaccination" and "Guidance" = 'Should not vaccinate client with typhoid dose as client\\'s age is less than 2 years.\nCheck for any other vaccines due and inform the caregiver of when to come back for the first dose.'\n when Patient.id = 'Typhoid20.2' then "Client is due for Typhoid vaccination" and "Guidance" = 'Should vaccinate client with typhoid dose as no typhoid doses were administered and client is within appropriate age range.\nCheck for contraindications.'\n when Patient.id = 'Typhoid21.2' then "Primary series is complete. Client is not due for typhoid booster dose" and "Guidance" = 'Should not vaccinate client with typhoid booster dose as the latest typhoid dose was administered less than 3 years ago.\nCheck for any other vaccines due and inform the caregiver of when to come back for the next dose.'\n when Patient.id = 'Typhoid22.2' then "Primary series is complete. Client is due for typhoid booster dose" and "Guidance" = 'Should vaccinate client with typhoid booster dose as the latest dose was administered more than 3 years ago.\nCheck for contraindications.'\n else 'No test case set'\n end\n</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n \n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><b>Content: </b> application/elm+xml</th></tr>\n <tr><td><pre><code>Encoded data (54528 characters)</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n </table>\n</div>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/immunizations/Library/IMMZD2DTTyphoidViPSLogic",
"version" : "0.2.0",
"name" : "IMMZD2DTTyphoidViPSLogic",
"title" : "IMMZD2DTTyphoidViPSLogic",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2026-03-03T13:07:11+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines decision support logic for the IMMZ.D2.DT.Typhoid.ViPS decision table in the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTTyphoidEncounterElements"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Client is not due for Typhoid vaccination",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client is not due for Typhoid vaccination Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Client is due for Typhoid vaccination",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client is due for Typhoid vaccination Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Primary series is complete. Client is not due for typhoid booster dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Primary series is complete. Client is not due for typhoid booster dose Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Primary series is complete. Client is due for typhoid booster dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Primary series is complete. Client is due for typhoid booster dose Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Has Guidance",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Test Validation",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Resource"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKICogTGlicmFyeTogSU1NWkQyRFRUeXBob2lkVmlQU0xvZ2ljIChJTU1aLkQyLkRULlR5cGhvaWQuVmlQUykKICogUnVsZTogRGV0ZXJtaW5lIGlmIHRoZSBjbGllbnQgaXMgZHVlIGZvciBhIHR5cGhvaWQgdmFjY2luYXRpb24gYWNjb3JkaW5nIHRvIHRoZSBuYXRpb25hbCBpbW11bml6YXRpb24gc2NoZWR1bGUKICogRGVjaXNpb24gVGFibGU6IFVuY29uanVnYXRlZCBWaSBwb2x5c2FjY2hhcmlkZSAoVmlQUykgc2NoZWR1bGUKICogVHJpZ2dlcjogSU1NWi5EMiBEZXRlcm1pbmUgcmVxdWlyZWQgdmFjY2luYXRpb24ocykgaWYgYW55CiAqLwpsaWJyYXJ5IElNTVpEMkRUVHlwaG9pZFZpUFNMb2dpYwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgSU1NWkQyRFRUeXBob2lkRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIEVuY291bnRlcgoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCgpjb250ZXh0IFBhdGllbnQKCgovKgpAZHluYW1pY1ZhbHVlOiBHdWlkYW5jZQoqLwpkZWZpbmUgIkd1aWRhbmNlIjoKICBjYXNlIAogICAgd2hlbiAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24iIHRoZW4gIkNsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIgogICAgd2hlbiAiQ2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiIgdGhlbiAiQ2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiBHdWlkYW5jZSIKICAgIHdoZW4gIlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiIHRoZW4gIlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UiCiAgICB3aGVuICJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiIHRoZW4gIlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSBHdWlkYW5jZSIgCiAgICBlbHNlICcnCiAgZW5kCiAgCmRlZmluZSAiSGFzIEd1aWRhbmNlIjoKICAiR3VpZGFuY2UiIGlzIG5vdCBudWxsIGFuZCAiR3VpZGFuY2UiICE9ICcnCgovKgpAb3V0cHV0OiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIk5vdCBkdWUiCiovCmRlZmluZSAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24iOgogIEVuY291bnRlci4iQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzIgoKLyoKQG91dHB1dDogQ2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24gR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGRvc2UgYXMgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLgoqLwpkZWZpbmUgIkNsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIjoKICAnU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBkb3NlIGFzIGNsaWVudFwncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMuCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJwoKLyoKQG91dHB1dDogQ2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkR1ZSIKKi8KZGVmaW5lICJDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIjoKICBFbmNvdW50ZXIuIk5vIHR5cGhvaWQgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiCiAgICBhbmQgRW5jb3VudGVyLiJDbGllbnQncyBhZ2UgaXMgbW9yZSB0aGFuIG9yIGVxdWFsIHRvIDIgeWVhcnMiCgovKgpAb3V0cHV0OiBDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGRvc2UgYXMgbm8gdHlwaG9pZCBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4KKi8KZGVmaW5lICJDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIjoKICAnU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGRvc2UgYXMgbm8gdHlwaG9pZCBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4nCgovKgpAb3V0cHV0OiBQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIG5vdCBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlCkBwc2V1ZG9jb2RlOiAiSW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyIgPSAiTm90IGR1ZSIKIkNvbXBsZXRlZCB0aGUgcHJpbWFyeSB2YWNjaW5hdGlvbiBzZXJpZXMiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUeXBob2lkIHZhY2NpbmVzIikgPSBUUlVFCiovCmRlZmluZSAiUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBub3QgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSI6CiAgRW5jb3VudGVyLiJPbmUgdHlwaG9pZCBwcmltYXJ5IHNlcmllcyBkb3NlIHdhcyBhZG1pbmlzdGVyZWQiCiAgICBhbmQgRW5jb3VudGVyLiJUaGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnbyIKCi8qCkBvdXRwdXQ6IFByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgbmV4dCBkb3NlLgoqLwpkZWZpbmUgIlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UiOgogICdTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgbmV4dCBkb3NlLicKCi8qCkBvdXRwdXQ6IFByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZQpAcHNldWRvY29kZTogIkltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMiID0gIkR1ZSIKIkNvbXBsZXRlZCB0aGUgcHJpbWFyeSB2YWNjaW5hdGlvbiBzZXJpZXMiICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJUeXBob2lkIHZhY2NpbmVzIikgPSBUUlVFCiovCmRlZmluZSAiUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIjoKICBFbmNvdW50ZXIuIk9uZSB0eXBob2lkIHByaW1hcnkgc2VyaWVzIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCIKICAgIGFuZCBFbmNvdW50ZXIuIlRoZSBsYXRlc3QgdHlwaG9pZCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvIgoKLyoKQG91dHB1dDogUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28uCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4KKi8KZGVmaW5lICJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UiOgogICdTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgYm9vc3RlciBkb3NlIGFzIHRoZSBsYXRlc3QgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLicKCgovKgpAdGVzdDogVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMKKi8KZGVmaW5lICJUZXN0IFZhbGlkYXRpb24iOgogIGNhc2UKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdUeXBob2lkMTkuMScgdGhlbiAiQ2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24iIGFuZCAiR3VpZGFuY2UiID0gJ1Nob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBjbGllbnRcJ3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLicKICAgIHdoZW4gUGF0aWVudC5pZCA9ICdUeXBob2lkMjAuMicgdGhlbiAiQ2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiIgYW5kICJHdWlkYW5jZSIgPSAnU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGRvc2UgYXMgbm8gdHlwaG9pZCBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4nCiAgICB3aGVuIFBhdGllbnQuaWQgPSAnVHlwaG9pZDIxLjInIHRoZW4gIlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiIGFuZCAiR3VpZGFuY2UiID0gJ1Nob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgYm9vc3RlciBkb3NlIGFzIHRoZSBsYXRlc3QgdHlwaG9pZCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBuZXh0IGRvc2UuJwogICAgd2hlbiBQYXRpZW50LmlkID0gJ1R5cGhvaWQyMi4yJyB0aGVuICJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiIGFuZCAiR3VpZGFuY2UiID0gJ1Nob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBib29zdGVyIGRvc2UgYXMgdGhlIGxhdGVzdCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvLgpDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuJwogICAgZWxzZSAnTm8gdGVzdCBjYXNlIHNldCcKICBlbmQK"
},
{
"contentType" : "application/elm+xml",
"data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMzA1Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBJTU1aRDJEVFR5cGhvaWRWaVBTTG9naWMgKElNTVouRDIuRFQuVHlwaG9pZC5WaVBTKQogKiBSdWxlOiBEZXRlcm1pbmUgaWYgdGhlIGNsaWVudCBpcyBkdWUgZm9yIGEgdHlwaG9pZCB2YWNjaW5hdGlvbiBhY2NvcmRpbmcgdG8gdGhlIG5hdGlvbmFsIGltbXVuaXphdGlvbiBzY2hlZHVsZQogKiBEZWNpc2lvbiBUYWJsZTogVW5jb25qdWdhdGVkIFZpIHBvbHlzYWNjaGFyaWRlIChWaVBTKSBzY2hlZHVsZQogKiBUcmlnZ2VyOiBJTU1aLkQyIERldGVybWluZSByZXF1aXJlZCB2YWNjaW5hdGlvbihzKSBpZiBhbnkKICovCmxpYnJhcnkgSU1NWkQyRFRUeXBob2lkVmlQU0xvZ2ljPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJJTU1aRDJEVFR5cGhvaWRWaVBTTG9naWMiIHN5c3RlbT0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucyIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIgdmVyc2lvbj0iMS4wLjAiLz4KICAgICAgPGRlZiBsb2NhbElkPSIyMDYiIGxvY2F0b3I9Ijk6MS05OjI2IiBsb2NhbElkZW50aWZpZXI9IkZISVIiIHVyaT0iaHR0cDovL2hsNy5vcmcvZmhpciIgdmVyc2lvbj0iNC4wLjEiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMDYiPgogICAgICAgICAgICAgICA8YTpzPnVzaW5nIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVI8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzQuMC4xJzwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC91c2luZ3M+CiAgIDxpbmNsdWRlcz4KICAgICAgPGRlZiBsb2NhbElkPSIyMDgiIGxvY2F0b3I9IjEwOjEtMTA6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA4Ij4KICAgICAgICAgICAgICAgPGE6cz5pbmNsdWRlIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPgogICAgICAgICAgICAgICAgICA8YTpzPkZISVJIZWxwZXJzPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEwIiBsb2NhdG9yPSIxMjoxLTEyOjU3IiBsb2NhbElkZW50aWZpZXI9IkVuY291bnRlciIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaW1tdW5pemF0aW9ucy9JTU1aRDJEVFR5cGhvaWRFbmNvdW50ZXJFbGVtZW50cyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxMCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5JTU1aRDJEVFR5cGhvaWRFbmNvdW50ZXJFbGVtZW50czwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gY2FsbGVkIEVuY291bnRlcjwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjEyIiBsb2NhdG9yPSIxNDoxLTE0OjM2IiBuYW1lPSJUb2RheSIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIxMiI+CiAgICAgICAgICAgICAgIDxhOnM+cGFyYW1ldGVyIFRvZGF5IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+RGF0ZTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTUiPgogICAgICAgICAgICAgICAgICA8YTpzPlRvZGF5KCk8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjIxNSIgbG9jYXRvcj0iMTQ6MzAtMTQ6MzYiIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjE0OjE3LTE0OjIwIiBuYW1lPSJ0OkRhdGUiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyMSIgbG9jYXRvcj0iMTY6MS0xNjoxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTkiIGxvY2F0b3I9IjE2OjEtMTY6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyMjAiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjE4IiBsb2NhdG9yPSIxNjoxLTE2OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSIzODoxLTM5OjQ3IiBuYW1lPSJDbGllbnQgaXMgbm90IGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtOb3QgZHVlJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjI5Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbgpAcHNldWRvY29kZTogJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O05vdCBkdWUmcXVvdDsKKi8KZGVmaW5lICZxdW90O0NsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzMSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjMxIiBsb2NhdG9yPSIzOTozLTM5OjQ3IiBuYW1lPSJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzNSIgbG9jYXRvcj0iNDY6MS00NzoxODciIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iQ2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24gR3VpZGFuY2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJndWlkYW5jZSIgdmFsdWU9IlNob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMuJiN4YTtDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLiIvPgogICAgICAgICAgICA8YTpzIHI9IjIzNSI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogQ2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24gR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGRvc2UgYXMgY2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLgoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIG5vdCBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24gR3VpZGFuY2UmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4nU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBkb3NlIGFzIGNsaWVudFwncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMuCkNoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuJzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjM2IiBsb2NhdG9yPSI0NzozLTQ3OjE4NyIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlNob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBjbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDIgeWVhcnMuJiN4YTtDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjQyIiBsb2NhdG9yPSI1NDoxLTU2OjY1IiBuYW1lPSJDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iQ2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiIvPgogICAgICAgICAgICA8YTp0IG5hbWU9InBzZXVkb2NvZGUiIHZhbHVlPSImcXVvdDtJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzJnF1b3Q7ID0gJnF1b3Q7RHVlJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjQyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgpAb3V0cHV0OiBDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uCkBwc2V1ZG9jb2RlOiAmcXVvdDtJbW11bml6YXRpb24gcmVjb21tZW5kYXRpb24gc3RhdHVzJnF1b3Q7ID0gJnF1b3Q7RHVlJnF1b3Q7CiovCmRlZmluZSAmcXVvdDtDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI0MyI+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPkVuY291bnRlcjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjQ1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtObyB0eXBob2lkIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI0NiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDciPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gMiB5ZWFycyZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDMiIGxvY2F0b3I9IjU1OjMtNTY6NjUiIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjU1OjMtNTU6NjMiIG5hbWU9Ik5vIHR5cGhvaWQgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiIGxpYnJhcnlOYW1lPSJFbmNvdW50ZXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iNTY6OS01Njo2NSIgbmFtZT0iQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byAyIHllYXJzIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iNjM6MS02NDoxNTYiIG5hbWU9IkNsaWVudCBpcyBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24gR3VpZGFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZ3VpZGFuY2UiIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBubyB0eXBob2lkIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4mI3hhO0NoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4iLz4KICAgICAgICAgICAgPGE6cyByPSIyNTEiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IENsaWVudCBpcyBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24gR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBubyB0eXBob2lkIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLgoqLwpkZWZpbmUgJnF1b3Q7Q2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTIiPgogICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBubyB0eXBob2lkIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MiIgbG9jYXRvcj0iNjQ6My02NDoxNTYiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBubyB0eXBob2lkIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4mI3hhO0NoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI1OCIgbG9jYXRvcj0iNzI6MS03NDo4MiIgbmFtZT0iUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBub3QgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJwc2V1ZG9jb2RlIiB2YWx1ZT0iJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O05vdCBkdWUmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNTgiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IFByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UKQHBzZXVkb2NvZGU6ICZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtOb3QgZHVlJnF1b3Q7CiZxdW90O0NvbXBsZXRlZCB0aGUgcHJpbWFyeSB2YWNjaW5hdGlvbiBzZXJpZXMmcXVvdDsgKHdoZXJlICZxdW90O1ZhY2NpbmUgdHlwZSZxdW90OyA9ICZxdW90O1R5cGhvaWQgdmFjY2luZXMmcXVvdDspID0gVFJVRQoqLwpkZWZpbmUgJnF1b3Q7UHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBub3QgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjYwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T25lIHR5cGhvaWQgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI2MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgdHlwaG9pZCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1OSIgbG9jYXRvcj0iNzM6My03NDo4MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI2MSIgbG9jYXRvcj0iNzM6My03Mzo2MiIgbmFtZT0iT25lIHR5cGhvaWQgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNjMiIGxvY2F0b3I9Ijc0OjktNzQ6ODIiIG5hbWU9IlRoZSBsYXRlc3QgdHlwaG9pZCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDMgeWVhcnMgYWdvIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI2NyIgbG9jYXRvcj0iODE6MS04MjoyMjIiIG5hbWU9IlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIG5vdCBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIEd1aWRhbmNlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZ3VpZGFuY2UiIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4mI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIG5leHQgZG9zZS4iLz4KICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IFByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UKQGd1aWRhbmNlOiBTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgbmV4dCBkb3NlLgoqLwpkZWZpbmUgJnF1b3Q7UHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBub3QgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjgiPgogICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgbmV4dCBkb3NlLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI2OCIgbG9jYXRvcj0iODI6My04MjoyMjIiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4mI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIG5leHQgZG9zZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iOTA6MS05Mjo4MiIgbmFtZT0iUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIi8+CiAgICAgICAgICAgIDxhOnQgbmFtZT0icHNldWRvY29kZSIgdmFsdWU9IiZxdW90O0ltbXVuaXphdGlvbiByZWNvbW1lbmRhdGlvbiBzdGF0dXMmcXVvdDsgPSAmcXVvdDtEdWUmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBvdXRwdXQ6IFByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZQpAcHNldWRvY29kZTogJnF1b3Q7SW1tdW5pemF0aW9uIHJlY29tbWVuZGF0aW9uIHN0YXR1cyZxdW90OyA9ICZxdW90O0R1ZSZxdW90OwomcXVvdDtDb21wbGV0ZWQgdGhlIHByaW1hcnkgdmFjY2luYXRpb24gc2VyaWVzJnF1b3Q7ICh3aGVyZSAmcXVvdDtWYWNjaW5lIHR5cGUmcXVvdDsgPSAmcXVvdDtUeXBob2lkIHZhY2NpbmVzJnF1b3Q7KSA9IFRSVUUKKi8KZGVmaW5lICZxdW90O1ByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjc2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5FbmNvdW50ZXI8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7T25lIHR5cGhvaWQgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+RW5jb3VudGVyPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzPi48L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RoZSBsYXRlc3QgdHlwaG9pZCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3NSIgbG9jYXRvcj0iOTE6My05Mjo4MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI3NyIgbG9jYXRvcj0iOTE6My05MTo2MiIgbmFtZT0iT25lIHR5cGhvaWQgcHJpbWFyeSBzZXJpZXMgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyNzkiIGxvY2F0b3I9IjkyOjktOTI6ODIiIG5hbWU9IlRoZSBsYXRlc3QgdHlwaG9pZCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvIiBsaWJyYXJ5TmFtZT0iRW5jb3VudGVyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI4MyIgbG9jYXRvcj0iOTk6MS0xMDA6MTQxIiBuYW1lPSJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UgR3VpZGFuY2UiLz4KICAgICAgICAgICAgPGE6dCBuYW1lPSJndWlkYW5jZSIgdmFsdWU9IlNob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBib29zdGVyIGRvc2UgYXMgdGhlIGxhdGVzdCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvLiYjeGE7Q2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLiIvPgogICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKQG91dHB1dDogUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIEd1aWRhbmNlCkBndWlkYW5jZTogU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28uCkNoZWNrIGZvciBjb250cmFpbmRpY2F0aW9ucy4KKi8KZGVmaW5lICZxdW90O1ByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyODQiPgogICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgYm9vc3RlciBkb3NlIGFzIHRoZSBsYXRlc3QgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIG1vcmUgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLic8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI4NCIgbG9jYXRvcj0iMTAwOjMtMTAwOjE0MSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlNob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBib29zdGVyIGRvc2UgYXMgdGhlIGxhdGVzdCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvLiYjeGE7Q2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI0IiBsb2NhdG9yPSIyMjoxLTI5OjUiIG5hbWU9Ikd1aWRhbmNlIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0iZHluYW1pY1ZhbHVlIiB2YWx1ZT0iR3VpZGFuY2UiLz4KICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICA8YTpzPi8qCkBkeW5hbWljVmFsdWU6IEd1aWRhbmNlCiovCmRlZmluZSAmcXVvdDtHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjUiPgogICAgICAgICAgICAgICAgICA8YTpzPmNhc2UgCiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgbm90IGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyMzgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjIzOSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNDgiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCBpcyBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24mcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjU0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI1NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyNjQiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIG5vdCBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIEd1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI3MSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+d2hlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODYiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1ByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSBHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IAogICAgZWxzZSA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODciPgogICAgICAgICAgICAgICAgICAgICA8YTpzPicnPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzPgogIGVuZDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjI1IiBsb2NhdG9yPSIyMzozLTI5OjUiIHhzaTp0eXBlPSJDYXNlIj4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjIyNiIgbG9jYXRvcj0iMjQ6NS0yNDoxMTAiPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIyMzIiIGxvY2F0b3I9IjI0OjEwLTI0OjUyIiBuYW1lPSJDbGllbnQgaXMgbm90IGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSIyNDo1OS0yNDoxMTAiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjM5IiBsb2NhdG9yPSIyNTo1LTI1OjEwMiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI0OCIgbG9jYXRvcj0iMjU6MTAtMjU6NDgiIG5hbWU9IkNsaWVudCBpcyBkdWUgZm9yIFR5cGhvaWQgdmFjY2luYXRpb24iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI1NCIgbG9jYXRvcj0iMjU6NTUtMjU6MTAyIiBuYW1lPSJDbGllbnQgaXMgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIEd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSIyNjo1LTI2OjE2OCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI2NCIgbG9jYXRvcj0iMjY6MTAtMjY6ODEiIG5hbWU9IlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjI3MCIgbG9jYXRvcj0iMjY6ODgtMjY6MTY4IiBuYW1lPSJQcmltYXJ5IHNlcmllcyBpcyBjb21wbGV0ZS4gQ2xpZW50IGlzIG5vdCBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIEd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMjcxIiBsb2NhdG9yPSIyNzo1LTI3OjE2MCI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjI4MCIgbG9jYXRvcj0iMjc6MTAtMjc6NzciIG5hbWU9IlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMjg2IiBsb2NhdG9yPSIyNzo4NC0yNzoxNjAiIG5hbWU9IlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSBHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMjg3IiBsb2NhdG9yPSIyODoxMC0yODoxMSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyOTEiIGxvY2F0b3I9IjMxOjEtMzI6NDUiIG5hbWU9IkhhcyBHdWlkYW5jZSIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjI5MSI+CiAgICAgICAgICAgICAgIDxhOnM+ZGVmaW5lICZxdW90O0hhcyBHdWlkYW5jZSZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyOTIiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NSI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjkzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gaXMgbm90IG51bGw8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+IGFuZCA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDIiPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5NyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7R3VpZGFuY2UmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+ICE9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI5OCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+Jyc8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjkyIiBsb2NhdG9yPSIzMjozLTMyOjQ1IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk1IiBsb2NhdG9yPSIzMjozLTMyOjI0IiB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjk0IiBsb2NhdG9yPSIzMjozLTMyOjI0IiB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkzIiBsb2NhdG9yPSIzMjozLTMyOjEyIiBuYW1lPSJHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMwMiIgbG9jYXRvcj0iMzI6MzAtMzI6NDUiIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTYiIGxvY2F0b3I9IjMyOjMwLTMyOjQ1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMwMCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMDEiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5NyIgbG9jYXRvcj0iMzI6MzAtMzI6MzkiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyOTgiIGxvY2F0b3I9IjMyOjQ0LTMyOjQ1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIzMDUiIGxvY2F0b3I9IjEwNzoxLTExODo1IiBuYW1lPSJUZXN0IFZhbGlkYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJ0ZXN0IiB2YWx1ZT0iVGVzdCBleHBlY3RlZCByZXN1bHRzIGJhc2VkIG9uIGV4YW1wbGUgcGF0aWVudHMiLz4KICAgICAgICAgICAgPGE6cyByPSIzMDUiPgogICAgICAgICAgICAgICA8YTpzPi8qCkB0ZXN0OiBUZXN0IGV4cGVjdGVkIHJlc3VsdHMgYmFzZWQgb24gZXhhbXBsZSBwYXRpZW50cwoqLwpkZWZpbmUgJnF1b3Q7VGVzdCBWYWxpZGF0aW9uJnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjMwNiI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Y2FzZQogICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzA3Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz53aGVuIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMwOCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzEwIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMDkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPlBhdGllbnQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+LjwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+aWQ8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMxMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J1R5cGhvaWQxOS4xJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+IHRoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMTgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0NsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzE5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0d1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J1Nob3VsZCBub3QgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBjbGllbnRcJ3MgYWdlIGlzIGxlc3MgdGhhbiAyIHllYXJzLgpDaGVjayBmb3IgYW55IG90aGVyIHZhY2NpbmVzIGR1ZSBhbmQgaW5mb3JtIHRoZSBjYXJlZ2l2ZXIgb2Ygd2hlbiB0byBjb21lIGJhY2sgZm9yIHRoZSBmaXJzdCBkb3NlLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjUiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMjgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMyNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzI5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nVHlwaG9pZDIwLjInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzUiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7Q2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjMzNyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzM4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzMzkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgdmFjY2luYXRlIGNsaWVudCB3aXRoIHR5cGhvaWQgZG9zZSBhcyBubyB0eXBob2lkIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkIGFuZCBjbGllbnQgaXMgd2l0aGluIGFwcHJvcHJpYXRlIGFnZSByYW5nZS4KQ2hlY2sgZm9yIGNvbnRyYWluZGljYXRpb25zLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDMiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNDYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM0NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzQ3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nVHlwaG9pZDIxLjInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBub3QgZHVlIGZvciB0eXBob2lkIGJvb3N0ZXIgZG9zZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gYW5kIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM1NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzU2Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtHdWlkYW5jZSZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4gPSA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNTciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPidTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4KQ2hlY2sgZm9yIGFueSBvdGhlciB2YWNjaW5lcyBkdWUgYW5kIGluZm9ybSB0aGUgY2FyZWdpdmVyIG9mIHdoZW4gdG8gY29tZSBiYWNrIGZvciB0aGUgbmV4dCBkb3NlLic8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPndoZW4gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzYyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM2MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+UGF0aWVudDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4uPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz5pZDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+ID0gPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzY1Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4nVHlwaG9pZDIyLjInPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4gdGhlbiA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzEiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3MiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiBhbmQgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzczIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIzNzQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0d1aWRhbmNlJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiA9IDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjM3NSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+J1Nob3VsZCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBib29zdGVyIGRvc2UgYXMgdGhlIGxhdGVzdCBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDMgeWVhcnMgYWdvLgpDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuJzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIGVsc2UgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMzc5Ij4KICAgICAgICAgICAgICAgICAgICAgPGE6cz4nTm8gdGVzdCBjYXNlIHNldCc8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgZW5kPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIzMDYiIGxvY2F0b3I9IjEwODozLTExODo1IiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjYXNlSXRlbSBsb2NhbElkPSIzMDciIGxvY2F0b3I9IjEwOTo1LTEwOToyODciPgogICAgICAgICAgICAgICA8d2hlbiBsb2NhbElkPSIzMDgiIGxvY2F0b3I9IjEwOToxMC0xMDk6MzUiIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzE1IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEzIiBuYW1lPSJUb1N0cmluZyIgbGlicmFyeU5hbWU9IkZISVJIZWxwZXJzIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMxNCIgbmFtZT0iZmhpcjpzdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzEwIiBsb2NhdG9yPSIxMDk6MTAtMTA5OjE5IiBwYXRoPSJpZCIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBsb2NhbElkPSIzMDkiIGxvY2F0b3I9IjEwOToxMC0xMDk6MTYiIG5hbWU9IlBhdGllbnQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTEiIGxvY2F0b3I9IjEwOToyMy0xMDk6MzUiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJUeXBob2lkMTkuMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC93aGVuPgogICAgICAgICAgICAgICA8dGhlbiBsb2NhbElkPSIzODEiIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMxNyIgbG9jYXRvcj0iMTA5OjQyLTEwOToyODciIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTgiIGxvY2F0b3I9IjEwOTo0Mi0xMDk6ODQiIG5hbWU9IkNsaWVudCBpcyBub3QgZHVlIGZvciBUeXBob2lkIHZhY2NpbmF0aW9uIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMTkiIGxvY2F0b3I9IjEwOTo5MC0xMDk6Mjg3IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjMyMyIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMjQiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMCIgbG9jYXRvcj0iMTA5OjkwLTEwOTo5OSIgbmFtZT0iR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyMSIgbG9jYXRvcj0iMTA5OjEwMy0xMDk6Mjg3IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iU2hvdWxkIG5vdCB2YWNjaW5hdGUgY2xpZW50IHdpdGggdHlwaG9pZCBkb3NlIGFzIGNsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gMiB5ZWFycy4mI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIGZpcnN0IGRvc2UuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzODIiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzODMiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM4NCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjMyNSIgbG9jYXRvcj0iMTExOjUtMTExOjI1MiI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjMyNiIgbG9jYXRvcj0iMTExOjEwLTExMTozNSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzMzMiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzM0IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzEiIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzMyIiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMjgiIGxvY2F0b3I9IjExMToxMC0xMTE6MTkiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjMyNyIgbG9jYXRvcj0iMTExOjEwLTExMToxNiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMyOSIgbG9jYXRvcj0iMTExOjIzLTExMTozNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlR5cGhvaWQyMC4yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM4NSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM1IiBsb2NhdG9yPSIxMTE6NDItMTExOjI1MiIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjMzNiIgbG9jYXRvcj0iMTExOjQyLTExMTo4MCIgbmFtZT0iQ2xpZW50IGlzIGR1ZSBmb3IgVHlwaG9pZCB2YWNjaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzM3IiBsb2NhdG9yPSIxMTE6ODYtMTExOjI1MiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNDEiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzQyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzgiIGxvY2F0b3I9IjExMTo4Ni0xMTE6OTUiIG5hbWU9Ikd1aWRhbmNlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzMzkiIGxvY2F0b3I9IjExMTo5OS0xMTE6MjUyIiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGRvc2UgYXMgbm8gdHlwaG9pZCBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCBhbmQgY2xpZW50IGlzIHdpdGhpbiBhcHByb3ByaWF0ZSBhZ2UgcmFuZ2UuJiN4YTtDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzODYiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzODciIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM4OCIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtIGxvY2FsSWQ9IjM0MyIgbG9jYXRvcj0iMTEzOjUtMTEzOjM1MSI+CiAgICAgICAgICAgICAgIDx3aGVuIGxvY2FsSWQ9IjM0NCIgbG9jYXRvcj0iMTEzOjEwLTExMzozNSIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNTEiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzUyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDkiIG5hbWU9IlRvU3RyaW5nIiBsaWJyYXJ5TmFtZT0iRkhJUkhlbHBlcnMiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzUwIiBuYW1lPSJmaGlyOnN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNDYiIGxvY2F0b3I9IjExMzoxMC0xMTM6MTkiIHBhdGg9ImlkIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIGxvY2FsSWQ9IjM0NSIgbG9jYXRvcj0iMTEzOjEwLTExMzoxNiIgbmFtZT0iUGF0aWVudCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM0NyIgbG9jYXRvcj0iMTEzOjIzLTExMzozNSIgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlR5cGhvaWQyMS4yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L3doZW4+CiAgICAgICAgICAgICAgIDx0aGVuIGxvY2FsSWQ9IjM4OSIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzUzIiBsb2NhdG9yPSIxMTM6NDItMTEzOjM1MSIgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NCIgbG9jYXRvcj0iMTEzOjQyLTExMzoxMTMiIG5hbWU9IlByaW1hcnkgc2VyaWVzIGlzIGNvbXBsZXRlLiBDbGllbnQgaXMgbm90IGR1ZSBmb3IgdHlwaG9pZCBib29zdGVyIGRvc2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NSIgbG9jYXRvcj0iMTEzOjExOS0xMTM6MzUxIiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM1OSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNjAiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM1NiIgbG9jYXRvcj0iMTEzOjExOS0xMTM6MTI4IiBuYW1lPSJHdWlkYW5jZSIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzU3IiBsb2NhdG9yPSIxMTM6MTMyLTExMzozNTEiIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJTaG91bGQgbm90IHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IHR5cGhvaWQgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAzIHllYXJzIGFnby4mI3hhO0NoZWNrIGZvciBhbnkgb3RoZXIgdmFjY2luZXMgZHVlIGFuZCBpbmZvcm0gdGhlIGNhcmVnaXZlciBvZiB3aGVuIHRvIGNvbWUgYmFjayBmb3IgdGhlIG5leHQgZG9zZS4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM5MCIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM5MSIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iMzkyIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0gbG9jYWxJZD0iMzYxIiBsb2NhdG9yPSIxMTU6NS0xMTU6MjY2Ij4KICAgICAgICAgICAgICAgPHdoZW4gbG9jYWxJZD0iMzYyIiBsb2NhdG9yPSIxMTU6MTAtMTE1OjM1IiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICA8c2lnbmF0dXJlIGxvY2FsSWQ9IjM2OSIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNzAiIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NyIgbmFtZT0iVG9TdHJpbmciIGxpYnJhcnlOYW1lPSJGSElSSGVscGVycyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNjgiIG5hbWU9ImZoaXI6c3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM2NCIgbG9jYXRvcj0iMTE1OjEwLTExNToxOSIgcGF0aD0iaWQiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbG9jYWxJZD0iMzYzIiBsb2NhdG9yPSIxMTU6MTAtMTE1OjE2IiBuYW1lPSJQYXRpZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzY1IiBsb2NhdG9yPSIxMTU6MjMtMTE1OjM1IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVHlwaG9pZDIyLjIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvd2hlbj4KICAgICAgICAgICAgICAgPHRoZW4gbG9jYWxJZD0iMzkzIiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzEiIGxvY2F0b3I9IjExNTo0Mi0xMTU6MjY2IiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMzcyIiBsb2NhdG9yPSIxMTU6NDItMTE1OjEwOSIgbmFtZT0iUHJpbWFyeSBzZXJpZXMgaXMgY29tcGxldGUuIENsaWVudCBpcyBkdWUgZm9yIHR5cGhvaWQgYm9vc3RlciBkb3NlIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzMiIGxvY2F0b3I9IjExNToxMTUtMTE1OjI2NiIgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNpZ25hdHVyZSBsb2NhbElkPSIzNzciIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzaWduYXR1cmUgbG9jYWxJZD0iMzc4IiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzQiIGxvY2F0b3I9IjExNToxMTUtMTE1OjEyNCIgbmFtZT0iR3VpZGFuY2UiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjM3NSIgbG9jYXRvcj0iMTE1OjEyOC0xMTU6MjY2IiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iU2hvdWxkIHZhY2NpbmF0ZSBjbGllbnQgd2l0aCB0eXBob2lkIGJvb3N0ZXIgZG9zZSBhcyB0aGUgbGF0ZXN0IGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gMyB5ZWFycyBhZ28uJiN4YTtDaGVjayBmb3IgY29udHJhaW5kaWNhdGlvbnMuIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciBsb2NhbElkPSIzOTQiIHhzaTp0eXBlPSJDaG9pY2VUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgICAgICAgICAgPGNob2ljZSBsb2NhbElkPSIzOTUiIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM5NiIgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgbG9jYWxJZD0iMzk3IiB4c2k6dHlwZT0iQXMiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIzNzkiIGxvY2F0b3I9IjExNzoxMC0xMTc6MjciIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJObyB0ZXN0IGNhc2Ugc2V0IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8YXNUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjM5OCIgeHNpOnR5cGU9IkNob2ljZVR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8Y2hvaWNlIGxvY2FsSWQ9IjM5OSIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgICAgICAgICAgIDxjaG9pY2UgbG9jYWxJZD0iNDAwIiBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICAgICAgICA8L2FzVHlwZVNwZWNpZmllcj4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"
}
]
}