WHO SMART Guidelines - HIV
0.3.0 - ci-build

WHO SMART Guidelines - HIV - Local Development build (v0.3.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

: HIV.IND.43 Logic - TTL Representation

Draft as of 2024-12-06

Raw ttl | Download

@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

 a fhir:Library ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "HIVIND43Logic"] ; # 
  fhir:meta [
    ( fhir:profile [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library>     ] [
fhir:v "http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"^^xsd:anyURI ;
fhir:link <http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module>     ] )
  ] ; # 
  fhir:text [
fhir:status [ fhir:v "extensions" ] ;
fhir: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;\">HIV.IND.43 Logic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">HIVIND43Logic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.3.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-HIVIND43Logic.html\">HIV.IND.43 Logic</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        <tr>\n            <th scope=\"row\"><b>Experimental: </b></th>\n            <td style=\"padding-left: 4px;\">true</td>\n        </tr>\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://hl7.org/fhir/R4/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;\">2024-12-06 22:28:12+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>% of pregnant women who are HIV-positive at the time of their first test during the current pregnancy</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><code>http://smart.who.int/hiv/Library/HIVCommon|0.0.1</code></li>\n                  \n                    <li><a href=\"Library-WHOCommon.html\">WHOCommon</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>Measurement Period</th><th>Period</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>Initial Population</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Numerator</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n              \n                <tr><th>Denominator</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: HIV.IND.43 Logic\n * Ref No: VER.7\n * Short Name: HIV prevalence among women attending ANC\n *\n * Definition: % of pregnant women who are HIV-positive at the time of their first test during the current pregnancy\n *\n * Numerator: Number of ANC attendees who tested HIV-positive at their first test during the current pregnancy plus number of ANC attendees known to be HIV-positive before their first ANC visit\n * Numerator Calculation: COUNT of &quot;Currently pregnant&quot; clients with &quot;HIV test result&quot;='HIV-positive' AND &quot;HIV test date&quot; on &quot;ANC contact date&quot; is EARLIEST within current pregnancy | PLUS | COUNT of clients with &quot;HIV status&quot;='HIV-positive' on first &quot;ANC contact date&quot;\n * Numerator Exclusions: \n *\n * Denominator: Number of ANC attendees receiving their first HIV test during pregnancy plus number of ANC attendees known to be HIV-positive before first ANC visit\n * Denominator Calculation: COUNT of &quot;Currently pregnant&quot; clients with &quot;HIV test date&quot; on a &quot;ANC contact date&quot; during current pregnancy | PLUS | COUNT of clients with &quot;HIV status&quot;='HIV-positive' on first &quot;ANC contact date&quot;\n * Denominator Exclusions: \n *\n * Disaggregations:\n * • Age (&lt;15, 15–19, 20–24, 25–29, 30–34, 35–39, 40–49, 50+ years) \n *  • HIV status at first test during current pregnancy (known positive, tested HIV-negative, tested HIV-positive, not tested) \n *  • Cities and other administrative regions of epidemiologic importance\n *\n * Disaggregation Elements: Age | HIV status at first HIV test during current pregnancy\n *\n * Numerator and Denominator Elements:\n * ANC contact date \n *  Currently pregnant \n *  HIV status \n *  HIV test date \n *  HIV test result\n *\n * Reference: Consolidated guidelines on person-centred HIV strategic information: strengthening routine data for impact. Geneva: World Health Organization; 2022\n * \n * Data Concepts:\n * HIV.A.DE17: Age | Calculated age (number of years) of the client based on date of birth\n * HIV.B.DE29: Currently pregnant | Client is currently pregnant\n * HIV.B.DE110: HIV test date | Date of the HIV test\n * HIV.B.DE111: HIV test result | The result from HIV testing after applying the testing algorithm\n * HIV.B.DE112: HIV-positive | Test result is HIV-positive\n * HIV.B.DE113: HIV-negative | Test result is HIV-negative\n * HIV.B.DE114: HIV-inconclusive | Test result is HIV-inconclusive\n * HIV.B.DE115: HIV status | HIV status reported after applying the national HIV testing algorithm. No single HIV test can provide an HIV-positive diagnosis.\n * HIV.B.DE116: HIV-positive | Client is HIV-positive\n * HIV.B.DE117: HIV-negative | Client is HIV-negative\n * HIV.B.DE118: Unknown | Client has unknown HIV status\n * HIV.D.DE31: Currently pregnant | Client is currently pregnant\n * HIV.E.DE85: ANC contact date | The date and time of the client's ANC contact (in the ANC DAK this is called 'Contact date')\n * HIV.E.DE224: HIV test date | Date of the HIV test\n * HIV.SRV.DE1: HIV test date | Date of the HIV test\n * HIV.SRV.DE2: HIV test result | The result from HIV testing after applying the testing algorithm\n * HIV.SRV.DE7: Currently pregnant | Client is currently pregnant\n * HIV.SRV.DE18: ANC contact date | The date and time of the client's ANC contact (in the ANC DAK this is called 'Contact date')\n *\n * Additional Context\n * - what it measures: HIV prevalence among pregnant women attending ANC, including those who were diagnosed with HIV before their first ANC visit and those testing positive during their current pregnancy.\n * - rationale: HIV prevalence among ANC attendees is used for surveillance to measure HIV prevalence and incidence and to monitor trends in HIV infection when the following conditions are met to ensure that HIV prevalence among ANC clients is consistently representative of HIV prevalence among all pregnant women: | • ANC attendance is high and all women are recorded (for example, not missing large private-sector ANC services). | • HIV testing is offered to all pregnant women and not restricted to only higher-risk women or interrupted due to stock-outs of test kits. | • Only the first HIV test result is used to calculate HIV prevalence during a single pregnancy. | • Women who are already known to be HIV-positive and/or are already on ART prior to their first ANC visit during a pregnancy and, therefore, are not tested for HIV, are recorded | and included in routine reporting. All HIV-positive women must be included in both the numerator and denominator when calculating HIV prevalence among pregnant women. |  | See section 5.2 4 on WHO's 2022 HIV SI Guidelines on routine antenatal HIV testing for more detail. | This indicator is also useful for estimating the number of women in need of PMTCT services for programme planning purposes.\n * - method: ANC registers, patient monitoring tools, EMRs (for example, patient records). |  | The recommended reporting period is 12 months.\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n */\n\nlibrary HIVIND43Logic\n\n// Included Libraries\nusing FHIR version '4.0.1'\n\ninclude HIVCommon version '0.0.1' called HIC\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOCommon called WCom\n\n// Indicator Definition\nparameter &quot;Measurement Period&quot; Interval&lt;Date&gt; default Interval[@2023-01-01, @2023-01-30]\n\ncontext Patient\n/* Populations */\n\n/*\n *Initial Population\n */\n\ndefine &quot;Initial Population&quot;:\n  true\n\n/**\n * Numerator\n * \n * Definition: Number of ANC attendees who tested HIV-positive at their first test during the current pregnancy plus number of ANC attendees known to be HIV-positive before their first ANC visit\n * Calculation: COUNT of &quot;Currently pregnant&quot; clients with &quot;HIV test result&quot;='HIV-positive' AND &quot;HIV test date&quot; on &quot;ANC contact date&quot; is EARLIEST within current pregnancy | PLUS | COUNT of clients with &quot;HIV status&quot;='HIV-positive' on first &quot;ANC contact date&quot;\n */\n\ndefine &quot;Numerator&quot;:\n  true\n\n\n/**\n * Denominator\n *\n * Definition: Number of ANC attendees receiving their first HIV test during pregnancy plus number of ANC attendees known to be HIV-positive before first ANC visit\n * Calculation: COUNT of &quot;Currently pregnant&quot; clients with &quot;HIV test date&quot; on a &quot;ANC contact date&quot; during current pregnancy | PLUS | COUNT of clients with &quot;HIV status&quot;='HIV-positive' on first &quot;ANC contact date&quot;\n */\n\ndefine &quot;Denominator&quot;:\n  true\n    \n\n/* end Populations */\n\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 (16156 characters)</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n        \n        <tr>\n          <td colspan=\"2\">\n            <table>\n              <tr><th><b>Content: </b> application/elm+json</th></tr>\n              <tr><td><pre><code>Encoded data (21268 characters)</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n    </table>\n</div>\n</div>"
  ] ; # 
  fhir:extension ( [
fhir:url [ fhir:v "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability"^^xsd:anyURI ] ;
fhir:value [ fhir:v "computable" ]
  ] ) ; # 
  fhir:url [ fhir:v "http://smart.who.int/hiv/Library/HIVIND43Logic"^^xsd:anyURI] ; # 
  fhir:version [ fhir:v "0.3.0"] ; # 
  fhir:name [ fhir:v "HIVIND43Logic"] ; # 
  fhir:title [ fhir:v "HIV.IND.43 Logic"] ; # 
  fhir:status [ fhir:v "draft"] ; # 
  fhir:experimental [ fhir:v "true"^^xsd:boolean] ; # 
  fhir:type [
    ( fhir:coding [
fhir:system [ fhir:v "http://terminology.hl7.org/CodeSystem/library-type"^^xsd:anyURI ] ;
fhir:code [ fhir:v "logic-library" ]     ] )
  ] ; # 
  fhir:date [ fhir:v "2024-12-06T22:28:12+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "WHO"] ; # 
  fhir:contact ( [
fhir:name [ fhir:v "WHO" ] ;
    ( fhir:telecom [
fhir:system [ fhir:v "url" ] ;
fhir:value [ fhir:v "http://who.int" ]     ] )
  ] ) ; # 
  fhir:description [ fhir:v "% of pregnant women who are HIV-positive at the time of their first test during the current pregnancy"] ; # 
  fhir:relatedArtifact ( [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library HIC" ] ;
fhir:resource [
fhir:v "http://smart.who.int/hiv/Library/HIVCommon|0.0.1"^^xsd:anyURI ;
fhir:link <http://smart.who.int/hiv/Library/HIVCommon|0.0.1>     ]
  ] [
fhir:type [ fhir:v "depends-on" ] ;
fhir:display [ fhir:v "Library WCom" ] ;
fhir:resource [
fhir:v "http://smart.who.int/hiv/Library/WHOCommon"^^xsd:anyURI ;
fhir:link <http://smart.who.int/hiv/Library/WHOCommon>     ]
  ] ) ; # 
  fhir:parameter ( [
fhir:name [ fhir:v "Measurement Period" ] ;
fhir:use [ fhir:v "in" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Period" ]
  ] [
fhir:name [ fhir:v "Patient" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "Patient" ]
  ] [
fhir:name [ fhir:v "Initial Population" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Numerator" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] [
fhir:name [ fhir:v "Denominator" ] ;
fhir:use [ fhir:v "out" ] ;
fhir:min [ fhir:v "0"^^xsd:integer ] ;
fhir:max [ fhir:v "1" ] ;
fhir:type [ fhir:v "boolean" ]
  ] ) ; # 
  fhir:content ( [
fhir:contentType [ fhir:v "text/cql" ] ;
fhir:data [ fhir:v "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuNDMgTG9naWMKICogUmVmIE5vOiBWRVIuNwogKiBTaG9ydCBOYW1lOiBISVYgcHJldmFsZW5jZSBhbW9uZyB3b21lbiBhdHRlbmRpbmcgQU5DCiAqCiAqIERlZmluaXRpb246ICUgb2YgcHJlZ25hbnQgd29tZW4gd2hvIGFyZSBISVYtcG9zaXRpdmUgYXQgdGhlIHRpbWUgb2YgdGhlaXIgZmlyc3QgdGVzdCBkdXJpbmcgdGhlIGN1cnJlbnQgcHJlZ25hbmN5CiAqCiAqIE51bWVyYXRvcjogTnVtYmVyIG9mIEFOQyBhdHRlbmRlZXMgd2hvIHRlc3RlZCBISVYtcG9zaXRpdmUgYXQgdGhlaXIgZmlyc3QgdGVzdCBkdXJpbmcgdGhlIGN1cnJlbnQgcHJlZ25hbmN5IHBsdXMgbnVtYmVyIG9mIEFOQyBhdHRlbmRlZXMga25vd24gdG8gYmUgSElWLXBvc2l0aXZlIGJlZm9yZSB0aGVpciBmaXJzdCBBTkMgdmlzaXQKICogTnVtZXJhdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiAiQ3VycmVudGx5IHByZWduYW50IiBjbGllbnRzIHdpdGggIkhJViB0ZXN0IHJlc3VsdCI9J0hJVi1wb3NpdGl2ZScgQU5EICJISVYgdGVzdCBkYXRlIiBvbiAiQU5DIGNvbnRhY3QgZGF0ZSIgaXMgRUFSTElFU1Qgd2l0aGluIGN1cnJlbnQgcHJlZ25hbmN5IHwgUExVUyB8IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgIkFOQyBjb250YWN0IGRhdGUiCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IE51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIHJlY2VpdmluZyB0aGVpciBmaXJzdCBISVYgdGVzdCBkdXJpbmcgcHJlZ25hbmN5IHBsdXMgbnVtYmVyIG9mIEFOQyBhdHRlbmRlZXMga25vd24gdG8gYmUgSElWLXBvc2l0aXZlIGJlZm9yZSBmaXJzdCBBTkMgdmlzaXQKICogRGVub21pbmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mICJDdXJyZW50bHkgcHJlZ25hbnQiIGNsaWVudHMgd2l0aCAiSElWIHRlc3QgZGF0ZSIgb24gYSAiQU5DIGNvbnRhY3QgZGF0ZSIgZHVyaW5nIGN1cnJlbnQgcHJlZ25hbmN5IHwgUExVUyB8IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgIkFOQyBjb250YWN0IGRhdGUiCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAoiBBZ2UgKDwxNSwgMTXigJMxOSwgMjDigJMyNCwgMjXigJMyOSwgMzDigJMzNCwgMzXigJMzOSwgNDDigJM0OSwgNTArIHllYXJzKSAKICogIOKAosKgSElWIHN0YXR1cyBhdCBmaXJzdCB0ZXN0IGR1cmluZyBjdXJyZW50IHByZWduYW5jeSAoa25vd24gcG9zaXRpdmUsIHRlc3RlZCBISVYtbmVnYXRpdmUsIHRlc3RlZCBISVYtcG9zaXRpdmUsIG5vdCB0ZXN0ZWQpIAogKiAg4oCiwqBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBISVYgc3RhdHVzIGF0IGZpcnN0IEhJViB0ZXN0IGR1cmluZyBjdXJyZW50IHByZWduYW5jeQogKgogKiBOdW1lcmF0b3IgYW5kIERlbm9taW5hdG9yIEVsZW1lbnRzOgogKiBBTkMgY29udGFjdCBkYXRlIAogKiAgQ3VycmVudGx5IHByZWduYW50IAogKiAgSElWIHN0YXR1cyAKICogIEhJViB0ZXN0IGRhdGUgCiAqICBISVYgdGVzdCByZXN1bHQKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aAogKiBISVYuQi5ERTI5OiBDdXJyZW50bHkgcHJlZ25hbnQgfCBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50CiAqIEhJVi5CLkRFMTEwOiBISVYgdGVzdCBkYXRlIHwgRGF0ZSBvZiB0aGUgSElWIHRlc3QKICogSElWLkIuREUxMTE6IEhJViB0ZXN0IHJlc3VsdCB8IFRoZSByZXN1bHQgZnJvbSBISVYgdGVzdGluZyBhZnRlciBhcHBseWluZyB0aGUgdGVzdGluZyBhbGdvcml0aG0KICogSElWLkIuREUxMTI6IEhJVi1wb3NpdGl2ZSB8IFRlc3QgcmVzdWx0IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExMzogSElWLW5lZ2F0aXZlIHwgVGVzdCByZXN1bHQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5CLkRFMTE0OiBISVYtaW5jb25jbHVzaXZlIHwgVGVzdCByZXN1bHQgaXMgSElWLWluY29uY2x1c2l2ZQogKiBISVYuQi5ERTExNTogSElWIHN0YXR1cyB8IEhJViBzdGF0dXMgcmVwb3J0ZWQgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5hdGlvbmFsIEhJViB0ZXN0aW5nIGFsZ29yaXRobS4gTm8gc2luZ2xlIEhJViB0ZXN0IGNhbiBwcm92aWRlIGFuIEhJVi1wb3NpdGl2ZSBkaWFnbm9zaXMuCiAqIEhJVi5CLkRFMTE2OiBISVYtcG9zaXRpdmUgfCBDbGllbnQgaXMgSElWLXBvc2l0aXZlCiAqIEhJVi5CLkRFMTE3OiBISVYtbmVnYXRpdmUgfCBDbGllbnQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5CLkRFMTE4OiBVbmtub3duIHwgQ2xpZW50IGhhcyB1bmtub3duIEhJViBzdGF0dXMKICogSElWLkQuREUzMTogQ3VycmVudGx5IHByZWduYW50IHwgQ2xpZW50IGlzIGN1cnJlbnRseSBwcmVnbmFudAogKiBISVYuRS5ERTg1OiBBTkMgY29udGFjdCBkYXRlIHwgVGhlIGRhdGUgYW5kIHRpbWUgb2YgdGhlIGNsaWVudCdzIEFOQyBjb250YWN0IChpbiB0aGUgQU5DIERBSyB0aGlzIGlzIGNhbGxlZCAnQ29udGFjdCBkYXRlJykKICogSElWLkUuREUyMjQ6IEhJViB0ZXN0IGRhdGUgfCBEYXRlIG9mIHRoZSBISVYgdGVzdAogKiBISVYuU1JWLkRFMTogSElWIHRlc3QgZGF0ZSB8IERhdGUgb2YgdGhlIEhJViB0ZXN0CiAqIEhJVi5TUlYuREUyOiBISVYgdGVzdCByZXN1bHQgfCBUaGUgcmVzdWx0IGZyb20gSElWIHRlc3RpbmcgYWZ0ZXIgYXBwbHlpbmcgdGhlIHRlc3RpbmcgYWxnb3JpdGhtCiAqIEhJVi5TUlYuREU3OiBDdXJyZW50bHkgcHJlZ25hbnQgfCBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50CiAqIEhJVi5TUlYuREUxODogQU5DIGNvbnRhY3QgZGF0ZSB8IFRoZSBkYXRlIGFuZCB0aW1lIG9mIHRoZSBjbGllbnQncyBBTkMgY29udGFjdCAoaW4gdGhlIEFOQyBEQUsgdGhpcyBpcyBjYWxsZWQgJ0NvbnRhY3QgZGF0ZScpCiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IEhJViBwcmV2YWxlbmNlIGFtb25nIHByZWduYW50IHdvbWVuIGF0dGVuZGluZyBBTkMsIGluY2x1ZGluZyB0aG9zZSB3aG8gd2VyZSBkaWFnbm9zZWQgd2l0aCBISVYgYmVmb3JlIHRoZWlyIGZpcnN0IEFOQyB2aXNpdCBhbmQgdGhvc2UgdGVzdGluZyBwb3NpdGl2ZSBkdXJpbmcgdGhlaXIgY3VycmVudCBwcmVnbmFuY3kuCiAqIC0gcmF0aW9uYWxlOiBISVYgcHJldmFsZW5jZSBhbW9uZyBBTkMgYXR0ZW5kZWVzIGlzIHVzZWQgZm9yIHN1cnZlaWxsYW5jZSB0byBtZWFzdXJlIEhJViBwcmV2YWxlbmNlIGFuZCBpbmNpZGVuY2UgYW5kIHRvIG1vbml0b3IgdHJlbmRzIGluIEhJViBpbmZlY3Rpb24gd2hlbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldCB0byBlbnN1cmUgdGhhdCBISVYgcHJldmFsZW5jZSBhbW9uZyBBTkMgY2xpZW50cyBpcyBjb25zaXN0ZW50bHkgcmVwcmVzZW50YXRpdmUgb2YgSElWIHByZXZhbGVuY2UgYW1vbmcgYWxsIHByZWduYW50IHdvbWVuOiB8IOKAoiBBTkMgYXR0ZW5kYW5jZSBpcyBoaWdoIGFuZCBhbGwgd29tZW4gYXJlIHJlY29yZGVkIChmb3IgZXhhbXBsZSwgbm90IG1pc3NpbmcgbGFyZ2UgcHJpdmF0ZS1zZWN0b3IgQU5DIHNlcnZpY2VzKS4gfCDigKLCoEhJViB0ZXN0aW5nIGlzIG9mZmVyZWQgdG8gYWxsIHByZWduYW50IHdvbWVuIGFuZCBub3QgcmVzdHJpY3RlZCB0byBvbmx5IGhpZ2hlci1yaXNrIHdvbWVuIG9yIGludGVycnVwdGVkIGR1ZSB0byBzdG9jay1vdXRzIG9mIHRlc3Qga2l0cy4gfCDigKLCoE9ubHkgdGhlIGZpcnN0IEhJViB0ZXN0IHJlc3VsdCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBISVYgcHJldmFsZW5jZSBkdXJpbmcgYSBzaW5nbGUgcHJlZ25hbmN5LiB8IOKAosKgV29tZW4gd2hvIGFyZSBhbHJlYWR5IGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBhbmQvb3IgYXJlIGFscmVhZHkgb24gQVJUIHByaW9yIHRvIHRoZWlyIGZpcnN0IEFOQyB2aXNpdCBkdXJpbmcgYSBwcmVnbmFuY3kgYW5kLCB0aGVyZWZvcmUsIGFyZSBub3QgdGVzdGVkIGZvciBISVYsIGFyZSByZWNvcmRlZCB8IGFuZCBpbmNsdWRlZCBpbiByb3V0aW5lIHJlcG9ydGluZy4gQWxsIEhJVi1wb3NpdGl2ZSB3b21lbiBtdXN0IGJlIGluY2x1ZGVkIGluIGJvdGggdGhlIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3Igd2hlbiBjYWxjdWxhdGluZyBISVYgcHJldmFsZW5jZSBhbW9uZyBwcmVnbmFudCB3b21lbi4gfCAgfCBTZWUgc2VjdGlvbiA1LjIgNCBvbiBXSE8ncyAyMDIyIEhJViBTSSBHdWlkZWxpbmVzIG9uIHJvdXRpbmUgYW50ZW5hdGFsIEhJViB0ZXN0aW5nIGZvciBtb3JlIGRldGFpbC4gfCBUaGlzIGluZGljYXRvciBpcyBhbHNvIHVzZWZ1bCBmb3IgZXN0aW1hdGluZyB0aGUgbnVtYmVyIG9mIHdvbWVuIGluIG5lZWQgb2YgUE1UQ1Qgc2VydmljZXMgZm9yIHByb2dyYW1tZSBwbGFubmluZyBwdXJwb3Nlcy4KICogLSBtZXRob2Q6IEFOQyByZWdpc3RlcnMsIHBhdGllbnQgbW9uaXRvcmluZyB0b29scywgRU1ScyAoZm9yIGV4YW1wbGUsIHBhdGllbnQgcmVjb3JkcykuIHwgIHwgVGhlIHJlY29tbWVuZGVkIHJlcG9ydGluZyBwZXJpb2QgaXMgMTIgbW9udGhzLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqLwoKbGlicmFyeSBISVZJTkQ0M0xvZ2ljCgovLyBJbmNsdWRlZCBMaWJyYXJpZXMKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgSElWQ29tbW9uIHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDCmluY2x1ZGUgRkhJUkhlbHBlcnMgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIFdIT0NvbW1vbiBjYWxsZWQgV0NvbQoKLy8gSW5kaWNhdG9yIERlZmluaXRpb24KcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGU+IGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjMtMDEtMDEsIEAyMDIzLTAxLTMwXQoKY29udGV4dCBQYXRpZW50Ci8qIFBvcHVsYXRpb25zICovCgovKgogKkluaXRpYWwgUG9wdWxhdGlvbgogKi8KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICB0cnVlCgovKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgQU5DIGF0dGVuZGVlcyB3aG8gdGVzdGVkIEhJVi1wb3NpdGl2ZSBhdCB0aGVpciBmaXJzdCB0ZXN0IGR1cmluZyB0aGUgY3VycmVudCBwcmVnbmFuY3kgcGx1cyBudW1iZXIgb2YgQU5DIGF0dGVuZGVlcyBrbm93biB0byBiZSBISVYtcG9zaXRpdmUgYmVmb3JlIHRoZWlyIGZpcnN0IEFOQyB2aXNpdAogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgIkN1cnJlbnRseSBwcmVnbmFudCIgY2xpZW50cyB3aXRoICJISVYgdGVzdCByZXN1bHQiPSdISVYtcG9zaXRpdmUnIEFORCAiSElWIHRlc3QgZGF0ZSIgb24gIkFOQyBjb250YWN0IGRhdGUiIGlzIEVBUkxJRVNUIHdpdGhpbiBjdXJyZW50IHByZWduYW5jeSB8IFBMVVMgfCBDT1VOVCBvZiBjbGllbnRzIHdpdGggIkhJViBzdGF0dXMiPSdISVYtcG9zaXRpdmUnIG9uIGZpcnN0ICJBTkMgY29udGFjdCBkYXRlIgogKi8KCmRlZmluZSAiTnVtZXJhdG9yIjoKICB0cnVlCgoKLyoqCiAqIERlbm9taW5hdG9yCiAqCiAqIERlZmluaXRpb246IE51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIHJlY2VpdmluZyB0aGVpciBmaXJzdCBISVYgdGVzdCBkdXJpbmcgcHJlZ25hbmN5IHBsdXMgbnVtYmVyIG9mIEFOQyBhdHRlbmRlZXMga25vd24gdG8gYmUgSElWLXBvc2l0aXZlIGJlZm9yZSBmaXJzdCBBTkMgdmlzaXQKICogQ2FsY3VsYXRpb246IENPVU5UIG9mICJDdXJyZW50bHkgcHJlZ25hbnQiIGNsaWVudHMgd2l0aCAiSElWIHRlc3QgZGF0ZSIgb24gYSAiQU5DIGNvbnRhY3QgZGF0ZSIgZHVyaW5nIGN1cnJlbnQgcHJlZ25hbmN5IHwgUExVUyB8IENPVU5UIG9mIGNsaWVudHMgd2l0aCAiSElWIHN0YXR1cyI9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgIkFOQyBjb250YWN0IGRhdGUiCiAqLwoKZGVmaW5lICJEZW5vbWluYXRvciI6CiAgdHJ1ZQogICAgCgovKiBlbmQgUG9wdWxhdGlvbnMgKi8KCg=="^^xsd:base64Binary ]
  ] [
fhir:contentType [ fhir:v "application/elm+xml" ] ;
fhir:data [ fhir:v "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHRyYW5zbGF0b3JPcHRpb25zPSJFbmFibGVBbm5vdGF0aW9ucyxFbmFibGVMb2NhdG9ycyxEaXNhYmxlTGlzdERlbW90aW9uLERpc2FibGVMaXN0UHJvbW90aW9uIiBzaWduYXR1cmVMZXZlbD0iT3ZlcmxvYWRzIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUluZm8iLz4KICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgIDxhOnMgcj0iMTYiPgogICAgICAgICA8YTpzPi8qKgogKiBMaWJyYXJ5OiBISVYuSU5ELjQzIExvZ2ljCiAqIFJlZiBObzogVkVSLjcKICogU2hvcnQgTmFtZTogSElWIHByZXZhbGVuY2UgYW1vbmcgd29tZW4gYXR0ZW5kaW5nIEFOQwogKgogKiBEZWZpbml0aW9uOiAlIG9mIHByZWduYW50IHdvbWVuIHdobyBhcmUgSElWLXBvc2l0aXZlIGF0IHRoZSB0aW1lIG9mIHRoZWlyIGZpcnN0IHRlc3QgZHVyaW5nIHRoZSBjdXJyZW50IHByZWduYW5jeQogKgogKiBOdW1lcmF0b3I6IE51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIHdobyB0ZXN0ZWQgSElWLXBvc2l0aXZlIGF0IHRoZWlyIGZpcnN0IHRlc3QgZHVyaW5nIHRoZSBjdXJyZW50IHByZWduYW5jeSBwbHVzIG51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBiZWZvcmUgdGhlaXIgZmlyc3QgQU5DIHZpc2l0CiAqIE51bWVyYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgJnF1b3Q7Q3VycmVudGx5IHByZWduYW50JnF1b3Q7IGNsaWVudHMgd2l0aCAmcXVvdDtISVYgdGVzdCByZXN1bHQmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O0hJViB0ZXN0IGRhdGUmcXVvdDsgb24gJnF1b3Q7QU5DIGNvbnRhY3QgZGF0ZSZxdW90OyBpcyBFQVJMSUVTVCB3aXRoaW4gY3VycmVudCBwcmVnbmFuY3kgfCBQTFVTIHwgQ09VTlQgb2YgY2xpZW50cyB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgJnF1b3Q7QU5DIGNvbnRhY3QgZGF0ZSZxdW90OwogKiBOdW1lcmF0b3IgRXhjbHVzaW9uczogCiAqCiAqIERlbm9taW5hdG9yOiBOdW1iZXIgb2YgQU5DIGF0dGVuZGVlcyByZWNlaXZpbmcgdGhlaXIgZmlyc3QgSElWIHRlc3QgZHVyaW5nIHByZWduYW5jeSBwbHVzIG51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBiZWZvcmUgZmlyc3QgQU5DIHZpc2l0CiAqIERlbm9taW5hdG9yIENhbGN1bGF0aW9uOiBDT1VOVCBvZiAmcXVvdDtDdXJyZW50bHkgcHJlZ25hbnQmcXVvdDsgY2xpZW50cyB3aXRoICZxdW90O0hJViB0ZXN0IGRhdGUmcXVvdDsgb24gYSAmcXVvdDtBTkMgY29udGFjdCBkYXRlJnF1b3Q7IGR1cmluZyBjdXJyZW50IHByZWduYW5jeSB8IFBMVVMgfCBDT1VOVCBvZiBjbGllbnRzIHdpdGggJnF1b3Q7SElWIHN0YXR1cyZxdW90Oz0nSElWLXBvc2l0aXZlJyBvbiBmaXJzdCAmcXVvdDtBTkMgY29udGFjdCBkYXRlJnF1b3Q7CiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAoiBBZ2UgKCZsdDsxNSwgMTXigJMxOSwgMjDigJMyNCwgMjXigJMyOSwgMzDigJMzNCwgMzXigJMzOSwgNDDigJM0OSwgNTArIHllYXJzKSAKICogIOKAosKgSElWIHN0YXR1cyBhdCBmaXJzdCB0ZXN0IGR1cmluZyBjdXJyZW50IHByZWduYW5jeSAoa25vd24gcG9zaXRpdmUsIHRlc3RlZCBISVYtbmVnYXRpdmUsIHRlc3RlZCBISVYtcG9zaXRpdmUsIG5vdCB0ZXN0ZWQpIAogKiAg4oCiwqBDaXRpZXMgYW5kIG90aGVyIGFkbWluaXN0cmF0aXZlIHJlZ2lvbnMgb2YgZXBpZGVtaW9sb2dpYyBpbXBvcnRhbmNlCiAqCiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBISVYgc3RhdHVzIGF0IGZpcnN0IEhJViB0ZXN0IGR1cmluZyBjdXJyZW50IHByZWduYW5jeQogKgogKiBOdW1lcmF0b3IgYW5kIERlbm9taW5hdG9yIEVsZW1lbnRzOgogKiBBTkMgY29udGFjdCBkYXRlIAogKiAgQ3VycmVudGx5IHByZWduYW50IAogKiAgSElWIHN0YXR1cyAKICogIEhJViB0ZXN0IGRhdGUgCiAqICBISVYgdGVzdCByZXN1bHQKICoKICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjIKICogCiAqIERhdGEgQ29uY2VwdHM6CiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aAogKiBISVYuQi5ERTI5OiBDdXJyZW50bHkgcHJlZ25hbnQgfCBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50CiAqIEhJVi5CLkRFMTEwOiBISVYgdGVzdCBkYXRlIHwgRGF0ZSBvZiB0aGUgSElWIHRlc3QKICogSElWLkIuREUxMTE6IEhJViB0ZXN0IHJlc3VsdCB8IFRoZSByZXN1bHQgZnJvbSBISVYgdGVzdGluZyBhZnRlciBhcHBseWluZyB0aGUgdGVzdGluZyBhbGdvcml0aG0KICogSElWLkIuREUxMTI6IEhJVi1wb3NpdGl2ZSB8IFRlc3QgcmVzdWx0IGlzIEhJVi1wb3NpdGl2ZQogKiBISVYuQi5ERTExMzogSElWLW5lZ2F0aXZlIHwgVGVzdCByZXN1bHQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5CLkRFMTE0OiBISVYtaW5jb25jbHVzaXZlIHwgVGVzdCByZXN1bHQgaXMgSElWLWluY29uY2x1c2l2ZQogKiBISVYuQi5ERTExNTogSElWIHN0YXR1cyB8IEhJViBzdGF0dXMgcmVwb3J0ZWQgYWZ0ZXIgYXBwbHlpbmcgdGhlIG5hdGlvbmFsIEhJViB0ZXN0aW5nIGFsZ29yaXRobS4gTm8gc2luZ2xlIEhJViB0ZXN0IGNhbiBwcm92aWRlIGFuIEhJVi1wb3NpdGl2ZSBkaWFnbm9zaXMuCiAqIEhJVi5CLkRFMTE2OiBISVYtcG9zaXRpdmUgfCBDbGllbnQgaXMgSElWLXBvc2l0aXZlCiAqIEhJVi5CLkRFMTE3OiBISVYtbmVnYXRpdmUgfCBDbGllbnQgaXMgSElWLW5lZ2F0aXZlCiAqIEhJVi5CLkRFMTE4OiBVbmtub3duIHwgQ2xpZW50IGhhcyB1bmtub3duIEhJViBzdGF0dXMKICogSElWLkQuREUzMTogQ3VycmVudGx5IHByZWduYW50IHwgQ2xpZW50IGlzIGN1cnJlbnRseSBwcmVnbmFudAogKiBISVYuRS5ERTg1OiBBTkMgY29udGFjdCBkYXRlIHwgVGhlIGRhdGUgYW5kIHRpbWUgb2YgdGhlIGNsaWVudCdzIEFOQyBjb250YWN0IChpbiB0aGUgQU5DIERBSyB0aGlzIGlzIGNhbGxlZCAnQ29udGFjdCBkYXRlJykKICogSElWLkUuREUyMjQ6IEhJViB0ZXN0IGRhdGUgfCBEYXRlIG9mIHRoZSBISVYgdGVzdAogKiBISVYuU1JWLkRFMTogSElWIHRlc3QgZGF0ZSB8IERhdGUgb2YgdGhlIEhJViB0ZXN0CiAqIEhJVi5TUlYuREUyOiBISVYgdGVzdCByZXN1bHQgfCBUaGUgcmVzdWx0IGZyb20gSElWIHRlc3RpbmcgYWZ0ZXIgYXBwbHlpbmcgdGhlIHRlc3RpbmcgYWxnb3JpdGhtCiAqIEhJVi5TUlYuREU3OiBDdXJyZW50bHkgcHJlZ25hbnQgfCBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50CiAqIEhJVi5TUlYuREUxODogQU5DIGNvbnRhY3QgZGF0ZSB8IFRoZSBkYXRlIGFuZCB0aW1lIG9mIHRoZSBjbGllbnQncyBBTkMgY29udGFjdCAoaW4gdGhlIEFOQyBEQUsgdGhpcyBpcyBjYWxsZWQgJ0NvbnRhY3QgZGF0ZScpCiAqCiAqIEFkZGl0aW9uYWwgQ29udGV4dAogKiAtIHdoYXQgaXQgbWVhc3VyZXM6IEhJViBwcmV2YWxlbmNlIGFtb25nIHByZWduYW50IHdvbWVuIGF0dGVuZGluZyBBTkMsIGluY2x1ZGluZyB0aG9zZSB3aG8gd2VyZSBkaWFnbm9zZWQgd2l0aCBISVYgYmVmb3JlIHRoZWlyIGZpcnN0IEFOQyB2aXNpdCBhbmQgdGhvc2UgdGVzdGluZyBwb3NpdGl2ZSBkdXJpbmcgdGhlaXIgY3VycmVudCBwcmVnbmFuY3kuCiAqIC0gcmF0aW9uYWxlOiBISVYgcHJldmFsZW5jZSBhbW9uZyBBTkMgYXR0ZW5kZWVzIGlzIHVzZWQgZm9yIHN1cnZlaWxsYW5jZSB0byBtZWFzdXJlIEhJViBwcmV2YWxlbmNlIGFuZCBpbmNpZGVuY2UgYW5kIHRvIG1vbml0b3IgdHJlbmRzIGluIEhJViBpbmZlY3Rpb24gd2hlbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldCB0byBlbnN1cmUgdGhhdCBISVYgcHJldmFsZW5jZSBhbW9uZyBBTkMgY2xpZW50cyBpcyBjb25zaXN0ZW50bHkgcmVwcmVzZW50YXRpdmUgb2YgSElWIHByZXZhbGVuY2UgYW1vbmcgYWxsIHByZWduYW50IHdvbWVuOiB8IOKAoiBBTkMgYXR0ZW5kYW5jZSBpcyBoaWdoIGFuZCBhbGwgd29tZW4gYXJlIHJlY29yZGVkIChmb3IgZXhhbXBsZSwgbm90IG1pc3NpbmcgbGFyZ2UgcHJpdmF0ZS1zZWN0b3IgQU5DIHNlcnZpY2VzKS4gfCDigKLCoEhJViB0ZXN0aW5nIGlzIG9mZmVyZWQgdG8gYWxsIHByZWduYW50IHdvbWVuIGFuZCBub3QgcmVzdHJpY3RlZCB0byBvbmx5IGhpZ2hlci1yaXNrIHdvbWVuIG9yIGludGVycnVwdGVkIGR1ZSB0byBzdG9jay1vdXRzIG9mIHRlc3Qga2l0cy4gfCDigKLCoE9ubHkgdGhlIGZpcnN0IEhJViB0ZXN0IHJlc3VsdCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBISVYgcHJldmFsZW5jZSBkdXJpbmcgYSBzaW5nbGUgcHJlZ25hbmN5LiB8IOKAosKgV29tZW4gd2hvIGFyZSBhbHJlYWR5IGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBhbmQvb3IgYXJlIGFscmVhZHkgb24gQVJUIHByaW9yIHRvIHRoZWlyIGZpcnN0IEFOQyB2aXNpdCBkdXJpbmcgYSBwcmVnbmFuY3kgYW5kLCB0aGVyZWZvcmUsIGFyZSBub3QgdGVzdGVkIGZvciBISVYsIGFyZSByZWNvcmRlZCB8IGFuZCBpbmNsdWRlZCBpbiByb3V0aW5lIHJlcG9ydGluZy4gQWxsIEhJVi1wb3NpdGl2ZSB3b21lbiBtdXN0IGJlIGluY2x1ZGVkIGluIGJvdGggdGhlIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3Igd2hlbiBjYWxjdWxhdGluZyBISVYgcHJldmFsZW5jZSBhbW9uZyBwcmVnbmFudCB3b21lbi4gfCAgfCBTZWUgc2VjdGlvbiA1LjIgNCBvbiBXSE8ncyAyMDIyIEhJViBTSSBHdWlkZWxpbmVzIG9uIHJvdXRpbmUgYW50ZW5hdGFsIEhJViB0ZXN0aW5nIGZvciBtb3JlIGRldGFpbC4gfCBUaGlzIGluZGljYXRvciBpcyBhbHNvIHVzZWZ1bCBmb3IgZXN0aW1hdGluZyB0aGUgbnVtYmVyIG9mIHdvbWVuIGluIG5lZWQgb2YgUE1UQ1Qgc2VydmljZXMgZm9yIHByb2dyYW1tZSBwbGFubmluZyBwdXJwb3Nlcy4KICogLSBtZXRob2Q6IEFOQyByZWdpc3RlcnMsIHBhdGllbnQgbW9uaXRvcmluZyB0b29scywgRU1ScyAoZm9yIGV4YW1wbGUsIHBhdGllbnQgcmVjb3JkcykuIHwgIHwgVGhlIHJlY29tbWVuZGVkIHJlcG9ydGluZyBwZXJpb2QgaXMgMTIgbW9udGhzLgogKiAKICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtCiAqLwoKbGlicmFyeSBISVZJTkQ0M0xvZ2ljPC9hOnM+CiAgICAgIDwvYTpzPgogICA8L2Fubm90YXRpb24+CiAgIDxpZGVudGlmaWVyIGlkPSJISVZJTkQ0M0xvZ2ljIiBzeXN0ZW09Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdiIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEiIGxvY2F0b3I9IjYzOjEtNjM6MjYiIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSI0LjAuMSI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEiPgogICAgICAgICAgICAgICA8YTpzPi8vIEluY2x1ZGVkIExpYnJhcmllcwp1c2luZyA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiB2ZXJzaW9uICc0LjAuMSc8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgPC9kZWY+CiAgIDwvdXNpbmdzPgogICA8aW5jbHVkZXM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMiIgbG9jYXRvcj0iNjU6MS02NTo0NCIgbG9jYWxJZGVudGlmaWVyPSJISUMiIHBhdGg9Imh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZDb21tb24iIHZlcnNpb249IjAuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMiI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5ISVZDb21tb248L2E6cz4KICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+IHZlcnNpb24gJzAuMC4xJyBjYWxsZWQgSElDPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjMiIGxvY2F0b3I9IjY2OjEtNjY6MzUiIGxvY2FsSWRlbnRpZmllcj0iRkhJUkhlbHBlcnMiIHBhdGg9Imh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiIHZlcnNpb249IjQuMC4xIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMyI+CiAgICAgICAgICAgICAgIDxhOnM+aW5jbHVkZSA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4KICAgICAgICAgICAgICAgICAgPGE6cz5GSElSSGVscGVyczwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gdmVyc2lvbiAnNC4wLjEnPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjQiIGxvY2F0b3I9IjY4OjEtNjg6MjkiIGxvY2FsSWRlbnRpZmllcj0iV0NvbSIgcGF0aD0iaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L1dIT0NvbW1vbiI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjQiPgogICAgICAgICAgICAgICA8YTpzPmluY2x1ZGUgPC9hOnM+CiAgICAgICAgICAgICAgIDxhOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+V0hPQ29tbW9uPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICAgICA8YTpzPiBjYWxsZWQgV0NvbTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICA8L2RlZj4KICAgPC9pbmNsdWRlcz4KICAgPHBhcmFtZXRlcnM+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTAiIGxvY2F0b3I9IjcxOjEtNzE6ODgiIG5hbWU9Ik1lYXN1cmVtZW50IFBlcmlvZCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEwIj4KICAgICAgICAgICAgICAgPGE6cz4vLyBJbmRpY2F0b3IgRGVmaW5pdGlvbgpwYXJhbWV0ZXIgJnF1b3Q7TWVhc3VyZW1lbnQgUGVyaW9kJnF1b3Q7IDwvYTpzPgogICAgICAgICAgICAgICA8YTpzIHI9IjkiPgogICAgICAgICAgICAgICAgICA8YTpzPkludGVydmFsJmx0OzwvYTpzPgogICAgICAgICAgICAgICAgICA8YTpzIHI9IjgiPgogICAgICAgICAgICAgICAgICAgICA8YTpzPkRhdGU8L2E6cz4KICAgICAgICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgICAgICAgICAgIDxhOnM+PjwvYTpzPgogICAgICAgICAgICAgICA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cz4gZGVmYXVsdCA8L2E6cz4KICAgICAgICAgICAgICAgPGE6cyByPSI3Ij4KICAgICAgICAgICAgICAgICAgPGE6cyByPSI1Ij5JbnRlcnZhbFtAMjAyMy0wMS0wMSwgQDIwMjMtMDEtMzBdPC9hOnM+CiAgICAgICAgICAgICAgIDwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZGVmYXVsdCBsb2NhbElkPSI3IiBsb2NhdG9yPSI3MTo1NS03MTo4OCIgbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IGxvY2FsSWQ9IjUiIGxvY2F0b3I9IjcxOjY0LTcxOjc0IiB4c2k6dHlwZT0iRGF0ZSI+CiAgICAgICAgICAgICAgIDx5ZWFyIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMjAyMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG1vbnRoIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPGRheSB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvbG93PgogICAgICAgICAgICA8aGlnaCBsb2NhbElkPSI2IiBsb2NhdG9yPSI3MTo3Ny03MTo4NyIgeHNpOnR5cGU9IkRhdGUiPgogICAgICAgICAgICAgICA8eWVhciB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjIwMjMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxtb250aCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDxkYXkgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIzMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9oaWdoPgogICAgICAgICA8L2RlZmF1bHQ+CiAgICAgICAgIDxwYXJhbWV0ZXJUeXBlU3BlY2lmaWVyIGxvY2FsSWQ9IjkiIGxvY2F0b3I9IjcxOjMyLTcxOjQ1IiB4c2k6dHlwZT0iSW50ZXJ2YWxUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPHBvaW50VHlwZSBsb2NhbElkPSI4IiBsb2NhdG9yPSI3MTo0MS03MTo0NCIgbmFtZT0idDpEYXRlIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvcGFyYW1ldGVyVHlwZVNwZWNpZmllcj4KICAgICAgPC9kZWY+CiAgIDwvcGFyYW1ldGVycz4KICAgPGNvbnRleHRzPgogICAgICA8ZGVmIGxvY2F0b3I9IjczOjEtNzM6MTUiIG5hbWU9IlBhdGllbnQiLz4KICAgPC9jb250ZXh0cz4KICAgPHN0YXRlbWVudHM+CiAgICAgIDxkZWYgbG9jYXRvcj0iNzM6MS03MzoxNSIgbmFtZT0iUGF0aWVudCIgY29udGV4dD0iUGF0aWVudCI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgPG9wZXJhbmQgbG9jYXRvcj0iNzM6MS03MzoxNSIgZGF0YVR5cGU9ImZoaXI6UGF0aWVudCIgdGVtcGxhdGVJZD0iaHR0cDovL2hsNy5vcmcvZmhpci9TdHJ1Y3R1cmVEZWZpbml0aW9uL1BhdGllbnQiIHhzaTp0eXBlPSJSZXRyaWV2ZSIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjEyIiBsb2NhdG9yPSI4MDoxLTgxOjYiIG5hbWU9IkluaXRpYWwgUG9wdWxhdGlvbiIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxhbm5vdGF0aW9uIHhzaTp0eXBlPSJhOkFubm90YXRpb24iPgogICAgICAgICAgICA8YTpzIHI9IjEyIj4KICAgICAgICAgICAgICAgPGE6cyByPSIxMSI+LyogUG9wdWxhdGlvbnMgKi8KCi8qCiAqSW5pdGlhbCBQb3B1bGF0aW9uCiAqLwoKZGVmaW5lICZxdW90O0luaXRpYWwgUG9wdWxhdGlvbiZxdW90OzoKICB0cnVlPC9hOnM+CiAgICAgICAgICAgIDwvYTpzPgogICAgICAgICA8L2Fubm90YXRpb24+CiAgICAgICAgIDxleHByZXNzaW9uIGxvY2FsSWQ9IjExIiBsb2NhdG9yPSI4MTozLTgxOjYiIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0idHJ1ZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbG9jYWxJZD0iMTQiIGxvY2F0b3I9IjkwOjEtOTE6NiIgbmFtZT0iTnVtZXJhdG9yIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGFubm90YXRpb24geHNpOnR5cGU9ImE6QW5ub3RhdGlvbiI+CiAgICAgICAgICAgIDxhOnMgcj0iMTQiPgogICAgICAgICAgICAgICA8YTpzIHI9IjEzIj4vKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgQU5DIGF0dGVuZGVlcyB3aG8gdGVzdGVkIEhJVi1wb3NpdGl2ZSBhdCB0aGVpciBmaXJzdCB0ZXN0IGR1cmluZyB0aGUgY3VycmVudCBwcmVnbmFuY3kgcGx1cyBudW1iZXIgb2YgQU5DIGF0dGVuZGVlcyBrbm93biB0byBiZSBISVYtcG9zaXRpdmUgYmVmb3JlIHRoZWlyIGZpcnN0IEFOQyB2aXNpdAogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgJnF1b3Q7Q3VycmVudGx5IHByZWduYW50JnF1b3Q7IGNsaWVudHMgd2l0aCAmcXVvdDtISVYgdGVzdCByZXN1bHQmcXVvdDs9J0hJVi1wb3NpdGl2ZScgQU5EICZxdW90O0hJViB0ZXN0IGRhdGUmcXVvdDsgb24gJnF1b3Q7QU5DIGNvbnRhY3QgZGF0ZSZxdW90OyBpcyBFQVJMSUVTVCB3aXRoaW4gY3VycmVudCBwcmVnbmFuY3kgfCBQTFVTIHwgQ09VTlQgb2YgY2xpZW50cyB3aXRoICZxdW90O0hJViBzdGF0dXMmcXVvdDs9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgJnF1b3Q7QU5DIGNvbnRhY3QgZGF0ZSZxdW90OwogKi8KCmRlZmluZSAmcXVvdDtOdW1lcmF0b3ImcXVvdDs6CiAgdHJ1ZTwvYTpzPgogICAgICAgICAgICA8L2E6cz4KICAgICAgICAgPC9hbm5vdGF0aW9uPgogICAgICAgICA8ZXhwcmVzc2lvbiBsb2NhbElkPSIxMyIgbG9jYXRvcj0iOTE6My05MTo2IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIGxvY2FsSWQ9IjE2IiBsb2NhdG9yPSIxMDE6MS0xMDI6NiIgbmFtZT0iRGVub21pbmF0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8YW5ub3RhdGlvbiB4c2k6dHlwZT0iYTpBbm5vdGF0aW9uIj4KICAgICAgICAgICAgPGE6cyByPSIxNiI+CiAgICAgICAgICAgICAgIDxhOnMgcj0iMTUiPi8qKgogKiBEZW5vbWluYXRvcgogKgogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgQU5DIGF0dGVuZGVlcyByZWNlaXZpbmcgdGhlaXIgZmlyc3QgSElWIHRlc3QgZHVyaW5nIHByZWduYW5jeSBwbHVzIG51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBiZWZvcmUgZmlyc3QgQU5DIHZpc2l0CiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiAmcXVvdDtDdXJyZW50bHkgcHJlZ25hbnQmcXVvdDsgY2xpZW50cyB3aXRoICZxdW90O0hJViB0ZXN0IGRhdGUmcXVvdDsgb24gYSAmcXVvdDtBTkMgY29udGFjdCBkYXRlJnF1b3Q7IGR1cmluZyBjdXJyZW50IHByZWduYW5jeSB8IFBMVVMgfCBDT1VOVCBvZiBjbGllbnRzIHdpdGggJnF1b3Q7SElWIHN0YXR1cyZxdW90Oz0nSElWLXBvc2l0aXZlJyBvbiBmaXJzdCAmcXVvdDtBTkMgY29udGFjdCBkYXRlJnF1b3Q7CiAqLwoKZGVmaW5lICZxdW90O0Rlbm9taW5hdG9yJnF1b3Q7OgogIHRydWU8L2E6cz4KICAgICAgICAgICAgPC9hOnM+CiAgICAgICAgIDwvYW5ub3RhdGlvbj4KICAgICAgICAgPGV4cHJlc3Npb24gbG9jYWxJZD0iMTUiIGxvY2F0b3I9IjEwMjozLTEwMjo2IiB2YWx1ZVR5cGU9InQ6Qm9vbGVhbiIgdmFsdWU9InRydWUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgIDwvZGVmPgogICA8L3N0YXRlbWVudHM+CjwvbGlicmFyeT4K"^^xsd:base64Binary ]
  ] [
fhir:contentType [ fhir:v "application/elm+json" ] ;
fhir:data [ fhir:v "ewogICAibGlicmFyeSIgOiB7CiAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAidHJhbnNsYXRvck9wdGlvbnMiIDogIkVuYWJsZUFubm90YXRpb25zLEVuYWJsZUxvY2F0b3JzLERpc2FibGVMaXN0RGVtb3Rpb24sRGlzYWJsZUxpc3RQcm9tb3Rpb24iLAogICAgICAgICAic2lnbmF0dXJlTGV2ZWwiIDogIk92ZXJsb2FkcyIsCiAgICAgICAgICJ0eXBlIiA6ICJDcWxUb0VsbUluZm8iCiAgICAgIH0sIHsKICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICJyIiA6ICIxNiIsCiAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyoqXG4gKiBMaWJyYXJ5OiBISVYuSU5ELjQzIExvZ2ljXG4gKiBSZWYgTm86IFZFUi43XG4gKiBTaG9ydCBOYW1lOiBISVYgcHJldmFsZW5jZSBhbW9uZyB3b21lbiBhdHRlbmRpbmcgQU5DXG4gKlxuICogRGVmaW5pdGlvbjogJSBvZiBwcmVnbmFudCB3b21lbiB3aG8gYXJlIEhJVi1wb3NpdGl2ZSBhdCB0aGUgdGltZSBvZiB0aGVpciBmaXJzdCB0ZXN0IGR1cmluZyB0aGUgY3VycmVudCBwcmVnbmFuY3lcbiAqXG4gKiBOdW1lcmF0b3I6IE51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIHdobyB0ZXN0ZWQgSElWLXBvc2l0aXZlIGF0IHRoZWlyIGZpcnN0IHRlc3QgZHVyaW5nIHRoZSBjdXJyZW50IHByZWduYW5jeSBwbHVzIG51bWJlciBvZiBBTkMgYXR0ZW5kZWVzIGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBiZWZvcmUgdGhlaXIgZmlyc3QgQU5DIHZpc2l0XG4gKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIFwiQ3VycmVudGx5IHByZWduYW50XCIgY2xpZW50cyB3aXRoIFwiSElWIHRlc3QgcmVzdWx0XCI9J0hJVi1wb3NpdGl2ZScgQU5EIFwiSElWIHRlc3QgZGF0ZVwiIG9uIFwiQU5DIGNvbnRhY3QgZGF0ZVwiIGlzIEVBUkxJRVNUIHdpdGhpbiBjdXJyZW50IHByZWduYW5jeSB8IFBMVVMgfCBDT1VOVCBvZiBjbGllbnRzIHdpdGggXCJISVYgc3RhdHVzXCI9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgXCJBTkMgY29udGFjdCBkYXRlXCJcbiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiBcbiAqXG4gKiBEZW5vbWluYXRvcjogTnVtYmVyIG9mIEFOQyBhdHRlbmRlZXMgcmVjZWl2aW5nIHRoZWlyIGZpcnN0IEhJViB0ZXN0IGR1cmluZyBwcmVnbmFuY3kgcGx1cyBudW1iZXIgb2YgQU5DIGF0dGVuZGVlcyBrbm93biB0byBiZSBISVYtcG9zaXRpdmUgYmVmb3JlIGZpcnN0IEFOQyB2aXNpdFxuICogRGVub21pbmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIFwiQ3VycmVudGx5IHByZWduYW50XCIgY2xpZW50cyB3aXRoIFwiSElWIHRlc3QgZGF0ZVwiIG9uIGEgXCJBTkMgY29udGFjdCBkYXRlXCIgZHVyaW5nIGN1cnJlbnQgcHJlZ25hbmN5IHwgUExVUyB8IENPVU5UIG9mIGNsaWVudHMgd2l0aCBcIkhJViBzdGF0dXNcIj0nSElWLXBvc2l0aXZlJyBvbiBmaXJzdCBcIkFOQyBjb250YWN0IGRhdGVcIlxuICogRGVub21pbmF0b3IgRXhjbHVzaW9uczogXG4gKlxuICogRGlzYWdncmVnYXRpb25zOlxuICog4oCiIEFnZSAoPDE1LCAxNeKAkzE5LCAyMOKAkzI0LCAyNeKAkzI5LCAzMOKAkzM0LCAzNeKAkzM5LCA0MOKAkzQ5LCA1MCsgeWVhcnMpIFxuICogIOKAosKgSElWIHN0YXR1cyBhdCBmaXJzdCB0ZXN0IGR1cmluZyBjdXJyZW50IHByZWduYW5jeSAoa25vd24gcG9zaXRpdmUsIHRlc3RlZCBISVYtbmVnYXRpdmUsIHRlc3RlZCBISVYtcG9zaXRpdmUsIG5vdCB0ZXN0ZWQpIFxuICogIOKAosKgQ2l0aWVzIGFuZCBvdGhlciBhZG1pbmlzdHJhdGl2ZSByZWdpb25zIG9mIGVwaWRlbWlvbG9naWMgaW1wb3J0YW5jZVxuICpcbiAqIERpc2FnZ3JlZ2F0aW9uIEVsZW1lbnRzOiBBZ2UgfCBISVYgc3RhdHVzIGF0IGZpcnN0IEhJViB0ZXN0IGR1cmluZyBjdXJyZW50IHByZWduYW5jeVxuICpcbiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6XG4gKiBBTkMgY29udGFjdCBkYXRlIFxuICogIEN1cnJlbnRseSBwcmVnbmFudCBcbiAqICBISVYgc3RhdHVzIFxuICogIEhJViB0ZXN0IGRhdGUgXG4gKiAgSElWIHRlc3QgcmVzdWx0XG4gKlxuICogUmVmZXJlbmNlOiBDb25zb2xpZGF0ZWQgZ3VpZGVsaW5lcyBvbiBwZXJzb24tY2VudHJlZCBISVYgc3RyYXRlZ2ljIGluZm9ybWF0aW9uOiBzdHJlbmd0aGVuaW5nIHJvdXRpbmUgZGF0YSBmb3IgaW1wYWN0LiBHZW5ldmE6IFdvcmxkIEhlYWx0aCBPcmdhbml6YXRpb247IDIwMjJcbiAqIFxuICogRGF0YSBDb25jZXB0czpcbiAqIEhJVi5BLkRFMTc6IEFnZSB8IENhbGN1bGF0ZWQgYWdlIChudW1iZXIgb2YgeWVhcnMpIG9mIHRoZSBjbGllbnQgYmFzZWQgb24gZGF0ZSBvZiBiaXJ0aFxuICogSElWLkIuREUyOTogQ3VycmVudGx5IHByZWduYW50IHwgQ2xpZW50IGlzIGN1cnJlbnRseSBwcmVnbmFudFxuICogSElWLkIuREUxMTA6IEhJViB0ZXN0IGRhdGUgfCBEYXRlIG9mIHRoZSBISVYgdGVzdFxuICogSElWLkIuREUxMTE6IEhJViB0ZXN0IHJlc3VsdCB8IFRoZSByZXN1bHQgZnJvbSBISVYgdGVzdGluZyBhZnRlciBhcHBseWluZyB0aGUgdGVzdGluZyBhbGdvcml0aG1cbiAqIEhJVi5CLkRFMTEyOiBISVYtcG9zaXRpdmUgfCBUZXN0IHJlc3VsdCBpcyBISVYtcG9zaXRpdmVcbiAqIEhJVi5CLkRFMTEzOiBISVYtbmVnYXRpdmUgfCBUZXN0IHJlc3VsdCBpcyBISVYtbmVnYXRpdmVcbiAqIEhJVi5CLkRFMTE0OiBISVYtaW5jb25jbHVzaXZlIHwgVGVzdCByZXN1bHQgaXMgSElWLWluY29uY2x1c2l2ZVxuICogSElWLkIuREUxMTU6IEhJViBzdGF0dXMgfCBISVYgc3RhdHVzIHJlcG9ydGVkIGFmdGVyIGFwcGx5aW5nIHRoZSBuYXRpb25hbCBISVYgdGVzdGluZyBhbGdvcml0aG0uIE5vIHNpbmdsZSBISVYgdGVzdCBjYW4gcHJvdmlkZSBhbiBISVYtcG9zaXRpdmUgZGlhZ25vc2lzLlxuICogSElWLkIuREUxMTY6IEhJVi1wb3NpdGl2ZSB8IENsaWVudCBpcyBISVYtcG9zaXRpdmVcbiAqIEhJVi5CLkRFMTE3OiBISVYtbmVnYXRpdmUgfCBDbGllbnQgaXMgSElWLW5lZ2F0aXZlXG4gKiBISVYuQi5ERTExODogVW5rbm93biB8IENsaWVudCBoYXMgdW5rbm93biBISVYgc3RhdHVzXG4gKiBISVYuRC5ERTMxOiBDdXJyZW50bHkgcHJlZ25hbnQgfCBDbGllbnQgaXMgY3VycmVudGx5IHByZWduYW50XG4gKiBISVYuRS5ERTg1OiBBTkMgY29udGFjdCBkYXRlIHwgVGhlIGRhdGUgYW5kIHRpbWUgb2YgdGhlIGNsaWVudCdzIEFOQyBjb250YWN0IChpbiB0aGUgQU5DIERBSyB0aGlzIGlzIGNhbGxlZCAnQ29udGFjdCBkYXRlJylcbiAqIEhJVi5FLkRFMjI0OiBISVYgdGVzdCBkYXRlIHwgRGF0ZSBvZiB0aGUgSElWIHRlc3RcbiAqIEhJVi5TUlYuREUxOiBISVYgdGVzdCBkYXRlIHwgRGF0ZSBvZiB0aGUgSElWIHRlc3RcbiAqIEhJVi5TUlYuREUyOiBISVYgdGVzdCByZXN1bHQgfCBUaGUgcmVzdWx0IGZyb20gSElWIHRlc3RpbmcgYWZ0ZXIgYXBwbHlpbmcgdGhlIHRlc3RpbmcgYWxnb3JpdGhtXG4gKiBISVYuU1JWLkRFNzogQ3VycmVudGx5IHByZWduYW50IHwgQ2xpZW50IGlzIGN1cnJlbnRseSBwcmVnbmFudFxuICogSElWLlNSVi5ERTE4OiBBTkMgY29udGFjdCBkYXRlIHwgVGhlIGRhdGUgYW5kIHRpbWUgb2YgdGhlIGNsaWVudCdzIEFOQyBjb250YWN0IChpbiB0aGUgQU5DIERBSyB0aGlzIGlzIGNhbGxlZCAnQ29udGFjdCBkYXRlJylcbiAqXG4gKiBBZGRpdGlvbmFsIENvbnRleHRcbiAqIC0gd2hhdCBpdCBtZWFzdXJlczogSElWIHByZXZhbGVuY2UgYW1vbmcgcHJlZ25hbnQgd29tZW4gYXR0ZW5kaW5nIEFOQywgaW5jbHVkaW5nIHRob3NlIHdobyB3ZXJlIGRpYWdub3NlZCB3aXRoIEhJViBiZWZvcmUgdGhlaXIgZmlyc3QgQU5DIHZpc2l0IGFuZCB0aG9zZSB0ZXN0aW5nIHBvc2l0aXZlIGR1cmluZyB0aGVpciBjdXJyZW50IHByZWduYW5jeS5cbiAqIC0gcmF0aW9uYWxlOiBISVYgcHJldmFsZW5jZSBhbW9uZyBBTkMgYXR0ZW5kZWVzIGlzIHVzZWQgZm9yIHN1cnZlaWxsYW5jZSB0byBtZWFzdXJlIEhJViBwcmV2YWxlbmNlIGFuZCBpbmNpZGVuY2UgYW5kIHRvIG1vbml0b3IgdHJlbmRzIGluIEhJViBpbmZlY3Rpb24gd2hlbiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldCB0byBlbnN1cmUgdGhhdCBISVYgcHJldmFsZW5jZSBhbW9uZyBBTkMgY2xpZW50cyBpcyBjb25zaXN0ZW50bHkgcmVwcmVzZW50YXRpdmUgb2YgSElWIHByZXZhbGVuY2UgYW1vbmcgYWxsIHByZWduYW50IHdvbWVuOiB8IOKAoiBBTkMgYXR0ZW5kYW5jZSBpcyBoaWdoIGFuZCBhbGwgd29tZW4gYXJlIHJlY29yZGVkIChmb3IgZXhhbXBsZSwgbm90IG1pc3NpbmcgbGFyZ2UgcHJpdmF0ZS1zZWN0b3IgQU5DIHNlcnZpY2VzKS4gfCDigKLCoEhJViB0ZXN0aW5nIGlzIG9mZmVyZWQgdG8gYWxsIHByZWduYW50IHdvbWVuIGFuZCBub3QgcmVzdHJpY3RlZCB0byBvbmx5IGhpZ2hlci1yaXNrIHdvbWVuIG9yIGludGVycnVwdGVkIGR1ZSB0byBzdG9jay1vdXRzIG9mIHRlc3Qga2l0cy4gfCDigKLCoE9ubHkgdGhlIGZpcnN0IEhJViB0ZXN0IHJlc3VsdCBpcyB1c2VkIHRvIGNhbGN1bGF0ZSBISVYgcHJldmFsZW5jZSBkdXJpbmcgYSBzaW5nbGUgcHJlZ25hbmN5LiB8IOKAosKgV29tZW4gd2hvIGFyZSBhbHJlYWR5IGtub3duIHRvIGJlIEhJVi1wb3NpdGl2ZSBhbmQvb3IgYXJlIGFscmVhZHkgb24gQVJUIHByaW9yIHRvIHRoZWlyIGZpcnN0IEFOQyB2aXNpdCBkdXJpbmcgYSBwcmVnbmFuY3kgYW5kLCB0aGVyZWZvcmUsIGFyZSBub3QgdGVzdGVkIGZvciBISVYsIGFyZSByZWNvcmRlZCB8IGFuZCBpbmNsdWRlZCBpbiByb3V0aW5lIHJlcG9ydGluZy4gQWxsIEhJVi1wb3NpdGl2ZSB3b21lbiBtdXN0IGJlIGluY2x1ZGVkIGluIGJvdGggdGhlIG51bWVyYXRvciBhbmQgZGVub21pbmF0b3Igd2hlbiBjYWxjdWxhdGluZyBISVYgcHJldmFsZW5jZSBhbW9uZyBwcmVnbmFudCB3b21lbi4gfCAgfCBTZWUgc2VjdGlvbiA1LjIgNCBvbiBXSE8ncyAyMDIyIEhJViBTSSBHdWlkZWxpbmVzIG9uIHJvdXRpbmUgYW50ZW5hdGFsIEhJViB0ZXN0aW5nIGZvciBtb3JlIGRldGFpbC4gfCBUaGlzIGluZGljYXRvciBpcyBhbHNvIHVzZWZ1bCBmb3IgZXN0aW1hdGluZyB0aGUgbnVtYmVyIG9mIHdvbWVuIGluIG5lZWQgb2YgUE1UQ1Qgc2VydmljZXMgZm9yIHByb2dyYW1tZSBwbGFubmluZyBwdXJwb3Nlcy5cbiAqIC0gbWV0aG9kOiBBTkMgcmVnaXN0ZXJzLCBwYXRpZW50IG1vbml0b3JpbmcgdG9vbHMsIEVNUnMgKGZvciBleGFtcGxlLCBwYXRpZW50IHJlY29yZHMpLiB8ICB8IFRoZSByZWNvbW1lbmRlZCByZXBvcnRpbmcgcGVyaW9kIGlzIDEyIG1vbnRocy5cbiAqIFxuICogU3VnZ2VzdGVkIFNjb3JpbmcgTWV0aG9kOiBwcm9wb3J0aW9uIHwgaHR0cDovL2hsNy5vcmcvZmhpci91cy9jcWZtZWFzdXJlcy9TdHJ1Y3R1cmVEZWZpbml0aW9uL3Byb3BvcnRpb24tbWVhc3VyZS1jcWZtXG4gKi9cblxuIiwibGlicmFyeSBISVZJTkQ0M0xvZ2ljIiBdCiAgICAgICAgICAgIH0gXQogICAgICAgICB9CiAgICAgIH0gXSwKICAgICAgImlkZW50aWZpZXIiIDogewogICAgICAgICAiaWQiIDogIkhJVklORDQzTG9naWMiLAogICAgICAgICAic3lzdGVtIiA6ICJodHRwOi8vc21hcnQud2hvLmludC9oaXYiCiAgICAgIH0sCiAgICAgICJzY2hlbWFJZGVudGlmaWVyIiA6IHsKICAgICAgICAgImlkIiA6ICJ1cm46aGw3LW9yZzplbG0iLAogICAgICAgICAidmVyc2lvbiIgOiAicjEiCiAgICAgIH0sCiAgICAgICJ1c2luZ3MiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZGVudGlmaWVyIiA6ICJTeXN0ZW0iLAogICAgICAgICAgICAidXJpIiA6ICJ1cm46aGw3LW9yZzplbG0tdHlwZXM6cjEiCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjM6MS02MzoyNiIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVIiLAogICAgICAgICAgICAidXJpIiA6ICJodHRwOi8vaGw3Lm9yZy9maGlyIiwKICAgICAgICAgICAgInZlcnNpb24iIDogIjQuMC4xIiwKICAgICAgICAgICAgImFubm90YXRpb24iIDogWyB7CiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJBbm5vdGF0aW9uIiwKICAgICAgICAgICAgICAgInMiIDogewogICAgICAgICAgICAgICAgICAiciIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gSW5jbHVkZWQgTGlicmFyaWVzXG4iLCJ1c2luZyAiIF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIkZISVIiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICc0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAiaW5jbHVkZXMiIDogewogICAgICAgICAiZGVmIiA6IFsgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMiIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI2NToxLTY1OjQ0IiwKICAgICAgICAgICAgImxvY2FsSWRlbnRpZmllciIgOiAiSElDIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9zbWFydC53aG8uaW50L2hpdi9ISVZDb21tb24iLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiMC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIyIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSElWQ29tbW9uIiBdCiAgICAgICAgICAgICAgICAgICAgIH0gXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIgdmVyc2lvbiAiLCInMC4wLjEnIiwiIGNhbGxlZCAiLCJISUMiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjMiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjY6MS02NjozNSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIkZISVJIZWxwZXJzIiwKICAgICAgICAgICAgInBhdGgiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvRkhJUkhlbHBlcnMiLAogICAgICAgICAgICAidmVyc2lvbiIgOiAiNC4wLjEiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIzIiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIiLCJpbmNsdWRlICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRkhJUkhlbHBlcnMiIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiB2ZXJzaW9uICIsIic0LjAuMSciIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdCiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjQiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiNjg6MS02ODoyOSIsCiAgICAgICAgICAgICJsb2NhbElkZW50aWZpZXIiIDogIldDb20iLAogICAgICAgICAgICAicGF0aCIgOiAiaHR0cDovL3NtYXJ0Lndoby5pbnQvaGl2L1dIT0NvbW1vbiIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjQiLAogICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiIsImluY2x1ZGUgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJXSE9Db21tb24iIF0KICAgICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6IFsgIiBjYWxsZWQgIiwiV0NvbSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJwYXJhbWV0ZXJzIiA6IHsKICAgICAgICAgImRlZiIgOiBbIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjEwIiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjEtNzE6ODgiLAogICAgICAgICAgICAibmFtZSIgOiAiTWVhc3VyZW1lbnQgUGVyaW9kIiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMCIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLy8gSW5kaWNhdG9yIERlZmluaXRpb25cbiIsInBhcmFtZXRlciAiLCJcIk1lYXN1cmVtZW50IFBlcmlvZFwiIiwiICIgXQogICAgICAgICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICI5IiwKICAgICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICJJbnRlcnZhbDwiIF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAiciIgOiAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiRGF0ZSIgXQogICAgICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiPiIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiIGRlZmF1bHQgIiBdCiAgICAgICAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICAgICAgInIiIDogIjciLAogICAgICAgICAgICAgICAgICAgICAicyIgOiBbIHsKICAgICAgICAgICAgICAgICAgICAgICAgInIiIDogIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiSW50ZXJ2YWxbIiwiQDIwMjMtMDEtMDEiLCIsICIsIkAyMDIzLTAxLTMwIiwiXSIgXQogICAgICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZGVmYXVsdCIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI3IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjU1LTcxOjg4IiwKICAgICAgICAgICAgICAgImxvd0Nsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAiaGlnaENsb3NlZCIgOiB0cnVlLAogICAgICAgICAgICAgICAidHlwZSIgOiAiSW50ZXJ2YWwiLAogICAgICAgICAgICAgICAibG93IiA6IHsKICAgICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjUiLAogICAgICAgICAgICAgICAgICAibG9jYXRvciIgOiAiNzE6NjQtNzE6NzQiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiRGF0ZSIsCiAgICAgICAgICAgICAgICAgICJ5ZWFyIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIyMDIzIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJtb250aCIgOiB7CiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9SW50ZWdlciIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAiMSIsCiAgICAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAiZGF5IiA6IHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgImhpZ2giIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiNiIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MTo3Ny03MTo4NyIsCiAgICAgICAgICAgICAgICAgICJ0eXBlIiA6ICJEYXRlIiwKICAgICAgICAgICAgICAgICAgInllYXIiIDogewogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjIwMjMiLAogICAgICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgIm1vbnRoIiA6IHsKICAgICAgICAgICAgICAgICAgICAgInZhbHVlVHlwZSIgOiAie3VybjpobDctb3JnOmVsbS10eXBlczpyMX1JbnRlZ2VyIiwKICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiA6ICIxIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICJkYXkiIDogewogICAgICAgICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUludGVnZXIiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogIjMwIiwKICAgICAgICAgICAgICAgICAgICAgInR5cGUiIDogIkxpdGVyYWwiCiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9LAogICAgICAgICAgICAicGFyYW1ldGVyVHlwZVNwZWNpZmllciIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICI5IiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjcxOjMyLTcxOjQ1IiwKICAgICAgICAgICAgICAgInR5cGUiIDogIkludGVydmFsVHlwZVNwZWNpZmllciIsCiAgICAgICAgICAgICAgICJwb2ludFR5cGUiIDogewogICAgICAgICAgICAgICAgICAibG9jYWxJZCIgOiAiOCIsCiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MTo0MS03MTo0NCIsCiAgICAgICAgICAgICAgICAgICJuYW1lIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfURhdGUiLAogICAgICAgICAgICAgICAgICAidHlwZSIgOiAiTmFtZWRUeXBlU3BlY2lmaWVyIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSBdCiAgICAgIH0sCiAgICAgICJjb250ZXh0cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzoxLTczOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiCiAgICAgICAgIH0gXQogICAgICB9LAogICAgICAic3RhdGVtZW50cyIgOiB7CiAgICAgICAgICJkZWYiIDogWyB7CiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzoxLTczOjE1IiwKICAgICAgICAgICAgIm5hbWUiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiY29udGV4dCIgOiAiUGF0aWVudCIsCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgInR5cGUiIDogIlNpbmdsZXRvbkZyb20iLAogICAgICAgICAgICAgICAib3BlcmFuZCIgOiB7CiAgICAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI3MzoxLTczOjE1IiwKICAgICAgICAgICAgICAgICAgImRhdGFUeXBlIiA6ICJ7aHR0cDovL2hsNy5vcmcvZmhpcn1QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInRlbXBsYXRlSWQiIDogImh0dHA6Ly9obDcub3JnL2ZoaXIvU3RydWN0dXJlRGVmaW5pdGlvbi9QYXRpZW50IiwKICAgICAgICAgICAgICAgICAgInR5cGUiIDogIlJldHJpZXZlIgogICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgfSwgewogICAgICAgICAgICAibG9jYWxJZCIgOiAiMTIiLAogICAgICAgICAgICAibG9jYXRvciIgOiAiODA6MS04MTo2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkluaXRpYWwgUG9wdWxhdGlvbiIsCiAgICAgICAgICAgICJjb250ZXh0IiA6ICJQYXRpZW50IiwKICAgICAgICAgICAgImFjY2Vzc0xldmVsIiA6ICJQdWJsaWMiLAogICAgICAgICAgICAiYW5ub3RhdGlvbiIgOiBbIHsKICAgICAgICAgICAgICAgInR5cGUiIDogIkFubm90YXRpb24iLAogICAgICAgICAgICAgICAicyIgOiB7CiAgICAgICAgICAgICAgICAgICJyIiA6ICIxMiIsCiAgICAgICAgICAgICAgICAgICJzIiA6IFsgewogICAgICAgICAgICAgICAgICAgICAiciIgOiAiMTEiLAogICAgICAgICAgICAgICAgICAgICAidmFsdWUiIDogWyAiLyogUG9wdWxhdGlvbnMgKi9cblxuLypcbiAqSW5pdGlhbCBQb3B1bGF0aW9uXG4gKi9cblxuIiwiZGVmaW5lICIsIlwiSW5pdGlhbCBQb3B1bGF0aW9uXCIiLCI6XG4gICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxMSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICI4MTozLTgxOjYiLAogICAgICAgICAgICAgICAidmFsdWVUeXBlIiA6ICJ7dXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxfUJvb2xlYW4iLAogICAgICAgICAgICAgICAidmFsdWUiIDogInRydWUiLAogICAgICAgICAgICAgICAidHlwZSIgOiAiTGl0ZXJhbCIKICAgICAgICAgICAgfQogICAgICAgICB9LCB7CiAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNCIsCiAgICAgICAgICAgICJsb2NhdG9yIiA6ICI5MDoxLTkxOjYiLAogICAgICAgICAgICAibmFtZSIgOiAiTnVtZXJhdG9yIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE0IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIE51bWVyYXRvclxuICogXG4gKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgQU5DIGF0dGVuZGVlcyB3aG8gdGVzdGVkIEhJVi1wb3NpdGl2ZSBhdCB0aGVpciBmaXJzdCB0ZXN0IGR1cmluZyB0aGUgY3VycmVudCBwcmVnbmFuY3kgcGx1cyBudW1iZXIgb2YgQU5DIGF0dGVuZGVlcyBrbm93biB0byBiZSBISVYtcG9zaXRpdmUgYmVmb3JlIHRoZWlyIGZpcnN0IEFOQyB2aXNpdFxuICogQ2FsY3VsYXRpb246IENPVU5UIG9mIFwiQ3VycmVudGx5IHByZWduYW50XCIgY2xpZW50cyB3aXRoIFwiSElWIHRlc3QgcmVzdWx0XCI9J0hJVi1wb3NpdGl2ZScgQU5EIFwiSElWIHRlc3QgZGF0ZVwiIG9uIFwiQU5DIGNvbnRhY3QgZGF0ZVwiIGlzIEVBUkxJRVNUIHdpdGhpbiBjdXJyZW50IHByZWduYW5jeSB8IFBMVVMgfCBDT1VOVCBvZiBjbGllbnRzIHdpdGggXCJISVYgc3RhdHVzXCI9J0hJVi1wb3NpdGl2ZScgb24gZmlyc3QgXCJBTkMgY29udGFjdCBkYXRlXCJcbiAqL1xuXG4iLCJkZWZpbmUgIiwiXCJOdW1lcmF0b3JcIiIsIjpcbiAgIiwidHJ1ZSIgXQogICAgICAgICAgICAgICAgICB9IF0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IF0sCiAgICAgICAgICAgICJleHByZXNzaW9uIiA6IHsKICAgICAgICAgICAgICAgImxvY2FsSWQiIDogIjEzIiwKICAgICAgICAgICAgICAgImxvY2F0b3IiIDogIjkxOjMtOTE6NiIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0sIHsKICAgICAgICAgICAgImxvY2FsSWQiIDogIjE2IiwKICAgICAgICAgICAgImxvY2F0b3IiIDogIjEwMToxLTEwMjo2IiwKICAgICAgICAgICAgIm5hbWUiIDogIkRlbm9taW5hdG9yIiwKICAgICAgICAgICAgImNvbnRleHQiIDogIlBhdGllbnQiLAogICAgICAgICAgICAiYWNjZXNzTGV2ZWwiIDogIlB1YmxpYyIsCiAgICAgICAgICAgICJhbm5vdGF0aW9uIiA6IFsgewogICAgICAgICAgICAgICAidHlwZSIgOiAiQW5ub3RhdGlvbiIsCiAgICAgICAgICAgICAgICJzIiA6IHsKICAgICAgICAgICAgICAgICAgInIiIDogIjE2IiwKICAgICAgICAgICAgICAgICAgInMiIDogWyB7CiAgICAgICAgICAgICAgICAgICAgICJyIiA6ICIxNSIsCiAgICAgICAgICAgICAgICAgICAgICJ2YWx1ZSIgOiBbICIvKipcbiAqIERlbm9taW5hdG9yXG4gKlxuICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIEFOQyBhdHRlbmRlZXMgcmVjZWl2aW5nIHRoZWlyIGZpcnN0IEhJViB0ZXN0IGR1cmluZyBwcmVnbmFuY3kgcGx1cyBudW1iZXIgb2YgQU5DIGF0dGVuZGVlcyBrbm93biB0byBiZSBISVYtcG9zaXRpdmUgYmVmb3JlIGZpcnN0IEFOQyB2aXNpdFxuICogQ2FsY3VsYXRpb246IENPVU5UIG9mIFwiQ3VycmVudGx5IHByZWduYW50XCIgY2xpZW50cyB3aXRoIFwiSElWIHRlc3QgZGF0ZVwiIG9uIGEgXCJBTkMgY29udGFjdCBkYXRlXCIgZHVyaW5nIGN1cnJlbnQgcHJlZ25hbmN5IHwgUExVUyB8IENPVU5UIG9mIGNsaWVudHMgd2l0aCBcIkhJViBzdGF0dXNcIj0nSElWLXBvc2l0aXZlJyBvbiBmaXJzdCBcIkFOQyBjb250YWN0IGRhdGVcIlxuICovXG5cbiIsImRlZmluZSAiLCJcIkRlbm9taW5hdG9yXCIiLCI6XG4gICIsInRydWUiIF0KICAgICAgICAgICAgICAgICAgfSBdCiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBdLAogICAgICAgICAgICAiZXhwcmVzc2lvbiIgOiB7CiAgICAgICAgICAgICAgICJsb2NhbElkIiA6ICIxNSIsCiAgICAgICAgICAgICAgICJsb2NhdG9yIiA6ICIxMDI6My0xMDI6NiIsCiAgICAgICAgICAgICAgICJ2YWx1ZVR5cGUiIDogInt1cm46aGw3LW9yZzplbG0tdHlwZXM6cjF9Qm9vbGVhbiIsCiAgICAgICAgICAgICAgICJ2YWx1ZSIgOiAidHJ1ZSIsCiAgICAgICAgICAgICAgICJ0eXBlIiA6ICJMaXRlcmFsIgogICAgICAgICAgICB9CiAgICAgICAgIH0gXQogICAgICB9CiAgIH0KfQ=="^^xsd:base64Binary ]
  ] ) . #