WHO SMART Guidelines - HIV
0.4.3 - ci-build

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

: HIV.IND.41 Logic - JSON Representation

Draft as of 2025-02-07

Raw json | Download

{
  "resourceType" : "Library",
  "id" : "HIVIND41Logic",
  "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;\">HIV.IND.41 Logic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Id: </b></th>\n            <td style=\"padding-left: 4px;\">HIVIND41Logic</td>\n        </tr>\n        \n\n        \n        \n        <tr>\n            <th scope=\"row\"><b>Version: </b></th>\n            <td style=\"padding-left: 4px;\">0.4.3</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-HIVIND41Logic.html\">HIV.IND.41 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://terminology.hl7.org/6.0.2/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;\">2025-02-07 14:15:45+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 HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 (and 24 months) postpartum</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\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.41 Logic\n * Ref No: VER.5\n * Short Name: ART coverage in breastfeeding mothers\n *\n * Definition: % of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 (and 24 months) postpartum\n *\n * Numerator: Number of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 months (and 24 months*) postpartum\n * Numerator Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND whose mothers are &quot;Breastfeeding&quot; 12 months after &quot;Delivery date&quot; AND mothers with &quot;On ART&quot;=True 12 months after &quot;Delivery date&quot; |  | Also reported for 24 months after &quot;Delivery date&quot;\n * Numerator Exclusions: \n *\n * Denominator: Number of HIV-exposed infants attending MNCH services for a 12-month visit (and 24-month visit or first visit after the end of breastfeeding)\n * Denominator Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND [(whose mothers attend a 12-month &quot;Maternal and child health service visit&quot;) OR (first &quot;Maternal and child health service visit&quot; after &quot;Delivery date&quot; where mother is NOT &quot;Breastfeeding&quot;)] |  | Also reported for mothers attending 24-month &quot;Maternal and child health service visit&quot;\n * Denominator Exclusions: \n *\n * Disaggregations:\n * • Age (&lt;15, 15–19, 20–24, 25+ years) \n *  • Timing of ART initiation (already on ART at first ANC visit, newly on ART during pregnancy or labour and delivery) \n *  •\u00a0Cities and other administrative regions of epidemiologic importance\n *\n * Disaggregation Elements: Age | Timing of ART initiation | Breastfeeding at 24 months\n *\n * Numerator and Denominator Elements:\n * Breastfeeding \n *  Delivery date \n *  HIV-exposed infant or child \n *  Maternal and child health service visit \n *  On ART\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.DE32: Breastfeeding | Infant is being breastfed by mother\n * HIV.D.DE32: Breastfeeding | Client is giving infant breast milk\n * HIV.D.DE38: On ART | Client is currently taking ART\n * HIV.E.DE41: Timing of ART initiation | When the pregnant woman or mother initiated ART, for women living with HIV.\n * HIV.E.DE42: Already on ART at first antenatal care visit | The pregnant woman was already on antiretroviral therapy (ART) at first antenatal care visit\n * HIV.E.DE43: Newly on ART during pregnancy | The pregnant woman started ART during her pregnancy\n * HIV.E.DE44: Newly on ART during labour and delivery | The woman started ART during labour and delivery\n * HIV.E.DE46: Delivery date | Date on which the woman delivered\n * HIV.E.DE112: HIV-exposed infant or child | Whether the infant or child was determined to have had HIV exposure\n * HIV.E.DE173: Maternal and child health service visit | Maternal and child health service visit attended by an HIV-exposed infant\n * HIV.E.DE174: 12-month visit | HIV-exposed infant attending MCH services for a 12-month visit\n * HIV.E.DE175: 24-month visit | HIV-exposed infants attending MCH services for a 24-month visit\n * HIV.E.DE176: First visit after the end of breastfeeding | HIV-exposed infant attending MCH services for a first visit after the end of breastfeeding\n * HIV.H.DE47: On ART | Client is currently taking ART \n * HIV.SRV.DE20: HIV-exposed infant or child | Whether the infant or child was determined to have had HIV exposure\n *\n * Additional Context\n * - what it measures: This indicator measures the programme's ability to reduce the risk of transmission via breastfeeding (Prong 3 of the PMTCT strategy).\n * - rationale: •\u00a0In many countries the average breastfeeding period is 18–24 months. The long breastfeeding period represents an important risk period for HIV-exposed infants. | •\u00a0Ensuring that HIV-positive mothers are retained on ART, especially during the breastfeeding period, is critical to sustaining the health of the mother and preventing infection of her infant.\n * - method: For the numerator: Programme records (for example, PMTCT registers, ART registers). |  | For the denominator: Programme records (for example, MCH service records)\n * \n * Suggested Scoring Method: proportion | http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/proportion-measure-cqfm\n */\n\nlibrary HIVIND41Logic\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\ninclude HIVElements called HE\ninclude HIVIndicatorElements called HIE\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 HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 months (and 24 months*) postpartum\n * Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND whose mothers are &quot;Breastfeeding&quot; 12 months after &quot;Delivery date&quot; AND mothers with &quot;On ART&quot;=True 12 months after &quot;Delivery date&quot; |  | Also reported for 24 months after &quot;Delivery date&quot;\n */\n\ndefine &quot;Numerator&quot;:\n  HIE.&quot;is HIV-exposed infant or child E.DE112&quot;\n  and exists(HIE.&quot;Breastfeeding B.DE32&quot; B \n  where months between end of B.effective.toInterval() and end of Last(HIE.&quot;Live Birth Delivery&quot; B where B.effective.toInterval() before &quot;Measurement Period&quot;).effective.toInterval() &gt; 12 months\n  )\n  and \n  exists ( \n    HE.&quot;On ART D.DE38&quot; A \n    where months between end of A.effective.toInterval() and end of Last(HIE.&quot;Live Birth Delivery&quot; B where B.effective.toInterval() before &quot;Measurement Period&quot;).effective.toInterval() &gt; 12 months\n  )\n  \n\n\n/**\n * Denominator\n *\n * Definition: Number of HIV-exposed infants attending MNCH services for a 12-month visit (and 24-month visit or first visit after the end of breastfeeding)\n * Calculation: COUNT of infants who are an &quot;HIV-exposed infant or child&quot; AND [(whose mothers attend a 12-month &quot;Maternal and child health service visit&quot;) OR (first &quot;Maternal and child health service visit&quot; after &quot;Delivery date&quot; where mother is NOT &quot;Breastfeeding&quot;)] |  | Also reported for mothers attending 24-month &quot;Maternal and child health service visit&quot;\n */\n\ndefine &quot;Denominator&quot;:\n  HIE.&quot;is HIV-exposed infant or child E.DE112&quot;\n  and (HIE.&quot;12-month visit&quot;\n  or \n  exists(HE.&quot;Not Breastfeeding B.DE32&quot; B \n  with HE.&quot;Maternal and child health service visit&quot; E\n  such that B.encounter.references(E) and E.period.toInterval() after end of Last(HIE.&quot;Live Birth Delivery&quot; B where B.effective.toInterval() before &quot;Measurement Period&quot;).effective.toInterval())\n  )\n/* end Populations */\n\n/* \n * Disaggregators\n */\n\ndefine &quot;Age Stratifier&quot;:\n\tHIE.&quot;By Age Stratifier 10&quot;\n\ndefine &quot;Timing of ART initiation&quot;:\n  HIE.&quot;Timing of ART initiation&quot;\n  \ndefine &quot;Geographic Region Stratifier&quot;:\n\tHIE.&quot;By Geographic Region Stratifier&quot;\n\ndefine &quot;Stratification&quot;:\nHIE.&quot;By Age Stratifier 10&quot;\n+ ':' + HIE.&quot;By Geographic Region Stratifier&quot;\n+ HIE.&quot;Timing of ART initiation&quot;.code\n</code></pre></td></tr>\n            </table>\n          </td>\n        </tr>\n        \n        \n        \n    </table>\n</div>\n</div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
      "valueCode" : "computable"
    }
  ],
  "url" : "http://smart.who.int/hiv/Library/HIVIND41Logic",
  "version" : "0.4.3",
  "name" : "HIVIND41Logic",
  "title" : "HIV.IND.41 Logic",
  "status" : "draft",
  "experimental" : true,
  "type" : {
    "coding" : [
      {
        "system" : "http://terminology.hl7.org/CodeSystem/library-type",
        "code" : "logic-library"
      }
    ]
  },
  "date" : "2025-02-07T14:15:45+00:00",
  "publisher" : "WHO",
  "contact" : [
    {
      "name" : "WHO",
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://who.int"
        }
      ]
    }
  ],
  "description" : "% of HIV-exposed breastfeeding infants whose mothers are receiving ART at 12 (and 24 months) postpartum",
  "content" : [
    {
      "contentType" : "text/cql",
      "data" : "LyoqCiAqIExpYnJhcnk6IEhJVi5JTkQuNDEgTG9naWMKICogUmVmIE5vOiBWRVIuNQogKiBTaG9ydCBOYW1lOiBBUlQgY292ZXJhZ2UgaW4gYnJlYXN0ZmVlZGluZyBtb3RoZXJzCiAqCiAqIERlZmluaXRpb246ICUgb2YgSElWLWV4cG9zZWQgYnJlYXN0ZmVlZGluZyBpbmZhbnRzIHdob3NlIG1vdGhlcnMgYXJlIHJlY2VpdmluZyBBUlQgYXQgMTIgKGFuZCAyNCBtb250aHMpIHBvc3RwYXJ0dW0KICoKICogTnVtZXJhdG9yOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgYnJlYXN0ZmVlZGluZyBpbmZhbnRzIHdob3NlIG1vdGhlcnMgYXJlIHJlY2VpdmluZyBBUlQgYXQgMTIgbW9udGhzIChhbmQgMjQgbW9udGhzKikgcG9zdHBhcnR1bQogKiBOdW1lcmF0b3IgQ2FsY3VsYXRpb246IENPVU5UIG9mIGluZmFudHMgd2hvIGFyZSBhbiAiSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIiBBTkQgd2hvc2UgbW90aGVycyBhcmUgIkJyZWFzdGZlZWRpbmciIDEyIG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgQU5EIG1vdGhlcnMgd2l0aCAiT24gQVJUIj1UcnVlIDEyIG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgfCAgfCBBbHNvIHJlcG9ydGVkIGZvciAyNCBtb250aHMgYWZ0ZXIgIkRlbGl2ZXJ5IGRhdGUiCiAqIE51bWVyYXRvciBFeGNsdXNpb25zOiAKICoKICogRGVub21pbmF0b3I6IE51bWJlciBvZiBISVYtZXhwb3NlZCBpbmZhbnRzIGF0dGVuZGluZyBNTkNIIHNlcnZpY2VzIGZvciBhIDEyLW1vbnRoIHZpc2l0IChhbmQgMjQtbW9udGggdmlzaXQgb3IgZmlyc3QgdmlzaXQgYWZ0ZXIgdGhlIGVuZCBvZiBicmVhc3RmZWVkaW5nKQogKiBEZW5vbWluYXRvciBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuICJISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQiIEFORCBbKHdob3NlIG1vdGhlcnMgYXR0ZW5kIGEgMTItbW9udGggIk1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCIpIE9SIChmaXJzdCAiTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IiBhZnRlciAiRGVsaXZlcnkgZGF0ZSIgd2hlcmUgbW90aGVyIGlzIE5PVCAiQnJlYXN0ZmVlZGluZyIpXSB8ICB8IEFsc28gcmVwb3J0ZWQgZm9yIG1vdGhlcnMgYXR0ZW5kaW5nIDI0LW1vbnRoICJNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQiCiAqIERlbm9taW5hdG9yIEV4Y2x1c2lvbnM6IAogKgogKiBEaXNhZ2dyZWdhdGlvbnM6CiAqIOKAoiBBZ2UgKDwxNSwgMTXigJMxOSwgMjDigJMyNCwgMjUrIHllYXJzKSAKICogIOKAoiBUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24gKGFscmVhZHkgb24gQVJUIGF0IGZpcnN0IEFOQyB2aXNpdCwgbmV3bHkgb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgb3IgbGFib3VyIGFuZCBkZWxpdmVyeSkgCiAqICDigKLCoENpdGllcyBhbmQgb3RoZXIgYWRtaW5pc3RyYXRpdmUgcmVnaW9ucyBvZiBlcGlkZW1pb2xvZ2ljIGltcG9ydGFuY2UKICoKICogRGlzYWdncmVnYXRpb24gRWxlbWVudHM6IEFnZSB8IFRpbWluZyBvZiBBUlQgaW5pdGlhdGlvbiB8IEJyZWFzdGZlZWRpbmcgYXQgMjQgbW9udGhzCiAqCiAqIE51bWVyYXRvciBhbmQgRGVub21pbmF0b3IgRWxlbWVudHM6CiAqIEJyZWFzdGZlZWRpbmcgCiAqICBEZWxpdmVyeSBkYXRlIAogKiAgSElWLWV4cG9zZWQgaW5mYW50IG9yIGNoaWxkIAogKiAgTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IAogKiAgT24gQVJUCiAqCiAqIFJlZmVyZW5jZTogQ29uc29saWRhdGVkIGd1aWRlbGluZXMgb24gcGVyc29uLWNlbnRyZWQgSElWIHN0cmF0ZWdpYyBpbmZvcm1hdGlvbjogc3RyZW5ndGhlbmluZyByb3V0aW5lIGRhdGEgZm9yIGltcGFjdC4gR2VuZXZhOiBXb3JsZCBIZWFsdGggT3JnYW5pemF0aW9uOyAyMDIyCiAqIAogKiBEYXRhIENvbmNlcHRzOgogKiBISVYuQS5ERTE3OiBBZ2UgfCBDYWxjdWxhdGVkIGFnZSAobnVtYmVyIG9mIHllYXJzKSBvZiB0aGUgY2xpZW50IGJhc2VkIG9uIGRhdGUgb2YgYmlydGgKICogSElWLkIuREUzMjogQnJlYXN0ZmVlZGluZyB8IEluZmFudCBpcyBiZWluZyBicmVhc3RmZWQgYnkgbW90aGVyCiAqIEhJVi5ELkRFMzI6IEJyZWFzdGZlZWRpbmcgfCBDbGllbnQgaXMgZ2l2aW5nIGluZmFudCBicmVhc3QgbWlsawogKiBISVYuRC5ERTM4OiBPbiBBUlQgfCBDbGllbnQgaXMgY3VycmVudGx5IHRha2luZyBBUlQKICogSElWLkUuREU0MTogVGltaW5nIG9mIEFSVCBpbml0aWF0aW9uIHwgV2hlbiB0aGUgcHJlZ25hbnQgd29tYW4gb3IgbW90aGVyIGluaXRpYXRlZCBBUlQsIGZvciB3b21lbiBsaXZpbmcgd2l0aCBISVYuCiAqIEhJVi5FLkRFNDI6IEFscmVhZHkgb24gQVJUIGF0IGZpcnN0IGFudGVuYXRhbCBjYXJlIHZpc2l0IHwgVGhlIHByZWduYW50IHdvbWFuIHdhcyBhbHJlYWR5IG9uIGFudGlyZXRyb3ZpcmFsIHRoZXJhcHkgKEFSVCkgYXQgZmlyc3QgYW50ZW5hdGFsIGNhcmUgdmlzaXQKICogSElWLkUuREU0MzogTmV3bHkgb24gQVJUIGR1cmluZyBwcmVnbmFuY3kgfCBUaGUgcHJlZ25hbnQgd29tYW4gc3RhcnRlZCBBUlQgZHVyaW5nIGhlciBwcmVnbmFuY3kKICogSElWLkUuREU0NDogTmV3bHkgb24gQVJUIGR1cmluZyBsYWJvdXIgYW5kIGRlbGl2ZXJ5IHwgVGhlIHdvbWFuIHN0YXJ0ZWQgQVJUIGR1cmluZyBsYWJvdXIgYW5kIGRlbGl2ZXJ5CiAqIEhJVi5FLkRFNDY6IERlbGl2ZXJ5IGRhdGUgfCBEYXRlIG9uIHdoaWNoIHRoZSB3b21hbiBkZWxpdmVyZWQKICogSElWLkUuREUxMTI6IEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCB8IFdoZXRoZXIgdGhlIGluZmFudCBvciBjaGlsZCB3YXMgZGV0ZXJtaW5lZCB0byBoYXZlIGhhZCBISVYgZXhwb3N1cmUKICogSElWLkUuREUxNzM6IE1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCB8IE1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCBhdHRlbmRlZCBieSBhbiBISVYtZXhwb3NlZCBpbmZhbnQKICogSElWLkUuREUxNzQ6IDEyLW1vbnRoIHZpc2l0IHwgSElWLWV4cG9zZWQgaW5mYW50IGF0dGVuZGluZyBNQ0ggc2VydmljZXMgZm9yIGEgMTItbW9udGggdmlzaXQKICogSElWLkUuREUxNzU6IDI0LW1vbnRoIHZpc2l0IHwgSElWLWV4cG9zZWQgaW5mYW50cyBhdHRlbmRpbmcgTUNIIHNlcnZpY2VzIGZvciBhIDI0LW1vbnRoIHZpc2l0CiAqIEhJVi5FLkRFMTc2OiBGaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcgfCBISVYtZXhwb3NlZCBpbmZhbnQgYXR0ZW5kaW5nIE1DSCBzZXJ2aWNlcyBmb3IgYSBmaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcKICogSElWLkguREU0NzogT24gQVJUIHwgQ2xpZW50IGlzIGN1cnJlbnRseSB0YWtpbmcgQVJUIAogKiBISVYuU1JWLkRFMjA6IEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCB8IFdoZXRoZXIgdGhlIGluZmFudCBvciBjaGlsZCB3YXMgZGV0ZXJtaW5lZCB0byBoYXZlIGhhZCBISVYgZXhwb3N1cmUKICoKICogQWRkaXRpb25hbCBDb250ZXh0CiAqIC0gd2hhdCBpdCBtZWFzdXJlczogVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIHByb2dyYW1tZSdzIGFiaWxpdHkgdG8gcmVkdWNlIHRoZSByaXNrIG9mIHRyYW5zbWlzc2lvbiB2aWEgYnJlYXN0ZmVlZGluZyAoUHJvbmcgMyBvZiB0aGUgUE1UQ1Qgc3RyYXRlZ3kpLgogKiAtIHJhdGlvbmFsZTog4oCiwqBJbiBtYW55IGNvdW50cmllcyB0aGUgYXZlcmFnZSBicmVhc3RmZWVkaW5nIHBlcmlvZCBpcyAxOOKAkzI0IG1vbnRocy4gVGhlIGxvbmcgYnJlYXN0ZmVlZGluZyBwZXJpb2QgcmVwcmVzZW50cyBhbiBpbXBvcnRhbnQgcmlzayBwZXJpb2QgZm9yIEhJVi1leHBvc2VkIGluZmFudHMuIHwg4oCiwqBFbnN1cmluZyB0aGF0IEhJVi1wb3NpdGl2ZSBtb3RoZXJzIGFyZSByZXRhaW5lZCBvbiBBUlQsIGVzcGVjaWFsbHkgZHVyaW5nIHRoZSBicmVhc3RmZWVkaW5nIHBlcmlvZCwgaXMgY3JpdGljYWwgdG8gc3VzdGFpbmluZyB0aGUgaGVhbHRoIG9mIHRoZSBtb3RoZXIgYW5kIHByZXZlbnRpbmcgaW5mZWN0aW9uIG9mIGhlciBpbmZhbnQuCiAqIC0gbWV0aG9kOiBGb3IgdGhlIG51bWVyYXRvcjogUHJvZ3JhbW1lIHJlY29yZHMgKGZvciBleGFtcGxlLCBQTVRDVCByZWdpc3RlcnMsIEFSVCByZWdpc3RlcnMpLiB8ICB8IEZvciB0aGUgZGVub21pbmF0b3I6IFByb2dyYW1tZSByZWNvcmRzIChmb3IgZXhhbXBsZSwgTUNIIHNlcnZpY2UgcmVjb3JkcykKICogCiAqIFN1Z2dlc3RlZCBTY29yaW5nIE1ldGhvZDogcHJvcG9ydGlvbiB8IGh0dHA6Ly9obDcub3JnL2ZoaXIvdXMvY3FmbWVhc3VyZXMvU3RydWN0dXJlRGVmaW5pdGlvbi9wcm9wb3J0aW9uLW1lYXN1cmUtY3FmbQogKi8KCmxpYnJhcnkgSElWSU5ENDFMb2dpYwoKLy8gSW5jbHVkZWQgTGlicmFyaWVzCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIEhJVkNvbW1vbiB2ZXJzaW9uICcwLjAuMScgY2FsbGVkIEhJQwppbmNsdWRlIEZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJwoKaW5jbHVkZSBXSE9Db21tb24gY2FsbGVkIFdDb20KCmluY2x1ZGUgSElWRWxlbWVudHMgY2FsbGVkIEhFCmluY2x1ZGUgSElWSW5kaWNhdG9yRWxlbWVudHMgY2FsbGVkIEhJRQoKLy8gSW5kaWNhdG9yIERlZmluaXRpb24KcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGU+IGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjMtMDEtMDEsIEAyMDIzLTAxLTMwXQoKY29udGV4dCBQYXRpZW50Ci8qIFBvcHVsYXRpb25zICovCgovKgogKkluaXRpYWwgUG9wdWxhdGlvbgogKi8KCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICB0cnVlCgovKioKICogTnVtZXJhdG9yCiAqIAogKiBEZWZpbml0aW9uOiBOdW1iZXIgb2YgSElWLWV4cG9zZWQgYnJlYXN0ZmVlZGluZyBpbmZhbnRzIHdob3NlIG1vdGhlcnMgYXJlIHJlY2VpdmluZyBBUlQgYXQgMTIgbW9udGhzIChhbmQgMjQgbW9udGhzKikgcG9zdHBhcnR1bQogKiBDYWxjdWxhdGlvbjogQ09VTlQgb2YgaW5mYW50cyB3aG8gYXJlIGFuICJISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQiIEFORCB3aG9zZSBtb3RoZXJzIGFyZSAiQnJlYXN0ZmVlZGluZyIgMTIgbW9udGhzIGFmdGVyICJEZWxpdmVyeSBkYXRlIiBBTkQgbW90aGVycyB3aXRoICJPbiBBUlQiPVRydWUgMTIgbW9udGhzIGFmdGVyICJEZWxpdmVyeSBkYXRlIiB8ICB8IEFsc28gcmVwb3J0ZWQgZm9yIDI0IG1vbnRocyBhZnRlciAiRGVsaXZlcnkgZGF0ZSIKICovCgpkZWZpbmUgIk51bWVyYXRvciI6CiAgSElFLiJpcyBISVYtZXhwb3NlZCBpbmZhbnQgb3IgY2hpbGQgRS5ERTExMiIKICBhbmQgZXhpc3RzKEhJRS4iQnJlYXN0ZmVlZGluZyBCLkRFMzIiIEIgCiAgd2hlcmUgbW9udGhzIGJldHdlZW4gZW5kIG9mIEIuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSBhbmQgZW5kIG9mIExhc3QoSElFLiJMaXZlIEJpcnRoIERlbGl2ZXJ5IiBCIHdoZXJlIEIuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSBiZWZvcmUgIk1lYXN1cmVtZW50IFBlcmlvZCIpLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgPiAxMiBtb250aHMKICApCiAgYW5kIAogIGV4aXN0cyAoIAogICAgSEUuIk9uIEFSVCBELkRFMzgiIEEgCiAgICB3aGVyZSBtb250aHMgYmV0d2VlbiBlbmQgb2YgQS5lZmZlY3RpdmUudG9JbnRlcnZhbCgpIGFuZCBlbmQgb2YgTGFzdChISUUuIkxpdmUgQmlydGggRGVsaXZlcnkiIEIgd2hlcmUgQi5lZmZlY3RpdmUudG9JbnRlcnZhbCgpIGJlZm9yZSAiTWVhc3VyZW1lbnQgUGVyaW9kIikuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSA+IDEyIG1vbnRocwogICkKICAKCgovKioKICogRGVub21pbmF0b3IKICoKICogRGVmaW5pdGlvbjogTnVtYmVyIG9mIEhJVi1leHBvc2VkIGluZmFudHMgYXR0ZW5kaW5nIE1OQ0ggc2VydmljZXMgZm9yIGEgMTItbW9udGggdmlzaXQgKGFuZCAyNC1tb250aCB2aXNpdCBvciBmaXJzdCB2aXNpdCBhZnRlciB0aGUgZW5kIG9mIGJyZWFzdGZlZWRpbmcpCiAqIENhbGN1bGF0aW9uOiBDT1VOVCBvZiBpbmZhbnRzIHdobyBhcmUgYW4gIkhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCIgQU5EIFsod2hvc2UgbW90aGVycyBhdHRlbmQgYSAxMi1tb250aCAiTWF0ZXJuYWwgYW5kIGNoaWxkIGhlYWx0aCBzZXJ2aWNlIHZpc2l0IikgT1IgKGZpcnN0ICJNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQiIGFmdGVyICJEZWxpdmVyeSBkYXRlIiB3aGVyZSBtb3RoZXIgaXMgTk9UICJCcmVhc3RmZWVkaW5nIildIHwgIHwgQWxzbyByZXBvcnRlZCBmb3IgbW90aGVycyBhdHRlbmRpbmcgMjQtbW9udGggIk1hdGVybmFsIGFuZCBjaGlsZCBoZWFsdGggc2VydmljZSB2aXNpdCIKICovCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICBISUUuImlzIEhJVi1leHBvc2VkIGluZmFudCBvciBjaGlsZCBFLkRFMTEyIgogIGFuZCAoSElFLiIxMi1tb250aCB2aXNpdCIKICBvciAKICBleGlzdHMoSEUuIk5vdCBCcmVhc3RmZWVkaW5nIEIuREUzMiIgQiAKICB3aXRoIEhFLiJNYXRlcm5hbCBhbmQgY2hpbGQgaGVhbHRoIHNlcnZpY2UgdmlzaXQiIEUKICBzdWNoIHRoYXQgQi5lbmNvdW50ZXIucmVmZXJlbmNlcyhFKSBhbmQgRS5wZXJpb2QudG9JbnRlcnZhbCgpIGFmdGVyIGVuZCBvZiBMYXN0KEhJRS4iTGl2ZSBCaXJ0aCBEZWxpdmVyeSIgQiB3aGVyZSBCLmVmZmVjdGl2ZS50b0ludGVydmFsKCkgYmVmb3JlICJNZWFzdXJlbWVudCBQZXJpb2QiKS5lZmZlY3RpdmUudG9JbnRlcnZhbCgpKQogICkKLyogZW5kIFBvcHVsYXRpb25zICovCgovKiAKICogRGlzYWdncmVnYXRvcnMKICovCgpkZWZpbmUgIkFnZSBTdHJhdGlmaWVyIjoKCUhJRS4iQnkgQWdlIFN0cmF0aWZpZXIgMTAiCgpkZWZpbmUgIlRpbWluZyBvZiBBUlQgaW5pdGlhdGlvbiI6CiAgSElFLiJUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24iCiAgCmRlZmluZSAiR2VvZ3JhcGhpYyBSZWdpb24gU3RyYXRpZmllciI6CglISUUuIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiCgpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIjoKSElFLiJCeSBBZ2UgU3RyYXRpZmllciAxMCIKKyAnOicgKyBISUUuIkJ5IEdlb2dyYXBoaWMgUmVnaW9uIFN0cmF0aWZpZXIiCisgSElFLiJUaW1pbmcgb2YgQVJUIGluaXRpYXRpb24iLmNvZGUK"
    }
  ]
}