1778987833
441d63ebbc39eba359c9061ece8482bd-phpdoc%3A96e1c3dca87f6d2f0d0e2db4591bff55-17e57f42e611f7ea9970527b88e02f6c
s:23972:"TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlIjoxNDp7czozOToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBuYW1lIjtzOjg6IkNvcnMucGhwIjtzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAG5hbWVzcGFjZXMiO2E6MTp7czo3OiJcQ29uZmlnIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6NzoiXENvbmZpZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjY6IkNvbmZpZyI7fX1zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGluY2x1ZGVzIjthOjA6e31zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGZ1bmN0aW9ucyI7YTowOnt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBjb25zdGFudHMiO2E6MDp7fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAY2xhc3NlcyI7YToxOntzOjEyOiJcQ29uZmlnXENvcnMiO086MzU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfIjoxNTp7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGltcGxlbWVudHMiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBjb25zdGFudHMiO2E6MDp7fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBwcm9wZXJ0aWVzIjthOjE6e3M6MjI6IlxDb25maWdcQ29yczo6JGRlZmF1bHQiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkiOjE0OntzOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQB0eXBlcyI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAdmlzaWJpbGl0eSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5IjoxOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxWaXNpYmlsaXR5AHZpc2liaWxpdHkiO3M6NjoicHVibGljIjt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAbG9jYXRpb24iO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbiI6Mjp7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBsaW5lTnVtYmVyIjtpOjI3O3M6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AY29sdW1uTnVtYmVyIjtpOjA7fXM6NTA6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDQ7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAZnFzZW4iO086MzA6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbiI6Mjp7czozNzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBmcXNlbiI7czoyMjoiXENvbmZpZ1xDb3JzOjokZGVmYXVsdCI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjc6ImRlZmF1bHQiO31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkb2NCbG9jayI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrIjo3OntzOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHN1bW1hcnkiO3M6MzE6IlRoZSBkZWZhdWx0IENPUlMgY29uZmlndXJhdGlvbi4iO3M6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAZGVzY3JpcHRpb24iO086NDU6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbiI6Mjp7czo1OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgBib2R5VGVtcGxhdGUiO3M6MDoiIjtzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAHRhZ3MiO2E6MDp7fX1zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAHRhZ3MiO2E6MTp7aTowO086NDM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFZhcl8iOjQ6e3M6NzoiACoAbmFtZSI7czozOiJ2YXIiO3M6MTQ6IgAqAGRlc2NyaXB0aW9uIjtPOjQ1OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24iOjI6e3M6NTk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AYm9keVRlbXBsYXRlIjtzOjA6IiI7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xEZXNjcmlwdGlvbgB0YWdzIjthOjA6e319czo3OiIAKgB0eXBlIjtPOjQ3OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZSI6MTp7czo1NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlAGl0ZW1zIjthOjc6e2k6MDtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czoxNDoiYWxsb3dlZE9yaWdpbnMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcTGlzdF8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjE7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6MjI6ImFsbG93ZWRPcmlnaW5zUGF0dGVybnMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcTGlzdF8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjI7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6MTk6InN1cHBvcnRzQ3JlZGVudGlhbHMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQm9vbGVhbiI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6MztPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czoxNDoiYWxsb3dlZEhlYWRlcnMiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjQyOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcTGlzdF8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31zOjEwOiIAKgBrZXlUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6MTc6IgAqAGRlZmF1bHRLZXlUeXBlIjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQ29tcG91bmQiOjI6e3M6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdHlwZXMiO2E6Mjp7aTowO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9aToxO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9fXM6NTI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcQWdncmVnYXRlZFR5cGUAdG9rZW4iO3M6MToifCI7fX1zOjU2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBvcHRpb25hbCI7YjowO31pOjQ7Tzo1MToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXEFycmF5U2hhcGVJdGVtIjozOntzOjUxOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQBrZXkiO3M6MTQ6ImV4cG9zZWRIZWFkZXJzIjtzOjUzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXFNoYXBlSXRlbQB2YWx1ZSI7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBzZXVkb1R5cGVzXExpc3RfIjozOntzOjEyOiIAKgB2YWx1ZVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xTdHJpbmdfIjowOnt9czoxMDoiACoAa2V5VHlwZSI7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e31zOjE3OiIAKgBkZWZhdWx0S2V5VHlwZSI7TzozOToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbXBvdW5kIjoyOntzOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHR5cGVzIjthOjI6e2k6MDtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fWk6MTtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fX1zOjUyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEFnZ3JlZ2F0ZWRUeXBlAHRva2VuIjtzOjE6InwiO319czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Ab3B0aW9uYWwiO2I6MDt9aTo1O086NTE6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xBcnJheVNoYXBlSXRlbSI6Mzp7czo1MToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0Aa2V5IjtzOjE0OiJhbGxvd2VkTWV0aG9kcyI7czo1MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xTaGFwZUl0ZW0AdmFsdWUiO086NDI6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQc2V1ZG9UeXBlc1xMaXN0XyI6Mzp7czoxMjoiACoAdmFsdWVUeXBlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcU3RyaW5nXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xJbnRlZ2VyIjowOnt9czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fWk6NjtPOjUxOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcQXJyYXlTaGFwZUl0ZW0iOjM6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAGtleSI7czo2OiJtYXhBZ2UiO3M6NTM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAHZhbHVlIjtPOjM4OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cVHlwZXNcSW50ZWdlciI6MDp7fXM6NTY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUHNldWRvVHlwZXNcU2hhcGVJdGVtAG9wdGlvbmFsIjtiOjA7fX19czoxNToiACoAdmFyaWFibGVOYW1lIjtzOjA6IiI7fX1zOjQyOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGNvbnRleHQiO086Mzg6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0IjoyOntzOjQ5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXENvbnRleHQAbmFtZXNwYWNlIjtzOjY6IkNvbmZpZyI7czo1NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb250ZXh0AG5hbWVzcGFjZUFsaWFzZXMiO2E6MTp7czoxMDoiQmFzZUNvbmZpZyI7czoyOToiQ29kZUlnbml0ZXJcQ29uZmlnXEJhc2VDb25maWciO319czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQ2OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBkZWZhdWx0IjtPOjM5OiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24iOjI6e3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEV4cHJlc3Npb24AZXhwcmVzc2lvbiI7czoyNTk0OiJbCiAgICAvKioKICAgICAqIE9yaWdpbnMgZm9yIHRoZSBgQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luYCBoZWFkZXIuCiAgICAgKgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luCiAgICAgKgogICAgICogRS5nLjoKICAgICAqICAgLSBbJ2h0dHA6Ly9sb2NhbGhvc3Q6ODA4MCddCiAgICAgKiAgIC0gWydodHRwczovL3d3dy5leGFtcGxlLmNvbSddCiAgICAgKi8KICAgICdhbGxvd2VkT3JpZ2lucycgPT4gW10sCiAgICAvKioKICAgICAqIE9yaWdpbiByZWdleCBwYXR0ZXJucyBmb3IgdGhlIGBBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW5gIGhlYWRlci4KICAgICAqCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvSGVhZGVycy9BY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4KICAgICAqCiAgICAgKiBOT1RFOiBBIHBhdHRlcm4gc3BlY2lmaWVkIGhlcmUgaXMgcGFydCBvZiBhIHJlZ3VsYXIgZXhwcmVzc2lvbi4gSXQgd2lsbAogICAgICogICAgICAgYmUgYWN0dWFsbHkgYCNcQTxwYXR0ZXJuPlx6I2AuCiAgICAgKgogICAgICogRS5nLjoKICAgICAqICAgLSBbJ2h0dHBzOi8vXHcrXC5leGFtcGxlXC5jb20nXQogICAgICovCiAgICAnYWxsb3dlZE9yaWdpbnNQYXR0ZXJucycgPT4gW10sCiAgICAvKioKICAgICAqIFdlYXRoZXIgdG8gc2VuZCB0aGUgYEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzYCBoZWFkZXIuCiAgICAgKgogICAgICogVGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzIHJlc3BvbnNlIGhlYWRlciB0ZWxscyBicm93c2VycyB3aGV0aGVyCiAgICAgKiB0aGUgc2VydmVyIGFsbG93cyBjcm9zcy1vcmlnaW4gSFRUUCByZXF1ZXN0cyB0byBpbmNsdWRlIGNyZWRlbnRpYWxzLgogICAgICoKICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0FjY2Vzcy1Db250cm9sLUFsbG93LUNyZWRlbnRpYWxzCiAgICAgKi8KICAgICdzdXBwb3J0c0NyZWRlbnRpYWxzJyA9PiBmYWxzZSwKICAgIC8qKgogICAgICogU2V0IGhlYWRlcnMgdG8gYWxsb3cuCiAgICAgKgogICAgICogVGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMgcmVzcG9uc2UgaGVhZGVyIGlzIHVzZWQgaW4gcmVzcG9uc2UgdG8KICAgICAqIGEgcHJlZmxpZ2h0IHJlcXVlc3Qgd2hpY2ggaW5jbHVkZXMgdGhlIEFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyB0bwogICAgICogaW5kaWNhdGUgd2hpY2ggSFRUUCBoZWFkZXJzIGNhbiBiZSB1c2VkIGR1cmluZyB0aGUgYWN0dWFsIHJlcXVlc3QuCiAgICAgKgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycwogICAgICovCiAgICAnYWxsb3dlZEhlYWRlcnMnID0+IFtdLAogICAgLyoqCiAgICAgKiBTZXQgaGVhZGVycyB0byBleHBvc2UuCiAgICAgKgogICAgICogVGhlIEFjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzIHJlc3BvbnNlIGhlYWRlciBhbGxvd3MgYSBzZXJ2ZXIgdG8KICAgICAqIGluZGljYXRlIHdoaWNoIHJlc3BvbnNlIGhlYWRlcnMgc2hvdWxkIGJlIG1hZGUgYXZhaWxhYmxlIHRvIHNjcmlwdHMgcnVubmluZwogICAgICogaW4gdGhlIGJyb3dzZXIsIGluIHJlc3BvbnNlIHRvIGEgY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuCiAgICAgKgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMKICAgICAqLwogICAgJ2V4cG9zZWRIZWFkZXJzJyA9PiBbXSwKICAgIC8qKgogICAgICogU2V0IG1ldGhvZHMgdG8gYWxsb3cuCiAgICAgKgogICAgICogVGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMgcmVzcG9uc2UgaGVhZGVyIHNwZWNpZmllcyBvbmUgb3IgbW9yZQogICAgICogbWV0aG9kcyBhbGxvd2VkIHdoZW4gYWNjZXNzaW5nIGEgcmVzb3VyY2UgaW4gcmVzcG9uc2UgdG8gYSBwcmVmbGlnaHQKICAgICAqIHJlcXVlc3QuCiAgICAgKgogICAgICogRS5nLjoKICAgICAqICAgLSBbJ0dFVCcsICdQT1NUJywgJ1BVVCcsICdERUxFVEUnXQogICAgICoKICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0FjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMKICAgICAqLwogICAgJ2FsbG93ZWRNZXRob2RzJyA9PiBbXSwKICAgIC8qKgogICAgICogU2V0IGhvdyBtYW55IHNlY29uZHMgdGhlIHJlc3VsdHMgb2YgYSBwcmVmbGlnaHQgcmVxdWVzdCBjYW4gYmUgY2FjaGVkLgogICAgICoKICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0FjY2Vzcy1Db250cm9sLU1heC1BZ2UKICAgICAqLwogICAgJ21heEFnZScgPT4gNzIwMCwKXSI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRXhwcmVzc2lvbgBwYXJ0cyI7YTowOnt9fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHN0YXRpYyI7YjowO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHR5cGUiO086Mzc6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBcnJheV8iOjM6e3M6MTI6IgAqAHZhbHVlVHlwZSI7TzozNzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXE1peGVkXyI6MDp7fXM6MTA6IgAqAGtleVR5cGUiO047czoxNzoiACoAZGVmYXVsdEtleVR5cGUiO086Mzk6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xDb21wb3VuZCI6Mjp7czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0eXBlcyI7YToyOntpOjA7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXFN0cmluZ18iOjA6e31pOjE7TzozODoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFR5cGVzXEludGVnZXIiOjA6e319czo1MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxUeXBlc1xBZ2dyZWdhdGVkVHlwZQB0b2tlbiI7czoxOiJ8Ijt9fXM6NDc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHJlYWRPbmx5IjtiOjA7czo0NDoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAaG9va3MiO2E6MDp7fXM6NDY6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXFByb3BlcnR5AHZpcnR1YWwiO2I6MDtzOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxQcm9wZXJ0eQBtZXRhZGF0YSI7YTowOnt9czo0OToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcUHJvcGVydHkAYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ0OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AbWV0aG9kcyI7YTowOnt9czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHVzZWRUcmFpdHMiO2E6MDp7fXM6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXENsYXNzXwBsb2NhdGlvbiI7TzozMzoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uIjoyOntzOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXExvY2F0aW9uAGxpbmVOdW1iZXIiO2k6MTI7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0ODoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGVuZExvY2F0aW9uIjtPOjMzOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24iOjI6e3M6NDU6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cTG9jYXRpb24AbGluZU51bWJlciI7aToxMDU7czo0NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxMb2NhdGlvbgBjb2x1bW5OdW1iZXIiO2k6MDt9czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZxc2VuIjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MTI6IlxDb25maWdcQ29ycyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjQ6IkNvcnMiO31zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AZG9jQmxvY2siO086MzM6InBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jayI6Nzp7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBzdW1tYXJ5IjtzOjUwOiJDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgQ29uZmlndXJhdGlvbiI7czo0NjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBkZXNjcmlwdGlvbiI7Tzo0NToicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uIjoyOntzOjU5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXERlc2NyaXB0aW9uAGJvZHlUZW1wbGF0ZSI7czowOiIiO3M6NTE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2tcRGVzY3JpcHRpb24AdGFncyI7YTowOnt9fXM6Mzk6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAdGFncyI7YToxOntpOjA7Tzo0MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcU2VlIjozOntzOjc6IgAqAG5hbWUiO3M6Mzoic2VlIjtzOjE0OiIAKgBkZXNjcmlwdGlvbiI7TjtzOjk6IgAqAHJlZmVycyI7Tzo1MjoicGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrXFRhZ3NcUmVmZXJlbmNlXFVybCI6MTp7czo1NzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9ja1xUYWdzXFJlZmVyZW5jZVxVcmwAdXJpIjtzOjU0OiJodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0NPUlMiO319fXM6NDI6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAY29udGV4dCI7cjoxMDU7czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxEb2NCbG9jawBsb2NhdGlvbiI7TjtzOjUwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXERvY0Jsb2NrAGlzVGVtcGxhdGVTdGFydCI7YjowO3M6NDg6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRG9jQmxvY2sAaXNUZW1wbGF0ZUVuZCI7YjowO31zOjQzOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AcGFyZW50IjtPOjMwOiJwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4iOjI6e3M6Mzc6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cRnFzZW4AZnFzZW4iO3M6MzA6IlxDb2RlSWduaXRlclxDb25maWdcQmFzZUNvbmZpZyI7czozNjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxGcXNlbgBuYW1lIjtzOjEwOiJCYXNlQ29uZmlnIjt9czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGFic3RyYWN0IjtiOjA7czo0MjoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAGZpbmFsIjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAHJlYWRPbmx5IjtiOjA7czo0NToiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcQ2xhc3NfAG1ldGFkYXRhIjthOjA6e31zOjQ3OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxDbGFzc18AYXR0cmlidXRlcyI7YTowOnt9fX1zOjQ1OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGludGVyZmFjZXMiO2E6MDp7fXM6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAdHJhaXRzIjthOjA6e31zOjQwOiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGVudW1zIjthOjA6e31zOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAGhhc2giO3M6MzI6IjE3ZTU3ZjQyZTYxMWY3ZWE5OTcwNTI3Yjg4ZTAyZjZjIjtzOjM5OiIAcGhwRG9jdW1lbnRvclxSZWZsZWN0aW9uXFBocFxGaWxlAHBhdGgiO3M6MTk6ImFwcC9Db25maWcvQ29ycy5waHAiO3M6NDE6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAc291cmNlIjtzOjM2MTY6Ijw/cGhwDQoNCm5hbWVzcGFjZSBDb25maWc7DQoNCnVzZSBDb2RlSWduaXRlclxDb25maWdcQmFzZUNvbmZpZzsNCg0KLyoqDQogKiBDcm9zcy1PcmlnaW4gUmVzb3VyY2UgU2hhcmluZyAoQ09SUykgQ29uZmlndXJhdGlvbg0KICoNCiAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9DT1JTDQogKi8NCmNsYXNzIENvcnMgZXh0ZW5kcyBCYXNlQ29uZmlnDQp7DQogICAgLyoqDQogICAgICogVGhlIGRlZmF1bHQgQ09SUyBjb25maWd1cmF0aW9uLg0KICAgICAqDQogICAgICogQHZhciBhcnJheXsNCiAgICAgKiAgICAgIGFsbG93ZWRPcmlnaW5zOiBsaXN0PHN0cmluZz4sDQogICAgICogICAgICBhbGxvd2VkT3JpZ2luc1BhdHRlcm5zOiBsaXN0PHN0cmluZz4sDQogICAgICogICAgICBzdXBwb3J0c0NyZWRlbnRpYWxzOiBib29sLA0KICAgICAqICAgICAgYWxsb3dlZEhlYWRlcnM6IGxpc3Q8c3RyaW5nPiwNCiAgICAgKiAgICAgIGV4cG9zZWRIZWFkZXJzOiBsaXN0PHN0cmluZz4sDQogICAgICogICAgICBhbGxvd2VkTWV0aG9kczogbGlzdDxzdHJpbmc+LA0KICAgICAqICAgICAgbWF4QWdlOiBpbnQsDQogICAgICogIH0NCiAgICAgKi8NCiAgICBwdWJsaWMgYXJyYXkgJGRlZmF1bHQgPSBbDQogICAgICAgIC8qKg0KICAgICAgICAgKiBPcmlnaW5zIGZvciB0aGUgYEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbmAgaGVhZGVyLg0KICAgICAgICAgKg0KICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvSGVhZGVycy9BY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4NCiAgICAgICAgICoNCiAgICAgICAgICogRS5nLjoNCiAgICAgICAgICogICAtIFsnaHR0cDovL2xvY2FsaG9zdDo4MDgwJ10NCiAgICAgICAgICogICAtIFsnaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20nXQ0KICAgICAgICAgKi8NCiAgICAgICAgJ2FsbG93ZWRPcmlnaW5zJyA9PiBbXSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogT3JpZ2luIHJlZ2V4IHBhdHRlcm5zIGZvciB0aGUgYEFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbmAgaGVhZGVyLg0KICAgICAgICAgKg0KICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvSGVhZGVycy9BY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4NCiAgICAgICAgICoNCiAgICAgICAgICogTk9URTogQSBwYXR0ZXJuIHNwZWNpZmllZCBoZXJlIGlzIHBhcnQgb2YgYSByZWd1bGFyIGV4cHJlc3Npb24uIEl0IHdpbGwNCiAgICAgICAgICogICAgICAgYmUgYWN0dWFsbHkgYCNcQTxwYXR0ZXJuPlx6I2AuDQogICAgICAgICAqDQogICAgICAgICAqIEUuZy46DQogICAgICAgICAqICAgLSBbJ2h0dHBzOi8vXHcrXC5leGFtcGxlXC5jb20nXQ0KICAgICAgICAgKi8NCiAgICAgICAgJ2FsbG93ZWRPcmlnaW5zUGF0dGVybnMnID0+IFtdLA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBXZWF0aGVyIHRvIHNlbmQgdGhlIGBBY2Nlc3MtQ29udHJvbC1BbGxvdy1DcmVkZW50aWFsc2AgaGVhZGVyLg0KICAgICAgICAgKg0KICAgICAgICAgKiBUaGUgQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMgcmVzcG9uc2UgaGVhZGVyIHRlbGxzIGJyb3dzZXJzIHdoZXRoZXINCiAgICAgICAgICogdGhlIHNlcnZlciBhbGxvd3MgY3Jvc3Mtb3JpZ2luIEhUVFAgcmVxdWVzdHMgdG8gaW5jbHVkZSBjcmVkZW50aWFscy4NCiAgICAgICAgICoNCiAgICAgICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQWNjZXNzLUNvbnRyb2wtQWxsb3ctQ3JlZGVudGlhbHMNCiAgICAgICAgICovDQogICAgICAgICdzdXBwb3J0c0NyZWRlbnRpYWxzJyA9PiBmYWxzZSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogU2V0IGhlYWRlcnMgdG8gYWxsb3cuDQogICAgICAgICAqDQogICAgICAgICAqIFRoZSBBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzIHJlc3BvbnNlIGhlYWRlciBpcyB1c2VkIGluIHJlc3BvbnNlIHRvDQogICAgICAgICAqIGEgcHJlZmxpZ2h0IHJlcXVlc3Qgd2hpY2ggaW5jbHVkZXMgdGhlIEFjY2Vzcy1Db250cm9sLVJlcXVlc3QtSGVhZGVycyB0bw0KICAgICAgICAgKiBpbmRpY2F0ZSB3aGljaCBIVFRQIGhlYWRlcnMgY2FuIGJlIHVzZWQgZHVyaW5nIHRoZSBhY3R1YWwgcmVxdWVzdC4NCiAgICAgICAgICoNCiAgICAgICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQWNjZXNzLUNvbnRyb2wtQWxsb3ctSGVhZGVycw0KICAgICAgICAgKi8NCiAgICAgICAgJ2FsbG93ZWRIZWFkZXJzJyA9PiBbXSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogU2V0IGhlYWRlcnMgdG8gZXhwb3NlLg0KICAgICAgICAgKg0KICAgICAgICAgKiBUaGUgQWNjZXNzLUNvbnRyb2wtRXhwb3NlLUhlYWRlcnMgcmVzcG9uc2UgaGVhZGVyIGFsbG93cyBhIHNlcnZlciB0bw0KICAgICAgICAgKiBpbmRpY2F0ZSB3aGljaCByZXNwb25zZSBoZWFkZXJzIHNob3VsZCBiZSBtYWRlIGF2YWlsYWJsZSB0byBzY3JpcHRzIHJ1bm5pbmcNCiAgICAgICAgICogaW4gdGhlIGJyb3dzZXIsIGluIHJlc3BvbnNlIHRvIGEgY3Jvc3Mtb3JpZ2luIHJlcXVlc3QuDQogICAgICAgICAqDQogICAgICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL0FjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzDQogICAgICAgICAqLw0KICAgICAgICAnZXhwb3NlZEhlYWRlcnMnID0+IFtdLA0KDQogICAgICAgIC8qKg0KICAgICAgICAgKiBTZXQgbWV0aG9kcyB0byBhbGxvdy4NCiAgICAgICAgICoNCiAgICAgICAgICogVGhlIEFjY2Vzcy1Db250cm9sLUFsbG93LU1ldGhvZHMgcmVzcG9uc2UgaGVhZGVyIHNwZWNpZmllcyBvbmUgb3IgbW9yZQ0KICAgICAgICAgKiBtZXRob2RzIGFsbG93ZWQgd2hlbiBhY2Nlc3NpbmcgYSByZXNvdXJjZSBpbiByZXNwb25zZSB0byBhIHByZWZsaWdodA0KICAgICAgICAgKiByZXF1ZXN0Lg0KICAgICAgICAgKg0KICAgICAgICAgKiBFLmcuOg0KICAgICAgICAgKiAgIC0gWydHRVQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJ10NCiAgICAgICAgICoNCiAgICAgICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0hlYWRlcnMvQWNjZXNzLUNvbnRyb2wtQWxsb3ctTWV0aG9kcw0KICAgICAgICAgKi8NCiAgICAgICAgJ2FsbG93ZWRNZXRob2RzJyA9PiBbXSwNCg0KICAgICAgICAvKioNCiAgICAgICAgICogU2V0IGhvdyBtYW55IHNlY29uZHMgdGhlIHJlc3VsdHMgb2YgYSBwcmVmbGlnaHQgcmVxdWVzdCBjYW4gYmUgY2FjaGVkLg0KICAgICAgICAgKg0KICAgICAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvSGVhZGVycy9BY2Nlc3MtQ29udHJvbC1NYXgtQWdlDQogICAgICAgICAqLw0KICAgICAgICAnbWF4QWdlJyA9PiA3MjAwLA0KICAgIF07DQp9DQoiO3M6NDM6IgBwaHBEb2N1bWVudG9yXFJlZmxlY3Rpb25cUGhwXEZpbGUAZG9jQmxvY2siO047czo0MzoiAHBocERvY3VtZW50b3JcUmVmbGVjdGlvblxQaHBcRmlsZQBtZXRhZGF0YSI7YTowOnt9fQ==";