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
| Active as of 2025-08-21 |
{
"resourceType" : "Library",
"id" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-computablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-executablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-json-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/elm-xml-library"
]
},
"language" : "en",
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Title</th>\n\n\n\n<td class=\"content-container\">NHSNGlycemicControlHypoglycemiaInitialPopulation</td>\n\n\n</tr>\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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Identifier</th>\n\n\n\n<td class=\"content-container\">NHSNGlycemicControlHypoglycemiaInitialPopulation</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<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Topic</th>\n\n\n\n<td class=\"content-container\">FHIR\n</td>\n\n\n</tr>\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Topic</th>\n\n\n\n<td class=\"content-container\">CQL\n</td>\n\n\n</tr>\n\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Steward (Publisher)</th>\n\n\n\n<td class=\"content-container\">Centers for Disease Control and Prevention (CDC)</td>\n\n\n</tr>\n\n\n\n\n\n\n\n<tr>\n\n\n<th scope=\"row\" class=\"row-header\">Description</th>\n\n\n\n<td class=\"content-container\"><div><p>NHSNGlycemicControlHypoglycemiaInitialPopulation</p>\n</div></td>\n\n\n</tr>\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 NHSNGlycemicControlHypoglycemiaInitialPopulation 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.USCoreCommon version '2.0.0-ballot' called USCoreCommon\ninclude hl7.fhir.us.cql.USCoreElements version '2.0.0-ballot' called USCoreElements\n\ninclude USQualityCoreCommon version '0.1.0-cibuild' called USQualityCoreCommon\ninclude SupplementalDataElements version '6.1.000' called SDE\ninclude CQMCommon version '5.1.000' called CQMCommon\n\ncodesystem "ActCode": 'http://terminology.hl7.org/CodeSystem/v3-ActCode'\ncodesystem "HSLOC": 'https://www.cdc.gov/nhsn/cdaportal/terminology/codesystem/hsloc.html'\ncodesystem "LOINC": 'http://loinc.org'\ncodesystem "RxNorm": 'https://www.nlm.nih.gov/research/umls/rxnorm/index.html'\ncodesystem "SNOMEDCT": 'http://snomed.info/sct'\n\nvalueset "Blood Glucose Laboratory and Point of Care Tests": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.38'\nvalueset "Diabetes Medications": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1190.58'\nvalueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'\nvalueset "Inpatient, Emergency, and Observation Locations": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.265'\nvalueset "NHSN Inpatient Encounter Class Codes": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113762.1.4.1046.274'\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\n// Initial Population\n\n\ndefine "Initial Population":\n ( "Inpatient Encounters During Measurement Period"\n union "Encounters with Patient Hospital Locations" ) InpatientEncounters\n with "Antidiabetic Drugs Administered or Ordered" ADD\n such that Coalesce(start of ADD.effective.toInterval(), ADD.authoredOn) during InpatientEncounters."hospitalizationWithObservation" ( )\n where ( InpatientEncounters.status = 'finished'\n or InpatientEncounters.status = 'in-progress'\n or InpatientEncounters.status = 'triaged'\n or InpatientEncounters.status = 'onleave'\n or InpatientEncounters.status = 'entered-in-error'\n )\n\ndefine "Inpatient Encounters During Measurement Period":\n [Encounter: "Encounter Inpatient"] InpatientEncounters\n where InpatientEncounters.period ends during day of "Measurement Period"\n and ( InpatientEncounters.class ~ USQualityCoreCommon."inpatient non-acute"\n or InpatientEncounters.class ~ USQualityCoreCommon."inpatient non-acute"\n or InpatientEncounters.class ~ USQualityCoreCommon."short stay"\n or InpatientEncounters.class ~ USQualityCoreCommon."inpatient acute"\n or InpatientEncounters.class ~ USQualityCoreCommon."inpatient encounter"\n )\n\ndefine "Encounters with Patient Hospital Locations":\n "Inpatient Encounters During Measurement Period" InpatientEncounter\n where exists ( InpatientEncounter.location HospitalLocation\n where HospitalLocation.location.getLocation ( ).type in "Inpatient, Emergency, and Observation Locations"\n and HospitalLocation.period during day of InpatientEncounter.period\n )\n\ndefine "Antidiabetic Drugs Administered or Ordered":\n ( "MedicationRequests"\n union "MedicationAdministrations" ) MedReqOrAdmin\n where MedReqOrAdmin.getMedicationCode() in "Diabetes Medications"\n\n//Supplemental Data Elements\n\n\ndefine "SDE Blood Glucose Observation":\n ( ["LaboratoryResultObservation": "Blood Glucose Laboratory and Point of Care Tests"] GlucoseTest\n where exists ( "Initial Population" InitialPopulation\n where start of GlucoseTest.effective.toInterval ( ) during day of InitialPopulation.period\n or GlucoseTest.issued during day of InitialPopulation.period\n )\n return { GlucoseTest.id, GlucoseTest.extension, GlucoseTest.text, GlucoseTest.referenceRange, GlucoseTest.component, GlucoseTest.basedOn, GlucoseTest.partOf, GlucoseTest.category, GlucoseTest.status, GlucoseTest.subject, GlucoseTest.focus, GlucoseTest.encounter, GlucoseTest.effective, GlucoseTest.issued, GlucoseTest.performer, GlucoseTest.value, GlucoseTest.dataAbsentReason, GlucoseTest.interpretation, GlucoseTest.note, GlucoseTest.bodySite, GlucoseTest.method, GlucoseTest.specimen, GlucoseTest.device, GlucoseTest.hasMember, GlucoseTest.derivedFrom }\n )\n\ndefine "SDE Chief Complaint":\n "Initial Population" IP\n where exists ( IP.diagnosis InitialPopulationDiagnosis\n where InitialPopulationDiagnosis.use ~ FHIRCommon."CC"\n )\n return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }\n\ndefine "Conditions":\n ["ConditionProblemsHealthConcerns"]\n union ["ConditionEncounterDiagnosis"]\n\ndefine "SDE Condition":\n ["ConditionProblemsHealthConcerns"] Diagnosis\n where exists ( "Initial Population" IP\n where Diagnosis.prevalenceInterval ( ) overlaps day of IP.period\n )\n return { Diagnosis.id, Diagnosis.meta, Diagnosis.clinicalStatus, Diagnosis.verificationStatus, Diagnosis.category, Diagnosis.severity, Diagnosis.code, Diagnosis.bodySite, Diagnosis.subject, Diagnosis.encounter.reference.getId(), Diagnosis.onset, Diagnosis.stage, Diagnosis.evidence, Diagnosis.note }\n\ndefine "SDE Coverage":\n [Coverage] Coverages\n where exists ( "Initial Population" IP\n where Coverages.period starts before or on day of IP.period\n and end of Coverages.period on or after day of end of IP.period\n )\n return { Coverages.id, Coverages.meta, Coverages.status, Coverages.type, Coverages.policyHolder, Coverages.subscriber, Coverages.subscriberId, Coverages.beneficiary, Coverages.dependent, Coverages.relationship, Coverages.period, Coverages.payor, Coverages.class, Coverages.order, Coverages.network, Coverages.subrogation, Coverages.contract }\n\ndefine "Encounters":\n [Encounter]\n\ndefine "SDE Encounter Locations":\n "Initial Population" IP\n where exists ( IP.location InitialPopulationLocation\n let types: ( InitialPopulationLocation.location ).getLocation ( ).type\n where exists ( types type\n where type in "Inpatient, Emergency, and Observation Locations"\n )\n and InitialPopulationLocation.period during IP.period\n )\n return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }\n\ndefine "Get Locations from Initial Population":\n flatten ( "Initial Population" IP\n let locationElements: IP.location\n return locationElements LE\n let locationReference: LE.location\n return ( locationReference.getLocation ( ) )\n )\n\ndefine "SDE Location":\n "Get Locations from Initial Population" Locations\n where exists "Initial Population"\n and Locations is not null\n return { Locations.id, Locations.meta, Locations.extension, Locations.status, Locations.operationalStatus, Locations.name, Locations.alias, Locations.description, Locations.mode, Locations.type, Locations.telecom, Locations.address, Locations.physicalType, Locations.position, Locations.managingOrganization, Locations.partOf, Locations.hoursOfOperation, Locations.availabilityExceptions, Locations.endpoint }\n\ndefine "SDE Initial Population Encounters":\n "Initial Population" IP\n return { IP.id, IP.meta, IP.identifier, IP.status, IP.statusHistory, IP.class, IP.classHistory, IP.type, IP.serviceType, IP.priority, IP.subject, IP.period, IP.length, IP.reasonCode, IP.reasonReference, IP.diagnosis, IP.account, IP.hospitalization, IP.location, IP.partOf }\n\ndefine "SDE Medication":\n ( "MedicationRequests"\n union "MedicationAdministrations" ) MedReqOrAdmin\n let medication: GetMedication(MedReqOrAdmin.medication as Reference)\n where medication is not null\n and exists ( "Initial Population" IP\n where Coalesce(MedReqOrAdmin.effective.toInterval(), MedReqOrAdmin.authoredOn.toInterval()) overlaps IP."hospitalizationWithObservation" ( )\n )\n return { medication.id, medication.meta, medication.code, medication.status, medication.manufacturer, medication.form, medication.amount, medication.ingredient, medication.batch }\n\ndefine function "GetMedication"(reference Reference):\n singleton from ( [Medication] Medication\n where reference.references ( Medication )\n )\n\ndefine "MedicationAdministrations":\n [MedicationAdministration]\n\ndefine "SDE Medication Administration":\n "MedicationAdministrations" MedAdministrations\n where exists ( "Initial Population" InitialPopulation\n where MedAdministrations.effective.toInterval ( ) overlaps InitialPopulation."hospitalizationWithObservation" ( )\n )\n return { MedAdministrations.id, MedAdministrations.meta, MedAdministrations.instantiates, MedAdministrations.partOf, MedAdministrations.status, MedAdministrations.statusReason, MedAdministrations.category, MedAdministrations.medication, MedAdministrations.subject, MedAdministrations.context, MedAdministrations.supportingInformation, MedAdministrations.effective, MedAdministrations.performer, MedAdministrations.reasonCode, MedAdministrations.reasonReference, MedAdministrations.request, MedAdministrations.device, MedAdministrations.note, MedAdministrations.dosage }\n\ndefine "MedicationRequests":\n [MedicationRequest]\n\ndefine "SDE Medication Request":\n "MedicationRequests" MedRequests\n where exists ( "Initial Population" InitialPopulation\n where MedRequests.authoredOn during InitialPopulation."hospitalizationWithObservation" ( )\n )\n return { MedRequests.id, MedRequests.meta, MedRequests.status, MedRequests.statusReason, MedRequests.intent, MedRequests.category, MedRequests.priority, MedRequests.doNotPerform, MedRequests.reported, MedRequests.medication, MedRequests.subject, MedRequests.encounter, MedRequests.authoredOn, MedRequests.requester, MedRequests.recorder, MedRequests.reasonCode, MedRequests.reasonReference, MedRequests.instantiatesCanonical, MedRequests.instantiatesUri, MedRequests.courseOfTherapyType, MedRequests.dosageInstruction }\n\ndefine "SDE Minimal Patient":\n [Patient] MinPt\n where exists "Initial Population"\n return { MinPt.id, MinPt.meta, MinPt.extension, MinPt.identifier, MinPt.active, MinPt.name, MinPt.telecom, MinPt.gender, MinPt.birthDate, MinPt.deceased, MinPt.address, MinPt.maritalStatus, MinPt.multipleBirth, MinPt.photo, MinPt.contact, MinPt.communication, MinPt.generalPractitioner, MinPt.managingOrganization, MinPt.link }\n\ndefine "SDE Service Request":\n [ServiceRequest] ServiceRequests\n where exists ( "Initial Population" InitialPopulation\n where ServiceRequests.authoredOn during InitialPopulation.period\n )\n return { ServiceRequests.id, ServiceRequests.meta, ServiceRequests.instantiatesCanonical, ServiceRequests.instantiatesUri, ServiceRequests.basedOn, ServiceRequests.replaces, ServiceRequests.requisition, ServiceRequests.status, ServiceRequests.intent, ServiceRequests.category, ServiceRequests.priority, ServiceRequests.doNotPerform, ServiceRequests.code, ServiceRequests.orderDetail, ServiceRequests.quantity, ServiceRequests.subject, ServiceRequests.encounter, ServiceRequests.occurrence, ServiceRequests.asNeeded, ServiceRequests.authoredOn, ServiceRequests.requester, ServiceRequests.performerType, ServiceRequests.performer, ServiceRequests.locationCode, ServiceRequests.reasonCode, ServiceRequests.reasonReference, ServiceRequests.insurance, ServiceRequests.bodySite, ServiceRequests.note, ServiceRequests.patientInstruction }\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"</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/NHSNGlycemicControlHypoglycemiaInitialPopulation",
"identifier" : [
{
"use" : "official",
"system" : "https://madie.cms.gov/login",
"value" : "NHSNGlycemicControlHypoglycemiaInitialPopulation"
}
],
"version" : "1.1.000",
"name" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
"title" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
"status" : "active",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2025-08-21T20:27:13+00:00",
"publisher" : "Centers for Disease Control and Prevention (CDC)",
"description" : "NHSNGlycemicControlHypoglycemiaInitialPopulation",
"topic" : [
{
"text" : "FHIR"
},
{
"text" : "CQL"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "LyoKTk9URTogRm9yIHVzZSBieSBNYXJjaCAyMDI2IFVTIFJlYWxtIENvbm5lY3RhdGhvbiBwYXJ0aWNpcGFudHMgZm9yIGludGVybmFsIHVzZSBvbmx5LiBOb3QgZm9yIHVzZSBvciBkaXN0cmlidXRpb24gaW4gY29tbWVyY2lhbCBwcm9kdWN0cy4KKi8KbGlicmFyeSBOSFNOR2x5Y2VtaWNDb250cm9sSHlwb2dseWNlbWlhSW5pdGlhbFBvcHVsYXRpb24gdmVyc2lvbiAnMS4xLjAwMCcKCnVzaW5nIFVTUXVhbGl0eUNvcmUgdmVyc2lvbiAnMC4xLjAtY2lidWlsZCcKdXNpbmcgVVNDb3JlIHZlcnNpb24gJzYuMS4wLWRlcml2ZWQnCnVzaW5nIEZISVIgdmVyc2lvbiAnNC4wLjEnCgppbmNsdWRlIGhsNy5maGlyLnV2LmNxbC5GSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScgY2FsbGVkIEZISVJIZWxwZXJzCmluY2x1ZGUgaGw3LmZoaXIudXYuY3FsLkZISVJDb21tb24gdmVyc2lvbiAnMi4wLjAnIGNhbGxlZCBGSElSQ29tbW9uCmluY2x1ZGUgaGw3LmZoaXIudXMuY3FsLlVTQ29yZUNvbW1vbiB2ZXJzaW9uICcyLjAuMC1iYWxsb3QnIGNhbGxlZCBVU0NvcmVDb21tb24KaW5jbHVkZSBobDcuZmhpci51cy5jcWwuVVNDb3JlRWxlbWVudHMgdmVyc2lvbiAnMi4wLjAtYmFsbG90JyBjYWxsZWQgVVNDb3JlRWxlbWVudHMKCmluY2x1ZGUgVVNRdWFsaXR5Q29yZUNvbW1vbiB2ZXJzaW9uICcwLjEuMC1jaWJ1aWxkJyBjYWxsZWQgVVNRdWFsaXR5Q29yZUNvbW1vbgppbmNsdWRlIFN1cHBsZW1lbnRhbERhdGFFbGVtZW50cyB2ZXJzaW9uICc2LjEuMDAwJyBjYWxsZWQgU0RFCmluY2x1ZGUgQ1FNQ29tbW9uIHZlcnNpb24gJzUuMS4wMDAnIGNhbGxlZCBDUU1Db21tb24KCmNvZGVzeXN0ZW0gIkFjdENvZGUiOiAnaHR0cDovL3Rlcm1pbm9sb2d5LmhsNy5vcmcvQ29kZVN5c3RlbS92My1BY3RDb2RlJwpjb2Rlc3lzdGVtICJIU0xPQyI6ICdodHRwczovL3d3dy5jZGMuZ292L25oc24vY2RhcG9ydGFsL3Rlcm1pbm9sb2d5L2NvZGVzeXN0ZW0vaHNsb2MuaHRtbCcKY29kZXN5c3RlbSAiTE9JTkMiOiAnaHR0cDovL2xvaW5jLm9yZycKY29kZXN5c3RlbSAiUnhOb3JtIjogJ2h0dHBzOi8vd3d3Lm5sbS5uaWguZ292L3Jlc2VhcmNoL3VtbHMvcnhub3JtL2luZGV4Lmh0bWwnCmNvZGVzeXN0ZW0gIlNOT01FRENUIjogJ2h0dHA6Ly9zbm9tZWQuaW5mby9zY3QnCgp2YWx1ZXNldCAiQmxvb2QgR2x1Y29zZSBMYWJvcmF0b3J5IGFuZCBQb2ludCBvZiBDYXJlIFRlc3RzIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC4zOCcKdmFsdWVzZXQgIkRpYWJldGVzIE1lZGljYXRpb25zIjogJ2h0dHA6Ly9jdHMubmxtLm5paC5nb3YvZmhpci9WYWx1ZVNldC8yLjE2Ljg0MC4xLjExMzc2Mi4xLjQuMTE5MC41OCcKdmFsdWVzZXQgIkVuY291bnRlciBJbnBhdGllbnQiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzODgzLjMuNjY2LjUuMzA3Jwp2YWx1ZXNldCAiSW5wYXRpZW50LCBFbWVyZ2VuY3ksIGFuZCBPYnNlcnZhdGlvbiBMb2NhdGlvbnMiOiAnaHR0cDovL2N0cy5ubG0ubmloLmdvdi9maGlyL1ZhbHVlU2V0LzIuMTYuODQwLjEuMTEzNzYyLjEuNC4xMDQ2LjI2NScKdmFsdWVzZXQgIk5IU04gSW5wYXRpZW50IEVuY291bnRlciBDbGFzcyBDb2RlcyI6ICdodHRwOi8vY3RzLm5sbS5uaWguZ292L2ZoaXIvVmFsdWVTZXQvMi4xNi44NDAuMS4xMTM3NjIuMS40LjEwNDYuMjc0JwoKcGFyYW1ldGVyICJNZWFzdXJlbWVudCBQZXJpb2QiIEludGVydmFsPERhdGVUaW1lPgogIGRlZmF1bHQgSW50ZXJ2YWxbQDIwMjYtMDEtMDFUMDA6MDA6MDAuMDAwWiwgQDIwMjctMDEtMDFUMDA6MDA6MDAuMDAwWikKCmNvbnRleHQgUGF0aWVudAoKLy8gSW5pdGlhbCBQb3B1bGF0aW9uCgoKZGVmaW5lICJJbml0aWFsIFBvcHVsYXRpb24iOgogICggIklucGF0aWVudCBFbmNvdW50ZXJzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiCiAgICB1bmlvbiAiRW5jb3VudGVycyB3aXRoIFBhdGllbnQgSG9zcGl0YWwgTG9jYXRpb25zIiApIElucGF0aWVudEVuY291bnRlcnMKICAgIHdpdGggIkFudGlkaWFiZXRpYyBEcnVncyBBZG1pbmlzdGVyZWQgb3IgT3JkZXJlZCIgQURECiAgICAgIHN1Y2ggdGhhdCBDb2FsZXNjZShzdGFydCBvZiBBREQuZWZmZWN0aXZlLnRvSW50ZXJ2YWwoKSwgQURELmF1dGhvcmVkT24pIGR1cmluZyBJbnBhdGllbnRFbmNvdW50ZXJzLiJob3NwaXRhbGl6YXRpb25XaXRoT2JzZXJ2YXRpb24iICggKQogICAgd2hlcmUgKCBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICdmaW5pc2hlZCcKICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICdpbi1wcm9ncmVzcycKICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLnN0YXR1cyA9ICd0cmlhZ2VkJwogICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuc3RhdHVzID0gJ29ubGVhdmUnCiAgICAgICAgb3IgSW5wYXRpZW50RW5jb3VudGVycy5zdGF0dXMgPSAnZW50ZXJlZC1pbi1lcnJvcicKICAgICkKCmRlZmluZSAiSW5wYXRpZW50IEVuY291bnRlcnMgRHVyaW5nIE1lYXN1cmVtZW50IFBlcmlvZCI6CiAgW0VuY291bnRlcjogIkVuY291bnRlciBJbnBhdGllbnQiXSBJbnBhdGllbnRFbmNvdW50ZXJzCiAgICB3aGVyZSBJbnBhdGllbnRFbmNvdW50ZXJzLnBlcmlvZCBlbmRzIGR1cmluZyBkYXkgb2YgIk1lYXN1cmVtZW50IFBlcmlvZCIKICAgICAgYW5kICggSW5wYXRpZW50RW5jb3VudGVycy5jbGFzcyB+IFVTUXVhbGl0eUNvcmVDb21tb24uImlucGF0aWVudCBub24tYWN1dGUiCiAgICAgICAgICBvciBJbnBhdGllbnRFbmNvdW50ZXJzLmNsYXNzIH4gVVNRdWFsaXR5Q29yZUNvbW1vbi4iaW5wYXRpZW50IG5vbi1hY3V0ZSIKICAgICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuY2xhc3MgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJzaG9ydCBzdGF5IgogICAgICAgICAgb3IgSW5wYXRpZW50RW5jb3VudGVycy5jbGFzcyB+IFVTUXVhbGl0eUNvcmVDb21tb24uImlucGF0aWVudCBhY3V0ZSIKICAgICAgICAgIG9yIElucGF0aWVudEVuY291bnRlcnMuY2xhc3MgfiBVU1F1YWxpdHlDb3JlQ29tbW9uLiJpbnBhdGllbnQgZW5jb3VudGVyIgogICAgICApCgpkZWZpbmUgIkVuY291bnRlcnMgd2l0aCBQYXRpZW50IEhvc3BpdGFsIExvY2F0aW9ucyI6CiAgIklucGF0aWVudCBFbmNvdW50ZXJzIER1cmluZyBNZWFzdXJlbWVudCBQZXJpb2QiIElucGF0aWVudEVuY291bnRlcgogICAgd2hlcmUgZXhpc3RzICggSW5wYXRpZW50RW5jb3VudGVyLmxvY2F0aW9uIEhvc3BpdGFsTG9jYXRpb24KICAgICAgICB3aGVyZSBIb3NwaXRhbExvY2F0aW9uLmxvY2F0aW9uLmdldExvY2F0aW9uICggKS50eXBlIGluICJJbnBhdGllbnQsIEVtZXJnZW5jeSwgYW5kIE9ic2VydmF0aW9uIExvY2F0aW9ucyIKICAgICAgICAgIGFuZCBIb3NwaXRhbExvY2F0aW9uLnBlcmlvZCBkdXJpbmcgZGF5IG9mIElucGF0aWVudEVuY291bnRlci5wZXJpb2QKICAgICkKCmRlZmluZSAiQW50aWRpYWJldGljIERydWdzIEFkbWluaXN0ZXJlZCBvciBPcmRlcmVkIjoKICAoICJNZWRpY2F0aW9uUmVxdWVzdHMiCiAgICB1bmlvbiAiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyIgKSBNZWRSZXFPckFkbWluCiAgICB3aGVyZSBNZWRSZXFPckFkbWluLmdldE1lZGljYXRpb25Db2RlKCkgaW4gIkRpYWJldGVzIE1lZGljYXRpb25zIgoKLy9TdXBwbGVtZW50YWwgRGF0YSBFbGVtZW50cwoKCmRlZmluZSAiU0RFIEJsb29kIEdsdWNvc2UgT2JzZXJ2YXRpb24iOgogICggWyJMYWJvcmF0b3J5UmVzdWx0T2JzZXJ2YXRpb24iOiAiQmxvb2QgR2x1Y29zZSBMYWJvcmF0b3J5IGFuZCBQb2ludCBvZiBDYXJlIFRlc3RzIl0gR2x1Y29zZVRlc3QKICAgICAgd2hlcmUgZXhpc3RzICggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICAgICAgICAgIHdoZXJlIHN0YXJ0IG9mIEdsdWNvc2VUZXN0LmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBkdXJpbmcgZGF5IG9mIEluaXRpYWxQb3B1bGF0aW9uLnBlcmlvZAogICAgICAgICAgICBvciBHbHVjb3NlVGVzdC5pc3N1ZWQgZHVyaW5nIGRheSBvZiBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICAgICAgKQogICAgICByZXR1cm4geyBHbHVjb3NlVGVzdC5pZCwgR2x1Y29zZVRlc3QuZXh0ZW5zaW9uLCBHbHVjb3NlVGVzdC50ZXh0LCBHbHVjb3NlVGVzdC5yZWZlcmVuY2VSYW5nZSwgR2x1Y29zZVRlc3QuY29tcG9uZW50LCBHbHVjb3NlVGVzdC5iYXNlZE9uLCBHbHVjb3NlVGVzdC5wYXJ0T2YsIEdsdWNvc2VUZXN0LmNhdGVnb3J5LCBHbHVjb3NlVGVzdC5zdGF0dXMsIEdsdWNvc2VUZXN0LnN1YmplY3QsIEdsdWNvc2VUZXN0LmZvY3VzLCBHbHVjb3NlVGVzdC5lbmNvdW50ZXIsIEdsdWNvc2VUZXN0LmVmZmVjdGl2ZSwgR2x1Y29zZVRlc3QuaXNzdWVkLCBHbHVjb3NlVGVzdC5wZXJmb3JtZXIsIEdsdWNvc2VUZXN0LnZhbHVlLCBHbHVjb3NlVGVzdC5kYXRhQWJzZW50UmVhc29uLCBHbHVjb3NlVGVzdC5pbnRlcnByZXRhdGlvbiwgR2x1Y29zZVRlc3Qubm90ZSwgR2x1Y29zZVRlc3QuYm9keVNpdGUsIEdsdWNvc2VUZXN0Lm1ldGhvZCwgR2x1Y29zZVRlc3Quc3BlY2ltZW4sIEdsdWNvc2VUZXN0LmRldmljZSwgR2x1Y29zZVRlc3QuaGFzTWVtYmVyLCBHbHVjb3NlVGVzdC5kZXJpdmVkRnJvbSB9CiAgKQoKZGVmaW5lICJTREUgQ2hpZWYgQ29tcGxhaW50IjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgZXhpc3RzICggSVAuZGlhZ25vc2lzIEluaXRpYWxQb3B1bGF0aW9uRGlhZ25vc2lzCiAgICAgICAgd2hlcmUgSW5pdGlhbFBvcHVsYXRpb25EaWFnbm9zaXMudXNlIH4gRkhJUkNvbW1vbi4iQ0MiCiAgICApCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiQ29uZGl0aW9ucyI6CiAgWyJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIl0KICAgIHVuaW9uIFsiQ29uZGl0aW9uRW5jb3VudGVyRGlhZ25vc2lzIl0KCmRlZmluZSAiU0RFIENvbmRpdGlvbiI6CiAgWyJDb25kaXRpb25Qcm9ibGVtc0hlYWx0aENvbmNlcm5zIl0gRGlhZ25vc2lzCiAgICB3aGVyZSBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgICAgIHdoZXJlIERpYWdub3Npcy5wcmV2YWxlbmNlSW50ZXJ2YWwgKCApIG92ZXJsYXBzIGRheSBvZiBJUC5wZXJpb2QKICAgICkKICAgIHJldHVybiB7IERpYWdub3Npcy5pZCwgRGlhZ25vc2lzLm1ldGEsIERpYWdub3Npcy5jbGluaWNhbFN0YXR1cywgRGlhZ25vc2lzLnZlcmlmaWNhdGlvblN0YXR1cywgRGlhZ25vc2lzLmNhdGVnb3J5LCBEaWFnbm9zaXMuc2V2ZXJpdHksIERpYWdub3Npcy5jb2RlLCBEaWFnbm9zaXMuYm9keVNpdGUsIERpYWdub3Npcy5zdWJqZWN0LCBEaWFnbm9zaXMuZW5jb3VudGVyLnJlZmVyZW5jZS5nZXRJZCgpLCBEaWFnbm9zaXMub25zZXQsIERpYWdub3Npcy5zdGFnZSwgRGlhZ25vc2lzLmV2aWRlbmNlLCBEaWFnbm9zaXMubm90ZSB9CgpkZWZpbmUgIlNERSBDb3ZlcmFnZSI6CiAgW0NvdmVyYWdlXSBDb3ZlcmFnZXMKICAgIHdoZXJlIGV4aXN0cyAoICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgICAgd2hlcmUgQ292ZXJhZ2VzLnBlcmlvZCBzdGFydHMgYmVmb3JlIG9yIG9uIGRheSBvZiBJUC5wZXJpb2QKICAgICAgICAgIGFuZCBlbmQgb2YgQ292ZXJhZ2VzLnBlcmlvZCBvbiBvciBhZnRlciBkYXkgb2YgZW5kIG9mIElQLnBlcmlvZAogICAgKQogICAgcmV0dXJuIHsgQ292ZXJhZ2VzLmlkLCBDb3ZlcmFnZXMubWV0YSwgQ292ZXJhZ2VzLnN0YXR1cywgQ292ZXJhZ2VzLnR5cGUsIENvdmVyYWdlcy5wb2xpY3lIb2xkZXIsIENvdmVyYWdlcy5zdWJzY3JpYmVyLCBDb3ZlcmFnZXMuc3Vic2NyaWJlcklkLCBDb3ZlcmFnZXMuYmVuZWZpY2lhcnksIENvdmVyYWdlcy5kZXBlbmRlbnQsIENvdmVyYWdlcy5yZWxhdGlvbnNoaXAsIENvdmVyYWdlcy5wZXJpb2QsIENvdmVyYWdlcy5wYXlvciwgQ292ZXJhZ2VzLmNsYXNzLCBDb3ZlcmFnZXMub3JkZXIsIENvdmVyYWdlcy5uZXR3b3JrLCBDb3ZlcmFnZXMuc3Vicm9nYXRpb24sIENvdmVyYWdlcy5jb250cmFjdCB9CgpkZWZpbmUgIkVuY291bnRlcnMiOgogIFtFbmNvdW50ZXJdCgpkZWZpbmUgIlNERSBFbmNvdW50ZXIgTG9jYXRpb25zIjoKICAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgd2hlcmUgZXhpc3RzICggSVAubG9jYXRpb24gSW5pdGlhbFBvcHVsYXRpb25Mb2NhdGlvbgogICAgICAgIGxldCB0eXBlczogKCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLmxvY2F0aW9uICkuZ2V0TG9jYXRpb24gKCApLnR5cGUKICAgICAgICB3aGVyZSBleGlzdHMgKCB0eXBlcyB0eXBlCiAgICAgICAgICAgIHdoZXJlIHR5cGUgaW4gIklucGF0aWVudCwgRW1lcmdlbmN5LCBhbmQgT2JzZXJ2YXRpb24gTG9jYXRpb25zIgogICAgICAgICkKICAgICAgICAgIGFuZCBJbml0aWFsUG9wdWxhdGlvbkxvY2F0aW9uLnBlcmlvZCBkdXJpbmcgSVAucGVyaW9kCiAgICApCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiR2V0IExvY2F0aW9ucyBmcm9tIEluaXRpYWwgUG9wdWxhdGlvbiI6CiAgZmxhdHRlbiAoICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICAgIGxldCBsb2NhdGlvbkVsZW1lbnRzOiBJUC5sb2NhdGlvbgogICAgICByZXR1cm4gbG9jYXRpb25FbGVtZW50cyBMRQogICAgICAgIGxldCBsb2NhdGlvblJlZmVyZW5jZTogTEUubG9jYXRpb24KICAgICAgICByZXR1cm4gKCBsb2NhdGlvblJlZmVyZW5jZS5nZXRMb2NhdGlvbiAoICkgKQogICkKCmRlZmluZSAiU0RFIExvY2F0aW9uIjoKICAiR2V0IExvY2F0aW9ucyBmcm9tIEluaXRpYWwgUG9wdWxhdGlvbiIgTG9jYXRpb25zCiAgICB3aGVyZSBleGlzdHMgIkluaXRpYWwgUG9wdWxhdGlvbiIKICAgICAgYW5kIExvY2F0aW9ucyBpcyBub3QgbnVsbAogICAgcmV0dXJuIHsgTG9jYXRpb25zLmlkLCBMb2NhdGlvbnMubWV0YSwgTG9jYXRpb25zLmV4dGVuc2lvbiwgTG9jYXRpb25zLnN0YXR1cywgTG9jYXRpb25zLm9wZXJhdGlvbmFsU3RhdHVzLCBMb2NhdGlvbnMubmFtZSwgTG9jYXRpb25zLmFsaWFzLCBMb2NhdGlvbnMuZGVzY3JpcHRpb24sIExvY2F0aW9ucy5tb2RlLCBMb2NhdGlvbnMudHlwZSwgTG9jYXRpb25zLnRlbGVjb20sIExvY2F0aW9ucy5hZGRyZXNzLCBMb2NhdGlvbnMucGh5c2ljYWxUeXBlLCBMb2NhdGlvbnMucG9zaXRpb24sIExvY2F0aW9ucy5tYW5hZ2luZ09yZ2FuaXphdGlvbiwgTG9jYXRpb25zLnBhcnRPZiwgTG9jYXRpb25zLmhvdXJzT2ZPcGVyYXRpb24sIExvY2F0aW9ucy5hdmFpbGFiaWxpdHlFeGNlcHRpb25zLCBMb2NhdGlvbnMuZW5kcG9pbnQgfQoKZGVmaW5lICJTREUgSW5pdGlhbCBQb3B1bGF0aW9uIEVuY291bnRlcnMiOgogICJJbml0aWFsIFBvcHVsYXRpb24iIElQCiAgICByZXR1cm4geyBJUC5pZCwgSVAubWV0YSwgSVAuaWRlbnRpZmllciwgSVAuc3RhdHVzLCBJUC5zdGF0dXNIaXN0b3J5LCBJUC5jbGFzcywgSVAuY2xhc3NIaXN0b3J5LCBJUC50eXBlLCBJUC5zZXJ2aWNlVHlwZSwgSVAucHJpb3JpdHksIElQLnN1YmplY3QsIElQLnBlcmlvZCwgSVAubGVuZ3RoLCBJUC5yZWFzb25Db2RlLCBJUC5yZWFzb25SZWZlcmVuY2UsIElQLmRpYWdub3NpcywgSVAuYWNjb3VudCwgSVAuaG9zcGl0YWxpemF0aW9uLCBJUC5sb2NhdGlvbiwgSVAucGFydE9mIH0KCmRlZmluZSAiU0RFIE1lZGljYXRpb24iOgogICggIk1lZGljYXRpb25SZXF1ZXN0cyIKICAgIHVuaW9uICJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25zIiApIE1lZFJlcU9yQWRtaW4KICAgIGxldCBtZWRpY2F0aW9uOiBHZXRNZWRpY2F0aW9uKE1lZFJlcU9yQWRtaW4ubWVkaWNhdGlvbiBhcyBSZWZlcmVuY2UpCiAgICB3aGVyZSBtZWRpY2F0aW9uIGlzIG5vdCBudWxsCiAgICAgIGFuZCBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJUAogICAgICAgICAgd2hlcmUgQ29hbGVzY2UoTWVkUmVxT3JBZG1pbi5lZmZlY3RpdmUudG9JbnRlcnZhbCgpLCBNZWRSZXFPckFkbWluLmF1dGhvcmVkT24udG9JbnRlcnZhbCgpKSBvdmVybGFwcyBJUC4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICAgKQogICAgcmV0dXJuIHsgbWVkaWNhdGlvbi5pZCwgbWVkaWNhdGlvbi5tZXRhLCBtZWRpY2F0aW9uLmNvZGUsIG1lZGljYXRpb24uc3RhdHVzLCBtZWRpY2F0aW9uLm1hbnVmYWN0dXJlciwgbWVkaWNhdGlvbi5mb3JtLCBtZWRpY2F0aW9uLmFtb3VudCwgbWVkaWNhdGlvbi5pbmdyZWRpZW50LCBtZWRpY2F0aW9uLmJhdGNoIH0KCmRlZmluZSBmdW5jdGlvbiAiR2V0TWVkaWNhdGlvbiIocmVmZXJlbmNlIFJlZmVyZW5jZSk6CiAgc2luZ2xldG9uIGZyb20gKCBbTWVkaWNhdGlvbl0gTWVkaWNhdGlvbgogICAgICB3aGVyZSByZWZlcmVuY2UucmVmZXJlbmNlcyAoIE1lZGljYXRpb24gKQogICkKCmRlZmluZSAiTWVkaWNhdGlvbkFkbWluaXN0cmF0aW9ucyI6CiAgW01lZGljYXRpb25BZG1pbmlzdHJhdGlvbl0KCmRlZmluZSAiU0RFIE1lZGljYXRpb24gQWRtaW5pc3RyYXRpb24iOgogICJNZWRpY2F0aW9uQWRtaW5pc3RyYXRpb25zIiBNZWRBZG1pbmlzdHJhdGlvbnMKICAgIHdoZXJlIGV4aXN0cyAoICJJbml0aWFsIFBvcHVsYXRpb24iIEluaXRpYWxQb3B1bGF0aW9uCiAgICAgICAgd2hlcmUgTWVkQWRtaW5pc3RyYXRpb25zLmVmZmVjdGl2ZS50b0ludGVydmFsICggKSBvdmVybGFwcyBJbml0aWFsUG9wdWxhdGlvbi4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICkKICAgIHJldHVybiB7IE1lZEFkbWluaXN0cmF0aW9ucy5pZCwgTWVkQWRtaW5pc3RyYXRpb25zLm1ldGEsIE1lZEFkbWluaXN0cmF0aW9ucy5pbnN0YW50aWF0ZXMsIE1lZEFkbWluaXN0cmF0aW9ucy5wYXJ0T2YsIE1lZEFkbWluaXN0cmF0aW9ucy5zdGF0dXMsIE1lZEFkbWluaXN0cmF0aW9ucy5zdGF0dXNSZWFzb24sIE1lZEFkbWluaXN0cmF0aW9ucy5jYXRlZ29yeSwgTWVkQWRtaW5pc3RyYXRpb25zLm1lZGljYXRpb24sIE1lZEFkbWluaXN0cmF0aW9ucy5zdWJqZWN0LCBNZWRBZG1pbmlzdHJhdGlvbnMuY29udGV4dCwgTWVkQWRtaW5pc3RyYXRpb25zLnN1cHBvcnRpbmdJbmZvcm1hdGlvbiwgTWVkQWRtaW5pc3RyYXRpb25zLmVmZmVjdGl2ZSwgTWVkQWRtaW5pc3RyYXRpb25zLnBlcmZvcm1lciwgTWVkQWRtaW5pc3RyYXRpb25zLnJlYXNvbkNvZGUsIE1lZEFkbWluaXN0cmF0aW9ucy5yZWFzb25SZWZlcmVuY2UsIE1lZEFkbWluaXN0cmF0aW9ucy5yZXF1ZXN0LCBNZWRBZG1pbmlzdHJhdGlvbnMuZGV2aWNlLCBNZWRBZG1pbmlzdHJhdGlvbnMubm90ZSwgTWVkQWRtaW5pc3RyYXRpb25zLmRvc2FnZSB9CgpkZWZpbmUgIk1lZGljYXRpb25SZXF1ZXN0cyI6CiAgW01lZGljYXRpb25SZXF1ZXN0XQoKZGVmaW5lICJTREUgTWVkaWNhdGlvbiBSZXF1ZXN0IjoKICAiTWVkaWNhdGlvblJlcXVlc3RzIiBNZWRSZXF1ZXN0cwogICAgd2hlcmUgZXhpc3RzICggIkluaXRpYWwgUG9wdWxhdGlvbiIgSW5pdGlhbFBvcHVsYXRpb24KICAgICAgICB3aGVyZSBNZWRSZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi4iaG9zcGl0YWxpemF0aW9uV2l0aE9ic2VydmF0aW9uIiAoICkKICAgICkKICAgIHJldHVybiB7IE1lZFJlcXVlc3RzLmlkLCBNZWRSZXF1ZXN0cy5tZXRhLCBNZWRSZXF1ZXN0cy5zdGF0dXMsIE1lZFJlcXVlc3RzLnN0YXR1c1JlYXNvbiwgTWVkUmVxdWVzdHMuaW50ZW50LCBNZWRSZXF1ZXN0cy5jYXRlZ29yeSwgTWVkUmVxdWVzdHMucHJpb3JpdHksIE1lZFJlcXVlc3RzLmRvTm90UGVyZm9ybSwgTWVkUmVxdWVzdHMucmVwb3J0ZWQsIE1lZFJlcXVlc3RzLm1lZGljYXRpb24sIE1lZFJlcXVlc3RzLnN1YmplY3QsIE1lZFJlcXVlc3RzLmVuY291bnRlciwgTWVkUmVxdWVzdHMuYXV0aG9yZWRPbiwgTWVkUmVxdWVzdHMucmVxdWVzdGVyLCBNZWRSZXF1ZXN0cy5yZWNvcmRlciwgTWVkUmVxdWVzdHMucmVhc29uQ29kZSwgTWVkUmVxdWVzdHMucmVhc29uUmVmZXJlbmNlLCBNZWRSZXF1ZXN0cy5pbnN0YW50aWF0ZXNDYW5vbmljYWwsIE1lZFJlcXVlc3RzLmluc3RhbnRpYXRlc1VyaSwgTWVkUmVxdWVzdHMuY291cnNlT2ZUaGVyYXB5VHlwZSwgTWVkUmVxdWVzdHMuZG9zYWdlSW5zdHJ1Y3Rpb24gfQoKZGVmaW5lICJTREUgTWluaW1hbCBQYXRpZW50IjoKICBbUGF0aWVudF0gTWluUHQKICAgIHdoZXJlIGV4aXN0cyAiSW5pdGlhbCBQb3B1bGF0aW9uIgogICAgcmV0dXJuIHsgTWluUHQuaWQsIE1pblB0Lm1ldGEsIE1pblB0LmV4dGVuc2lvbiwgTWluUHQuaWRlbnRpZmllciwgTWluUHQuYWN0aXZlLCBNaW5QdC5uYW1lLCBNaW5QdC50ZWxlY29tLCBNaW5QdC5nZW5kZXIsIE1pblB0LmJpcnRoRGF0ZSwgTWluUHQuZGVjZWFzZWQsIE1pblB0LmFkZHJlc3MsIE1pblB0Lm1hcml0YWxTdGF0dXMsIE1pblB0Lm11bHRpcGxlQmlydGgsIE1pblB0LnBob3RvLCBNaW5QdC5jb250YWN0LCBNaW5QdC5jb21tdW5pY2F0aW9uLCBNaW5QdC5nZW5lcmFsUHJhY3RpdGlvbmVyLCBNaW5QdC5tYW5hZ2luZ09yZ2FuaXphdGlvbiwgTWluUHQubGluayB9CgpkZWZpbmUgIlNERSBTZXJ2aWNlIFJlcXVlc3QiOgogIFtTZXJ2aWNlUmVxdWVzdF0gU2VydmljZVJlcXVlc3RzCiAgICB3aGVyZSBleGlzdHMgKCAiSW5pdGlhbCBQb3B1bGF0aW9uIiBJbml0aWFsUG9wdWxhdGlvbgogICAgICAgIHdoZXJlIFNlcnZpY2VSZXF1ZXN0cy5hdXRob3JlZE9uIGR1cmluZyBJbml0aWFsUG9wdWxhdGlvbi5wZXJpb2QKICAgICkKICAgIHJldHVybiB7IFNlcnZpY2VSZXF1ZXN0cy5pZCwgU2VydmljZVJlcXVlc3RzLm1ldGEsIFNlcnZpY2VSZXF1ZXN0cy5pbnN0YW50aWF0ZXNDYW5vbmljYWwsIFNlcnZpY2VSZXF1ZXN0cy5pbnN0YW50aWF0ZXNVcmksIFNlcnZpY2VSZXF1ZXN0cy5iYXNlZE9uLCBTZXJ2aWNlUmVxdWVzdHMucmVwbGFjZXMsIFNlcnZpY2VSZXF1ZXN0cy5yZXF1aXNpdGlvbiwgU2VydmljZVJlcXVlc3RzLnN0YXR1cywgU2VydmljZVJlcXVlc3RzLmludGVudCwgU2VydmljZVJlcXVlc3RzLmNhdGVnb3J5LCBTZXJ2aWNlUmVxdWVzdHMucHJpb3JpdHksIFNlcnZpY2VSZXF1ZXN0cy5kb05vdFBlcmZvcm0sIFNlcnZpY2VSZXF1ZXN0cy5jb2RlLCBTZXJ2aWNlUmVxdWVzdHMub3JkZXJEZXRhaWwsIFNlcnZpY2VSZXF1ZXN0cy5xdWFudGl0eSwgU2VydmljZVJlcXVlc3RzLnN1YmplY3QsIFNlcnZpY2VSZXF1ZXN0cy5lbmNvdW50ZXIsIFNlcnZpY2VSZXF1ZXN0cy5vY2N1cnJlbmNlLCBTZXJ2aWNlUmVxdWVzdHMuYXNOZWVkZWQsIFNlcnZpY2VSZXF1ZXN0cy5hdXRob3JlZE9uLCBTZXJ2aWNlUmVxdWVzdHMucmVxdWVzdGVyLCBTZXJ2aWNlUmVxdWVzdHMucGVyZm9ybWVyVHlwZSwgU2VydmljZVJlcXVlc3RzLnBlcmZvcm1lciwgU2VydmljZVJlcXVlc3RzLmxvY2F0aW9uQ29kZSwgU2VydmljZVJlcXVlc3RzLnJlYXNvbkNvZGUsIFNlcnZpY2VSZXF1ZXN0cy5yZWFzb25SZWZlcmVuY2UsIFNlcnZpY2VSZXF1ZXN0cy5pbnN1cmFuY2UsIFNlcnZpY2VSZXF1ZXN0cy5ib2R5U2l0ZSwgU2VydmljZVJlcXVlc3RzLm5vdGUsIFNlcnZpY2VSZXF1ZXN0cy5wYXRpZW50SW5zdHJ1Y3Rpb24gfQoKZGVmaW5lICJTREUgRXRobmljaXR5IjoKICBTREUuIlNERSBFdGhuaWNpdHkiCgpkZWZpbmUgIlNERSBQYXllciI6CiAgU0RFLiJTREUgUGF5ZXIiCgpkZWZpbmUgIlNERSBSYWNlIjoKICBTREUuIlNERSBSYWNlIgoKZGVmaW5lICJTREUgU2V4IjoKICBTREUuIlNERSBTZXgi",
"url" : "https://madie.cms.gov/Library-NHSNGlycemicControlHypoglycemiaInitialPopulation.cql"
}
]
}