Draft dQM CMS Content Implementation Guide
2025.1.0 - CI Build
Draft dQM CMS Content Implementation Guide, published by cqframework. This guide is not an authorized publication; it is the continuous build for version 2025.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/cqframework/dqm-content-cms-2025/ and changes regularly. See the Directory of published versions
| Draft as of 2026-09-19 |
{
"resourceType" : "Library",
"id" : "CMS137FHIRSUDTxInitEngagement",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <table class=\"narrative-table\">\n <tbody>\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"metadata\"> </a>Metadata</th>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Version</th>\n\n\n\n<td class=\"content-container\">1.1.000</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Status</th>\n\n\n\n<td class=\"content-container\">Draft</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Type</th>\n\n\n\n<td class=\"content-container\">\n <a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a>#logic-library\n\n\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\"><a name=\"parameters\"> </a>Parameters</th>\n\n\n</tr>\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Parameter</th>\n\n\n\n<td class=\"content-container\">None</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n <tr>\n\n\n<th colspan=\"2\" scope=\"row\" class=\"row-header\">Library Content</th>\n\n\n</tr>\n \n \n <tr>\n <th scope=\"row\" class=\"row-header\">CQL Content</th>\n <td>\n <a name=\"cql-content\"> </a>\n <pre style=\"border: none;\" class=\"content-container highlight language-cql\"><code class=\"language-cql\">/*\nNOTE: For use by March 2026 US Realm Connectathon participants for internal use only. Not for use or distribution in commercial products.\n*/\nlibrary CMS137FHIRSUDTxInitEngagement version '1.1.000'\n\nusing USQualityCore version '0.1.0-cibuild'\nusing USCore version '6.1.0-derived'\nusing FHIR version '4.0.1'\n\ninclude hl7.fhir.uv.cql.FHIRHelpers version '4.0.1' called FHIRHelpers\ninclude hl7.fhir.uv.cql.FHIRCommon version '2.0.0' called FHIRCommon\ninclude hl7.fhir.us.cql.CumulativeMedicationDuration version '2.0.0-ballot' called CMD\ninclude hl7.fhir.us.cql.USCoreCommon version '2.0.0-ballot' called USCoreCommon\ninclude hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements\n\ninclude Hospice version '7.1.000' called Hospice\ninclude CQMCommon version '5.1.000' called CQMCommon\ninclude USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude Status version '2.1.000' called Status\n\nvalueset "Detoxification Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1059'\nvalueset "Discharge Services Hospital Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1007'\nvalueset "Discharge Services Hospital Inpatient Same Day Discharge": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1006'\nvalueset "Emergency Department Evaluation and Management Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1010'\nvalueset "Initial Hospital Inpatient Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1004'\nvalueset "Office Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1001'\nvalueset "Psych Visit Psychotherapy": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.526.3.1496'\nvalueset "Substance Use Disorder": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.106.12.1001'\nvalueset "Substance Use Disorder Long Acting Medication": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1149'\nvalueset "Substance Use Disorder Long Acting Medication Administration": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1156'\nvalueset "Substance Use Disorder Short Acting Medication": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1150'\nvalueset "Substance Use Disorder Short Acting Medication Administration": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.1157'\nvalueset "Substance Use Disorder Treatment": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.106.12.1005'\nvalueset "Telephone Visits": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1080'\nvalueset "Virtual Encounter": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1089'\n\nparameter "Measurement Period" Interval<DateTime>\n default Interval[@2026-01-01T00:00:00.000Z, @2027-01-01T00:00:00.000Z)\n\ncontext Patient\n\ndefine "Initial Population":\n AgeInYearsAt(date from start of "Measurement Period") >= 13\n and "First SUD Episode During Measurement Period" is not null\n and not exists "History of SUD Diagnosis or Treatment"\n\ndefine "First SUD Episode During Measurement Period":\n First(("Qualifying Encounters") ValidEncounters\n with(([ConditionEncounterDiagnosis: "Substance Use Disorder"]).verified()) SUDDiagnosis\n such that ValidEncounters.period during "Measurement Period"\n and SUDDiagnosis.prevalenceInterval ( ) starts during ValidEncounters.period\n and SUDDiagnosis.prevalenceInterval ( ) starts 47 days or more before day of \n end of "Measurement Period"\n return {\n ValidEncounterDate: date from start of ValidEncounters.period,\n ValidEncounter: ValidEncounters\n }\n sort by ValidEncounterDate\n ).ValidEncounter\n\ndefine "Qualifying Encounters":\n ( [Encounter: "Office Visit"]\n union [Encounter: "Emergency Department Evaluation and Management Visit"]\n union [Encounter: "Detoxification Visit"]\n union [Encounter: "Initial Hospital Inpatient Visit"]\n union [Encounter: "Discharge Services Hospital Inpatient Same Day Discharge"]\n union [Encounter: "Discharge Services Hospital Inpatient"]\n union [Encounter: "Telephone Visits"]\n union [Encounter: "Virtual Encounter"]\n ).isEncounterPerformed ( )\n\ndefine "History of SUD Diagnosis or Treatment":\n ( ( ( [Procedure: "Substance Use Disorder Treatment"]\n union [Procedure: "Psych Visit Psychotherapy"]\n union [Procedure: "Substance Use Disorder Long Acting Medication Administration"]\n union [Procedure: "Substance Use Disorder Short Acting Medication Administration"]\n ).isInterventionPerformed ( ) ) Interventions\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that Interventions.performed.toInterval ( ) starts 60 days or less before day of date from start of FirstSUDEpisode.period\n )\n union ( ( ( "Qualifying Encounters"\n except "Emergency Department or Detoxification Visit" ) QualifyingEncounter\n where QualifyingEncounter.encounterDiagnosis ( ).code in "Substance Use Disorder" ) SUDEncounterDx\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that SUDEncounterDx.period starts 60 days or less before day of date from start of FirstSUDEpisode.period\n )\n union ( ( ( [MedicationRequest: "Substance Use Disorder Long Acting Medication"]\n union [MedicationRequest: "Substance Use Disorder Short Acting Medication"]\n ).isMedicationOrder ( ) ) SUDMedication\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that SUDMedication.authoredOn 60 days or less before day of date from start of FirstSUDEpisode.period\n )\n\ndefine "Emergency Department or Detoxification Visit":\n ( [Encounter: "Emergency Department Evaluation and Management Visit"]\n union [Encounter: "Detoxification Visit"]\n ).isEncounterPerformed ( )\n\ndefine "Denominator":\n "Initial Population"\n\ndefine "Denominator Exclusions":\n Hospice."Has Hospice Services"\n\ndefine "Numerator 1":\n exists "Treatment Initiation With Non Medication Intervention Dates"\n or exists "Treatment Initiation With Medication Order Dates"\n\ndefine "Treatment Initiation With Non Medication Intervention Dates":\n ( "Psychosocial Visit" PsychosocialVisitProcedure\n let treatmentDate: date from start of PsychosocialVisitProcedure.performed.toInterval ( )\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that treatmentDate during Interval[date from start of FirstSUDEpisode.period, date from start of FirstSUDEpisode.period + 14 days )\n and PsychosocialVisitProcedure.id !~ FirstSUDEpisode.id\n return all treatmentDate\n )\n union ( "Psychosocial Visit" PsychosocialVisitEncounter\n let treatmentDate: date from start of PsychosocialVisitEncounter.period\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that treatmentDate during Interval[date from start of FirstSUDEpisode.period, date from start of FirstSUDEpisode.period + 14 days )\n and PsychosocialVisitEncounter.id !~ FirstSUDEpisode.id\n return all treatmentDate\n )\n\ndefine "Psychosocial Visit":\n ( ( [Procedure: "Substance Use Disorder Treatment"]\n union [Procedure: "Psych Visit Psychotherapy"]\n ).isInterventionPerformed ( )\n )\n union ( ( [Encounter: "Telephone Visits"]\n union [Encounter: "Virtual Encounter"]\n ).isEncounterPerformed ( ) ) TelehealthEncounter\n where TelehealthEncounter.encounterDiagnosis ( ).code in "Substance Use Disorder"\n\ndefine "Treatment Initiation With Medication Order Dates":\n ( ( ( [MedicationRequest: "Substance Use Disorder Short Acting Medication"]\n union [MedicationRequest: "Substance Use Disorder Long Acting Medication"]\n ).isMedicationOrder ( ) ) SUDMedication\n let treatmentDate: date from start of SUDMedication.authoredOn.toInterval ( )\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that treatmentDate during Interval[date from start of FirstSUDEpisode.period, date from start of FirstSUDEpisode.period + 14 days )\n return all treatmentDate\n )\n union ( ( ( [Procedure: "Substance Use Disorder Short Acting Medication Administration"]\n union [Procedure: "Substance Use Disorder Long Acting Medication Administration"]\n ).isProcedurePerformed ( ) ) SUDMedAdministration\n let treatmentDate: date from start of SUDMedAdministration.performed.toInterval ( )\n with "First SUD Episode During Measurement Period" FirstSUDEpisode\n such that treatmentDate during Interval[date from start of FirstSUDEpisode.period, date from start of FirstSUDEpisode.period + 14 days )\n return all treatmentDate\n )\n\ndefine "Has Two or More Treatment Engagements With Short Acting Medication or Non Medication Intervention":\n Count((("Psychosocial Visit"\n union(([Procedure: "Substance Use Disorder Short Acting Medication Administration"]).isProcedurePerformed())) ShortActingTreatment\n with(Min("Treatment Initiation With Non Medication Intervention Dates"\n union "Treatment Initiation With Medication Order Dates"\n )) InitiationTreatmentDate\n such that date from start of ShortActingTreatment.performed.toInterval() 34 days or less after InitiationTreatmentDate\n or date from start of ShortActingTreatment.period 34 days or less after InitiationTreatmentDate\n return all ShortActingTreatment\n )\n union((([MedicationRequest: "Substance Use Disorder Short Acting Medication"]).isMedicationOrder()) ShortActingMedOrder\n with(Min("Treatment Initiation With Non Medication Intervention Dates"\n union "Treatment Initiation With Medication Order Dates"\n )) InitiationTreatmentDate\n such that date from start of ShortActingMedOrder.authoredOn.toInterval() 34 days or less after InitiationTreatmentDate\n return all ShortActingMedOrder\n )\n ) >= 2\n\ndefine "Numerator 2":\n "Has Treatment Engagement With Long Acting Medication"\n or "Has Two or More Treatment Engagements With Short Acting Medication or Non Medication Intervention"\n\ndefine "Has Treatment Engagement With Long Acting Medication":\n exists ( ( ( ( [MedicationRequest: "Substance Use Disorder Long Acting Medication"] ).isMedicationOrder ( ) ) LongActingMedOrder\n with ( Min("Treatment Initiation With Non Medication Intervention Dates"\n union "Treatment Initiation With Medication Order Dates"\n ) ) InitiationTreatmentDate\n such that date from start of LongActingMedOrder.authoredOn.toInterval ( ) 34 days or less after InitiationTreatmentDate\n )\n union ( ( ( [Procedure: "Substance Use Disorder Long Acting Medication Administration"] ).isProcedurePerformed ( ) ) LongActingTreatment\n with ( Min("Treatment Initiation With Non Medication Intervention Dates"\n union "Treatment Initiation With Medication Order Dates"\n ) ) InitiationTreatmentDate\n such that date from start of LongActingTreatment.performed.toInterval ( ) 34 days or less after InitiationTreatmentDate\n )\n )\n\ndefine "SDE Ethnicity":\n SDE."SDE Ethnicity"\n\ndefine "SDE Payer":\n SDE."SDE Payer"\n\ndefine "SDE Race":\n SDE."SDE Race"\n\ndefine "SDE Sex":\n SDE."SDE Sex"\n\ndefine "Stratification 1":\n AgeInYearsAt(date from start of "Measurement Period") in Interval[13, 17]\n\ndefine "Stratification 2":\n AgeInYearsAt(date from start of "Measurement Period") in Interval[18, 64]\n\ndefine "Stratification 3":\n AgeInYearsAt(date from start of "Measurement Period") >= 65</code></pre>\n </td>\n </tr>\n \n \n\n\n\n<tr>\n <th colspan=\"2\" scope=\"row\" class=\"row-header\">Generated using version 0.5.6 of the sample-content-ig Liquid templates</th>\n</tr>\n\n </tbody>\n </table>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-softwaresystem",
"valueReference" : {
"reference" : "Device/cqf-tooling"
}
}
],
"url" : "https://madie.cms.gov/Library/CMS137FHIRSUDTxInitEngagement",
"version" : "1.1.000",
"name" : "CMS137FHIRSUDTxInitEngagement",
"status" : "draft",
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2026-09-19T16:31:14+00:00",
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBDTVMxMzdGSElSU1VEVHhJbml0RW5nYWdlbWVudCB2ZXJzaW9uICcxLjEuMDAwJwoKdXNpbmcgVVNRdWFsaXR5Q29yZSB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJwp1c2luZyBVU0NvcmUgdmVyc2lvbiAnNi4xLjAtZGVyaXZlZCcKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJIZWxwZXJzIHZlcnNpb24gJzQuMC4xJyBjYWxsZWQgRkhJUkhlbHBlcnMKaW5jbHVkZSBobDcuZmhpci51di5jcWwuRkhJUkNvbW1vbiB2ZXJzaW9uICcyLjAuMCcgY2FsbGVkIEZISVJDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuQ3VtdWxhdGl2ZU1lZGljYXRpb25EdXJhdGlvbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBDTUQKaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlQ29tbW9uIHZlcnNpb24gJzIuMC4wLWJhbGxvdCcgY2FsbGVkIFVTQ29yZUNvbW1vbgppbmNsdWRlIGhsNy5maGlyLnVzLmNxbC5VU0NvcmVFbGVtZW50cyB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVFbGVtZW50cwoKaW5jbHVkZSBIb3NwaWNlIHZlcnNpb24gJzcuMS4wMDAnIGNhbGxlZCBIb3NwaWNlCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KaW5jbHVkZSBVU1F1YWxpdHlDb3JlQ29tbW9uIHZlcnNpb24gJzAuMS4wLWNpYnVpbGQnIGNhbGxlZCBVU1F1YWxpdHlDb3JlQ29tbW9uCmluY2x1ZGUgU3VwcGxlbWVudGFsRGF0YUVsZW1lbnRzIHZlcnNpb24gJzYuMS4wMDAnIGNhbGxlZCBTREUKaW5jbHVkZSBTdGF0dXMgdmVyc2lvbiAnMi4xLjAwMCcgY2FsbGVkIFN0YXR1cwoKdmFsdWVzZXQgIkRldG94aWZpY2F0aW9uIFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDU5Jwp2YWx1ZXNldCAiRGlzY2hhcmdlIFNlcnZpY2VzIEhvc3BpdGFsIElucGF0aWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAwNycKdmFsdWVzZXQgIkRpc2NoYXJnZSBTZXJ2aWNlcyBIb3NwaXRhbCBJbnBhdGllbnQgU2FtZSBEYXkgRGlzY2hhcmdlIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA2Jwp2YWx1ZXNldCAiRW1lcmdlbmN5IERlcGFydG1lbnQgRXZhbHVhdGlvbiBhbmQgTWFuYWdlbWVudCBWaXNpdCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTAxMCcKdmFsdWVzZXQgIkluaXRpYWwgSG9zcGl0YWwgSW5wYXRpZW50IFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDA0Jwp2YWx1ZXNldCAiT2ZmaWNlIFZpc2l0IjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjEwMS4xMi4xMDAxJwp2YWx1ZXNldCAiUHN5Y2ggVmlzaXQgUHN5Y2hvdGhlcmFweSI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy41MjYuMy4xNDk2Jwp2YWx1ZXNldCAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDYuMTIuMTAwMScKdmFsdWVzZXQgIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgTG9uZyBBY3RpbmcgTWVkaWNhdGlvbiI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMTQ5Jwp2YWx1ZXNldCAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciBMb25nIEFjdGluZyBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExNTYnCnZhbHVlc2V0ICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIFNob3J0IEFjdGluZyBNZWRpY2F0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExNTAnCnZhbHVlc2V0ICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIFNob3J0IEFjdGluZyBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzg4My4zLjQ2NC4xMDAzLjExNTcnCnZhbHVlc2V0ICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIFRyZWF0bWVudCI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDYuMTIuMTAwNScKdmFsdWVzZXQgIlRlbGVwaG9uZSBWaXNpdHMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNDY0LjEwMDMuMTAxLjEyLjEwODAnCnZhbHVlc2V0ICJWaXJ0dWFsIEVuY291bnRlciI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM4ODMuMy40NjQuMTAwMy4xMDEuMTIuMTA4OScKCnBhcmFtZXRlciAiTWVhc3VyZW1lbnQgUGVyaW9kIiBJbnRlcnZhbDxEYXRlVGltZT4KICBkZWZhdWx0IEludGVydmFsW0AyMDI2LTAxLTAxVDAwOjAwOjAwLjAwMFosIEAyMDI3LTAxLTAxVDAwOjAwOjAwLjAwMFopCgpjb250ZXh0IFBhdGllbnQKCmRlZmluZSAiSW5pdGlhbCBQb3B1bGF0aW9uIjoKICBBZ2VJblllYXJzQXQoZGF0ZSBmcm9tIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSA+PSAxMwogICAgYW5kICJGaXJzdCBTVUQgRXBpc29kZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBpcyBub3QgbnVsbAogICAgYW5kIG5vdCBleGlzdHMgIkhpc3Rvcnkgb2YgU1VEIERpYWdub3NpcyBvciBUcmVhdG1lbnQiCgpkZWZpbmUgIkZpcnN0IFNVRCBFcGlzb2RlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiOgogIEZpcnN0KCgiUXVhbGlmeWluZyBFbmNvdW50ZXJzIikgVmFsaWRFbmNvdW50ZXJzCiAgICAgIHdpdGgoKFtDb25kaXRpb25FbmNvdW50ZXJEaWFnbm9zaXM6ICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIl0pLnZlcmlmaWVkKCkpIFNVRERpYWdub3NpcwogICAgICAgIHN1Y2ggdGhhdCBWYWxpZEVuY291bnRlcnMucGVyaW9kIGR1cmluZyAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICAgICAgYW5kIFNVRERpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIHN0YXJ0cyBkdXJpbmcgVmFsaWRFbmNvdW50ZXJzLnBlcmlvZAogICAgICAgICAgYW5kIFNVRERpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIHN0YXJ0cyA0NyBkYXlzIG9yIG1vcmUgYmVmb3JlIGRheSBvZiAKICAgICAgICAgIGVuZCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIgogICAgICByZXR1cm4gewogICAgICAgIFZhbGlkRW5jb3VudGVyRGF0ZTogZGF0ZSBmcm9tIHN0YXJ0IG9mIFZhbGlkRW5jb3VudGVycy5wZXJpb2QsCiAgICAgICAgVmFsaWRFbmNvdW50ZXI6IFZhbGlkRW5jb3VudGVycwogICAgICB9CiAgICAgIHNvcnQgYnkgVmFsaWRFbmNvdW50ZXJEYXRlCiAgKS5WYWxpZEVuY291bnRlcgoKZGVmaW5lICJRdWFsaWZ5aW5nIEVuY291bnRlcnMiOgogICggW0VuY291bnRlcjogIk9mZmljZSBWaXNpdCJdCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJFbWVyZ2VuY3kgRGVwYXJ0bWVudCBFdmFsdWF0aW9uIGFuZCBNYW5hZ2VtZW50IFZpc2l0Il0KICAgICAgdW5pb24gW0VuY291bnRlcjogIkRldG94aWZpY2F0aW9uIFZpc2l0Il0KICAgICAgdW5pb24gW0VuY291bnRlcjogIkluaXRpYWwgSG9zcGl0YWwgSW5wYXRpZW50IFZpc2l0Il0KICAgICAgdW5pb24gW0VuY291bnRlcjogIkRpc2NoYXJnZSBTZXJ2aWNlcyBIb3NwaXRhbCBJbnBhdGllbnQgU2FtZSBEYXkgRGlzY2hhcmdlIl0KICAgICAgdW5pb24gW0VuY291bnRlcjogIkRpc2NoYXJnZSBTZXJ2aWNlcyBIb3NwaXRhbCBJbnBhdGllbnQiXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiVGVsZXBob25lIFZpc2l0cyJdCiAgICAgIHVuaW9uIFtFbmNvdW50ZXI6ICJWaXJ0dWFsIEVuY291bnRlciJdCiAgKS5pc0VuY291bnRlclBlcmZvcm1lZCAoICkKCmRlZmluZSAiSGlzdG9yeSBvZiBTVUQgRGlhZ25vc2lzIG9yIFRyZWF0bWVudCI6CiAgKCAoICggW1Byb2NlZHVyZTogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgVHJlYXRtZW50Il0KICAgICAgICB1bmlvbiBbUHJvY2VkdXJlOiAiUHN5Y2ggVmlzaXQgUHN5Y2hvdGhlcmFweSJdCiAgICAgICAgdW5pb24gW1Byb2NlZHVyZTogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgTG9uZyBBY3RpbmcgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiJdCiAgICAgICAgdW5pb24gW1Byb2NlZHVyZTogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgU2hvcnQgQWN0aW5nIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iXQogICAgKS5pc0ludGVydmVudGlvblBlcmZvcm1lZCAoICkgKSBJbnRlcnZlbnRpb25zCiAgICAgIHdpdGggIkZpcnN0IFNVRCBFcGlzb2RlIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIEZpcnN0U1VERXBpc29kZQogICAgICAgIHN1Y2ggdGhhdCBJbnRlcnZlbnRpb25zLnBlcmZvcm1lZC50b0ludGVydmFsICggKSBzdGFydHMgNjAgZGF5cyBvciBsZXNzIGJlZm9yZSBkYXkgb2YgZGF0ZSBmcm9tIHN0YXJ0IG9mIEZpcnN0U1VERXBpc29kZS5wZXJpb2QKICApCiAgICB1bmlvbiAoICggKCAiUXVhbGlmeWluZyBFbmNvdW50ZXJzIgogICAgICAgIGV4Y2VwdCAiRW1lcmdlbmN5IERlcGFydG1lbnQgb3IgRGV0b3hpZmljYXRpb24gVmlzaXQiICkgUXVhbGlmeWluZ0VuY291bnRlcgogICAgICAgIHdoZXJlIFF1YWxpZnlpbmdFbmNvdW50ZXIuZW5jb3VudGVyRGlhZ25vc2lzICggKS5jb2RlIGluICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIiApIFNVREVuY291bnRlckR4CiAgICAgICAgd2l0aCAiRmlyc3QgU1VEIEVwaXNvZGUgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgRmlyc3RTVURFcGlzb2RlCiAgICAgICAgICBzdWNoIHRoYXQgU1VERW5jb3VudGVyRHgucGVyaW9kIHN0YXJ0cyA2MCBkYXlzIG9yIGxlc3MgYmVmb3JlIGRheSBvZiBkYXRlIGZyb20gc3RhcnQgb2YgRmlyc3RTVURFcGlzb2RlLnBlcmlvZAogICAgKQogICAgdW5pb24gKCAoICggW01lZGljYXRpb25SZXF1ZXN0OiAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciBMb25nIEFjdGluZyBNZWRpY2F0aW9uIl0KICAgICAgICAgIHVuaW9uIFtNZWRpY2F0aW9uUmVxdWVzdDogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgU2hvcnQgQWN0aW5nIE1lZGljYXRpb24iXQogICAgICApLmlzTWVkaWNhdGlvbk9yZGVyICggKSApIFNVRE1lZGljYXRpb24KICAgICAgICB3aXRoICJGaXJzdCBTVUQgRXBpc29kZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBGaXJzdFNVREVwaXNvZGUKICAgICAgICAgIHN1Y2ggdGhhdCBTVURNZWRpY2F0aW9uLmF1dGhvcmVkT24gNjAgZGF5cyBvciBsZXNzIGJlZm9yZSBkYXkgb2YgZGF0ZSBmcm9tIHN0YXJ0IG9mIEZpcnN0U1VERXBpc29kZS5wZXJpb2QKICAgICkKCmRlZmluZSAiRW1lcmdlbmN5IERlcGFydG1lbnQgb3IgRGV0b3hpZmljYXRpb24gVmlzaXQiOgogICggW0VuY291bnRlcjogIkVtZXJnZW5jeSBEZXBhcnRtZW50IEV2YWx1YXRpb24gYW5kIE1hbmFnZW1lbnQgVmlzaXQiXQogICAgICB1bmlvbiBbRW5jb3VudGVyOiAiRGV0b3hpZmljYXRpb24gVmlzaXQiXQogICkuaXNFbmNvdW50ZXJQZXJmb3JtZWQgKCApCgpkZWZpbmUgIkRlbm9taW5hdG9yIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIgoKZGVmaW5lICJEZW5vbWluYXRvciBFeGNsdXNpb25zIjoKICBIb3NwaWNlLiJIYXMgSG9zcGljZSBTZXJ2aWNlcyIKCmRlZmluZSAiTnVtZXJhdG9yIDEiOgogIGV4aXN0cyAiVHJlYXRtZW50IEluaXRpYXRpb24gV2l0aCBOb24gTWVkaWNhdGlvbiBJbnRlcnZlbnRpb24gRGF0ZXMiCiAgICBvciBleGlzdHMgIlRyZWF0bWVudCBJbml0aWF0aW9uIFdpdGggTWVkaWNhdGlvbiBPcmRlciBEYXRlcyIKCmRlZmluZSAiVHJlYXRtZW50IEluaXRpYXRpb24gV2l0aCBOb24gTWVkaWNhdGlvbiBJbnRlcnZlbnRpb24gRGF0ZXMiOgogICggIlBzeWNob3NvY2lhbCBWaXNpdCIgUHN5Y2hvc29jaWFsVmlzaXRQcm9jZWR1cmUKICAgICAgbGV0IHRyZWF0bWVudERhdGU6IGRhdGUgZnJvbSBzdGFydCBvZiBQc3ljaG9zb2NpYWxWaXNpdFByb2NlZHVyZS5wZXJmb3JtZWQudG9JbnRlcnZhbCAoICkKICAgICAgd2l0aCAiRmlyc3QgU1VEIEVwaXNvZGUgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgRmlyc3RTVURFcGlzb2RlCiAgICAgICAgc3VjaCB0aGF0IHRyZWF0bWVudERhdGUgZHVyaW5nIEludGVydmFsW2RhdGUgZnJvbSBzdGFydCBvZiBGaXJzdFNVREVwaXNvZGUucGVyaW9kLCBkYXRlIGZyb20gc3RhcnQgb2YgRmlyc3RTVURFcGlzb2RlLnBlcmlvZCArIDE0IGRheXMgKQogICAgICAgICAgYW5kIFBzeWNob3NvY2lhbFZpc2l0UHJvY2VkdXJlLmlkICF+IEZpcnN0U1VERXBpc29kZS5pZAogICAgICByZXR1cm4gYWxsIHRyZWF0bWVudERhdGUKICApCiAgICB1bmlvbiAoICJQc3ljaG9zb2NpYWwgVmlzaXQiIFBzeWNob3NvY2lhbFZpc2l0RW5jb3VudGVyCiAgICAgICAgbGV0IHRyZWF0bWVudERhdGU6IGRhdGUgZnJvbSBzdGFydCBvZiBQc3ljaG9zb2NpYWxWaXNpdEVuY291bnRlci5wZXJpb2QKICAgICAgICB3aXRoICJGaXJzdCBTVUQgRXBpc29kZSBEdXJpbmcgTWVhc3VyZW1lbnQgUGVyaW9kIiBGaXJzdFNVREVwaXNvZGUKICAgICAgICAgIHN1Y2ggdGhhdCB0cmVhdG1lbnREYXRlIGR1cmluZyBJbnRlcnZhbFtkYXRlIGZyb20gc3RhcnQgb2YgRmlyc3RTVURFcGlzb2RlLnBlcmlvZCwgZGF0ZSBmcm9tIHN0YXJ0IG9mIEZpcnN0U1VERXBpc29kZS5wZXJpb2QgKyAxNCBkYXlzICkKICAgICAgICAgICAgYW5kIFBzeWNob3NvY2lhbFZpc2l0RW5jb3VudGVyLmlkICF+IEZpcnN0U1VERXBpc29kZS5pZAogICAgICAgIHJldHVybiBhbGwgdHJlYXRtZW50RGF0ZQogICAgKQoKZGVmaW5lICJQc3ljaG9zb2NpYWwgVmlzaXQiOgogICggKCBbUHJvY2VkdXJlOiAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciBUcmVhdG1lbnQiXQogICAgICAgIHVuaW9uIFtQcm9jZWR1cmU6ICJQc3ljaCBWaXNpdCBQc3ljaG90aGVyYXB5Il0KICAgICkuaXNJbnRlcnZlbnRpb25QZXJmb3JtZWQgKCApCiAgKQogICAgdW5pb24gKCAoIFtFbmNvdW50ZXI6ICJUZWxlcGhvbmUgVmlzaXRzIl0KICAgICAgICB1bmlvbiBbRW5jb3VudGVyOiAiVmlydHVhbCBFbmNvdW50ZXIiXQogICAgKS5pc0VuY291bnRlclBlcmZvcm1lZCAoICkgKSBUZWxlaGVhbHRoRW5jb3VudGVyCiAgICAgIHdoZXJlIFRlbGVoZWFsdGhFbmNvdW50ZXIuZW5jb3VudGVyRGlhZ25vc2lzICggKS5jb2RlIGluICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIgoKZGVmaW5lICJUcmVhdG1lbnQgSW5pdGlhdGlvbiBXaXRoIE1lZGljYXRpb24gT3JkZXIgRGF0ZXMiOgogICggKCAoIFtNZWRpY2F0aW9uUmVxdWVzdDogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgU2hvcnQgQWN0aW5nIE1lZGljYXRpb24iXQogICAgICAgIHVuaW9uIFtNZWRpY2F0aW9uUmVxdWVzdDogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgTG9uZyBBY3RpbmcgTWVkaWNhdGlvbiJdCiAgICApLmlzTWVkaWNhdGlvbk9yZGVyICggKSApIFNVRE1lZGljYXRpb24KICAgICAgbGV0IHRyZWF0bWVudERhdGU6IGRhdGUgZnJvbSBzdGFydCBvZiBTVURNZWRpY2F0aW9uLmF1dGhvcmVkT24udG9JbnRlcnZhbCAoICkKICAgICAgd2l0aCAiRmlyc3QgU1VEIEVwaXNvZGUgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgRmlyc3RTVURFcGlzb2RlCiAgICAgICAgc3VjaCB0aGF0IHRyZWF0bWVudERhdGUgZHVyaW5nIEludGVydmFsW2RhdGUgZnJvbSBzdGFydCBvZiBGaXJzdFNVREVwaXNvZGUucGVyaW9kLCBkYXRlIGZyb20gc3RhcnQgb2YgRmlyc3RTVURFcGlzb2RlLnBlcmlvZCArIDE0IGRheXMgKQogICAgICByZXR1cm4gYWxsIHRyZWF0bWVudERhdGUKICApCiAgICB1bmlvbiAoICggKCBbUHJvY2VkdXJlOiAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciBTaG9ydCBBY3RpbmcgTWVkaWNhdGlvbiBBZG1pbmlzdHJhdGlvbiJdCiAgICAgICAgICB1bmlvbiBbUHJvY2VkdXJlOiAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciBMb25nIEFjdGluZyBNZWRpY2F0aW9uIEFkbWluaXN0cmF0aW9uIl0KICAgICAgKS5pc1Byb2NlZHVyZVBlcmZvcm1lZCAoICkgKSBTVURNZWRBZG1pbmlzdHJhdGlvbgogICAgICAgIGxldCB0cmVhdG1lbnREYXRlOiBkYXRlIGZyb20gc3RhcnQgb2YgU1VETWVkQWRtaW5pc3RyYXRpb24ucGVyZm9ybWVkLnRvSW50ZXJ2YWwgKCApCiAgICAgICAgd2l0aCAiRmlyc3QgU1VEIEVwaXNvZGUgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCIgRmlyc3RTVURFcGlzb2RlCiAgICAgICAgICBzdWNoIHRoYXQgdHJlYXRtZW50RGF0ZSBkdXJpbmcgSW50ZXJ2YWxbZGF0ZSBmcm9tIHN0YXJ0IG9mIEZpcnN0U1VERXBpc29kZS5wZXJpb2QsIGRhdGUgZnJvbSBzdGFydCBvZiBGaXJzdFNVREVwaXNvZGUucGVyaW9kICsgMTQgZGF5cyApCiAgICAgICAgcmV0dXJuIGFsbCB0cmVhdG1lbnREYXRlCiAgICApCgpkZWZpbmUgIkhhcyBUd28gb3IgTW9yZSBUcmVhdG1lbnQgRW5nYWdlbWVudHMgV2l0aCBTaG9ydCBBY3RpbmcgTWVkaWNhdGlvbiBvciBOb24gTWVkaWNhdGlvbiBJbnRlcnZlbnRpb24iOgogIENvdW50KCgoIlBzeWNob3NvY2lhbCBWaXNpdCIKICAgICAgICB1bmlvbigoW1Byb2NlZHVyZTogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgU2hvcnQgQWN0aW5nIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iXSkuaXNQcm9jZWR1cmVQZXJmb3JtZWQoKSkpIFNob3J0QWN0aW5nVHJlYXRtZW50CiAgICAgICAgd2l0aChNaW4oIlRyZWF0bWVudCBJbml0aWF0aW9uIFdpdGggTm9uIE1lZGljYXRpb24gSW50ZXJ2ZW50aW9uIERhdGVzIgogICAgICAgICAgICB1bmlvbiAiVHJlYXRtZW50IEluaXRpYXRpb24gV2l0aCBNZWRpY2F0aW9uIE9yZGVyIERhdGVzIgogICAgICAgICkpIEluaXRpYXRpb25UcmVhdG1lbnREYXRlCiAgICAgICAgICBzdWNoIHRoYXQgZGF0ZSBmcm9tIHN0YXJ0IG9mIFNob3J0QWN0aW5nVHJlYXRtZW50LnBlcmZvcm1lZC50b0ludGVydmFsKCkgMzQgZGF5cyBvciBsZXNzIGFmdGVyIEluaXRpYXRpb25UcmVhdG1lbnREYXRlCiAgICAgICAgICAgIG9yIGRhdGUgZnJvbSBzdGFydCBvZiBTaG9ydEFjdGluZ1RyZWF0bWVudC5wZXJpb2QgMzQgZGF5cyBvciBsZXNzIGFmdGVyIEluaXRpYXRpb25UcmVhdG1lbnREYXRlCiAgICAgICAgcmV0dXJuIGFsbCBTaG9ydEFjdGluZ1RyZWF0bWVudAogICAgKQogICAgICB1bmlvbigoKFtNZWRpY2F0aW9uUmVxdWVzdDogIlN1YnN0YW5jZSBVc2UgRGlzb3JkZXIgU2hvcnQgQWN0aW5nIE1lZGljYXRpb24iXSkuaXNNZWRpY2F0aW9uT3JkZXIoKSkgU2hvcnRBY3RpbmdNZWRPcmRlcgogICAgICAgICAgd2l0aChNaW4oIlRyZWF0bWVudCBJbml0aWF0aW9uIFdpdGggTm9uIE1lZGljYXRpb24gSW50ZXJ2ZW50aW9uIERhdGVzIgogICAgICAgICAgICAgIHVuaW9uICJUcmVhdG1lbnQgSW5pdGlhdGlvbiBXaXRoIE1lZGljYXRpb24gT3JkZXIgRGF0ZXMiCiAgICAgICAgICApKSBJbml0aWF0aW9uVHJlYXRtZW50RGF0ZQogICAgICAgICAgICBzdWNoIHRoYXQgZGF0ZSBmcm9tIHN0YXJ0IG9mIFNob3J0QWN0aW5nTWVkT3JkZXIuYXV0aG9yZWRPbi50b0ludGVydmFsKCkgMzQgZGF5cyBvciBsZXNzIGFmdGVyIEluaXRpYXRpb25UcmVhdG1lbnREYXRlCiAgICAgICAgICByZXR1cm4gYWxsIFNob3J0QWN0aW5nTWVkT3JkZXIKICAgICAgKQogICkgPj0gMgoKZGVmaW5lICJOdW1lcmF0b3IgMiI6CiAgIkhhcyBUcmVhdG1lbnQgRW5nYWdlbWVudCBXaXRoIExvbmcgQWN0aW5nIE1lZGljYXRpb24iCiAgICBvciAiSGFzIFR3byBvciBNb3JlIFRyZWF0bWVudCBFbmdhZ2VtZW50cyBXaXRoIFNob3J0IEFjdGluZyBNZWRpY2F0aW9uIG9yIE5vbiBNZWRpY2F0aW9uIEludGVydmVudGlvbiIKCmRlZmluZSAiSGFzIFRyZWF0bWVudCBFbmdhZ2VtZW50IFdpdGggTG9uZyBBY3RpbmcgTWVkaWNhdGlvbiI6CiAgZXhpc3RzICggKCAoICggW01lZGljYXRpb25SZXF1ZXN0OiAiU3Vic3RhbmNlIFVzZSBEaXNvcmRlciBMb25nIEFjdGluZyBNZWRpY2F0aW9uIl0gKS5pc01lZGljYXRpb25PcmRlciAoICkgKSBMb25nQWN0aW5nTWVkT3JkZXIKICAgICAgICB3aXRoICggTWluKCJUcmVhdG1lbnQgSW5pdGlhdGlvbiBXaXRoIE5vbiBNZWRpY2F0aW9uIEludGVydmVudGlvbiBEYXRlcyIKICAgICAgICAgICAgdW5pb24gIlRyZWF0bWVudCBJbml0aWF0aW9uIFdpdGggTWVkaWNhdGlvbiBPcmRlciBEYXRlcyIKICAgICAgICApICkgSW5pdGlhdGlvblRyZWF0bWVudERhdGUKICAgICAgICAgIHN1Y2ggdGhhdCBkYXRlIGZyb20gc3RhcnQgb2YgTG9uZ0FjdGluZ01lZE9yZGVyLmF1dGhvcmVkT24udG9JbnRlcnZhbCAoICkgMzQgZGF5cyBvciBsZXNzIGFmdGVyIEluaXRpYXRpb25UcmVhdG1lbnREYXRlCiAgICApCiAgICAgIHVuaW9uICggKCAoIFtQcm9jZWR1cmU6ICJTdWJzdGFuY2UgVXNlIERpc29yZGVyIExvbmcgQWN0aW5nIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iXSApLmlzUHJvY2VkdXJlUGVyZm9ybWVkICggKSApIExvbmdBY3RpbmdUcmVhdG1lbnQKICAgICAgICAgIHdpdGggKCBNaW4oIlRyZWF0bWVudCBJbml0aWF0aW9uIFdpdGggTm9uIE1lZGljYXRpb24gSW50ZXJ2ZW50aW9uIERhdGVzIgogICAgICAgICAgICAgIHVuaW9uICJUcmVhdG1lbnQgSW5pdGlhdGlvbiBXaXRoIE1lZGljYXRpb24gT3JkZXIgRGF0ZXMiCiAgICAgICAgICApICkgSW5pdGlhdGlvblRyZWF0bWVudERhdGUKICAgICAgICAgICAgc3VjaCB0aGF0IGRhdGUgZnJvbSBzdGFydCBvZiBMb25nQWN0aW5nVHJlYXRtZW50LnBlcmZvcm1lZC50b0ludGVydmFsICggKSAzNCBkYXlzIG9yIGxlc3MgYWZ0ZXIgSW5pdGlhdGlvblRyZWF0bWVudERhdGUKICAgICAgKQogICkKCmRlZmluZSAiU0RFIEV0aG5pY2l0eSI6CiAgU0RFLiJTREUgRXRobmljaXR5IgoKZGVmaW5lICJTREUgUGF5ZXIiOgogIFNERS4iU0RFIFBheWVyIgoKZGVmaW5lICJTREUgUmFjZSI6CiAgU0RFLiJTREUgUmFjZSIKCmRlZmluZSAiU0RFIFNleCI6CiAgU0RFLiJTREUgU2V4IgoKZGVmaW5lICJTdHJhdGlmaWNhdGlvbiAxIjoKICBBZ2VJblllYXJzQXQoZGF0ZSBmcm9tIHN0YXJ0IG9mICJNZWFzdXJlbWVudCBQZXJpb2QiKSBpbiBJbnRlcnZhbFsxMywgMTddCgpkZWZpbmUgIlN0cmF0aWZpY2F0aW9uIDIiOgogIEFnZUluWWVhcnNBdChkYXRlIGZyb20gc3RhcnQgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIpIGluIEludGVydmFsWzE4LCA2NF0KCmRlZmluZSAiU3RyYXRpZmljYXRpb24gMyI6CiAgQWdlSW5ZZWFyc0F0KGRhdGUgZnJvbSBzdGFydCBvZiAiTWVhc3VyZW1lbnQgUGVyaW9kIikgPj0gNjU=",
"url" : "https://madie.cms.gov/Library-CMS137FHIRSUDTxInitEngagement.cql"
}
]
}