Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

Example Library/opioidcds-recommendation-10 (JSON)

Clinical Decision Support Work GroupMaturity Level: N/AStandards Status: InformativeCompartments: Not linked to any defined compartments

Raw JSON (canonical form + also see JSON Format Specification)

Opioid CDS Recommendation 10 Logic

{
  "resourceType": "Library",
  "id": "opioidcds-recommendation-10",
  "text": {
    "status": "generated",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n      <h2>Participants</h2>\n      <table class=\"grid\">\n        <tr>\n          <td>Author</td>\n          <td>Kensaku Kawamoto, MD, PhD, MHS</td>\n        </tr>\n        <tr>\n          <td>Author</td>\n          <td>Bryn Rhodes</td>\n        </tr>\n        <tr>\n          <td>Author</td>\n          <td>Floyd Eisenberg, MD, MPH</td>\n        </tr>\n        <tr>\n          <td>Author</td>\n          <td>Robert McClure, MD, MPH</td>\n        </tr>\n      </table>\n      <h2>Related Artifacts</h2>\n      <table class=\"grid\">\n        <tr>\n          <td>Documentation</td>\n          <td>CDC guideline for prescribing opioids for chronic pain</td>\n          <td>\n            <p>\n              <code>\n                <a href=\"https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pain---united-states-2016#420\">https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pain---united-states-2016#420</a>\n              </code> (\n              <code/>)\n            </p>\n          </td>\n        </tr>\n        <tr>\n          <td>Depends On</td>\n          <td/>\n          <td>\n            <code>http://example.org/fhir/Library/opioidcds-common</code>\n          </td>\n        </tr>\n      </table>\n      <h2>Data Requirements</h2>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"medicationrequest.html\">MedicationRequest</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>medicationCodeableConcept</td>\n          <td>In ValueSet \n            <a href=\"http://example.org/fhir/ValueSet/opioids-indicating-end-of-life\">http://example.org/fhir/ValueSet/opioids-indicating-end-of-life</a>\n          </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"medicationrequest.html\">MedicationRequest</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>medicationCodeableConcept</td>\n          <td>In ValueSet \n            <a href=\"http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care\">http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care</a>\n          </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"observation.html\">Observation</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>combo-code</td>\n          <td>In ValueSet \n            <a href=\"http://example.org/fhir/ValueSet/illicit-drug-urine-screening\">http://example.org/fhir/ValueSet/illicit-drug-urine-screening</a>\n          </td>\n        </tr>\n      </table>\n      <table class=\"grid\">\n        <tr>\n          <td colspan=\"2\">\n            <b>Type</b>: \n            <a href=\"observation.html\">Observation</a>\n          </td>\n        </tr>\n        <tr style=\"background-color: #efefef\">\n          <td>Filter</td>\n          <td>Value</td>\n        </tr>\n        <tr>\n          <td>combo-code</td>\n          <td>In ValueSet \n            <a href=\"http://example.org/fhir/ValueSet/opioid-urine-screening\">http://example.org/fhir/ValueSet/opioid-urine-screening</a>\n          </td>\n        </tr>\n      </table>\n      <h2>Contents</h2>\n      <p>\n        <code>application/elm+xml</code>\n      </p>\n      <pre>\n        <code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;\n&lt;library xmlns=&quot;urn:hl7-org:elm:r1&quot; xmlns:t=&quot;urn:hl7-org:elm-types:r1&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:fhir=&quot;http://hl7.org/fhir&quot; xmlns:qdm43=&quot;urn:healthit-gov:qdm:v4_3&quot; xmlns:qdm53=&quot;urn:healthit-gov:qdm:v5_3&quot; xmlns:a=&quot;urn:hl7-org:cql-annotations:r1&quot;&gt;\n   &lt;annotation startLine=&quot;62&quot; startChar=&quot;12&quot; endLine=&quot;62&quot; endChar=&quot;60&quot; message=&quot;Could not resolve code path medicationCodeableConcept for the type of the retrieve FHIR.MedicationRequest.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;62&quot; startChar=&quot;12&quot; endLine=&quot;62&quot; endChar=&quot;60&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;66&quot; startChar=&quot;3&quot; endLine=&quot;66&quot; endChar=&quot;66&quot; message=&quot;Could not resolve code path medicationCodeableConcept for the type of the retrieve FHIR.MedicationRequest.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;66&quot; startChar=&quot;3&quot; endLine=&quot;66&quot; endChar=&quot;66&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;74&quot; startChar=&quot;3&quot; endLine=&quot;74&quot; endChar=&quot;64&quot; message=&quot;Could not resolve code path combo-code for the type of the retrieve FHIR.Observation.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;74&quot; startChar=&quot;3&quot; endLine=&quot;74&quot; endChar=&quot;64&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;79&quot; startChar=&quot;3&quot; endLine=&quot;79&quot; endChar=&quot;63&quot; message=&quot;Could not resolve code path combo-code for the type of the retrieve FHIR.Observation.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;79&quot; startChar=&quot;3&quot; endLine=&quot;79&quot; endChar=&quot;63&quot; message=&quot;Could not resolve membership operator for terminology target of the retrieve.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;134&quot; startChar=&quot;20&quot; endLine=&quot;134&quot; endChar=&quot;76&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;143&quot; startChar=&quot;16&quot; endLine=&quot;143&quot; endChar=&quot;17&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;157&quot; startChar=&quot;52&quot; endLine=&quot;157&quot; endChar=&quot;73&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;annotation startLine=&quot;171&quot; startChar=&quot;62&quot; endLine=&quot;171&quot; endChar=&quot;78&quot; message=&quot;List-valued expression was demoted to a singleton.&quot; errorType=&quot;semantic&quot; errorSeverity=&quot;warning&quot; xsi:type=&quot;a:CqlToElmError&quot;/&gt;\n   &lt;identifier id=&quot;OpioidCDS_STU4_REC_10&quot; version=&quot;0.1.0&quot;/&gt;\n   &lt;schemaIdentifier id=&quot;urn:hl7-org:elm&quot; version=&quot;r1&quot;/&gt;\n   &lt;usings&gt;\n      &lt;def localIdentifier=&quot;System&quot; uri=&quot;urn:hl7-org:elm-types:r1&quot;/&gt;\n      &lt;def localIdentifier=&quot;FHIR&quot; uri=&quot;http://hl7.org/fhir&quot; version=&quot;3.2.0&quot;/&gt;\n   &lt;/usings&gt;\n   &lt;includes&gt;\n      &lt;def localIdentifier=&quot;Common&quot; path=&quot;OpioidCDS_STU4_Common&quot; version=&quot;0.1.0&quot;/&gt;\n   &lt;/includes&gt;\n   &lt;parameters&gt;\n      &lt;def name=&quot;ContextPrescriptions&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;parameterTypeSpecifier xsi:type=&quot;ListTypeSpecifier&quot;&gt;\n            &lt;elementType name=&quot;fhir:MedicationRequest&quot; xsi:type=&quot;NamedTypeSpecifier&quot;/&gt;\n         &lt;/parameterTypeSpecifier&gt;\n      &lt;/def&gt;\n   &lt;/parameters&gt;\n   &lt;statements&gt;\n      &lt;def name=&quot;Patient&quot; context=&quot;Patient&quot;&gt;\n         &lt;expression xsi:type=&quot;SingletonFrom&quot;&gt;\n            &lt;operand dataType=&quot;fhir:Patient&quot; xsi:type=&quot;Retrieve&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Lookback Year&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression lowClosed=&quot;true&quot; highClosed=&quot;true&quot; xsi:type=&quot;Interval&quot;&gt;\n            &lt;low xsi:type=&quot;Subtract&quot;&gt;\n               &lt;operand xsi:type=&quot;Subtract&quot;&gt;\n                  &lt;operand xsi:type=&quot;Today&quot;/&gt;\n                  &lt;operand value=&quot;12&quot; unit=&quot;months&quot; xsi:type=&quot;Quantity&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand value=&quot;1&quot; unit=&quot;days&quot; xsi:type=&quot;Quantity&quot;/&gt;\n            &lt;/low&gt;\n            &lt;high xsi:type=&quot;Subtract&quot;&gt;\n               &lt;operand xsi:type=&quot;Today&quot;/&gt;\n               &lt;operand value=&quot;1&quot; unit=&quot;day&quot; xsi:type=&quot;Quantity&quot;/&gt;\n            &lt;/high&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Validate Trigger Event&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand xsi:type=&quot;Query&quot;&gt;\n               &lt;source alias=&quot;triggerScript&quot;&gt;\n                  &lt;expression name=&quot;ContextPrescriptions&quot; xsi:type=&quot;ParameterRef&quot;/&gt;\n               &lt;/source&gt;\n               &lt;where name=&quot;IsOpioidWithAmbulatoryAbusePotential&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                  &lt;operand name=&quot;ToCode&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                     &lt;operand xsi:type=&quot;Indexer&quot;&gt;\n                        &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                           &lt;source path=&quot;medication&quot; scope=&quot;triggerScript&quot; xsi:type=&quot;Property&quot;/&gt;\n                        &lt;/operand&gt;\n                        &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/where&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Exclusion Criteria&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Or&quot;&gt;\n            &lt;operand xsi:type=&quot;Exists&quot;&gt;\n               &lt;operand dataType=&quot;fhir:MedicationRequest&quot; codeProperty=&quot;medicationCodeableConcept&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                  &lt;codes name=&quot;End Of Life Opioids&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/operand&gt;\n            &lt;operand name=&quot;HasMetastaticCancer&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Active Ambulatory Opioid Rx&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;Rx&quot;&gt;\n               &lt;expression dataType=&quot;fhir:MedicationRequest&quot; codeProperty=&quot;medicationCodeableConcept&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                  &lt;codes name=&quot;Ambulatory Abuse Potential Opioids&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;\n               &lt;/expression&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;And&quot;&gt;\n               &lt;operand xsi:type=&quot;Equal&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;status&quot; scope=&quot;Rx&quot; xsi:type=&quot;Property&quot;/&gt;\n                  &lt;/operand&gt;\n                  &lt;operand valueType=&quot;t:String&quot; value=&quot;active&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;Equal&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                           &lt;operand xsi:type=&quot;Flatten&quot;&gt;\n                              &lt;operand xsi:type=&quot;Query&quot;&gt;\n                                 &lt;source alias=&quot;$this&quot;&gt;\n                                    &lt;expression path=&quot;category&quot; scope=&quot;Rx&quot; xsi:type=&quot;Property&quot;/&gt;\n                                 &lt;/source&gt;\n                                 &lt;where xsi:type=&quot;Not&quot;&gt;\n                                    &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                                       &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                          &lt;source name=&quot;$this&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n                                       &lt;/operand&gt;\n                                    &lt;/operand&gt;\n                                 &lt;/where&gt;\n                                 &lt;return&gt;\n                                    &lt;expression path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                       &lt;source name=&quot;$this&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n                                    &lt;/expression&gt;\n                                 &lt;/return&gt;\n                              &lt;/operand&gt;\n                           &lt;/operand&gt;\n                           &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                        &lt;/source&gt;\n                     &lt;/source&gt;\n                  &lt;/operand&gt;\n                  &lt;operand valueType=&quot;t:String&quot; value=&quot;outpatient&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Illicit Drug Urine Screenings in Last 12 Months&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;observation&quot;&gt;\n               &lt;expression dataType=&quot;fhir:Observation&quot; codeProperty=&quot;combo-code&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                  &lt;codes name=&quot;Illicit Drug Screening&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;\n               &lt;/expression&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;In&quot;&gt;\n               &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                  &lt;source path=&quot;effective&quot; scope=&quot;observation&quot; xsi:type=&quot;Property&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand name=&quot;Lookback Year&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/where&gt;\n            &lt;sort&gt;\n               &lt;by direction=&quot;asc&quot; xsi:type=&quot;ByExpression&quot;&gt;\n                  &lt;expression path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source name=&quot;effective&quot; xsi:type=&quot;IdentifierRef&quot;/&gt;\n                  &lt;/expression&gt;\n               &lt;/by&gt;\n            &lt;/sort&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Most Recent Illicit Drug Urine Screenings in Last 12 Months&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Last&quot;&gt;\n            &lt;source name=&quot;Get Illicit Drug Urine Screenings in Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Opioid Drug Urine Screenings in Last 12 Months&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;observation&quot;&gt;\n               &lt;expression dataType=&quot;fhir:Observation&quot; codeProperty=&quot;combo-code&quot; xsi:type=&quot;Retrieve&quot;&gt;\n                  &lt;codes name=&quot;Opioid Drug Screening&quot; libraryName=&quot;Common&quot; xsi:type=&quot;ValueSetRef&quot;/&gt;\n               &lt;/expression&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;In&quot;&gt;\n               &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                  &lt;source path=&quot;effective&quot; scope=&quot;observation&quot; xsi:type=&quot;Property&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand name=&quot;Lookback Year&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/where&gt;\n            &lt;sort&gt;\n               &lt;by direction=&quot;asc&quot; xsi:type=&quot;ByExpression&quot;&gt;\n                  &lt;expression path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source name=&quot;effective&quot; xsi:type=&quot;IdentifierRef&quot;/&gt;\n                  &lt;/expression&gt;\n               &lt;/by&gt;\n            &lt;/sort&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Most Recent Opioid Drug Urine Screenings in Last 12 Months&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Last&quot;&gt;\n            &lt;source name=&quot;Get Opioid Drug Urine Screenings in Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;No Urine Screening In Last 12 Months&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;And&quot;&gt;\n            &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n               &lt;operand name=&quot;Most Recent Illicit Drug Urine Screenings in Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n            &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n               &lt;operand name=&quot;Most Recent Opioid Drug Urine Screenings in Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Positive Opioid Drug Screening&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;mostRecentScreening&quot;&gt;\n               &lt;expression name=&quot;Most Recent Opioid Drug Urine Screenings in Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;Or&quot;&gt;\n               &lt;operand xsi:type=&quot;Equal&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                           &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source path=&quot;interpretation&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                           &lt;/operand&gt;\n                           &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                        &lt;/source&gt;\n                     &lt;/source&gt;\n                  &lt;/operand&gt;\n                  &lt;operand valueType=&quot;t:String&quot; value=&quot;POS&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;If&quot;&gt;\n                  &lt;condition asType=&quot;t:Boolean&quot; xsi:type=&quot;As&quot;&gt;\n                     &lt;operand xsi:type=&quot;Not&quot;&gt;\n                        &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                           &lt;operand xsi:type=&quot;Indexer&quot;&gt;\n                              &lt;operand path=&quot;component&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                              &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                           &lt;/operand&gt;\n                        &lt;/operand&gt;\n                     &lt;/operand&gt;\n                  &lt;/condition&gt;\n                  &lt;then xsi:type=&quot;Equal&quot;&gt;\n                     &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                           &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                              &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source path=&quot;interpretation&quot; xsi:type=&quot;Property&quot;&gt;\n                                    &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                       &lt;operand path=&quot;component&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                                       &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                                    &lt;/source&gt;\n                                 &lt;/source&gt;\n                              &lt;/operand&gt;\n                              &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                           &lt;/source&gt;\n                        &lt;/source&gt;\n                     &lt;/operand&gt;\n                     &lt;operand valueType=&quot;t:String&quot; value=&quot;POS&quot; xsi:type=&quot;Literal&quot;/&gt;\n                  &lt;/then&gt;\n                  &lt;else valueType=&quot;t:Boolean&quot; value=&quot;false&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Orders Before Most Recent Opioid Screening&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;orders&quot;&gt;\n               &lt;expression name=&quot;Get Active Ambulatory Opioid Rx&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/source&gt;\n            &lt;relationship alias=&quot;mostRecentScreening&quot; xsi:type=&quot;With&quot;&gt;\n               &lt;expression name=&quot;Positive Opioid Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n               &lt;suchThat xsi:type=&quot;Less&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;authoredOn&quot; scope=&quot;orders&quot; xsi:type=&quot;Property&quot;/&gt;\n                  &lt;/operand&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;effective&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                  &lt;/operand&gt;\n               &lt;/suchThat&gt;\n            &lt;/relationship&gt;\n            &lt;return&gt;\n               &lt;expression name=&quot;orders&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n            &lt;/return&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Prescribed Opioids&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;orders&quot;&gt;\n               &lt;expression name=&quot;Orders Before Most Recent Opioid Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/source&gt;\n            &lt;return&gt;\n               &lt;expression xsi:type=&quot;Lower&quot;&gt;\n                  &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;\n                     &lt;operand name=&quot;GetIngredient&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                        &lt;operand name=&quot;ToCode&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                           &lt;operand xsi:type=&quot;Indexer&quot;&gt;\n                              &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source path=&quot;medication&quot; scope=&quot;orders&quot; xsi:type=&quot;Property&quot;/&gt;\n                              &lt;/operand&gt;\n                              &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                           &lt;/operand&gt;\n                        &lt;/operand&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/expression&gt;\n            &lt;/return&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;GetOpioid&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot; xsi:type=&quot;FunctionDef&quot;&gt;\n         &lt;expression xsi:type=&quot;Case&quot;&gt;\n            &lt;comparand name=&quot;value&quot; xsi:type=&quot;OperandRef&quot;/&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3299-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Acetaminophen&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;14184-6&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Atropine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;16485-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Bromodiphenhydramine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3408-2&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Brompheniramine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3414-0&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Buprenorphine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3421-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Butalbital&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;12333-1&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Butorphanol&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3423-1&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Caffeine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;21142-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Carisoprodol&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;16605-8&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Chlorcyclizine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3467-8&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Chlorpheniramine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3507-1&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Codeine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;14066-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Dihydrocodeine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3571-7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Diphenhydramine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;11235-9&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Fentanyl&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;12308-3&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Hydrocodone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;9834-3&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Hydromorphone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;14071&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Ibuprofen&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3711-9&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Levorphanol&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3746-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Meperidine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3773-9&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Methadone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3830-7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Morphine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;42618-9&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Naloxone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;12309-1&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Naltrexone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;10998-3&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Oxycodone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;11247-4&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Oxymorphone&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3917-2&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Pentazocine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3962-8&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Phenylephrine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3965-1&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Phenylpropanolamine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;11000-7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Promethazine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;4003-0&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Pseudoephedrine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;4009-7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Pyrilamine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;65807-0&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Tapentadol&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;43219-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Tramadol&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;else xsi:type=&quot;Concatenate&quot;&gt;\n               &lt;operand valueType=&quot;t:String&quot; value=&quot;Unknown code: &quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;operand name=&quot;value&quot; xsi:type=&quot;OperandRef&quot;/&gt;\n            &lt;/else&gt;\n         &lt;/expression&gt;\n         &lt;operand name=&quot;value&quot;&gt;\n            &lt;operandTypeSpecifier name=&quot;t:String&quot; xsi:type=&quot;NamedTypeSpecifier&quot;/&gt;\n         &lt;/operand&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Missing Opioids&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;If&quot;&gt;\n            &lt;condition asType=&quot;t:Boolean&quot; xsi:type=&quot;As&quot;&gt;\n               &lt;operand xsi:type=&quot;Not&quot;&gt;\n                  &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                     &lt;operand name=&quot;Positive Opioid Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;/operand&gt;\n               &lt;/operand&gt;\n            &lt;/condition&gt;\n            &lt;then xsi:type=&quot;Except&quot;&gt;\n               &lt;operand xsi:type=&quot;Query&quot;&gt;\n                  &lt;source alias=&quot;Prescriptions&quot;&gt;\n                     &lt;expression name=&quot;Prescribed Opioids&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;/source&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;ToList&quot;&gt;\n                  &lt;operand xsi:type=&quot;Lower&quot;&gt;\n                     &lt;operand name=&quot;GetOpioid&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                        &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                           &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                 &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                    &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                                       &lt;source name=&quot;Positive Opioid Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                                    &lt;/source&gt;\n                                 &lt;/operand&gt;\n                                 &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                              &lt;/source&gt;\n                           &lt;/source&gt;\n                        &lt;/operand&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/operand&gt;\n            &lt;/then&gt;\n            &lt;else xsi:type=&quot;As&quot;&gt;\n               &lt;operand xsi:type=&quot;Null&quot;/&gt;\n               &lt;asTypeSpecifier xsi:type=&quot;ListTypeSpecifier&quot;&gt;\n                  &lt;elementType name=&quot;t:String&quot; xsi:type=&quot;NamedTypeSpecifier&quot;/&gt;\n               &lt;/asTypeSpecifier&gt;\n            &lt;/else&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Has Missing Opioids?&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand name=&quot;Missing Opioids&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Opioids From Most Recent Screening&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;mostRecentScreening&quot;&gt;\n               &lt;expression name=&quot;Positive Opioid Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/source&gt;\n            &lt;return&gt;\n               &lt;expression xsi:type=&quot;Union&quot;&gt;\n                  &lt;operand xsi:type=&quot;ToList&quot;&gt;\n                     &lt;operand xsi:type=&quot;Lower&quot;&gt;\n                        &lt;operand name=&quot;GetOpioid&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                           &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                    &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                       &lt;source path=&quot;code&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                                    &lt;/operand&gt;\n                                    &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                                 &lt;/source&gt;\n                              &lt;/source&gt;\n                           &lt;/operand&gt;\n                        &lt;/operand&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n                  &lt;operand xsi:type=&quot;ToList&quot;&gt;\n                     &lt;operand xsi:type=&quot;If&quot;&gt;\n                        &lt;condition asType=&quot;t:Boolean&quot; xsi:type=&quot;As&quot;&gt;\n                           &lt;operand xsi:type=&quot;Not&quot;&gt;\n                              &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                                 &lt;operand xsi:type=&quot;Indexer&quot;&gt;\n                                    &lt;operand path=&quot;component&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                                    &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                                 &lt;/operand&gt;\n                              &lt;/operand&gt;\n                           &lt;/operand&gt;\n                        &lt;/condition&gt;\n                        &lt;then xsi:type=&quot;Lower&quot;&gt;\n                           &lt;operand name=&quot;GetOpioid&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                              &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                                    &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                       &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                          &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                                             &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                                &lt;operand path=&quot;component&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                                                &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                                             &lt;/source&gt;\n                                          &lt;/source&gt;\n                                       &lt;/operand&gt;\n                                       &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                                    &lt;/source&gt;\n                                 &lt;/source&gt;\n                              &lt;/operand&gt;\n                           &lt;/operand&gt;\n                        &lt;/then&gt;\n                        &lt;else asType=&quot;t:String&quot; xsi:type=&quot;As&quot;&gt;\n                           &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;\n                              &lt;operand xsi:type=&quot;List&quot;/&gt;\n                           &lt;/operand&gt;\n                        &lt;/else&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/expression&gt;\n            &lt;/return&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Unprescribed Opioids&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;mostRecentScreeningOpioids&quot;&gt;\n               &lt;expression name=&quot;Get Opioids From Most Recent Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/source&gt;\n            &lt;relationship alias=&quot;ingredients&quot; xsi:type=&quot;With&quot;&gt;\n               &lt;expression name=&quot;Prescribed Opioids&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n               &lt;suchThat xsi:type=&quot;Not&quot;&gt;\n                  &lt;operand xsi:type=&quot;In&quot;&gt;\n                     &lt;operand name=&quot;mostRecentScreeningOpioids&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n                     &lt;operand xsi:type=&quot;ToList&quot;&gt;\n                        &lt;operand name=&quot;ingredients&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/suchThat&gt;\n            &lt;/relationship&gt;\n            &lt;return&gt;\n               &lt;expression name=&quot;mostRecentScreeningOpioids&quot; xsi:type=&quot;AliasRef&quot;/&gt;\n            &lt;/return&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Has Unprescribed Opioids?&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand name=&quot;Unprescribed Opioids&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Positive Illicit Drug Screening&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Query&quot;&gt;\n            &lt;source alias=&quot;mostRecentScreening&quot;&gt;\n               &lt;expression name=&quot;Most Recent Illicit Drug Urine Screenings in Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/source&gt;\n            &lt;where xsi:type=&quot;Or&quot;&gt;\n               &lt;operand xsi:type=&quot;Equal&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                           &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source path=&quot;interpretation&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                           &lt;/operand&gt;\n                           &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                        &lt;/source&gt;\n                     &lt;/source&gt;\n                  &lt;/operand&gt;\n                  &lt;operand valueType=&quot;t:String&quot; value=&quot;POS&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;If&quot;&gt;\n                  &lt;condition asType=&quot;t:Boolean&quot; xsi:type=&quot;As&quot;&gt;\n                     &lt;operand xsi:type=&quot;Not&quot;&gt;\n                        &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                           &lt;operand xsi:type=&quot;Indexer&quot;&gt;\n                              &lt;operand path=&quot;component&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                              &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                           &lt;/operand&gt;\n                        &lt;/operand&gt;\n                     &lt;/operand&gt;\n                  &lt;/condition&gt;\n                  &lt;then xsi:type=&quot;Equal&quot;&gt;\n                     &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                           &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                              &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source path=&quot;interpretation&quot; xsi:type=&quot;Property&quot;&gt;\n                                    &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                       &lt;operand path=&quot;component&quot; scope=&quot;mostRecentScreening&quot; xsi:type=&quot;Property&quot;/&gt;\n                                       &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                                    &lt;/source&gt;\n                                 &lt;/source&gt;\n                              &lt;/operand&gt;\n                              &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                           &lt;/source&gt;\n                        &lt;/source&gt;\n                     &lt;/operand&gt;\n                     &lt;operand valueType=&quot;t:String&quot; value=&quot;POS&quot; xsi:type=&quot;Literal&quot;/&gt;\n                  &lt;/then&gt;\n                  &lt;else valueType=&quot;t:Boolean&quot; value=&quot;false&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;/operand&gt;\n            &lt;/where&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Has Illicit Drugs in Screening?&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand xsi:type=&quot;ToList&quot;&gt;\n               &lt;operand name=&quot;Positive Illicit Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Inclusion Criteria&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;And&quot;&gt;\n            &lt;operand xsi:type=&quot;And&quot;&gt;\n               &lt;operand xsi:type=&quot;And&quot;&gt;\n                  &lt;operand name=&quot;Validate Trigger Event&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;operand xsi:type=&quot;Not&quot;&gt;\n                     &lt;operand name=&quot;Exclusion Criteria&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;/operand&gt;\n               &lt;/operand&gt;\n               &lt;operand xsi:type=&quot;AnyTrue&quot;&gt;\n                  &lt;source name=&quot;ProbableDaysInRange&quot; libraryName=&quot;Common&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                     &lt;operand name=&quot;Get Active Ambulatory Opioid Rx&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                     &lt;operand valueType=&quot;t:Integer&quot; value=&quot;90&quot; xsi:type=&quot;Literal&quot;/&gt;\n                     &lt;operand valueType=&quot;t:Integer&quot; value=&quot;80&quot; xsi:type=&quot;Literal&quot;/&gt;\n                  &lt;/source&gt;\n               &lt;/operand&gt;\n            &lt;/operand&gt;\n            &lt;operand xsi:type=&quot;Or&quot;&gt;\n               &lt;operand xsi:type=&quot;Or&quot;&gt;\n                  &lt;operand xsi:type=&quot;Or&quot;&gt;\n                     &lt;operand name=&quot;No Urine Screening In Last 12 Months&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                     &lt;operand name=&quot;Has Missing Opioids?&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                  &lt;/operand&gt;\n                  &lt;operand name=&quot;Has Unprescribed Opioids?&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n               &lt;/operand&gt;\n               &lt;operand name=&quot;Has Illicit Drugs in Screening?&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;GetIllicitDrug&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot; xsi:type=&quot;FunctionDef&quot;&gt;\n         &lt;expression xsi:type=&quot;Case&quot;&gt;\n            &lt;comparand name=&quot;value&quot; xsi:type=&quot;OperandRef&quot;/&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3397-7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Cocaine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;14267-9&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Methylenedioxymethamphetamine (MDMA)&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;29868-7&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Gamma Hydroxybutyric Acid (GHB)&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;12327-3&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Ketamine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3732-5&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Lysergic Acid Diethylamide (LSD)&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3779-6&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Methamphetamine&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;17504-2&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Psilocybin&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;41020-9&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Flunitrazepam (Rohypnol)&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;caseItem&gt;\n               &lt;when valueType=&quot;t:String&quot; value=&quot;3426-4&quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;then valueType=&quot;t:String&quot; value=&quot;Tetrahydrocannabinol (THC)&quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;/caseItem&gt;\n            &lt;else xsi:type=&quot;Concatenate&quot;&gt;\n               &lt;operand valueType=&quot;t:String&quot; value=&quot;Unknown code: &quot; xsi:type=&quot;Literal&quot;/&gt;\n               &lt;operand name=&quot;value&quot; xsi:type=&quot;OperandRef&quot;/&gt;\n            &lt;/else&gt;\n         &lt;/expression&gt;\n         &lt;operand name=&quot;value&quot;&gt;\n            &lt;operandTypeSpecifier name=&quot;t:String&quot; xsi:type=&quot;NamedTypeSpecifier&quot;/&gt;\n         &lt;/operand&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Inconsistent Illicit Drugs&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Concatenate&quot;&gt;\n            &lt;operand valueType=&quot;t:String&quot; value=&quot;Found the following illicit drug(s) in urine drug screen: &quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;operand xsi:type=&quot;If&quot;&gt;\n               &lt;condition asType=&quot;t:Boolean&quot; xsi:type=&quot;As&quot;&gt;\n                  &lt;operand xsi:type=&quot;IsNull&quot;&gt;\n                     &lt;operand name=&quot;GetIllicitDrug&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                        &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                           &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                                 &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                                    &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                                       &lt;source name=&quot;Positive Illicit Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                                    &lt;/source&gt;\n                                 &lt;/operand&gt;\n                                 &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                              &lt;/source&gt;\n                           &lt;/source&gt;\n                        &lt;/operand&gt;\n                     &lt;/operand&gt;\n                  &lt;/operand&gt;\n               &lt;/condition&gt;\n               &lt;then name=&quot;GetIllicitDrug&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                           &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source path=&quot;interpretation&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source name=&quot;Positive Illicit Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                              &lt;/source&gt;\n                           &lt;/operand&gt;\n                           &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                        &lt;/source&gt;\n                     &lt;/source&gt;\n                  &lt;/operand&gt;\n               &lt;/then&gt;\n               &lt;else name=&quot;GetIllicitDrug&quot; xsi:type=&quot;FunctionRef&quot;&gt;\n                  &lt;operand path=&quot;value&quot; xsi:type=&quot;Property&quot;&gt;\n                     &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                        &lt;source xsi:type=&quot;Indexer&quot;&gt;\n                           &lt;operand path=&quot;coding&quot; xsi:type=&quot;Property&quot;&gt;\n                              &lt;source path=&quot;code&quot; xsi:type=&quot;Property&quot;&gt;\n                                 &lt;source name=&quot;Positive Illicit Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n                              &lt;/source&gt;\n                           &lt;/operand&gt;\n                           &lt;operand valueType=&quot;t:Integer&quot; value=&quot;0&quot; xsi:type=&quot;Literal&quot;/&gt;\n                        &lt;/source&gt;\n                     &lt;/source&gt;\n                  &lt;/operand&gt;\n               &lt;/else&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Has Opioids in Screening?&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Exists&quot;&gt;\n            &lt;operand xsi:type=&quot;ToList&quot;&gt;\n               &lt;operand name=&quot;Positive Opioid Drug Screening&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Inconsistent Unprescribed Opioids&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Concatenate&quot;&gt;\n            &lt;operand valueType=&quot;t:String&quot; value=&quot;Found the following unprescribed opioid(s): &quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;\n               &lt;operand name=&quot;Unprescribed Opioids&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Inconsistent Missing Opioids&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression xsi:type=&quot;Concatenate&quot;&gt;\n            &lt;operand valueType=&quot;t:String&quot; value=&quot;The following opioids are missing from the screening: &quot; xsi:type=&quot;Literal&quot;/&gt;\n            &lt;operand xsi:type=&quot;SingletonFrom&quot;&gt;\n               &lt;operand name=&quot;Missing Opioids&quot; xsi:type=&quot;ExpressionRef&quot;/&gt;\n            &lt;/operand&gt;\n         &lt;/expression&gt;\n      &lt;/def&gt;\n      &lt;def name=&quot;Get Indicator&quot; context=&quot;Patient&quot; accessLevel=&quot;Public&quot;&gt;\n         &lt;expression valueType=&quot;t:String&quot; value=&quot;warning&quot; xsi:type=&quot;Literal&quot;/&gt;\n      &lt;/def&gt;\n   &lt;/statements&gt;\n&lt;/library&gt;\n</code>\n      </pre>\n    </div>"
  },
  "identifier": [
    {
      "use": "official",
      "value": "OpioidCDS_REC_10"
    }
  ],
  "version": "0.1.0",
  "title": "Opioid CDS Logic for recommendation #10",
  "status": "active",
  "experimental": false,
  "type": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/library-type",
        "code": "logic-library",
        "display": "Logic Library"
      }
    ]
  },
  "date": "2018-03-25T13:49:09-06:00",
  "publisher": "Centers for Disease Control and Prevention (CDC)",
  "description": "Opioid decision support logic to evaluate whether the patient has had a urine screening in the past 12 months and provide analysis.",
  "useContext": [
    {
      "code": {
        "system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
        "code": "focus",
        "display": "Clinical Focus"
      },
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "182888003",
            "display": "Medication requested (situation)"
          }
        ]
      }
    },
    {
      "code": {
        "system": "http://terminology.hl7.org/CodeSystem/usage-context-type",
        "code": "focus",
        "display": "Clinical Focus"
      },
      "valueCodeableConcept": {
        "coding": [
          {
            "system": "http://snomed.info/sct",
            "code": "82423001",
            "display": "Chronic pain (finding)"
          }
        ]
      }
    }
  ],
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "US",
          "display": "United States of America"
        }
      ]
    }
  ],
  "purpose": "The purpose of this library is to determine whether the patient has had a urine screening in the past 12 months. Is so, then check the results for missing opioids that are prescribed, present opioids that aren't prescribed or present illicit drugs.",
  "usage": "This library is used to notify the prescriber/user whether the patient has had a urine screening in the past 12 months and to provide analysis if true.",
  "copyright": "© CDC 2016+.",
  "topic": [
    {
      "text": "Opioid Prescribing"
    }
  ],
  "author": [
    {
      "name": "Kensaku Kawamoto, MD, PhD, MHS"
    },
    {
      "name": "Bryn Rhodes"
    },
    {
      "name": "Floyd Eisenberg, MD, MPH"
    },
    {
      "name": "Robert McClure, MD, MPH"
    }
  ],
  "relatedArtifact": [
    {
      "type": "documentation",
      "display": "CDC guideline for prescribing opioids for chronic pain",
      "document": {
        "url": "https://guidelines.gov/summaries/summary/50153/cdc-guideline-for-prescribing-opioids-for-chronic-pain---united-states-2016#420"
      }
    },
    {
      "type": "depends-on",
      "resource": "http://example.org/fhir/Library/opioidcds-common"
    }
  ],
  "dataRequirement": [
    {
      "type": "MedicationRequest",
      "codeFilter": [
        {
          "path": "medicationCodeableConcept",
          "valueSet": "http://example.org/fhir/ValueSet/opioids-indicating-end-of-life"
        }
      ]
    },
    {
      "type": "MedicationRequest",
      "codeFilter": [
        {
          "path": "medicationCodeableConcept",
          "valueSet": "http://example.org/fhir/ValueSet/opioids-abused-in-ambulatory-care"
        }
      ]
    },
    {
      "type": "Observation",
      "codeFilter": [
        {
          "path": "combo-code",
          "valueSet": "http://example.org/fhir/ValueSet/illicit-drug-urine-screening"
        }
      ]
    },
    {
      "type": "Observation",
      "codeFilter": [
        {
          "path": "combo-code",
          "valueSet": "http://example.org/fhir/ValueSet/opioid-urine-screening"
        }
      ]
    }
  ],
  "content": [
    {
      "contentType": "application/elm+xml",
      "data": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGxpYnJhcnkgeG1sbnM9InVybjpobDctb3JnOmVsbTpyMSIgeG1sbnM6dD0idXJuOmhsNy1vcmc6ZWxtLXR5cGVzOnIxIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp4c2Q9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczpmaGlyPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB4bWxuczpxZG00Mz0idXJuOmhlYWx0aGl0LWdvdjpxZG06djRfMyIgeG1sbnM6cWRtNTM9InVybjpoZWFsdGhpdC1nb3Y6cWRtOnY1XzMiIHhtbG5zOmE9InVybjpobDctb3JnOmNxbC1hbm5vdGF0aW9uczpyMSI+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNjIiIHN0YXJ0Q2hhcj0iMTIiIGVuZExpbmU9IjYyIiBlbmRDaGFyPSI2MCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgY29kZSBwYXRoIG1lZGljYXRpb25Db2RlYWJsZUNvbmNlcHQgZm9yIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBGSElSLk1lZGljYXRpb25SZXF1ZXN0LiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjYyIiBzdGFydENoYXI9IjEyIiBlbmRMaW5lPSI2MiIgZW5kQ2hhcj0iNjAiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNjYiIHN0YXJ0Q2hhcj0iMyIgZW5kTGluZT0iNjYiIGVuZENoYXI9IjY2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBjb2RlIHBhdGggbWVkaWNhdGlvbkNvZGVhYmxlQ29uY2VwdCBmb3IgdGhlIHR5cGUgb2YgdGhlIHJldHJpZXZlIEZISVIuTWVkaWNhdGlvblJlcXVlc3QuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iNjYiIHN0YXJ0Q2hhcj0iMyIgZW5kTGluZT0iNjYiIGVuZENoYXI9IjY2IiBtZXNzYWdlPSJDb3VsZCBub3QgcmVzb2x2ZSBtZW1iZXJzaGlwIG9wZXJhdG9yIGZvciB0ZXJtaW5vbG9neSB0YXJnZXQgb2YgdGhlIHJldHJpZXZlLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijc0IiBzdGFydENoYXI9IjMiIGVuZExpbmU9Ijc0IiBlbmRDaGFyPSI2NCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgY29kZSBwYXRoIGNvbWJvLWNvZGUgZm9yIHRoZSB0eXBlIG9mIHRoZSByZXRyaWV2ZSBGSElSLk9ic2VydmF0aW9uLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9Ijc0IiBzdGFydENoYXI9IjMiIGVuZExpbmU9Ijc0IiBlbmRDaGFyPSI2NCIgbWVzc2FnZT0iQ291bGQgbm90IHJlc29sdmUgbWVtYmVyc2hpcCBvcGVyYXRvciBmb3IgdGVybWlub2xvZ3kgdGFyZ2V0IG9mIHRoZSByZXRyaWV2ZS4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI3OSIgc3RhcnRDaGFyPSIzIiBlbmRMaW5lPSI3OSIgZW5kQ2hhcj0iNjMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIGNvZGUgcGF0aCBjb21iby1jb2RlIGZvciB0aGUgdHlwZSBvZiB0aGUgcmV0cmlldmUgRkhJUi5PYnNlcnZhdGlvbi4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSI3OSIgc3RhcnRDaGFyPSIzIiBlbmRMaW5lPSI3OSIgZW5kQ2hhcj0iNjMiIG1lc3NhZ2U9IkNvdWxkIG5vdCByZXNvbHZlIG1lbWJlcnNoaXAgb3BlcmF0b3IgZm9yIHRlcm1pbm9sb2d5IHRhcmdldCBvZiB0aGUgcmV0cmlldmUuIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTM0IiBzdGFydENoYXI9IjIwIiBlbmRMaW5lPSIxMzQiIGVuZENoYXI9Ijc2IiBtZXNzYWdlPSJMaXN0LXZhbHVlZCBleHByZXNzaW9uIHdhcyBkZW1vdGVkIHRvIGEgc2luZ2xldG9uLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8YW5ub3RhdGlvbiBzdGFydExpbmU9IjE0MyIgc3RhcnRDaGFyPSIxNiIgZW5kTGluZT0iMTQzIiBlbmRDaGFyPSIxNyIgbWVzc2FnZT0iTGlzdC12YWx1ZWQgZXhwcmVzc2lvbiB3YXMgZGVtb3RlZCB0byBhIHNpbmdsZXRvbi4iIGVycm9yVHlwZT0ic2VtYW50aWMiIGVycm9yU2V2ZXJpdHk9Indhcm5pbmciIHhzaTp0eXBlPSJhOkNxbFRvRWxtRXJyb3IiLz4KICAgPGFubm90YXRpb24gc3RhcnRMaW5lPSIxNTciIHN0YXJ0Q2hhcj0iNTIiIGVuZExpbmU9IjE1NyIgZW5kQ2hhcj0iNzMiIG1lc3NhZ2U9Ikxpc3QtdmFsdWVkIGV4cHJlc3Npb24gd2FzIGRlbW90ZWQgdG8gYSBzaW5nbGV0b24uIiBlcnJvclR5cGU9InNlbWFudGljIiBlcnJvclNldmVyaXR5PSJ3YXJuaW5nIiB4c2k6dHlwZT0iYTpDcWxUb0VsbUVycm9yIi8+CiAgIDxhbm5vdGF0aW9uIHN0YXJ0TGluZT0iMTcxIiBzdGFydENoYXI9IjYyIiBlbmRMaW5lPSIxNzEiIGVuZENoYXI9Ijc4IiBtZXNzYWdlPSJMaXN0LXZhbHVlZCBleHByZXNzaW9uIHdhcyBkZW1vdGVkIHRvIGEgc2luZ2xldG9uLiIgZXJyb3JUeXBlPSJzZW1hbnRpYyIgZXJyb3JTZXZlcml0eT0id2FybmluZyIgeHNpOnR5cGU9ImE6Q3FsVG9FbG1FcnJvciIvPgogICA8aWRlbnRpZmllciBpZD0iT3Bpb2lkQ0RTX1NUVTRfUkVDXzEwIiB2ZXJzaW9uPSIwLjEuMCIvPgogICA8c2NoZW1hSWRlbnRpZmllciBpZD0idXJuOmhsNy1vcmc6ZWxtIiB2ZXJzaW9uPSJyMSIvPgogICA8dXNpbmdzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iU3lzdGVtIiB1cmk9InVybjpobDctb3JnOmVsbS10eXBlczpyMSIvPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iRkhJUiIgdXJpPSJodHRwOi8vaGw3Lm9yZy9maGlyIiB2ZXJzaW9uPSIzLjIuMCIvPgogICA8L3VzaW5ncz4KICAgPGluY2x1ZGVzPgogICAgICA8ZGVmIGxvY2FsSWRlbnRpZmllcj0iQ29tbW9uIiBwYXRoPSJPcGlvaWRDRFNfU1RVNF9Db21tb24iIHZlcnNpb249IjAuMS4wIi8+CiAgIDwvaW5jbHVkZXM+CiAgIDxwYXJhbWV0ZXJzPgogICAgICA8ZGVmIG5hbWU9IkNvbnRleHRQcmVzY3JpcHRpb25zIiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPHBhcmFtZXRlclR5cGVTcGVjaWZpZXIgeHNpOnR5cGU9Ikxpc3RUeXBlU3BlY2lmaWVyIj4KICAgICAgICAgICAgPGVsZW1lbnRUeXBlIG5hbWU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgPC9wYXJhbWV0ZXJUeXBlU3BlY2lmaWVyPgogICAgICA8L2RlZj4KICAgPC9wYXJhbWV0ZXJzPgogICA8c3RhdGVtZW50cz4KICAgICAgPGRlZiBuYW1lPSJQYXRpZW50IiBjb250ZXh0PSJQYXRpZW50Ij4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICA8b3BlcmFuZCBkYXRhVHlwZT0iZmhpcjpQYXRpZW50IiB4c2k6dHlwZT0iUmV0cmlldmUiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJMb29rYmFjayBZZWFyIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24gbG93Q2xvc2VkPSJ0cnVlIiBoaWdoQ2xvc2VkPSJ0cnVlIiB4c2k6dHlwZT0iSW50ZXJ2YWwiPgogICAgICAgICAgICA8bG93IHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTdWJ0cmFjdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb2RheSIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZT0iMTIiIHVuaXQ9Im1vbnRocyIgeHNpOnR5cGU9IlF1YW50aXR5Ii8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWU9IjEiIHVuaXQ9ImRheXMiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2xvdz4KICAgICAgICAgICAgPGhpZ2ggeHNpOnR5cGU9IlN1YnRyYWN0Ij4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvZGF5Ii8+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlPSIxIiB1bml0PSJkYXkiIHhzaTp0eXBlPSJRdWFudGl0eSIvPgogICAgICAgICAgICA8L2hpZ2g+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iVmFsaWRhdGUgVHJpZ2dlciBFdmVudCIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICAgICA8c291cmNlIGFsaWFzPSJ0cmlnZ2VyU2NyaXB0Ij4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iQ29udGV4dFByZXNjcmlwdGlvbnMiIHhzaTp0eXBlPSJQYXJhbWV0ZXJSZWYiLz4KICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgIDx3aGVyZSBuYW1lPSJJc09waW9pZFdpdGhBbWJ1bGF0b3J5QWJ1c2VQb3RlbnRpYWwiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9InRyaWdnZXJTY3JpcHQiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJFeGNsdXNpb24gQ3JpdGVyaWEiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iT3IiPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgZGF0YVR5cGU9ImZoaXI6TWVkaWNhdGlvblJlcXVlc3QiIGNvZGVQcm9wZXJ0eT0ibWVkaWNhdGlvbkNvZGVhYmxlQ29uY2VwdCIgeHNpOnR5cGU9IlJldHJpZXZlIj4KICAgICAgICAgICAgICAgICAgPGNvZGVzIG5hbWU9IkVuZCBPZiBMaWZlIE9waW9pZHMiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iSGFzTWV0YXN0YXRpY0NhbmNlciIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iUngiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBkYXRhVHlwZT0iZmhpcjpNZWRpY2F0aW9uUmVxdWVzdCIgY29kZVByb3BlcnR5PSJtZWRpY2F0aW9uQ29kZWFibGVDb25jZXB0IiB4c2k6dHlwZT0iUmV0cmlldmUiPgogICAgICAgICAgICAgICAgICA8Y29kZXMgbmFtZT0iQW1idWxhdG9yeSBBYnVzZSBQb3RlbnRpYWwgT3Bpb2lkcyIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IlZhbHVlU2V0UmVmIi8+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ic3RhdHVzIiBzY29wZT0iUngiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJhY3RpdmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJGbGF0dGVuIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0iJHRoaXMiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjYXRlZ29yeSIgc2NvcGU9IlJ4IiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx3aGVyZSB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklzTnVsbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSIkdGhpcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iJHRoaXMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Im91dHBhdGllbnQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJHZXQgSWxsaWNpdCBEcnVnIFVyaW5lIFNjcmVlbmluZ3MgaW4gTGFzdCAxMiBNb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJvYnNlcnZhdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvbWJvLWNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJJbGxpY2l0IERydWcgU2NyZWVuaW5nIiBsaWJyYXJ5TmFtZT0iQ29tbW9uIiB4c2k6dHlwZT0iVmFsdWVTZXRSZWYiLz4KICAgICAgICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJJbiI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Im9ic2VydmF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJMb29rYmFjayBZZWFyIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICAgICA8c29ydD4KICAgICAgICAgICAgICAgPGJ5IGRpcmVjdGlvbj0iYXNjIiB4c2k6dHlwZT0iQnlFeHByZXNzaW9uIj4KICAgICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iZWZmZWN0aXZlIiB4c2k6dHlwZT0iSWRlbnRpZmllclJlZiIvPgogICAgICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgICAgIDwvYnk+CiAgICAgICAgICAgIDwvc29ydD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJNb3N0IFJlY2VudCBJbGxpY2l0IERydWcgVXJpbmUgU2NyZWVuaW5ncyBpbiBMYXN0IDEyIE1vbnRocyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJMYXN0Ij4KICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJHZXQgSWxsaWNpdCBEcnVnIFVyaW5lIFNjcmVlbmluZ3MgaW4gTGFzdCAxMiBNb250aHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0IE9waW9pZCBEcnVnIFVyaW5lIFNjcmVlbmluZ3MgaW4gTGFzdCAxMiBNb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJvYnNlcnZhdGlvbiI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIGRhdGFUeXBlPSJmaGlyOk9ic2VydmF0aW9uIiBjb2RlUHJvcGVydHk9ImNvbWJvLWNvZGUiIHhzaTp0eXBlPSJSZXRyaWV2ZSI+CiAgICAgICAgICAgICAgICAgIDxjb2RlcyBuYW1lPSJPcGlvaWQgRHJ1ZyBTY3JlZW5pbmciIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJWYWx1ZVNldFJlZiIvPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9IkluIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iZWZmZWN0aXZlIiBzY29wZT0ib2JzZXJ2YXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ikxvb2tiYWNrIFllYXIiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvd2hlcmU+CiAgICAgICAgICAgIDxzb3J0PgogICAgICAgICAgICAgICA8YnkgZGlyZWN0aW9uPSJhc2MiIHhzaTp0eXBlPSJCeUV4cHJlc3Npb24iPgogICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJlZmZlY3RpdmUiIHhzaTp0eXBlPSJJZGVudGlmaWVyUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgICAgPC9ieT4KICAgICAgICAgICAgPC9zb3J0PgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9Ik1vc3QgUmVjZW50IE9waW9pZCBEcnVnIFVyaW5lIFNjcmVlbmluZ3MgaW4gTGFzdCAxMiBNb250aHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iTGFzdCI+CiAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iR2V0IE9waW9pZCBEcnVnIFVyaW5lIFNjcmVlbmluZ3MgaW4gTGFzdCAxMiBNb250aHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTm8gVXJpbmUgU2NyZWVuaW5nIEluIExhc3QgMTIgTW9udGhzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNb3N0IFJlY2VudCBJbGxpY2l0IERydWcgVXJpbmUgU2NyZWVuaW5ncyBpbiBMYXN0IDEyIE1vbnRocyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTW9zdCBSZWNlbnQgT3Bpb2lkIERydWcgVXJpbmUgU2NyZWVuaW5ncyBpbiBMYXN0IDEyIE1vbnRocyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlBvc2l0aXZlIE9waW9pZCBEcnVnIFNjcmVlbmluZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9Im1vc3RSZWNlbnRTY3JlZW5pbmciPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJNb3N0IFJlY2VudCBPcGlvaWQgRHJ1ZyBVcmluZSBTY3JlZW5pbmdzIGluIExhc3QgMTIgTW9udGhzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHdoZXJlIHhzaTp0eXBlPSJPciI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJFcXVhbCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaW50ZXJwcmV0YXRpb24iIHNjb3BlPSJtb3N0UmVjZW50U2NyZWVuaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUE9TIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJtb3N0UmVjZW50U2NyZWVuaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpbnRlcnByZXRhdGlvbiIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvbXBvbmVudCIgc2NvcGU9Im1vc3RSZWNlbnRTY3JlZW5pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUE9TIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgIDxlbHNlIHZhbHVlVHlwZT0idDpCb29sZWFuIiB2YWx1ZT0iZmFsc2UiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPC93aGVyZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJPcmRlcnMgQmVmb3JlIE1vc3QgUmVjZW50IE9waW9pZCBTY3JlZW5pbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJvcmRlcnMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJHZXQgQWN0aXZlIEFtYnVsYXRvcnkgT3Bpb2lkIFJ4IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJlbGF0aW9uc2hpcCBhbGlhcz0ibW9zdFJlY2VudFNjcmVlbmluZyIgeHNpOnR5cGU9IldpdGgiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQb3NpdGl2ZSBPcGlvaWQgRHJ1ZyBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgIDxzdWNoVGhhdCB4c2k6dHlwZT0iTGVzcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImF1dGhvcmVkT24iIHNjb3BlPSJvcmRlcnMiIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImVmZmVjdGl2ZSIgc2NvcGU9Im1vc3RSZWNlbnRTY3JlZW5pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvc3VjaFRoYXQ+CiAgICAgICAgICAgIDwvcmVsYXRpb25zaGlwPgogICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJvcmRlcnMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJQcmVzY3JpYmVkIE9waW9pZHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJvcmRlcnMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJPcmRlcnMgQmVmb3JlIE1vc3QgUmVjZW50IE9waW9pZCBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8cmV0dXJuPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iTG93ZXIiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldEluZ3JlZGllbnQiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlRvQ29kZSIgbGlicmFyeU5hbWU9IkNvbW1vbiIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0ibWVkaWNhdGlvbiIgc2NvcGU9Im9yZGVycyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgICAgICAgPC9yZXR1cm4+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0T3Bpb2lkIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIiB4c2k6dHlwZT0iRnVuY3Rpb25EZWYiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ2FzZSI+CiAgICAgICAgICAgIDxjb21wYXJhbmQgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjMyOTktNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkFjZXRhbWlub3BoZW4iIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjE0MTg0LTYiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJBdHJvcGluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMTY0ODUtNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkJyb21vZGlwaGVuaHlkcmFtaW5lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIzNDA4LTIiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJCcm9tcGhlbmlyYW1pbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjM0MTQtMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkJ1cHJlbm9ycGhpbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjM0MjEtNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkJ1dGFsYml0YWwiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjEyMzMzLTEiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJCdXRvcnBoYW5vbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzQyMy0xIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ2FmZmVpbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjIxMTQyLTUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDYXJpc29wcm9kb2wiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjE2NjA1LTgiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDaGxvcmN5Y2xpemluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzQ2Ny04IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ2hsb3JwaGVuaXJhbWluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzUwNy0xIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iQ29kZWluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMTQwNjYtNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkRpaHlkcm9jb2RlaW5lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIzNTcxLTciIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJEaXBoZW5oeWRyYW1pbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjExMjM1LTkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGZW50YW55bCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMTIzMDgtMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ikh5ZHJvY29kb25lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSI5ODM0LTMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJIeWRyb21vcnBob25lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxNDA3MSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IklidXByb2ZlbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzcxMS05IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTGV2b3JwaGFub2wiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjM3NDYtNSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1lcGVyaWRpbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjM3NzMtOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik1ldGhhZG9uZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzgzMC03IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTW9ycGhpbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjQyNjE4LTkiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJOYWxveG9uZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMTIzMDktMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9Ik5hbHRyZXhvbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjEwOTk4LTMiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJPeHljb2RvbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjExMjQ3LTQiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJPeHltb3JwaG9uZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzkxNy0yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUGVudGF6b2NpbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjM5NjItOCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlBoZW55bGVwaHJpbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjM5NjUtMSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlBoZW55bHByb3Bhbm9sYW1pbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjExMDAwLTciIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQcm9tZXRoYXppbmUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjQwMDMtMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlBzZXVkb2VwaGVkcmluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iNDAwOS03IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUHlyaWxhbWluZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iNjU4MDctMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlRhcGVudGFkb2wiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxjYXNlSXRlbT4KICAgICAgICAgICAgICAgPHdoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IjQzMjE5LTUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJUcmFtYWRvbCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IlVua25vd24gY29kZTogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSIgeHNpOnR5cGU9Ik9wZXJhbmRSZWYiLz4KICAgICAgICAgICAgPC9lbHNlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgIDxvcGVyYW5kIG5hbWU9InZhbHVlIj4KICAgICAgICAgICAgPG9wZXJhbmRUeXBlU3BlY2lmaWVyIG5hbWU9InQ6U3RyaW5nIiB4c2k6dHlwZT0iTmFtZWRUeXBlU3BlY2lmaWVyIi8+CiAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iTWlzc2luZyBPcGlvaWRzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJQb3NpdGl2ZSBPcGlvaWQgRHJ1ZyBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9IkV4Y2VwdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJRdWVyeSI+CiAgICAgICAgICAgICAgICAgIDxzb3VyY2UgYWxpYXM9IlByZXNjcmlwdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJQcmVzY3JpYmVkIE9waW9pZHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTG93ZXIiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRPcGlvaWQiIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBuYW1lPSJQb3NpdGl2ZSBPcGlvaWQgRHJ1ZyBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgPGVsc2UgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik51bGwiLz4KICAgICAgICAgICAgICAgPGFzVHlwZVNwZWNpZmllciB4c2k6dHlwZT0iTGlzdFR5cGVTcGVjaWZpZXIiPgogICAgICAgICAgICAgICAgICA8ZWxlbWVudFR5cGUgbmFtZT0idDpTdHJpbmciIHhzaTp0eXBlPSJOYW1lZFR5cGVTcGVjaWZpZXIiLz4KICAgICAgICAgICAgICAgPC9hc1R5cGVTcGVjaWZpZXI+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJIYXMgTWlzc2luZyBPcGlvaWRzPyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJFeGlzdHMiPgogICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJNaXNzaW5nIE9waW9pZHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgIDwvZXhwcmVzc2lvbj4KICAgICAgPC9kZWY+CiAgICAgIDxkZWYgbmFtZT0iR2V0IE9waW9pZHMgRnJvbSBNb3N0IFJlY2VudCBTY3JlZW5pbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJtb3N0UmVjZW50U2NyZWVuaW5nIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iUG9zaXRpdmUgT3Bpb2lkIERydWcgU2NyZWVuaW5nIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlVuaW9uIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJMb3dlciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldE9waW9pZCIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb2RlIiBzY29wZT0ibW9zdFJlY2VudFNjcmVlbmluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSXNOdWxsIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJtb3N0UmVjZW50U2NyZWVuaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoZW4geHNpOnR5cGU9Ikxvd2VyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iR2V0T3Bpb2lkIiB4c2k6dHlwZT0iRnVuY3Rpb25SZWYiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJbmRleGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb21wb25lbnQiIHNjb3BlPSJtb3N0UmVjZW50U2NyZWVuaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L3RoZW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbHNlIGFzVHlwZT0idDpTdHJpbmciIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJTaW5nbGV0b25Gcm9tIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ikxpc3QiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Vsc2U+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgICAgICAgIDwvcmV0dXJuPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlVucHJlc2NyaWJlZCBPcGlvaWRzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IlF1ZXJ5Ij4KICAgICAgICAgICAgPHNvdXJjZSBhbGlhcz0ibW9zdFJlY2VudFNjcmVlbmluZ09waW9pZHMiPgogICAgICAgICAgICAgICA8ZXhwcmVzc2lvbiBuYW1lPSJHZXQgT3Bpb2lkcyBGcm9tIE1vc3QgUmVjZW50IFNjcmVlbmluZyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgIDxyZWxhdGlvbnNoaXAgYWxpYXM9ImluZ3JlZGllbnRzIiB4c2k6dHlwZT0iV2l0aCI+CiAgICAgICAgICAgICAgIDxleHByZXNzaW9uIG5hbWU9IlByZXNjcmliZWQgT3Bpb2lkcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgPHN1Y2hUaGF0IHhzaTp0eXBlPSJOb3QiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW4iPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJtb3N0UmVjZW50U2NyZWVuaW5nT3Bpb2lkcyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJUb0xpc3QiPgogICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJpbmdyZWRpZW50cyIgeHNpOnR5cGU9IkFsaWFzUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L3N1Y2hUaGF0PgogICAgICAgICAgICA8L3JlbGF0aW9uc2hpcD4KICAgICAgICAgICAgPHJldHVybj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0ibW9zdFJlY2VudFNjcmVlbmluZ09waW9pZHMiIHhzaTp0eXBlPSJBbGlhc1JlZiIvPgogICAgICAgICAgICA8L3JldHVybj4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJIYXMgVW5wcmVzY3JpYmVkIE9waW9pZHM/IiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkV4aXN0cyI+CiAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlVucHJlc2NyaWJlZCBPcGlvaWRzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IlBvc2l0aXZlIElsbGljaXQgRHJ1ZyBTY3JlZW5pbmciIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iUXVlcnkiPgogICAgICAgICAgICA8c291cmNlIGFsaWFzPSJtb3N0UmVjZW50U2NyZWVuaW5nIj4KICAgICAgICAgICAgICAgPGV4cHJlc3Npb24gbmFtZT0iTW9zdCBSZWNlbnQgSWxsaWNpdCBEcnVnIFVyaW5lIFNjcmVlbmluZ3MgaW4gTGFzdCAxMiBNb250aHMiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICA8d2hlcmUgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkVxdWFsIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJpbnRlcnByZXRhdGlvbiIgc2NvcGU9Im1vc3RSZWNlbnRTY3JlZW5pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQT1MiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IklmIj4KICAgICAgICAgICAgICAgICAgPGNvbmRpdGlvbiBhc1R5cGU9InQ6Qm9vbGVhbiIgeHNpOnR5cGU9IkFzIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik5vdCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvbXBvbmVudCIgc2NvcGU9Im1vc3RSZWNlbnRTY3JlZW5pbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6SW50ZWdlciIgdmFsdWU9IjAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgIDwvY29uZGl0aW9uPgogICAgICAgICAgICAgICAgICA8dGhlbiB4c2k6dHlwZT0iRXF1YWwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJ2YWx1ZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJbmRleGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29kaW5nIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImludGVycHJldGF0aW9uIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIHhzaTp0eXBlPSJJbmRleGVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0iY29tcG9uZW50IiBzY29wZT0ibW9zdFJlY2VudFNjcmVlbmluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJQT1MiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvdGhlbj4KICAgICAgICAgICAgICAgICAgPGVsc2UgdmFsdWVUeXBlPSJ0OkJvb2xlYW4iIHZhbHVlPSJmYWxzZSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICA8L3doZXJlPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkhhcyBJbGxpY2l0IERydWdzIGluIFNjcmVlbmluZz8iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlBvc2l0aXZlIElsbGljaXQgRHJ1ZyBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJJbmNsdXNpb24gQ3JpdGVyaWEiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQW5kIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFuZCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJBbmQiPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJWYWxpZGF0ZSBUcmlnZ2VyIEV2ZW50IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iTm90Ij4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iRXhjbHVzaW9uIENyaXRlcmlhIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IkFueVRydWUiPgogICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlByb2JhYmxlRGF5c0luUmFuZ2UiIGxpYnJhcnlOYW1lPSJDb21tb24iIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkdldCBBY3RpdmUgQW1idWxhdG9yeSBPcGlvaWQgUngiIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iOTAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iODAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9Ik9yIj4KICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0iTm8gVXJpbmUgU2NyZWVuaW5nIEluIExhc3QgMTIgTW9udGhzIiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgTWlzc2luZyBPcGlvaWRzPyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJIYXMgVW5wcmVzY3JpYmVkIE9waW9pZHM/IiB4c2k6dHlwZT0iRXhwcmVzc2lvblJlZiIvPgogICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IkhhcyBJbGxpY2l0IERydWdzIGluIFNjcmVlbmluZz8iIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICA8L2RlZj4KICAgICAgPGRlZiBuYW1lPSJHZXRJbGxpY2l0RHJ1ZyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyIgeHNpOnR5cGU9IkZ1bmN0aW9uRGVmIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkNhc2UiPgogICAgICAgICAgICA8Y29tcGFyYW5kIG5hbWU9InZhbHVlIiB4c2k6dHlwZT0iT3BlcmFuZFJlZiIvPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIzMzk3LTciIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJDb2NhaW5lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxNDI2Ny05IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWV0aHlsZW5lZGlveHltZXRoYW1waGV0YW1pbmUgKE1ETUEpIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIyOTg2OC03IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iR2FtbWEgSHlkcm94eWJ1dHlyaWMgQWNpZCAoR0hCKSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMTIzMjctMyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IktldGFtaW5lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIzNzMyLTUiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgICAgIDx0aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJMeXNlcmdpYyBBY2lkIERpZXRoeWxhbWlkZSAoTFNEKSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzc3OS02IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iTWV0aGFtcGhldGFtaW5lIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8L2Nhc2VJdGVtPgogICAgICAgICAgICA8Y2FzZUl0ZW0+CiAgICAgICAgICAgICAgIDx3aGVuIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSIxNzUwNC0yIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iUHNpbG9jeWJpbiIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iNDEwMjAtOSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPHRoZW4gdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZsdW5pdHJhemVwYW0gKFJvaHlwbm9sKSIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPC9jYXNlSXRlbT4KICAgICAgICAgICAgPGNhc2VJdGVtPgogICAgICAgICAgICAgICA8d2hlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iMzQyNi00IiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICA8dGhlbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVGV0cmFoeWRyb2Nhbm5hYmlub2wgKFRIQykiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDwvY2FzZUl0ZW0+CiAgICAgICAgICAgIDxlbHNlIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJVbmtub3duIGNvZGU6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgPG9wZXJhbmQgbmFtZT0idmFsdWUiIHhzaTp0eXBlPSJPcGVyYW5kUmVmIi8+CiAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgPC9leHByZXNzaW9uPgogICAgICAgICA8b3BlcmFuZCBuYW1lPSJ2YWx1ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kVHlwZVNwZWNpZmllciBuYW1lPSJ0OlN0cmluZyIgeHNpOnR5cGU9Ik5hbWVkVHlwZVNwZWNpZmllciIvPgogICAgICAgICA8L29wZXJhbmQ+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkluY29uc2lzdGVudCBJbGxpY2l0IERydWdzIiBjb250ZXh0PSJQYXRpZW50IiBhY2Nlc3NMZXZlbD0iUHVibGljIj4KICAgICAgICAgPGV4cHJlc3Npb24geHNpOnR5cGU9IkNvbmNhdGVuYXRlIj4KICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OlN0cmluZyIgdmFsdWU9IkZvdW5kIHRoZSBmb2xsb3dpbmcgaWxsaWNpdCBkcnVnKHMpIGluIHVyaW5lIGRydWcgc2NyZWVuOiAiIHhzaTp0eXBlPSJMaXRlcmFsIi8+CiAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJZiI+CiAgICAgICAgICAgICAgIDxjb25kaXRpb24gYXNUeXBlPSJ0OkJvb2xlYW4iIHhzaTp0eXBlPSJBcyI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHhzaTp0eXBlPSJJc051bGwiPgogICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJHZXRJbGxpY2l0RHJ1ZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBvc2l0aXZlIElsbGljaXQgRHJ1ZyBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICAgICAgICA8L2NvbmRpdGlvbj4KICAgICAgICAgICAgICAgPHRoZW4gbmFtZT0iR2V0SWxsaWNpdERydWciIHhzaTp0eXBlPSJGdW5jdGlvblJlZiI+CiAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9InZhbHVlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICA8c291cmNlIHBhdGg9ImNvZGUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgeHNpOnR5cGU9IkluZGV4ZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8b3BlcmFuZCBwYXRoPSJjb2RpbmciIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iaW50ZXJwcmV0YXRpb24iIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgbmFtZT0iUG9zaXRpdmUgSWxsaWNpdCBEcnVnIFNjcmVlbmluZyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgdmFsdWVUeXBlPSJ0OkludGVnZXIiIHZhbHVlPSIwIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICAgICAgICAgICAgICA8L3NvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgIDwvb3BlcmFuZD4KICAgICAgICAgICAgICAgPC90aGVuPgogICAgICAgICAgICAgICA8ZWxzZSBuYW1lPSJHZXRJbGxpY2l0RHJ1ZyIgeHNpOnR5cGU9IkZ1bmN0aW9uUmVmIj4KICAgICAgICAgICAgICAgICAgPG9wZXJhbmQgcGF0aD0idmFsdWUiIHhzaTp0eXBlPSJQcm9wZXJ0eSI+CiAgICAgICAgICAgICAgICAgICAgIDxzb3VyY2UgcGF0aD0iY29kZSIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSB4c2k6dHlwZT0iSW5kZXhlciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHBhdGg9ImNvZGluZyIgeHNpOnR5cGU9IlByb3BlcnR5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNvdXJjZSBwYXRoPSJjb2RlIiB4c2k6dHlwZT0iUHJvcGVydHkiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c291cmNlIG5hbWU9IlBvc2l0aXZlIElsbGljaXQgRHJ1ZyBTY3JlZW5pbmciIHhzaTp0eXBlPSJFeHByZXNzaW9uUmVmIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpJbnRlZ2VyIiB2YWx1ZT0iMCIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9zb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgIDwvc291cmNlPgogICAgICAgICAgICAgICAgICA8L29wZXJhbmQ+CiAgICAgICAgICAgICAgIDwvZWxzZT4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkhhcyBPcGlvaWRzIGluIFNjcmVlbmluZz8iIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iRXhpc3RzIj4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlRvTGlzdCI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9IlBvc2l0aXZlIE9waW9pZCBEcnVnIFNjcmVlbmluZyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkluY29uc2lzdGVudCBVbnByZXNjcmliZWQgT3Bpb2lkcyIgY29udGV4dD0iUGF0aWVudCIgYWNjZXNzTGV2ZWw9IlB1YmxpYyI+CiAgICAgICAgIDxleHByZXNzaW9uIHhzaTp0eXBlPSJDb25jYXRlbmF0ZSI+CiAgICAgICAgICAgIDxvcGVyYW5kIHZhbHVlVHlwZT0idDpTdHJpbmciIHZhbHVlPSJGb3VuZCB0aGUgZm9sbG93aW5nIHVucHJlc2NyaWJlZCBvcGlvaWQocyk6ICIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgICAgICAgPG9wZXJhbmQgeHNpOnR5cGU9IlNpbmdsZXRvbkZyb20iPgogICAgICAgICAgICAgICA8b3BlcmFuZCBuYW1lPSJVbnByZXNjcmliZWQgT3Bpb2lkcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkluY29uc2lzdGVudCBNaXNzaW5nIE9waW9pZHMiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB4c2k6dHlwZT0iQ29uY2F0ZW5hdGUiPgogICAgICAgICAgICA8b3BlcmFuZCB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0iVGhlIGZvbGxvd2luZyBvcGlvaWRzIGFyZSBtaXNzaW5nIGZyb20gdGhlIHNjcmVlbmluZzogIiB4c2k6dHlwZT0iTGl0ZXJhbCIvPgogICAgICAgICAgICA8b3BlcmFuZCB4c2k6dHlwZT0iU2luZ2xldG9uRnJvbSI+CiAgICAgICAgICAgICAgIDxvcGVyYW5kIG5hbWU9Ik1pc3NpbmcgT3Bpb2lkcyIgeHNpOnR5cGU9IkV4cHJlc3Npb25SZWYiLz4KICAgICAgICAgICAgPC9vcGVyYW5kPgogICAgICAgICA8L2V4cHJlc3Npb24+CiAgICAgIDwvZGVmPgogICAgICA8ZGVmIG5hbWU9IkdldCBJbmRpY2F0b3IiIGNvbnRleHQ9IlBhdGllbnQiIGFjY2Vzc0xldmVsPSJQdWJsaWMiPgogICAgICAgICA8ZXhwcmVzc2lvbiB2YWx1ZVR5cGU9InQ6U3RyaW5nIiB2YWx1ZT0id2FybmluZyIgeHNpOnR5cGU9IkxpdGVyYWwiLz4KICAgICAgPC9kZWY+CiAgIDwvc3RhdGVtZW50cz4KPC9saWJyYXJ5Pgo="
    }
  ]
}

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.