SMART DAK Cervical Cancer Screening
0.0.1 - ci-build

SMART DAK Cervical Cancer Screening, published by Dan Heslinga (independent contributor). This guide is not an authorized publication; it is the continuous build for version 0.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/dhes/smart-dak-cxca/ and changes regularly. See the Directory of published versions

: CXCAD18SRecallSchedulingLogic - JSON Representation

Draft as of 2026-05-14

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "CXCAD18SRecallSchedulingLogic",
  "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;\">CXCAD18SRecallSchedulingLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">CXCAD18SRecallSchedulingLogic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.0.1</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-CXCAD18SRecallSchedulingLogic.html\">CXCAD18SRecallSchedulingLogic</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.1.0/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-05-14 00:50:23+0000</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Publisher: </b></th>\n            <td style=\"padding-left: 4px;\">Dan Heslinga (independent contributor)</td>\n        </tr>\n        \n\n        \n        <tr>\n            <th scope=\"row\"><b>Description: </b></th>\n            <td style=\"padding-left: 4px;\"><div><p>CQL logic library for the recall and re-call decision (CXCA.D18.S — scheduling). Encodes the seven timeout triggers from A/641 (2020) section 2.3 (HPV sample timeout, positive-result follow-up timeout, biopsy timeout, treatment-after-biopsy timeout, cytology unread timeout, second-reminder, missed scheduled exam). Each trigger maps to a CXCA.D recall-reason code (DE38–DE44). Source CQL is at input/cql/CXCAD18SRecallSchedulingLogic.cql.</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\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>HPVSampleResultTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>PositiveResultFollowUpTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>BiopsyResultTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>TreatmentAfterPositiveBiopsyTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>CytologySlideUnreadTimedOut</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>FirstReminderUnresolvedAtSecondTimeout</th><th>boolean</th><th>0</th><th>1</th><th>In</th></tr>\n              \n                <tr><th>MissedScheduledExamination</th><th>boolean</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>Recall — HPV sample result timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — positive result follow-up timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — biopsy result timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — treatment after positive biopsy timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — cytology slide unread timeout</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — second reminder needed</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Recall — missed scheduled examination</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Any recall trigger fired</th><th>boolean</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: CXCAD18SRecallSchedulingLogic\n *\n * Decision: Should a recall reminder be issued for this patient?\n * L2 Source: A/641 (2020) section 2.3 — recall and re-call system\n * Trigger: Periodic batch sweep across the screening registry, OR encounter-time check\n *\n * THE RECALL TRIGGER MATRIX (per A/641 section 2.3, p. 28):\n *\n *   Trigger                                   | Clock starts at        | Threshold\n *   ──────────────────────────────────────────────────────────────────────────────\n *   HPV result not in registry                | sample dispatched      | 3 weeks\n *   Cytology slide unread                     | slide received at lab  | 2 weeks\n *   Positive result, no follow-up exam        | result entered         | 4 weeks\n *   Biopsy unread                             | tissue received at lab | 4 weeks\n *   Positive biopsy, no treatment record      | dx entered             | 4 weeks\n *   Second reminder                           | 1st reminder sent      | 4 weeks\n *   Client missed scheduled exam              | scheduled date         | (immediate)\n *\n * Each trigger maps to a CXCA.D recall-reason code (DE38–DE44) which becomes\n * the reasonCode on the issued CommunicationRequest.\n *\n * METHODOLOGY ECHO:\n * The 187 LTFU women from the April 2026 Khan-Uul pilot represent the\n * empirical motivation for this layer. The DE39 trigger (&quot;positive result,\n * no follow-up exam&quot;) fires automatically 4 weeks after a positive HPV\n * result without follow-up — exactly the moment when each of those 187\n * women should have triggered a reminder. The Phase 4 NotDone profile\n * captures the *outcome* of LTFU; this layer captures the *process* that\n * either prevents LTFU or surfaces it for explicit documentation.\n *\n * Phase 5 placeholder — real implementation queries time intervals across\n * Patient → ServiceRequest → Observation → Procedure chains. The shared\n * CXCAElements layer (chunk 8) will provide the timeAgo helpers.\n */\n\nlibrary CXCAD18SRecallSchedulingLogic version '0.0.1'\n\nusing FHIR version '4.0.1'\n\ninclude FHIRHelpers version '4.0.1'\n\nparameter Today Date default Today()\n\n// Placeholders — to be replaced with FHIR queries via the shared CXCAElements\n// layer. Each parameter represents a per-patient timeout state.\nparameter &quot;HPVSampleResultTimedOut&quot; Boolean default false\nparameter &quot;PositiveResultFollowUpTimedOut&quot; Boolean default false\nparameter &quot;BiopsyResultTimedOut&quot; Boolean default false\nparameter &quot;TreatmentAfterPositiveBiopsyTimedOut&quot; Boolean default false\nparameter &quot;CytologySlideUnreadTimedOut&quot; Boolean default false\nparameter &quot;FirstReminderUnresolvedAtSecondTimeout&quot; Boolean default false\nparameter &quot;MissedScheduledExamination&quot; Boolean default false\n\ncontext Patient\n\n// =============================================================================\n// Recall trigger rules — one per A/641 section 2.3 timeout\n// =============================================================================\n\n/*\n * @output: CXCA.D#DE38 &quot;Recall: HPV sample result timeout (3 weeks)&quot;\n */\ndefine &quot;Recall — HPV sample result timeout&quot;:\n  &quot;HPVSampleResultTimedOut&quot;\n\n/*\n * @output: CXCA.D#DE39 &quot;Recall: positive result follow-up timeout (4 weeks)&quot;\n * The single most important trigger — fires for the LTFU population from\n * the April 2026 Khan-Uul pilot.\n */\ndefine &quot;Recall — positive result follow-up timeout&quot;:\n  &quot;PositiveResultFollowUpTimedOut&quot;\n\n/*\n * @output: CXCA.D#DE40 &quot;Recall: biopsy result timeout (4 weeks)&quot;\n */\ndefine &quot;Recall — biopsy result timeout&quot;:\n  &quot;BiopsyResultTimedOut&quot;\n\n/*\n * @output: CXCA.D#DE41 &quot;Recall: treatment timeout after positive biopsy (4 weeks)&quot;\n */\ndefine &quot;Recall — treatment after positive biopsy timeout&quot;:\n  &quot;TreatmentAfterPositiveBiopsyTimedOut&quot;\n\n/*\n * @output: CXCA.D#DE42 &quot;Recall: cytology slide unread timeout (2 weeks)&quot;\n */\ndefine &quot;Recall — cytology slide unread timeout&quot;:\n  &quot;CytologySlideUnreadTimedOut&quot;\n\n/*\n * @output: CXCA.D#DE43 &quot;Recall: second reminder (4 weeks after first)&quot;\n */\ndefine &quot;Recall — second reminder needed&quot;:\n  &quot;FirstReminderUnresolvedAtSecondTimeout&quot;\n\n/*\n * @output: CXCA.D#DE44 &quot;Recall: missed scheduled examination&quot;\n * No timeout — fires immediately once a missed appointment is detected.\n */\ndefine &quot;Recall — missed scheduled examination&quot;:\n  &quot;MissedScheduledExamination&quot;\n\n/*\n * @internal: any recall trigger fired\n */\ndefine &quot;Any recall trigger fired&quot;:\n  &quot;Recall — HPV sample result timeout&quot;\n    or &quot;Recall — positive result follow-up timeout&quot;\n    or &quot;Recall — biopsy result timeout&quot;\n    or &quot;Recall — treatment after positive biopsy timeout&quot;\n    or &quot;Recall — cytology slide unread timeout&quot;\n    or &quot;Recall — second reminder needed&quot;\n    or &quot;Recall — missed scheduled examination&quot;\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 (27068 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/cxca/Library/CXCAD18SRecallSchedulingLogic",
  "version" : "0.0.1",
  "name" : "CXCAD18SRecallSchedulingLogic",
  "title" : "CXCAD18SRecallSchedulingLogic",
  "status" : "draft",
  "experimental" : false,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2026-05-14T00:50:23+00:00",
  "publisher" : "Dan Heslinga (independent contributor)",
  "contact" : [
    {
      "name" : "Dan Heslinga (independent contributor)",
      "telecom" : [
        {
          "system" : "url",
          "value" : "https://github.com/dhes"
        }
      ]
    }
  ],
  "description" : "CQL logic library for the recall and re-call decision (CXCA.D18.S — scheduling). Encodes the seven timeout triggers from A/641 (2020) section 2.3 (HPV sample timeout, positive-result follow-up timeout, biopsy timeout, treatment-after-biopsy timeout, cytology unread timeout, second-reminder, missed scheduled exam). Each trigger maps to a CXCA.D recall-reason code (DE38–DE44). Source CQL is at input/cql/CXCAD18SRecallSchedulingLogic.cql.",
  "parameter" : [
    {
      "name" : "Today",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "date"
    },
    {
      "name" : "HPVSampleResultTimedOut",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "PositiveResultFollowUpTimedOut",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "BiopsyResultTimedOut",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "TreatmentAfterPositiveBiopsyTimedOut",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "CytologySlideUnreadTimedOut",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "FirstReminderUnresolvedAtSecondTimeout",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "MissedScheduledExamination",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Patient",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "Patient"
    },
    {
      "name" : "Recall — HPV sample result timeout",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Recall — positive result follow-up timeout",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Recall — biopsy result timeout",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Recall — treatment after positive biopsy timeout",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Recall — cytology slide unread timeout",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Recall — second reminder needed",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Recall — missed scheduled examination",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    },
    {
      "name" : "Any recall trigger fired",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "type" : "boolean"
    }
  ],
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoKICogTGlicmFyeTogQ1hDQUQxOFNSZWNhbGxTY2hlZHVsaW5nTG9naWMKICoKICogRGVjaXNpb246IFNob3VsZCBhIHJlY2FsbCByZW1pbmRlciBiZSBpc3N1ZWQgZm9yIHRoaXMgcGF0aWVudD8KICogTDIgU291cmNlOiBBLzY0MSAoMjAyMCkgc2VjdGlvbiAyLjMg4oCUIHJlY2FsbCBhbmQgcmUtY2FsbCBzeXN0ZW0KICogVHJpZ2dlcjogUGVyaW9kaWMgYmF0Y2ggc3dlZXAgYWNyb3NzIHRoZSBzY3JlZW5pbmcgcmVnaXN0cnksIE9SIGVuY291bnRlci10aW1lIGNoZWNrCiAqCiAqIFRIRSBSRUNBTEwgVFJJR0dFUiBNQVRSSVggKHBlciBBLzY0MSBzZWN0aW9uIDIuMywgcC4gMjgpOgogKgogKiAgIFRyaWdnZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ2xvY2sgc3RhcnRzIGF0ICAgICAgICB8IFRocmVzaG9sZAogKiAgIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgAogKiAgIEhQViByZXN1bHQgbm90IGluIHJlZ2lzdHJ5ICAgICAgICAgICAgICAgIHwgc2FtcGxlIGRpc3BhdGNoZWQgICAgICB8IDMgd2Vla3MKICogICBDeXRvbG9neSBzbGlkZSB1bnJlYWQgICAgICAgICAgICAgICAgICAgICB8IHNsaWRlIHJlY2VpdmVkIGF0IGxhYiAgfCAyIHdlZWtzCiAqICAgUG9zaXRpdmUgcmVzdWx0LCBubyBmb2xsb3ctdXAgZXhhbSAgICAgICAgfCByZXN1bHQgZW50ZXJlZCAgICAgICAgIHwgNCB3ZWVrcwogKiAgIEJpb3BzeSB1bnJlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGlzc3VlIHJlY2VpdmVkIGF0IGxhYiB8IDQgd2Vla3MKICogICBQb3NpdGl2ZSBiaW9wc3ksIG5vIHRyZWF0bWVudCByZWNvcmQgICAgICB8IGR4IGVudGVyZWQgICAgICAgICAgICAgfCA0IHdlZWtzCiAqICAgU2Vjb25kIHJlbWluZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxc3QgcmVtaW5kZXIgc2VudCAgICAgIHwgNCB3ZWVrcwogKiAgIENsaWVudCBtaXNzZWQgc2NoZWR1bGVkIGV4YW0gICAgICAgICAgICAgIHwgc2NoZWR1bGVkIGRhdGUgICAgICAgICB8IChpbW1lZGlhdGUpCiAqCiAqIEVhY2ggdHJpZ2dlciBtYXBzIHRvIGEgQ1hDQS5EIHJlY2FsbC1yZWFzb24gY29kZSAoREUzOOKAk0RFNDQpIHdoaWNoIGJlY29tZXMKICogdGhlIHJlYXNvbkNvZGUgb24gdGhlIGlzc3VlZCBDb21tdW5pY2F0aW9uUmVxdWVzdC4KICoKICogTUVUSE9ET0xPR1kgRUNITzoKICogVGhlIDE4NyBMVEZVIHdvbWVuIGZyb20gdGhlIEFwcmlsIDIwMjYgS2hhbi1VdWwgcGlsb3QgcmVwcmVzZW50IHRoZQogKiBlbXBpcmljYWwgbW90aXZhdGlvbiBmb3IgdGhpcyBsYXllci4gVGhlIERFMzkgdHJpZ2dlciAoInBvc2l0aXZlIHJlc3VsdCwKICogbm8gZm9sbG93LXVwIGV4YW0iKSBmaXJlcyBhdXRvbWF0aWNhbGx5IDQgd2Vla3MgYWZ0ZXIgYSBwb3NpdGl2ZSBIUFYKICogcmVzdWx0IHdpdGhvdXQgZm9sbG93LXVwIOKAlCBleGFjdGx5IHRoZSBtb21lbnQgd2hlbiBlYWNoIG9mIHRob3NlIDE4NwogKiB3b21lbiBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgYSByZW1pbmRlci4gVGhlIFBoYXNlIDQgTm90RG9uZSBwcm9maWxlCiAqIGNhcHR1cmVzIHRoZSAqb3V0Y29tZSogb2YgTFRGVTsgdGhpcyBsYXllciBjYXB0dXJlcyB0aGUgKnByb2Nlc3MqIHRoYXQKICogZWl0aGVyIHByZXZlbnRzIExURlUgb3Igc3VyZmFjZXMgaXQgZm9yIGV4cGxpY2l0IGRvY3VtZW50YXRpb24uCiAqCiAqIFBoYXNlIDUgcGxhY2Vob2xkZXIg4oCUIHJlYWwgaW1wbGVtZW50YXRpb24gcXVlcmllcyB0aW1lIGludGVydmFscyBhY3Jvc3MKICogUGF0aWVudCDihpIgU2VydmljZVJlcXVlc3Qg4oaSIE9ic2VydmF0aW9uIOKGkiBQcm9jZWR1cmUgY2hhaW5zLiBUaGUgc2hhcmVkCiAqIENYQ0FFbGVtZW50cyBsYXllciAoY2h1bmsgOCkgd2lsbCBwcm92aWRlIHRoZSB0aW1lQWdvIGhlbHBlcnMuCiAqLwoKbGlicmFyeSBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYyB2ZXJzaW9uICcwLjAuMScKCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKcGFyYW1ldGVyIFRvZGF5IERhdGUgZGVmYXVsdCBUb2RheSgpCgovLyBQbGFjZWhvbGRlcnMg4oCUIHRvIGJlIHJlcGxhY2VkIHdpdGggRkhJUiBxdWVyaWVzIHZpYSB0aGUgc2hhcmVkIENYQ0FFbGVtZW50cwovLyBsYXllci4gRWFjaCBwYXJhbWV0ZXIgcmVwcmVzZW50cyBhIHBlci1wYXRpZW50IHRpbWVvdXQgc3RhdGUuCnBhcmFtZXRlciAiSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIlBvc2l0aXZlUmVzdWx0Rm9sbG93VXBUaW1lZE91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiQmlvcHN5UmVzdWx0VGltZWRPdXQiIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQpwYXJhbWV0ZXIgIlRyZWF0bWVudEFmdGVyUG9zaXRpdmVCaW9wc3lUaW1lZE91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IiBCb29sZWFuIGRlZmF1bHQgZmFsc2UKcGFyYW1ldGVyICJGaXJzdFJlbWluZGVyVW5yZXNvbHZlZEF0U2Vjb25kVGltZW91dCIgQm9vbGVhbiBkZWZhdWx0IGZhbHNlCnBhcmFtZXRlciAiTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIEJvb2xlYW4gZGVmYXVsdCBmYWxzZQoKY29udGV4dCBQYXRpZW50CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBSZWNhbGwgdHJpZ2dlciBydWxlcyDigJQgb25lIHBlciBBLzY0MSBzZWN0aW9uIDIuMyB0aW1lb3V0Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOCAiUmVjYWxsOiBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0ICgzIHdlZWtzKSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0IjoKICAiSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiCgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOSAiUmVjYWxsOiBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQgKDQgd2Vla3MpIgogKiBUaGUgc2luZ2xlIG1vc3QgaW1wb3J0YW50IHRyaWdnZXIg4oCUIGZpcmVzIGZvciB0aGUgTFRGVSBwb3B1bGF0aW9uIGZyb20KICogdGhlIEFwcmlsIDIwMjYgS2hhbi1VdWwgcGlsb3QuCiAqLwpkZWZpbmUgIlJlY2FsbCDigJQgcG9zaXRpdmUgcmVzdWx0IGZvbGxvdy11cCB0aW1lb3V0IjoKICAiUG9zaXRpdmVSZXN1bHRGb2xsb3dVcFRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDAgIlJlY2FsbDogYmlvcHN5IHJlc3VsdCB0aW1lb3V0ICg0IHdlZWtzKSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQiOgogICJCaW9wc3lSZXN1bHRUaW1lZE91dCIKCi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQxICJSZWNhbGw6IHRyZWF0bWVudCB0aW1lb3V0IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSAoNCB3ZWVrcykiCiAqLwpkZWZpbmUgIlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IjoKICAiVHJlYXRtZW50QWZ0ZXJQb3NpdGl2ZUJpb3BzeVRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDIgIlJlY2FsbDogY3l0b2xvZ3kgc2xpZGUgdW5yZWFkIHRpbWVvdXQgKDIgd2Vla3MpIgogKi8KZGVmaW5lICJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IjoKICAiQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IgoKLyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDMgIlJlY2FsbDogc2Vjb25kIHJlbWluZGVyICg0IHdlZWtzIGFmdGVyIGZpcnN0KSIKICovCmRlZmluZSAiUmVjYWxsIOKAlCBzZWNvbmQgcmVtaW5kZXIgbmVlZGVkIjoKICAiRmlyc3RSZW1pbmRlclVucmVzb2x2ZWRBdFNlY29uZFRpbWVvdXQiCgovKgogKiBAb3V0cHV0OiBDWENBLkQjREU0NCAiUmVjYWxsOiBtaXNzZWQgc2NoZWR1bGVkIGV4YW1pbmF0aW9uIgogKiBObyB0aW1lb3V0IOKAlCBmaXJlcyBpbW1lZGlhdGVseSBvbmNlIGEgbWlzc2VkIGFwcG9pbnRtZW50IGlzIGRldGVjdGVkLgogKi8KZGVmaW5lICJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iOgogICJNaXNzZWRTY2hlZHVsZWRFeGFtaW5hdGlvbiIKCi8qCiAqIEBpbnRlcm5hbDogYW55IHJlY2FsbCB0cmlnZ2VyIGZpcmVkCiAqLwpkZWZpbmUgIkFueSByZWNhbGwgdHJpZ2dlciBmaXJlZCI6CiAgIlJlY2FsbCDigJQgSFBWIHNhbXBsZSByZXN1bHQgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIHRyZWF0bWVudCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgdGltZW91dCIKICAgIG9yICJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IgogICAgb3IgIlJlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCIKICAgIG9yICJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iCg=="
    },
    {
      "contentType" : "application/elm+xml",
      "data" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSIgbG9jYWxJZD0iMCI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24gbWVzc2FnZT0iQW4gb3BlcmFuZCBpZGVudGlmaWVyIHJlZmVyZW5jZSBpcyBoaWRpbmcgYW5vdGhlciBpZGVudGlmaWVyIG9mIHRoZSBzYW1lIG5hbWUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIG1lc3NhZ2U9IkFuIG9wZXJhbmQgaWRlbnRpZmllciByZWZlcmVuY2UgaXMgaGlkaW5nIGFub3RoZXIgaWRlbnRpZmllciBvZiB0aGUgc2FtZSBuYW1lLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBtZXNzYWdlPSJBbiBvcGVyYW5kIGlkZW50aWZpZXIgcmVmZXJlbmNlIGlzIGhpZGluZyBhbm90aGVyIGlkZW50aWZpZXIgb2YgdGhlIHNhbWUgbmFtZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgPGE6cz4vKgogKiBMaWJyYXJ5OiBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYwogKgogKiBEZWNpc2lvbjogU2hvdWxkIGEgcmVjYWxsIHJlbWluZGVyIGJlIGlzc3VlZCBmb3IgdGhpcyBwYXRpZW50PwogKiBMMiBTb3VyY2U6IEEvNjQxICgyMDIwKSBzZWN0aW9uIDIuMyDigJQgcmVjYWxsIGFuZCByZS1jYWxsIHN5c3RlbQogKiBUcmlnZ2VyOiBQZXJpb2RpYyBiYXRjaCBzd2VlcCBhY3Jvc3MgdGhlIHNjcmVlbmluZyByZWdpc3RyeSwgT1IgZW5jb3VudGVyLXRpbWUgY2hlY2sKICoKICogVEhFIFJFQ0FMTCBUUklHR0VSIE1BVFJJWCAocGVyIEEvNjQxIHNlY3Rpb24gMi4zLCBwLiAyOCk6CiAqCiAqICAgVHJpZ2dlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDbG9jayBzdGFydHMgYXQgICAgICAgIHwgVGhyZXNob2xkCiAqICAg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSACiAqICAgSFBWIHJlc3VsdCBub3QgaW4gcmVnaXN0cnkgICAgICAgICAgICAgICAgfCBzYW1wbGUgZGlzcGF0Y2hlZCAgICAgIHwgMyB3ZWVrcwogKiAgIEN5dG9sb2d5IHNsaWRlIHVucmVhZCAgICAgICAgICAgICAgICAgICAgIHwgc2xpZGUgcmVjZWl2ZWQgYXQgbGFiICB8IDIgd2Vla3MKICogICBQb3NpdGl2ZSByZXN1bHQsIG5vIGZvbGxvdy11cCBleGFtICAgICAgICB8IHJlc3VsdCBlbnRlcmVkICAgICAgICAgfCA0IHdlZWtzCiAqICAgQmlvcHN5IHVucmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aXNzdWUgcmVjZWl2ZWQgYXQgbGFiIHwgNCB3ZWVrcwogKiAgIFBvc2l0aXZlIGJpb3BzeSwgbm8gdHJlYXRtZW50IHJlY29yZCAgICAgIHwgZHggZW50ZXJlZCAgICAgICAgICAgICB8IDQgd2Vla3MKICogICBTZWNvbmQgcmVtaW5kZXIgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDFzdCByZW1pbmRlciBzZW50ICAgICAgfCA0IHdlZWtzCiAqICAgQ2xpZW50IG1pc3NlZCBzY2hlZHVsZWQgZXhhbSAgICAgICAgICAgICAgfCBzY2hlZHVsZWQgZGF0ZSAgICAgICAgIHwgKGltbWVkaWF0ZSkKICoKICogRWFjaCB0cmlnZ2VyIG1hcHMgdG8gYSBDWENBLkQgcmVjYWxsLXJlYXNvbiBjb2RlIChERTM44oCTREU0NCkgd2hpY2ggYmVjb21lcwogKiB0aGUgcmVhc29uQ29kZSBvbiB0aGUgaXNzdWVkIENvbW11bmljYXRpb25SZXF1ZXN0LgogKgogKiBNRVRIT0RPTE9HWSBFQ0hPOgogKiBUaGUgMTg3IExURlUgd29tZW4gZnJvbSB0aGUgQXByaWwgMjAyNiBLaGFuLVV1bCBwaWxvdCByZXByZXNlbnQgdGhlCiAqIGVtcGlyaWNhbCBtb3RpdmF0aW9uIGZvciB0aGlzIGxheWVyLiBUaGUgREUzOSB0cmlnZ2VyICgmcXVvdDtwb3NpdGl2ZSByZXN1bHQsCiAqIG5vIGZvbGxvdy11cCBleGFtJnF1b3Q7KSBmaXJlcyBhdXRvbWF0aWNhbGx5IDQgd2Vla3MgYWZ0ZXIgYSBwb3NpdGl2ZSBIUFYKICogcmVzdWx0IHdpdGhvdXQgZm9sbG93LXVwIOKAlCBleGFjdGx5IHRoZSBtb21lbnQgd2hlbiBlYWNoIG9mIHRob3NlIDE4NwogKiB3b21lbiBzaG91bGQgaGF2ZSB0cmlnZ2VyZWQgYSByZW1pbmRlci4gVGhlIFBoYXNlIDQgTm90RG9uZSBwcm9maWxlCiAqIGNhcHR1cmVzIHRoZSAqb3V0Y29tZSogb2YgTFRGVTsgdGhpcyBsYXllciBjYXB0dXJlcyB0aGUgKnByb2Nlc3MqIHRoYXQKICogZWl0aGVyIHByZXZlbnRzIExURlUgb3Igc3VyZmFjZXMgaXQgZm9yIGV4cGxpY2l0IGRvY3VtZW50YXRpb24uCiAqCiAqIFBoYXNlIDUgcGxhY2Vob2xkZXIg4oCUIHJlYWwgaW1wbGVtZW50YXRpb24gcXVlcmllcyB0aW1lIGludGVydmFscyBhY3Jvc3MKICogUGF0aWVudCDihpIgU2VydmljZVJlcXVlc3Qg4oaSIE9ic2VydmF0aW9uIOKGkiBQcm9jZWR1cmUgY2hhaW5zLiBUaGUgc2hhcmVkCiAqIENYQ0FFbGVtZW50cyBsYXllciAoY2h1bmsgOCkgd2lsbCBwcm92aWRlIHRoZSB0aW1lQWdvIGhlbHBlcnMuCiAqLwoKbGlicmFyeSBDWENBRDE4U1JlY2FsbFNjaGVkdWxpbmdMb2dpYyB2ZXJzaW9uICcwLjAuMSc8L2E6cz4KICAgICAgPC9hOnM+CiAgIDwvYW5ub3RhdGlvbj4KICAgPGlkZW50aWZpZXIgaWQ9IkNYQ0FEMThTUmVjYWxsU2NoZWR1bGluZ0xvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L2N4Y2EiIHZlcnNpb249IjAuMC4xIi8+CiAgIDxzY2hlbWFJZGVudGlmaWVyIGlkPSJ1cm46aGw3LW9yZzplbG0iIHZlcnNpb249InIxIi8+CiAgIDx1c2luZ3M+CiAgICAgIDxkZWYgbG9jYWxJZD0iMSIgbG9jYWxJZGVudGlmaWVyPSJTeXN0ZW0iIHVyaT0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB2ZXJzaW9uPSIxLjAuMCIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIwNiIgbG9jYXRvcj0iMzk6MS0zOToyNiIgbG9jYWxJZGVudGlmaWVyPSJGSElSIiB1cmk9Imh0dHA6Ly9obDcub3JnL2ZoaXIiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjA2Ij4KICAgICAgICAgICAgICAgPGE6cz51c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjA4IiBsb2NhdG9yPSI0MToxLTQxOjM1IiBsb2NhbElkZW50aWZpZXI9IkZISVJIZWxwZXJzIiBwYXRoPSJodHRwOi8vaGw3Lm9yZy9maGlyL0ZISVJIZWxwZXJzIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjIwOCI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICA8L2luY2x1ZGVzPgogICA8cGFyYW1ldGVycz4KICAgICAgPGRlZiBsb2NhbElkPSIyMTAiIGxvY2F0b3I9IjQzOjEtNDM6MzYiIG5hbWU9IlRvZGF5IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjEwIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgVG9kYXkgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE0Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5EYXRlPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBkZWZhdWx0IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIxMyI+CiAgICAgICAgICAgICAgICAgIDxhOnM+VG9kYXkoKTwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjEzIiBsb2NhdG9yPSI0MzozMC00MzozNiIgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIxNCIgbG9jYXRvcj0iNDM6MTctNDM6MjAiIG5hbWU9InQ6RGF0ZSIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMTYiIGxvY2F0b3I9IjQ3OjEtNDc6NTciIG5hbWU9IkhQVlNhbXBsZVJlc3VsdFRpbWVkT3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjE2Ij4KICAgICAgICAgICAgICAgPGE6cz4vLyBQbGFjZWhvbGRlcnMg4oCUIHRvIGJlIHJlcGxhY2VkIHdpdGggRkhJUiBxdWVyaWVzIHZpYSB0aGUgc2hhcmVkIENYQ0FFbGVtZW50cwovLyBsYXllci4gRWFjaCBwYXJhbWV0ZXIgcmVwcmVzZW50cyBhIHBlci1wYXRpZW50IHRpbWVvdXQgc3RhdGUuCnBhcmFtZXRlciAmcXVvdDtIUFZTYW1wbGVSZXN1bHRUaW1lZE91dCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMTgiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjE3Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMTciIGxvY2F0b3I9IjQ3OjUzLTQ3OjU3IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMTgiIGxvY2F0b3I9IjQ3OjM3LTQ3OjQzIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjIwIiBsb2NhdG9yPSI0ODoxLTQ4OjY0IiBuYW1lPSJQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjAiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjIyIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyMSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjIxIiBsb2NhdG9yPSI0ODo2MC00ODo2NCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjIyIiBsb2NhdG9yPSI0ODo0NC00ODo1MCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIyNCIgbG9jYXRvcj0iNDk6MS00OTo1NCIgbmFtZT0iQmlvcHN5UmVzdWx0VGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjQiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtCaW9wc3lSZXN1bHRUaW1lZE91dCZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMjYiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjI1Ij4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyMjUiIGxvY2F0b3I9IjQ5OjUwLTQ5OjU0IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyMjYiIGxvY2F0b3I9IjQ5OjM0LTQ5OjQwIiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjI4IiBsb2NhdG9yPSI1MDoxLTUwOjcwIiBuYW1lPSJUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyMjgiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjMwIj4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIyOSI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjI5IiBsb2NhdG9yPSI1MDo2Ni01MDo3MCIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjMwIiBsb2NhdG9yPSI1MDo1MC01MDo1NiIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjIzMiIgbG9jYXRvcj0iNTE6MS01MTo2MSIgbmFtZT0iQ3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjMyIj4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7Q3l0b2xvZ3lTbGlkZVVucmVhZFRpbWVkT3V0JnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNCI+CiAgICAgICAgICAgICAgICAgIDxhOnM+Qm9vbGVhbjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyMzMiPiBkZWZhdWx0IGZhbHNlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxkZWZhdWx0IGxvY2FsSWQ9IjIzMyIgbG9jYXRvcj0iNTE6NTctNTE6NjEiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjIzNCIgbG9jYXRvcj0iNTE6NDEtNTE6NDciIG5hbWU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyMzYiIGxvY2F0b3I9IjUyOjEtNTI6NzIiIG5hbWU9IkZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMjM2Ij4KICAgICAgICAgICAgICAgPGE6cz5wYXJhbWV0ZXIgJnF1b3Q7Rmlyc3RSZW1pbmRlclVucmVzb2x2ZWRBdFNlY29uZFRpbWVvdXQmcXVvdDsgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjM4Ij4KICAgICAgICAgICAgICAgICAgPGE6cz5Cb29sZWFuPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjIzNyI+IGRlZmF1bHQgZmFsc2U8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGRlZmF1bHQgbG9jYWxJZD0iMjM3IiBsb2NhdG9yPSI1Mjo2OC01Mjo3MiIgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgbG9jYWxJZD0iMjM4IiBsb2NhdG9yPSI1Mjo1Mi01Mjo1OCIgbmFtZT0idDpCb29sZWFuIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0MCIgbG9jYXRvcj0iNTM6MS01Mzo2MCIgbmFtZT0iTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIyNDAiPgogICAgICAgICAgICAgICA8YTpzPnBhcmFtZXRlciAmcXVvdDtNaXNzZWRTY2hlZHVsZWRFeGFtaW5hdGlvbiZxdW90OyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNDIiPgogICAgICAgICAgICAgICAgICA8YTpzPkJvb2xlYW48L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjQxIj4gZGVmYXVsdCBmYWxzZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSIyNDEiIGxvY2F0b3I9IjUzOjU2LTUzOjYwIiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9ImZhbHNlIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICA8cGFyYW1ldGVyVHlwZVNwZWNpZmllciBsb2NhbElkPSIyNDIiIGxvY2F0b3I9IjUzOjQwLTUzOjQ2IiBuYW1lPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI0NyIgbG9jYXRvcj0iNTU6MS01NToxNSIgbmFtZT0iUGF0aWVudCIvPgogICA8L2NvbnRleHRzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBsb2NhbElkPSIyNDUiIGxvY2F0b3I9IjU1OjEtNTU6MTUiIG5hbWU9IlBhdGllbnQiIGNvbnRleHQ9IlBhdGllbnQiPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNDYiIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjQ0IiBsb2NhdG9yPSI1NToxLTU1OjE1IiBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB0ZW1wbGF0ZUlkPSJodHRwOi8vaGw3Lm9yZy9maGlyL1N0cnVjdHVyZURlZmluaXRpb24vUGF0aWVudCIgeHNpOnR5cGU9IlJldHJpZXZlIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjUwIiBsb2NhdG9yPSI2NDoxLTY1OjI3IiBuYW1lPSJSZWNhbGwg4oCUIEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQgKDMgd2Vla3MpJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjUwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLyBSZWNhbGwgdHJpZ2dlciBydWxlcyDigJQgb25lIHBlciBBLzY0MSBzZWN0aW9uIDIuMyB0aW1lb3V0Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgovKgogKiBAb3V0cHV0OiBDWENBLkQjREUzOCAmcXVvdDtSZWNhbGw6IEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQgKDMgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBIUFYgc2FtcGxlIHJlc3VsdCB0aW1lb3V0JnF1b3Q7OgogIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjI1MSI+CiAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7SFBWU2FtcGxlUmVzdWx0VGltZWRPdXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI1MSIgbG9jYXRvcj0iNjU6My02NToyNyIgbmFtZT0iSFBWU2FtcGxlUmVzdWx0VGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU0IiBsb2NhdG9yPSI3MjoxLTczOjM0IiBuYW1lPSJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IiZxdW90O1JlY2FsbDogcG9zaXRpdmUgcmVzdWx0IGZvbGxvdy11cCB0aW1lb3V0ICg0IHdlZWtzKSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1NCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogQG91dHB1dDogQ1hDQS5EI0RFMzkgJnF1b3Q7UmVjYWxsOiBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQgKDQgd2Vla3MpJnF1b3Q7CiAqIFRoZSBzaW5nbGUgbW9zdCBpbXBvcnRhbnQgdHJpZ2dlciDigJQgZmlyZXMgZm9yIHRoZSBMVEZVIHBvcHVsYXRpb24gZnJvbQogKiB0aGUgQXByaWwgMjAyNiBLaGFuLVV1bCBwaWxvdC4KICovCmRlZmluZSAmcXVvdDtSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNTUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1Bvc2l0aXZlUmVzdWx0Rm9sbG93VXBUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU1IiBsb2NhdG9yPSI3MzozLTczOjM0IiBuYW1lPSJQb3NpdGl2ZVJlc3VsdEZvbGxvd1VwVGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjU4IiBsb2NhdG9yPSI3ODoxLTc5OjI0IiBuYW1lPSJSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9Im91dHB1dCIgdmFsdWU9IiZxdW90O1JlY2FsbDogYmlvcHN5IHJlc3VsdCB0aW1lb3V0ICg0IHdlZWtzKSZxdW90OyIvPgogICAgICAgICAgICA8YTpzIHI9IjI1OCI+CiAgICAgICAgICAgICAgIDxhOnM+LyoKICogQG91dHB1dDogQ1hDQS5EI0RFNDAgJnF1b3Q7UmVjYWxsOiBiaW9wc3kgcmVzdWx0IHRpbWVvdXQgKDQgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQmcXVvdDs6CiAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMjU5Ij4KICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtCaW9wc3lSZXN1bHRUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjU5IiBsb2NhdG9yPSI3OTozLTc5OjI0IiBuYW1lPSJCaW9wc3lSZXN1bHRUaW1lZE91dCIgeHNpOnR5cGU9IlBhcmFtZXRlclJlZiIvPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBsb2NhbElkPSIyNjIiIGxvY2F0b3I9Ijg0OjEtODU6NDAiIG5hbWU9IlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iJnF1b3Q7UmVjYWxsOiB0cmVhdG1lbnQgdGltZW91dCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgKDQgd2Vla3MpJnF1b3Q7Ii8+CiAgICAgICAgICAgIDxhOnMgcj0iMjYyIj4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBAb3V0cHV0OiBDWENBLkQjREU0MSAmcXVvdDtSZWNhbGw6IHRyZWF0bWVudCB0aW1lb3V0IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSAoNCB3ZWVrcykmcXVvdDsKICovCmRlZmluZSAmcXVvdDtSZWNhbGwg4oCUIHRyZWF0bWVudCBhZnRlciBwb3NpdGl2ZSBiaW9wc3kgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjMiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1RyZWF0bWVudEFmdGVyUG9zaXRpdmVCaW9wc3lUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjYzIiBsb2NhdG9yPSI4NTozLTg1OjQwIiBuYW1lPSJUcmVhdG1lbnRBZnRlclBvc2l0aXZlQmlvcHN5VGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjY2IiBsb2NhdG9yPSI5MDoxLTkxOjMxIiBuYW1lPSJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnQgbmFtZT0ib3V0cHV0IiB2YWx1ZT0iJnF1b3Q7UmVjYWxsOiBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCAoMiB3ZWVrcykmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNjYiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQyICZxdW90O1JlY2FsbDogY3l0b2xvZ3kgc2xpZGUgdW5yZWFkIHRpbWVvdXQgKDIgd2Vla3MpJnF1b3Q7CiAqLwpkZWZpbmUgJnF1b3Q7UmVjYWxsIOKAlCBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNjciPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0N5dG9sb2d5U2xpZGVVbnJlYWRUaW1lZE91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMjY3IiBsb2NhdG9yPSI5MTozLTkxOjMxIiBuYW1lPSJDeXRvbG9neVNsaWRlVW5yZWFkVGltZWRPdXQiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjcwIiBsb2NhdG9yPSI5NjoxLTk3OjQyIiBuYW1lPSJSZWNhbGwg4oCUIHNlY29uZCByZW1pbmRlciBuZWVkZWQiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IHNlY29uZCByZW1pbmRlciAoNCB3ZWVrcyBhZnRlciBmaXJzdCkmcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzAiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQzICZxdW90O1JlY2FsbDogc2Vjb25kIHJlbWluZGVyICg0IHdlZWtzIGFmdGVyIGZpcnN0KSZxdW90OwogKi8KZGVmaW5lICZxdW90O1JlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzEiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O0ZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzEiIGxvY2F0b3I9Ijk3OjMtOTc6NDIiIG5hbWU9IkZpcnN0UmVtaW5kZXJVbnJlc29sdmVkQXRTZWNvbmRUaW1lb3V0IiB4c2k6dHlwZT0iUGFyYW1ldGVyUmVmIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjI3NCIgbG9jYXRvcj0iMTAzOjEtMTA0OjMwIiBuYW1lPSJSZWNhbGwg4oCUIG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6dCBuYW1lPSJvdXRwdXQiIHZhbHVlPSImcXVvdDtSZWNhbGw6IG1pc3NlZCBzY2hlZHVsZWQgZXhhbWluYXRpb24mcXVvdDsiLz4KICAgICAgICAgICAgPGE6cyByPSIyNzQiPgogICAgICAgICAgICAgICA8YTpzPi8qCiAqIEBvdXRwdXQ6IENYQ0EuRCNERTQ0ICZxdW90O1JlY2FsbDogbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OwogKiBObyB0aW1lb3V0IOKAlCBmaXJlcyBpbW1lZGlhdGVseSBvbmNlIGEgbWlzc2VkIGFwcG9pbnRtZW50IGlzIGRldGVjdGVkLgogKi8KZGVmaW5lICZxdW90O1JlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzUiPgogICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O01pc3NlZFNjaGVkdWxlZEV4YW1pbmF0aW9uJnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIyNzUiIGxvY2F0b3I9IjEwNDozLTEwNDozMCIgbmFtZT0iTWlzc2VkU2NoZWR1bGVkRXhhbWluYXRpb24iIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMjc4IiBsb2NhdG9yPSIxMDk6MS0xMTY6NDYiIG5hbWU9IkFueSByZWNhbGwgdHJpZ2dlciBmaXJlZCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTp0IG5hbWU9ImludGVybmFsIiB2YWx1ZT0iYW55IHJlY2FsbCB0cmlnZ2VyIGZpcmVkIi8+CiAgICAgICAgICAgIDxhOnMgcj0iMjc4Ij4KICAgICAgICAgICAgICAgPGE6cz4vKgogKiBAaW50ZXJuYWw6IGFueSByZWNhbGwgdHJpZ2dlciBmaXJlZAogKi8KZGVmaW5lICZxdW90O0FueSByZWNhbGwgdHJpZ2dlciBmaXJlZCZxdW90OzoKICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSIyNzkiPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MCI+CiAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjgxIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4MyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg0Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgSFBWIHNhbXBsZSByZXN1bHQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4NiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVjYWxsIOKAlCBwb3NpdGl2ZSByZXN1bHQgZm9sbG93LXVwIHRpbWVvdXQmcXVvdDs8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPgogICAgb3IgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnMgcj0iMjg3Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4mcXVvdDtSZWNhbGwg4oCUIGJpb3BzeSByZXN1bHQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyODgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0JnF1b3Q7PC9hOnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgICAgPGE6cz4KICAgIG9yIDwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzIHI9IjI4OSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhOnM+JnF1b3Q7UmVjYWxsIOKAlCBjeXRvbG9neSBzbGlkZSB1bnJlYWQgdGltZW91dCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTAiPgogICAgICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgc2Vjb25kIHJlbWluZGVyIG5lZWRlZCZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+CiAgICBvciA8L2E6cz4KICAgICAgICAgICAgICAgICAgPGE6cyByPSIyOTEiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPiZxdW90O1JlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiZxdW90OzwvYTpzPgogICAgICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjI3OSIgbG9jYXRvcj0iMTEwOjMtMTE2OjQ2IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODAiIGxvY2F0b3I9IjExMDozLTExNTo0MCIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjgxIiBsb2NhdG9yPSIxMTA6My0xMTQ6NDciIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4MiIgbG9jYXRvcj0iMTEwOjMtMTEzOjU3IiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODMiIGxvY2F0b3I9IjExMDozLTExMjozOSIgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg0IiBsb2NhdG9yPSIxMTA6My0xMTE6NTEiIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NSIgbG9jYXRvcj0iMTEwOjMtMTEwOjM4IiBuYW1lPSJSZWNhbGwg4oCUIEhQViBzYW1wbGUgcmVzdWx0IHRpbWVvdXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4NiIgbG9jYXRvcj0iMTExOjgtMTExOjUxIiBuYW1lPSJSZWNhbGwg4oCUIHBvc2l0aXZlIHJlc3VsdCBmb2xsb3ctdXAgdGltZW91dCIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBsb2NhbElkPSIyODciIGxvY2F0b3I9IjExMjo4LTExMjozOSIgbmFtZT0iUmVjYWxsIOKAlCBiaW9wc3kgcmVzdWx0IHRpbWVvdXQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjg4IiBsb2NhdG9yPSIxMTM6OC0xMTM6NTciIG5hbWU9IlJlY2FsbCDigJQgdHJlYXRtZW50IGFmdGVyIHBvc2l0aXZlIGJpb3BzeSB0aW1lb3V0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI4OSIgbG9jYXRvcj0iMTE0OjgtMTE0OjQ3IiBuYW1lPSJSZWNhbGwg4oCUIGN5dG9sb2d5IHNsaWRlIHVucmVhZCB0aW1lb3V0IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIGxvY2FsSWQ9IjI5MCIgbG9jYXRvcj0iMTE1OjgtMTE1OjQwIiBuYW1lPSJSZWNhbGwg4oCUIHNlY29uZCByZW1pbmRlciBuZWVkZWQiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYWxJZD0iMjkxIiBsb2NhdG9yPSIxMTY6OC0xMTY6NDYiIG5hbWU9IlJlY2FsbCDigJQgbWlzc2VkIHNjaGVkdWxlZCBleGFtaW5hdGlvbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgPC9zdGF0ZW1lbnRzPgo8L2xpYnJhcnk+Cg=="
    }
  ]
}