WHO Immunization Implementation Guide
1.0.0 - release
WHO Immunization Implementation Guide, published by WHO. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-immunizations/tree/132/merge and changes regularly. See the Directory of published versions
| Draft as of 2026-03-31 |
{
"resourceType" : "Library",
"id" : "IMMZD2DTSeasonalinfluenzaEncounterElements",
"meta" : {
"profile" : [
🔗 "http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-shareablelibrary"🔗 ,
"http://hl7.org/fhir/uv/crmi/StructureDefinition/crmi-publishablelibrary"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-library"🔗 ,
"http://hl7.org/fhir/uv/cql/StructureDefinition/cql-module"
]
},
"text" : {
"status" : "extensions",
"div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n<div>\n <table class=\"grid dict\">\n \n \n <tr>\n <th scope=\"row\"><b>Title: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTSeasonalinfluenzaEncounterElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Id: </b></th>\n <td style=\"padding-left: 4px;\">IMMZD2DTSeasonalinfluenzaEncounterElements</td>\n </tr>\n \n\n \n \n <tr>\n <th scope=\"row\"><b>Version: </b></th>\n <td style=\"padding-left: 4px;\">1.0.0</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Url: </b></th>\n <td style=\"padding-left: 4px;\"><a href=\"Library-IMMZD2DTSeasonalinfluenzaEncounterElements.html\">IMMZD2DTSeasonalinfluenzaEncounterElements</a></td>\n </tr>\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Status: </b></th>\n <td style=\"padding-left: 4px;\">draft</td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Type: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p style=\"margin-bottom: 5px;\">\n <b>system: </b> <span><a href=\"http://terminology.hl7.org/7.1.0/CodeSystem-library-type.html\">http://terminology.hl7.org/CodeSystem/library-type</a></span>\n </p>\n \n \n <p style=\"margin-bottom: 5px;\">\n <b>code: </b> <span>logic-library</span>\n </p>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Date: </b></th>\n <td style=\"padding-left: 4px;\">2026-03-31 13:54:17+0000</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Publisher: </b></th>\n <td style=\"padding-left: 4px;\">WHO</td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Description: </b></th>\n <td style=\"padding-left: 4px;\"><div><p>This library defines encounter-based elements for Seasonal influenza used throughout the Immunization CPG</p>\n</div></td>\n </tr>\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n <tr>\n <th scope=\"row\"><b>Related Artifacts: </b></th>\n <td style=\"padding-left: 4px;\">\n \n \n \n <p><b>Dependencies</b></p>\n <ul>\n \n <li><a href=\"Library-WHOConcepts.html\">WHOConcepts</a></li>\n \n <li><a href=\"Library-WHOCommon.html\">WHOCommon</a></li>\n \n <li><a href=\"Library-WHOElements.html\">WHOElements</a></li>\n \n <li><a href=\"Library-IMMZCommon.html\">IMMZCommon</a></li>\n \n <li><a href=\"Library-IMMZConcepts.html\">IMMZConcepts</a></li>\n \n <li><a href=\"Library-IMMZEncounterElements.html\">IMMZEncounterElements</a></li>\n \n <li><a href=\"Library-IMMZD2DTSeasonalinfluenzaElements.html\">IMMZD2DTSeasonalinfluenzaElements</a></li>\n \n </ul>\n \n \n \n \n \n </td>\n </tr>\n \n\n \n <tr>\n <th scope=\"row\"><b>Parameters: </b></th>\n <td style=\"padding-left: 4px;\">\n <table class=\"grid-dict\">\n <tr><th><b>Name</b></th><th><b>Type</b></th><th><b>Min</b></th><th><b>Max</b></th><th><b>In/Out</b></th></tr>\n \n <tr><th>Today</th><th>date</th><th>0</th><th>1</th><th>In</th></tr>\n \n <tr><th>EncounterId</th><th>string</th><th>0</th><th>1</th><th>In</th></tr>\n \n <tr><th>Patient</th><th>Patient</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Seasonal influenza Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Seasonal influenza Primary Series Doses Administered to Patient</th><th>Immunization</th><th>0</th><th>*</th><th>Out</th></tr>\n \n <tr><th>Number of Seasonal influenza Primary Series Doses Administered</th><th>integer</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is less than 6 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>No seasonal influenza primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is more than or equal to 6 months</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>One seasonal influenza primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is less than 9 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Date of Latest Seasonal influenza Dose</th><th>date</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest seasonal influenza dose was administered less than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest seasonal influenza dose was administered more than 4 weeks ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Client's age is more than or equal to 9 years</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest seasonal influenza dose was administered less than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>The latest seasonal influenza dose was administered more than 1 year ago</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n <tr><th>Two seasonal influenza primary series doses were administered</th><th>boolean</th><th>0</th><th>1</th><th>Out</th></tr>\n \n </table>\n </td>\n </tr>\n \n\n \n\n \n \n <tr>\n <td colspan=\"2\">\n <table>\n <tr><th><a id=\"cql-content\"><b>Content: </b></a> text/cql</th></tr>\n <tr><td><pre><code class=\"language-cql\">\n/*\n * Library: IMMZD2DTSeasonalinfluenzaEncounterElements\n */\nlibrary IMMZD2DTSeasonalinfluenzaEncounterElements\n\nusing FHIR version '4.0.1'\ninclude FHIRHelpers version '4.0.1'\n\ninclude WHOConcepts\ninclude WHOCommon called WC\ninclude WHOElements called WE\n\ninclude IMMZCommon called Common\ninclude IMMZConcepts called Concepts\ninclude IMMZEncounterElements called Encounter\n\ninclude IMMZD2DTSeasonalinfluenzaElements called SeasonalinfluenzaElements\n\nparameter Today Date default Today()\nparameter EncounterId String\n\ncontext Patient\n\n/*\n@internal: Seasonal influenza containing Doses Administered to Patient\n*/\ndefine "Seasonal influenza Doses Administered to Patient":\n Encounter."Doses Administered to Patient" I\n where\n I.vaccineCode in Concepts."Seasonal influenza vaccines"\n\n/*\n@internal: Seasonal influenza containing Doses Administered to Patient that are in the Primary series\n*/\ndefine "Seasonal influenza Primary Series Doses Administered to Patient":\n "Seasonal influenza Doses Administered to Patient".seriesPrimary()\n\n/*\n@internal: Number of Seasonal influenza Primary Series doses\n*/\ndefine "Number of Seasonal influenza Primary Series Doses Administered":\n Count("Seasonal influenza Primary Series Doses Administered to Patient")\n\n/*\n@input: Client's age is less than 6 months\n@pseudocode: Today's date − "Date of birth" < 6 months\n@code: Client's age is less than 6 months-41\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "Client's age is less than 6 months":\n Encounter."Current Patient Age In Months" < 6\n\n/*\n@input: No seasonal influenza primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Seasonal influenza vaccines" and "Type of dose" = "Primary series") = 0\n@code: No seasonal influenza primary series doses were administered-127\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "No seasonal influenza primary series doses were administered":\n "Number of Seasonal influenza Primary Series Doses Administered" = 0\n\n/*\n@input: Client's age is more than or equal to 6 months\n@pseudocode: Today's date − "Date of birth" ≥ 6 months\n@code: Client's age is more than or equal to 6 months-41\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "Client's age is more than or equal to 6 months":\n Encounter."Current Patient Age In Months" >= 6\n\n/*\n@input: One seasonal influenza primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Seasonal influenza vaccines" and "Type of dose" = "Primary series") = 1\n@code: One seasonal influenza primary series doses were administered-127\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "One seasonal influenza primary series doses were administered":\n "Number of Seasonal influenza Primary Series Doses Administered" = 1\n\n/*\n@input: Client's age is less than 9 years\n@pseudocode: Today's date − "Date of birth" < 9 years\n@code: Client's age is less than 9 years-40\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "Client's age is less than 9 years":\n Encounter."Current Patient Age In Years" < 9\n\n/*\n@input: The latest seasonal influenza dose was administered less than 4 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Seasonal influenza vaccines") < 4 weeks\n@code: The latest seasonal influenza dose was administered less than 4 weeks ago-110\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "The latest seasonal influenza dose was administered less than 4 weeks ago":\n "Date of Latest Seasonal influenza Dose" is not null\n and duration in weeks between "Date of Latest Seasonal influenza Dose" and Today < 4\n\n/*\n@input: The latest seasonal influenza dose was administered more than 4 weeks ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Seasonal influenza vaccines") ≥ 4 weeks\n@code: The latest seasonal influenza dose was administered more than 4 weeks ago-110\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "The latest seasonal influenza dose was administered more than 4 weeks ago":\n not "The latest seasonal influenza dose was administered less than 4 weeks ago"\n\n/*\n@input: Client's age is more than or equal to 9 years\n@pseudocode: Today's date − "Date of birth" ≥ 9 years\n@code: Client's age is more than or equal to 9 years-40\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "Client's age is more than or equal to 9 years":\n Encounter."Current Patient Age In Years" >= 9\n\n/*\n@input: The latest seasonal influenza dose was administered less than 1 year ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Seasonal influenza vaccines") < 1 year\n@code: The latest seasonal influenza dose was administered less than 1 year ago-109\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "The latest seasonal influenza dose was administered less than 1 year ago":\n "Date of Latest Seasonal influenza Dose" is not null\n and duration in years between "Date of Latest Seasonal influenza Dose" and Today < 1\n\n/*\n@input: The latest seasonal influenza dose was administered more than 1 year ago\n@pseudocode: Today's date − "Date and time of vaccination" (where "Vaccine type" = "Seasonal influenza vaccines") ≥ 1 year\n@code: The latest seasonal influenza dose was administered more than 1 year ago-109\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "The latest seasonal influenza dose was administered more than 1 year ago":\n not "The latest seasonal influenza dose was administered less than 1 year ago"\n\n/*\n@input: Two seasonal influenza primary series doses were administered\n@pseudocode: Count of vaccines administered (where "Vaccine type" = "Seasonal influenza vaccines" and "Type of dose" = "Primary series") = 2\n@code: Two seasonal influenza primary series doses were administered-127\n@decision: IMMZ.D2.DT.Seasonal influenza: Inactivated trivalent and quadrivalent vaccines, 2-dose schedule\n*/\ndefine "Two seasonal influenza primary series doses were administered":\n "Number of Seasonal influenza Primary Series Doses Administered" = 2\n\n/*\n@internal: Date of Latest Seasonal influenza Dose\n*/\ndefine "Date of Latest Seasonal influenza Dose":\n date from start of "Seasonal influenza Doses Administered to Patient".mostRecent().occurrence.toInterval()\n</code></pre></td></tr>\n </table>\n </td>\n </tr>\n \n \n \n </table>\n</div>\n</div>"
},
"extension" : [
{
"url" : "http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability",
"valueCode" : "computable"
}
],
"url" : "http://smart.who.int/immunizations/Library/IMMZD2DTSeasonalinfluenzaEncounterElements",
"version" : "1.0.0",
"name" : "IMMZD2DTSeasonalinfluenzaEncounterElements",
"title" : "IMMZD2DTSeasonalinfluenzaEncounterElements",
"status" : "draft",
"experimental" : false,
"type" : {
"coding" : [
{
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
"code" : "logic-library"
}
]
},
"date" : "2026-03-31T13:54:17+00:00",
"publisher" : "WHO",
"contact" : [
{
"name" : "WHO",
"telecom" : [
{
"system" : "url",
"value" : "http://who.int"
}
]
}
],
"description" : "This library defines encounter-based elements for Seasonal influenza used throughout the Immunization CPG",
"relatedArtifact" : [
{
"type" : "depends-on",
"display" : "Library WHOConcepts",
"resource" : "http://smart.who.int/immunizations/Library/WHOConcepts"
},
{
"type" : "depends-on",
"display" : "Library WC",
"resource" : "http://smart.who.int/immunizations/Library/WHOCommon"
},
{
"type" : "depends-on",
"display" : "Library WE",
"resource" : "http://smart.who.int/immunizations/Library/WHOElements"
},
{
"type" : "depends-on",
"display" : "Library Common",
"resource" : "http://smart.who.int/immunizations/Library/IMMZCommon"
},
{
"type" : "depends-on",
"display" : "Library Concepts",
"resource" : "http://smart.who.int/immunizations/Library/IMMZConcepts"
},
{
"type" : "depends-on",
"display" : "Library Encounter",
"resource" : "http://smart.who.int/immunizations/Library/IMMZEncounterElements"
},
{
"type" : "depends-on",
"display" : "Library SeasonalinfluenzaElements",
"resource" : "http://smart.who.int/immunizations/Library/IMMZD2DTSeasonalinfluenzaElements"
}
],
"parameter" : [
{
"name" : "Today",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "EncounterId",
"use" : "in",
"min" : 0,
"max" : "1",
"type" : "string"
},
{
"name" : "Patient",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "Patient"
},
{
"name" : "Seasonal influenza Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Seasonal influenza Primary Series Doses Administered to Patient",
"use" : "out",
"min" : 0,
"max" : "*",
"type" : "Immunization"
},
{
"name" : "Number of Seasonal influenza Primary Series Doses Administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "integer"
},
{
"name" : "Client's age is less than 6 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "No seasonal influenza primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is more than or equal to 6 months",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "One seasonal influenza primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is less than 9 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Date of Latest Seasonal influenza Dose",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "date"
},
{
"name" : "The latest seasonal influenza dose was administered less than 4 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest seasonal influenza dose was administered more than 4 weeks ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Client's age is more than or equal to 9 years",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest seasonal influenza dose was administered less than 1 year ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "The latest seasonal influenza dose was administered more than 1 year ago",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
},
{
"name" : "Two seasonal influenza primary series doses were administered",
"use" : "out",
"min" : 0,
"max" : "1",
"type" : "boolean"
}
],
"content" : [
{
"contentType" : "text/cql",
"data" : "Ci8qCiAgKiBMaWJyYXJ5OiBJTU1aRDJEVFNlYXNvbmFsaW5mbHVlbnphRW5jb3VudGVyRWxlbWVudHMKICAqLwpsaWJyYXJ5IElNTVpEMkRUU2Vhc29uYWxpbmZsdWVuemFFbmNvdW50ZXJFbGVtZW50cwoKdXNpbmcgRkhJUiB2ZXJzaW9uICc0LjAuMScKaW5jbHVkZSBGSElSSGVscGVycyB2ZXJzaW9uICc0LjAuMScKCmluY2x1ZGUgV0hPQ29uY2VwdHMKaW5jbHVkZSBXSE9Db21tb24gY2FsbGVkIFdDCmluY2x1ZGUgV0hPRWxlbWVudHMgY2FsbGVkIFdFCgppbmNsdWRlIElNTVpDb21tb24gY2FsbGVkIENvbW1vbgppbmNsdWRlIElNTVpDb25jZXB0cyBjYWxsZWQgQ29uY2VwdHMKaW5jbHVkZSBJTU1aRW5jb3VudGVyRWxlbWVudHMgY2FsbGVkIEVuY291bnRlcgoKaW5jbHVkZSBJTU1aRDJEVFNlYXNvbmFsaW5mbHVlbnphRWxlbWVudHMgY2FsbGVkIFNlYXNvbmFsaW5mbHVlbnphRWxlbWVudHMKCnBhcmFtZXRlciBUb2RheSBEYXRlIGRlZmF1bHQgVG9kYXkoKQpwYXJhbWV0ZXIgRW5jb3VudGVySWQgU3RyaW5nCgpjb250ZXh0IFBhdGllbnQKCi8qCkBpbnRlcm5hbDogU2Vhc29uYWwgaW5mbHVlbnphIGNvbnRhaW5pbmcgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQKKi8KZGVmaW5lICJTZWFzb25hbCBpbmZsdWVuemEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogIEVuY291bnRlci4iRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiIEkKICB3aGVyZQogICAgSS52YWNjaW5lQ29kZSBpbiBDb25jZXB0cy4iU2Vhc29uYWwgaW5mbHVlbnphIHZhY2NpbmVzIgoKLyoKQGludGVybmFsOiBTZWFzb25hbCBpbmZsdWVuemEgY29udGFpbmluZyBEb3NlcyBBZG1pbmlzdGVyZWQgdG8gUGF0aWVudCB0aGF0IGFyZSBpbiB0aGUgUHJpbWFyeSBzZXJpZXMKKi8KZGVmaW5lICJTZWFzb25hbCBpbmZsdWVuemEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiOgogICJTZWFzb25hbCBpbmZsdWVuemEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLnNlcmllc1ByaW1hcnkoKQoKLyoKQGludGVybmFsOiBOdW1iZXIgb2YgU2Vhc29uYWwgaW5mbHVlbnphIFByaW1hcnkgU2VyaWVzIGRvc2VzCiovCmRlZmluZSAiTnVtYmVyIG9mIFNlYXNvbmFsIGluZmx1ZW56YSBQcmltYXJ5IFNlcmllcyBEb3NlcyBBZG1pbmlzdGVyZWQiOgogIENvdW50KCJTZWFzb25hbCBpbmZsdWVuemEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiKQoKLyoKQGlucHV0OiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgbW9udGhzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDYgbW9udGhzCkBjb2RlOiBDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgbW9udGhzLTQxCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5TZWFzb25hbCBpbmZsdWVuemE6IEluYWN0aXZhdGVkIHRyaXZhbGVudCBhbmQgcXVhZHJpdmFsZW50IHZhY2NpbmVzLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJDbGllbnQncyBhZ2UgaXMgbGVzcyB0aGFuIDYgbW9udGhzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gTW9udGhzIiA8IDYKCi8qCkBpbnB1dDogTm8gc2Vhc29uYWwgaW5mbHVlbnphIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlNlYXNvbmFsIGluZmx1ZW56YSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAwCkBjb2RlOiBObyBzZWFzb25hbCBpbmZsdWVuemEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQtMTI3CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5TZWFzb25hbCBpbmZsdWVuemE6IEluYWN0aXZhdGVkIHRyaXZhbGVudCBhbmQgcXVhZHJpdmFsZW50IHZhY2NpbmVzLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJObyBzZWFzb25hbCBpbmZsdWVuemEgcHJpbWFyeSBzZXJpZXMgZG9zZXMgd2VyZSBhZG1pbmlzdGVyZWQiOgogICJOdW1iZXIgb2YgU2Vhc29uYWwgaW5mbHVlbnphIFByaW1hcnkgU2VyaWVzIERvc2VzIEFkbWluaXN0ZXJlZCIgPSAwCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gNiBtb250aHMKQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgb2YgYmlydGgiIOKJpSA2IG1vbnRocwpAY29kZTogQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA2IG1vbnRocy00MQpAZGVjaXNpb246IElNTVouRDIuRFQuU2Vhc29uYWwgaW5mbHVlbnphOiBJbmFjdGl2YXRlZCB0cml2YWxlbnQgYW5kIHF1YWRyaXZhbGVudCB2YWNjaW5lcywgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA2IG1vbnRocyI6CiAgRW5jb3VudGVyLiJDdXJyZW50IFBhdGllbnQgQWdlIEluIE1vbnRocyIgPj0gNgoKLyoKQGlucHV0OiBPbmUgc2Vhc29uYWwgaW5mbHVlbnphIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlNlYXNvbmFsIGluZmx1ZW56YSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAxCkBjb2RlOiBPbmUgc2Vhc29uYWwgaW5mbHVlbnphIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyNwpAZGVjaXNpb246IElNTVouRDIuRFQuU2Vhc29uYWwgaW5mbHVlbnphOiBJbmFjdGl2YXRlZCB0cml2YWxlbnQgYW5kIHF1YWRyaXZhbGVudCB2YWNjaW5lcywgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiT25lIHNlYXNvbmFsIGluZmx1ZW56YSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBTZWFzb25hbCBpbmZsdWVuemEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDEKCi8qCkBpbnB1dDogQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIG9mIGJpcnRoIiA8IDkgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBsZXNzIHRoYW4gOSB5ZWFycy00MApAZGVjaXNpb246IElNTVouRDIuRFQuU2Vhc29uYWwgaW5mbHVlbnphOiBJbmFjdGl2YXRlZCB0cml2YWxlbnQgYW5kIHF1YWRyaXZhbGVudCB2YWNjaW5lcywgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIGxlc3MgdGhhbiA5IHllYXJzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiIDwgOQoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiU2Vhc29uYWwgaW5mbHVlbnphIHZhY2NpbmVzIikgPCA0IHdlZWtzCkBjb2RlOiBUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbGVzcyB0aGFuIDQgd2Vla3MgYWdvLTExMApAZGVjaXNpb246IElNTVouRDIuRFQuU2Vhc29uYWwgaW5mbHVlbnphOiBJbmFjdGl2YXRlZCB0cml2YWxlbnQgYW5kIHF1YWRyaXZhbGVudCB2YWNjaW5lcywgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiVGhlIGxhdGVzdCBzZWFzb25hbCBpbmZsdWVuemEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiA0IHdlZWtzIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IFNlYXNvbmFsIGluZmx1ZW56YSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiB3ZWVrcyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBTZWFzb25hbCBpbmZsdWVuemEgRG9zZSIgYW5kIFRvZGF5IDwgNAoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiU2Vhc29uYWwgaW5mbHVlbnphIHZhY2NpbmVzIikg4omlIDQgd2Vla3MKQGNvZGU6IFRoZSBsYXRlc3Qgc2Vhc29uYWwgaW5mbHVlbnphIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBtb3JlIHRoYW4gNCB3ZWVrcyBhZ28tMTEwCkBkZWNpc2lvbjogSU1NWi5EMi5EVC5TZWFzb25hbCBpbmZsdWVuemE6IEluYWN0aXZhdGVkIHRyaXZhbGVudCBhbmQgcXVhZHJpdmFsZW50IHZhY2NpbmVzLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDQgd2Vla3MgYWdvIjoKICBub3QgIlRoZSBsYXRlc3Qgc2Vhc29uYWwgaW5mbHVlbnphIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gNCB3ZWVrcyBhZ28iCgovKgpAaW5wdXQ6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSB5ZWFycwpAcHNldWRvY29kZTogVG9kYXkncyBkYXRlIOKIkiAiRGF0ZSBvZiBiaXJ0aCIg4omlIDkgeWVhcnMKQGNvZGU6IENsaWVudCdzIGFnZSBpcyBtb3JlIHRoYW4gb3IgZXF1YWwgdG8gOSB5ZWFycy00MApAZGVjaXNpb246IElNTVouRDIuRFQuU2Vhc29uYWwgaW5mbHVlbnphOiBJbmFjdGl2YXRlZCB0cml2YWxlbnQgYW5kIHF1YWRyaXZhbGVudCB2YWNjaW5lcywgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiQ2xpZW50J3MgYWdlIGlzIG1vcmUgdGhhbiBvciBlcXVhbCB0byA5IHllYXJzIjoKICBFbmNvdW50ZXIuIkN1cnJlbnQgUGF0aWVudCBBZ2UgSW4gWWVhcnMiID49IDkKCi8qCkBpbnB1dDogVGhlIGxhdGVzdCBzZWFzb25hbCBpbmZsdWVuemEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvCkBwc2V1ZG9jb2RlOiBUb2RheSdzIGRhdGUg4oiSICJEYXRlIGFuZCB0aW1lIG9mIHZhY2NpbmF0aW9uIiAod2hlcmUgIlZhY2NpbmUgdHlwZSIgPSAiU2Vhc29uYWwgaW5mbHVlbnphIHZhY2NpbmVzIikgPCAxIHllYXIKQGNvZGU6IFRoZSBsYXRlc3Qgc2Vhc29uYWwgaW5mbHVlbnphIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnby0xMDkKQGRlY2lzaW9uOiBJTU1aLkQyLkRULlNlYXNvbmFsIGluZmx1ZW56YTogSW5hY3RpdmF0ZWQgdHJpdmFsZW50IGFuZCBxdWFkcml2YWxlbnQgdmFjY2luZXMsIDItZG9zZSBzY2hlZHVsZQoqLwpkZWZpbmUgIlRoZSBsYXRlc3Qgc2Vhc29uYWwgaW5mbHVlbnphIGRvc2Ugd2FzIGFkbWluaXN0ZXJlZCBsZXNzIHRoYW4gMSB5ZWFyIGFnbyI6CiAgIkRhdGUgb2YgTGF0ZXN0IFNlYXNvbmFsIGluZmx1ZW56YSBEb3NlIiBpcyBub3QgbnVsbAogIGFuZCBkdXJhdGlvbiBpbiB5ZWFycyBiZXR3ZWVuICJEYXRlIG9mIExhdGVzdCBTZWFzb25hbCBpbmZsdWVuemEgRG9zZSIgYW5kIFRvZGF5IDwgMQoKLyoKQGlucHV0OiBUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28KQHBzZXVkb2NvZGU6IFRvZGF5J3MgZGF0ZSDiiJIgIkRhdGUgYW5kIHRpbWUgb2YgdmFjY2luYXRpb24iICh3aGVyZSAiVmFjY2luZSB0eXBlIiA9ICJTZWFzb25hbCBpbmZsdWVuemEgdmFjY2luZXMiKSDiiaUgMSB5ZWFyCkBjb2RlOiBUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28tMTA5CkBkZWNpc2lvbjogSU1NWi5EMi5EVC5TZWFzb25hbCBpbmZsdWVuemE6IEluYWN0aXZhdGVkIHRyaXZhbGVudCBhbmQgcXVhZHJpdmFsZW50IHZhY2NpbmVzLCAyLWRvc2Ugc2NoZWR1bGUKKi8KZGVmaW5lICJUaGUgbGF0ZXN0IHNlYXNvbmFsIGluZmx1ZW56YSBkb3NlIHdhcyBhZG1pbmlzdGVyZWQgbW9yZSB0aGFuIDEgeWVhciBhZ28iOgogIG5vdCAiVGhlIGxhdGVzdCBzZWFzb25hbCBpbmZsdWVuemEgZG9zZSB3YXMgYWRtaW5pc3RlcmVkIGxlc3MgdGhhbiAxIHllYXIgYWdvIgoKLyoKQGlucHV0OiBUd28gc2Vhc29uYWwgaW5mbHVlbnphIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkCkBwc2V1ZG9jb2RlOiBDb3VudCBvZiB2YWNjaW5lcyBhZG1pbmlzdGVyZWQgKHdoZXJlICJWYWNjaW5lIHR5cGUiID0gIlNlYXNvbmFsIGluZmx1ZW56YSB2YWNjaW5lcyIgYW5kICJUeXBlIG9mIGRvc2UiID0gIlByaW1hcnkgc2VyaWVzIikgPSAyCkBjb2RlOiBUd28gc2Vhc29uYWwgaW5mbHVlbnphIHByaW1hcnkgc2VyaWVzIGRvc2VzIHdlcmUgYWRtaW5pc3RlcmVkLTEyNwpAZGVjaXNpb246IElNTVouRDIuRFQuU2Vhc29uYWwgaW5mbHVlbnphOiBJbmFjdGl2YXRlZCB0cml2YWxlbnQgYW5kIHF1YWRyaXZhbGVudCB2YWNjaW5lcywgMi1kb3NlIHNjaGVkdWxlCiovCmRlZmluZSAiVHdvIHNlYXNvbmFsIGluZmx1ZW56YSBwcmltYXJ5IHNlcmllcyBkb3NlcyB3ZXJlIGFkbWluaXN0ZXJlZCI6CiAgIk51bWJlciBvZiBTZWFzb25hbCBpbmZsdWVuemEgUHJpbWFyeSBTZXJpZXMgRG9zZXMgQWRtaW5pc3RlcmVkIiA9IDIKCi8qCkBpbnRlcm5hbDogRGF0ZSBvZiBMYXRlc3QgU2Vhc29uYWwgaW5mbHVlbnphIERvc2UKKi8KZGVmaW5lICJEYXRlIG9mIExhdGVzdCBTZWFzb25hbCBpbmZsdWVuemEgRG9zZSI6CiAgZGF0ZSBmcm9tIHN0YXJ0IG9mICJTZWFzb25hbCBpbmZsdWVuemEgRG9zZXMgQWRtaW5pc3RlcmVkIHRvIFBhdGllbnQiLm1vc3RSZWNlbnQoKS5vY2N1cnJlbmNlLnRvSW50ZXJ2YWwoKQo="
}
]
}